blob: e0de07de5e67032764f9f3e146b8cb400927dc22 [file] [log] [blame] [view]
<link rel="stylesheet" href="../style.css" />
[TOC]
# fuchsia.posix.socket
<div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 11</span></div>
## **PROTOCOLS**
## BaseDatagramSocket {#BaseDatagramSocket}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=578)*
<p>Base protocol shared by all datagram sockets.</p>
<p>Complete implementations of a datagram socket should compose this protocol.</p>
### AddIpMembership {#BaseDatagramSocket.AddIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_ADD_MEMBERSHIP</code></p>
#### Request {#BaseDatagramSocket.AddIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.AddIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpMembership_Result'>BaseNetworkSocket_AddIpMembership_Result</a></code>
</td>
</tr>
</table>
### AddIpv6Membership {#BaseDatagramSocket.AddIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_ADD_MEMBERSHIP</code>.</p>
#### Request {#BaseDatagramSocket.AddIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.AddIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpv6Membership_Result'>BaseNetworkSocket_AddIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### Bind {#BaseDatagramSocket.Bind}
<p>Sets the local address used for the socket.</p>
#### Request {#BaseDatagramSocket.Bind_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.Bind_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Bind_Result'>BaseNetworkSocket_Bind_Result</a></code>
</td>
</tr>
</table>
### Clone2 {#BaseDatagramSocket.Clone2}
#### Request {#BaseDatagramSocket.Clone2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>request</code></td>
<td>
<code>server_end&lt;<a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Cloneable'>Cloneable</a>&gt;</code>
</td>
</tr>
</table>
### Close {#BaseDatagramSocket.Close}
<p>Terminates the connection.</p>
<p>After calling <code>Close</code>, the client must not send any other requests.</p>
<p>Servers, after sending the status response, should close the connection
regardless of status and without sending an epitaph.</p>
<p>Closing the client end of the channel should be semantically equivalent
to calling <code>Close</code> without knowing when the close has completed or its
status.</p>
#### Request {#BaseDatagramSocket.Close_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.Close_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Closeable_Close_Result'>Closeable_Close_Result</a></code>
</td>
</tr>
</table>
### Connect {#BaseDatagramSocket.Connect}
<p>Initiates a connection to a remote address.</p>
#### Request {#BaseDatagramSocket.Connect_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.Connect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Connect_Result'>BaseNetworkSocket_Connect_Result</a></code>
</td>
</tr>
</table>
### Disconnect {#BaseDatagramSocket.Disconnect}
<p>Clears connection information from this socket.</p>
#### Request {#BaseDatagramSocket.Disconnect_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.Disconnect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Disconnect_Result'>BaseNetworkSocket_Disconnect_Result</a></code>
</td>
</tr>
</table>
### DropIpMembership {#BaseDatagramSocket.DropIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_DROP_MEMBERSHIP</code></p>
#### Request {#BaseDatagramSocket.DropIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.DropIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpMembership_Result'>BaseNetworkSocket_DropIpMembership_Result</a></code>
</td>
</tr>
</table>
### DropIpv6Membership {#BaseDatagramSocket.DropIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_DROP_MEMBERSHIP</code>.</p>
#### Request {#BaseDatagramSocket.DropIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.DropIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpv6Membership_Result'>BaseNetworkSocket_DropIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### GetAcceptConn {#BaseDatagramSocket.GetAcceptConn}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ACCEPTCONN</code>.</p>
#### Request {#BaseDatagramSocket.GetAcceptConn_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetAcceptConn_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetAcceptConn_Result'>BaseSocket_GetAcceptConn_Result</a></code>
</td>
</tr>
</table>
### GetBindToDevice {#BaseDatagramSocket.GetBindToDevice}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#BaseDatagramSocket.GetBindToDevice_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBindToDevice_Result'>BaseSocket_GetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### GetBroadcast {#BaseDatagramSocket.GetBroadcast}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#BaseDatagramSocket.GetBroadcast_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBroadcast_Result'>BaseSocket_GetBroadcast_Result</a></code>
</td>
</tr>
</table>
### GetError {#BaseDatagramSocket.GetError}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ERROR</code>.
Returns the last error if there is an error set on the socket.</p>
#### Request {#BaseDatagramSocket.GetError_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetError_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetError_Result'>BaseSocket_GetError_Result</a></code>
</td>
</tr>
</table>
### GetInfo {#BaseDatagramSocket.GetInfo}
<p>Retrieves creation information from the socket.</p>
<ul>
<li>response <code>domain</code> the socket's associated domain.</li>
<li>response <code>proto</code> the socket's associated protocol.</li>
</ul>
#### Request {#BaseDatagramSocket.GetInfo_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseDatagramSocket_GetInfo_Result'>BaseDatagramSocket_GetInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastInterface {#BaseDatagramSocket.GetIpMulticastInterface}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#BaseDatagramSocket.GetIpMulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastInterface_Result'>BaseNetworkSocket_GetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastLoopback {#BaseDatagramSocket.GetIpMulticastLoopback}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#BaseDatagramSocket.GetIpMulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastLoopback_Result'>BaseNetworkSocket_GetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastTtl {#BaseDatagramSocket.GetIpMulticastTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#BaseDatagramSocket.GetIpMulticastTtl_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastTtl_Result'>BaseNetworkSocket_GetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpPacketInfo {#BaseDatagramSocket.GetIpPacketInfo}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#BaseDatagramSocket.GetIpPacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpPacketInfo_Result'>BaseNetworkSocket_GetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTtl {#BaseDatagramSocket.GetIpReceiveTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#BaseDatagramSocket.GetIpReceiveTtl_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTtl_Result'>BaseNetworkSocket_GetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTypeOfService {#BaseDatagramSocket.GetIpReceiveTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#BaseDatagramSocket.GetIpReceiveTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTypeOfService_Result'>BaseNetworkSocket_GetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpTtl {#BaseDatagramSocket.GetIpTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#BaseDatagramSocket.GetIpTtl_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTtl_Result'>BaseNetworkSocket_GetIpTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpTypeOfService {#BaseDatagramSocket.GetIpTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#BaseDatagramSocket.GetIpTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTypeOfService_Result'>BaseNetworkSocket_GetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastHops {#BaseDatagramSocket.GetIpv6MulticastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6MulticastHops_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastHops_Result'>BaseNetworkSocket_GetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastInterface {#BaseDatagramSocket.GetIpv6MulticastInterface}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6MulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastInterface_Result'>BaseNetworkSocket_GetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastLoopback {#BaseDatagramSocket.GetIpv6MulticastLoopback}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6MulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastLoopback_Result'>BaseNetworkSocket_GetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpv6Only {#BaseDatagramSocket.GetIpv6Only}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6Only_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6Only_Result'>BaseNetworkSocket_GetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveHopLimit {#BaseDatagramSocket.GetIpv6ReceiveHopLimit}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6ReceiveHopLimit_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceivePacketInfo {#BaseDatagramSocket.GetIpv6ReceivePacketInfo}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6ReceivePacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveTrafficClass {#BaseDatagramSocket.GetIpv6ReceiveTrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6ReceiveTrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6TrafficClass {#BaseDatagramSocket.GetIpv6TrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6TrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6TrafficClass_Result'>BaseNetworkSocket_GetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6UnicastHops {#BaseDatagramSocket.GetIpv6UnicastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#BaseDatagramSocket.GetIpv6UnicastHops_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6UnicastHops_Result'>BaseNetworkSocket_GetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### GetKeepAlive {#BaseDatagramSocket.GetKeepAlive}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#BaseDatagramSocket.GetKeepAlive_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetKeepAlive_Result'>BaseSocket_GetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### GetLinger {#BaseDatagramSocket.GetLinger}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#BaseDatagramSocket.GetLinger_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetLinger_Result'>BaseSocket_GetLinger_Result</a></code>
</td>
</tr>
</table>
### GetNoCheck {#BaseDatagramSocket.GetNoCheck}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#BaseDatagramSocket.GetNoCheck_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetNoCheck_Result'>BaseSocket_GetNoCheck_Result</a></code>
</td>
</tr>
</table>
### GetOutOfBandInline {#BaseDatagramSocket.GetOutOfBandInline}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#BaseDatagramSocket.GetOutOfBandInline_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetOutOfBandInline_Result'>BaseSocket_GetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### GetPeerName {#BaseDatagramSocket.GetPeerName}
<p>Retrieves the remote socket address.</p>
#### Request {#BaseDatagramSocket.GetPeerName_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetPeerName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetPeerName_Result'>BaseNetworkSocket_GetPeerName_Result</a></code>
</td>
</tr>
</table>
### GetReceiveBuffer {#BaseDatagramSocket.GetReceiveBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#BaseDatagramSocket.GetReceiveBuffer_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReceiveBuffer_Result'>BaseSocket_GetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### GetReuseAddress {#BaseDatagramSocket.GetReuseAddress}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#BaseDatagramSocket.GetReuseAddress_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReuseAddress_Result'>BaseSocket_GetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### GetReusePort {#BaseDatagramSocket.GetReusePort}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#BaseDatagramSocket.GetReusePort_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReusePort_Result'>BaseSocket_GetReusePort_Result</a></code>
</td>
</tr>
</table>
### GetSendBuffer {#BaseDatagramSocket.GetSendBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#BaseDatagramSocket.GetSendBuffer_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetSendBuffer_Result'>BaseSocket_GetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### GetSockName {#BaseDatagramSocket.GetSockName}
<p>Retrieves the local socket address.</p>
#### Request {#BaseDatagramSocket.GetSockName_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetSockName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetSockName_Result'>BaseNetworkSocket_GetSockName_Result</a></code>
</td>
</tr>
</table>
### GetTimestamp {#BaseDatagramSocket.GetTimestamp}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#BaseDatagramSocket.GetTimestamp_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.GetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetTimestamp_Result'>BaseSocket_GetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Query {#BaseDatagramSocket.Query}
#### Request {#BaseDatagramSocket.Query_Request}
&lt;EMPTY&gt;
#### Response {#BaseDatagramSocket.Query_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>protocol</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
</tr>
</table>
### SetBindToDevice {#BaseDatagramSocket.SetBindToDevice}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#BaseDatagramSocket.SetBindToDevice_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBindToDevice_Result'>BaseSocket_SetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### SetBroadcast {#BaseDatagramSocket.SetBroadcast}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#BaseDatagramSocket.SetBroadcast_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBroadcast_Result'>BaseSocket_SetBroadcast_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastInterface {#BaseDatagramSocket.SetIpMulticastInterface}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#BaseDatagramSocket.SetIpMulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
<tr>
<td><code>address</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastInterface_Result'>BaseNetworkSocket_SetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastLoopback {#BaseDatagramSocket.SetIpMulticastLoopback}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#BaseDatagramSocket.SetIpMulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastLoopback_Result'>BaseNetworkSocket_SetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastTtl {#BaseDatagramSocket.SetIpMulticastTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#BaseDatagramSocket.SetIpMulticastTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastTtl_Result'>BaseNetworkSocket_SetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpPacketInfo {#BaseDatagramSocket.SetIpPacketInfo}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#BaseDatagramSocket.SetIpPacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpPacketInfo_Result'>BaseNetworkSocket_SetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTtl {#BaseDatagramSocket.SetIpReceiveTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#BaseDatagramSocket.SetIpReceiveTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTtl_Result'>BaseNetworkSocket_SetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTypeOfService {#BaseDatagramSocket.SetIpReceiveTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#BaseDatagramSocket.SetIpReceiveTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTypeOfService_Result'>BaseNetworkSocket_SetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpTtl {#BaseDatagramSocket.SetIpTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#BaseDatagramSocket.SetIpTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTtl_Result'>BaseNetworkSocket_SetIpTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpTypeOfService {#BaseDatagramSocket.SetIpTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#BaseDatagramSocket.SetIpTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTypeOfService_Result'>BaseNetworkSocket_SetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastHops {#BaseDatagramSocket.SetIpv6MulticastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6MulticastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastHops_Result'>BaseNetworkSocket_SetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastInterface {#BaseDatagramSocket.SetIpv6MulticastInterface}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6MulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastInterface_Result'>BaseNetworkSocket_SetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastLoopback {#BaseDatagramSocket.SetIpv6MulticastLoopback}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6MulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastLoopback_Result'>BaseNetworkSocket_SetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpv6Only {#BaseDatagramSocket.SetIpv6Only}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6Only_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6Only_Result'>BaseNetworkSocket_SetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveHopLimit {#BaseDatagramSocket.SetIpv6ReceiveHopLimit}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6ReceiveHopLimit_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceivePacketInfo {#BaseDatagramSocket.SetIpv6ReceivePacketInfo}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6ReceivePacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveTrafficClass {#BaseDatagramSocket.SetIpv6ReceiveTrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6ReceiveTrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6TrafficClass {#BaseDatagramSocket.SetIpv6TrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code></p>
#### Request {#BaseDatagramSocket.SetIpv6TrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6TrafficClass_Result'>BaseNetworkSocket_SetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6UnicastHops {#BaseDatagramSocket.SetIpv6UnicastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#BaseDatagramSocket.SetIpv6UnicastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6UnicastHops_Result'>BaseNetworkSocket_SetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### SetKeepAlive {#BaseDatagramSocket.SetKeepAlive}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#BaseDatagramSocket.SetKeepAlive_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetKeepAlive_Result'>BaseSocket_SetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### SetLinger {#BaseDatagramSocket.SetLinger}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#BaseDatagramSocket.SetLinger_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>linger</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>length_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetLinger_Result'>BaseSocket_SetLinger_Result</a></code>
</td>
</tr>
</table>
### SetNoCheck {#BaseDatagramSocket.SetNoCheck}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#BaseDatagramSocket.SetNoCheck_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetNoCheck_Result'>BaseSocket_SetNoCheck_Result</a></code>
</td>
</tr>
</table>
### SetOutOfBandInline {#BaseDatagramSocket.SetOutOfBandInline}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#BaseDatagramSocket.SetOutOfBandInline_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetOutOfBandInline_Result'>BaseSocket_SetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### SetReceiveBuffer {#BaseDatagramSocket.SetReceiveBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#BaseDatagramSocket.SetReceiveBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReceiveBuffer_Result'>BaseSocket_SetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### SetReuseAddress {#BaseDatagramSocket.SetReuseAddress}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#BaseDatagramSocket.SetReuseAddress_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReuseAddress_Result'>BaseSocket_SetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### SetReusePort {#BaseDatagramSocket.SetReusePort}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#BaseDatagramSocket.SetReusePort_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReusePort_Result'>BaseSocket_SetReusePort_Result</a></code>
</td>
</tr>
</table>
### SetSendBuffer {#BaseDatagramSocket.SetSendBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#BaseDatagramSocket.SetSendBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetSendBuffer_Result'>BaseSocket_SetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### SetTimestamp {#BaseDatagramSocket.SetTimestamp}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#BaseDatagramSocket.SetTimestamp_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.SetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetTimestamp_Result'>BaseSocket_SetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Shutdown {#BaseDatagramSocket.Shutdown}
<p>Shuts down part of the socket.</p>
#### Request {#BaseDatagramSocket.Shutdown_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>mode</code></td>
<td>
<code><a class='link' href='#ShutdownMode'>ShutdownMode</a></code>
</td>
</tr>
</table>
#### Response {#BaseDatagramSocket.Shutdown_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Shutdown_Result'>BaseNetworkSocket_Shutdown_Result</a></code>
</td>
</tr>
</table>
## BaseNetworkSocket {#BaseNetworkSocket}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=180)*
<p>A network socket.</p>
### AddIpMembership {#BaseNetworkSocket.AddIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_ADD_MEMBERSHIP</code></p>
#### Request {#BaseNetworkSocket.AddIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.AddIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpMembership_Result'>BaseNetworkSocket_AddIpMembership_Result</a></code>
</td>
</tr>
</table>
### AddIpv6Membership {#BaseNetworkSocket.AddIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_ADD_MEMBERSHIP</code>.</p>
#### Request {#BaseNetworkSocket.AddIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.AddIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpv6Membership_Result'>BaseNetworkSocket_AddIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### Bind {#BaseNetworkSocket.Bind}
<p>Sets the local address used for the socket.</p>
#### Request {#BaseNetworkSocket.Bind_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.Bind_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Bind_Result'>BaseNetworkSocket_Bind_Result</a></code>
</td>
</tr>
</table>
### Clone2 {#BaseNetworkSocket.Clone2}
#### Request {#BaseNetworkSocket.Clone2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>request</code></td>
<td>
<code>server_end&lt;<a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Cloneable'>Cloneable</a>&gt;</code>
</td>
</tr>
</table>
### Close {#BaseNetworkSocket.Close}
<p>Terminates the connection.</p>
<p>After calling <code>Close</code>, the client must not send any other requests.</p>
<p>Servers, after sending the status response, should close the connection
regardless of status and without sending an epitaph.</p>
<p>Closing the client end of the channel should be semantically equivalent
to calling <code>Close</code> without knowing when the close has completed or its
status.</p>
#### Request {#BaseNetworkSocket.Close_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.Close_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Closeable_Close_Result'>Closeable_Close_Result</a></code>
</td>
</tr>
</table>
### Connect {#BaseNetworkSocket.Connect}
<p>Initiates a connection to a remote address.</p>
#### Request {#BaseNetworkSocket.Connect_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.Connect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Connect_Result'>BaseNetworkSocket_Connect_Result</a></code>
</td>
</tr>
</table>
### Disconnect {#BaseNetworkSocket.Disconnect}
<p>Clears connection information from this socket.</p>
#### Request {#BaseNetworkSocket.Disconnect_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.Disconnect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Disconnect_Result'>BaseNetworkSocket_Disconnect_Result</a></code>
</td>
</tr>
</table>
### DropIpMembership {#BaseNetworkSocket.DropIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_DROP_MEMBERSHIP</code></p>
#### Request {#BaseNetworkSocket.DropIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.DropIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpMembership_Result'>BaseNetworkSocket_DropIpMembership_Result</a></code>
</td>
</tr>
</table>
### DropIpv6Membership {#BaseNetworkSocket.DropIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_DROP_MEMBERSHIP</code>.</p>
#### Request {#BaseNetworkSocket.DropIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.DropIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpv6Membership_Result'>BaseNetworkSocket_DropIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### GetAcceptConn {#BaseNetworkSocket.GetAcceptConn}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ACCEPTCONN</code>.</p>
#### Request {#BaseNetworkSocket.GetAcceptConn_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetAcceptConn_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetAcceptConn_Result'>BaseSocket_GetAcceptConn_Result</a></code>
</td>
</tr>
</table>
### GetBindToDevice {#BaseNetworkSocket.GetBindToDevice}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#BaseNetworkSocket.GetBindToDevice_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBindToDevice_Result'>BaseSocket_GetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### GetBroadcast {#BaseNetworkSocket.GetBroadcast}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#BaseNetworkSocket.GetBroadcast_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBroadcast_Result'>BaseSocket_GetBroadcast_Result</a></code>
</td>
</tr>
</table>
### GetError {#BaseNetworkSocket.GetError}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ERROR</code>.
Returns the last error if there is an error set on the socket.</p>
#### Request {#BaseNetworkSocket.GetError_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetError_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetError_Result'>BaseSocket_GetError_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastInterface {#BaseNetworkSocket.GetIpMulticastInterface}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#BaseNetworkSocket.GetIpMulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastInterface_Result'>BaseNetworkSocket_GetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastLoopback {#BaseNetworkSocket.GetIpMulticastLoopback}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#BaseNetworkSocket.GetIpMulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastLoopback_Result'>BaseNetworkSocket_GetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastTtl {#BaseNetworkSocket.GetIpMulticastTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#BaseNetworkSocket.GetIpMulticastTtl_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastTtl_Result'>BaseNetworkSocket_GetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpPacketInfo {#BaseNetworkSocket.GetIpPacketInfo}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#BaseNetworkSocket.GetIpPacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpPacketInfo_Result'>BaseNetworkSocket_GetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTtl {#BaseNetworkSocket.GetIpReceiveTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#BaseNetworkSocket.GetIpReceiveTtl_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTtl_Result'>BaseNetworkSocket_GetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTypeOfService {#BaseNetworkSocket.GetIpReceiveTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#BaseNetworkSocket.GetIpReceiveTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTypeOfService_Result'>BaseNetworkSocket_GetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpTtl {#BaseNetworkSocket.GetIpTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#BaseNetworkSocket.GetIpTtl_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTtl_Result'>BaseNetworkSocket_GetIpTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpTypeOfService {#BaseNetworkSocket.GetIpTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#BaseNetworkSocket.GetIpTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTypeOfService_Result'>BaseNetworkSocket_GetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastHops {#BaseNetworkSocket.GetIpv6MulticastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6MulticastHops_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastHops_Result'>BaseNetworkSocket_GetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastInterface {#BaseNetworkSocket.GetIpv6MulticastInterface}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6MulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastInterface_Result'>BaseNetworkSocket_GetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastLoopback {#BaseNetworkSocket.GetIpv6MulticastLoopback}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6MulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastLoopback_Result'>BaseNetworkSocket_GetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpv6Only {#BaseNetworkSocket.GetIpv6Only}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6Only_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6Only_Result'>BaseNetworkSocket_GetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveHopLimit {#BaseNetworkSocket.GetIpv6ReceiveHopLimit}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6ReceiveHopLimit_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceivePacketInfo {#BaseNetworkSocket.GetIpv6ReceivePacketInfo}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6ReceivePacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveTrafficClass {#BaseNetworkSocket.GetIpv6ReceiveTrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6ReceiveTrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6TrafficClass {#BaseNetworkSocket.GetIpv6TrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6TrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6TrafficClass_Result'>BaseNetworkSocket_GetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6UnicastHops {#BaseNetworkSocket.GetIpv6UnicastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#BaseNetworkSocket.GetIpv6UnicastHops_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6UnicastHops_Result'>BaseNetworkSocket_GetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### GetKeepAlive {#BaseNetworkSocket.GetKeepAlive}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#BaseNetworkSocket.GetKeepAlive_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetKeepAlive_Result'>BaseSocket_GetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### GetLinger {#BaseNetworkSocket.GetLinger}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#BaseNetworkSocket.GetLinger_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetLinger_Result'>BaseSocket_GetLinger_Result</a></code>
</td>
</tr>
</table>
### GetNoCheck {#BaseNetworkSocket.GetNoCheck}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#BaseNetworkSocket.GetNoCheck_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetNoCheck_Result'>BaseSocket_GetNoCheck_Result</a></code>
</td>
</tr>
</table>
### GetOutOfBandInline {#BaseNetworkSocket.GetOutOfBandInline}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#BaseNetworkSocket.GetOutOfBandInline_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetOutOfBandInline_Result'>BaseSocket_GetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### GetPeerName {#BaseNetworkSocket.GetPeerName}
<p>Retrieves the remote socket address.</p>
#### Request {#BaseNetworkSocket.GetPeerName_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetPeerName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetPeerName_Result'>BaseNetworkSocket_GetPeerName_Result</a></code>
</td>
</tr>
</table>
### GetReceiveBuffer {#BaseNetworkSocket.GetReceiveBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#BaseNetworkSocket.GetReceiveBuffer_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReceiveBuffer_Result'>BaseSocket_GetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### GetReuseAddress {#BaseNetworkSocket.GetReuseAddress}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#BaseNetworkSocket.GetReuseAddress_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReuseAddress_Result'>BaseSocket_GetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### GetReusePort {#BaseNetworkSocket.GetReusePort}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#BaseNetworkSocket.GetReusePort_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReusePort_Result'>BaseSocket_GetReusePort_Result</a></code>
</td>
</tr>
</table>
### GetSendBuffer {#BaseNetworkSocket.GetSendBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#BaseNetworkSocket.GetSendBuffer_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetSendBuffer_Result'>BaseSocket_GetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### GetSockName {#BaseNetworkSocket.GetSockName}
<p>Retrieves the local socket address.</p>
#### Request {#BaseNetworkSocket.GetSockName_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetSockName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetSockName_Result'>BaseNetworkSocket_GetSockName_Result</a></code>
</td>
</tr>
</table>
### GetTimestamp {#BaseNetworkSocket.GetTimestamp}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#BaseNetworkSocket.GetTimestamp_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.GetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetTimestamp_Result'>BaseSocket_GetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Query {#BaseNetworkSocket.Query}
#### Request {#BaseNetworkSocket.Query_Request}
&lt;EMPTY&gt;
#### Response {#BaseNetworkSocket.Query_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>protocol</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
</tr>
</table>
### SetBindToDevice {#BaseNetworkSocket.SetBindToDevice}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#BaseNetworkSocket.SetBindToDevice_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBindToDevice_Result'>BaseSocket_SetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### SetBroadcast {#BaseNetworkSocket.SetBroadcast}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#BaseNetworkSocket.SetBroadcast_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBroadcast_Result'>BaseSocket_SetBroadcast_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastInterface {#BaseNetworkSocket.SetIpMulticastInterface}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#BaseNetworkSocket.SetIpMulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
<tr>
<td><code>address</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastInterface_Result'>BaseNetworkSocket_SetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastLoopback {#BaseNetworkSocket.SetIpMulticastLoopback}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#BaseNetworkSocket.SetIpMulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastLoopback_Result'>BaseNetworkSocket_SetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastTtl {#BaseNetworkSocket.SetIpMulticastTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#BaseNetworkSocket.SetIpMulticastTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastTtl_Result'>BaseNetworkSocket_SetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpPacketInfo {#BaseNetworkSocket.SetIpPacketInfo}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#BaseNetworkSocket.SetIpPacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpPacketInfo_Result'>BaseNetworkSocket_SetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTtl {#BaseNetworkSocket.SetIpReceiveTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#BaseNetworkSocket.SetIpReceiveTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTtl_Result'>BaseNetworkSocket_SetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTypeOfService {#BaseNetworkSocket.SetIpReceiveTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#BaseNetworkSocket.SetIpReceiveTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTypeOfService_Result'>BaseNetworkSocket_SetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpTtl {#BaseNetworkSocket.SetIpTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#BaseNetworkSocket.SetIpTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTtl_Result'>BaseNetworkSocket_SetIpTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpTypeOfService {#BaseNetworkSocket.SetIpTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#BaseNetworkSocket.SetIpTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTypeOfService_Result'>BaseNetworkSocket_SetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastHops {#BaseNetworkSocket.SetIpv6MulticastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6MulticastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastHops_Result'>BaseNetworkSocket_SetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastInterface {#BaseNetworkSocket.SetIpv6MulticastInterface}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6MulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastInterface_Result'>BaseNetworkSocket_SetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastLoopback {#BaseNetworkSocket.SetIpv6MulticastLoopback}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6MulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastLoopback_Result'>BaseNetworkSocket_SetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpv6Only {#BaseNetworkSocket.SetIpv6Only}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6Only_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6Only_Result'>BaseNetworkSocket_SetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveHopLimit {#BaseNetworkSocket.SetIpv6ReceiveHopLimit}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6ReceiveHopLimit_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceivePacketInfo {#BaseNetworkSocket.SetIpv6ReceivePacketInfo}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6ReceivePacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveTrafficClass {#BaseNetworkSocket.SetIpv6ReceiveTrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6ReceiveTrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6TrafficClass {#BaseNetworkSocket.SetIpv6TrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code></p>
#### Request {#BaseNetworkSocket.SetIpv6TrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6TrafficClass_Result'>BaseNetworkSocket_SetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6UnicastHops {#BaseNetworkSocket.SetIpv6UnicastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#BaseNetworkSocket.SetIpv6UnicastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6UnicastHops_Result'>BaseNetworkSocket_SetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### SetKeepAlive {#BaseNetworkSocket.SetKeepAlive}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#BaseNetworkSocket.SetKeepAlive_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetKeepAlive_Result'>BaseSocket_SetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### SetLinger {#BaseNetworkSocket.SetLinger}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#BaseNetworkSocket.SetLinger_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>linger</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>length_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetLinger_Result'>BaseSocket_SetLinger_Result</a></code>
</td>
</tr>
</table>
### SetNoCheck {#BaseNetworkSocket.SetNoCheck}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#BaseNetworkSocket.SetNoCheck_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetNoCheck_Result'>BaseSocket_SetNoCheck_Result</a></code>
</td>
</tr>
</table>
### SetOutOfBandInline {#BaseNetworkSocket.SetOutOfBandInline}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#BaseNetworkSocket.SetOutOfBandInline_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetOutOfBandInline_Result'>BaseSocket_SetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### SetReceiveBuffer {#BaseNetworkSocket.SetReceiveBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#BaseNetworkSocket.SetReceiveBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReceiveBuffer_Result'>BaseSocket_SetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### SetReuseAddress {#BaseNetworkSocket.SetReuseAddress}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#BaseNetworkSocket.SetReuseAddress_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReuseAddress_Result'>BaseSocket_SetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### SetReusePort {#BaseNetworkSocket.SetReusePort}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#BaseNetworkSocket.SetReusePort_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReusePort_Result'>BaseSocket_SetReusePort_Result</a></code>
</td>
</tr>
</table>
### SetSendBuffer {#BaseNetworkSocket.SetSendBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#BaseNetworkSocket.SetSendBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetSendBuffer_Result'>BaseSocket_SetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### SetTimestamp {#BaseNetworkSocket.SetTimestamp}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#BaseNetworkSocket.SetTimestamp_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.SetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetTimestamp_Result'>BaseSocket_SetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Shutdown {#BaseNetworkSocket.Shutdown}
<p>Shuts down part of the socket.</p>
#### Request {#BaseNetworkSocket.Shutdown_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>mode</code></td>
<td>
<code><a class='link' href='#ShutdownMode'>ShutdownMode</a></code>
</td>
</tr>
</table>
#### Response {#BaseNetworkSocket.Shutdown_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Shutdown_Result'>BaseNetworkSocket_Shutdown_Result</a></code>
</td>
</tr>
</table>
## BaseSocket {#BaseSocket}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=50)*
<p>A socket.</p>
### Clone2 {#BaseSocket.Clone2}
#### Request {#BaseSocket.Clone2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>request</code></td>
<td>
<code>server_end&lt;<a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Cloneable'>Cloneable</a>&gt;</code>
</td>
</tr>
</table>
### Close {#BaseSocket.Close}
<p>Terminates the connection.</p>
<p>After calling <code>Close</code>, the client must not send any other requests.</p>
<p>Servers, after sending the status response, should close the connection
regardless of status and without sending an epitaph.</p>
<p>Closing the client end of the channel should be semantically equivalent
to calling <code>Close</code> without knowing when the close has completed or its
status.</p>
#### Request {#BaseSocket.Close_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.Close_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Closeable_Close_Result'>Closeable_Close_Result</a></code>
</td>
</tr>
</table>
### GetAcceptConn {#BaseSocket.GetAcceptConn}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ACCEPTCONN</code>.</p>
#### Request {#BaseSocket.GetAcceptConn_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetAcceptConn_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetAcceptConn_Result'>BaseSocket_GetAcceptConn_Result</a></code>
</td>
</tr>
</table>
### GetBindToDevice {#BaseSocket.GetBindToDevice}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#BaseSocket.GetBindToDevice_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBindToDevice_Result'>BaseSocket_GetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### GetBroadcast {#BaseSocket.GetBroadcast}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#BaseSocket.GetBroadcast_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBroadcast_Result'>BaseSocket_GetBroadcast_Result</a></code>
</td>
</tr>
</table>
### GetError {#BaseSocket.GetError}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ERROR</code>.
Returns the last error if there is an error set on the socket.</p>
#### Request {#BaseSocket.GetError_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetError_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetError_Result'>BaseSocket_GetError_Result</a></code>
</td>
</tr>
</table>
### GetKeepAlive {#BaseSocket.GetKeepAlive}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#BaseSocket.GetKeepAlive_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetKeepAlive_Result'>BaseSocket_GetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### GetLinger {#BaseSocket.GetLinger}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#BaseSocket.GetLinger_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetLinger_Result'>BaseSocket_GetLinger_Result</a></code>
</td>
</tr>
</table>
### GetNoCheck {#BaseSocket.GetNoCheck}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#BaseSocket.GetNoCheck_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetNoCheck_Result'>BaseSocket_GetNoCheck_Result</a></code>
</td>
</tr>
</table>
### GetOutOfBandInline {#BaseSocket.GetOutOfBandInline}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#BaseSocket.GetOutOfBandInline_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetOutOfBandInline_Result'>BaseSocket_GetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### GetReceiveBuffer {#BaseSocket.GetReceiveBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#BaseSocket.GetReceiveBuffer_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReceiveBuffer_Result'>BaseSocket_GetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### GetReuseAddress {#BaseSocket.GetReuseAddress}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#BaseSocket.GetReuseAddress_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReuseAddress_Result'>BaseSocket_GetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### GetReusePort {#BaseSocket.GetReusePort}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#BaseSocket.GetReusePort_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReusePort_Result'>BaseSocket_GetReusePort_Result</a></code>
</td>
</tr>
</table>
### GetSendBuffer {#BaseSocket.GetSendBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#BaseSocket.GetSendBuffer_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetSendBuffer_Result'>BaseSocket_GetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### GetTimestamp {#BaseSocket.GetTimestamp}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#BaseSocket.GetTimestamp_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.GetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetTimestamp_Result'>BaseSocket_GetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Query {#BaseSocket.Query}
#### Request {#BaseSocket.Query_Request}
&lt;EMPTY&gt;
#### Response {#BaseSocket.Query_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>protocol</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
</tr>
</table>
### SetBindToDevice {#BaseSocket.SetBindToDevice}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#BaseSocket.SetBindToDevice_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBindToDevice_Result'>BaseSocket_SetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### SetBroadcast {#BaseSocket.SetBroadcast}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#BaseSocket.SetBroadcast_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBroadcast_Result'>BaseSocket_SetBroadcast_Result</a></code>
</td>
</tr>
</table>
### SetKeepAlive {#BaseSocket.SetKeepAlive}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#BaseSocket.SetKeepAlive_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetKeepAlive_Result'>BaseSocket_SetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### SetLinger {#BaseSocket.SetLinger}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#BaseSocket.SetLinger_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>linger</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>length_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetLinger_Result'>BaseSocket_SetLinger_Result</a></code>
</td>
</tr>
</table>
### SetNoCheck {#BaseSocket.SetNoCheck}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#BaseSocket.SetNoCheck_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetNoCheck_Result'>BaseSocket_SetNoCheck_Result</a></code>
</td>
</tr>
</table>
### SetOutOfBandInline {#BaseSocket.SetOutOfBandInline}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#BaseSocket.SetOutOfBandInline_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetOutOfBandInline_Result'>BaseSocket_SetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### SetReceiveBuffer {#BaseSocket.SetReceiveBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#BaseSocket.SetReceiveBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReceiveBuffer_Result'>BaseSocket_SetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### SetReuseAddress {#BaseSocket.SetReuseAddress}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#BaseSocket.SetReuseAddress_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReuseAddress_Result'>BaseSocket_SetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### SetReusePort {#BaseSocket.SetReusePort}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#BaseSocket.SetReusePort_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReusePort_Result'>BaseSocket_SetReusePort_Result</a></code>
</td>
</tr>
</table>
### SetSendBuffer {#BaseSocket.SetSendBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#BaseSocket.SetSendBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetSendBuffer_Result'>BaseSocket_SetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### SetTimestamp {#BaseSocket.SetTimestamp}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#BaseSocket.SetTimestamp_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
</tr>
</table>
#### Response {#BaseSocket.SetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetTimestamp_Result'>BaseSocket_SetTimestamp_Result</a></code>
</td>
</tr>
</table>
## DatagramSocket {#DatagramSocket}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=632)*
<p>A datagram socket.</p>
### AddIpMembership {#DatagramSocket.AddIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_ADD_MEMBERSHIP</code></p>
#### Request {#DatagramSocket.AddIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.AddIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpMembership_Result'>BaseNetworkSocket_AddIpMembership_Result</a></code>
</td>
</tr>
</table>
### AddIpv6Membership {#DatagramSocket.AddIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_ADD_MEMBERSHIP</code>.</p>
#### Request {#DatagramSocket.AddIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.AddIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpv6Membership_Result'>BaseNetworkSocket_AddIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### Bind {#DatagramSocket.Bind}
<p>Sets the local address used for the socket.</p>
#### Request {#DatagramSocket.Bind_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.Bind_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Bind_Result'>BaseNetworkSocket_Bind_Result</a></code>
</td>
</tr>
</table>
### Clone2 {#DatagramSocket.Clone2}
#### Request {#DatagramSocket.Clone2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>request</code></td>
<td>
<code>server_end&lt;<a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Cloneable'>Cloneable</a>&gt;</code>
</td>
</tr>
</table>
### Close {#DatagramSocket.Close}
<p>Terminates the connection.</p>
<p>After calling <code>Close</code>, the client must not send any other requests.</p>
<p>Servers, after sending the status response, should close the connection
regardless of status and without sending an epitaph.</p>
<p>Closing the client end of the channel should be semantically equivalent
to calling <code>Close</code> without knowing when the close has completed or its
status.</p>
#### Request {#DatagramSocket.Close_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.Close_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Closeable_Close_Result'>Closeable_Close_Result</a></code>
</td>
</tr>
</table>
### Connect {#DatagramSocket.Connect}
<p>Initiates a connection to a remote address.</p>
#### Request {#DatagramSocket.Connect_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.Connect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Connect_Result'>BaseNetworkSocket_Connect_Result</a></code>
</td>
</tr>
</table>
### Describe {#DatagramSocket.Describe}
#### Request {#DatagramSocket.Describe_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.Describe_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>payload</code></td>
<td>
<code><a class='link' href='#DatagramSocketDescribeResponse'>DatagramSocketDescribeResponse</a></code>
</td>
</tr>
</table>
### Disconnect {#DatagramSocket.Disconnect}
<p>Clears connection information from this socket.</p>
#### Request {#DatagramSocket.Disconnect_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.Disconnect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Disconnect_Result'>BaseNetworkSocket_Disconnect_Result</a></code>
</td>
</tr>
</table>
### DropIpMembership {#DatagramSocket.DropIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_DROP_MEMBERSHIP</code></p>
#### Request {#DatagramSocket.DropIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.DropIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpMembership_Result'>BaseNetworkSocket_DropIpMembership_Result</a></code>
</td>
</tr>
</table>
### DropIpv6Membership {#DatagramSocket.DropIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_DROP_MEMBERSHIP</code>.</p>
#### Request {#DatagramSocket.DropIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.DropIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpv6Membership_Result'>BaseNetworkSocket_DropIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### GetAcceptConn {#DatagramSocket.GetAcceptConn}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ACCEPTCONN</code>.</p>
#### Request {#DatagramSocket.GetAcceptConn_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetAcceptConn_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetAcceptConn_Result'>BaseSocket_GetAcceptConn_Result</a></code>
</td>
</tr>
</table>
### GetBindToDevice {#DatagramSocket.GetBindToDevice}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#DatagramSocket.GetBindToDevice_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBindToDevice_Result'>BaseSocket_GetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### GetBroadcast {#DatagramSocket.GetBroadcast}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#DatagramSocket.GetBroadcast_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBroadcast_Result'>BaseSocket_GetBroadcast_Result</a></code>
</td>
</tr>
</table>
### GetError {#DatagramSocket.GetError}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ERROR</code>.
Returns the last error if there is an error set on the socket.</p>
#### Request {#DatagramSocket.GetError_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetError_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetError_Result'>BaseSocket_GetError_Result</a></code>
</td>
</tr>
</table>
### GetInfo {#DatagramSocket.GetInfo}
<p>Retrieves creation information from the socket.</p>
<ul>
<li>response <code>domain</code> the socket's associated domain.</li>
<li>response <code>proto</code> the socket's associated protocol.</li>
</ul>
#### Request {#DatagramSocket.GetInfo_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseDatagramSocket_GetInfo_Result'>BaseDatagramSocket_GetInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastInterface {#DatagramSocket.GetIpMulticastInterface}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#DatagramSocket.GetIpMulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastInterface_Result'>BaseNetworkSocket_GetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastLoopback {#DatagramSocket.GetIpMulticastLoopback}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#DatagramSocket.GetIpMulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastLoopback_Result'>BaseNetworkSocket_GetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastTtl {#DatagramSocket.GetIpMulticastTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#DatagramSocket.GetIpMulticastTtl_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastTtl_Result'>BaseNetworkSocket_GetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpPacketInfo {#DatagramSocket.GetIpPacketInfo}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#DatagramSocket.GetIpPacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpPacketInfo_Result'>BaseNetworkSocket_GetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTtl {#DatagramSocket.GetIpReceiveTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#DatagramSocket.GetIpReceiveTtl_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTtl_Result'>BaseNetworkSocket_GetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTypeOfService {#DatagramSocket.GetIpReceiveTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#DatagramSocket.GetIpReceiveTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTypeOfService_Result'>BaseNetworkSocket_GetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpTtl {#DatagramSocket.GetIpTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#DatagramSocket.GetIpTtl_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTtl_Result'>BaseNetworkSocket_GetIpTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpTypeOfService {#DatagramSocket.GetIpTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#DatagramSocket.GetIpTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTypeOfService_Result'>BaseNetworkSocket_GetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastHops {#DatagramSocket.GetIpv6MulticastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#DatagramSocket.GetIpv6MulticastHops_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastHops_Result'>BaseNetworkSocket_GetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastInterface {#DatagramSocket.GetIpv6MulticastInterface}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#DatagramSocket.GetIpv6MulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastInterface_Result'>BaseNetworkSocket_GetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastLoopback {#DatagramSocket.GetIpv6MulticastLoopback}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#DatagramSocket.GetIpv6MulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastLoopback_Result'>BaseNetworkSocket_GetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpv6Only {#DatagramSocket.GetIpv6Only}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#DatagramSocket.GetIpv6Only_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6Only_Result'>BaseNetworkSocket_GetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveHopLimit {#DatagramSocket.GetIpv6ReceiveHopLimit}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#DatagramSocket.GetIpv6ReceiveHopLimit_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceivePacketInfo {#DatagramSocket.GetIpv6ReceivePacketInfo}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#DatagramSocket.GetIpv6ReceivePacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveTrafficClass {#DatagramSocket.GetIpv6ReceiveTrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#DatagramSocket.GetIpv6ReceiveTrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6TrafficClass {#DatagramSocket.GetIpv6TrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code>.</p>
#### Request {#DatagramSocket.GetIpv6TrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6TrafficClass_Result'>BaseNetworkSocket_GetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6UnicastHops {#DatagramSocket.GetIpv6UnicastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#DatagramSocket.GetIpv6UnicastHops_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6UnicastHops_Result'>BaseNetworkSocket_GetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### GetKeepAlive {#DatagramSocket.GetKeepAlive}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#DatagramSocket.GetKeepAlive_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetKeepAlive_Result'>BaseSocket_GetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### GetLinger {#DatagramSocket.GetLinger}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#DatagramSocket.GetLinger_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetLinger_Result'>BaseSocket_GetLinger_Result</a></code>
</td>
</tr>
</table>
### GetNoCheck {#DatagramSocket.GetNoCheck}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#DatagramSocket.GetNoCheck_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetNoCheck_Result'>BaseSocket_GetNoCheck_Result</a></code>
</td>
</tr>
</table>
### GetOutOfBandInline {#DatagramSocket.GetOutOfBandInline}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#DatagramSocket.GetOutOfBandInline_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetOutOfBandInline_Result'>BaseSocket_GetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### GetPeerName {#DatagramSocket.GetPeerName}
<p>Retrieves the remote socket address.</p>
#### Request {#DatagramSocket.GetPeerName_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetPeerName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetPeerName_Result'>BaseNetworkSocket_GetPeerName_Result</a></code>
</td>
</tr>
</table>
### GetReceiveBuffer {#DatagramSocket.GetReceiveBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#DatagramSocket.GetReceiveBuffer_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReceiveBuffer_Result'>BaseSocket_GetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### GetReuseAddress {#DatagramSocket.GetReuseAddress}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#DatagramSocket.GetReuseAddress_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReuseAddress_Result'>BaseSocket_GetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### GetReusePort {#DatagramSocket.GetReusePort}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#DatagramSocket.GetReusePort_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReusePort_Result'>BaseSocket_GetReusePort_Result</a></code>
</td>
</tr>
</table>
### GetSendBuffer {#DatagramSocket.GetSendBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#DatagramSocket.GetSendBuffer_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetSendBuffer_Result'>BaseSocket_GetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### GetSockName {#DatagramSocket.GetSockName}
<p>Retrieves the local socket address.</p>
#### Request {#DatagramSocket.GetSockName_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetSockName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetSockName_Result'>BaseNetworkSocket_GetSockName_Result</a></code>
</td>
</tr>
</table>
### GetTimestamp {#DatagramSocket.GetTimestamp}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#DatagramSocket.GetTimestamp_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.GetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetTimestamp_Result'>BaseSocket_GetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Query {#DatagramSocket.Query}
#### Request {#DatagramSocket.Query_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.Query_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>protocol</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
</tr>
</table>
### RecvMsgPostflight {#DatagramSocket.RecvMsgPostflight}
<p>Returns the set of requested control messages.</p>
<ul>
<li>response the set of currently requested control messages.</li>
</ul>
#### Request {#DatagramSocket.RecvMsgPostflight_Request}
&lt;EMPTY&gt;
#### Response {#DatagramSocket.RecvMsgPostflight_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#DatagramSocket_RecvMsgPostflight_Result'>DatagramSocket_RecvMsgPostflight_Result</a></code>
</td>
</tr>
</table>
### SendMsgPreflight {#DatagramSocket.SendMsgPreflight}
<p>Validates that data can be sent.</p>
<ul>
<li>request <code>args</code> the requested disposition of data to be sent.</li>
</ul>
<ul>
<li>response the constraints sent data must satisfy.</li>
</ul>
<ul>
<li>error the error code indicating the reason for validation failure.</li>
</ul>
#### Request {#DatagramSocket.SendMsgPreflight_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>payload</code></td>
<td>
<code><a class='link' href='#DatagramSocketSendMsgPreflightRequest'>DatagramSocketSendMsgPreflightRequest</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SendMsgPreflight_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#DatagramSocket_SendMsgPreflight_Result'>DatagramSocket_SendMsgPreflight_Result</a></code>
</td>
</tr>
</table>
### SetBindToDevice {#DatagramSocket.SetBindToDevice}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#DatagramSocket.SetBindToDevice_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBindToDevice_Result'>BaseSocket_SetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### SetBroadcast {#DatagramSocket.SetBroadcast}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#DatagramSocket.SetBroadcast_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBroadcast_Result'>BaseSocket_SetBroadcast_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastInterface {#DatagramSocket.SetIpMulticastInterface}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#DatagramSocket.SetIpMulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
<tr>
<td><code>address</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastInterface_Result'>BaseNetworkSocket_SetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastLoopback {#DatagramSocket.SetIpMulticastLoopback}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#DatagramSocket.SetIpMulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastLoopback_Result'>BaseNetworkSocket_SetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastTtl {#DatagramSocket.SetIpMulticastTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#DatagramSocket.SetIpMulticastTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastTtl_Result'>BaseNetworkSocket_SetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpPacketInfo {#DatagramSocket.SetIpPacketInfo}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#DatagramSocket.SetIpPacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpPacketInfo_Result'>BaseNetworkSocket_SetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTtl {#DatagramSocket.SetIpReceiveTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#DatagramSocket.SetIpReceiveTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTtl_Result'>BaseNetworkSocket_SetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTypeOfService {#DatagramSocket.SetIpReceiveTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#DatagramSocket.SetIpReceiveTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTypeOfService_Result'>BaseNetworkSocket_SetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpTtl {#DatagramSocket.SetIpTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#DatagramSocket.SetIpTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTtl_Result'>BaseNetworkSocket_SetIpTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpTypeOfService {#DatagramSocket.SetIpTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#DatagramSocket.SetIpTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTypeOfService_Result'>BaseNetworkSocket_SetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastHops {#DatagramSocket.SetIpv6MulticastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#DatagramSocket.SetIpv6MulticastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastHops_Result'>BaseNetworkSocket_SetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastInterface {#DatagramSocket.SetIpv6MulticastInterface}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#DatagramSocket.SetIpv6MulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastInterface_Result'>BaseNetworkSocket_SetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastLoopback {#DatagramSocket.SetIpv6MulticastLoopback}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#DatagramSocket.SetIpv6MulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastLoopback_Result'>BaseNetworkSocket_SetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpv6Only {#DatagramSocket.SetIpv6Only}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#DatagramSocket.SetIpv6Only_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6Only_Result'>BaseNetworkSocket_SetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveHopLimit {#DatagramSocket.SetIpv6ReceiveHopLimit}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#DatagramSocket.SetIpv6ReceiveHopLimit_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceivePacketInfo {#DatagramSocket.SetIpv6ReceivePacketInfo}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#DatagramSocket.SetIpv6ReceivePacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveTrafficClass {#DatagramSocket.SetIpv6ReceiveTrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#DatagramSocket.SetIpv6ReceiveTrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6TrafficClass {#DatagramSocket.SetIpv6TrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code></p>
#### Request {#DatagramSocket.SetIpv6TrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6TrafficClass_Result'>BaseNetworkSocket_SetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6UnicastHops {#DatagramSocket.SetIpv6UnicastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#DatagramSocket.SetIpv6UnicastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6UnicastHops_Result'>BaseNetworkSocket_SetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### SetKeepAlive {#DatagramSocket.SetKeepAlive}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#DatagramSocket.SetKeepAlive_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetKeepAlive_Result'>BaseSocket_SetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### SetLinger {#DatagramSocket.SetLinger}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#DatagramSocket.SetLinger_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>linger</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>length_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetLinger_Result'>BaseSocket_SetLinger_Result</a></code>
</td>
</tr>
</table>
### SetNoCheck {#DatagramSocket.SetNoCheck}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#DatagramSocket.SetNoCheck_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetNoCheck_Result'>BaseSocket_SetNoCheck_Result</a></code>
</td>
</tr>
</table>
### SetOutOfBandInline {#DatagramSocket.SetOutOfBandInline}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#DatagramSocket.SetOutOfBandInline_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetOutOfBandInline_Result'>BaseSocket_SetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### SetReceiveBuffer {#DatagramSocket.SetReceiveBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#DatagramSocket.SetReceiveBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReceiveBuffer_Result'>BaseSocket_SetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### SetReuseAddress {#DatagramSocket.SetReuseAddress}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#DatagramSocket.SetReuseAddress_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReuseAddress_Result'>BaseSocket_SetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### SetReusePort {#DatagramSocket.SetReusePort}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#DatagramSocket.SetReusePort_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReusePort_Result'>BaseSocket_SetReusePort_Result</a></code>
</td>
</tr>
</table>
### SetSendBuffer {#DatagramSocket.SetSendBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#DatagramSocket.SetSendBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetSendBuffer_Result'>BaseSocket_SetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### SetTimestamp {#DatagramSocket.SetTimestamp}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#DatagramSocket.SetTimestamp_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.SetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetTimestamp_Result'>BaseSocket_SetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Shutdown {#DatagramSocket.Shutdown}
<p>Shuts down part of the socket.</p>
#### Request {#DatagramSocket.Shutdown_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>mode</code></td>
<td>
<code><a class='link' href='#ShutdownMode'>ShutdownMode</a></code>
</td>
</tr>
</table>
#### Response {#DatagramSocket.Shutdown_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Shutdown_Result'>BaseNetworkSocket_Shutdown_Result</a></code>
</td>
</tr>
</table>
## Provider {#Provider}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1132)*
<p>Provider implements the POSIX sockets API.</p>
<p><em>Warning:</em> This protocol is not yet ready for direct use by clients.
Instead, clients should use the BSD sockets API to interact with sockets.
We plan to change this protocol substantially and clients that couple
directly to this protocol will make those changes more difficult.</p>
### DatagramSocket {#Provider.DatagramSocket}
<p>Requests a datagram socket with the specified parameters.</p>
#### Request {#Provider.DatagramSocket_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>domain</code></td>
<td>
<code><a class='link' href='#Domain'>Domain</a></code>
</td>
</tr>
<tr>
<td><code>proto</code></td>
<td>
<code><a class='link' href='#DatagramSocketProtocol'>DatagramSocketProtocol</a></code>
</td>
</tr>
</table>
#### Response {#Provider.DatagramSocket_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Provider_DatagramSocket_Result'>Provider_DatagramSocket_Result</a></code>
</td>
</tr>
</table>
### DatagramSocketDeprecated {#Provider.DatagramSocketDeprecated}
<p>Requests a datagram socket with the specified parameters.
TODO(https://fxbug.dev/85027): Remove this method once no more callers rely on it.</p>
#### Request {#Provider.DatagramSocketDeprecated_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>domain</code></td>
<td>
<code><a class='link' href='#Domain'>Domain</a></code>
</td>
</tr>
<tr>
<td><code>proto</code></td>
<td>
<code><a class='link' href='#DatagramSocketProtocol'>DatagramSocketProtocol</a></code>
</td>
</tr>
</table>
#### Response {#Provider.DatagramSocketDeprecated_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Provider_DatagramSocketDeprecated_Result'>Provider_DatagramSocketDeprecated_Result</a></code>
</td>
</tr>
</table>
### GetInterfaceAddresses {#Provider.GetInterfaceAddresses}
<p>Requests a list of <a class='link' href='#fuchsia.posix.socket.InterfaceAddresses'>fuchsia.posix.socket.InterfaceAddresses</a>
describing the network interfaces on the system.</p>
#### Request {#Provider.GetInterfaceAddresses_Request}
&lt;EMPTY&gt;
#### Response {#Provider.GetInterfaceAddresses_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>interfaces</code></td>
<td>
<code>vector&lt;<a class='link' href='#InterfaceAddresses'>InterfaceAddresses</a>&gt;</code>
</td>
</tr>
</table>
### InterfaceIndexToName {#Provider.InterfaceIndexToName}
<p>Looks up an interface by its index and returns its name. Returns
<code>ZX_ERR_NOT_FOUND</code> if the specified index doesn't exist.</p>
#### Request {#Provider.InterfaceIndexToName_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>index</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#Provider.InterfaceIndexToName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Provider_InterfaceIndexToName_Result'>Provider_InterfaceIndexToName_Result</a></code>
</td>
</tr>
</table>
### InterfaceNameToFlags {#Provider.InterfaceNameToFlags}
<p>Looks up an interface by its name and returns its flags. Returns
<code>ZX_ERR_NOT_FOUND</code> if the specified name doesn't exist.</p>
#### Request {#Provider.InterfaceNameToFlags_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>name</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#Provider.InterfaceNameToFlags_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Provider_InterfaceNameToFlags_Result'>Provider_InterfaceNameToFlags_Result</a></code>
</td>
</tr>
</table>
### InterfaceNameToIndex {#Provider.InterfaceNameToIndex}
<p>Looks up an interface by its name and returns its index. Returns
<code>ZX_ERR_NOT_FOUND</code> if the specified name doesn't exist.</p>
#### Request {#Provider.InterfaceNameToIndex_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>name</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#Provider.InterfaceNameToIndex_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Provider_InterfaceNameToIndex_Result'>Provider_InterfaceNameToIndex_Result</a></code>
</td>
</tr>
</table>
### StreamSocket {#Provider.StreamSocket}
<p>Requests a stream socket with the specified parameters.</p>
#### Request {#Provider.StreamSocket_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>domain</code></td>
<td>
<code><a class='link' href='#Domain'>Domain</a></code>
</td>
</tr>
<tr>
<td><code>proto</code></td>
<td>
<code><a class='link' href='#StreamSocketProtocol'>StreamSocketProtocol</a></code>
</td>
</tr>
</table>
#### Response {#Provider.StreamSocket_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#Provider_StreamSocket_Result'>Provider_StreamSocket_Result</a></code>
</td>
</tr>
</table>
## StreamSocket {#StreamSocket}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=799)*
<p>A stream socket.</p>
<p>All methods on this type are nonblocking; their exact behaviors match their
Linux counterparts.</p>
<p><em>Warning:</em> This protocol is not yet ready for direct use by clients.
Instead, clients should use the BSD sockets API to interact with sockets.
We plan to change this protocol substantially and clients that couple
directly to this protocol will make those changes more difficult.</p>
### Accept {#StreamSocket.Accept}
<p>Accepts a buffered incoming connection.</p>
#### Request {#StreamSocket.Accept_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>want_addr</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.Accept_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_Accept_Result'>StreamSocket_Accept_Result</a></code>
</td>
</tr>
</table>
### AddIpMembership {#StreamSocket.AddIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_ADD_MEMBERSHIP</code></p>
#### Request {#StreamSocket.AddIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.AddIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpMembership_Result'>BaseNetworkSocket_AddIpMembership_Result</a></code>
</td>
</tr>
</table>
### AddIpv6Membership {#StreamSocket.AddIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_ADD_MEMBERSHIP</code>.</p>
#### Request {#StreamSocket.AddIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.AddIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpv6Membership_Result'>BaseNetworkSocket_AddIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### Bind {#StreamSocket.Bind}
<p>Sets the local address used for the socket.</p>
#### Request {#StreamSocket.Bind_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.Bind_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Bind_Result'>BaseNetworkSocket_Bind_Result</a></code>
</td>
</tr>
</table>
### Clone2 {#StreamSocket.Clone2}
#### Request {#StreamSocket.Clone2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>request</code></td>
<td>
<code>server_end&lt;<a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Cloneable'>Cloneable</a>&gt;</code>
</td>
</tr>
</table>
### Close {#StreamSocket.Close}
<p>Terminates the connection.</p>
<p>After calling <code>Close</code>, the client must not send any other requests.</p>
<p>Servers, after sending the status response, should close the connection
regardless of status and without sending an epitaph.</p>
<p>Closing the client end of the channel should be semantically equivalent
to calling <code>Close</code> without knowing when the close has completed or its
status.</p>
#### Request {#StreamSocket.Close_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.Close_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Closeable_Close_Result'>Closeable_Close_Result</a></code>
</td>
</tr>
</table>
### Connect {#StreamSocket.Connect}
<p>Initiates a connection to a remote address.</p>
#### Request {#StreamSocket.Connect_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.Connect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Connect_Result'>BaseNetworkSocket_Connect_Result</a></code>
</td>
</tr>
</table>
### Describe {#StreamSocket.Describe}
#### Request {#StreamSocket.Describe_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.Describe_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>payload</code></td>
<td>
<code><a class='link' href='#StreamSocketDescribeResponse'>StreamSocketDescribeResponse</a></code>
</td>
</tr>
</table>
### Disconnect {#StreamSocket.Disconnect}
<p>Clears connection information from this socket.</p>
#### Request {#StreamSocket.Disconnect_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.Disconnect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Disconnect_Result'>BaseNetworkSocket_Disconnect_Result</a></code>
</td>
</tr>
</table>
### DropIpMembership {#StreamSocket.DropIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_DROP_MEMBERSHIP</code></p>
#### Request {#StreamSocket.DropIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.DropIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpMembership_Result'>BaseNetworkSocket_DropIpMembership_Result</a></code>
</td>
</tr>
</table>
### DropIpv6Membership {#StreamSocket.DropIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_DROP_MEMBERSHIP</code>.</p>
#### Request {#StreamSocket.DropIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.DropIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpv6Membership_Result'>BaseNetworkSocket_DropIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### GetAcceptConn {#StreamSocket.GetAcceptConn}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ACCEPTCONN</code>.</p>
#### Request {#StreamSocket.GetAcceptConn_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetAcceptConn_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetAcceptConn_Result'>BaseSocket_GetAcceptConn_Result</a></code>
</td>
</tr>
</table>
### GetBindToDevice {#StreamSocket.GetBindToDevice}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#StreamSocket.GetBindToDevice_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBindToDevice_Result'>BaseSocket_GetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### GetBroadcast {#StreamSocket.GetBroadcast}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#StreamSocket.GetBroadcast_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBroadcast_Result'>BaseSocket_GetBroadcast_Result</a></code>
</td>
</tr>
</table>
### GetError {#StreamSocket.GetError}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ERROR</code>.
Returns the last error if there is an error set on the socket.</p>
#### Request {#StreamSocket.GetError_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetError_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetError_Result'>BaseSocket_GetError_Result</a></code>
</td>
</tr>
</table>
### GetInfo {#StreamSocket.GetInfo}
<p>Retrieves creation information from the socket.</p>
#### Request {#StreamSocket.GetInfo_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetInfo_Result'>StreamSocket_GetInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastInterface {#StreamSocket.GetIpMulticastInterface}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#StreamSocket.GetIpMulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastInterface_Result'>BaseNetworkSocket_GetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastLoopback {#StreamSocket.GetIpMulticastLoopback}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#StreamSocket.GetIpMulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastLoopback_Result'>BaseNetworkSocket_GetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastTtl {#StreamSocket.GetIpMulticastTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#StreamSocket.GetIpMulticastTtl_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastTtl_Result'>BaseNetworkSocket_GetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpPacketInfo {#StreamSocket.GetIpPacketInfo}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#StreamSocket.GetIpPacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpPacketInfo_Result'>BaseNetworkSocket_GetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTtl {#StreamSocket.GetIpReceiveTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#StreamSocket.GetIpReceiveTtl_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTtl_Result'>BaseNetworkSocket_GetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTypeOfService {#StreamSocket.GetIpReceiveTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#StreamSocket.GetIpReceiveTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTypeOfService_Result'>BaseNetworkSocket_GetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpTtl {#StreamSocket.GetIpTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#StreamSocket.GetIpTtl_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTtl_Result'>BaseNetworkSocket_GetIpTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpTypeOfService {#StreamSocket.GetIpTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#StreamSocket.GetIpTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTypeOfService_Result'>BaseNetworkSocket_GetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastHops {#StreamSocket.GetIpv6MulticastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#StreamSocket.GetIpv6MulticastHops_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastHops_Result'>BaseNetworkSocket_GetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastInterface {#StreamSocket.GetIpv6MulticastInterface}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#StreamSocket.GetIpv6MulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastInterface_Result'>BaseNetworkSocket_GetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastLoopback {#StreamSocket.GetIpv6MulticastLoopback}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#StreamSocket.GetIpv6MulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastLoopback_Result'>BaseNetworkSocket_GetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpv6Only {#StreamSocket.GetIpv6Only}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#StreamSocket.GetIpv6Only_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6Only_Result'>BaseNetworkSocket_GetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveHopLimit {#StreamSocket.GetIpv6ReceiveHopLimit}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#StreamSocket.GetIpv6ReceiveHopLimit_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceivePacketInfo {#StreamSocket.GetIpv6ReceivePacketInfo}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#StreamSocket.GetIpv6ReceivePacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveTrafficClass {#StreamSocket.GetIpv6ReceiveTrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#StreamSocket.GetIpv6ReceiveTrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6TrafficClass {#StreamSocket.GetIpv6TrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code>.</p>
#### Request {#StreamSocket.GetIpv6TrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6TrafficClass_Result'>BaseNetworkSocket_GetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6UnicastHops {#StreamSocket.GetIpv6UnicastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#StreamSocket.GetIpv6UnicastHops_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6UnicastHops_Result'>BaseNetworkSocket_GetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### GetKeepAlive {#StreamSocket.GetKeepAlive}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#StreamSocket.GetKeepAlive_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetKeepAlive_Result'>BaseSocket_GetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### GetLinger {#StreamSocket.GetLinger}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#StreamSocket.GetLinger_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetLinger_Result'>BaseSocket_GetLinger_Result</a></code>
</td>
</tr>
</table>
### GetNoCheck {#StreamSocket.GetNoCheck}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#StreamSocket.GetNoCheck_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetNoCheck_Result'>BaseSocket_GetNoCheck_Result</a></code>
</td>
</tr>
</table>
### GetOutOfBandInline {#StreamSocket.GetOutOfBandInline}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#StreamSocket.GetOutOfBandInline_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetOutOfBandInline_Result'>BaseSocket_GetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### GetPeerName {#StreamSocket.GetPeerName}
<p>Retrieves the remote socket address.</p>
#### Request {#StreamSocket.GetPeerName_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetPeerName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetPeerName_Result'>BaseNetworkSocket_GetPeerName_Result</a></code>
</td>
</tr>
</table>
### GetReceiveBuffer {#StreamSocket.GetReceiveBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#StreamSocket.GetReceiveBuffer_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReceiveBuffer_Result'>BaseSocket_GetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### GetReuseAddress {#StreamSocket.GetReuseAddress}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#StreamSocket.GetReuseAddress_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReuseAddress_Result'>BaseSocket_GetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### GetReusePort {#StreamSocket.GetReusePort}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#StreamSocket.GetReusePort_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReusePort_Result'>BaseSocket_GetReusePort_Result</a></code>
</td>
</tr>
</table>
### GetSendBuffer {#StreamSocket.GetSendBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#StreamSocket.GetSendBuffer_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetSendBuffer_Result'>BaseSocket_GetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### GetSockName {#StreamSocket.GetSockName}
<p>Retrieves the local socket address.</p>
#### Request {#StreamSocket.GetSockName_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetSockName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetSockName_Result'>BaseNetworkSocket_GetSockName_Result</a></code>
</td>
</tr>
</table>
### GetTcpCongestion {#StreamSocket.GetTcpCongestion}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_CONGESTION</code>.</p>
#### Request {#StreamSocket.GetTcpCongestion_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpCongestion_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpCongestion_Result'>StreamSocket_GetTcpCongestion_Result</a></code>
</td>
</tr>
</table>
### GetTcpCork {#StreamSocket.GetTcpCork}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_CORK</code>.</p>
#### Request {#StreamSocket.GetTcpCork_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpCork_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpCork_Result'>StreamSocket_GetTcpCork_Result</a></code>
</td>
</tr>
</table>
### GetTcpDeferAccept {#StreamSocket.GetTcpDeferAccept}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_DEFER_ACCEPT</code>.</p>
#### Request {#StreamSocket.GetTcpDeferAccept_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpDeferAccept_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpDeferAccept_Result'>StreamSocket_GetTcpDeferAccept_Result</a></code>
</td>
</tr>
</table>
### GetTcpInfo {#StreamSocket.GetTcpInfo}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_INFO</code>.</p>
#### Request {#StreamSocket.GetTcpInfo_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpInfo_Result'>StreamSocket_GetTcpInfo_Result</a></code>
</td>
</tr>
</table>
### GetTcpKeepAliveCount {#StreamSocket.GetTcpKeepAliveCount}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_KEEPCNT</code>.</p>
#### Request {#StreamSocket.GetTcpKeepAliveCount_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpKeepAliveCount_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpKeepAliveCount_Result'>StreamSocket_GetTcpKeepAliveCount_Result</a></code>
</td>
</tr>
</table>
### GetTcpKeepAliveIdle {#StreamSocket.GetTcpKeepAliveIdle}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_KEEPIDLE</code>.</p>
#### Request {#StreamSocket.GetTcpKeepAliveIdle_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpKeepAliveIdle_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpKeepAliveIdle_Result'>StreamSocket_GetTcpKeepAliveIdle_Result</a></code>
</td>
</tr>
</table>
### GetTcpKeepAliveInterval {#StreamSocket.GetTcpKeepAliveInterval}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_KEEPINTVL</code>.</p>
#### Request {#StreamSocket.GetTcpKeepAliveInterval_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpKeepAliveInterval_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpKeepAliveInterval_Result'>StreamSocket_GetTcpKeepAliveInterval_Result</a></code>
</td>
</tr>
</table>
### GetTcpLinger {#StreamSocket.GetTcpLinger}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_LINGER2</code>.</p>
#### Request {#StreamSocket.GetTcpLinger_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpLinger_Result'>StreamSocket_GetTcpLinger_Result</a></code>
</td>
</tr>
</table>
### GetTcpMaxSegment {#StreamSocket.GetTcpMaxSegment}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_MAXSEG</code>.</p>
#### Request {#StreamSocket.GetTcpMaxSegment_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpMaxSegment_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpMaxSegment_Result'>StreamSocket_GetTcpMaxSegment_Result</a></code>
</td>
</tr>
</table>
### GetTcpNoDelay {#StreamSocket.GetTcpNoDelay}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_NODELAY</code>.</p>
#### Request {#StreamSocket.GetTcpNoDelay_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpNoDelay_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpNoDelay_Result'>StreamSocket_GetTcpNoDelay_Result</a></code>
</td>
</tr>
</table>
### GetTcpQuickAck {#StreamSocket.GetTcpQuickAck}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_QUICKACK</code>.</p>
#### Request {#StreamSocket.GetTcpQuickAck_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpQuickAck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpQuickAck_Result'>StreamSocket_GetTcpQuickAck_Result</a></code>
</td>
</tr>
</table>
### GetTcpSynCount {#StreamSocket.GetTcpSynCount}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_SYNCNT</code>.</p>
#### Request {#StreamSocket.GetTcpSynCount_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpSynCount_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpSynCount_Result'>StreamSocket_GetTcpSynCount_Result</a></code>
</td>
</tr>
</table>
### GetTcpUserTimeout {#StreamSocket.GetTcpUserTimeout}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_USER_TIMEOUT</code>.</p>
#### Request {#StreamSocket.GetTcpUserTimeout_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpUserTimeout_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpUserTimeout_Result'>StreamSocket_GetTcpUserTimeout_Result</a></code>
</td>
</tr>
</table>
### GetTcpWindowClamp {#StreamSocket.GetTcpWindowClamp}
<p>Get <code>SOL_TCP</code> -&gt; <code>TCP_WINDOW_CLAMP</code>.</p>
#### Request {#StreamSocket.GetTcpWindowClamp_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTcpWindowClamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpWindowClamp_Result'>StreamSocket_GetTcpWindowClamp_Result</a></code>
</td>
</tr>
</table>
### GetTimestamp {#StreamSocket.GetTimestamp}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#StreamSocket.GetTimestamp_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.GetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetTimestamp_Result'>BaseSocket_GetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Listen {#StreamSocket.Listen}
<p>Begins listening for new incoming connections. At most <code>backlog</code>
connections will be buffered.</p>
#### Request {#StreamSocket.Listen_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>backlog</code></td>
<td>
<code>int16</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.Listen_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_Listen_Result'>StreamSocket_Listen_Result</a></code>
</td>
</tr>
</table>
### Query {#StreamSocket.Query}
#### Request {#StreamSocket.Query_Request}
&lt;EMPTY&gt;
#### Response {#StreamSocket.Query_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>protocol</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
</tr>
</table>
### SetBindToDevice {#StreamSocket.SetBindToDevice}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#StreamSocket.SetBindToDevice_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBindToDevice_Result'>BaseSocket_SetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### SetBroadcast {#StreamSocket.SetBroadcast}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#StreamSocket.SetBroadcast_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBroadcast_Result'>BaseSocket_SetBroadcast_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastInterface {#StreamSocket.SetIpMulticastInterface}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#StreamSocket.SetIpMulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
<tr>
<td><code>address</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastInterface_Result'>BaseNetworkSocket_SetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastLoopback {#StreamSocket.SetIpMulticastLoopback}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#StreamSocket.SetIpMulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastLoopback_Result'>BaseNetworkSocket_SetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastTtl {#StreamSocket.SetIpMulticastTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#StreamSocket.SetIpMulticastTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastTtl_Result'>BaseNetworkSocket_SetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpPacketInfo {#StreamSocket.SetIpPacketInfo}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#StreamSocket.SetIpPacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpPacketInfo_Result'>BaseNetworkSocket_SetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTtl {#StreamSocket.SetIpReceiveTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#StreamSocket.SetIpReceiveTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTtl_Result'>BaseNetworkSocket_SetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTypeOfService {#StreamSocket.SetIpReceiveTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#StreamSocket.SetIpReceiveTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTypeOfService_Result'>BaseNetworkSocket_SetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpTtl {#StreamSocket.SetIpTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#StreamSocket.SetIpTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTtl_Result'>BaseNetworkSocket_SetIpTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpTypeOfService {#StreamSocket.SetIpTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#StreamSocket.SetIpTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTypeOfService_Result'>BaseNetworkSocket_SetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastHops {#StreamSocket.SetIpv6MulticastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#StreamSocket.SetIpv6MulticastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastHops_Result'>BaseNetworkSocket_SetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastInterface {#StreamSocket.SetIpv6MulticastInterface}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#StreamSocket.SetIpv6MulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastInterface_Result'>BaseNetworkSocket_SetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastLoopback {#StreamSocket.SetIpv6MulticastLoopback}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#StreamSocket.SetIpv6MulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastLoopback_Result'>BaseNetworkSocket_SetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpv6Only {#StreamSocket.SetIpv6Only}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#StreamSocket.SetIpv6Only_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6Only_Result'>BaseNetworkSocket_SetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveHopLimit {#StreamSocket.SetIpv6ReceiveHopLimit}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#StreamSocket.SetIpv6ReceiveHopLimit_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceivePacketInfo {#StreamSocket.SetIpv6ReceivePacketInfo}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#StreamSocket.SetIpv6ReceivePacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveTrafficClass {#StreamSocket.SetIpv6ReceiveTrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#StreamSocket.SetIpv6ReceiveTrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6TrafficClass {#StreamSocket.SetIpv6TrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code></p>
#### Request {#StreamSocket.SetIpv6TrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6TrafficClass_Result'>BaseNetworkSocket_SetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6UnicastHops {#StreamSocket.SetIpv6UnicastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#StreamSocket.SetIpv6UnicastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6UnicastHops_Result'>BaseNetworkSocket_SetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### SetKeepAlive {#StreamSocket.SetKeepAlive}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#StreamSocket.SetKeepAlive_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetKeepAlive_Result'>BaseSocket_SetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### SetLinger {#StreamSocket.SetLinger}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#StreamSocket.SetLinger_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>linger</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>length_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetLinger_Result'>BaseSocket_SetLinger_Result</a></code>
</td>
</tr>
</table>
### SetNoCheck {#StreamSocket.SetNoCheck}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#StreamSocket.SetNoCheck_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetNoCheck_Result'>BaseSocket_SetNoCheck_Result</a></code>
</td>
</tr>
</table>
### SetOutOfBandInline {#StreamSocket.SetOutOfBandInline}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#StreamSocket.SetOutOfBandInline_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetOutOfBandInline_Result'>BaseSocket_SetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### SetReceiveBuffer {#StreamSocket.SetReceiveBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#StreamSocket.SetReceiveBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReceiveBuffer_Result'>BaseSocket_SetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### SetReuseAddress {#StreamSocket.SetReuseAddress}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#StreamSocket.SetReuseAddress_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReuseAddress_Result'>BaseSocket_SetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### SetReusePort {#StreamSocket.SetReusePort}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#StreamSocket.SetReusePort_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReusePort_Result'>BaseSocket_SetReusePort_Result</a></code>
</td>
</tr>
</table>
### SetSendBuffer {#StreamSocket.SetSendBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#StreamSocket.SetSendBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetSendBuffer_Result'>BaseSocket_SetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### SetTcpCongestion {#StreamSocket.SetTcpCongestion}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_CONGESTION</code>.</p>
#### Request {#StreamSocket.SetTcpCongestion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#TcpCongestionControl'>TcpCongestionControl</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpCongestion_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpCongestion_Result'>StreamSocket_SetTcpCongestion_Result</a></code>
</td>
</tr>
</table>
### SetTcpCork {#StreamSocket.SetTcpCork}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_CORK</code>.</p>
#### Request {#StreamSocket.SetTcpCork_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpCork_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpCork_Result'>StreamSocket_SetTcpCork_Result</a></code>
</td>
</tr>
</table>
### SetTcpDeferAccept {#StreamSocket.SetTcpDeferAccept}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_DEFER_ACCEPT</code>.</p>
#### Request {#StreamSocket.SetTcpDeferAccept_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpDeferAccept_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpDeferAccept_Result'>StreamSocket_SetTcpDeferAccept_Result</a></code>
</td>
</tr>
</table>
### SetTcpKeepAliveCount {#StreamSocket.SetTcpKeepAliveCount}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_KEEPCNT</code>.</p>
#### Request {#StreamSocket.SetTcpKeepAliveCount_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpKeepAliveCount_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpKeepAliveCount_Result'>StreamSocket_SetTcpKeepAliveCount_Result</a></code>
</td>
</tr>
</table>
### SetTcpKeepAliveIdle {#StreamSocket.SetTcpKeepAliveIdle}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_KEEPIDLE</code>.</p>
#### Request {#StreamSocket.SetTcpKeepAliveIdle_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpKeepAliveIdle_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpKeepAliveIdle_Result'>StreamSocket_SetTcpKeepAliveIdle_Result</a></code>
</td>
</tr>
</table>
### SetTcpKeepAliveInterval {#StreamSocket.SetTcpKeepAliveInterval}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_KEEPINTVL</code>.</p>
#### Request {#StreamSocket.SetTcpKeepAliveInterval_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpKeepAliveInterval_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpKeepAliveInterval_Result'>StreamSocket_SetTcpKeepAliveInterval_Result</a></code>
</td>
</tr>
</table>
### SetTcpLinger {#StreamSocket.SetTcpLinger}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_LINGER2</code>.</p>
#### Request {#StreamSocket.SetTcpLinger_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_secs</code></td>
<td>
<code><a class='link' href='#OptionalUint32'>OptionalUint32</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpLinger_Result'>StreamSocket_SetTcpLinger_Result</a></code>
</td>
</tr>
</table>
### SetTcpMaxSegment {#StreamSocket.SetTcpMaxSegment}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_MAXSEG</code>.</p>
#### Request {#StreamSocket.SetTcpMaxSegment_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpMaxSegment_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpMaxSegment_Result'>StreamSocket_SetTcpMaxSegment_Result</a></code>
</td>
</tr>
</table>
### SetTcpNoDelay {#StreamSocket.SetTcpNoDelay}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_NODELAY</code>.</p>
#### Request {#StreamSocket.SetTcpNoDelay_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpNoDelay_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpNoDelay_Result'>StreamSocket_SetTcpNoDelay_Result</a></code>
</td>
</tr>
</table>
### SetTcpQuickAck {#StreamSocket.SetTcpQuickAck}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_QUICKACK</code>.</p>
#### Request {#StreamSocket.SetTcpQuickAck_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpQuickAck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpQuickAck_Result'>StreamSocket_SetTcpQuickAck_Result</a></code>
</td>
</tr>
</table>
### SetTcpSynCount {#StreamSocket.SetTcpSynCount}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_SYNCNT</code>.</p>
#### Request {#StreamSocket.SetTcpSynCount_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpSynCount_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpSynCount_Result'>StreamSocket_SetTcpSynCount_Result</a></code>
</td>
</tr>
</table>
### SetTcpUserTimeout {#StreamSocket.SetTcpUserTimeout}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_USER_TIMEOUT</code>.</p>
#### Request {#StreamSocket.SetTcpUserTimeout_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_millis</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpUserTimeout_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpUserTimeout_Result'>StreamSocket_SetTcpUserTimeout_Result</a></code>
</td>
</tr>
</table>
### SetTcpWindowClamp {#StreamSocket.SetTcpWindowClamp}
<p>Set <code>SOL_TCP</code> -&gt; <code>TCP_WINDOW_CLAMP</code>.</p>
#### Request {#StreamSocket.SetTcpWindowClamp_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTcpWindowClamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpWindowClamp_Result'>StreamSocket_SetTcpWindowClamp_Result</a></code>
</td>
</tr>
</table>
### SetTimestamp {#StreamSocket.SetTimestamp}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#StreamSocket.SetTimestamp_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.SetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetTimestamp_Result'>BaseSocket_SetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Shutdown {#StreamSocket.Shutdown}
<p>Shuts down part of the socket.</p>
#### Request {#StreamSocket.Shutdown_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>mode</code></td>
<td>
<code><a class='link' href='#ShutdownMode'>ShutdownMode</a></code>
</td>
</tr>
</table>
#### Response {#StreamSocket.Shutdown_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Shutdown_Result'>BaseNetworkSocket_Shutdown_Result</a></code>
</td>
</tr>
</table>
## SynchronousDatagramSocket {#SynchronousDatagramSocket}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=734)*
<p>A synchronous datagram socket.</p>
<p>This protocol defines synchronous methods for sending and receiving datagram
payloads over a channel. All methods are nonblocking; their behavior roughly
matches their Linux counterparts.</p>
<p><em>Warning:</em> This protocol is not yet ready for direct use by clients.
Instead, clients should use the BSD sockets API to interact with sockets.
We plan to change this protocol substantially and clients that couple
directly to this protocol will make those changes more difficult.</p>
### AddIpMembership {#SynchronousDatagramSocket.AddIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_ADD_MEMBERSHIP</code></p>
#### Request {#SynchronousDatagramSocket.AddIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.AddIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpMembership_Result'>BaseNetworkSocket_AddIpMembership_Result</a></code>
</td>
</tr>
</table>
### AddIpv6Membership {#SynchronousDatagramSocket.AddIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_ADD_MEMBERSHIP</code>.</p>
#### Request {#SynchronousDatagramSocket.AddIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.AddIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpv6Membership_Result'>BaseNetworkSocket_AddIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### Bind {#SynchronousDatagramSocket.Bind}
<p>Sets the local address used for the socket.</p>
#### Request {#SynchronousDatagramSocket.Bind_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.Bind_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Bind_Result'>BaseNetworkSocket_Bind_Result</a></code>
</td>
</tr>
</table>
### Clone2 {#SynchronousDatagramSocket.Clone2}
#### Request {#SynchronousDatagramSocket.Clone2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>request</code></td>
<td>
<code>server_end&lt;<a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Cloneable'>Cloneable</a>&gt;</code>
</td>
</tr>
</table>
### Close {#SynchronousDatagramSocket.Close}
<p>Terminates the connection.</p>
<p>After calling <code>Close</code>, the client must not send any other requests.</p>
<p>Servers, after sending the status response, should close the connection
regardless of status and without sending an epitaph.</p>
<p>Closing the client end of the channel should be semantically equivalent
to calling <code>Close</code> without knowing when the close has completed or its
status.</p>
#### Request {#SynchronousDatagramSocket.Close_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.Close_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='../fuchsia.unknown/'>fuchsia.unknown</a>/<a class='link' href='../fuchsia.unknown/#Closeable_Close_Result'>Closeable_Close_Result</a></code>
</td>
</tr>
</table>
### Connect {#SynchronousDatagramSocket.Connect}
<p>Initiates a connection to a remote address.</p>
#### Request {#SynchronousDatagramSocket.Connect_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.Connect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Connect_Result'>BaseNetworkSocket_Connect_Result</a></code>
</td>
</tr>
</table>
### Describe {#SynchronousDatagramSocket.Describe}
#### Request {#SynchronousDatagramSocket.Describe_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.Describe_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>payload</code></td>
<td>
<code><a class='link' href='#SynchronousDatagramSocketDescribeResponse'>SynchronousDatagramSocketDescribeResponse</a></code>
</td>
</tr>
</table>
### Disconnect {#SynchronousDatagramSocket.Disconnect}
<p>Clears connection information from this socket.</p>
#### Request {#SynchronousDatagramSocket.Disconnect_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.Disconnect_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Disconnect_Result'>BaseNetworkSocket_Disconnect_Result</a></code>
</td>
</tr>
</table>
### DropIpMembership {#SynchronousDatagramSocket.DropIpMembership}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_DROP_MEMBERSHIP</code></p>
#### Request {#SynchronousDatagramSocket.DropIpMembership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#IpMulticastMembership'>IpMulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.DropIpMembership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpMembership_Result'>BaseNetworkSocket_DropIpMembership_Result</a></code>
</td>
</tr>
</table>
### DropIpv6Membership {#SynchronousDatagramSocket.DropIpv6Membership}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_DROP_MEMBERSHIP</code>.</p>
#### Request {#SynchronousDatagramSocket.DropIpv6Membership_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>membership</code></td>
<td>
<code><a class='link' href='#Ipv6MulticastMembership'>Ipv6MulticastMembership</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.DropIpv6Membership_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpv6Membership_Result'>BaseNetworkSocket_DropIpv6Membership_Result</a></code>
</td>
</tr>
</table>
### GetAcceptConn {#SynchronousDatagramSocket.GetAcceptConn}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ACCEPTCONN</code>.</p>
#### Request {#SynchronousDatagramSocket.GetAcceptConn_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetAcceptConn_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetAcceptConn_Result'>BaseSocket_GetAcceptConn_Result</a></code>
</td>
</tr>
</table>
### GetBindToDevice {#SynchronousDatagramSocket.GetBindToDevice}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#SynchronousDatagramSocket.GetBindToDevice_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBindToDevice_Result'>BaseSocket_GetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### GetBroadcast {#SynchronousDatagramSocket.GetBroadcast}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#SynchronousDatagramSocket.GetBroadcast_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBroadcast_Result'>BaseSocket_GetBroadcast_Result</a></code>
</td>
</tr>
</table>
### GetError {#SynchronousDatagramSocket.GetError}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_ERROR</code>.
Returns the last error if there is an error set on the socket.</p>
#### Request {#SynchronousDatagramSocket.GetError_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetError_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetError_Result'>BaseSocket_GetError_Result</a></code>
</td>
</tr>
</table>
### GetInfo {#SynchronousDatagramSocket.GetInfo}
<p>Retrieves creation information from the socket.</p>
<ul>
<li>response <code>domain</code> the socket's associated domain.</li>
<li>response <code>proto</code> the socket's associated protocol.</li>
</ul>
#### Request {#SynchronousDatagramSocket.GetInfo_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseDatagramSocket_GetInfo_Result'>BaseDatagramSocket_GetInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastInterface {#SynchronousDatagramSocket.GetIpMulticastInterface}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpMulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastInterface_Result'>BaseNetworkSocket_GetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastLoopback {#SynchronousDatagramSocket.GetIpMulticastLoopback}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpMulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastLoopback_Result'>BaseNetworkSocket_GetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpMulticastTtl {#SynchronousDatagramSocket.GetIpMulticastTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpMulticastTtl_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastTtl_Result'>BaseNetworkSocket_GetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpPacketInfo {#SynchronousDatagramSocket.GetIpPacketInfo}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpPacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpPacketInfo_Result'>BaseNetworkSocket_GetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTtl {#SynchronousDatagramSocket.GetIpReceiveTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpReceiveTtl_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTtl_Result'>BaseNetworkSocket_GetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpReceiveTypeOfService {#SynchronousDatagramSocket.GetIpReceiveTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpReceiveTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTypeOfService_Result'>BaseNetworkSocket_GetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpTtl {#SynchronousDatagramSocket.GetIpTtl}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpTtl_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTtl_Result'>BaseNetworkSocket_GetIpTtl_Result</a></code>
</td>
</tr>
</table>
### GetIpTypeOfService {#SynchronousDatagramSocket.GetIpTypeOfService}
<p>Get <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpTypeOfService_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTypeOfService_Result'>BaseNetworkSocket_GetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastHops {#SynchronousDatagramSocket.GetIpv6MulticastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6MulticastHops_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastHops_Result'>BaseNetworkSocket_GetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastInterface {#SynchronousDatagramSocket.GetIpv6MulticastInterface}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6MulticastInterface_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastInterface_Result'>BaseNetworkSocket_GetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### GetIpv6MulticastLoopback {#SynchronousDatagramSocket.GetIpv6MulticastLoopback}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6MulticastLoopback_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastLoopback_Result'>BaseNetworkSocket_GetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### GetIpv6Only {#SynchronousDatagramSocket.GetIpv6Only}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6Only_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6Only_Result'>BaseNetworkSocket_GetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveHopLimit {#SynchronousDatagramSocket.GetIpv6ReceiveHopLimit}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6ReceiveHopLimit_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceivePacketInfo {#SynchronousDatagramSocket.GetIpv6ReceivePacketInfo}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6ReceivePacketInfo_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### GetIpv6ReceiveTrafficClass {#SynchronousDatagramSocket.GetIpv6ReceiveTrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6ReceiveTrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6TrafficClass {#SynchronousDatagramSocket.GetIpv6TrafficClass}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6TrafficClass_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6TrafficClass_Result'>BaseNetworkSocket_GetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### GetIpv6UnicastHops {#SynchronousDatagramSocket.GetIpv6UnicastHops}
<p>Get <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#SynchronousDatagramSocket.GetIpv6UnicastHops_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6UnicastHops_Result'>BaseNetworkSocket_GetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### GetKeepAlive {#SynchronousDatagramSocket.GetKeepAlive}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#SynchronousDatagramSocket.GetKeepAlive_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetKeepAlive_Result'>BaseSocket_GetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### GetLinger {#SynchronousDatagramSocket.GetLinger}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#SynchronousDatagramSocket.GetLinger_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetLinger_Result'>BaseSocket_GetLinger_Result</a></code>
</td>
</tr>
</table>
### GetNoCheck {#SynchronousDatagramSocket.GetNoCheck}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#SynchronousDatagramSocket.GetNoCheck_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetNoCheck_Result'>BaseSocket_GetNoCheck_Result</a></code>
</td>
</tr>
</table>
### GetOutOfBandInline {#SynchronousDatagramSocket.GetOutOfBandInline}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#SynchronousDatagramSocket.GetOutOfBandInline_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetOutOfBandInline_Result'>BaseSocket_GetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### GetPeerName {#SynchronousDatagramSocket.GetPeerName}
<p>Retrieves the remote socket address.</p>
#### Request {#SynchronousDatagramSocket.GetPeerName_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetPeerName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetPeerName_Result'>BaseNetworkSocket_GetPeerName_Result</a></code>
</td>
</tr>
</table>
### GetReceiveBuffer {#SynchronousDatagramSocket.GetReceiveBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#SynchronousDatagramSocket.GetReceiveBuffer_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReceiveBuffer_Result'>BaseSocket_GetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### GetReuseAddress {#SynchronousDatagramSocket.GetReuseAddress}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#SynchronousDatagramSocket.GetReuseAddress_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReuseAddress_Result'>BaseSocket_GetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### GetReusePort {#SynchronousDatagramSocket.GetReusePort}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#SynchronousDatagramSocket.GetReusePort_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReusePort_Result'>BaseSocket_GetReusePort_Result</a></code>
</td>
</tr>
</table>
### GetSendBuffer {#SynchronousDatagramSocket.GetSendBuffer}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#SynchronousDatagramSocket.GetSendBuffer_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetSendBuffer_Result'>BaseSocket_GetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### GetSockName {#SynchronousDatagramSocket.GetSockName}
<p>Retrieves the local socket address.</p>
#### Request {#SynchronousDatagramSocket.GetSockName_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetSockName_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetSockName_Result'>BaseNetworkSocket_GetSockName_Result</a></code>
</td>
</tr>
</table>
### GetTimestamp {#SynchronousDatagramSocket.GetTimestamp}
<p>Get <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#SynchronousDatagramSocket.GetTimestamp_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.GetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetTimestamp_Result'>BaseSocket_GetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Query {#SynchronousDatagramSocket.Query}
#### Request {#SynchronousDatagramSocket.Query_Request}
&lt;EMPTY&gt;
#### Response {#SynchronousDatagramSocket.Query_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>protocol</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
</tr>
</table>
### RecvMsg {#SynchronousDatagramSocket.RecvMsg}
<p>Receives a message from the socket.</p>
<ul>
<li>request <code>want_addr</code> request message's source address information to
be returned.</li>
<li>request <code>data_len</code> the maximum allowed length of the response data
buffer.</li>
<li>request <code>want_control</code> request ancillary data to be returned.</li>
<li>request <code>flags</code> flags for the receive request.</li>
</ul>
<ul>
<li>response <code>addr</code> the message's source address information, if
requested.</li>
<li>response <code>data</code> the message.</li>
<li>response <code>control</code> control messages, if requested.</li>
<li>response <code>truncated</code> indicates whether or not the returned message
was truncated.</li>
</ul>
#### Request {#SynchronousDatagramSocket.RecvMsg_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>want_addr</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>data_len</code></td>
<td>
<code>uint32</code>
</td>
</tr>
<tr>
<td><code>want_control</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>flags</code></td>
<td>
<code><a class='link' href='#RecvMsgFlags'>RecvMsgFlags</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.RecvMsg_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#SynchronousDatagramSocket_RecvMsg_Result'>SynchronousDatagramSocket_RecvMsg_Result</a></code>
</td>
</tr>
</table>
### SendMsg {#SynchronousDatagramSocket.SendMsg}
<p>Sends a message on the socket.</p>
<ul>
<li>request <code>addr</code> the address to send the message to. If unset, will send
to the connected peer.</li>
<li>request <code>data</code> the message.</li>
<li>request <code>control</code> ancillary data.</li>
<li>request <code>flags</code> flags for the send request.</li>
</ul>
<ul>
<li>response <code>len</code> the number of bytes sent.</li>
</ul>
#### Request {#SynchronousDatagramSocket.SendMsg_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a>?</code>
</td>
</tr>
<tr>
<td><code>data</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
</tr>
<tr>
<td><code>control</code></td>
<td>
<code><a class='link' href='#DatagramSocketSendControlData'>DatagramSocketSendControlData</a></code>
</td>
</tr>
<tr>
<td><code>flags</code></td>
<td>
<code><a class='link' href='#SendMsgFlags'>SendMsgFlags</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SendMsg_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#SynchronousDatagramSocket_SendMsg_Result'>SynchronousDatagramSocket_SendMsg_Result</a></code>
</td>
</tr>
</table>
### SetBindToDevice {#SynchronousDatagramSocket.SetBindToDevice}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BINDTODEVICE</code>.</p>
#### Request {#SynchronousDatagramSocket.SetBindToDevice_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetBindToDevice_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBindToDevice_Result'>BaseSocket_SetBindToDevice_Result</a></code>
</td>
</tr>
</table>
### SetBroadcast {#SynchronousDatagramSocket.SetBroadcast}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_BROADCAST</code>.</p>
#### Request {#SynchronousDatagramSocket.SetBroadcast_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetBroadcast_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBroadcast_Result'>BaseSocket_SetBroadcast_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastInterface {#SynchronousDatagramSocket.SetIpMulticastInterface}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_IF</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpMulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
<tr>
<td><code>address</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpMulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastInterface_Result'>BaseNetworkSocket_SetIpMulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastLoopback {#SynchronousDatagramSocket.SetIpMulticastLoopback}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_LOOP</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpMulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpMulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastLoopback_Result'>BaseNetworkSocket_SetIpMulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpMulticastTtl {#SynchronousDatagramSocket.SetIpMulticastTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_MULTICAST_TTL</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpMulticastTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpMulticastTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastTtl_Result'>BaseNetworkSocket_SetIpMulticastTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpPacketInfo {#SynchronousDatagramSocket.SetIpPacketInfo}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_PKTINFO</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpPacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpPacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpPacketInfo_Result'>BaseNetworkSocket_SetIpPacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTtl {#SynchronousDatagramSocket.SetIpReceiveTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpReceiveTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpReceiveTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTtl_Result'>BaseNetworkSocket_SetIpReceiveTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpReceiveTypeOfService {#SynchronousDatagramSocket.SetIpReceiveTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpReceiveTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpReceiveTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTypeOfService_Result'>BaseNetworkSocket_SetIpReceiveTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpTtl {#SynchronousDatagramSocket.SetIpTtl}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TTL</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpTtl_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpTtl_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTtl_Result'>BaseNetworkSocket_SetIpTtl_Result</a></code>
</td>
</tr>
</table>
### SetIpTypeOfService {#SynchronousDatagramSocket.SetIpTypeOfService}
<p>Set <code>SOL_IP</code> -&gt; <code>IP_TOS</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpTypeOfService_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpTypeOfService_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTypeOfService_Result'>BaseNetworkSocket_SetIpTypeOfService_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastHops {#SynchronousDatagramSocket.SetIpv6MulticastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_HOPS</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6MulticastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6MulticastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastHops_Result'>BaseNetworkSocket_SetIpv6MulticastHops_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastInterface {#SynchronousDatagramSocket.SetIpv6MulticastInterface}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_IF</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6MulticastInterface_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6MulticastInterface_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastInterface_Result'>BaseNetworkSocket_SetIpv6MulticastInterface_Result</a></code>
</td>
</tr>
</table>
### SetIpv6MulticastLoopback {#SynchronousDatagramSocket.SetIpv6MulticastLoopback}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_MULTICAST_LOOP</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6MulticastLoopback_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6MulticastLoopback_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastLoopback_Result'>BaseNetworkSocket_SetIpv6MulticastLoopback_Result</a></code>
</td>
</tr>
</table>
### SetIpv6Only {#SynchronousDatagramSocket.SetIpv6Only}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_V6ONLY</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6Only_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6Only_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6Only_Result'>BaseNetworkSocket_SetIpv6Only_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveHopLimit {#SynchronousDatagramSocket.SetIpv6ReceiveHopLimit}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6ReceiveHopLimit_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6ReceiveHopLimit_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result'>BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceivePacketInfo {#SynchronousDatagramSocket.SetIpv6ReceivePacketInfo}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6ReceivePacketInfo_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6ReceivePacketInfo_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result'>BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result</a></code>
</td>
</tr>
</table>
### SetIpv6ReceiveTrafficClass {#SynchronousDatagramSocket.SetIpv6ReceiveTrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6ReceiveTrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6ReceiveTrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result'>BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6TrafficClass {#SynchronousDatagramSocket.SetIpv6TrafficClass}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_TCLASS</code></p>
#### Request {#SynchronousDatagramSocket.SetIpv6TrafficClass_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6TrafficClass_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6TrafficClass_Result'>BaseNetworkSocket_SetIpv6TrafficClass_Result</a></code>
</td>
</tr>
</table>
### SetIpv6UnicastHops {#SynchronousDatagramSocket.SetIpv6UnicastHops}
<p>Set <code>SOL_IPV6</code> -&gt; <code>IPV6_UNICAST_HOPS</code>.</p>
#### Request {#SynchronousDatagramSocket.SetIpv6UnicastHops_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#OptionalUint8'>OptionalUint8</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetIpv6UnicastHops_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6UnicastHops_Result'>BaseNetworkSocket_SetIpv6UnicastHops_Result</a></code>
</td>
</tr>
</table>
### SetKeepAlive {#SynchronousDatagramSocket.SetKeepAlive}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_KEEPALIVE</code>.</p>
#### Request {#SynchronousDatagramSocket.SetKeepAlive_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetKeepAlive_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetKeepAlive_Result'>BaseSocket_SetKeepAlive_Result</a></code>
</td>
</tr>
</table>
### SetLinger {#SynchronousDatagramSocket.SetLinger}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_LINGER</code>.</p>
#### Request {#SynchronousDatagramSocket.SetLinger_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>linger</code></td>
<td>
<code>bool</code>
</td>
</tr>
<tr>
<td><code>length_secs</code></td>
<td>
<code>uint32</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetLinger_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetLinger_Result'>BaseSocket_SetLinger_Result</a></code>
</td>
</tr>
</table>
### SetNoCheck {#SynchronousDatagramSocket.SetNoCheck}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_NO_CHECK</code>.</p>
#### Request {#SynchronousDatagramSocket.SetNoCheck_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetNoCheck_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetNoCheck_Result'>BaseSocket_SetNoCheck_Result</a></code>
</td>
</tr>
</table>
### SetOutOfBandInline {#SynchronousDatagramSocket.SetOutOfBandInline}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_OOBINLINE</code>.</p>
#### Request {#SynchronousDatagramSocket.SetOutOfBandInline_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetOutOfBandInline_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetOutOfBandInline_Result'>BaseSocket_SetOutOfBandInline_Result</a></code>
</td>
</tr>
</table>
### SetReceiveBuffer {#SynchronousDatagramSocket.SetReceiveBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_RCVBUF</code>.</p>
#### Request {#SynchronousDatagramSocket.SetReceiveBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetReceiveBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReceiveBuffer_Result'>BaseSocket_SetReceiveBuffer_Result</a></code>
</td>
</tr>
</table>
### SetReuseAddress {#SynchronousDatagramSocket.SetReuseAddress}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEADDR</code>.</p>
#### Request {#SynchronousDatagramSocket.SetReuseAddress_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetReuseAddress_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReuseAddress_Result'>BaseSocket_SetReuseAddress_Result</a></code>
</td>
</tr>
</table>
### SetReusePort {#SynchronousDatagramSocket.SetReusePort}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_REUSEPORT</code>.</p>
#### Request {#SynchronousDatagramSocket.SetReusePort_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetReusePort_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReusePort_Result'>BaseSocket_SetReusePort_Result</a></code>
</td>
</tr>
</table>
### SetSendBuffer {#SynchronousDatagramSocket.SetSendBuffer}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_SNDBUF</code>.</p>
#### Request {#SynchronousDatagramSocket.SetSendBuffer_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetSendBuffer_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetSendBuffer_Result'>BaseSocket_SetSendBuffer_Result</a></code>
</td>
</tr>
</table>
### SetTimestamp {#SynchronousDatagramSocket.SetTimestamp}
<p>Set <code>SOL_SOCKET</code> -&gt; <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code>.</p>
#### Request {#SynchronousDatagramSocket.SetTimestamp_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.SetTimestamp_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetTimestamp_Result'>BaseSocket_SetTimestamp_Result</a></code>
</td>
</tr>
</table>
### Shutdown {#SynchronousDatagramSocket.Shutdown}
<p>Shuts down part of the socket.</p>
#### Request {#SynchronousDatagramSocket.Shutdown_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>mode</code></td>
<td>
<code><a class='link' href='#ShutdownMode'>ShutdownMode</a></code>
</td>
</tr>
</table>
#### Response {#SynchronousDatagramSocket.Shutdown_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>result</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Shutdown_Result'>BaseNetworkSocket_Shutdown_Result</a></code>
</td>
</tr>
</table>
## **STRUCTS**
### BaseDatagramSocket_GetInfo_Response {#BaseDatagramSocket_GetInfo_Response data-text="BaseDatagramSocket_GetInfo_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=585)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseDatagramSocket_GetInfo_Response.domain">
<td><code>domain</code></td>
<td>
<code><a class='link' href='#Domain'>Domain</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="BaseDatagramSocket_GetInfo_Response.proto">
<td><code>proto</code></td>
<td>
<code><a class='link' href='#DatagramSocketProtocol'>DatagramSocketProtocol</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_AddIpMembership_Response {#BaseNetworkSocket_AddIpMembership_Response data-text="BaseNetworkSocket_AddIpMembership_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=286)*
&lt;EMPTY&gt;
### BaseNetworkSocket_AddIpv6Membership_Response {#BaseNetworkSocket_AddIpv6Membership_Response data-text="BaseNetworkSocket_AddIpv6Membership_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=295)*
&lt;EMPTY&gt;
### BaseNetworkSocket_Bind_Response {#BaseNetworkSocket_Bind_Response data-text="BaseNetworkSocket_Bind_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=186)*
&lt;EMPTY&gt;
### BaseNetworkSocket_Connect_Response {#BaseNetworkSocket_Connect_Response data-text="BaseNetworkSocket_Connect_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=190)*
&lt;EMPTY&gt;
### BaseNetworkSocket_Disconnect_Response {#BaseNetworkSocket_Disconnect_Response data-text="BaseNetworkSocket_Disconnect_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=192)*
&lt;EMPTY&gt;
### BaseNetworkSocket_DropIpMembership_Response {#BaseNetworkSocket_DropIpMembership_Response data-text="BaseNetworkSocket_DropIpMembership_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=290)*
&lt;EMPTY&gt;
### BaseNetworkSocket_DropIpv6Membership_Response {#BaseNetworkSocket_DropIpv6Membership_Response data-text="BaseNetworkSocket_DropIpv6Membership_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=299)*
&lt;EMPTY&gt;
### BaseNetworkSocket_GetIpMulticastInterface_Response {#BaseNetworkSocket_GetIpMulticastInterface_Response data-text="BaseNetworkSocket_GetIpMulticastInterface_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=259)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpMulticastInterface_Response.value">
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpMulticastLoopback_Response {#BaseNetworkSocket_GetIpMulticastLoopback_Response data-text="BaseNetworkSocket_GetIpMulticastLoopback_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=279)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpMulticastLoopback_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpMulticastTtl_Response {#BaseNetworkSocket_GetIpMulticastTtl_Response data-text="BaseNetworkSocket_GetIpMulticastTtl_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=270)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpMulticastTtl_Response.value">
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpPacketInfo_Response {#BaseNetworkSocket_GetIpPacketInfo_Response data-text="BaseNetworkSocket_GetIpPacketInfo_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=231)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpPacketInfo_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpReceiveTtl_Response {#BaseNetworkSocket_GetIpReceiveTtl_Response data-text="BaseNetworkSocket_GetIpReceiveTtl_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=249)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpReceiveTtl_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpReceiveTypeOfService_Response {#BaseNetworkSocket_GetIpReceiveTypeOfService_Response data-text="BaseNetworkSocket_GetIpReceiveTypeOfService_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=240)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpReceiveTypeOfService_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpTtl_Response {#BaseNetworkSocket_GetIpTtl_Response data-text="BaseNetworkSocket_GetIpTtl_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=222)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpTtl_Response.value">
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpTypeOfService_Response {#BaseNetworkSocket_GetIpTypeOfService_Response data-text="BaseNetworkSocket_GetIpTypeOfService_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=211)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpTypeOfService_Response.value">
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6MulticastHops_Response {#BaseNetworkSocket_GetIpv6MulticastHops_Response data-text="BaseNetworkSocket_GetIpv6MulticastHops_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=338)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastHops_Response.value">
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6MulticastInterface_Response {#BaseNetworkSocket_GetIpv6MulticastInterface_Response data-text="BaseNetworkSocket_GetIpv6MulticastInterface_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=306)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastInterface_Response.value">
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6MulticastLoopback_Response {#BaseNetworkSocket_GetIpv6MulticastLoopback_Response data-text="BaseNetworkSocket_GetIpv6MulticastLoopback_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=347)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastLoopback_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6Only_Response {#BaseNetworkSocket_GetIpv6Only_Response data-text="BaseNetworkSocket_GetIpv6Only_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=356)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6Only_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6ReceiveHopLimit_Response {#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Response data-text="BaseNetworkSocket_GetIpv6ReceiveHopLimit_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=327)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6ReceiveHopLimit_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6ReceivePacketInfo_Response {#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Response data-text="BaseNetworkSocket_GetIpv6ReceivePacketInfo_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=389)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6ReceivePacketInfo_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Response {#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Response data-text="BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=367)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6TrafficClass_Response {#BaseNetworkSocket_GetIpv6TrafficClass_Response data-text="BaseNetworkSocket_GetIpv6TrafficClass_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=380)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6TrafficClass_Response.value">
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6UnicastHops_Response {#BaseNetworkSocket_GetIpv6UnicastHops_Response data-text="BaseNetworkSocket_GetIpv6UnicastHops_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=318)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetIpv6UnicastHops_Response.value">
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetPeerName_Response {#BaseNetworkSocket_GetPeerName_Response data-text="BaseNetworkSocket_GetPeerName_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=198)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetPeerName_Response.addr">
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_GetSockName_Response {#BaseNetworkSocket_GetSockName_Response data-text="BaseNetworkSocket_GetSockName_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=194)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseNetworkSocket_GetSockName_Response.addr">
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseNetworkSocket_SetIpMulticastInterface_Response {#BaseNetworkSocket_SetIpMulticastInterface_Response data-text="BaseNetworkSocket_SetIpMulticastInterface_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=257)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpMulticastLoopback_Response {#BaseNetworkSocket_SetIpMulticastLoopback_Response data-text="BaseNetworkSocket_SetIpMulticastLoopback_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=277)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpMulticastTtl_Response {#BaseNetworkSocket_SetIpMulticastTtl_Response data-text="BaseNetworkSocket_SetIpMulticastTtl_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=268)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpPacketInfo_Response {#BaseNetworkSocket_SetIpPacketInfo_Response data-text="BaseNetworkSocket_SetIpPacketInfo_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=229)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpReceiveTtl_Response {#BaseNetworkSocket_SetIpReceiveTtl_Response data-text="BaseNetworkSocket_SetIpReceiveTtl_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=247)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpReceiveTypeOfService_Response {#BaseNetworkSocket_SetIpReceiveTypeOfService_Response data-text="BaseNetworkSocket_SetIpReceiveTypeOfService_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=238)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpTtl_Response {#BaseNetworkSocket_SetIpTtl_Response data-text="BaseNetworkSocket_SetIpTtl_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=220)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpTypeOfService_Response {#BaseNetworkSocket_SetIpTypeOfService_Response data-text="BaseNetworkSocket_SetIpTypeOfService_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=209)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6MulticastHops_Response {#BaseNetworkSocket_SetIpv6MulticastHops_Response data-text="BaseNetworkSocket_SetIpv6MulticastHops_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=336)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6MulticastInterface_Response {#BaseNetworkSocket_SetIpv6MulticastInterface_Response data-text="BaseNetworkSocket_SetIpv6MulticastInterface_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=304)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6MulticastLoopback_Response {#BaseNetworkSocket_SetIpv6MulticastLoopback_Response data-text="BaseNetworkSocket_SetIpv6MulticastLoopback_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=345)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6Only_Response {#BaseNetworkSocket_SetIpv6Only_Response data-text="BaseNetworkSocket_SetIpv6Only_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=354)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6ReceiveHopLimit_Response {#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Response data-text="BaseNetworkSocket_SetIpv6ReceiveHopLimit_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=325)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6ReceivePacketInfo_Response {#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Response data-text="BaseNetworkSocket_SetIpv6ReceivePacketInfo_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=387)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Response {#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Response data-text="BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=365)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6TrafficClass_Response {#BaseNetworkSocket_SetIpv6TrafficClass_Response data-text="BaseNetworkSocket_SetIpv6TrafficClass_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=378)*
&lt;EMPTY&gt;
### BaseNetworkSocket_SetIpv6UnicastHops_Response {#BaseNetworkSocket_SetIpv6UnicastHops_Response data-text="BaseNetworkSocket_SetIpv6UnicastHops_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=316)*
&lt;EMPTY&gt;
### BaseNetworkSocket_Shutdown_Response {#BaseNetworkSocket_Shutdown_Response data-text="BaseNetworkSocket_Shutdown_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=204)*
&lt;EMPTY&gt;
### BaseSocket_GetAcceptConn_Response {#BaseSocket_GetAcceptConn_Response data-text="BaseSocket_GetAcceptConn_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=153)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetAcceptConn_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetBindToDevice_Response {#BaseSocket_GetBindToDevice_Response data-text="BaseSocket_GetBindToDevice_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=162)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetBindToDevice_Response.value">
<td><code>value</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetBroadcast_Response {#BaseSocket_GetBroadcast_Response data-text="BaseSocket_GetBroadcast_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=76)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetBroadcast_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetError_Response {#BaseSocket_GetError_Response data-text="BaseSocket_GetError_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=69)*
&lt;EMPTY&gt;
### BaseSocket_GetKeepAlive_Response {#BaseSocket_GetKeepAlive_Response data-text="BaseSocket_GetKeepAlive_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=103)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetKeepAlive_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetLinger_Response {#BaseSocket_GetLinger_Response data-text="BaseSocket_GetLinger_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=131)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetLinger_Response.linger">
<td><code>linger</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="BaseSocket_GetLinger_Response.length_secs">
<td><code>length_secs</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetNoCheck_Response {#BaseSocket_GetNoCheck_Response data-text="BaseSocket_GetNoCheck_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=121)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetNoCheck_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetOutOfBandInline_Response {#BaseSocket_GetOutOfBandInline_Response data-text="BaseSocket_GetOutOfBandInline_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=112)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetOutOfBandInline_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetReceiveBuffer_Response {#BaseSocket_GetReceiveBuffer_Response data-text="BaseSocket_GetReceiveBuffer_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=94)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetReceiveBuffer_Response.value_bytes">
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetReuseAddress_Response {#BaseSocket_GetReuseAddress_Response data-text="BaseSocket_GetReuseAddress_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=60)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetReuseAddress_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetReusePort_Response {#BaseSocket_GetReusePort_Response data-text="BaseSocket_GetReusePort_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=141)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetReusePort_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetSendBuffer_Response {#BaseSocket_GetSendBuffer_Response data-text="BaseSocket_GetSendBuffer_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=85)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetSendBuffer_Response.value_bytes">
<td><code>value_bytes</code></td>
<td>
<code>uint64</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_GetTimestamp_Response {#BaseSocket_GetTimestamp_Response data-text="BaseSocket_GetTimestamp_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=174)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="BaseSocket_GetTimestamp_Response.value">
<td><code>value</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### BaseSocket_SetBindToDevice_Response {#BaseSocket_SetBindToDevice_Response data-text="BaseSocket_SetBindToDevice_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=160)*
&lt;EMPTY&gt;
### BaseSocket_SetBroadcast_Response {#BaseSocket_SetBroadcast_Response data-text="BaseSocket_SetBroadcast_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=74)*
&lt;EMPTY&gt;
### BaseSocket_SetKeepAlive_Response {#BaseSocket_SetKeepAlive_Response data-text="BaseSocket_SetKeepAlive_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=101)*
&lt;EMPTY&gt;
### BaseSocket_SetLinger_Response {#BaseSocket_SetLinger_Response data-text="BaseSocket_SetLinger_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=129)*
&lt;EMPTY&gt;
### BaseSocket_SetNoCheck_Response {#BaseSocket_SetNoCheck_Response data-text="BaseSocket_SetNoCheck_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=119)*
&lt;EMPTY&gt;
### BaseSocket_SetOutOfBandInline_Response {#BaseSocket_SetOutOfBandInline_Response data-text="BaseSocket_SetOutOfBandInline_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=110)*
&lt;EMPTY&gt;
### BaseSocket_SetReceiveBuffer_Response {#BaseSocket_SetReceiveBuffer_Response data-text="BaseSocket_SetReceiveBuffer_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=92)*
&lt;EMPTY&gt;
### BaseSocket_SetReuseAddress_Response {#BaseSocket_SetReuseAddress_Response data-text="BaseSocket_SetReuseAddress_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=58)*
&lt;EMPTY&gt;
### BaseSocket_SetReusePort_Response {#BaseSocket_SetReusePort_Response data-text="BaseSocket_SetReusePort_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=139)*
&lt;EMPTY&gt;
### BaseSocket_SetSendBuffer_Response {#BaseSocket_SetSendBuffer_Response data-text="BaseSocket_SetSendBuffer_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=83)*
&lt;EMPTY&gt;
### BaseSocket_SetTimestamp_Response {#BaseSocket_SetTimestamp_Response data-text="BaseSocket_SetTimestamp_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=172)*
&lt;EMPTY&gt;
### Empty {#Empty data-text="Empty"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=427)*
&lt;EMPTY&gt;
### IpMulticastMembership {#IpMulticastMembership data-text="IpMulticastMembership"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=395)*
<p>IPv4 multicast membership options.</p>
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="IpMulticastMembership.iface">
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
<td><p>Interface index for membership.</p>
</td>
<td>No default</td>
</tr>
<tr id="IpMulticastMembership.local_addr">
<td><code>local_addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
<td><p>Local interface address requesting or relinquishing ownership.</p>
</td>
<td>No default</td>
</tr>
<tr id="IpMulticastMembership.mcast_addr">
<td><code>mcast_addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv4Address'>Ipv4Address</a></code>
</td>
<td><p>Address of the multicast group the membership refers to.</p>
</td>
<td>No default</td>
</tr>
</table>
### Ipv6MulticastMembership {#Ipv6MulticastMembership data-text="Ipv6MulticastMembership"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=405)*
<p>IPv6 multicast membership options.</p>
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Ipv6MulticastMembership.iface">
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
<td><p>Interface index for membership.</p>
</td>
<td>No default</td>
</tr>
<tr id="Ipv6MulticastMembership.mcast_addr">
<td><code>mcast_addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv6Address'>Ipv6Address</a></code>
</td>
<td><p>Address of the multicast group the membership refers to.</p>
</td>
<td>No default</td>
</tr>
</table>
### Ipv6PktInfoRecvControlData {#Ipv6PktInfoRecvControlData data-text="Ipv6PktInfoRecvControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=485)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Ipv6PktInfoRecvControlData.iface">
<td><code>iface</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#InterfaceId'>InterfaceId</a></code>
</td>
<td><p>The index of the interface on which the IP packet was received.</p>
</td>
<td>No default</td>
</tr>
<tr id="Ipv6PktInfoRecvControlData.header_destination_addr">
<td><code>header_destination_addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv6Address'>Ipv6Address</a></code>
</td>
<td><p>The destination address specified in the received packet's IP
header.</p>
</td>
<td>No default</td>
</tr>
</table>
### Ipv6PktInfoSendControlData {#Ipv6PktInfoSendControlData data-text="Ipv6PktInfoSendControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=507)*
<p>IPv6-specific disposition of sent data.</p>
<p>This is currently a struct instead of a table as it is meant to match
<code>in6_pktinfo</code> which is not expected to grow.</p>
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Ipv6PktInfoSendControlData.iface">
<td><code>iface</code></td>
<td>
<code>uint64</code>
</td>
<td><p>The interface index from which the IPv6 packet should be sent.</p>
<p>0 indicates that the local interface is unspecified and the
stack may choose an appropriate interface.</p>
</td>
<td>No default</td>
</tr>
<tr id="Ipv6PktInfoSendControlData.local_addr">
<td><code>local_addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv6Address'>Ipv6Address</a></code>
</td>
<td><p>The source address from which the IPv6 packet should be sent.</p>
<p>All zeroes indicates that the local address is unspecified and
the stack may choose an appropriate address (i.e. the local
address to which the socket is bound).</p>
</td>
<td>No default</td>
</tr>
</table>
### Provider_DatagramSocketDeprecated_Response [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#Provider_DatagramSocketDeprecated_Response data-text="Provider_DatagramSocketDeprecated_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1146)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Provider_DatagramSocketDeprecated_Response.s">
<td><code>s</code></td>
<td>
<code><a class='link' href='#SynchronousDatagramSocket'>SynchronousDatagramSocket</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Provider_InterfaceIndexToName_Response {#Provider_InterfaceIndexToName_Response data-text="Provider_InterfaceIndexToName_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1163)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Provider_InterfaceIndexToName_Response.name">
<td><code>name</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Provider_InterfaceNameToFlags_Response {#Provider_InterfaceNameToFlags_Response data-text="Provider_InterfaceNameToFlags_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1177)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Provider_InterfaceNameToFlags_Response.flags">
<td><code>flags</code></td>
<td>
<code><a class='link' href='#InterfaceFlags'>InterfaceFlags</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Provider_InterfaceNameToIndex_Response {#Provider_InterfaceNameToIndex_Response data-text="Provider_InterfaceNameToIndex_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1170)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Provider_InterfaceNameToIndex_Response.index">
<td><code>index</code></td>
<td>
<code>uint64</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Provider_StreamSocket_Response [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#Provider_StreamSocket_Response data-text="Provider_StreamSocket_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1137)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Provider_StreamSocket_Response.s">
<td><code>s</code></td>
<td>
<code><a class='link' href='#StreamSocket'>StreamSocket</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_Accept_Response [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#StreamSocket_Accept_Response data-text="StreamSocket_Accept_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=815)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_Accept_Response.addr">
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a>?</code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="StreamSocket_Accept_Response.s">
<td><code>s</code></td>
<td>
<code><a class='link' href='#StreamSocket'>StreamSocket</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetInfo_Response {#StreamSocket_GetInfo_Response data-text="StreamSocket_GetInfo_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=821)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetInfo_Response.domain">
<td><code>domain</code></td>
<td>
<code><a class='link' href='#Domain'>Domain</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="StreamSocket_GetInfo_Response.proto">
<td><code>proto</code></td>
<td>
<code><a class='link' href='#StreamSocketProtocol'>StreamSocketProtocol</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpCongestion_Response {#StreamSocket_GetTcpCongestion_Response data-text="StreamSocket_GetTcpCongestion_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=935)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpCongestion_Response.value">
<td><code>value</code></td>
<td>
<code><a class='link' href='#TcpCongestionControl'>TcpCongestionControl</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpCork_Response {#StreamSocket_GetTcpCork_Response data-text="StreamSocket_GetTcpCork_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=849)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpCork_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpDeferAccept_Response {#StreamSocket_GetTcpDeferAccept_Response data-text="StreamSocket_GetTcpDeferAccept_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=903)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpDeferAccept_Response.value_secs">
<td><code>value_secs</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpInfo_Response {#StreamSocket_GetTcpInfo_Response data-text="StreamSocket_GetTcpInfo_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=917)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpInfo_Response.info">
<td><code>info</code></td>
<td>
<code><a class='link' href='#TcpInfo'>TcpInfo</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpKeepAliveCount_Response {#StreamSocket_GetTcpKeepAliveCount_Response data-text="StreamSocket_GetTcpKeepAliveCount_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=876)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpKeepAliveCount_Response.value">
<td><code>value</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpKeepAliveIdle_Response {#StreamSocket_GetTcpKeepAliveIdle_Response data-text="StreamSocket_GetTcpKeepAliveIdle_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=858)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpKeepAliveIdle_Response.value_secs">
<td><code>value_secs</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpKeepAliveInterval_Response {#StreamSocket_GetTcpKeepAliveInterval_Response data-text="StreamSocket_GetTcpKeepAliveInterval_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=867)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpKeepAliveInterval_Response.value_secs">
<td><code>value_secs</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpLinger_Response {#StreamSocket_GetTcpLinger_Response data-text="StreamSocket_GetTcpLinger_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=894)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpLinger_Response.value_secs">
<td><code>value_secs</code></td>
<td>
<code><a class='link' href='#OptionalUint32'>OptionalUint32</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpMaxSegment_Response {#StreamSocket_GetTcpMaxSegment_Response data-text="StreamSocket_GetTcpMaxSegment_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=840)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpMaxSegment_Response.value_bytes">
<td><code>value_bytes</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpNoDelay_Response {#StreamSocket_GetTcpNoDelay_Response data-text="StreamSocket_GetTcpNoDelay_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=831)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpNoDelay_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpQuickAck_Response {#StreamSocket_GetTcpQuickAck_Response data-text="StreamSocket_GetTcpQuickAck_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=926)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpQuickAck_Response.value">
<td><code>value</code></td>
<td>
<code>bool</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpSynCount_Response {#StreamSocket_GetTcpSynCount_Response data-text="StreamSocket_GetTcpSynCount_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=885)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpSynCount_Response.value">
<td><code>value</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpUserTimeout_Response {#StreamSocket_GetTcpUserTimeout_Response data-text="StreamSocket_GetTcpUserTimeout_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=944)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpUserTimeout_Response.value_millis">
<td><code>value_millis</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_GetTcpWindowClamp_Response {#StreamSocket_GetTcpWindowClamp_Response data-text="StreamSocket_GetTcpWindowClamp_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=912)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="StreamSocket_GetTcpWindowClamp_Response.value">
<td><code>value</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### StreamSocket_Listen_Response {#StreamSocket_Listen_Response data-text="StreamSocket_Listen_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=811)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpCongestion_Response {#StreamSocket_SetTcpCongestion_Response data-text="StreamSocket_SetTcpCongestion_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=933)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpCork_Response {#StreamSocket_SetTcpCork_Response data-text="StreamSocket_SetTcpCork_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=847)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpDeferAccept_Response {#StreamSocket_SetTcpDeferAccept_Response data-text="StreamSocket_SetTcpDeferAccept_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=901)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpKeepAliveCount_Response {#StreamSocket_SetTcpKeepAliveCount_Response data-text="StreamSocket_SetTcpKeepAliveCount_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=874)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpKeepAliveIdle_Response {#StreamSocket_SetTcpKeepAliveIdle_Response data-text="StreamSocket_SetTcpKeepAliveIdle_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=856)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpKeepAliveInterval_Response {#StreamSocket_SetTcpKeepAliveInterval_Response data-text="StreamSocket_SetTcpKeepAliveInterval_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=865)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpLinger_Response {#StreamSocket_SetTcpLinger_Response data-text="StreamSocket_SetTcpLinger_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=892)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpMaxSegment_Response {#StreamSocket_SetTcpMaxSegment_Response data-text="StreamSocket_SetTcpMaxSegment_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=838)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpNoDelay_Response {#StreamSocket_SetTcpNoDelay_Response data-text="StreamSocket_SetTcpNoDelay_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=829)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpQuickAck_Response {#StreamSocket_SetTcpQuickAck_Response data-text="StreamSocket_SetTcpQuickAck_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=924)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpSynCount_Response {#StreamSocket_SetTcpSynCount_Response data-text="StreamSocket_SetTcpSynCount_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=883)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpUserTimeout_Response {#StreamSocket_SetTcpUserTimeout_Response data-text="StreamSocket_SetTcpUserTimeout_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=942)*
&lt;EMPTY&gt;
### StreamSocket_SetTcpWindowClamp_Response {#StreamSocket_SetTcpWindowClamp_Response data-text="StreamSocket_SetTcpWindowClamp_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=910)*
&lt;EMPTY&gt;
### SynchronousDatagramSocket_RecvMsg_Response {#SynchronousDatagramSocket_RecvMsg_Response data-text="SynchronousDatagramSocket_RecvMsg_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=762)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="SynchronousDatagramSocket_RecvMsg_Response.addr">
<td><code>addr</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a>?</code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="SynchronousDatagramSocket_RecvMsg_Response.data">
<td><code>data</code></td>
<td>
<code>vector&lt;uint8&gt;</code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="SynchronousDatagramSocket_RecvMsg_Response.control">
<td><code>control</code></td>
<td>
<code><a class='link' href='#DatagramSocketRecvControlData'>DatagramSocketRecvControlData</a></code>
</td>
<td></td>
<td>No default</td>
</tr>
<tr id="SynchronousDatagramSocket_RecvMsg_Response.truncated">
<td><code>truncated</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### SynchronousDatagramSocket_SendMsg_Response {#SynchronousDatagramSocket_SendMsg_Response data-text="SynchronousDatagramSocket_SendMsg_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=782)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="SynchronousDatagramSocket_SendMsg_Response.len">
<td><code>len</code></td>
<td>
<code>int64</code>
</td>
<td></td>
<td>No default</td>
</tr>
</table>
### Timestamp {#Timestamp data-text="Timestamp"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=438)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr>
<tr id="Timestamp.nanoseconds">
<td><code>nanoseconds</code></td>
<td>
<code>int64</code>
</td>
<td><p>Time in nanoseconds since epoch (January 1 1970 GMT).</p>
</td>
<td>No default</td>
</tr>
<tr id="Timestamp.requested">
<td><code>requested</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
<td><p>Identifies whether/how the timestamp should be returned to the user.
Ignored in the DatagramSocket protocol.</p>
</td>
<td>No default</td>
</tr>
</table>
## **ENUMS**
### DatagramSocketProtocol [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#DatagramSocketProtocol data-text="DatagramSocketProtocol"}
Type: <code>uint32</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1074)*
<p>Protocols supported by <a class='link' href='../fuchsia.posix.socket/'>fuchsia.posix.socket</a>/<a class='link' href='../fuchsia.posix.socket/#DatagramSocket'>DatagramSocket</a>.</p>
<p><code>DatagramSocketProtocol</code> enumerates the protocols supported by the network
stack over datagram sockets.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="DatagramSocketProtocol.UDP">
<td><h3 id="DatagramSocketProtocol.UDP" class="add-link hide-from-toc">UDP</h3></td>
<td><code>1</code></td>
<td><p>UDP (User Datagram Protocol).</p>
<p>A UDP socket is equivalent to the POSIX API of <code>SOCK_DGRAM</code> with a
protocol of 0 or <code>IPPROTO_UDP</code>.</p>
</td>
</tr>
<tr id="DatagramSocketProtocol.ICMP_ECHO">
<td><h3 id="DatagramSocketProtocol.ICMP_ECHO" class="add-link hide-from-toc">ICMP_ECHO</h3></td>
<td><code>2</code></td>
<td><p>ICMP (Internet Control Message Protocol) echo.</p>
<p>An ICMP echo socket is equivalent to the POSIX API of <code>SOCK_DGRAM</code> with
a protocol of <code>IPPROTO_ICMP</code> <code>IPPROTO_ICMPV6</code> (depending on provided
domain).</p>
<p>Datagrams sent over an ICMP echo socket <em>must</em> have a valid ICMP or
ICMPv6 echo header.</p>
</td>
</tr>
</table>
### Domain [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Domain data-text="Domain"}
Type: <code>int16</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1060)*
<p>A socket's domain.</p>
<p>Determines the addressing domain for a socket.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="Domain.IPV4">
<td><h3 id="Domain.IPV4" class="add-link hide-from-toc">IPV4</h3></td>
<td><code>0</code></td>
<td><p>An IPv4 socket. Equivalent to <code>AF_INET</code>.</p>
</td>
</tr>
<tr id="Domain.IPV6">
<td><h3 id="Domain.IPV6" class="add-link hide-from-toc">IPV6</h3></td>
<td><code>1</code></td>
<td><p>An IPv6 socket. Equivalent to <code>AF_INET6</code>.</p>
</td>
</tr>
</table>
### StreamSocketProtocol [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocketProtocol data-text="StreamSocketProtocol"}
Type: <code>uint32</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1095)*
<p>Protocols supported by <a class='link' href='../fuchsia.posix.socket/'>fuchsia.posix.socket</a>/<a class='link' href='../fuchsia.posix.socket/#StreamSocket'>StreamSocket</a>.</p>
<p><code>StreamSocketProtocol</code> enumerates the protocols supported by the network
stack over stream sockets.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="StreamSocketProtocol.TCP">
<td><h3 id="StreamSocketProtocol.TCP" class="add-link hide-from-toc">TCP</h3></td>
<td><code>0</code></td>
<td><p>TCP (Transmission Control Protocol).</p>
<p>A TCP socket is equivalent to the POSIX API of <code>SOCK_STREAM</code> with a
protocol of 0 or <code>IPPROTO_TCP</code>.</p>
</td>
</tr>
</table>
### TcpCongestionControl [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TcpCongestionControl data-text="TcpCongestionControl"}
Type: <code>uint32</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=954)*
<p>TCP congestion control modes.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="TcpCongestionControl.RENO">
<td><h3 id="TcpCongestionControl.RENO" class="add-link hide-from-toc">RENO</h3></td>
<td><code>1</code></td>
<td></td>
</tr>
<tr id="TcpCongestionControl.CUBIC">
<td><h3 id="TcpCongestionControl.CUBIC" class="add-link hide-from-toc">CUBIC</h3></td>
<td><code>2</code></td>
<td></td>
</tr>
</table>
### TcpCongestionControlState [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TcpCongestionControlState data-text="TcpCongestionControlState"}
Type: <code>uint32</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=975)*
<p>TCP congestion control state machine state.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="TcpCongestionControlState.OPEN">
<td><h3 id="TcpCongestionControlState.OPEN" class="add-link hide-from-toc">OPEN</h3></td>
<td><code>0</code></td>
<td></td>
</tr>
<tr id="TcpCongestionControlState.DISORDER">
<td><h3 id="TcpCongestionControlState.DISORDER" class="add-link hide-from-toc">DISORDER</h3></td>
<td><code>1</code></td>
<td></td>
</tr>
<tr id="TcpCongestionControlState.CONGESTION_WINDOW_REDUCED">
<td><h3 id="TcpCongestionControlState.CONGESTION_WINDOW_REDUCED" class="add-link hide-from-toc">CONGESTION_WINDOW_REDUCED</h3></td>
<td><code>2</code></td>
<td></td>
</tr>
<tr id="TcpCongestionControlState.RECOVERY">
<td><h3 id="TcpCongestionControlState.RECOVERY" class="add-link hide-from-toc">RECOVERY</h3></td>
<td><code>3</code></td>
<td></td>
</tr>
<tr id="TcpCongestionControlState.LOSS">
<td><h3 id="TcpCongestionControlState.LOSS" class="add-link hide-from-toc">LOSS</h3></td>
<td><code>4</code></td>
<td></td>
</tr>
</table>
### TcpState [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TcpState data-text="TcpState"}
Type: <code>uint32</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=960)*
<p>TCP state machine state.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="TcpState.ESTABLISHED">
<td><h3 id="TcpState.ESTABLISHED" class="add-link hide-from-toc">ESTABLISHED</h3></td>
<td><code>1</code></td>
<td></td>
</tr>
<tr id="TcpState.SYN_SENT">
<td><h3 id="TcpState.SYN_SENT" class="add-link hide-from-toc">SYN_SENT</h3></td>
<td><code>2</code></td>
<td></td>
</tr>
<tr id="TcpState.SYN_RECV">
<td><h3 id="TcpState.SYN_RECV" class="add-link hide-from-toc">SYN_RECV</h3></td>
<td><code>3</code></td>
<td></td>
</tr>
<tr id="TcpState.FIN_WAIT1">
<td><h3 id="TcpState.FIN_WAIT1" class="add-link hide-from-toc">FIN_WAIT1</h3></td>
<td><code>4</code></td>
<td></td>
</tr>
<tr id="TcpState.FIN_WAIT2">
<td><h3 id="TcpState.FIN_WAIT2" class="add-link hide-from-toc">FIN_WAIT2</h3></td>
<td><code>5</code></td>
<td></td>
</tr>
<tr id="TcpState.TIME_WAIT">
<td><h3 id="TcpState.TIME_WAIT" class="add-link hide-from-toc">TIME_WAIT</h3></td>
<td><code>6</code></td>
<td></td>
</tr>
<tr id="TcpState.CLOSE">
<td><h3 id="TcpState.CLOSE" class="add-link hide-from-toc">CLOSE</h3></td>
<td><code>7</code></td>
<td></td>
</tr>
<tr id="TcpState.CLOSE_WAIT">
<td><h3 id="TcpState.CLOSE_WAIT" class="add-link hide-from-toc">CLOSE_WAIT</h3></td>
<td><code>8</code></td>
<td></td>
</tr>
<tr id="TcpState.LAST_ACK">
<td><h3 id="TcpState.LAST_ACK" class="add-link hide-from-toc">LAST_ACK</h3></td>
<td><code>9</code></td>
<td></td>
</tr>
<tr id="TcpState.LISTEN">
<td><h3 id="TcpState.LISTEN" class="add-link hide-from-toc">LISTEN</h3></td>
<td><code>10</code></td>
<td></td>
</tr>
<tr id="TcpState.CLOSING">
<td><h3 id="TcpState.CLOSING" class="add-link hide-from-toc">CLOSING</h3></td>
<td><code>11</code></td>
<td></td>
</tr>
</table>
### TimestampOption [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#TimestampOption data-text="TimestampOption"}
Type: <code>uint32</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=40)*
<p>Packet timestamp reporting precision options.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="TimestampOption.DISABLED">
<td><h3 id="TimestampOption.DISABLED" class="add-link hide-from-toc">DISABLED</h3></td>
<td><code>0</code></td>
<td><p>Do not report timestamp.</p>
</td>
</tr>
<tr id="TimestampOption.NANOSECOND">
<td><h3 id="TimestampOption.NANOSECOND" class="add-link hide-from-toc">NANOSECOND</h3></td>
<td><code>1</code></td>
<td><p>Report timestamp with nanosecond precision.</p>
</td>
</tr>
<tr id="TimestampOption.MICROSECOND">
<td><h3 id="TimestampOption.MICROSECOND" class="add-link hide-from-toc">MICROSECOND</h3></td>
<td><code>2</code></td>
<td><p>Report timestamp with microsecond precision.</p>
</td>
</tr>
</table>
### UdpMetadataEncodingProtocolVersion [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#UdpMetadataEncodingProtocolVersion data-text="UdpMetadataEncodingProtocolVersion"}
Type: <code>uint16</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=646)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="UdpMetadataEncodingProtocolVersion.ZERO">
<td><h3 id="UdpMetadataEncodingProtocolVersion.ZERO" class="add-link hide-from-toc">ZERO</h3></td>
<td><code>0</code></td>
<td></td>
</tr>
</table>
## **TABLES**
### DatagramSocketDescribeResponse [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#DatagramSocketDescribeResponse data-text="DatagramSocketDescribeResponse"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=635)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocketDescribeResponse.socket">
<td><h3 id="DatagramSocketDescribeResponse.socket" class="add-link hide-from-toc">1</h3></td>
<td><code>socket</code></td>
<td>
<code>handle&lt;socket&gt;</code>
</td>
<td><p><code>ZX_SOCKET_DATAGRAM</code> on which data is sent and received.</p>
</td>
</tr>
<tr id="DatagramSocketDescribeResponse.tx_meta_buf_size">
<td><h3 id="DatagramSocketDescribeResponse.tx_meta_buf_size" class="add-link hide-from-toc">2</h3></td>
<td><code>tx_meta_buf_size</code></td>
<td>
<code>uint64</code>
</td>
<td><p>Size of the buffer used to receive Tx metadata.</p>
</td>
</tr>
<tr id="DatagramSocketDescribeResponse.rx_meta_buf_size">
<td><h3 id="DatagramSocketDescribeResponse.rx_meta_buf_size" class="add-link hide-from-toc">3</h3></td>
<td><code>rx_meta_buf_size</code></td>
<td>
<code>uint64</code>
</td>
<td><p>Size of the buffer used to receive Rx metadata.</p>
</td>
</tr>
<tr id="DatagramSocketDescribeResponse.metadata_encoding_protocol_version">
<td><h3 id="DatagramSocketDescribeResponse.metadata_encoding_protocol_version" class="add-link hide-from-toc">4</h3></td>
<td><code>metadata_encoding_protocol_version</code></td>
<td>
<code><a class='link' href='#UdpMetadataEncodingProtocolVersion'>UdpMetadataEncodingProtocolVersion</a></code>
</td>
<td><p>Identifies the version of the protocol used to encode and decode
metadata sent alongside payloads over the socket.</p>
</td>
</tr>
</table>
### DatagramSocketRecvControlData {#DatagramSocketRecvControlData data-text="DatagramSocketRecvControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=596)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocketRecvControlData.network">
<td><h3 id="DatagramSocketRecvControlData.network" class="add-link hide-from-toc">1</h3></td>
<td><code>network</code></td>
<td>
<code><a class='link' href='#NetworkSocketRecvControlData'>NetworkSocketRecvControlData</a></code>
</td>
<td><p>Network socket ancillary data.</p>
</td>
</tr>
</table>
### DatagramSocketSendControlData {#DatagramSocketSendControlData data-text="DatagramSocketSendControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=591)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocketSendControlData.network">
<td><h3 id="DatagramSocketSendControlData.network" class="add-link hide-from-toc">1</h3></td>
<td><code>network</code></td>
<td>
<code><a class='link' href='#NetworkSocketSendControlData'>NetworkSocketSendControlData</a></code>
</td>
<td><p>Network socket ancillary data.</p>
</td>
</tr>
</table>
### DatagramSocketSendMsgPreflightRequest {#DatagramSocketSendMsgPreflightRequest data-text="DatagramSocketSendMsgPreflightRequest"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=656)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocketSendMsgPreflightRequest.to">
<td><h3 id="DatagramSocketSendMsgPreflightRequest.to" class="add-link hide-from-toc">1</h3></td>
<td><code>to</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
<td><p>The destination address.</p>
<p>If absent, interpreted as the method receiver's connected address and
causes the connected address to be returned.</p>
<p>Required if the method receiver is not connected.</p>
</td>
</tr>
<tr id="DatagramSocketSendMsgPreflightRequest.ipv6_pktinfo">
<td><h3 id="DatagramSocketSendMsgPreflightRequest.ipv6_pktinfo" class="add-link hide-from-toc">2</h3></td>
<td><code>ipv6_pktinfo</code></td>
<td>
<code><a class='link' href='#Ipv6PktInfoSendControlData'>Ipv6PktInfoSendControlData</a></code>
</td>
<td><p>Information controlling the local interface and/or address used when
sending an IPv6 packet.</p>
<p>If absent, indicates that the stack is free to choose an appropriate
outgoing route.</p>
</td>
</tr>
</table>
### DatagramSocket_RecvMsgPostflight_Response [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#DatagramSocket_RecvMsgPostflight_Response data-text="DatagramSocket_RecvMsgPostflight_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=693)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocket_RecvMsgPostflight_Response.validity">
<td><h3 id="DatagramSocket_RecvMsgPostflight_Response.validity" class="add-link hide-from-toc">1</h3></td>
<td><code>validity</code></td>
<td>
<code>handle&lt;eventpair&gt;</code>
</td>
<td><p>Represents the validity of this structure.</p>
<p>The structure is invalid if the peer is closed.</p>
</td>
</tr>
<tr id="DatagramSocket_RecvMsgPostflight_Response.timestamp">
<td><h3 id="DatagramSocket_RecvMsgPostflight_Response.timestamp" class="add-link hide-from-toc">2</h3></td>
<td><code>timestamp</code></td>
<td>
<code><a class='link' href='#TimestampOption'>TimestampOption</a></code>
</td>
<td><p>Identifies whether the <code>SO_TIMESTAMP</code> or <code>SO_TIMESTAMPNS</code> control messages are
requested.</p>
</td>
</tr>
<tr id="DatagramSocket_RecvMsgPostflight_Response.requests">
<td><h3 id="DatagramSocket_RecvMsgPostflight_Response.requests" class="add-link hide-from-toc">3</h3></td>
<td><code>requests</code></td>
<td>
<code><a class='link' href='#CmsgRequests'>CmsgRequests</a></code>
</td>
<td><p>Identifies the status (requested or not) of up to 32 control messages.
This set size should be large enough to signal the status of all cmsgs supported
by POSIX systems as of 2022. If that changes, the set can be extended by adding
additional bits fields.</p>
</td>
</tr>
</table>
### DatagramSocket_SendMsgPreflight_Response [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#DatagramSocket_SendMsgPreflight_Response data-text="DatagramSocket_SendMsgPreflight_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=673)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocket_SendMsgPreflight_Response.to">
<td><h3 id="DatagramSocket_SendMsgPreflight_Response.to" class="add-link hide-from-toc">1</h3></td>
<td><code>to</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
<td><p>The validated destination address.</p>
<p>Present only in response to an unset <code>to</code> addreess.</p>
</td>
</tr>
<tr id="DatagramSocket_SendMsgPreflight_Response.validity">
<td><h3 id="DatagramSocket_SendMsgPreflight_Response.validity" class="add-link hide-from-toc">2</h3></td>
<td><code>validity</code></td>
<td>
<code>vector&lt;eventpair&gt;[63]</code>
</td>
<td><p>Represents the validity of this structure.</p>
<p>The structure is invalid if any of the elements' peer is closed.
Datagrams sent with the associated metadata after invalidation will be
silently dropped.</p>
</td>
</tr>
<tr id="DatagramSocket_SendMsgPreflight_Response.maximum_size">
<td><h3 id="DatagramSocket_SendMsgPreflight_Response.maximum_size" class="add-link hide-from-toc">3</h3></td>
<td><code>maximum_size</code></td>
<td>
<code>uint32</code>
</td>
<td><p>The maximum datagram size that can be sent.</p>
<p>Datagrams exceeding this will be silently dropped.</p>
</td>
</tr>
</table>
### InterfaceAddresses {#InterfaceAddresses data-text="InterfaceAddresses"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1044)*
<p>Holds information about an interface and its addresses.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="InterfaceAddresses.id">
<td><h3 id="InterfaceAddresses.id" class="add-link hide-from-toc">1</h3></td>
<td><code>id</code></td>
<td>
<code>uint64</code>
</td>
<td><p>ID of the interface.</p>
</td>
</tr>
<tr id="InterfaceAddresses.name">
<td><h3 id="InterfaceAddresses.name" class="add-link hide-from-toc">2</h3></td>
<td><code>name</code></td>
<td>
<code><a class='link' href='../fuchsia.net.interfaces/'>fuchsia.net.interfaces</a>/<a class='link' href='../fuchsia.net.interfaces/#Name'>Name</a></code>
</td>
<td><p>Name of the interface.</p>
</td>
</tr>
<tr id="InterfaceAddresses.">
<td><h3 id="InterfaceAddresses." class="add-link hide-from-toc">3</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="InterfaceAddresses.addresses">
<td><h3 id="InterfaceAddresses.addresses" class="add-link hide-from-toc">4</h3></td>
<td><code>addresses</code></td>
<td>
<code>vector&lt;<a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Subnet'>Subnet</a>&gt;</code>
</td>
<td><p>All addresses currently assigned to the interface.</p>
</td>
</tr>
<tr id="InterfaceAddresses.interface_flags">
<td><h3 id="InterfaceAddresses.interface_flags" class="add-link hide-from-toc">5</h3></td>
<td><code>interface_flags</code></td>
<td>
<code><a class='link' href='#InterfaceFlags'>InterfaceFlags</a></code>
</td>
<td><p>Contains the interface flags, as returned by the SIOCGIFFLAGS ioctl
operation.</p>
</td>
</tr>
</table>
### IpRecvControlData {#IpRecvControlData data-text="IpRecvControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=456)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="IpRecvControlData.tos">
<td><h3 id="IpRecvControlData.tos" class="add-link hide-from-toc">1</h3></td>
<td><code>tos</code></td>
<td>
<code>uint8</code>
</td>
<td><p>The Type of Service value found in a received packet's IPv4 header.</p>
<p>Present if the <code>SOL_IP</code> -&gt; <code>IP_RECVTOS</code> option is enabled.</p>
</td>
</tr>
<tr id="IpRecvControlData.ttl">
<td><h3 id="IpRecvControlData.ttl" class="add-link hide-from-toc">2</h3></td>
<td><code>ttl</code></td>
<td>
<code>uint8</code>
</td>
<td><p>The Time to Live value found in a received packet's IPv4 header.</p>
<p>Present if the <code>SOL_IP</code> -&gt; <code>IP_RECVTTL</code> option is enabled.</p>
</td>
</tr>
</table>
### IpSendControlData {#IpSendControlData data-text="IpSendControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=529)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="IpSendControlData.">
<td><h3 id="IpSendControlData." class="add-link hide-from-toc">1</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="IpSendControlData.ttl">
<td><h3 id="IpSendControlData.ttl" class="add-link hide-from-toc">2</h3></td>
<td><code>ttl</code></td>
<td>
<code>uint8</code>
</td>
<td><p>The Time to Live value to set in the IPv4 header of an outgoing
packet.</p>
</td>
</tr>
</table>
### Ipv6RecvControlData {#Ipv6RecvControlData data-text="Ipv6RecvControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=471)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="Ipv6RecvControlData.tclass">
<td><h3 id="Ipv6RecvControlData.tclass" class="add-link hide-from-toc">1</h3></td>
<td><code>tclass</code></td>
<td>
<code>uint8</code>
</td>
<td><p>The Traffic Class of a packet that was received.</p>
<p>Present if the <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVTCLASS</code> option is enabled.</p>
</td>
</tr>
<tr id="Ipv6RecvControlData.hoplimit">
<td><h3 id="Ipv6RecvControlData.hoplimit" class="add-link hide-from-toc">2</h3></td>
<td><code>hoplimit</code></td>
<td>
<code>uint8</code>
</td>
<td><p>The Hop Limit of a packet that was received.</p>
<p>Present if the <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVHOPLIMIT</code> option is enabled.</p>
</td>
</tr>
<tr id="Ipv6RecvControlData.pktinfo">
<td><h3 id="Ipv6RecvControlData.pktinfo" class="add-link hide-from-toc">3</h3></td>
<td><code>pktinfo</code></td>
<td>
<code><a class='link' href='#Ipv6PktInfoRecvControlData'>Ipv6PktInfoRecvControlData</a></code>
</td>
<td><p>The packet information of a packet that was received.</p>
<p>Present if the <code>SOL_IPV6</code> -&gt; <code>IPV6_RECVPKTINFO</code> option is enabled.</p>
</td>
</tr>
</table>
### Ipv6SendControlData {#Ipv6SendControlData data-text="Ipv6SendControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=544)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="Ipv6SendControlData.">
<td><h3 id="Ipv6SendControlData." class="add-link hide-from-toc">1</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="Ipv6SendControlData.hoplimit">
<td><h3 id="Ipv6SendControlData.hoplimit" class="add-link hide-from-toc">2</h3></td>
<td><code>hoplimit</code></td>
<td>
<code>uint8</code>
</td>
<td><p>The Hop Limit value to set in the IPv6 header of an outgoing
packet.</p>
</td>
</tr>
<tr id="Ipv6SendControlData.pktinfo">
<td><h3 id="Ipv6SendControlData.pktinfo" class="add-link hide-from-toc">3</h3></td>
<td><code>pktinfo</code></td>
<td>
<code><a class='link' href='#Ipv6PktInfoSendControlData'>Ipv6PktInfoSendControlData</a></code>
</td>
<td><p>Information controlling the local interface and/or address used when
sending an IPv6 packet.</p>
</td>
</tr>
</table>
### NetworkSocketRecvControlData {#NetworkSocketRecvControlData data-text="NetworkSocketRecvControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=449)*
<p>Network socket (L3) ancillary data that can be received.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="NetworkSocketRecvControlData.socket">
<td><h3 id="NetworkSocketRecvControlData.socket" class="add-link hide-from-toc">1</h3></td>
<td><code>socket</code></td>
<td>
<code><a class='link' href='#SocketRecvControlData'>SocketRecvControlData</a></code>
</td>
<td><p>Socket level ancillary data.</p>
</td>
</tr>
<tr id="NetworkSocketRecvControlData.ip">
<td><h3 id="NetworkSocketRecvControlData.ip" class="add-link hide-from-toc">2</h3></td>
<td><code>ip</code></td>
<td>
<code><a class='link' href='#IpRecvControlData'>IpRecvControlData</a></code>
</td>
<td><p>IPv4 level ancillary data.</p>
<p>These match POSIX <code>SOL_IP</code> control messages.</p>
</td>
</tr>
<tr id="NetworkSocketRecvControlData.ipv6">
<td><h3 id="NetworkSocketRecvControlData.ipv6" class="add-link hide-from-toc">3</h3></td>
<td><code>ipv6</code></td>
<td>
<code><a class='link' href='#Ipv6RecvControlData'>Ipv6RecvControlData</a></code>
</td>
<td><p>IPv6 level ancillary data.</p>
<p>These match POSIX <code>SOL_IPV6</code> control messages.</p>
</td>
</tr>
</table>
### NetworkSocketSendControlData {#NetworkSocketSendControlData data-text="NetworkSocketSendControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=522)*
<p>Network socket (L3) ancillary data that can be sent.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="NetworkSocketSendControlData.socket">
<td><h3 id="NetworkSocketSendControlData.socket" class="add-link hide-from-toc">1</h3></td>
<td><code>socket</code></td>
<td>
<code><a class='link' href='#SocketSendControlData'>SocketSendControlData</a></code>
</td>
<td><p>Socket level ancillary data.</p>
</td>
</tr>
<tr id="NetworkSocketSendControlData.ip">
<td><h3 id="NetworkSocketSendControlData.ip" class="add-link hide-from-toc">2</h3></td>
<td><code>ip</code></td>
<td>
<code><a class='link' href='#IpSendControlData'>IpSendControlData</a></code>
</td>
<td><p>IPv4 level ancillary data.</p>
<p>These match POSIX <code>SOL_IP</code> control messages.</p>
</td>
</tr>
<tr id="NetworkSocketSendControlData.ipv6">
<td><h3 id="NetworkSocketSendControlData.ipv6" class="add-link hide-from-toc">3</h3></td>
<td><code>ipv6</code></td>
<td>
<code><a class='link' href='#Ipv6SendControlData'>Ipv6SendControlData</a></code>
</td>
<td><p>IPv6 level ancillary data.</p>
<p>These match POSIX <code>SOL_IPV6</code> control messages.</p>
</td>
</tr>
</table>
### RecvMsgMeta {#RecvMsgMeta data-text="RecvMsgMeta"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=602)*
<p>Metadata of a received datagram.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="RecvMsgMeta.from">
<td><h3 id="RecvMsgMeta.from" class="add-link hide-from-toc">1</h3></td>
<td><code>from</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
<td><p>The from address of the datagram.</p>
</td>
</tr>
<tr id="RecvMsgMeta.control">
<td><h3 id="RecvMsgMeta.control" class="add-link hide-from-toc">2</h3></td>
<td><code>control</code></td>
<td>
<code><a class='link' href='#DatagramSocketRecvControlData'>DatagramSocketRecvControlData</a></code>
</td>
<td><p>Ancillary control message data describing the datagram.</p>
</td>
</tr>
<tr id="RecvMsgMeta.payload_len">
<td><h3 id="RecvMsgMeta.payload_len" class="add-link hide-from-toc">3</h3></td>
<td><code>payload_len</code></td>
<td>
<code>uint16</code>
</td>
<td><p>The length of the payload, in bytes.</p>
</td>
</tr>
</table>
### SendMsgMeta {#SendMsgMeta data-text="SendMsgMeta"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=612)*
<p>Metadata of a sent datagram.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="SendMsgMeta.to">
<td><h3 id="SendMsgMeta.to" class="add-link hide-from-toc">1</h3></td>
<td><code>to</code></td>
<td>
<code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#SocketAddress'>SocketAddress</a></code>
</td>
<td><p>The destination address, if specified.</p>
</td>
</tr>
<tr id="SendMsgMeta.control">
<td><h3 id="SendMsgMeta.control" class="add-link hide-from-toc">2</h3></td>
<td><code>control</code></td>
<td>
<code><a class='link' href='#DatagramSocketSendControlData'>DatagramSocketSendControlData</a></code>
</td>
<td><p>Ancillary control message data used for sending the payload.</p>
</td>
</tr>
</table>
### SocketRecvControlData {#SocketRecvControlData data-text="SocketRecvControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=432)*
<p>Socket level ancillary data that can be received.</p>
<p>These match control messages with a <code>SOL_SOCKET</code> level.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="SocketRecvControlData.">
<td><h3 id="SocketRecvControlData." class="add-link hide-from-toc">1</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="SocketRecvControlData.">
<td><h3 id="SocketRecvControlData." class="add-link hide-from-toc">2</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="SocketRecvControlData.timestamp">
<td><h3 id="SocketRecvControlData.timestamp" class="add-link hide-from-toc">3</h3></td>
<td><code>timestamp</code></td>
<td>
<code><a class='link' href='#Timestamp'>Timestamp</a></code>
</td>
<td><p>Data about the time at which the packet was received.</p>
</td>
</tr>
</table>
### SocketSendControlData {#SocketSendControlData data-text="SocketSendControlData"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=498)*
<p>Socket level ancillary data that can be sent.</p>
<p>These match the POSIX <code>SOL_SOCKET</code> control messages.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
</table>
### StreamSocketDescribeResponse [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#StreamSocketDescribeResponse data-text="StreamSocketDescribeResponse"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=802)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocketDescribeResponse.socket">
<td><h3 id="StreamSocketDescribeResponse.socket" class="add-link hide-from-toc">1</h3></td>
<td><code>socket</code></td>
<td>
<code>handle&lt;socket&gt;</code>
</td>
<td><p><code>ZX_SOCKET_STREAM</code> on which data is sent and received.</p>
</td>
</tr>
</table>
### SynchronousDatagramSocketDescribeResponse [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#SynchronousDatagramSocketDescribeResponse data-text="SynchronousDatagramSocketDescribeResponse"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=737)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="SynchronousDatagramSocketDescribeResponse.event">
<td><h3 id="SynchronousDatagramSocketDescribeResponse.event" class="add-link hide-from-toc">1</h3></td>
<td><code>event</code></td>
<td>
<code>handle&lt;eventpair&gt;</code>
</td>
<td><p>Signals additional information about the state of the socket such as
readiness or shutdown-ness.</p>
</td>
</tr>
</table>
### TcpInfo {#TcpInfo data-text="TcpInfo"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=984)*
<p>TCP protocol state.</p>
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="TcpInfo.state">
<td><h3 id="TcpInfo.state" class="add-link hide-from-toc">1</h3></td>
<td><code>state</code></td>
<td>
<code><a class='link' href='#TcpState'>TcpState</a></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.ca_state">
<td><h3 id="TcpInfo.ca_state" class="add-link hide-from-toc">2</h3></td>
<td><code>ca_state</code></td>
<td>
<code><a class='link' href='#TcpCongestionControlState'>TcpCongestionControlState</a></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">3</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">4</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">5</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">6</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">7</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">8</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">9</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">10</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.rto_usec">
<td><h3 id="TcpInfo.rto_usec" class="add-link hide-from-toc">11</h3></td>
<td><code>rto_usec</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">12</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">13</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">14</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">15</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">16</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">17</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">18</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">19</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">20</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">21</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">22</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">23</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">24</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">25</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.rtt_usec">
<td><h3 id="TcpInfo.rtt_usec" class="add-link hide-from-toc">26</h3></td>
<td><code>rtt_usec</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.rtt_var_usec">
<td><h3 id="TcpInfo.rtt_var_usec" class="add-link hide-from-toc">27</h3></td>
<td><code>rtt_var_usec</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.snd_ssthresh">
<td><h3 id="TcpInfo.snd_ssthresh" class="add-link hide-from-toc">28</h3></td>
<td><code>snd_ssthresh</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.snd_cwnd">
<td><h3 id="TcpInfo.snd_cwnd" class="add-link hide-from-toc">29</h3></td>
<td><code>snd_cwnd</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">30</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">31</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">32</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">33</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">34</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">35</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">36</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">37</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">38</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">39</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">40</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">41</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">42</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">43</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">44</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">45</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">46</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">47</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">48</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">49</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">50</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">51</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">52</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">53</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.reorder_seen">
<td><h3 id="TcpInfo.reorder_seen" class="add-link hide-from-toc">54</h3></td>
<td><code>reorder_seen</code></td>
<td>
<code>bool</code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">55</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
<tr id="TcpInfo.">
<td><h3 id="TcpInfo." class="add-link hide-from-toc">56</h3></td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td></td>
</tr>
</table>
## **UNIONS**
### BaseDatagramSocket_GetInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseDatagramSocket_GetInfo_Result data-text="BaseDatagramSocket_GetInfo_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=585)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseDatagramSocket_GetInfo_Result.response">
<td><h3 id="BaseDatagramSocket_GetInfo_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseDatagramSocket_GetInfo_Response'>BaseDatagramSocket_GetInfo_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseDatagramSocket_GetInfo_Result.err">
<td><h3 id="BaseDatagramSocket_GetInfo_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_AddIpMembership_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_AddIpMembership_Result data-text="BaseNetworkSocket_AddIpMembership_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=286)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_AddIpMembership_Result.response">
<td><h3 id="BaseNetworkSocket_AddIpMembership_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpMembership_Response'>BaseNetworkSocket_AddIpMembership_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_AddIpMembership_Result.err">
<td><h3 id="BaseNetworkSocket_AddIpMembership_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_AddIpv6Membership_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_AddIpv6Membership_Result data-text="BaseNetworkSocket_AddIpv6Membership_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=295)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_AddIpv6Membership_Result.response">
<td><h3 id="BaseNetworkSocket_AddIpv6Membership_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_AddIpv6Membership_Response'>BaseNetworkSocket_AddIpv6Membership_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_AddIpv6Membership_Result.err">
<td><h3 id="BaseNetworkSocket_AddIpv6Membership_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_Bind_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_Bind_Result data-text="BaseNetworkSocket_Bind_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=186)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_Bind_Result.response">
<td><h3 id="BaseNetworkSocket_Bind_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Bind_Response'>BaseNetworkSocket_Bind_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_Bind_Result.err">
<td><h3 id="BaseNetworkSocket_Bind_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_Connect_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_Connect_Result data-text="BaseNetworkSocket_Connect_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=190)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_Connect_Result.response">
<td><h3 id="BaseNetworkSocket_Connect_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Connect_Response'>BaseNetworkSocket_Connect_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_Connect_Result.err">
<td><h3 id="BaseNetworkSocket_Connect_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_Disconnect_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_Disconnect_Result data-text="BaseNetworkSocket_Disconnect_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=192)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_Disconnect_Result.response">
<td><h3 id="BaseNetworkSocket_Disconnect_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Disconnect_Response'>BaseNetworkSocket_Disconnect_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_Disconnect_Result.err">
<td><h3 id="BaseNetworkSocket_Disconnect_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_DropIpMembership_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_DropIpMembership_Result data-text="BaseNetworkSocket_DropIpMembership_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=290)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_DropIpMembership_Result.response">
<td><h3 id="BaseNetworkSocket_DropIpMembership_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpMembership_Response'>BaseNetworkSocket_DropIpMembership_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_DropIpMembership_Result.err">
<td><h3 id="BaseNetworkSocket_DropIpMembership_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_DropIpv6Membership_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_DropIpv6Membership_Result data-text="BaseNetworkSocket_DropIpv6Membership_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=299)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_DropIpv6Membership_Result.response">
<td><h3 id="BaseNetworkSocket_DropIpv6Membership_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_DropIpv6Membership_Response'>BaseNetworkSocket_DropIpv6Membership_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_DropIpv6Membership_Result.err">
<td><h3 id="BaseNetworkSocket_DropIpv6Membership_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpMulticastInterface_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpMulticastInterface_Result data-text="BaseNetworkSocket_GetIpMulticastInterface_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=259)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpMulticastInterface_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpMulticastInterface_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastInterface_Response'>BaseNetworkSocket_GetIpMulticastInterface_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpMulticastInterface_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpMulticastInterface_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpMulticastLoopback_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpMulticastLoopback_Result data-text="BaseNetworkSocket_GetIpMulticastLoopback_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=279)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpMulticastLoopback_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpMulticastLoopback_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastLoopback_Response'>BaseNetworkSocket_GetIpMulticastLoopback_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpMulticastLoopback_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpMulticastLoopback_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpMulticastTtl_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpMulticastTtl_Result data-text="BaseNetworkSocket_GetIpMulticastTtl_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=270)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpMulticastTtl_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpMulticastTtl_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpMulticastTtl_Response'>BaseNetworkSocket_GetIpMulticastTtl_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpMulticastTtl_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpMulticastTtl_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpPacketInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpPacketInfo_Result data-text="BaseNetworkSocket_GetIpPacketInfo_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=231)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpPacketInfo_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpPacketInfo_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpPacketInfo_Response'>BaseNetworkSocket_GetIpPacketInfo_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpPacketInfo_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpPacketInfo_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpReceiveTtl_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpReceiveTtl_Result data-text="BaseNetworkSocket_GetIpReceiveTtl_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=249)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpReceiveTtl_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpReceiveTtl_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTtl_Response'>BaseNetworkSocket_GetIpReceiveTtl_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpReceiveTtl_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpReceiveTtl_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpReceiveTypeOfService_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpReceiveTypeOfService_Result data-text="BaseNetworkSocket_GetIpReceiveTypeOfService_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=240)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpReceiveTypeOfService_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpReceiveTypeOfService_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpReceiveTypeOfService_Response'>BaseNetworkSocket_GetIpReceiveTypeOfService_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpReceiveTypeOfService_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpReceiveTypeOfService_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpTtl_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpTtl_Result data-text="BaseNetworkSocket_GetIpTtl_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=222)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpTtl_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpTtl_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTtl_Response'>BaseNetworkSocket_GetIpTtl_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpTtl_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpTtl_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpTypeOfService_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpTypeOfService_Result data-text="BaseNetworkSocket_GetIpTypeOfService_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=211)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpTypeOfService_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpTypeOfService_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpTypeOfService_Response'>BaseNetworkSocket_GetIpTypeOfService_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpTypeOfService_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpTypeOfService_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6MulticastHops_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6MulticastHops_Result data-text="BaseNetworkSocket_GetIpv6MulticastHops_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=338)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastHops_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6MulticastHops_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastHops_Response'>BaseNetworkSocket_GetIpv6MulticastHops_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastHops_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6MulticastHops_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6MulticastInterface_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6MulticastInterface_Result data-text="BaseNetworkSocket_GetIpv6MulticastInterface_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=306)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastInterface_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6MulticastInterface_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastInterface_Response'>BaseNetworkSocket_GetIpv6MulticastInterface_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastInterface_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6MulticastInterface_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6MulticastLoopback_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6MulticastLoopback_Result data-text="BaseNetworkSocket_GetIpv6MulticastLoopback_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=347)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastLoopback_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6MulticastLoopback_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6MulticastLoopback_Response'>BaseNetworkSocket_GetIpv6MulticastLoopback_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6MulticastLoopback_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6MulticastLoopback_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6Only_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6Only_Result data-text="BaseNetworkSocket_GetIpv6Only_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=356)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6Only_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6Only_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6Only_Response'>BaseNetworkSocket_GetIpv6Only_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6Only_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6Only_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result data-text="BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=327)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveHopLimit_Response'>BaseNetworkSocket_GetIpv6ReceiveHopLimit_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result data-text="BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=389)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceivePacketInfo_Response'>BaseNetworkSocket_GetIpv6ReceivePacketInfo_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result data-text="BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=367)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Response'>BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6TrafficClass_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6TrafficClass_Result data-text="BaseNetworkSocket_GetIpv6TrafficClass_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=380)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6TrafficClass_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6TrafficClass_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6TrafficClass_Response'>BaseNetworkSocket_GetIpv6TrafficClass_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6TrafficClass_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6TrafficClass_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetIpv6UnicastHops_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetIpv6UnicastHops_Result data-text="BaseNetworkSocket_GetIpv6UnicastHops_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=318)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetIpv6UnicastHops_Result.response">
<td><h3 id="BaseNetworkSocket_GetIpv6UnicastHops_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetIpv6UnicastHops_Response'>BaseNetworkSocket_GetIpv6UnicastHops_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetIpv6UnicastHops_Result.err">
<td><h3 id="BaseNetworkSocket_GetIpv6UnicastHops_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetPeerName_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetPeerName_Result data-text="BaseNetworkSocket_GetPeerName_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=198)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetPeerName_Result.response">
<td><h3 id="BaseNetworkSocket_GetPeerName_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetPeerName_Response'>BaseNetworkSocket_GetPeerName_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetPeerName_Result.err">
<td><h3 id="BaseNetworkSocket_GetPeerName_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_GetSockName_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_GetSockName_Result data-text="BaseNetworkSocket_GetSockName_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=194)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_GetSockName_Result.response">
<td><h3 id="BaseNetworkSocket_GetSockName_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_GetSockName_Response'>BaseNetworkSocket_GetSockName_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_GetSockName_Result.err">
<td><h3 id="BaseNetworkSocket_GetSockName_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpMulticastInterface_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpMulticastInterface_Result data-text="BaseNetworkSocket_SetIpMulticastInterface_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=257)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpMulticastInterface_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpMulticastInterface_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastInterface_Response'>BaseNetworkSocket_SetIpMulticastInterface_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpMulticastInterface_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpMulticastInterface_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpMulticastLoopback_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpMulticastLoopback_Result data-text="BaseNetworkSocket_SetIpMulticastLoopback_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=277)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpMulticastLoopback_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpMulticastLoopback_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastLoopback_Response'>BaseNetworkSocket_SetIpMulticastLoopback_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpMulticastLoopback_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpMulticastLoopback_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpMulticastTtl_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpMulticastTtl_Result data-text="BaseNetworkSocket_SetIpMulticastTtl_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=268)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpMulticastTtl_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpMulticastTtl_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpMulticastTtl_Response'>BaseNetworkSocket_SetIpMulticastTtl_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpMulticastTtl_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpMulticastTtl_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpPacketInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpPacketInfo_Result data-text="BaseNetworkSocket_SetIpPacketInfo_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=229)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpPacketInfo_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpPacketInfo_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpPacketInfo_Response'>BaseNetworkSocket_SetIpPacketInfo_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpPacketInfo_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpPacketInfo_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpReceiveTtl_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpReceiveTtl_Result data-text="BaseNetworkSocket_SetIpReceiveTtl_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=247)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpReceiveTtl_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpReceiveTtl_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTtl_Response'>BaseNetworkSocket_SetIpReceiveTtl_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpReceiveTtl_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpReceiveTtl_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpReceiveTypeOfService_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpReceiveTypeOfService_Result data-text="BaseNetworkSocket_SetIpReceiveTypeOfService_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=238)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpReceiveTypeOfService_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpReceiveTypeOfService_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpReceiveTypeOfService_Response'>BaseNetworkSocket_SetIpReceiveTypeOfService_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpReceiveTypeOfService_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpReceiveTypeOfService_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpTtl_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpTtl_Result data-text="BaseNetworkSocket_SetIpTtl_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=220)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpTtl_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpTtl_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTtl_Response'>BaseNetworkSocket_SetIpTtl_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpTtl_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpTtl_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpTypeOfService_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpTypeOfService_Result data-text="BaseNetworkSocket_SetIpTypeOfService_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=209)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpTypeOfService_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpTypeOfService_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpTypeOfService_Response'>BaseNetworkSocket_SetIpTypeOfService_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpTypeOfService_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpTypeOfService_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6MulticastHops_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6MulticastHops_Result data-text="BaseNetworkSocket_SetIpv6MulticastHops_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=336)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6MulticastHops_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6MulticastHops_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastHops_Response'>BaseNetworkSocket_SetIpv6MulticastHops_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6MulticastHops_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6MulticastHops_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6MulticastInterface_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6MulticastInterface_Result data-text="BaseNetworkSocket_SetIpv6MulticastInterface_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=304)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6MulticastInterface_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6MulticastInterface_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastInterface_Response'>BaseNetworkSocket_SetIpv6MulticastInterface_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6MulticastInterface_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6MulticastInterface_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6MulticastLoopback_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6MulticastLoopback_Result data-text="BaseNetworkSocket_SetIpv6MulticastLoopback_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=345)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6MulticastLoopback_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6MulticastLoopback_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6MulticastLoopback_Response'>BaseNetworkSocket_SetIpv6MulticastLoopback_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6MulticastLoopback_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6MulticastLoopback_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6Only_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6Only_Result data-text="BaseNetworkSocket_SetIpv6Only_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=354)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6Only_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6Only_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6Only_Response'>BaseNetworkSocket_SetIpv6Only_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6Only_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6Only_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result data-text="BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=325)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveHopLimit_Response'>BaseNetworkSocket_SetIpv6ReceiveHopLimit_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result data-text="BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=387)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceivePacketInfo_Response'>BaseNetworkSocket_SetIpv6ReceivePacketInfo_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result data-text="BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=365)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Response'>BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6TrafficClass_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6TrafficClass_Result data-text="BaseNetworkSocket_SetIpv6TrafficClass_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=378)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6TrafficClass_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6TrafficClass_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6TrafficClass_Response'>BaseNetworkSocket_SetIpv6TrafficClass_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6TrafficClass_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6TrafficClass_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_SetIpv6UnicastHops_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_SetIpv6UnicastHops_Result data-text="BaseNetworkSocket_SetIpv6UnicastHops_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=316)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_SetIpv6UnicastHops_Result.response">
<td><h3 id="BaseNetworkSocket_SetIpv6UnicastHops_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_SetIpv6UnicastHops_Response'>BaseNetworkSocket_SetIpv6UnicastHops_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_SetIpv6UnicastHops_Result.err">
<td><h3 id="BaseNetworkSocket_SetIpv6UnicastHops_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseNetworkSocket_Shutdown_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseNetworkSocket_Shutdown_Result data-text="BaseNetworkSocket_Shutdown_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=204)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseNetworkSocket_Shutdown_Result.response">
<td><h3 id="BaseNetworkSocket_Shutdown_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseNetworkSocket_Shutdown_Response'>BaseNetworkSocket_Shutdown_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseNetworkSocket_Shutdown_Result.err">
<td><h3 id="BaseNetworkSocket_Shutdown_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetAcceptConn_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetAcceptConn_Result data-text="BaseSocket_GetAcceptConn_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=153)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetAcceptConn_Result.response">
<td><h3 id="BaseSocket_GetAcceptConn_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetAcceptConn_Response'>BaseSocket_GetAcceptConn_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetAcceptConn_Result.err">
<td><h3 id="BaseSocket_GetAcceptConn_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetBindToDevice_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetBindToDevice_Result data-text="BaseSocket_GetBindToDevice_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=162)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetBindToDevice_Result.response">
<td><h3 id="BaseSocket_GetBindToDevice_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBindToDevice_Response'>BaseSocket_GetBindToDevice_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetBindToDevice_Result.err">
<td><h3 id="BaseSocket_GetBindToDevice_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetBroadcast_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetBroadcast_Result data-text="BaseSocket_GetBroadcast_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=76)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetBroadcast_Result.response">
<td><h3 id="BaseSocket_GetBroadcast_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetBroadcast_Response'>BaseSocket_GetBroadcast_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetBroadcast_Result.err">
<td><h3 id="BaseSocket_GetBroadcast_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetError_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetError_Result data-text="BaseSocket_GetError_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=69)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetError_Result.response">
<td><h3 id="BaseSocket_GetError_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetError_Response'>BaseSocket_GetError_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetError_Result.err">
<td><h3 id="BaseSocket_GetError_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetKeepAlive_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetKeepAlive_Result data-text="BaseSocket_GetKeepAlive_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=103)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetKeepAlive_Result.response">
<td><h3 id="BaseSocket_GetKeepAlive_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetKeepAlive_Response'>BaseSocket_GetKeepAlive_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetKeepAlive_Result.err">
<td><h3 id="BaseSocket_GetKeepAlive_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetLinger_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetLinger_Result data-text="BaseSocket_GetLinger_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=131)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetLinger_Result.response">
<td><h3 id="BaseSocket_GetLinger_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetLinger_Response'>BaseSocket_GetLinger_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetLinger_Result.err">
<td><h3 id="BaseSocket_GetLinger_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetNoCheck_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetNoCheck_Result data-text="BaseSocket_GetNoCheck_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=121)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetNoCheck_Result.response">
<td><h3 id="BaseSocket_GetNoCheck_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetNoCheck_Response'>BaseSocket_GetNoCheck_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetNoCheck_Result.err">
<td><h3 id="BaseSocket_GetNoCheck_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetOutOfBandInline_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetOutOfBandInline_Result data-text="BaseSocket_GetOutOfBandInline_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=112)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetOutOfBandInline_Result.response">
<td><h3 id="BaseSocket_GetOutOfBandInline_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetOutOfBandInline_Response'>BaseSocket_GetOutOfBandInline_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetOutOfBandInline_Result.err">
<td><h3 id="BaseSocket_GetOutOfBandInline_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetReceiveBuffer_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetReceiveBuffer_Result data-text="BaseSocket_GetReceiveBuffer_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=94)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetReceiveBuffer_Result.response">
<td><h3 id="BaseSocket_GetReceiveBuffer_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReceiveBuffer_Response'>BaseSocket_GetReceiveBuffer_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetReceiveBuffer_Result.err">
<td><h3 id="BaseSocket_GetReceiveBuffer_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetReuseAddress_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetReuseAddress_Result data-text="BaseSocket_GetReuseAddress_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=60)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetReuseAddress_Result.response">
<td><h3 id="BaseSocket_GetReuseAddress_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReuseAddress_Response'>BaseSocket_GetReuseAddress_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetReuseAddress_Result.err">
<td><h3 id="BaseSocket_GetReuseAddress_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetReusePort_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetReusePort_Result data-text="BaseSocket_GetReusePort_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=141)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetReusePort_Result.response">
<td><h3 id="BaseSocket_GetReusePort_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetReusePort_Response'>BaseSocket_GetReusePort_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetReusePort_Result.err">
<td><h3 id="BaseSocket_GetReusePort_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetSendBuffer_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetSendBuffer_Result data-text="BaseSocket_GetSendBuffer_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=85)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetSendBuffer_Result.response">
<td><h3 id="BaseSocket_GetSendBuffer_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetSendBuffer_Response'>BaseSocket_GetSendBuffer_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetSendBuffer_Result.err">
<td><h3 id="BaseSocket_GetSendBuffer_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_GetTimestamp_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_GetTimestamp_Result data-text="BaseSocket_GetTimestamp_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=174)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_GetTimestamp_Result.response">
<td><h3 id="BaseSocket_GetTimestamp_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_GetTimestamp_Response'>BaseSocket_GetTimestamp_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_GetTimestamp_Result.err">
<td><h3 id="BaseSocket_GetTimestamp_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetBindToDevice_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetBindToDevice_Result data-text="BaseSocket_SetBindToDevice_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=160)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetBindToDevice_Result.response">
<td><h3 id="BaseSocket_SetBindToDevice_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBindToDevice_Response'>BaseSocket_SetBindToDevice_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetBindToDevice_Result.err">
<td><h3 id="BaseSocket_SetBindToDevice_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetBroadcast_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetBroadcast_Result data-text="BaseSocket_SetBroadcast_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=74)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetBroadcast_Result.response">
<td><h3 id="BaseSocket_SetBroadcast_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetBroadcast_Response'>BaseSocket_SetBroadcast_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetBroadcast_Result.err">
<td><h3 id="BaseSocket_SetBroadcast_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetKeepAlive_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetKeepAlive_Result data-text="BaseSocket_SetKeepAlive_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=101)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetKeepAlive_Result.response">
<td><h3 id="BaseSocket_SetKeepAlive_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetKeepAlive_Response'>BaseSocket_SetKeepAlive_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetKeepAlive_Result.err">
<td><h3 id="BaseSocket_SetKeepAlive_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetLinger_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetLinger_Result data-text="BaseSocket_SetLinger_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=129)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetLinger_Result.response">
<td><h3 id="BaseSocket_SetLinger_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetLinger_Response'>BaseSocket_SetLinger_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetLinger_Result.err">
<td><h3 id="BaseSocket_SetLinger_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetNoCheck_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetNoCheck_Result data-text="BaseSocket_SetNoCheck_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=119)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetNoCheck_Result.response">
<td><h3 id="BaseSocket_SetNoCheck_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetNoCheck_Response'>BaseSocket_SetNoCheck_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetNoCheck_Result.err">
<td><h3 id="BaseSocket_SetNoCheck_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetOutOfBandInline_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetOutOfBandInline_Result data-text="BaseSocket_SetOutOfBandInline_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=110)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetOutOfBandInline_Result.response">
<td><h3 id="BaseSocket_SetOutOfBandInline_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetOutOfBandInline_Response'>BaseSocket_SetOutOfBandInline_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetOutOfBandInline_Result.err">
<td><h3 id="BaseSocket_SetOutOfBandInline_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetReceiveBuffer_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetReceiveBuffer_Result data-text="BaseSocket_SetReceiveBuffer_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=92)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetReceiveBuffer_Result.response">
<td><h3 id="BaseSocket_SetReceiveBuffer_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReceiveBuffer_Response'>BaseSocket_SetReceiveBuffer_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetReceiveBuffer_Result.err">
<td><h3 id="BaseSocket_SetReceiveBuffer_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetReuseAddress_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetReuseAddress_Result data-text="BaseSocket_SetReuseAddress_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=58)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetReuseAddress_Result.response">
<td><h3 id="BaseSocket_SetReuseAddress_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReuseAddress_Response'>BaseSocket_SetReuseAddress_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetReuseAddress_Result.err">
<td><h3 id="BaseSocket_SetReuseAddress_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetReusePort_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetReusePort_Result data-text="BaseSocket_SetReusePort_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=139)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetReusePort_Result.response">
<td><h3 id="BaseSocket_SetReusePort_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetReusePort_Response'>BaseSocket_SetReusePort_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetReusePort_Result.err">
<td><h3 id="BaseSocket_SetReusePort_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetSendBuffer_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetSendBuffer_Result data-text="BaseSocket_SetSendBuffer_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=83)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetSendBuffer_Result.response">
<td><h3 id="BaseSocket_SetSendBuffer_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetSendBuffer_Response'>BaseSocket_SetSendBuffer_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetSendBuffer_Result.err">
<td><h3 id="BaseSocket_SetSendBuffer_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### BaseSocket_SetTimestamp_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#BaseSocket_SetTimestamp_Result data-text="BaseSocket_SetTimestamp_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=172)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="BaseSocket_SetTimestamp_Result.response">
<td><h3 id="BaseSocket_SetTimestamp_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#BaseSocket_SetTimestamp_Response'>BaseSocket_SetTimestamp_Response</a></code>
</td>
<td></td>
</tr>
<tr id="BaseSocket_SetTimestamp_Result.err">
<td><h3 id="BaseSocket_SetTimestamp_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### DatagramSocket_RecvMsgPostflight_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#DatagramSocket_RecvMsgPostflight_Result data-text="DatagramSocket_RecvMsgPostflight_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=693)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocket_RecvMsgPostflight_Result.response">
<td><h3 id="DatagramSocket_RecvMsgPostflight_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#DatagramSocket_RecvMsgPostflight_Response'>DatagramSocket_RecvMsgPostflight_Response</a></code>
</td>
<td></td>
</tr>
<tr id="DatagramSocket_RecvMsgPostflight_Result.err">
<td><h3 id="DatagramSocket_RecvMsgPostflight_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### DatagramSocket_SendMsgPreflight_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#DatagramSocket_SendMsgPreflight_Result data-text="DatagramSocket_SendMsgPreflight_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=673)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="DatagramSocket_SendMsgPreflight_Result.response">
<td><h3 id="DatagramSocket_SendMsgPreflight_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#DatagramSocket_SendMsgPreflight_Response'>DatagramSocket_SendMsgPreflight_Response</a></code>
</td>
<td></td>
</tr>
<tr id="DatagramSocket_SendMsgPreflight_Result.err">
<td><h3 id="DatagramSocket_SendMsgPreflight_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### OptionalUint32 [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#OptionalUint32 data-text="OptionalUint32"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=421)*
<p>An optional uint32 value.</p>
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="OptionalUint32.value">
<td><h3 id="OptionalUint32.value" class="add-link hide-from-toc">1</h3></td>
<td><code>value</code></td>
<td>
<code>uint32</code>
</td>
<td></td>
</tr>
<tr id="OptionalUint32.unset">
<td><h3 id="OptionalUint32.unset" class="add-link hide-from-toc">2</h3></td>
<td><code>unset</code></td>
<td>
<code><a class='link' href='#Empty'>Empty</a></code>
</td>
<td></td>
</tr>
</table>
### OptionalUint8 [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#OptionalUint8 data-text="OptionalUint8"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=414)*
<p>An optional byte value.</p>
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="OptionalUint8.value">
<td><h3 id="OptionalUint8.value" class="add-link hide-from-toc">1</h3></td>
<td><code>value</code></td>
<td>
<code>uint8</code>
</td>
<td></td>
</tr>
<tr id="OptionalUint8.unset">
<td><h3 id="OptionalUint8.unset" class="add-link hide-from-toc">2</h3></td>
<td><code>unset</code></td>
<td>
<code><a class='link' href='#Empty'>Empty</a></code>
</td>
<td></td>
</tr>
</table>
### Provider_DatagramSocketDeprecated_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#Provider_DatagramSocketDeprecated_Result data-text="Provider_DatagramSocketDeprecated_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1146)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Provider_DatagramSocketDeprecated_Result.response">
<td><h3 id="Provider_DatagramSocketDeprecated_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Provider_DatagramSocketDeprecated_Response'>Provider_DatagramSocketDeprecated_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Provider_DatagramSocketDeprecated_Result.err">
<td><h3 id="Provider_DatagramSocketDeprecated_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### Provider_DatagramSocket_Response [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#Provider_DatagramSocket_Response data-text="Provider_DatagramSocket_Response"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1154)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Provider_DatagramSocket_Response.datagram_socket">
<td><h3 id="Provider_DatagramSocket_Response.datagram_socket" class="add-link hide-from-toc">1</h3></td>
<td><code>datagram_socket</code></td>
<td>
<code><a class='link' href='#DatagramSocket'>DatagramSocket</a></code>
</td>
<td></td>
</tr>
<tr id="Provider_DatagramSocket_Response.synchronous_datagram_socket">
<td><h3 id="Provider_DatagramSocket_Response.synchronous_datagram_socket" class="add-link hide-from-toc">2</h3></td>
<td><code>synchronous_datagram_socket</code></td>
<td>
<code><a class='link' href='#SynchronousDatagramSocket'>SynchronousDatagramSocket</a></code>
</td>
<td></td>
</tr>
</table>
### Provider_DatagramSocket_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#Provider_DatagramSocket_Result data-text="Provider_DatagramSocket_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1154)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Provider_DatagramSocket_Result.response">
<td><h3 id="Provider_DatagramSocket_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Provider_DatagramSocket_Response'>Provider_DatagramSocket_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Provider_DatagramSocket_Result.err">
<td><h3 id="Provider_DatagramSocket_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### Provider_InterfaceIndexToName_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Provider_InterfaceIndexToName_Result data-text="Provider_InterfaceIndexToName_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1163)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Provider_InterfaceIndexToName_Result.response">
<td><h3 id="Provider_InterfaceIndexToName_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Provider_InterfaceIndexToName_Response'>Provider_InterfaceIndexToName_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Provider_InterfaceIndexToName_Result.err">
<td><h3 id="Provider_InterfaceIndexToName_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
</td>
<td></td>
</tr>
</table>
### Provider_InterfaceNameToFlags_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Provider_InterfaceNameToFlags_Result data-text="Provider_InterfaceNameToFlags_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1177)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Provider_InterfaceNameToFlags_Result.response">
<td><h3 id="Provider_InterfaceNameToFlags_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Provider_InterfaceNameToFlags_Response'>Provider_InterfaceNameToFlags_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Provider_InterfaceNameToFlags_Result.err">
<td><h3 id="Provider_InterfaceNameToFlags_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
</td>
<td></td>
</tr>
</table>
### Provider_InterfaceNameToIndex_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Provider_InterfaceNameToIndex_Result data-text="Provider_InterfaceNameToIndex_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1170)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Provider_InterfaceNameToIndex_Result.response">
<td><h3 id="Provider_InterfaceNameToIndex_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Provider_InterfaceNameToIndex_Response'>Provider_InterfaceNameToIndex_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Provider_InterfaceNameToIndex_Result.err">
<td><h3 id="Provider_InterfaceNameToIndex_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
</td>
<td></td>
</tr>
</table>
### Provider_StreamSocket_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#Provider_StreamSocket_Result data-text="Provider_StreamSocket_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1137)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="Provider_StreamSocket_Result.response">
<td><h3 id="Provider_StreamSocket_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#Provider_StreamSocket_Response'>Provider_StreamSocket_Response</a></code>
</td>
<td></td>
</tr>
<tr id="Provider_StreamSocket_Result.err">
<td><h3 id="Provider_StreamSocket_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_Accept_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#StreamSocket_Accept_Result data-text="StreamSocket_Accept_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=815)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_Accept_Result.response">
<td><h3 id="StreamSocket_Accept_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_Accept_Response'>StreamSocket_Accept_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_Accept_Result.err">
<td><h3 id="StreamSocket_Accept_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetInfo_Result data-text="StreamSocket_GetInfo_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=821)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetInfo_Result.response">
<td><h3 id="StreamSocket_GetInfo_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetInfo_Response'>StreamSocket_GetInfo_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetInfo_Result.err">
<td><h3 id="StreamSocket_GetInfo_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpCongestion_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpCongestion_Result data-text="StreamSocket_GetTcpCongestion_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=935)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpCongestion_Result.response">
<td><h3 id="StreamSocket_GetTcpCongestion_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpCongestion_Response'>StreamSocket_GetTcpCongestion_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpCongestion_Result.err">
<td><h3 id="StreamSocket_GetTcpCongestion_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpCork_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpCork_Result data-text="StreamSocket_GetTcpCork_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=849)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpCork_Result.response">
<td><h3 id="StreamSocket_GetTcpCork_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpCork_Response'>StreamSocket_GetTcpCork_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpCork_Result.err">
<td><h3 id="StreamSocket_GetTcpCork_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpDeferAccept_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpDeferAccept_Result data-text="StreamSocket_GetTcpDeferAccept_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=903)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpDeferAccept_Result.response">
<td><h3 id="StreamSocket_GetTcpDeferAccept_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpDeferAccept_Response'>StreamSocket_GetTcpDeferAccept_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpDeferAccept_Result.err">
<td><h3 id="StreamSocket_GetTcpDeferAccept_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpInfo_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpInfo_Result data-text="StreamSocket_GetTcpInfo_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=917)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpInfo_Result.response">
<td><h3 id="StreamSocket_GetTcpInfo_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpInfo_Response'>StreamSocket_GetTcpInfo_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpInfo_Result.err">
<td><h3 id="StreamSocket_GetTcpInfo_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpKeepAliveCount_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpKeepAliveCount_Result data-text="StreamSocket_GetTcpKeepAliveCount_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=876)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpKeepAliveCount_Result.response">
<td><h3 id="StreamSocket_GetTcpKeepAliveCount_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpKeepAliveCount_Response'>StreamSocket_GetTcpKeepAliveCount_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpKeepAliveCount_Result.err">
<td><h3 id="StreamSocket_GetTcpKeepAliveCount_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpKeepAliveIdle_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpKeepAliveIdle_Result data-text="StreamSocket_GetTcpKeepAliveIdle_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=858)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpKeepAliveIdle_Result.response">
<td><h3 id="StreamSocket_GetTcpKeepAliveIdle_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpKeepAliveIdle_Response'>StreamSocket_GetTcpKeepAliveIdle_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpKeepAliveIdle_Result.err">
<td><h3 id="StreamSocket_GetTcpKeepAliveIdle_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpKeepAliveInterval_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpKeepAliveInterval_Result data-text="StreamSocket_GetTcpKeepAliveInterval_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=867)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpKeepAliveInterval_Result.response">
<td><h3 id="StreamSocket_GetTcpKeepAliveInterval_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpKeepAliveInterval_Response'>StreamSocket_GetTcpKeepAliveInterval_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpKeepAliveInterval_Result.err">
<td><h3 id="StreamSocket_GetTcpKeepAliveInterval_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpLinger_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpLinger_Result data-text="StreamSocket_GetTcpLinger_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=894)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpLinger_Result.response">
<td><h3 id="StreamSocket_GetTcpLinger_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpLinger_Response'>StreamSocket_GetTcpLinger_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpLinger_Result.err">
<td><h3 id="StreamSocket_GetTcpLinger_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpMaxSegment_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpMaxSegment_Result data-text="StreamSocket_GetTcpMaxSegment_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=840)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpMaxSegment_Result.response">
<td><h3 id="StreamSocket_GetTcpMaxSegment_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpMaxSegment_Response'>StreamSocket_GetTcpMaxSegment_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpMaxSegment_Result.err">
<td><h3 id="StreamSocket_GetTcpMaxSegment_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpNoDelay_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpNoDelay_Result data-text="StreamSocket_GetTcpNoDelay_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=831)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpNoDelay_Result.response">
<td><h3 id="StreamSocket_GetTcpNoDelay_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpNoDelay_Response'>StreamSocket_GetTcpNoDelay_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpNoDelay_Result.err">
<td><h3 id="StreamSocket_GetTcpNoDelay_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpQuickAck_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpQuickAck_Result data-text="StreamSocket_GetTcpQuickAck_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=926)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpQuickAck_Result.response">
<td><h3 id="StreamSocket_GetTcpQuickAck_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpQuickAck_Response'>StreamSocket_GetTcpQuickAck_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpQuickAck_Result.err">
<td><h3 id="StreamSocket_GetTcpQuickAck_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpSynCount_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpSynCount_Result data-text="StreamSocket_GetTcpSynCount_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=885)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpSynCount_Result.response">
<td><h3 id="StreamSocket_GetTcpSynCount_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpSynCount_Response'>StreamSocket_GetTcpSynCount_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpSynCount_Result.err">
<td><h3 id="StreamSocket_GetTcpSynCount_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpUserTimeout_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpUserTimeout_Result data-text="StreamSocket_GetTcpUserTimeout_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=944)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpUserTimeout_Result.response">
<td><h3 id="StreamSocket_GetTcpUserTimeout_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpUserTimeout_Response'>StreamSocket_GetTcpUserTimeout_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpUserTimeout_Result.err">
<td><h3 id="StreamSocket_GetTcpUserTimeout_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_GetTcpWindowClamp_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_GetTcpWindowClamp_Result data-text="StreamSocket_GetTcpWindowClamp_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=912)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_GetTcpWindowClamp_Result.response">
<td><h3 id="StreamSocket_GetTcpWindowClamp_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_GetTcpWindowClamp_Response'>StreamSocket_GetTcpWindowClamp_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_GetTcpWindowClamp_Result.err">
<td><h3 id="StreamSocket_GetTcpWindowClamp_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_Listen_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_Listen_Result data-text="StreamSocket_Listen_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=811)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_Listen_Result.response">
<td><h3 id="StreamSocket_Listen_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_Listen_Response'>StreamSocket_Listen_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_Listen_Result.err">
<td><h3 id="StreamSocket_Listen_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpCongestion_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpCongestion_Result data-text="StreamSocket_SetTcpCongestion_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=933)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpCongestion_Result.response">
<td><h3 id="StreamSocket_SetTcpCongestion_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpCongestion_Response'>StreamSocket_SetTcpCongestion_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpCongestion_Result.err">
<td><h3 id="StreamSocket_SetTcpCongestion_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpCork_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpCork_Result data-text="StreamSocket_SetTcpCork_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=847)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpCork_Result.response">
<td><h3 id="StreamSocket_SetTcpCork_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpCork_Response'>StreamSocket_SetTcpCork_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpCork_Result.err">
<td><h3 id="StreamSocket_SetTcpCork_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpDeferAccept_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpDeferAccept_Result data-text="StreamSocket_SetTcpDeferAccept_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=901)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpDeferAccept_Result.response">
<td><h3 id="StreamSocket_SetTcpDeferAccept_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpDeferAccept_Response'>StreamSocket_SetTcpDeferAccept_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpDeferAccept_Result.err">
<td><h3 id="StreamSocket_SetTcpDeferAccept_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpKeepAliveCount_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpKeepAliveCount_Result data-text="StreamSocket_SetTcpKeepAliveCount_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=874)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpKeepAliveCount_Result.response">
<td><h3 id="StreamSocket_SetTcpKeepAliveCount_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpKeepAliveCount_Response'>StreamSocket_SetTcpKeepAliveCount_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpKeepAliveCount_Result.err">
<td><h3 id="StreamSocket_SetTcpKeepAliveCount_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpKeepAliveIdle_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpKeepAliveIdle_Result data-text="StreamSocket_SetTcpKeepAliveIdle_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=856)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpKeepAliveIdle_Result.response">
<td><h3 id="StreamSocket_SetTcpKeepAliveIdle_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpKeepAliveIdle_Response'>StreamSocket_SetTcpKeepAliveIdle_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpKeepAliveIdle_Result.err">
<td><h3 id="StreamSocket_SetTcpKeepAliveIdle_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpKeepAliveInterval_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpKeepAliveInterval_Result data-text="StreamSocket_SetTcpKeepAliveInterval_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=865)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpKeepAliveInterval_Result.response">
<td><h3 id="StreamSocket_SetTcpKeepAliveInterval_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpKeepAliveInterval_Response'>StreamSocket_SetTcpKeepAliveInterval_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpKeepAliveInterval_Result.err">
<td><h3 id="StreamSocket_SetTcpKeepAliveInterval_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpLinger_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpLinger_Result data-text="StreamSocket_SetTcpLinger_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=892)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpLinger_Result.response">
<td><h3 id="StreamSocket_SetTcpLinger_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpLinger_Response'>StreamSocket_SetTcpLinger_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpLinger_Result.err">
<td><h3 id="StreamSocket_SetTcpLinger_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpMaxSegment_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpMaxSegment_Result data-text="StreamSocket_SetTcpMaxSegment_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=838)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpMaxSegment_Result.response">
<td><h3 id="StreamSocket_SetTcpMaxSegment_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpMaxSegment_Response'>StreamSocket_SetTcpMaxSegment_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpMaxSegment_Result.err">
<td><h3 id="StreamSocket_SetTcpMaxSegment_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpNoDelay_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpNoDelay_Result data-text="StreamSocket_SetTcpNoDelay_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=829)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpNoDelay_Result.response">
<td><h3 id="StreamSocket_SetTcpNoDelay_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpNoDelay_Response'>StreamSocket_SetTcpNoDelay_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpNoDelay_Result.err">
<td><h3 id="StreamSocket_SetTcpNoDelay_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpQuickAck_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpQuickAck_Result data-text="StreamSocket_SetTcpQuickAck_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=924)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpQuickAck_Result.response">
<td><h3 id="StreamSocket_SetTcpQuickAck_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpQuickAck_Response'>StreamSocket_SetTcpQuickAck_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpQuickAck_Result.err">
<td><h3 id="StreamSocket_SetTcpQuickAck_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpSynCount_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpSynCount_Result data-text="StreamSocket_SetTcpSynCount_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=883)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpSynCount_Result.response">
<td><h3 id="StreamSocket_SetTcpSynCount_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpSynCount_Response'>StreamSocket_SetTcpSynCount_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpSynCount_Result.err">
<td><h3 id="StreamSocket_SetTcpSynCount_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpUserTimeout_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpUserTimeout_Result data-text="StreamSocket_SetTcpUserTimeout_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=942)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpUserTimeout_Result.response">
<td><h3 id="StreamSocket_SetTcpUserTimeout_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpUserTimeout_Response'>StreamSocket_SetTcpUserTimeout_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpUserTimeout_Result.err">
<td><h3 id="StreamSocket_SetTcpUserTimeout_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### StreamSocket_SetTcpWindowClamp_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#StreamSocket_SetTcpWindowClamp_Result data-text="StreamSocket_SetTcpWindowClamp_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=910)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="StreamSocket_SetTcpWindowClamp_Result.response">
<td><h3 id="StreamSocket_SetTcpWindowClamp_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#StreamSocket_SetTcpWindowClamp_Response'>StreamSocket_SetTcpWindowClamp_Response</a></code>
</td>
<td></td>
</tr>
<tr id="StreamSocket_SetTcpWindowClamp_Result.err">
<td><h3 id="StreamSocket_SetTcpWindowClamp_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### SynchronousDatagramSocket_RecvMsg_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#SynchronousDatagramSocket_RecvMsg_Result data-text="SynchronousDatagramSocket_RecvMsg_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=762)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="SynchronousDatagramSocket_RecvMsg_Result.response">
<td><h3 id="SynchronousDatagramSocket_RecvMsg_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#SynchronousDatagramSocket_RecvMsg_Response'>SynchronousDatagramSocket_RecvMsg_Response</a></code>
</td>
<td></td>
</tr>
<tr id="SynchronousDatagramSocket_RecvMsg_Result.err">
<td><h3 id="SynchronousDatagramSocket_RecvMsg_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
### SynchronousDatagramSocket_SendMsg_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#SynchronousDatagramSocket_SendMsg_Result data-text="SynchronousDatagramSocket_SendMsg_Result"}
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=782)*
<table>
<tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr>
<tr id="SynchronousDatagramSocket_SendMsg_Result.response">
<td><h3 id="SynchronousDatagramSocket_SendMsg_Result.response" class="add-link hide-from-toc">1</h3></td>
<td><code>response</code></td>
<td>
<code><a class='link' href='#SynchronousDatagramSocket_SendMsg_Response'>SynchronousDatagramSocket_SendMsg_Response</a></code>
</td>
<td></td>
</tr>
<tr id="SynchronousDatagramSocket_SendMsg_Result.err">
<td><h3 id="SynchronousDatagramSocket_SendMsg_Result.err" class="add-link hide-from-toc">2</h3></td>
<td><code>err</code></td>
<td>
<code><a class='link' href='../fuchsia.posix/'>fuchsia.posix</a>/<a class='link' href='../fuchsia.posix/#Errno'>Errno</a></code>
</td>
<td></td>
</tr>
</table>
## **BITS**
### CmsgRequests [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#CmsgRequests}
Type: <code>uint32</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=705)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="CmsgRequests.IP_TOS">
<td><h3 id="CmsgRequests.IP_TOS" class="add-link hide-from-toc">IP_TOS</h3></td>
<td>1</td>
<td><p>Identifies whether the <code>IP_RECVTOS</code> control message is requested.</p>
</td>
</tr>
<tr id="CmsgRequests.IP_TTL">
<td><h3 id="CmsgRequests.IP_TTL" class="add-link hide-from-toc">IP_TTL</h3></td>
<td>2</td>
<td><p>Identifies whether the <code>IP_RECVTTL</code> control message is requested.</p>
</td>
</tr>
<tr id="CmsgRequests.IPV6_TCLASS">
<td><h3 id="CmsgRequests.IPV6_TCLASS" class="add-link hide-from-toc">IPV6_TCLASS</h3></td>
<td>4</td>
<td><p>Identifies whether the <code>IPV6_RECVTCLASS</code> control message is requested.</p>
</td>
</tr>
<tr id="CmsgRequests.IPV6_HOPLIMIT">
<td><h3 id="CmsgRequests.IPV6_HOPLIMIT" class="add-link hide-from-toc">IPV6_HOPLIMIT</h3></td>
<td>8</td>
<td><p>Identifies whether the <code>IPV6_RECVHOPLIMIT</code> control message is requested.</p>
</td>
</tr>
<tr id="CmsgRequests.IPV6_PKTINFO">
<td><h3 id="CmsgRequests.IPV6_PKTINFO" class="add-link hide-from-toc">IPV6_PKTINFO</h3></td>
<td>16</td>
<td><p>Identifies whether the <code>IPV6_RECVPKTINFO</code> control message is requested.</p>
</td>
</tr>
</table>
### InterfaceFlags [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#InterfaceFlags}
Type: <code>uint16</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=1106)*
<p>Bits representing the interface flags as returned by the SIOCGIFFLAGS ioctl
operation. These bitmasks are intended to track the C API definition. For
example, <code>InterfaceFlags.UP</code> corresponds to <code>IFF_UP</code>, etc.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="InterfaceFlags.UP">
<td><h3 id="InterfaceFlags.UP" class="add-link hide-from-toc">UP</h3></td>
<td>1</td>
<td></td>
</tr>
<tr id="InterfaceFlags.BROADCAST">
<td><h3 id="InterfaceFlags.BROADCAST" class="add-link hide-from-toc">BROADCAST</h3></td>
<td>2</td>
<td></td>
</tr>
<tr id="InterfaceFlags.DEBUG">
<td><h3 id="InterfaceFlags.DEBUG" class="add-link hide-from-toc">DEBUG</h3></td>
<td>4</td>
<td></td>
</tr>
<tr id="InterfaceFlags.LOOPBACK">
<td><h3 id="InterfaceFlags.LOOPBACK" class="add-link hide-from-toc">LOOPBACK</h3></td>
<td>8</td>
<td></td>
</tr>
<tr id="InterfaceFlags.POINTTOPOINT">
<td><h3 id="InterfaceFlags.POINTTOPOINT" class="add-link hide-from-toc">POINTTOPOINT</h3></td>
<td>16</td>
<td></td>
</tr>
<tr id="InterfaceFlags.NOTRAILERS">
<td><h3 id="InterfaceFlags.NOTRAILERS" class="add-link hide-from-toc">NOTRAILERS</h3></td>
<td>32</td>
<td></td>
</tr>
<tr id="InterfaceFlags.RUNNING">
<td><h3 id="InterfaceFlags.RUNNING" class="add-link hide-from-toc">RUNNING</h3></td>
<td>64</td>
<td></td>
</tr>
<tr id="InterfaceFlags.NOARP">
<td><h3 id="InterfaceFlags.NOARP" class="add-link hide-from-toc">NOARP</h3></td>
<td>128</td>
<td></td>
</tr>
<tr id="InterfaceFlags.PROMISC">
<td><h3 id="InterfaceFlags.PROMISC" class="add-link hide-from-toc">PROMISC</h3></td>
<td>256</td>
<td></td>
</tr>
<tr id="InterfaceFlags.ALLMULTI">
<td><h3 id="InterfaceFlags.ALLMULTI" class="add-link hide-from-toc">ALLMULTI</h3></td>
<td>512</td>
<td></td>
</tr>
<tr id="InterfaceFlags.LEADER">
<td><h3 id="InterfaceFlags.LEADER" class="add-link hide-from-toc">LEADER</h3></td>
<td>1024</td>
<td></td>
</tr>
<tr id="InterfaceFlags.FOLLOWER">
<td><h3 id="InterfaceFlags.FOLLOWER" class="add-link hide-from-toc">FOLLOWER</h3></td>
<td>2048</td>
<td></td>
</tr>
<tr id="InterfaceFlags.MULTICAST">
<td><h3 id="InterfaceFlags.MULTICAST" class="add-link hide-from-toc">MULTICAST</h3></td>
<td>4096</td>
<td></td>
</tr>
<tr id="InterfaceFlags.PORTSEL">
<td><h3 id="InterfaceFlags.PORTSEL" class="add-link hide-from-toc">PORTSEL</h3></td>
<td>8192</td>
<td></td>
</tr>
<tr id="InterfaceFlags.AUTOMEDIA">
<td><h3 id="InterfaceFlags.AUTOMEDIA" class="add-link hide-from-toc">AUTOMEDIA</h3></td>
<td>16384</td>
<td></td>
</tr>
<tr id="InterfaceFlags.DYNAMIC">
<td><h3 id="InterfaceFlags.DYNAMIC" class="add-link hide-from-toc">DYNAMIC</h3></td>
<td>32768</td>
<td></td>
</tr>
</table>
### RecvMsgFlags [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#RecvMsgFlags}
Type: <code>uint16</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=561)*
<p>Flags controlling RecvMsg behavior.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="RecvMsgFlags.PEEK">
<td><h3 id="RecvMsgFlags.PEEK" class="add-link hide-from-toc">PEEK</h3></td>
<td>2</td>
<td><p>Returns data from the receive queue without removing from it.</p>
<p>Equivalent to <code>MSG_PEEK</code>.</p>
</td>
</tr>
</table>
### SendMsgFlags [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#SendMsgFlags}
Type: <code>uint16</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=569)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="SendMsgFlags.RESERVED">
<td><h3 id="SendMsgFlags.RESERVED" class="add-link hide-from-toc">RESERVED</h3></td>
<td>32768</td>
<td></td>
</tr>
</table>
### ShutdownMode [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ShutdownMode}
Type: <code>uint16</code>
*Defined in [fuchsia.posix.socket/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=32)*
<p>Socket shutdown mode.</p>
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr>
<tr id="ShutdownMode.READ">
<td><h3 id="ShutdownMode.READ" class="add-link hide-from-toc">READ</h3></td>
<td>1</td>
<td><p>Shutdown socket read endpoint.</p>
</td>
</tr>
<tr id="ShutdownMode.WRITE">
<td><h3 id="ShutdownMode.WRITE" class="add-link hide-from-toc">WRITE</h3></td>
<td>2</td>
<td><p>Shutdown socket write endpoint.</p>
</td>
</tr>
</table>
## **CONSTANTS**
<table>
<tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr>
<tr id="DATAGRAM_SOCKET_PROTOCOL_NAME">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=629">DATAGRAM_SOCKET_PROTOCOL_NAME</a></td>
<td><code>fuchsia.posix.socket/DatagramSocket</code></td>
<td><code>String</code></td>
<td></td>
</tr>
<tr id="FAST_UDP_WAIT_MANY_MAXIMUM_ITEMS">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=626">FAST_UDP_WAIT_MANY_MAXIMUM_ITEMS</a></td>
<td>
<code>63</code>
</td>
<td><code>uint32</code></td>
<td><p>Constant bounding the number of eventpairs returned by Netstack to clients
of the fast protocol.</p>
<p>Set equal to <code>ZX_WAIT_MANY_MAXIMUM_ITEMS</code> - 1, where <code>ZX_WAIT_MANY_MAXIMUM_ITEMS</code>
is defined in <code>//zircon/system/public/zircon/types.h</code> and bounds the number of eventpairs
in a single call to <code>zx_object_wait_many</code>. The bias leaves room to allow clients to wait
for errors on the zircon socket in the same call.</p>
</td>
</tr>
<tr id="SIGNAL_DATAGRAM_ERROR">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=24">SIGNAL_DATAGRAM_ERROR</a></td>
<td>
<code><a class='link' href='#USER_SIGNAL_2'>USER_SIGNAL_2</a></code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="SIGNAL_DATAGRAM_INCOMING">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=22">SIGNAL_DATAGRAM_INCOMING</a></td>
<td>
<code><a class='link' href='#USER_SIGNAL_0'>USER_SIGNAL_0</a></code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="SIGNAL_DATAGRAM_OUTGOING">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=23">SIGNAL_DATAGRAM_OUTGOING</a></td>
<td>
<code><a class='link' href='#USER_SIGNAL_1'>USER_SIGNAL_1</a></code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="SIGNAL_DATAGRAM_SHUTDOWN_READ">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=25">SIGNAL_DATAGRAM_SHUTDOWN_READ</a></td>
<td>
<code><a class='link' href='#USER_SIGNAL_4'>USER_SIGNAL_4</a></code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="SIGNAL_DATAGRAM_SHUTDOWN_WRITE">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=26">SIGNAL_DATAGRAM_SHUTDOWN_WRITE</a></td>
<td>
<code><a class='link' href='#USER_SIGNAL_5'>USER_SIGNAL_5</a></code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="SIGNAL_STREAM_CONNECTED">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=29">SIGNAL_STREAM_CONNECTED</a></td>
<td>
<code><a class='link' href='#USER_SIGNAL_3'>USER_SIGNAL_3</a></code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="SIGNAL_STREAM_INCOMING">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=28">SIGNAL_STREAM_INCOMING</a></td>
<td>
<code><a class='link' href='#USER_SIGNAL_0'>USER_SIGNAL_0</a></code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="STREAM_SOCKET_PROTOCOL_NAME">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=788">STREAM_SOCKET_PROTOCOL_NAME</a></td>
<td><code>fuchsia.posix.socket/StreamSocket</code></td>
<td><code>String</code></td>
<td></td>
</tr>
<tr id="SYNCHRONOUS_DATAGRAM_SOCKET_PROTOCOL_NAME">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=721">SYNCHRONOUS_DATAGRAM_SOCKET_PROTOCOL_NAME</a></td>
<td><code>fuchsia.posix.socket/SynchronousDatagramSocket</code></td>
<td><code>String</code></td>
<td></td>
</tr>
<tr id="USER_SIGNAL_0">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=15">USER_SIGNAL_0</a></td>
<td>
<code>16777216</code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="USER_SIGNAL_1">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=16">USER_SIGNAL_1</a></td>
<td>
<code>33554432</code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="USER_SIGNAL_2">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=17">USER_SIGNAL_2</a></td>
<td>
<code>67108864</code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="USER_SIGNAL_3">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=18">USER_SIGNAL_3</a></td>
<td>
<code>134217728</code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="USER_SIGNAL_4">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=19">USER_SIGNAL_4</a></td>
<td>
<code>268435456</code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
<tr id="USER_SIGNAL_5">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.posix.socket/socket.fidl;l=20">USER_SIGNAL_5</a></td>
<td>
<code>536870912</code>
</td>
<td><code>uint32</code></td>
<td></td>
</tr>
</table>