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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? zbufsocklib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
* is no longer in use by the TCP/IP network stack.  Applications can* exploit this callback to receive notification that <buf> is free.* If <freeRtn> is NULL, the routine functions normally, except that the * application has no way of being notified when <buf> is released by the* network stack.  The free routine runs in the context of the task that last* references the buffer.  This is typically either the context of tNetTask, * or the context of the caller's task.  Declare <freeRtn> as follows* (using whatever name is convenient):* .CS*       void freeCallback*           (*           caddr_t     buf,    /@ pointer to user buffer @/*           int         freeArg /@ user-provided argument to free routine @/*           )* .CE** 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* zbufSockSend(), send()**/int zbufSockBufSend    (    int			s,		/* socket to send to */    char *		buf,		/* pointer to data buffer */    int		        bufLen,		/* number of bytes to send */    VOIDFUNCPTR		freeRtn,	/* free routine callback */    int			freeArg,	/* argument to free routine */    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->bufSendRtn == NULL) ? ERROR :	(pZbufSockFunc->bufSendRtn) (s, buf, bufLen, freeRtn, freeArg, flags));    }/********************************************************************************* zbufSockBufSendto - create a zbuf from a user message and send it to a UDP socket** This routine creates a zbuf from the user buffer <buf>, and sends* it to the datagram socket named by <to>.  The socket <s> is the* sending socket.** The user-provided free routine callback at <freeRtn> is called when <buf>* is no longer in use by the UDP/IP network stack.  Applications can* exploit this callback to receive notification that <buf> is free.* If <freeRtn> is NULL, the routine functions normally, except that the * application has no way of being notified when <buf> is released by the* network stack.  The free routine runs in the context of the task that last* references the buffer.  This is typically either tNetTask context, * or the caller's task context.  Declare <freeRtn> as follows* (using whatever name is convenient):* .CS*       void freeCallback*           (*           caddr_t     buf,    /@ pointer to user buffer @/*           int         freeArg /@ user-provided argument to free routine @/*           )* .CE** 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* zbufSockSendto(), sendto()*/int zbufSockBufSendto    (    int			s,		/* socket to send to */    char *		buf,		/* pointer to data buffer */    int		        bufLen,		/* number of bytes to send */    VOIDFUNCPTR		freeRtn,	/* free routine callback */    int			freeArg,	/* argument to free routine */    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 || pSockFunc->zbufRtn == NULL ||	(pSockFunc->zbufRtn)() == FALSE)	{	netErrnoSet (ENOTSUP);	return (ERROR);	}    return ((pZbufSockFunc->bufSendtoRtn == NULL) ? ERROR :	(pZbufSockFunc->bufSendtoRtn) (s, buf, bufLen, freeRtn, freeArg,	flags, to, tolen));    }/********************************************************************************* zbufSockRecv - receive data in a zbuf from a TCP socket** This routine receives data from a connection-based (stream) socket, and* returns the data to the user in a newly created zbuf.** The <pLen> parameter indicates the number of bytes requested by the caller.* If the operation is successful, the number of bytes received is* copied to <pLen>.** You may OR the following values into the <flags> parameter with this* operation:** .iP "MSG_OOB (0x1)" 26* Out-of-band data.* * .iP "MSG_PEEK (0x2)"* Return data without removing it from socket.* .LP* * Once the user application is finished with the zbuf, zbufDelete() should* be called to return the zbuf memory buffer to the VxWorks network stack.** 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 zbuf ID of a newly created zbuf containing the received data,* or NULL if the operation fails.** SEE ALSO* recv()*/ZBUF_ID zbufSockRecv    (    int			s,		/* socket to receive data from */    int			flags,		/* flags to underlying protocols */    int *		pLen		/* number of bytes requested/returned */    )    {    SOCK_FUNC * pSockFunc = sockFdtosockFunc(s);    if (pSockFunc == NULL || pSockFunc->zbufRtn == NULL || (pSockFunc->zbufRtn)() == FALSE)	{	netErrnoSet (ENOTSUP);	return (NULL);	}    return ((pZbufSockFunc->recvRtn == NULL) ? NULL :	(ZBUF_ID) (pZbufSockFunc->recvRtn) (s, flags, pLen));    }/********************************************************************************* zbufSockRecvfrom - receive a message in a zbuf from a UDP socket** This routine receives a message from a datagram socket, and* returns the message to the user in a newly created zbuf.** The message is received regardless of whether the socket is connected.* If <from> is nonzero, the address of the sender's socket is copied to it.* Initialize the value-result parameter <pFromLen> to the size of* the <from> buffer.  On return, <pFromLen> contains the actual size of the* address stored in <from>.** The <pLen> parameter indicates the number of bytes requested by the caller.* If the operation is successful, the number of bytes received is* copied to <pLen>.** You may OR the following values into the <flags> parameter with this* operation:** .iP "MSG_OOB (0x1)" 26* Out-of-band data.* * .iP "MSG_PEEK (0x2)" * Return data without removing it from socket.  * .LP* * Once the user application is finished with the zbuf, zbufDelete() should* be called to return the zbuf memory buffer to the VxWorks network stack.** 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 zbuf ID of a newly created zbuf containing the received message,* or NULL if the operation fails.*/ZBUF_ID zbufSockRecvfrom    (    int			s,		/* socket to receive from */    int			flags,		/* flags to underlying protocols */    int *		pLen,		/* number of bytes requested/returned */    struct sockaddr *	from,		/* where to copy sender's addr */    int *		pFromLen	/* value/result length of <from> */    )    {    SOCK_FUNC * pSockFunc = sockFdtosockFunc(s);    if (pSockFunc == NULL || pSockFunc->zbufRtn == NULL ||	(pSockFunc->zbufRtn)() == FALSE)	{	netErrnoSet (ENOTSUP);	return (NULL);	}    return ((pZbufSockFunc->recvfromRtn == NULL) ? NULL :	(ZBUF_ID) (pZbufSockFunc->recvfromRtn) (s, flags, pLen,	from, pFromLen));    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看日韩av先锋影音电影院| 欧美精品一区二区三区蜜桃视频| 欧美疯狂做受xxxx富婆| 精品国产精品网麻豆系列| 亚洲图片另类小说| 国产福利一区二区三区视频在线 | 天天av天天翘天天综合网| 国产精品一二三四区| 欧美日本国产一区| 中文字幕一区二区三区在线播放| 狠狠色伊人亚洲综合成人| 欧美日韩国产a| 亚洲国产一区二区a毛片| 成人av在线资源网站| 久久午夜色播影院免费高清| 日韩av在线免费观看不卡| 在线观看成人小视频| 国产精品久久久久久久浪潮网站| 久久99精品国产麻豆婷婷洗澡| 欧美日韩视频第一区| 亚洲国产精品久久久男人的天堂| 99这里都是精品| 国产精品网站导航| 东方欧美亚洲色图在线| 久久久久久电影| 国产又黄又大久久| 久久久99免费| 国产精品亚洲一区二区三区妖精| 精品国产亚洲一区二区三区在线观看| 日韩成人伦理电影在线观看| 在线电影国产精品| 喷水一区二区三区| 久久av中文字幕片| 日本在线不卡一区| 欧美日韩免费视频| 91精品国产高清一区二区三区| 久久理论电影网| 欧美日韩国产在线观看| 国产精品18久久久久久vr| 亚洲一区在线电影| 欧美国产欧美综合| 欧美一二三区在线观看| 91美女蜜桃在线| 狠狠色综合色综合网络| 午夜免费久久看| 亚洲天堂av一区| 久久久99免费| 欧美一区二区成人| 欧美日韩一二三| 91美女片黄在线观看91美女| 成人妖精视频yjsp地址| 精品一区二区三区免费视频| 日韩精品一卡二卡三卡四卡无卡| 亚洲免费高清视频在线| 中文乱码免费一区二区| 精品国产乱码久久| 欧美大片国产精品| 日韩一区二区在线看| 欧美日韩中文国产| 一本久道久久综合中文字幕| 国产91在线观看丝袜| 国产一区二区三区免费观看| 久草精品在线观看| 青青草国产精品亚洲专区无| 亚洲成人你懂的| 亚洲一区二区不卡免费| 亚洲欧美区自拍先锋| 中文字幕一区二区三区四区| 国产精品毛片大码女人| 欧美国产日韩精品免费观看| 欧美国产视频在线| 一区在线观看视频| 国产精品成人免费在线| **网站欧美大片在线观看| 国产精品美日韩| 亚洲欧美二区三区| 一区二区三区四区精品在线视频 | 精品久久久网站| 日韩欧美激情一区| 日韩欧美久久一区| 精品国产免费人成电影在线观看四季| 欧美一区二区三区电影| 欧美岛国在线观看| 国产欧美一区二区精品性色| 国产精品私人自拍| 自拍偷拍国产精品| 亚洲综合999| 蜜桃视频在线观看一区二区| 久久97超碰国产精品超碰| 国产成人免费在线观看| 99久久精品情趣| 欧美日韩国产中文| 精品久久久久av影院| 国产日产精品1区| 最新成人av在线| 亚洲高清免费一级二级三级| 日本欧美久久久久免费播放网| 国产综合成人久久大片91| 成人免费视频视频在线观看免费| 91丨九色丨国产丨porny| 欧美午夜一区二区| 久久欧美一区二区| 亚洲天堂久久久久久久| 天堂成人免费av电影一区| 国产专区综合网| 91蜜桃传媒精品久久久一区二区| 91精品在线免费| 中文字幕第一区| 亚洲aaa精品| 国产精品一区二区三区四区| 色成人在线视频| 欧美xxx久久| 亚洲精品日日夜夜| 久久99精品久久久久久动态图 | 99精品热视频| 欧美精品在线视频| 国产精品免费视频一区| 爽爽淫人综合网网站| 成人高清免费观看| 337p亚洲精品色噜噜噜| 国产精品护士白丝一区av| 日韩激情一区二区| 91在线精品一区二区| 精品国产免费一区二区三区香蕉| 综合久久久久久久| 黄色小说综合网站| 欧美三级电影精品| 国产欧美精品区一区二区三区| 亚洲成人久久影院| av电影在线观看一区| 精品国产伦一区二区三区免费| 一区二区三区四区蜜桃 | 亚洲一区二区在线播放相泽| 国产激情91久久精品导航| 91精品国产免费久久综合| 国产精品久久久久久久久久久免费看 | 一区二区三区免费| 国产精品白丝jk黑袜喷水| 欧美日韩一区在线观看| 综合色中文字幕| 国产成人亚洲综合a∨婷婷| 制服丝袜成人动漫| 一级日本不卡的影视| 成人的网站免费观看| 2017欧美狠狠色| 日韩不卡一二三区| 欧美三级一区二区| 一区二区激情小说| 91免费精品国自产拍在线不卡| 久久久久久一级片| 久久99精品国产麻豆婷婷| 欧美一区二区三区啪啪| 天天免费综合色| 欧美日韩小视频| 亚洲成人自拍网| 欧美日韩在线观看一区二区| 亚洲精品精品亚洲| 91论坛在线播放| 亚洲人妖av一区二区| 97久久精品人人做人人爽50路| 国产精品久久久久桃色tv| 成人性色生活片| 国产精品美女久久久久久久久久久 | 亚洲高清免费观看| 欧美三级视频在线观看| 亚洲国产欧美日韩另类综合| 日本精品视频一区二区三区| 亚洲精品久久久久久国产精华液| 91美女蜜桃在线| 亚洲最新在线观看| 欧美日韩日日夜夜| 首页国产欧美久久| 欧美videos大乳护士334| 黄色精品一二区| 中文字幕av一区二区三区免费看| 成人综合在线观看| 亚洲少妇中出一区| 欧美视频你懂的| 理论片日本一区| 欧美激情一区二区三区不卡| 91小宝寻花一区二区三区| 亚洲一区二区三区国产| 宅男在线国产精品| 国产一区二区主播在线| 国产精品嫩草影院com| 色综合久久天天综合网| 三级一区在线视频先锋 | 国产精品视频第一区| 91老师片黄在线观看| 亚洲6080在线| 欧美精品一区二区三区四区 | 蜜桃91丨九色丨蝌蚪91桃色| 久久久精品天堂| 91在线观看下载| 婷婷国产v国产偷v亚洲高清| 久久婷婷久久一区二区三区| 9l国产精品久久久久麻豆| 午夜精品在线看| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精一区二区三区|