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>Fcntl</title> 8 </head> 9 <body> 10<h1><CODE><a href="../../nn/Overview.html">nn</a>::<a href="../../nn/socket/Overview.html">socket</a>::Fcntl</CODE> Function</h1> 11<h2>Syntax</h2> 12 <div class="section"> 13 <pre class="definition"> 14s32 Fcntl( 15 s32 s, 16 s32 cmd, 17 s32 val 18); 19</pre> 20 </div> 21<h2>Arguments</h2> 22 <div class="section"> 23 <table class="arguments"> 24 <thead> 25 <tr> 26 <td width="15" /> 27<th>Name</th> 28<td>Description</td> 29 </tr> 30 </thead> 31 <tr> 32<td>in</td> 33<th>s</th> 34<td>Specifies a socket descriptor. Specifies a socket descriptor created using the <a href="../../nn/socket/Socket.html"><CODE>Socket</CODE></a> or <a href="../../nn/socket/Accept.html"><CODE>Accept</CODE></a> function.</td> 35 </tr> 36 <tr> 37<td>in</td> 38<th>cmd</th> 39<td>Specifies what to do with the status flags.<br /> <CODE>F_GETFL</CODE>: Read the status flags.<br /> <CODE>F_SETFL</CODE>: Change the status flags.</td> 40 </tr> 41 <tr> 42<td>in</td> 43<th>val</th> 44<td>Specifies additional arguments required for certain actions. If <SPAN class="argument">cmd</SPAN> is <CODE>F_GETFL</CODE>, there are no additional arguments required and this argument is ignored. If <SPAN class="argument">cmd</SPAN> is <CODE>F_SETFL</CODE>, this specifies the status flags to set. Specify <CODE>0</CODE> or a bitwise OR of the following values.<br /><CODE>O_NONBLOCK</CODE>: Sets the socket to non-blocking mode. If this flag is not specified, the socket will be in blocking mode. Note that a socket is set in blocking mode by default at time of creation.</td> 45 </tr> </table> 46 </div> 47<h2>Return Values</h2> 48 <div class="section"> 49 <br /> <br /> 50 <table class="arguments"> 51 <thead> 52 <tr> 53<th>Value</th> 54<td>Description</td> 55 </tr> 56 </thead> 57 <tr> 58 <th>0</th> 59<td>Process was successful.</td> 60 </tr> 61 <tr> 62<th><CODE>EBADF</CODE></th> 63<td>The socket descriptor is invalid.</td> 64 </tr> 65 <tr> 66<th><CODE>EINVAL</CODE></th> 67<td>Indicates an illegal call of one of the following. The control method specified by <SPAN class="argument">cmd</SPAN> is invalid.</td> 68 </tr> 69 <tr> 70<th><CODE>ENETDOWN</CODE></th> 71<td>The network is not available.</td> 72 </tr> 73 <tr> 74<th><CODE>ENETRESET</CODE></th> 75<td>Socket library is not initialized.</td> 76 </tr> 77 <tr> 78<th><CODE>ENOMEM</CODE></th> 79<td>Cannot allocate the memory required for the process.</td> 80 </tr> 81 </table> </div> 82<h2>Description</h2> 83 <div class="section"> 84<p>Sets or gets socket status flags.</p><!-- write here --></div> 85<h2>See Also</h2> 86 <div class="section"> 87<p class="reference"><a href="../../nn/socket/Accept.html"><CODE>Accept</CODE></a><BR> <a href="../../nn/socket/Connect.html"><CODE>Connect</CODE></a><BR> <a href="../../nn/socket/Recv.html"><CODE>Recv</CODE></a><BR> <a href="../../nn/socket/Send.html"><CODE>Send</CODE></a><br /> </p> 88 </div> 89<h2>Revision History</h2> 90 <div class="section"> 91 <dl class="history"> 92 <dt>2010/06/14</dt> 93<dd>Initial version.<br /> 94 </dd> 95 </dl> 96 </div> 97 <hr><p>CONFIDENTIAL</p></body> 98</html> 99