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 a 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 /><itemizedlist><listitem><para> <CODE>F_GETFL</CODE>: <itemizedlist><listitem><para>Read the status flags.<br /></para></listitem></itemizedlist></para></listitem><listitem><para> <CODE>F_SETFL</CODE>: Change the status flags. <br /></para></listitem></itemizedlist></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. This is either <CODE>0</CODE> or a bitwise OR of the following values.<br /><itemizedlist><listitem><para><CODE>O_NONBLOCK</CODE>: Sets the socket to non-blocking mode. If this flag is not specified, the socket enters blocking mode. Note that sockets are set to blocking mode by default at time of creation.</para></listitem></itemizedlist></td>
45        </tr> </table>
46    </div>
47<h2>Return Values</h2>
48<div class="section">Returns <CODE>0</CODE> if successful. </div>
49<h2>Description</h2>
50    <div class="section">
51<p>Sets or gets socket status flags.</p><!-- write here --></div>
52<h2>See Also</h2>
53    <div class="section">
54<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>
55    </div>
56<h2>Revision History</h2>
57    <div class="section">
58      <dl class="history">
59        <dt>2010/06/14</dt>
60<dd>Initial version.<br />
61        </dd>
62      </dl>
63    </div>
64  <hr><p>CONFIDENTIAL</p></body>
65</html>