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>Socket</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../nn/Overview.html">nn</a>::<a href="../../nn/socket/Overview.html">socket</a>::Socket</CODE> Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14s32 Socket(
15     s32 af,
16     s32 type,
17     s32 protocol
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>af</th>
34<td> Specify <CODE>PF_INET</CODE>.</td>
35        </tr>
36        <tr>
37<td>in</td>
38<th>type</th>
39<td>Specifies the type of socket to create. Currently, <CODE>SOCK_STREAM</CODE> and <CODE>SOCK_DGRAM</CODE> are supported.</td>
40        </tr>
41        <tr>
42<td>in</td>
43<th>protocol</th>
44<td>Specifies the protocol to use with the socket. If <SPAN class="argument">protocol</SPAN> is <CODE>0</CODE>, the default protocol for the specified protocol family and type is used. Currently, <CODE>0</CODE> is the only value you can specify.</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>1 or higher</th>
59<td>The new socket descriptor.</td>
60        </tr>
61        <tr>
62<th><CODE>EAFNOSUPPORT</CODE></th>
63<td>The protocol family is not supported.</td>
64        </tr>
65        <tr>
66<th><CODE>EINVAL</CODE></th>
67<td>Invalid call.</td>
68        </tr>
69        <tr>
70<th><CODE>EMFILE</CODE></th>
71<td>The maximum supported number of sockets has been exceeded.</td>
72        </tr>
73        <tr>
74<th><CODE>ENETDOWN</CODE></th>
75<td>The network is not available.</td>
76        </tr>
77        <tr>
78<th><CODE>ENETRESET</CODE></th>
79<td>Socket library is not initialized.</td>
80        </tr>
81        <tr>
82<th><CODE>ENOMEM</CODE></th>
83<td>Cannot allocate the memory required for the process.</td>
84        </tr>
85        <tr>
86<th><CODE>EPROTOTYPE</CODE></th>
87<td>The socket type is not supported.</td>
88        </tr>
89        <tr>
90<th><CODE>EOPNOTSUPP</CODE></th>
91<td>The socket is not a stream socket.</td>
92        </tr>
93        <tr>
94<th><CODE>EWOULDBLOCK</CODE></th>
95<td>Same as <CODE>EAGAIN</CODE>.</td>
96        </tr>
97      </table> </div>
98<h2>Description</h2>
99    <div class="section">
100<p>Creates new socket descriptors.</p><p>The current version allows you to create at least eight sockets at the same time.</p><!-- write here --></div>
101<h2>See Also</h2>
102    <div class="section">
103<p class="reference"><a href="../../nn/socket/Close.html"><CODE>Close</CODE></a><br /> </p>
104    </div>
105<h2>Revision History</h2>
106    <div class="section">
107      <dl class="history">
108        <dt>2010/06/14</dt>
109<dd>Initial version.<br />
110        </dd>
111      </dl>
112    </div>
113  <hr><p>CONFIDENTIAL</p></body>
114</html>
115