在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

網絡系統調用網絡套接字入口函數

麥辣雞腿堡 ? 來源:技術簡說 ? 作者:董旭 ? 2023-07-24 11:02 ? 次閱讀

網絡套接字入口函數

//所有的網絡套接字系統調用函數(socket bind listen connect )都使用一個共同的入口函數:sys_socketcall
/*
第一個參數call表示被調用的應用層接口函數,第二個參數是一個指針,指向具體被調用函數(如accept函數)所需要的參數。
這些在用戶系統調用時傳入的參數將原封不動地傳遞給內核網絡棧相關底層函數使用
*/
asmlinkage int sys_socketcall(int call, unsigned long *args)

int er;
switch(call)
{
case SYS_SOCKET:
er=verify_area(VERIFY_READ, args, 3 * sizeof(long));
if(er)
return er;
return(sock_socket(get_fs_long(args+0),
get_fs_long(args+1),
get_fs_long(args+2)));
case SYS_BIND:
er=verify_area(VERIFY_READ, args, 3 * sizeof(long));
if(er)
return er;
return(sock_bind(get_fs_long(args+0),
(struct sockaddr *)get_fs_long(args+1),
get_fs_long(args+2)));
case SYS_CONNECT:
er=verify_area(VERIFY_READ, args, 3 * sizeof(long));
if(er)
return er;
return(sock_connect(get_fs_long(args+0),
(struct sockaddr *)get_fs_long(args+1),
get_fs_long(args+2)));
case SYS_LISTEN:
er=verify_area(VERIFY_READ, args, 2 * sizeof(long));
if(er)
return er;
return(sock_listen(get_fs_long(args+0),
get_fs_long(args+1)));
case SYS_ACCEPT:
er=verify_area(VERIFY_READ, args, 3 * sizeof(long));
if(er)
return er;
return(sock_accept(get_fs_long(args+0),
(struct sockaddr *)get_fs_long(args+1),
(int *)get_fs_long(args+2)));
case SYS_GETSOCKNAME:
er=verify_area(VERIFY_READ, args, 3 * sizeof(long));
if(er)
return er;
return(sock_getsockname(get_fs_long(args+0),
(struct sockaddr *)get_fs_long(args+1),
(int *)get_fs_long(args+2)));
case SYS_GETPEERNAME:
er=verify_area(VERIFY_READ, args, 3 * sizeof(long));
if(er)
return er;
return(sock_getpeername(get_fs_long(args+0),
(struct sockaddr *)get_fs_long(args+1),
(int *)get_fs_long(args+2)));
case SYS_SOCKETPAIR:
er=verify_area(VERIFY_READ, args, 4 * sizeof(long));
if(er)
return er;
return(sock_socketpair(get_fs_long(args+0),
get_fs_long(args+1),
get_fs_long(args+2),
(unsigned long *)get_fs_long(args+3)));
case SYS_SEND:
er=verify_area(VERIFY_READ, args, 4 * sizeof(unsigned long));
if(er)
return er;
return(sock_send(get_fs_long(args+0),
(void *)get_fs_long(args+1),
get_fs_long(args+2),
get_fs_long(args+3)));
case SYS_SENDTO:
er=verify_area(VERIFY_READ, args, 6 * sizeof(unsigned long));
if(er)
return er;
return(sock_sendto(get_fs_long(args+0),
(void *)get_fs_long(args+1),
get_fs_long(args+2),
get_fs_long(args+3),
(struct sockaddr *)get_fs_long(args+4),
get_fs_long(args+5)));
case SYS_RECV:
er=verify_area(VERIFY_READ, args, 4 * sizeof(unsigned long));
if(er)
return er;
return(sock_recv(get_fs_long(args+0),
(void *)get_fs_long(args+1),
get_fs_long(args+2),
get_fs_long(args+3)));
case SYS_RECVFROM:
er=verify_area(VERIFY_READ, args, 6 * sizeof(unsigned long));
if(er)
return er;
return(sock_recvfrom(get_fs_long(args+0),
(void *)get_fs_long(args+1),
get_fs_long(args+2),
get_fs_long(args+3),
(struct sockaddr *)get_fs_long(args+4),
(int *)get_fs_long(args+5)));
case SYS_SHUTDOWN:
er=verify_area(VERIFY_READ, args, 2* sizeof(unsigned long));
if(er)
return er;
return(sock_shutdown(get_fs_long(args+0),
get_fs_long(args+1)));
case SYS_SETSOCKOPT:
er=verify_area(VERIFY_READ, args, 5*sizeof(unsigned long));
if(er)
return er;
return(sock_setsockopt(get_fs_long(args+0),
get_fs_long(args+1),
get_fs_long(args+2),
(char *)get_fs_long(args+3),
get_fs_long(args+4)));
case SYS_GETSOCKOPT:
er=verify_area(VERIFY_READ, args, 5*sizeof(unsigned long));
if(er)
return er;
return(sock_getsockopt(get_fs_long(args+0),
get_fs_long(args+1),
get_fs_long(args+2),
(char *)get_fs_long(args+3),
(int *)get_fs_long(args+4)));
default:
return(-EINVAL);
}
}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 網絡
    +關注

    關注

    14

    文章

    7571

    瀏覽量

    88883
  • 函數
    +關注

    關注

    3

    文章

    4333

    瀏覽量

    62699
