在线观看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次閱讀
    主站蜘蛛池模板: 国产大乳孕妇喷奶水在线观看| 中文一区二区在线观看| 女人张开腿让男人做爽爽| 黄网站在线观看永久免费| 亚洲欧美一区二区三区在线播放| 精品看片| 五月综合在线| 国产成人综合欧美精品久久| 国产资源网站| 人人做人人插| 婷婷99精品国产97久久综合| 亚洲一区二区综合| 啪啪中文字幕| 亚洲欧美日韩特级毛片| 99久久精品费精品国产一区二区| 亚洲一区欧美一区| 欧美极品在线视频| 亚洲综合色色图| 久久99国产精品久久99| 在线视频三区| 精品久久久久久国产免费了| 亚洲一卡二卡三卡| 在线电影天堂| 天天摸日日| 亚洲成人一级片| 色激情小说| 黄色一级毛片网站| 黄色网一级片| 在线观看免费高清| 免费看黄色录像| xxx69欧美| 中文天堂在线最新版在线www| 五月婷亚洲| 五月激情六月婷婷| 女人18毛片水多| www.4虎影院| 欧美hh| 加勒比在线免费视频| 男人午夜视频在线观看| 黄色大秀视频| 亚洲最新在线观看|