⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zbufsocklib.html

📁 Vxworks API操作系统和驱动程序设计API。压缩的HTML文件
💻 HTML
📖 第 1 页 / 共 2 页
字号:
or the context of the caller's task.  Declare <i>freeRtn</i> as follows(using whatever name is convenient):<pre>      void freeCallback          (          caddr_t     buf,    /* pointer to user buffer */          int         freeArg /* user-provided argument to free routine */          )</pre>You may OR the following values into the <i>flags</i> parameter with thisoperation:<p><dl><dt><b>MSG_OOB</b> (0x1)<dd>Out-of-band data.<p><dt><b>MSG_DONTROUTE</b> (0x4)<dd>Send without using routing tables.</dl></blockquote><h4>VXWORKS AE PROTECTION DOMAINS</h4><blockquote><p>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.  <p></blockquote><h4>RETURNS</h4><blockquote><p><p>The number of bytes sent, or ERROR if the call fails.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./zbufSockLib.html#top">zbufSockLib</a></b>, <b><a href="./zbufSockLib.html#zbufSockSend">zbufSockSend</a>(&nbsp;)</b>, <b><a href="./sockLib.html#send">send</a>(&nbsp;)</b><hr><a name="zbufSockBufSendto"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>zbufSockBufSendto(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>zbufSockBufSendto(&nbsp;)</strong> - create a zbuf from a user message and send it to a UDP socket</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>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 <i>to</i> socket addr */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine creates a zbuf from the user buffer <i>buf</i>, and sendsit to the datagram socket named by <i>to</i>.  The socket <i>s</i> is thesending socket.<p>The user-provided free routine callback at <i>freeRtn</i> is called when <i>buf</i>is no longer in use by the UDP/IP network stack.  Applications canexploit this callback to receive notification that <i>buf</i> is free.If <i>freeRtn</i> is NULL, the routine functions normally, except that the application has no way of being notified when <i>buf</i> is released by thenetwork stack.  The free routine runs in the context of the task that lastreferences the buffer.  This is typically either tNetTask context, or the caller's task context.  Declare <i>freeRtn</i> as follows(using whatever name is convenient):<pre>      void freeCallback          (          caddr_t     buf,    /* pointer to user buffer */          int         freeArg /* user-provided argument to free routine */          )</pre>You may OR the following values into the <i>flags</i> parameter with thisoperation:<p><dl><dt><b>MSG_OOB</b> (0x1)<dd>Out-of-band data.<p><dt><b>MSG_DONTROUTE</b> (0x4)<dd>Send without using routing tables.</dl></blockquote><h4>VXWORKS AE PROTECTION DOMAINS</h4><blockquote><p>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.  <p></blockquote><h4>RETURNS</h4><blockquote><p><p>The number of bytes sent, or ERROR if the call fails.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./zbufSockLib.html#top">zbufSockLib</a></b>, <b><a href="./zbufSockLib.html#zbufSockSendto">zbufSockSendto</a>(&nbsp;)</b>, <b><a href="./sockLib.html#sendto">sendto</a>(&nbsp;)</b><hr><a name="zbufSockRecv"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>zbufSockRecv(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>zbufSockRecv(&nbsp;)</strong> - receive data in a zbuf from a TCP socket</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>ZBUF_ID zbufSockRecv    (    int   s,                  /* socket to receive data from */    int   flags,              /* flags to underlying protocols */    int * pLen                /* number of bytes requested/returned */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine receives data from a connection-based (stream) socket, andreturns the data to the user in a newly created zbuf.<p>The <i>pLen</i> parameter indicates the number of bytes requested by the caller.If the operation is successful, the number of bytes received iscopied to <i>pLen</i>.<p>You may OR the following values into the <i>flags</i> parameter with thisoperation:<p><dl><dt><b>MSG_OOB</b> (0x1)<dd>Out-of-band data.<p><dt><b>MSG_PEEK</b> (0x2)<dd>Return data without removing it from socket.</dl>Once the user application is finished with the zbuf, <b><a href="./zbufLib.html#zbufDelete">zbufDelete</a>(&nbsp;)</b> shouldbe called to return the zbuf memory buffer to the VxWorks network stack.<p></blockquote><h4>VXWORKS AE PROTECTION DOMAINS</h4><blockquote><p>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.  <p></blockquote><h4>RETURNS</h4><blockquote><p><p>The zbuf ID of a newly created zbuf containing the received data,or NULL if the operation fails.<p></blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./zbufSockLib.html#top">zbufSockLib</a></b>, <b><a href="./sockLib.html#recv">recv</a>(&nbsp;)</b><hr><a name="zbufSockRecvfrom"></a><p align=right><a href="rtnIndex.htm"><i>OS Libraries :  Routines</i></a></p></blockquote><h1>zbufSockRecvfrom(&nbsp;)</h1> <blockquote></a></blockquote><h4>NAME</h4><blockquote>  <p><strong>zbufSockRecvfrom(&nbsp;)</strong> - receive a message in a zbuf from a UDP socket</p></blockquote><h4>SYNOPSIS</h4><blockquote><p><pre>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 <i>from</i> */    )</pre></blockquote><h4>DESCRIPTION</h4><blockquote><p>This routine receives a message from a datagram socket, andreturns the message to the user in a newly created zbuf.<p>The message is received regardless of whether the socket is connected.If <i>from</i> is nonzero, the address of the sender's socket is copied to it.Initialize the value-result parameter <i>pFromLen</i> to the size ofthe <i>from</i> buffer.  On return, <i>pFromLen</i> contains the actual size of theaddress stored in <i>from</i>.<p>The <i>pLen</i> parameter indicates the number of bytes requested by the caller.If the operation is successful, the number of bytes received iscopied to <i>pLen</i>.<p>You may OR the following values into the <i>flags</i> parameter with thisoperation:<p><dl><dt><b>MSG_OOB</b> (0x1)<dd>Out-of-band data.<p><dt><b>MSG_PEEK</b> (0x2)<dd>Return data without removing it from socket.  </dl><p>Once the user application is finished with the zbuf, <b><a href="./zbufLib.html#zbufDelete">zbufDelete</a>(&nbsp;)</b> shouldbe called to return the zbuf memory buffer to the VxWorks network stack.<p></blockquote><h4>VXWORKS AE PROTECTION DOMAINS</h4><blockquote><p>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.  <p></blockquote><h4>RETURNS</h4><blockquote><p><p>The zbuf ID of a newly created zbuf containing the received message,or NULL if the operation fails.</blockquote><h4>SEE ALSO</h4><blockquote><p><b><a href="./zbufSockLib.html#top">zbufSockLib</a></b></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -