add directory study

This commit is contained in:
gohigh
2024-02-19 00:25:23 -05:00
parent b1306b38b1
commit f3774e2f8c
4001 changed files with 2285787 additions and 0 deletions

View File

@@ -0,0 +1,374 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
<title>&lt;netinet/in.h&gt;</title>
</head>
<body bgcolor="white">
<script type="text/javascript" language="JavaScript" src="../../jscript/dotcode.js">
</script>
<basefont size="3"> <a name="&lt;netinet/in.h&gt;"></a> <a name="tag_13_32"></a><!-- &lt;netinet/in.h&gt; -->
<!--header start-->
<center><font size="2">The Open Group Base Specifications Issue 6<br>
IEEE Std 1003.1-2001<br>
Copyright &copy; 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
<!--header end-->
<hr size="2" noshade>
<h4><a name="tag_13_32_01"></a>NAME</h4>
<blockquote>netinet/in.h - Internet address family</blockquote>
<h4><a name="tag_13_32_02"></a>SYNOPSIS</h4>
<blockquote class="synopsis">
<p><tt>#include &lt;netinet/in.h&gt;</tt></p>
</blockquote>
<h4><a name="tag_13_32_03"></a>DESCRIPTION</h4>
<blockquote>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the following types:</p>
<dl compact>
<dt><b>in_port_t</b></dt>
<dd>Equivalent to the type <b>uint16_t</b> as defined in <a href="../inttypes.h.html#tag_13_20"><i>&lt;inttypes.h&gt;</i></a>
.</dd>
<dt><b>in_addr_t</b></dt>
<dd>Equivalent to the type <b>uint32_t</b> as defined in <a href="../inttypes.h.html#tag_13_20"><i>&lt;inttypes.h&gt;</i></a>
.</dd>
</dl>
<p>The <b>sa_family_t</b> type shall be defined as described in <a href=
"../sys/socket.h.html#tag_13_61"><i>&lt;sys/socket.h&gt;</i></a> .</p>
<p>The <b>uint8_t</b> and <b>uint32_t</b> type shall be defined as described in <a href=
"../../basedefs/inttypes.h.html"><i>&lt;inttypes.h&gt;</i></a>. Inclusion of the <i>&lt;netinet/in.h&gt;</i> header may also make
visible all symbols from <a href="../../basedefs/inttypes.h.html"><i>&lt;inttypes.h&gt;</i></a> and <a href=
"../../basedefs/sys/socket.h.html"><i>&lt;sys/socket.h&gt;</i></a>.</p>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the <b>in_addr</b> structure that includes at least the following
member:</p>
<pre>
<tt>in_addr_t s_addr
</tt>
</pre>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the <b>sockaddr_in</b> structure that includes at least the following
members (all in network byte order):</p>
<pre>
<tt>sa_family_t sin_family </tt> AF_INET. <tt>
in_port_t sin_port </tt> Port number. <tt>
struct in_addr sin_addr </tt> IP address. <tt>
</tt>
</pre>
<p>The <b>sockaddr_in</b> structure is used to store addresses for the Internet address family. Values of this type shall be cast
by applications to <b>struct sockaddr</b> for use with socket functions.</p>
<p><sup>[<a href="javascript:open_code('IP6')">IP6</a>]</sup> <img src="../../images/opt-start.gif" alt="[Option Start]" border=
"0"> The <i>&lt;netinet/in.h&gt;</i> header shall define the <b>in6_addr</b> structure that contains at least the following
member:</p>
<pre>
<tt>uint8_t s6_addr[16]
</tt>
</pre>
<p>This array is used to contain a 128-bit IPv6 address, stored in network byte order.</p>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the <b>sockaddr_in6</b> structure that includes at least the following
members (all in network byte order):</p>
<pre>
<tt>sa_family_t sin6_family </tt> AF_INET6. <tt>
in_port_t sin6_port </tt> Port number. <tt>
uint32_t sin6_flowinfo </tt> IPv6 traffic class and flow information. <tt>
struct in6_addr sin6_addr </tt> IPv6 address. <tt>
uint32_t sin6_scope_id </tt> Set of interfaces for a scope. <tt>
</tt>
</pre>
<p>The <b>sockaddr_in6</b> structure shall be set to zero by an application prior to using it, since implementations are free to
have additional, implementation-defined fields in <b>sockaddr_in6</b>.</p>
<p>The <i>sin6_scope_id</i> field is a 32-bit integer that identifies a set of interfaces as appropriate for the scope of the
address carried in the <i>sin6_addr</i> field. For a link scope <i>sin6_addr</i>, the application shall ensure that
<i>sin6_scope_id</i> is a link index. For a site scope <i>sin6_addr</i>, the application shall ensure that <i>sin6_scope_id</i> is
a site index. The mapping of <i>sin6_scope_id</i> to an interface or set of interfaces is implementation-defined.</p>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall declare the following external variable:</p>
<pre>
<tt>struct in6_addr in6addr_any
</tt>
</pre>
<p>This variable is initialized by the system to contain the wildcard IPv6 address. The <i>&lt;netinet/in.h&gt;</i> header also
defines the IN6ADDR_ANY_INIT macro. This macro must be constant at compile time and can be used to initialize a variable of type
<b>struct in6_addr</b> to the IPv6 wildcard address.</p>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall declare the following external variable:</p>
<pre>
<tt>struct in6_addr in6addr_loopback
</tt>
</pre>
<p>This variable is initialized by the system to contain the loopback IPv6 address. The <i>&lt;netinet/in.h&gt;</i> header also
defines the IN6ADDR_LOOPBACK_INIT macro. This macro must be constant at compile time and can be used to initialize a variable of
type <b>struct in6_addr</b> to the IPv6 loopback address.</p>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the <b>ipv6_mreq</b> structure that includes at least the following
members:</p>
<pre>
<tt>struct in6_addr ipv6mr_multiaddr </tt> IPv6 multicast address. <tt>
unsigned ipv6mr_interface </tt> Interface index. <tt>
</tt>
</pre>
<img src="../../images/opt-end.gif" alt="[Option End]" border="0">
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the following macros for use as values of the <i>level</i> argument of <a
href="../../functions/getsockopt.html"><i>getsockopt</i>()</a> and <a href=
"../../functions/setsockopt.html"><i>setsockopt</i>()</a>:</p>
<dl compact>
<dt>IPPROTO_IP</dt>
<dd>Internet protocol.</dd>
<dt>IPPROTO_IPV6</dt>
<dd><sup>[<a href="javascript:open_code('IP6')">IP6</a>]</sup> <img src="../../images/opt-start.gif" alt="[Option Start]" border=
"0"> Internet Protocol Version 6. <img src="../../images/opt-end.gif" alt="[Option End]" border="0"></dd>
<dt>IPPROTO_ICMP</dt>
<dd>Control message protocol.</dd>
<dt>IPPROTO_RAW</dt>
<dd><sup>[<a href="javascript:open_code('RS')">RS</a>]</sup> <img src="../../images/opt-start.gif" alt="[Option Start]" border="0">
Raw IP Packets Protocol. <img src="../../images/opt-end.gif" alt="[Option End]" border="0"></dd>
<dt>IPPROTO_TCP</dt>
<dd>Transmission control protocol.</dd>
<dt>IPPROTO_UDP</dt>
<dd>User datagram protocol.</dd>
</dl>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the following macros for use as destination addresses for <a href=
"../../functions/connect.html"><i>connect</i>()</a>, <a href="../../functions/sendmsg.html"><i>sendmsg</i>()</a>, and <a href=
"../../functions/sendto.html"><i>sendto</i>()</a>:</p>
<dl compact>
<dt>INADDR_ANY</dt>
<dd>IPv4 local host address.</dd>
<dt>INADDR_BROADCAST</dt>
<dd>IPv4 broadcast address.</dd>
</dl>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the following macro to help applications declare buffers of the proper size
to store IPv4 addresses in string form:</p>
<dl compact>
<dt>INET_ADDRSTRLEN</dt>
<dd>16. Length of the string form for IP.</dd>
</dl>
<p>The <a href="../../functions/htonl.html"><i>htonl</i>()</a>, <a href="../../functions/htons.html"><i>htons</i>()</a>, <a href=
"../../functions/ntohl.html"><i>ntohl</i>()</a>, and <a href="../../functions/ntohs.html"><i>ntohs</i>()</a> functions shall be
available as defined in <a href="../arpa/inet.h.html#tag_13_03"><i>&lt;arpa/inet.h&gt;</i></a> . Inclusion of the
<i>&lt;netinet/in.h&gt;</i> header may also make visible all symbols from <a href=
"../arpa/inet.h.html#tag_13_03"><i>&lt;arpa/inet.h&gt;</i></a> .</p>
<p><sup>[<a href="javascript:open_code('IP6')">IP6</a>]</sup> <img src="../../images/opt-start.gif" alt="[Option Start]" border=
"0"> The <i>&lt;netinet/in.h&gt;</i> header shall define the following macro to help applications declare buffers of the proper
size to store IPv6 addresses in string form:</p>
<dl compact>
<dt>INET6_ADDRSTRLEN</dt>
<dd>46. Length of the string form for IPv6.</dd>
</dl>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the following macros, with distinct integer values, for use in the
<i>option_name</i> argument in the <a href="../../functions/getsockopt.html"><i>getsockopt</i>()</a> or <a href=
"../../functions/setsockopt.html"><i>setsockopt</i>()</a> functions at protocol level IPPROTO_IPV6:</p>
<dl compact>
<dt>IPV6_JOIN_GROUP</dt>
<dd>Join a multicast group.</dd>
<dt>IPV6_LEAVE_GROUP</dt>
<dd>Quit a multicast group.</dd>
<dt>IPV6_MULTICAST_HOPS</dt>
<dd><br>
Multicast hop limit.</dd>
<dt>IPV6_MULTICAST_IF</dt>
<dd>Interface to use for outgoing multicast packets.</dd>
<dt>IPV6_MULTICAST_LOOP</dt>
<dd><br>
Multicast packets are delivered back to the local application.</dd>
<dt>IPV6_UNICAST_HOPS</dt>
<dd>Unicast hop limit.</dd>
<dt>IPV6_V6ONLY</dt>
<dd>Restrict AF_INET6 socket to IPv6 communications only.</dd>
</dl>
<p>The <i>&lt;netinet/in.h&gt;</i> header shall define the following macros that test for special IPv6 addresses. Each macro is of
type <b>int</b> and takes a single argument of type <b>const struct in6_addr *</b>:</p>
<dl compact>
<dt>IN6_IS_ADDR_UNSPECIFIED</dt>
<dd><br>
Unspecified address.</dd>
<dt>IN6_IS_ADDR_LOOPBACK</dt>
<dd><br>
Loopback address.</dd>
<dt>IN6_IS_ADDR_MULTICAST</dt>
<dd><br>
Multicast address.</dd>
<dt>IN6_IS_ADDR_LINKLOCAL</dt>
<dd><br>
Unicast link-local address.</dd>
<dt>IN6_IS_ADDR_SITELOCAL</dt>
<dd><br>
Unicast site-local address.</dd>
<dt>IN6_IS_ADDR_V4MAPPED</dt>
<dd><br>
IPv4 mapped address.</dd>
<dt>IN6_IS_ADDR_V4COMPAT</dt>
<dd><br>
IPv4-compatible address.</dd>
<dt>IN6_IS_ADDR_MC_NODELOCAL</dt>
<dd><br>
Multicast node-local address.</dd>
<dt>IN6_IS_ADDR_MC_LINKLOCAL</dt>
<dd><br>
Multicast link-local address.</dd>
<dt>IN6_IS_ADDR_MC_SITELOCAL</dt>
<dd><br>
Multicast site-local address.</dd>
<dt>IN6_IS_ADDR_MC_ORGLOCAL</dt>
<dd><br>
Multicast organization-local address.</dd>
<dt>IN6_IS_ADDR_MC_GLOBAL</dt>
<dd><br>
Multicast global address. <img src="../../images/opt-end.gif" alt="[Option End]" border="0"></dd>
</dl>
</blockquote>
<hr>
<div class="box"><em>The following sections are informative.</em></div>
<h4><a name="tag_13_32_04"></a>APPLICATION USAGE</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_13_32_05"></a>RATIONALE</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_13_32_06"></a>FUTURE DIRECTIONS</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_13_32_07"></a>SEE ALSO</h4>
<blockquote>
<p><a href="../xbd_chap04.html#tag_04_08"><i>Host and Network Byte Orders</i></a> , <a href=
"../arpa/inet.h.html#tag_13_03"><i>&lt;arpa/inet.h&gt;</i></a> , <a href=
"../inttypes.h.html#tag_13_20"><i>&lt;inttypes.h&gt;</i></a> , <a href=
"../sys/socket.h.html#tag_13_61"><i>&lt;sys/socket.h&gt;</i></a> , the System Interfaces volume of IEEE&nbsp;Std&nbsp;1003.1-2001,
<a href="../../functions/connect.html"><i>connect</i>()</a>, <a href="../../functions/getsockopt.html"><i>getsockopt</i>()</a>, <a
href="../../functions/htonl.html"><i>htonl</i>()</a>, <a href="../../functions/htons.html"><i>htons</i>()</a>, <a href=
"../../functions/ntohl.html"><i>ntohl</i>()</a>, <a href="../../functions/ntohs.html"><i>ntohs</i>()</a>, <a href=
"../../functions/sendmsg.html"><i>sendmsg</i>()</a>, <a href="../../functions/sendto.html"><i>sendto</i>()</a>, <a href=
"../../functions/setsockopt.html"><i>setsockopt</i>()</a></p>
</blockquote>
<h4><a name="tag_13_32_08"></a>CHANGE HISTORY</h4>
<blockquote>
<p>First released in Issue 6. Derived from the XNS, Issue 5.2 specification.</p>
<p>The <i>sin_zero</i> member was removed from the <b>sockaddr_in</b> structure as per The Open Group Base Resolution
bwg2001-004.</p>
</blockquote>
<div class="box"><em>End of informative text.</em></div>
<hr>
<hr size="2" noshade>
<center><font size="2"><!--footer start-->
UNIX &reg; is a registered Trademark of The Open Group.<br>
POSIX &reg; is a registered Trademark of The IEEE.<br>
[ <a href="../../mindex.html">Main Index</a> | <a href="../../basedefs/contents.html">XBD</a> | <a href=
"../../utilities/contents.html">XCU</a> | <a href="../../functions/contents.html">XSH</a> | <a href=
"../../xrat/contents.html">XRAT</a> ]</font></center>
<!--footer end-->
<hr size="2" noshade>
</body>
</html>

