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>nn::socket::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 the socket descriptor. Specify 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>ENETRESET</CODE></th> 63<td>Socket library is not initialized.</td> 64 </tr> 65 <tr> 66<th><CODE>EBADF</CODE></th> 67<td>Invalid socket descriptor.</td> 68 </tr> 69 </table> </div> 70<h2>Description</h2> 71 <div class="section"> 72<p>Sets or gets socket status flags.</p><!-- write here --></div> 73<h2>See Also</h2> 74 <div class="section"> 75<p class="reference"><a href="../../nn/socket/Accept.html"><CODE>Accept</CODE></a>, <a href="../../nn/socket/Connect.html"><CODE>Connect</CODE></a>, <a href="../../nn/socket/Recv.html"><CODE>Recv</CODE></a>, <a href="../../nn/socket/Send.html"><CODE>Send</CODE></a><br /> </p> 76 </div> 77<h2>Revision History</h2> 78 <div class="section"> 79 <dl class="history"> 80 <dt>2010/06/14</dt> 81<dd>Initial version.<br /> 82 </dd> 83 </dl> 84 </div> 85 <hr><p>CONFIDENTIAL</p></body> 86</html>