收藏 人收藏

    評論

    相關推薦

    無線BIRR通信網絡系統

    無線BIRR通信網絡系統無線BIRR通信網絡系統是天創匯智科技人員在研究了世界范圍眾多前沿無線自組網理論和系統技術的基礎上,針對復雜干擾的無線網絡,創造性地提出BIRR(最佳即時路由)
    發表于 05-27 14:15

    【MiCOKit試用體驗】慶科MiCO系統篇(5)MiCO 套接

    ,簡單的說就是通信的兩方的一種約定,用套接中的相關函數來完成通信過程。Socket可以看成在兩個程序進行通訊連接中的一個端點,是連接應用程序和網絡驅動程序的橋梁,Socket在應用程
    發表于 10-24 17:05

    UNIX域套接

    UNIX域套接用于在同一臺計算機上運行的進程之間的通信。雖然因特網域套接可用于同一目的,但UNIX域套接
    發表于 09-02 11:59

    神經網絡系統辨識程序

    神經網絡系統辨識程序
    發表于 01-04 13:29

    交換機網絡從Soft_AP到Infrastructure后,套接始終返回無效

    與以下代碼的客戶端連接通過這個實現,TCPPOEN函數返回一個有效的套接,但是在進入無限循環之后,我們通過在網頁中配置網絡來配置網絡處于基
    發表于 04-24 09:57

    STM32例程能否與MFC網絡套接通信?

    如題。。想自己寫一個PC上的MFC界面。不要求太高的實時性和過大過高的傳輸數據量,偶爾一次傳輸幾十節即可,不知道STM32例程能否與MFC網絡套接通信。如果可以就入手一套了,另外,
    發表于 08-02 04:36

    如何通過socket系統調用創建一個套接

    面試被問到TCP/UDP的bind函數設計,所以前來補一下套接部分的內容套接:進程間通信的方法:可以在同一臺機器或者
    發表于 12-24 06:38

    一文讀懂RT-Thread的SAL套接抽象層

    函數,用于系統中大部分網絡開發應用。往下第二部分為 SAL 套接抽象層,通過它 RT-Thread
    發表于 04-08 15:44

    RTT網絡框架及SAL套接抽象層介紹

    的 SAL 套接抽象層中把這些接口函數功能抽象,提供統一的 sal_socket()、sal_connect() 等接口,將不同的協議棧做了一層適配轉換,應用層只需基于這些接口開發,SAL 再自動匹配
    發表于 07-28 11:40

    智能小區的網絡系統設計

    智能小區的網絡系統設計::從智能化住宅小區的實際需求出發。分析了用Lonworks技術實現智能小區管理網絡的優越性,提出了智能小區的功能規劃.設計了一個智能小區的網絡系統
    發表于 05-29 12:32 ?27次下載

    嵌入式遠程健康監護網絡系統的研究

    數據傳輸的實時性、準確性和連續性將成為社區遠程健康監護系統研究中的熱點和難點。本文根據網絡系統的特點,采用基于套接的高效傳輸網絡系統,該
    發表于 08-27 09:24 ?11次下載

    什么是網絡系統環境

    什么是網絡系統環境              網絡系統
    發表于 12-28 14:47 ?1247次閱讀

    Windows網絡編程的原始套接詳細說明

    利用“原始套接”(Raw Socket),我們可訪問位于基層的傳輸協議。本章專門講解如何運用這種原始套接,來模擬 IP的一些實用工具,比如 Tr a c e r o u t e和P
    發表于 03-21 08:00 ?1次下載
    Windows<b class='flag-5'>網絡</b>編程的原始<b class='flag-5'>套接</b><b class='flag-5'>字</b>詳細說明

    網絡套接系統調用如何到達sys_socketcall

    套接系統調用如何到達sys_socketcall accept函數為例 系統
    的頭像 發表于 07-24 11:35 ?691次閱讀

    套接socket包含哪些參數

    套接(Socket)是計算機網絡中最基本的通信抽象,它定義了兩個進程間通信的端點。在TCP/IP協議棧中,套接是實現
    的頭像 發表于 08-16 11:02 ?479次閱讀
    主站蜘蛛池模板: 手机看片国产免费永久 | 久久国产乱子伦精品免费强 | 中文字幕1页 | 九九九精品 | 欧美三级大片在线观看 | 欧美性色xo影院69 | 窝窝午夜看片免费视频 | 狠狠色丁香婷婷综合激情 | 黄色短视频免费观看 | 一区二区免费看 | 一级毛毛片毛片毛片毛片在线看 | 国产无套视频在线观看香蕉 | 精品玖玖| 国产福利影视 | 在线观看一级片 | 色女人久久| 婷婷毛片 | 国产精品成人四虎免费视频 | 国产色产综合色产在线观看视频 | 夜夜操天天射 | 日本不卡高清视频 | 天天操天天干天天爽 | 天天视频免费观看高清影视 | 1024手机看片国产 | 清朝荒淫牲艳史在线播放 | 日本人的色道www免费一区 | 午夜毛片免费观看视频 | 亚洲国产成+人+综合 | 天天操你| 正在播放国产乱子伦视频 | 在线伊人网 | 亚洲国产精品va在线观看麻豆 | 日日干天天爽 | 婷婷精品视频 | 日本不卡在线一区二区三区视频 | 成人性色生活片免费看爆迷你毛片 | 亚洲免费成人 | 国产精品www夜色影视 | 亚洲人色大成年网站在线观看 | 国产成人综合网 | 亚洲美女精品 |