View File

@@ -0,0 +1,119 @@
A:link { COLOR: #0000FF; }
A:visited { COLOR: #6666FF; }
A:active { COLOR: #6666FF; }
A:hover {
COLOR: #FF0000;
TEXT-DECORATION: underline;
}
H1{
FONT-FAMILY: Arial, Helvetica, sans-serif;
COLOR: #006600;
BACKGROUND-COLOR: white;
FONT-SIZE: 20pt;
}
H2{
FONT-FAMILY: Arial, Helvetica, sans-serif;
COLOR: #006600;
BACKGROUND-COLOR: white;
FONT-SIZE: 15pt;
}
H3{
FONT-FAMILY: Arial, Helvetica, sans-serif;
COLOR: #006600;
BACKGROUND-COLOR: white;
FONT-SIZE: 14pt;
}
H4{
FONT-FAMILY: Arial, Helvetica, sans-serif;
COLOR: #006600;
BACKGROUND-COLOR: white;
FONT-Style: italic;
FONT-SIZE: 12pt;
}
H5{
FONT-FAMILY: Arial, Helvetica, sans-serif;
COLOR: #006600;
BACKGROUND-COLOR: white;
FONT-SIZE: 11pt;
}
H6{
FONT-FAMILY: Arial, Helvetica, sans-serif;
COLOR: #006666;
BACKGROUND-COLOR: white;
FONT-SIZE: 10pt;
font-weight : bold;
}
BODY
{
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 10pt;
MARGIN-LEFT: 3pt;
MARGIN-TOP: 2pt;
COLOR: #000000;
BACKGROUND-COLOR: white;
}
BLOCKQUOTE.synopsis
{
FONT-SIZE: 11pt;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
}
/*em { font-style: italic; font-weight: normal; font-size:10pt; }*/
BLOCKQUOTE.body
{
FONT-SIZE: 10pt;
MARGIN-BOTTOM: 0pt;
MARGIN-LEFT: 0pt;
MARGIN-TOP: 0pt;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
TEXT-INDENT: 10px;
}
TABLE {
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 10pt;
MARGIN-LEFT: 0pt;
MARGIN-TOP: 0pt;
COLOR: #000000;
BACKGROUND-COLOR: white;
}
P.tent {
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 10pt;
}
UL
{
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 10pt;
COLOR: #000000;
}
LI
{
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 10pt;
COLOR: #000000;
/* TEXT-INDENT: -10px; */
}
HR
{
COLOR: #009900;
}
div.box { border: none; border-width: thin;
background: rgb(204,204,255);
font-size: 11pt;
}
pre {FONT-SIZE: 11pt; }
pre { font-family: monospace; }

View File

@@ -0,0 +1,99 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group's rhtm tool v1.2.1 -->
<!-- Copyright (c) 2001 The Open Group, All Rights Reserved -->
<title>&lt;netinet/tcp.h&gt;</title>
</head>
<body bgcolor="white">
<script type="text/javascript" language="JavaScript" src="../../jscript/dotcode.js">
</script>
<basefont size="3"> <a name="&lt;netinet/tcp.h&gt;"></a> <a name="tag_13_33"></a><!-- &lt;netinet/tcp.h&gt; -->
<!--header start-->
<center><font size="2">The Open Group Base Specifications Issue 6<br>
IEEE Std 1003.1-2001<br>
Copyright &copy; 2001 The IEEE and The Open Group, All Rights reserved.</font></center>
<!--header end-->
<hr size="2" noshade>
<h4><a name="tag_13_33_01"></a>NAME</h4>
<blockquote>netinet/tcp.h - definitions for the Internet Transmission Control Protocol (TCP)</blockquote>
<h4><a name="tag_13_33_02"></a>SYNOPSIS</h4>
<blockquote class="synopsis">
<p><tt>#include &lt;netinet/tcp.h&gt;</tt></p>
</blockquote>
<h4><a name="tag_13_33_03"></a>DESCRIPTION</h4>
<blockquote>
<p>The <i>&lt;netinet/tcp.h&gt;</i> header shall define the following macro for use as a socket option at the IPPROTO_TCP
level:</p>
<dl compact>
<dt>TCP_NODELAY</dt>
<dd>Avoid coalescing of small segments.</dd>
</dl>
<p>The macro shall be defined in the header. The implementation need not allow the value of the option to be set via <a href=
"../../functions/setsockopt.html"><i>setsockopt</i>()</a> or retrieved via <a href=
"../../functions/getsockopt.html"><i>getsockopt</i>()</a>.</p>
</blockquote>
<hr>
<div class="box"><em>The following sections are informative.</em></div>
<h4><a name="tag_13_33_04"></a>APPLICATION USAGE</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_13_33_05"></a>RATIONALE</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_13_33_06"></a>FUTURE DIRECTIONS</h4>
<blockquote>
<p>None.</p>
</blockquote>
<h4><a name="tag_13_33_07"></a>SEE ALSO</h4>
<blockquote>
<p><a href="../sys/socket.h.html#tag_13_61"><i>&lt;sys/socket.h&gt;</i></a> , the System Interfaces volume of
IEEE&nbsp;Std&nbsp;1003.1-2001, <a href="../../functions/getsockopt.html"><i>getsockopt</i>()</a>, <a href=
"../../functions/setsockopt.html"><i>setsockopt</i>()</a></p>
</blockquote>
<h4><a name="tag_13_33_08"></a>CHANGE HISTORY</h4>
<blockquote>
<p>First released in Issue 6. Derived from the XNS, Issue 5.2 specification.</p>
</blockquote>
<div class="box"><em>End of informative text.</em></div>
<hr>
<hr size="2" noshade>
<center><font size="2"><!--footer start-->
UNIX &reg; is a registered Trademark of The Open Group.<br>
POSIX &reg; is a registered Trademark of The IEEE.<br>
[ <a href="../../mindex.html">Main Index</a> | <a href="../../basedefs/contents.html">XBD</a> | <a href=
"../../utilities/contents.html">XCU</a> | <a href="../../functions/contents.html">XSH</a> | <a href=
"../../xrat/contents.html">XRAT</a> ]</font></center>
<!--footer end-->
<hr size="2" noshade>
</body>
</html>