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>Close</title>
8  </head>
9  <body>
10<h1><CODE>nn::socket::Close</CODE> Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14s32 Close(
15     s32 s
16);
17</pre>
18    </div>
19<h2>Arguments</h2>
20    <div class="section">
21      <table class="arguments">
22        <thead>
23          <tr>
24            <td width="15" />
25<th>Name</th>
26<td>Description</td>
27          </tr>
28        </thead>
29        <tr>
30<td>in</td>
31<th>s</th>
32<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>
33        </tr> </table>
34    </div>
35<h2>Return Values</h2>
36    <div class="section">
37      <br /> <br />
38      <table class="arguments">
39        <thead>
40          <tr>
41<th>Value</th>
42<td>Description</td>
43          </tr>
44        </thead>
45        <tr>
46          <th>0</th>
47<td>Process was successful.</td>
48        </tr>
49        <tr>
50<th><CODE>ENETRESET</CODE></th>
51<td>Socket library is not initialized.</td>
52        </tr>
53        <tr>
54<th><CODE>EBADF</CODE></th>
55<td>Invalid socket descriptor.</td>
56        </tr>
57        <tr>
58<th><CODE>ENOTCONN</CODE></th>
59<td>Not connected.</td>
60        </tr>
61        <tr>
62<th><CODE>EINVAL</CODE></th>
63<td>Invalid processing.</td>
64        </tr>
65      </table> </div>
66<h2>Description</h2>
67    <div class="section">
68<p>Closes a socket. Closed sockets can no longer be used.</p><p>If there are currently any blocked function calls that used the socket that this function closes, the blocks are released and those functions return their various predefined errors. If you close a stream socket (<CODE>SOCK_STREAM</CODE>) that has not been set to non-blocking mode by the <a href="../../nn/socket/Fcntl.html"><CODE>Fcntl</CODE></a> function, the connection is closed according to the configured <a href="../../nn/socket/Linger/Overview.html"><CODE>Linger</CODE></a> options. The default behavior is for <CODE>Close</CODE> to return immediately without blocking. Then, after any data remaining to be sent is automatically transferred in the background, the resources used by the socket are released.</p><!-- write here --></div>
69<h2>See Also</h2>
70    <div class="section">
71<p class="reference"><a href="../../nn/socket/Socket.html"><CODE>Socket</CODE></a>, <a href="../../nn/socket/Fcntl.html"><CODE>Fcntl</CODE></a>, <a href="../../nn/socket/Shutdown.html"><CODE>Shutdown</CODE></a><br /> </p>
72    </div>
73<h2>Revision History</h2>
74    <div class="section">
75      <dl class="history">
76        <dt>2010/06/14</dt>
77<dd>Initial version.<br />
78        </dd>
79      </dl>
80    </div>
81  <hr><p>CONFIDENTIAL</p></body>
82</html>