1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7<title>ReceiveFrom</title> 8 </head> 9 <body> 10<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/uds/Overview.html">uds</a>::<a href="../../../nn/uds/CTR/Overview.html">CTR</a>::ReceiveFrom</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14<a href="../../../nn/Result/Overview.html">nn::Result</a> ReceiveFrom( 15 const <a href="../../../nn/uds/CTR/EndpointDescriptor/Overview.html">EndpointDescriptor</a> & endpointDesc, 16 void * pBuffer, 17 size_t * pReceivedSize, 18 <a href="../../../nn_types/u16.html">u16</a> * pSrcNodeId, 19 size_t bufferSize, 20 <a href="../../../nn_types/bit8.html">bit8</a> option = 0x00 21); 22</pre> 23 </div> 24<h2>Arguments</h2> 25 <div class="section"> 26 <table class="arguments"> 27 <thead> 28 <tr> 29 <td width="15" /> 30<th>Name</th> 31<td>Description</td> 32 </tr> 33 </thead> 34 <tr> 35<td>in</td> 36<th>endpointDesc</th> 37<td>Descriptor indicating the endpoint to use. The port and sending source must be attached in advance using the <a href="../../../nn/uds/CTR/Attach.html"><CODE>Attach</CODE></a> function.</td> 38 </tr> 39 <tr> 40<td>out</td> 41<th>pBuffer</th> 42<td>Received data storage location. Specify a buffer aligned to 4 bytes.</td> 43 </tr> 44 <tr> 45<td>out</td> 46<th>pReceivedSize</th> 47<td>Size of the received data. The UDS maximum received data size is <a href="../../../nn/uds/CTR/UDS_PACKET_PAYLOAD_MAX_SIZE.html"><CODE>UDS_PACKET_PAYLOAD_MAX_SIZE</CODE></a> bytes.</td> 48 </tr> 49 <tr> 50<td>out</td> 51<th>pSrcNodeId</th> 52<td>Sending source node ID.</td> 53 </tr> 54 <tr> 55<td>in</td> 56<th>bufferSize</th> 57<td>Size of the receive buffer (<SPAN class="argument">pBuffer</SPAN>). The size of the receive buffer must be a multiple of 4.</td> 58 </tr> 59 <tr> 60<td>in</td> 61<th>option</th> 62<td>Receive options.</td> 63 </tr> </table> 64 </div> 65<h2>Return Values</h2> 66<div class="section">Returns the function's execution result. Returns one of the <a href="../../../nn/Result/Overview.html"><CODE>Result</CODE></a> values listed below. <br /> 67 <table class="arguments"> 68 <thead> 69 <tr> 70<th>Value</th> 71<td>Description</td> 72 </tr> 73 </thead> 74 <tr> 75<th><CODE>Result::IsSuccess</CODE></th> 76<td>Process was successful.</td> 77 </tr> 78 <tr> 79<th><CODE>ResultNotInitialized</CODE></th> 80<td>When the library is not initialized, returns that the specified endpoint does not exist.</td> 81 </tr> 82 <tr> 83<th><CODE>ResultInvalidState</CODE></th> 84<td>Not in an executable state. Returns that it was executed in a state where it was not connected to the network.</td> 85 </tr> 86 <tr> 87<th><CODE>ResultNotAuthorized</CODE></th> 88<td>Returns that an endpoint that was not attached was specified.</td> 89 </tr> 90 <tr> 91<th><CODE>ResultTooLarge</CODE></th> 92<td>Returns that the <CODE>bufferSize</CODE> was smaller than the received data. The desired size is <CODE>UDS_PACKET_PAYLOAD_MAX_SIZE</CODE>.</td> 93 </tr> 94 <tr> 95<th><CODE>ResultOutOfRange</CODE></th> 96<td>The specified argument value was not in the valid range for the argument. It is possible it will succeed if you re-execute with an appropriate value for the argument.</td> 97 </tr> 98 <tr> 99<th><CODE>ResultWirelessOff</CODE></th> 100<td>Entered wireless-disabled mode. Re-initialization is required.</td> 101 </tr> 102 <tr> 103<th><CODE>ResultMisalignedSize</CODE></th> 104<td><SPAN class="argument">bufferSize</SPAN> is not appropriate. It is possible it will succeed if you re-execute with an appropriate value for the argument.</td> 105 </tr> 106 <tr> 107<th><CODE>ResultMisalignedAddress</CODE></th> 108<td><SPAN class="argument">pBuffer</SPAN> is not appropriate. It is possible it will succeed if you re-execute with an appropriate value for the argument.</td> 109 </tr> 110 <tr> 111<th>A value other than the above</th> 112<td>Failed for reasons other than those given above.</td> 113 </tr> 114 </table> </div> 115<h2>Description</h2> 116 <div class="section"> 117<p>Receives data.</p><p>Receives packets sent to an endpoint for which the <CODE><A>Attach</A></CODE> function was executed. When there are no packets to be received, the function is blocked. (Excluding times when errors occur) when <CODE><A>NO_WAIT</A></CODE> is specified as an option, it is complete, even when no packets have been received. This function is thread-safe.</p><!-- write here --></div> 118<h2>Revision History</h2> 119 <div class="section"> 120 <dl class="history"> 121 <dt>2011/09/07</dt> 122<dd>Standardized notation for wireless-disabled mode.<br /> 123 </dd> 124 <dt>2011/03/08</dt> 125<dd>Added a link to <CODE>UDS_PACKET_PAYLOAD_MAX_SIZE</CODE> in <B>Return Values</B>.<br /> 126 </dd> 127 <dt>2010/10/15</dt> 128<dd>Expanded the information on the return values. Revised the Description to make it easier to understand.<br /> 129 </dd> 130 <dt>2010/09/24</dt> 131<dd>Noted that the buffer specified for <SPAN class="argument">pBuffer</SPAN> must be 4-byte aligned. 132 </dd> 133 <dt>2010/06/14</dt> 134<dd>Initial version.<br /> 135 </dd> 136 </dl> 137 </div> 138 <hr><p>CONFIDENTIAL</p></body> 139</html>