亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? zbufsocklib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* zbufSockLib.c - zbuf socket interface library *//* Copyright 1984 - 2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01l,07may02,kbw  man page edits01k,15oct01,rae  merge from truestack ver 01l, base 01j (cleanup)01j,18oct00,zhu  check NULL for sockFdtosockFunc01i,29apr99,pul  Upgraded NPT phase3 code to tor2.0.001h,14mar99,jdi  doc: removed refs to config.h and/or configAll.h (SPR 25663).01h,02feb99,sgv  Added checks for zbuf support in the underlying backend in		 zbufSockSend,zbufSockSendto,zbufSockBufSend, zbufSockBufSendto,		 zbufSockRecv, zbufSockRecvfrom calls.01g,26oct95,rhp  doc: mention values for <flags> params in socket                 calls (SPR#4423)01f,10mar95,jdi  doc addn to zbufSockRecv(), zbufSockRecvfrom() as per dana.01e,11feb95,jdi  fixed doc style for `errno'.01d,23jan95,jdi  more doc tweaks.01c,12nov94,rhp  doc tweaks.01b,09nov94,rhp  library man page added, subroutine man pages edited.01a,08nov94,dzb  written.*//*DESCRIPTIONThis library contains routines that communicate over BSD sockets usingthe.I "zbuf interface"described in the zbufLib manual page.  These zbufsocket calls communicate over BSD sockets in a similar manner to thesocket routines in sockLib, but they avoid copying data unnecessarilybetween application buffers and network buffers.VXWORKS AE PROTECTION DOMAINSUnder VxWorks AE, this feature is accessible from the kernel protection domain only.  This restriction does not apply under non-AE versions of VxWorks.  To use this feature, include the INCLUDE_ZBUF_SOCK component.SEE ALSOzbufLib, sockLib *//* includes */#include "vxWorks.h"#include "zbufSockLib.h"#include "mbufSockLib.h"#include "sys/socket.h"#include "sockFunc.h"#include "netLib.h"/* locals */LOCAL ZBUF_SOCK_FUNC	zbufSockFuncNull =	/* null funcs for unconnected */    {    NULL,					/* zbufLibInit()	*/    NULL,					/* zbufSockSend()	*/    NULL,					/* zbufSockSendto()	*/    NULL,					/* zbufSockBufSend()	*/    NULL,					/* zbufSockBufSendto()	*/    NULL,					/* zbufSockRecv()	*/    NULL					/* zbufSockRecvfrom()	*/    };LOCAL ZBUF_SOCK_FUNC *	pZbufSockFunc = &zbufSockFuncNull;/* forward declarations */IMPORT SOCK_FUNC * sockFdtosockFunc (int s);/********************************************************************************* zbufSockLibInit - initialize the zbuf socket interface library** This routine initializes the zbuf socket interface* library.  It must be called before any zbuf socket routines are used.* It is called automatically when INCLUDE_ZBUF_SOCK is defined.** VXWORKS AE PROTECTION DOMAINS* Under VxWorks AE, you can call this function from within the kernel * protection domain only.  In addition, all arguments to this function can  * reference only that data which is valid in the kernel protection domain. * This restriction does not apply under non-AE versions of VxWorks.  ** RETURNS:* OK, or ERROR if the zbuf socket interface could not be initialized.*/STATUS zbufSockLibInit (void)    {    ZBUF_SOCK_FUNC *	pZbufSockFuncTemp;    /* call the back-end initialization routine */    if ((pZbufSockFuncTemp = _mbufSockLibInit()) == NULL)	return (ERROR);        pZbufSockFunc = pZbufSockFuncTemp;	/* connect socket back-end func table */    return (zbufLibInit (pZbufSockFunc->libInitRtn));    }/********************************************************************************* zbufSockSend - send zbuf data to a TCP socket** This routine transmits all of the data in <zbufId> to a previously* established connection-based (stream) socket.** The <zbufLen> parameter is used only for determining the amount of space* needed from the socket write buffer.  <zbufLen> has no effect on how many* bytes are sent; the entire zbuf is always transmitted.  If the length of* <zbufId> is not known, the caller must first determine it by calling* zbufLength().** This routine transfers ownership of the zbuf from the user application* to the VxWorks network stack.  The zbuf ID, <zbufId>, is deleted by this* routine, and should not be used after the routine is called, even if* an ERROR status is returned.  (Exceptions:  when the routine* fails because the zbuf socket interface library was not initialized or an* invalid zbuf ID was passed in, in which case there is no zbuf to delete.* Moreover, if the call fails during a non-blocking I/O socket write* with an `errno' of EWOULDBLOCK, then <zbufId> is not deleted; thus the* caller may send it again at a later time.)** You may OR the following values into the <flags> parameter with this* operation:** .iP "MSG_OOB (0x1)" 26* Out-of-band data.* * .iP "MSG_DONTROUTE (0x4)"* Send without using routing tables.* .LP* * VXWORKS AE PROTECTION DOMAINS* Under VxWorks AE, you can call this function from within the kernel * protection domain only.  In addition, all arguments to this function can  * reference only that data which is valid in the kernel protection domain. * This restriction does not apply under non-AE versions of VxWorks.  ** RETURNS* The number of bytes sent, or ERROR if the call fails.** SEE ALSO: zbufLength(), zbufSockBufSend(), send()*/int zbufSockSend    (    int			s,		/* socket to send to */    ZBUF_ID		zbufId,		/* zbuf to transmit */    int			zbufLen,	/* length of entire zbuf */    int			flags		/* flags to underlying protocols */    )    {    SOCK_FUNC * pSockFunc = sockFdtosockFunc(s);    if (pSockFunc == NULL || pSockFunc->zbufRtn == NULL ||	(pSockFunc->zbufRtn)() == FALSE)	{	netErrnoSet (ENOTSUP);	return (ERROR);	}    return ((pZbufSockFunc->sendRtn == NULL) ? ERROR :	(pZbufSockFunc->sendRtn) (s, zbufId, zbufLen, flags));    }/********************************************************************************* zbufSockSendto - send a zbuf message to a UDP socket** This routine sends the entire message in <zbufId> to the datagram socket* named by <to>.  The socket <s> is the sending socket.** The <zbufLen> parameter is used only for determining the amount of space* needed from the socket write buffer.  <zbufLen> has no effect on how many* bytes are sent; the entire zbuf is always transmitted.  If the length of* <zbufId> is not known, the caller must first determine it by calling* zbufLength().** This routine transfers ownership of the zbuf from the user application* to the VxWorks network stack.  The zbuf ID <zbufId> is deleted by this* routine, and should not be used after the routine is called, even if* an ERROR status is returned.  (Exceptions:  when the routine* fails because the zbuf socket interface library was not initialized or an* invalid zbuf ID was passed in, in which case there is no zbuf to delete.* Moreover, if the call fails during a non-blocking I/O socket write* with an `errno' of EWOULDBLOCK, then <zbufId> is not deleted; thus the* caller may send it again at a later time.)** You may OR the following values into the <flags> parameter with this* operation:** .iP "MSG_OOB (0x1)" 26* Out-of-band data.* * .iP "MSG_DONTROUTE (0x4)"* Send without using routing tables.* .LP* * VXWORKS AE PROTECTION DOMAINS* Under VxWorks AE, you can call this function from within the kernel * protection domain only.  In addition, all arguments to this function can  * reference only that data which is valid in the kernel protection domain. * This restriction does not apply under non-AE versions of VxWorks.  ** RETURNS* The number of bytes sent, or ERROR if the call fails.** SEE ALSO: zbufLength(), zbufSockBufSendto(), sendto()*/int zbufSockSendto    (    int			s,		/* socket to send to */    ZBUF_ID		zbufId,		/* zbuf to transmit */    int			zbufLen,	/* length of entire zbuf */    int			flags,		/* flags to underlying protocols */    struct sockaddr *	to,		/* recipient's address */    int			tolen		/* length of <to> socket addr */    )    {    SOCK_FUNC * pSockFunc = sockFdtosockFunc(s);        if (pSockFunc == NULL) 	{	netErrnoSet (ENOTSUP);	return (ERROR);	}    if ((pSockFunc->zbufRtn == NULL) || ((pSockFunc->zbufRtn)() == FALSE))	{	netErrnoSet (ENOTSUP);	return (ERROR);	}    return ((pZbufSockFunc->sendtoRtn == NULL) ? ERROR :	(pZbufSockFunc->sendtoRtn) (s, zbufId, zbufLen, flags, to, tolen));    }/********************************************************************************* zbufSockBufSend - create a zbuf from user data and send it to a TCP socket** This routine creates a zbuf from the user buffer <buf>, and transmits* it to a previously established connection-based (stream) socket.** The user-provided free routine callback at <freeRtn> is called when <buf>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香啪啪综合成人亚洲小说| 成人app在线| 亚洲精品一二三区| 欧美高清hd18日本| 99视频超级精品| 亚洲午夜一区二区| 国产日产欧美一区二区三区| 欧洲亚洲国产日韩| 不卡电影一区二区三区| 久久电影网电视剧免费观看| 亚洲大片一区二区三区| 国产日韩精品一区二区三区在线| 欧美三级午夜理伦三级中视频| 国内精品写真在线观看| 亚洲成人激情综合网| 日本一区免费视频| 中文字幕久久午夜不卡| 精品久久久久久综合日本欧美| 欧美日韩国产高清一区二区| 在线亚洲+欧美+日本专区| 日韩一区二区视频在线观看| 色综合激情五月| 99久久99久久久精品齐齐| 国产福利一区二区| 美女精品自拍一二三四| 美国三级日本三级久久99| 亚洲精品一二三| 亚洲精品中文字幕在线观看| 国产精品久久久久久久久久久免费看| 国产精品―色哟哟| 亚洲精品老司机| 亚洲国产一区视频| 日本不卡一区二区三区| 国产伦精品一区二区三区在线观看| 国产一区二区免费看| 春色校园综合激情亚洲| 91网站在线播放| 一本一本大道香蕉久在线精品| 成人午夜av影视| 91精品1区2区| 欧美tk丨vk视频| 久久电影国产免费久久电影| 老司机精品视频导航| 国产精品一区二区黑丝| 99久久99久久综合| 久久一区二区三区四区| 亚洲欧美成人一区二区三区| 免费在线视频一区| 91浏览器入口在线观看| 欧美电影免费观看高清完整版在| 久久无码av三级| 一区二区成人在线| 成人永久免费视频| 在线免费观看一区| 欧美精品一区二区三区在线播放| 精品福利一区二区三区| 亚洲第一主播视频| 国产老肥熟一区二区三区| 欧美在线观看一区| 国产精品美日韩| 免费观看久久久4p| 97久久超碰国产精品电影| 国产视频911| 国内精品视频一区二区三区八戒| 欧洲人成人精品| 亚洲chinese男男1069| 99re视频精品| 久久er精品视频| 91精品国产综合久久精品图片| 国产精品久久午夜| 色偷偷一区二区三区| 国产精品久久久久国产精品日日| 久久国产精品免费| 精品国内二区三区| 久久国产精品72免费观看| 日韩一区二区免费在线观看| 久久成人精品无人区| 精品奇米国产一区二区三区| 爽爽淫人综合网网站| 69堂成人精品免费视频| 日本午夜精品一区二区三区电影 | 美国av一区二区| 7777精品伊人久久久大香线蕉 | 亚洲国产精品自拍| 欧美三级电影网| 亚洲第一搞黄网站| 精品国产三级a在线观看| 久久99精品国产麻豆婷婷洗澡| 精品国产精品网麻豆系列| 激情文学综合丁香| 国产精品国产自产拍在线| 不卡大黄网站免费看| 国产欧美一区二区精品性色 | 精品视频999| 麻豆精品新av中文字幕| 国产欧美日韩精品在线| 欧美专区亚洲专区| 蜜桃传媒麻豆第一区在线观看| 欧美va亚洲va香蕉在线| 色屁屁一区二区| 婷婷国产v国产偷v亚洲高清| 国产日韩欧美一区二区三区综合| 99re这里只有精品视频首页| 麻豆一区二区三区| 成人免费在线视频观看| 欧美精品乱码久久久久久| 国产精品亚洲午夜一区二区三区 | 精品国产乱子伦一区| 91麻豆6部合集magnet| 国产69精品久久久久毛片| 丝袜美腿亚洲色图| 亚洲免费大片在线观看| 日韩欧美在线不卡| 色域天天综合网| 高清视频一区二区| 国产一区久久久| 欧美aa在线视频| 日韩国产一二三区| 亚洲欧美激情一区二区| 久久影院视频免费| 欧美成人精品3d动漫h| 91久久线看在观草草青青| 国产99久久久国产精品潘金网站| 亚洲自拍偷拍网站| 亚洲国产日韩在线一区模特| 亚洲欧美偷拍三级| 一区二区三区四区高清精品免费观看 | 91影视在线播放| 91免费看`日韩一区二区| 国产91在线看| 色婷婷亚洲一区二区三区| 成人爱爱电影网址| 色88888久久久久久影院按摩| 一本久久a久久免费精品不卡| 99久久伊人久久99| 91在线国内视频| 欧洲色大大久久| 久久av资源网| 午夜精品久久久久久| 一级中文字幕一区二区| 午夜亚洲福利老司机| 青娱乐精品在线视频| 国产在线精品免费| 99re成人精品视频| 欧美一区二区福利在线| 26uuu国产在线精品一区二区| 欧美激情一区二区三区不卡 | 午夜不卡在线视频| 成人蜜臀av电影| 在线播放一区二区三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 制服.丝袜.亚洲.中文.综合| 久久久精品2019中文字幕之3| 中文成人av在线| 蜜臀av一区二区在线免费观看| 丁香亚洲综合激情啪啪综合| 欧美日韩精品免费观看视频| 久久久久久免费网| 日韩av成人高清| 91蝌蚪porny九色| 久久久久久久精| 蜜臀久久久久久久| 欧美亚洲精品一区| 最新久久zyz资源站| 国产在线观看免费一区| 欧美日韩夫妻久久| 亚洲午夜免费电影| 色婷婷综合久久| 亚洲特级片在线| 国产激情视频一区二区三区欧美 | 日韩精品亚洲一区二区三区免费| 99精品久久久久久| 国产精品色眯眯| 成人午夜免费av| 中文字幕av一区 二区| 日本精品一级二级| 欧美videos大乳护士334| 久久99精品久久久久久国产越南| 在线播放中文一区| 成人手机在线视频| 午夜日韩在线观看| 最新国产成人在线观看| 日韩欧美久久久| 色综合天天综合网天天狠天天| 婷婷夜色潮精品综合在线| 国产日韩欧美综合在线| 88在线观看91蜜桃国自产| 成人综合在线网站| 精品综合久久久久久8888| 成人欧美一区二区三区黑人麻豆| 欧美一区二区国产| 欧洲激情一区二区| 99re这里只有精品视频首页| 久久99热狠狠色一区二区| 丝袜美腿亚洲一区| 亚洲国产成人av好男人在线观看| 国产精品美女久久久久久久网站| 日韩欧美一区中文| 欧美丰满一区二区免费视频| 色国产精品一区在线观看|