1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3<title>uIP 1.0: uip/psock.h File Reference</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5<link href="tabs.css" rel="stylesheet" type="text/css"> 6</head><body> 7<!-- Generated by Doxygen 1.4.6 --> 8<div class="tabs"> 9 <ul> 10 <li><a href="main.html"><span>Main Page</span></a></li> 11 <li><a href="modules.html"><span>Modules</span></a></li> 12 <li><a href="classes.html"><span>Data Structures</span></a></li> 13 <li id="current"><a href="files.html"><span>Files</span></a></li> 14 <li><a href="examples.html"><span>Examples</span></a></li> 15 </ul></div> 16<div class="tabs"> 17 <ul> 18 <li><a href="files.html"><span>File List</span></a></li> 19 <li><a href="globals.html"><span>Globals</span></a></li> 20 </ul></div> 21<h1>uip/psock.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> 22Protosocket library header file. 23<p> 24<dl compact><dt><b>Author:</b></dt><dd>Adam Dunkels <<a href="mailto:[email protected]">[email protected]</a>> </dd></dl> 25 26<p> 27Definition in file <a class="el" href="a00193.html">psock.h</a>. 28<p> 29<code>#include "<a class="el" href="a00206.html">uipopt.h</a>"</code><br> 30<code>#include "<a class="el" href="a00194.html">pt.h</a>"</code><br> 31 32<p> 33<a href="a00193.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> 34<tr><td></td></tr> 35<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> 36<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00083.html">psock_buf</a></td></tr> 37 38<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00082.html">psock</a></td></tr> 39 40<tr><td class="mdescLeft"> </td><td class="mdescRight">The representation of a protosocket. <a href="a00082.html#_details">More...</a><br></td></tr> 41<tr><td colspan="2"><br><h2>Defines</h2></td></tr> 42<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g26ae707402e494f3895a9f012a93ea29">PSOCK_INIT</a>(<a class="el" href="a00082.html">psock</a>, buffer, buffersize)</td></tr> 43 44<tr><td class="mdescLeft"> </td><td class="mdescRight">Initialize a protosocket. <a href="a00158.html#g26ae707402e494f3895a9f012a93ea29"></a><br></td></tr> 45<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g84901a5aa60040e96d272a69977edd22">PSOCK_BEGIN</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 46 47<tr><td class="mdescLeft"> </td><td class="mdescRight">Start the protosocket protothread in a function. <a href="a00158.html#g84901a5aa60040e96d272a69977edd22"></a><br></td></tr> 48<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g70d236d1cf34b4e21836edda60247b70">PSOCK_SEND</a>(<a class="el" href="a00082.html">psock</a>, data, datalen)</td></tr> 49 50<tr><td class="mdescLeft"> </td><td class="mdescRight">Send data. <a href="a00158.html#g70d236d1cf34b4e21836edda60247b70"></a><br></td></tr> 51<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#gb0ad55aa96dd1d200cd0fc5a99f6a4f7">PSOCK_SEND_STR</a>(<a class="el" href="a00082.html">psock</a>, str)</td></tr> 52 53<tr><td class="mdescLeft"> </td><td class="mdescRight">Send a null-terminated string. <a href="a00158.html#gb0ad55aa96dd1d200cd0fc5a99f6a4f7"></a><br></td></tr> 54<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g10d9a9201cba1a6db623284c475c6cea">PSOCK_GENERATOR_SEND</a>(<a class="el" href="a00082.html">psock</a>, generator, arg)</td></tr> 55 56<tr><td class="mdescLeft"> </td><td class="mdescRight">Generate data with a function and send it. <a href="a00158.html#g10d9a9201cba1a6db623284c475c6cea"></a><br></td></tr> 57<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g5d56800f82bfc7bbf53bb4a659589812">PSOCK_CLOSE</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 58 59<tr><td class="mdescLeft"> </td><td class="mdescRight">Close a protosocket. <a href="a00158.html#g5d56800f82bfc7bbf53bb4a659589812"></a><br></td></tr> 60<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#gd895ab98c54d9966ff554aa873151751">PSOCK_READBUF</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 61 62<tr><td class="mdescLeft"> </td><td class="mdescRight">Read data until the buffer is full. <a href="a00158.html#gd895ab98c54d9966ff554aa873151751"></a><br></td></tr> 63<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#gb5d9c0becf7cb32d0aaef466839dd92e">PSOCK_READTO</a>(<a class="el" href="a00082.html">psock</a>, c)</td></tr> 64 65<tr><td class="mdescLeft"> </td><td class="mdescRight">Read data up to a specified character. <a href="a00158.html#gb5d9c0becf7cb32d0aaef466839dd92e"></a><br></td></tr> 66<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g4ab2de595d36e9e55dd61f6ecd139162">PSOCK_DATALEN</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 67 68<tr><td class="mdescLeft"> </td><td class="mdescRight">The length of the data that was previously read. <a href="a00158.html#g4ab2de595d36e9e55dd61f6ecd139162"></a><br></td></tr> 69<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#gfa11b2a1faf395ae2a6626e01c482d5d">PSOCK_EXIT</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 70 71<tr><td class="mdescLeft"> </td><td class="mdescRight">Exit the protosocket's protothread. <a href="a00158.html#gfa11b2a1faf395ae2a6626e01c482d5d"></a><br></td></tr> 72<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#gc7cc1dba1819f7fcdaa9ff9eed5a08f4">PSOCK_CLOSE_EXIT</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 73 74<tr><td class="mdescLeft"> </td><td class="mdescRight">Close a protosocket and exit the protosocket's protothread. <a href="a00158.html#gc7cc1dba1819f7fcdaa9ff9eed5a08f4"></a><br></td></tr> 75<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g4a264bb64ae706d53f572b1d9e4037a2">PSOCK_END</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 76 77<tr><td class="mdescLeft"> </td><td class="mdescRight">Declare the end of a protosocket's protothread. <a href="a00158.html#g4a264bb64ae706d53f572b1d9e4037a2"></a><br></td></tr> 78<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g55ce98ea4d6f22e9d5068b904d4d2447">PSOCK_NEWDATA</a>(<a class="el" href="a00082.html">psock</a>)</td></tr> 79 80<tr><td class="mdescLeft"> </td><td class="mdescRight">Check if new data has arrived on a protosocket. <a href="a00158.html#g55ce98ea4d6f22e9d5068b904d4d2447"></a><br></td></tr> 81<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g2ebfe5c8a7f3173714efdf2df74fc392">PSOCK_WAIT_UNTIL</a>(<a class="el" href="a00082.html">psock</a>, condition)</td></tr> 82 83<tr><td class="mdescLeft"> </td><td class="mdescRight">Wait until a condition is true. <a href="a00158.html#g2ebfe5c8a7f3173714efdf2df74fc392"></a><br></td></tr> 84<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga87ff36af81990e6ffe20d76d5e4606f"></a><!-- doxytag: member="psock.h::PSOCK_WAIT_THREAD" ref="ga87ff36af81990e6ffe20d76d5e4606f" args="(psock, condition)" --> 85#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#ga87ff36af81990e6ffe20d76d5e4606f">PSOCK_WAIT_THREAD</a>(<a class="el" href="a00082.html">psock</a>, condition) PT_WAIT_THREAD(&((<a class="el" href="a00082.html">psock</a>)-><a class="el" href="a00084.html">pt</a>), (condition))</td></tr> 86 87<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 88<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3178402dd725776415bf9745e7bf92ba"></a><!-- doxytag: member="psock.h::psock_datalen" ref="g3178402dd725776415bf9745e7bf92ba" args="(struct psock *psock)" --> 89<a class="el" href="a00153.html#g77570ac4fcab86864fa1916e55676da2">u16_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g3178402dd725776415bf9745e7bf92ba">psock_datalen</a> (struct <a class="el" href="a00082.html">psock</a> *<a class="el" href="a00082.html">psock</a>)</td></tr> 90 91<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g3b19f65e48079d8105be2a99b5b4b2ae"></a><!-- doxytag: member="psock.h::psock_newdata" ref="g3b19f65e48079d8105be2a99b5b4b2ae" args="(struct psock *s)" --> 92char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00158.html#g3b19f65e48079d8105be2a99b5b4b2ae">psock_newdata</a> (struct <a class="el" href="a00082.html">psock</a> *s)</td></tr> 93 94</table> 95<hr size="1"><address style="align: right;"><small>Generated on Mon Jun 12 10:23:01 2006 for uIP 1.0 by 96<a href="http://www.doxygen.org/index.html"> 97<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.6 </small></address> 98</body> 99</html> 100