fuchsia.posix.socket

Added: 11

PROTOCOLS

BaseDatagramSocket

Defined in fuchsia.posix.socket/socket.fidl

Base protocol shared by all datagram sockets.

Complete implementations of a datagram socket should compose this protocol.

AddIpMembership

Set SOL_IP -> IP_ADD_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpMembership_Result

AddIpv6Membership

Set SOL_IPV6 -> IPV6_ADD_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpv6Membership_Result

Bind

Sets the local address used for the socket.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Bind_Result

Clone2

Request

NameType
request server_end:fuchsia.unknown/Cloneable

Close

Terminates the connection.

After calling Close, the client must not send any other requests.

Servers, after sending the status response, should close the connection regardless of status and without sending an epitaph.

Closing the client end of the channel should be semantically equivalent to calling Close without knowing when the close has completed or its status.

Request

<EMPTY>

Response

NameType
payload fuchsia.unknown/Closeable_Close_Result

Connect

Initiates a connection to a remote address.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Connect_Result

Disconnect

Clears connection information from this socket.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_Disconnect_Result

DropIpMembership

Set SOL_IP -> IP_DROP_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpMembership_Result

DropIpv6Membership

Set SOL_IPV6 -> IPV6_DROP_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpv6Membership_Result

GetAcceptConn

Get SOL_SOCKET -> SO_ACCEPTCONN.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetAcceptConn_Result

GetBindToDevice

Get SOL_SOCKET -> SO_BINDTODEVICE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToDevice_Result

GetBindToInterfaceIndex

Get SOL_SOCKET -> SO_BINDTOIFINDEX.

Added: 20

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToInterfaceIndex_Result

GetBroadcast

Get SOL_SOCKET -> SO_BROADCAST.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBroadcast_Result

GetError

Get SOL_SOCKET -> SO_ERROR. Returns the last error if there is an error set on the socket.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetError_Result

GetInfo

Retrieves creation information from the socket.

  • response domain the socket's associated domain.
  • response proto the socket's associated protocol.

Request

<EMPTY>

Response

NameType
payload BaseDatagramSocket_GetInfo_Result

GetIpMulticastInterface

Get SOL_IP -> IP_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastInterface_Result

GetIpMulticastLoopback

Get SOL_IP -> IP_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastLoopback_Result

GetIpMulticastTtl

Get SOL_IP -> IP_MULTICAST_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastTtl_Result

GetIpPacketInfo

Get SOL_IP -> IP_PKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpPacketInfo_Result

GetIpReceiveOriginalDestinationAddress

Get SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveOriginalDestinationAddress_Result

GetIpReceiveTtl

Get SOL_IP -> IP_RECVTTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTtl_Result

GetIpReceiveTypeOfService

Get SOL_IP -> IP_RECVTOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTypeOfService_Result

GetIpTransparent

Get SOL_IP -> IP_TRANSPARENT

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTransparent_Result

GetIpTtl

Get SOL_IP -> IP_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTtl_Result

GetIpTypeOfService

Get SOL_IP -> IP_TOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTypeOfService_Result

GetIpv6MulticastHops

Get SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastHops_Result

GetIpv6MulticastInterface

Get SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastInterface_Result

GetIpv6MulticastLoopback

Get SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastLoopback_Result

GetIpv6Only

Get SOL_IPV6 -> IPV6_V6ONLY.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6Only_Result

GetIpv6ReceiveHopLimit

Get SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result

GetIpv6ReceivePacketInfo

Get SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result

GetIpv6ReceiveTrafficClass

Get SOL_IPV6 -> IPV6_RECVTCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result

GetIpv6TrafficClass

Get SOL_IPV6 -> IPV6_TCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6TrafficClass_Result

GetIpv6UnicastHops

Get SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6UnicastHops_Result

GetKeepAlive

Get SOL_SOCKET -> SO_KEEPALIVE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetKeepAlive_Result

GetLinger

Get SOL_SOCKET -> SO_LINGER.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetLinger_Result

GetMark

Like getting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be retrieved independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain

Response

NameType
payload BaseSocket_GetMark_Result

GetNoCheck

Get SOL_SOCKET -> SO_NO_CHECK.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetNoCheck_Result

GetOriginalDestination

Get SOL_IP -> SO_ORIGINAL_DST.

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetOriginalDestination_Result

GetOutOfBandInline

Get SOL_SOCKET -> SO_OOBINLINE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetOutOfBandInline_Result

GetPeerName

Retrieves the remote socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetPeerName_Result

GetReceiveBuffer

Get SOL_SOCKET -> SO_RCVBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReceiveBuffer_Result

GetReuseAddress

Get SOL_SOCKET -> SO_REUSEADDR.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReuseAddress_Result

GetReusePort

Get SOL_SOCKET -> SO_REUSEPORT.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReusePort_Result

GetSendBuffer

Get SOL_SOCKET -> SO_SNDBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetSendBuffer_Result

GetSockName

Retrieves the local socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetSockName_Result

GetTimestamp

Get SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetTimestamp_Result

Query

Request

<EMPTY>

Response

NameType
protocol vector<uint8>

SetBindToDevice

Set SOL_SOCKET -> SO_BINDTODEVICE.

Request

NameType
value fuchsia.net.interfaces/Name

Response

NameType
payload BaseSocket_SetBindToDevice_Result

SetBindToInterfaceIndex

Set SOL_SOCKET -> SO_BINDTOIFINDEX. If value is 0, this clears the bound interface.

Added: 20

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseSocket_SetBindToInterfaceIndex_Result

SetBroadcast

Set SOL_SOCKET -> SO_BROADCAST.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetBroadcast_Result

SetIpMulticastInterface

Set SOL_IP -> IP_MULTICAST_IF.

Request

NameType
iface fuchsia.net/InterfaceId
address fuchsia.net/Ipv4Address

Response

NameType
payload BaseNetworkSocket_SetIpMulticastInterface_Result

SetIpMulticastLoopback

Set SOL_IP -> IP_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpMulticastLoopback_Result

SetIpMulticastTtl

Set SOL_IP -> IP_MULTICAST_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpMulticastTtl_Result

SetIpPacketInfo

Set SOL_IP -> IP_PKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpPacketInfo_Result

SetIpReceiveOriginalDestinationAddress

Set SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveOriginalDestinationAddress_Result

SetIpReceiveTtl

Set SOL_IP -> IP_RECVTTL.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTtl_Result

SetIpReceiveTypeOfService

Set SOL_IP -> IP_RECVTOS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTypeOfService_Result

SetIpTransparent

Set SOL_IP -> IP_TRANSPARENT

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpTransparent_Result

SetIpTtl

Set SOL_IP -> IP_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpTtl_Result

SetIpTypeOfService

Set SOL_IP -> IP_TOS.

Request

NameType
value uint8

Response

NameType
payload BaseNetworkSocket_SetIpTypeOfService_Result

SetIpv6MulticastHops

Set SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastHops_Result

SetIpv6MulticastInterface

Set SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastInterface_Result

SetIpv6MulticastLoopback

Set SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastLoopback_Result

SetIpv6Only

Set SOL_IPV6 -> IPV6_V6ONLY.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6Only_Result

SetIpv6ReceiveHopLimit

Set SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result

SetIpv6ReceivePacketInfo

Set SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result

SetIpv6ReceiveTrafficClass

Set SOL_IPV6 -> IPV6_RECVTCLASS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result

SetIpv6TrafficClass

Set SOL_IPV6 -> IPV6_TCLASS

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6TrafficClass_Result

SetIpv6UnicastHops

Set SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6UnicastHops_Result

SetKeepAlive

Set SOL_SOCKET -> SO_KEEPALIVE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetKeepAlive_Result

SetLinger

Set SOL_SOCKET -> SO_LINGER.

Request

NameType
linger bool
length_secs uint32

Response

NameType
payload BaseSocket_SetLinger_Result

SetMark

Like setting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be set independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain
mark OptionalUint32

Response

NameType
payload BaseSocket_SetMark_Result

SetNoCheck

Set SOL_SOCKET -> SO_NO_CHECK.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetNoCheck_Result

SetOutOfBandInline

Set SOL_SOCKET -> SO_OOBINLINE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetOutOfBandInline_Result

SetReceiveBuffer

Set SOL_SOCKET -> SO_RCVBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetReceiveBuffer_Result

SetReuseAddress

Set SOL_SOCKET -> SO_REUSEADDR.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReuseAddress_Result

SetReusePort

Set SOL_SOCKET -> SO_REUSEPORT.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReusePort_Result

SetSendBuffer

Set SOL_SOCKET -> SO_SNDBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetSendBuffer_Result

SetTimestamp

Set SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

NameType
value TimestampOption

Response

NameType
payload BaseSocket_SetTimestamp_Result

Shutdown

Shuts down part of the socket.

Request

NameType
mode ShutdownMode

Response

NameType
payload BaseNetworkSocket_Shutdown_Result

BaseNetworkSocket

Defined in fuchsia.posix.socket/socket.fidl

A network socket.

AddIpMembership

Set SOL_IP -> IP_ADD_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpMembership_Result

AddIpv6Membership

Set SOL_IPV6 -> IPV6_ADD_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpv6Membership_Result

Bind

Sets the local address used for the socket.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Bind_Result

Clone2

Request

NameType
request server_end:fuchsia.unknown/Cloneable

Close

Terminates the connection.

After calling Close, the client must not send any other requests.

Servers, after sending the status response, should close the connection regardless of status and without sending an epitaph.

Closing the client end of the channel should be semantically equivalent to calling Close without knowing when the close has completed or its status.

Request

<EMPTY>

Response

NameType
payload fuchsia.unknown/Closeable_Close_Result

Connect

Initiates a connection to a remote address.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Connect_Result

Disconnect

Clears connection information from this socket.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_Disconnect_Result

DropIpMembership

Set SOL_IP -> IP_DROP_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpMembership_Result

DropIpv6Membership

Set SOL_IPV6 -> IPV6_DROP_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpv6Membership_Result

GetAcceptConn

Get SOL_SOCKET -> SO_ACCEPTCONN.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetAcceptConn_Result

GetBindToDevice

Get SOL_SOCKET -> SO_BINDTODEVICE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToDevice_Result

GetBindToInterfaceIndex

Get SOL_SOCKET -> SO_BINDTOIFINDEX.

Added: 20

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToInterfaceIndex_Result

GetBroadcast

Get SOL_SOCKET -> SO_BROADCAST.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBroadcast_Result

GetError

Get SOL_SOCKET -> SO_ERROR. Returns the last error if there is an error set on the socket.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetError_Result

GetIpMulticastInterface

Get SOL_IP -> IP_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastInterface_Result

GetIpMulticastLoopback

Get SOL_IP -> IP_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastLoopback_Result

GetIpMulticastTtl

Get SOL_IP -> IP_MULTICAST_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastTtl_Result

GetIpPacketInfo

Get SOL_IP -> IP_PKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpPacketInfo_Result

GetIpReceiveOriginalDestinationAddress

Get SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveOriginalDestinationAddress_Result

GetIpReceiveTtl

Get SOL_IP -> IP_RECVTTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTtl_Result

GetIpReceiveTypeOfService

Get SOL_IP -> IP_RECVTOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTypeOfService_Result

GetIpTransparent

Get SOL_IP -> IP_TRANSPARENT

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTransparent_Result

GetIpTtl

Get SOL_IP -> IP_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTtl_Result

GetIpTypeOfService

Get SOL_IP -> IP_TOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTypeOfService_Result

GetIpv6MulticastHops

Get SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastHops_Result

GetIpv6MulticastInterface

Get SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastInterface_Result

GetIpv6MulticastLoopback

Get SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastLoopback_Result

GetIpv6Only

Get SOL_IPV6 -> IPV6_V6ONLY.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6Only_Result

GetIpv6ReceiveHopLimit

Get SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result

GetIpv6ReceivePacketInfo

Get SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result

GetIpv6ReceiveTrafficClass

Get SOL_IPV6 -> IPV6_RECVTCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result

GetIpv6TrafficClass

Get SOL_IPV6 -> IPV6_TCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6TrafficClass_Result

GetIpv6UnicastHops

Get SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6UnicastHops_Result

GetKeepAlive

Get SOL_SOCKET -> SO_KEEPALIVE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetKeepAlive_Result

GetLinger

Get SOL_SOCKET -> SO_LINGER.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetLinger_Result

GetMark

Like getting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be retrieved independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain

Response

NameType
payload BaseSocket_GetMark_Result

GetNoCheck

Get SOL_SOCKET -> SO_NO_CHECK.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetNoCheck_Result

GetOriginalDestination

Get SOL_IP -> SO_ORIGINAL_DST.

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetOriginalDestination_Result

GetOutOfBandInline

Get SOL_SOCKET -> SO_OOBINLINE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetOutOfBandInline_Result

GetPeerName

Retrieves the remote socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetPeerName_Result

GetReceiveBuffer

Get SOL_SOCKET -> SO_RCVBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReceiveBuffer_Result

GetReuseAddress

Get SOL_SOCKET -> SO_REUSEADDR.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReuseAddress_Result

GetReusePort

Get SOL_SOCKET -> SO_REUSEPORT.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReusePort_Result

GetSendBuffer

Get SOL_SOCKET -> SO_SNDBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetSendBuffer_Result

GetSockName

Retrieves the local socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetSockName_Result

GetTimestamp

Get SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetTimestamp_Result

Query

Request

<EMPTY>

Response

NameType
protocol vector<uint8>

SetBindToDevice

Set SOL_SOCKET -> SO_BINDTODEVICE.

Request

NameType
value fuchsia.net.interfaces/Name

Response

NameType
payload BaseSocket_SetBindToDevice_Result

SetBindToInterfaceIndex

Set SOL_SOCKET -> SO_BINDTOIFINDEX. If value is 0, this clears the bound interface.

Added: 20

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseSocket_SetBindToInterfaceIndex_Result

SetBroadcast

Set SOL_SOCKET -> SO_BROADCAST.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetBroadcast_Result

SetIpMulticastInterface

Set SOL_IP -> IP_MULTICAST_IF.

Request

NameType
iface fuchsia.net/InterfaceId
address fuchsia.net/Ipv4Address

Response

NameType
payload BaseNetworkSocket_SetIpMulticastInterface_Result

SetIpMulticastLoopback

Set SOL_IP -> IP_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpMulticastLoopback_Result

SetIpMulticastTtl

Set SOL_IP -> IP_MULTICAST_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpMulticastTtl_Result

SetIpPacketInfo

Set SOL_IP -> IP_PKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpPacketInfo_Result

SetIpReceiveOriginalDestinationAddress

Set SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveOriginalDestinationAddress_Result

SetIpReceiveTtl

Set SOL_IP -> IP_RECVTTL.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTtl_Result

SetIpReceiveTypeOfService

Set SOL_IP -> IP_RECVTOS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTypeOfService_Result

SetIpTransparent

Set SOL_IP -> IP_TRANSPARENT

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpTransparent_Result

SetIpTtl

Set SOL_IP -> IP_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpTtl_Result

SetIpTypeOfService

Set SOL_IP -> IP_TOS.

Request

NameType
value uint8

Response

NameType
payload BaseNetworkSocket_SetIpTypeOfService_Result

SetIpv6MulticastHops

Set SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastHops_Result

SetIpv6MulticastInterface

Set SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastInterface_Result

SetIpv6MulticastLoopback

Set SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastLoopback_Result

SetIpv6Only

Set SOL_IPV6 -> IPV6_V6ONLY.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6Only_Result

SetIpv6ReceiveHopLimit

Set SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result

SetIpv6ReceivePacketInfo

Set SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result

SetIpv6ReceiveTrafficClass

Set SOL_IPV6 -> IPV6_RECVTCLASS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result

SetIpv6TrafficClass

Set SOL_IPV6 -> IPV6_TCLASS

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6TrafficClass_Result

SetIpv6UnicastHops

Set SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6UnicastHops_Result

SetKeepAlive

Set SOL_SOCKET -> SO_KEEPALIVE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetKeepAlive_Result

SetLinger

Set SOL_SOCKET -> SO_LINGER.

Request

NameType
linger bool
length_secs uint32

Response

NameType
payload BaseSocket_SetLinger_Result

SetMark

Like setting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be set independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain
mark OptionalUint32

Response

NameType
payload BaseSocket_SetMark_Result

SetNoCheck

Set SOL_SOCKET -> SO_NO_CHECK.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetNoCheck_Result

SetOutOfBandInline

Set SOL_SOCKET -> SO_OOBINLINE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetOutOfBandInline_Result

SetReceiveBuffer

Set SOL_SOCKET -> SO_RCVBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetReceiveBuffer_Result

SetReuseAddress

Set SOL_SOCKET -> SO_REUSEADDR.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReuseAddress_Result

SetReusePort

Set SOL_SOCKET -> SO_REUSEPORT.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReusePort_Result

SetSendBuffer

Set SOL_SOCKET -> SO_SNDBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetSendBuffer_Result

SetTimestamp

Set SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

NameType
value TimestampOption

Response

NameType
payload BaseSocket_SetTimestamp_Result

Shutdown

Shuts down part of the socket.

Request

NameType
mode ShutdownMode

Response

NameType
payload BaseNetworkSocket_Shutdown_Result

BaseSocket

Defined in fuchsia.posix.socket/socket.fidl

A socket.

Clone2

Request

NameType
request server_end:fuchsia.unknown/Cloneable

Close

Terminates the connection.

After calling Close, the client must not send any other requests.

Servers, after sending the status response, should close the connection regardless of status and without sending an epitaph.

Closing the client end of the channel should be semantically equivalent to calling Close without knowing when the close has completed or its status.

Request

<EMPTY>

Response

NameType
payload fuchsia.unknown/Closeable_Close_Result

GetAcceptConn

Get SOL_SOCKET -> SO_ACCEPTCONN.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetAcceptConn_Result

GetBindToDevice

Get SOL_SOCKET -> SO_BINDTODEVICE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToDevice_Result

GetBindToInterfaceIndex

Get SOL_SOCKET -> SO_BINDTOIFINDEX.

Added: 20

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToInterfaceIndex_Result

GetBroadcast

Get SOL_SOCKET -> SO_BROADCAST.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBroadcast_Result

GetError

Get SOL_SOCKET -> SO_ERROR. Returns the last error if there is an error set on the socket.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetError_Result

GetKeepAlive

Get SOL_SOCKET -> SO_KEEPALIVE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetKeepAlive_Result

GetLinger

Get SOL_SOCKET -> SO_LINGER.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetLinger_Result

GetMark

Like getting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be retrieved independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain

Response

NameType
payload BaseSocket_GetMark_Result

GetNoCheck

Get SOL_SOCKET -> SO_NO_CHECK.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetNoCheck_Result

GetOutOfBandInline

Get SOL_SOCKET -> SO_OOBINLINE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetOutOfBandInline_Result

GetReceiveBuffer

Get SOL_SOCKET -> SO_RCVBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReceiveBuffer_Result

GetReuseAddress

Get SOL_SOCKET -> SO_REUSEADDR.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReuseAddress_Result

GetReusePort

Get SOL_SOCKET -> SO_REUSEPORT.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReusePort_Result

GetSendBuffer

Get SOL_SOCKET -> SO_SNDBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetSendBuffer_Result

GetTimestamp

Get SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetTimestamp_Result

Query

Request

<EMPTY>

Response

NameType
protocol vector<uint8>

SetBindToDevice

Set SOL_SOCKET -> SO_BINDTODEVICE.

Request

NameType
value fuchsia.net.interfaces/Name

Response

NameType
payload BaseSocket_SetBindToDevice_Result

SetBindToInterfaceIndex

Set SOL_SOCKET -> SO_BINDTOIFINDEX. If value is 0, this clears the bound interface.

Added: 20

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseSocket_SetBindToInterfaceIndex_Result

SetBroadcast

Set SOL_SOCKET -> SO_BROADCAST.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetBroadcast_Result

SetKeepAlive

Set SOL_SOCKET -> SO_KEEPALIVE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetKeepAlive_Result

SetLinger

Set SOL_SOCKET -> SO_LINGER.

Request

NameType
linger bool
length_secs uint32

Response

NameType
payload BaseSocket_SetLinger_Result

SetMark

Like setting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be set independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain
mark OptionalUint32

Response

NameType
payload BaseSocket_SetMark_Result

SetNoCheck

Set SOL_SOCKET -> SO_NO_CHECK.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetNoCheck_Result

SetOutOfBandInline

Set SOL_SOCKET -> SO_OOBINLINE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetOutOfBandInline_Result

SetReceiveBuffer

Set SOL_SOCKET -> SO_RCVBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetReceiveBuffer_Result

SetReuseAddress

Set SOL_SOCKET -> SO_REUSEADDR.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReuseAddress_Result

SetReusePort

Set SOL_SOCKET -> SO_REUSEPORT.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReusePort_Result

SetSendBuffer

Set SOL_SOCKET -> SO_SNDBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetSendBuffer_Result

SetTimestamp

Set SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

NameType
value TimestampOption

Response

NameType
payload BaseSocket_SetTimestamp_Result

DatagramSocket

Defined in fuchsia.posix.socket/socket.fidl

A datagram socket.

AddIpMembership

Set SOL_IP -> IP_ADD_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpMembership_Result

AddIpv6Membership

Set SOL_IPV6 -> IPV6_ADD_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpv6Membership_Result

Bind

Sets the local address used for the socket.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Bind_Result

Clone2

Request

NameType
request server_end:fuchsia.unknown/Cloneable

Close

Terminates the connection.

After calling Close, the client must not send any other requests.

Servers, after sending the status response, should close the connection regardless of status and without sending an epitaph.

Closing the client end of the channel should be semantically equivalent to calling Close without knowing when the close has completed or its status.

Request

<EMPTY>

Response

NameType
payload fuchsia.unknown/Closeable_Close_Result

Connect

Initiates a connection to a remote address.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Connect_Result

Describe

Request

<EMPTY>

Response

NameType
payload DatagramSocketDescribeResponse

Disconnect

Clears connection information from this socket.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_Disconnect_Result

DropIpMembership

Set SOL_IP -> IP_DROP_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpMembership_Result

DropIpv6Membership

Set SOL_IPV6 -> IPV6_DROP_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpv6Membership_Result

GetAcceptConn

Get SOL_SOCKET -> SO_ACCEPTCONN.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetAcceptConn_Result

GetBindToDevice

Get SOL_SOCKET -> SO_BINDTODEVICE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToDevice_Result

GetBindToInterfaceIndex

Get SOL_SOCKET -> SO_BINDTOIFINDEX.

Added: 20

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToInterfaceIndex_Result

GetBroadcast

Get SOL_SOCKET -> SO_BROADCAST.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBroadcast_Result

GetError

Get SOL_SOCKET -> SO_ERROR. Returns the last error if there is an error set on the socket.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetError_Result

GetInfo

Retrieves creation information from the socket.

  • response domain the socket's associated domain.
  • response proto the socket's associated protocol.

Request

<EMPTY>

Response

NameType
payload BaseDatagramSocket_GetInfo_Result

GetIpMulticastInterface

Get SOL_IP -> IP_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastInterface_Result

GetIpMulticastLoopback

Get SOL_IP -> IP_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastLoopback_Result

GetIpMulticastTtl

Get SOL_IP -> IP_MULTICAST_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastTtl_Result

GetIpPacketInfo

Get SOL_IP -> IP_PKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpPacketInfo_Result

GetIpReceiveOriginalDestinationAddress

Get SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveOriginalDestinationAddress_Result

GetIpReceiveTtl

Get SOL_IP -> IP_RECVTTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTtl_Result

GetIpReceiveTypeOfService

Get SOL_IP -> IP_RECVTOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTypeOfService_Result

GetIpTransparent

Get SOL_IP -> IP_TRANSPARENT

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTransparent_Result

GetIpTtl

Get SOL_IP -> IP_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTtl_Result

GetIpTypeOfService

Get SOL_IP -> IP_TOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTypeOfService_Result

GetIpv6MulticastHops

Get SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastHops_Result

GetIpv6MulticastInterface

Get SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastInterface_Result

GetIpv6MulticastLoopback

Get SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastLoopback_Result

GetIpv6Only

Get SOL_IPV6 -> IPV6_V6ONLY.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6Only_Result

GetIpv6ReceiveHopLimit

Get SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result

GetIpv6ReceivePacketInfo

Get SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result

GetIpv6ReceiveTrafficClass

Get SOL_IPV6 -> IPV6_RECVTCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result

GetIpv6TrafficClass

Get SOL_IPV6 -> IPV6_TCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6TrafficClass_Result

GetIpv6UnicastHops

Get SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6UnicastHops_Result

GetKeepAlive

Get SOL_SOCKET -> SO_KEEPALIVE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetKeepAlive_Result

GetLinger

Get SOL_SOCKET -> SO_LINGER.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetLinger_Result

GetMark

Like getting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be retrieved independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain

Response

NameType
payload BaseSocket_GetMark_Result

GetNoCheck

Get SOL_SOCKET -> SO_NO_CHECK.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetNoCheck_Result

GetOriginalDestination

Get SOL_IP -> SO_ORIGINAL_DST.

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetOriginalDestination_Result

GetOutOfBandInline

Get SOL_SOCKET -> SO_OOBINLINE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetOutOfBandInline_Result

GetPeerName

Retrieves the remote socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetPeerName_Result

GetReceiveBuffer

Get SOL_SOCKET -> SO_RCVBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReceiveBuffer_Result

GetReuseAddress

Get SOL_SOCKET -> SO_REUSEADDR.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReuseAddress_Result

GetReusePort

Get SOL_SOCKET -> SO_REUSEPORT.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReusePort_Result

GetSendBuffer

Get SOL_SOCKET -> SO_SNDBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetSendBuffer_Result

GetSockName

Retrieves the local socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetSockName_Result

GetTimestamp

Get SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetTimestamp_Result

Query

Request

<EMPTY>

Response

NameType
protocol vector<uint8>

RecvMsgPostflight

Returns the set of requested control messages.

  • response the set of currently requested control messages.

Request

<EMPTY>

Response

NameType
payload DatagramSocket_RecvMsgPostflight_Result

SendMsgPreflight

Validates that data can be sent.

  • request args the requested disposition of data to be sent.
  • response the constraints sent data must satisfy.
  • error the error code indicating the reason for validation failure.

Request

NameType
payload DatagramSocketSendMsgPreflightRequest

Response

NameType
payload DatagramSocket_SendMsgPreflight_Result

SetBindToDevice

Set SOL_SOCKET -> SO_BINDTODEVICE.

Request

NameType
value fuchsia.net.interfaces/Name

Response

NameType
payload BaseSocket_SetBindToDevice_Result

SetBindToInterfaceIndex

Set SOL_SOCKET -> SO_BINDTOIFINDEX. If value is 0, this clears the bound interface.

Added: 20

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseSocket_SetBindToInterfaceIndex_Result

SetBroadcast

Set SOL_SOCKET -> SO_BROADCAST.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetBroadcast_Result

SetIpMulticastInterface

Set SOL_IP -> IP_MULTICAST_IF.

Request

NameType
iface fuchsia.net/InterfaceId
address fuchsia.net/Ipv4Address

Response

NameType
payload BaseNetworkSocket_SetIpMulticastInterface_Result

SetIpMulticastLoopback

Set SOL_IP -> IP_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpMulticastLoopback_Result

SetIpMulticastTtl

Set SOL_IP -> IP_MULTICAST_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpMulticastTtl_Result

SetIpPacketInfo

Set SOL_IP -> IP_PKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpPacketInfo_Result

SetIpReceiveOriginalDestinationAddress

Set SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveOriginalDestinationAddress_Result

SetIpReceiveTtl

Set SOL_IP -> IP_RECVTTL.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTtl_Result

SetIpReceiveTypeOfService

Set SOL_IP -> IP_RECVTOS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTypeOfService_Result

SetIpTransparent

Set SOL_IP -> IP_TRANSPARENT

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpTransparent_Result

SetIpTtl

Set SOL_IP -> IP_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpTtl_Result

SetIpTypeOfService

Set SOL_IP -> IP_TOS.

Request

NameType
value uint8

Response

NameType
payload BaseNetworkSocket_SetIpTypeOfService_Result

SetIpv6MulticastHops

Set SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastHops_Result

SetIpv6MulticastInterface

Set SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastInterface_Result

SetIpv6MulticastLoopback

Set SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastLoopback_Result

SetIpv6Only

Set SOL_IPV6 -> IPV6_V6ONLY.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6Only_Result

SetIpv6ReceiveHopLimit

Set SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result

SetIpv6ReceivePacketInfo

Set SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result

SetIpv6ReceiveTrafficClass

Set SOL_IPV6 -> IPV6_RECVTCLASS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result

SetIpv6TrafficClass

Set SOL_IPV6 -> IPV6_TCLASS

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6TrafficClass_Result

SetIpv6UnicastHops

Set SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6UnicastHops_Result

SetKeepAlive

Set SOL_SOCKET -> SO_KEEPALIVE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetKeepAlive_Result

SetLinger

Set SOL_SOCKET -> SO_LINGER.

Request

NameType
linger bool
length_secs uint32

Response

NameType
payload BaseSocket_SetLinger_Result

SetMark

Like setting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be set independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain
mark OptionalUint32

Response

NameType
payload BaseSocket_SetMark_Result

SetNoCheck

Set SOL_SOCKET -> SO_NO_CHECK.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetNoCheck_Result

SetOutOfBandInline

Set SOL_SOCKET -> SO_OOBINLINE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetOutOfBandInline_Result

SetReceiveBuffer

Set SOL_SOCKET -> SO_RCVBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetReceiveBuffer_Result

SetReuseAddress

Set SOL_SOCKET -> SO_REUSEADDR.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReuseAddress_Result

SetReusePort

Set SOL_SOCKET -> SO_REUSEPORT.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReusePort_Result

SetSendBuffer

Set SOL_SOCKET -> SO_SNDBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetSendBuffer_Result

SetTimestamp

Set SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

NameType
value TimestampOption

Response

NameType
payload BaseSocket_SetTimestamp_Result

Shutdown

Shuts down part of the socket.

Request

NameType
mode ShutdownMode

Response

NameType
payload BaseNetworkSocket_Shutdown_Result

Provider

Defined in fuchsia.posix.socket/socket.fidl

Provider implements the POSIX sockets API.

Warning: 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.

DatagramSocket

Requests a datagram socket with the specified parameters.

Request

NameType
domain Domain
proto DatagramSocketProtocol

Response

NameType
payload Provider_DatagramSocket_Result

DatagramSocketDeprecated

Requests a datagram socket with the specified parameters. TODO(https://fxbug.dev/42165881): Remove this method once no more callers rely on it.

Request

NameType
domain Domain
proto DatagramSocketProtocol

Response

NameType
payload Provider_DatagramSocketDeprecated_Result

GetInterfaceAddresses

Requests a list of fuchsia.posix.socket.InterfaceAddresses describing the network interfaces on the system.

Request

<EMPTY>

Response

NameType
interfaces vector<InterfaceAddresses>

InterfaceIndexToName

Looks up an interface by its index and returns its name. Returns ZX_ERR_NOT_FOUND if the specified index doesn't exist.

Request

NameType
index uint64

Response

NameType
payload Provider_InterfaceIndexToName_Result

InterfaceNameToFlags

Looks up an interface by its name and returns its flags. Returns ZX_ERR_NOT_FOUND if the specified name doesn't exist.

Request

NameType
name fuchsia.net.interfaces/Name

Response

NameType
payload Provider_InterfaceNameToFlags_Result

InterfaceNameToIndex

Looks up an interface by its name and returns its index. Returns ZX_ERR_NOT_FOUND if the specified name doesn't exist.

Request

NameType
name fuchsia.net.interfaces/Name

Response

NameType
payload Provider_InterfaceNameToIndex_Result

StreamSocket

Requests a stream socket with the specified parameters.

Request

NameType
domain Domain
proto StreamSocketProtocol

Response

NameType
payload Provider_StreamSocket_Result

StreamSocket

Defined in fuchsia.posix.socket/socket.fidl

A stream socket.

All methods on this type are nonblocking; their exact behaviors match their Linux counterparts.

Warning: 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.

Accept

Accepts a buffered incoming connection.

Request

NameType
want_addr bool

Response

NameType
payload StreamSocket_Accept_Result

AddIpMembership

Set SOL_IP -> IP_ADD_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpMembership_Result

AddIpv6Membership

Set SOL_IPV6 -> IPV6_ADD_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpv6Membership_Result

Bind

Sets the local address used for the socket.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Bind_Result

Clone2

Request

NameType
request server_end:fuchsia.unknown/Cloneable

Close

Terminates the connection.

After calling Close, the client must not send any other requests.

Servers, after sending the status response, should close the connection regardless of status and without sending an epitaph.

Closing the client end of the channel should be semantically equivalent to calling Close without knowing when the close has completed or its status.

Request

<EMPTY>

Response

NameType
payload fuchsia.unknown/Closeable_Close_Result

Connect

Initiates a connection to a remote address.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Connect_Result

Describe

Request

<EMPTY>

Response

NameType
payload StreamSocketDescribeResponse

Disconnect

Clears connection information from this socket.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_Disconnect_Result

DropIpMembership

Set SOL_IP -> IP_DROP_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpMembership_Result

DropIpv6Membership

Set SOL_IPV6 -> IPV6_DROP_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpv6Membership_Result

GetAcceptConn

Get SOL_SOCKET -> SO_ACCEPTCONN.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetAcceptConn_Result

GetBindToDevice

Get SOL_SOCKET -> SO_BINDTODEVICE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToDevice_Result

GetBindToInterfaceIndex

Get SOL_SOCKET -> SO_BINDTOIFINDEX.

Added: 20

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToInterfaceIndex_Result

GetBroadcast

Get SOL_SOCKET -> SO_BROADCAST.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBroadcast_Result

GetError

Get SOL_SOCKET -> SO_ERROR. Returns the last error if there is an error set on the socket.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetError_Result

GetInfo

Retrieves creation information from the socket.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetInfo_Result

GetIpMulticastInterface

Get SOL_IP -> IP_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastInterface_Result

GetIpMulticastLoopback

Get SOL_IP -> IP_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastLoopback_Result

GetIpMulticastTtl

Get SOL_IP -> IP_MULTICAST_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastTtl_Result

GetIpPacketInfo

Get SOL_IP -> IP_PKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpPacketInfo_Result

GetIpReceiveOriginalDestinationAddress

Get SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveOriginalDestinationAddress_Result

GetIpReceiveTtl

Get SOL_IP -> IP_RECVTTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTtl_Result

GetIpReceiveTypeOfService

Get SOL_IP -> IP_RECVTOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTypeOfService_Result

GetIpTransparent

Get SOL_IP -> IP_TRANSPARENT

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTransparent_Result

GetIpTtl

Get SOL_IP -> IP_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTtl_Result

GetIpTypeOfService

Get SOL_IP -> IP_TOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTypeOfService_Result

GetIpv6MulticastHops

Get SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastHops_Result

GetIpv6MulticastInterface

Get SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastInterface_Result

GetIpv6MulticastLoopback

Get SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastLoopback_Result

GetIpv6Only

Get SOL_IPV6 -> IPV6_V6ONLY.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6Only_Result

GetIpv6ReceiveHopLimit

Get SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result

GetIpv6ReceivePacketInfo

Get SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result

GetIpv6ReceiveTrafficClass

Get SOL_IPV6 -> IPV6_RECVTCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result

GetIpv6TrafficClass

Get SOL_IPV6 -> IPV6_TCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6TrafficClass_Result

GetIpv6UnicastHops

Get SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6UnicastHops_Result

GetKeepAlive

Get SOL_SOCKET -> SO_KEEPALIVE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetKeepAlive_Result

GetLinger

Get SOL_SOCKET -> SO_LINGER.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetLinger_Result

GetMark

Like getting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be retrieved independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain

Response

NameType
payload BaseSocket_GetMark_Result

GetNoCheck

Get SOL_SOCKET -> SO_NO_CHECK.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetNoCheck_Result

GetOriginalDestination

Get SOL_IP -> SO_ORIGINAL_DST.

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetOriginalDestination_Result

GetOutOfBandInline

Get SOL_SOCKET -> SO_OOBINLINE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetOutOfBandInline_Result

GetPeerName

Retrieves the remote socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetPeerName_Result

GetReceiveBuffer

Get SOL_SOCKET -> SO_RCVBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReceiveBuffer_Result

GetReuseAddress

Get SOL_SOCKET -> SO_REUSEADDR.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReuseAddress_Result

GetReusePort

Get SOL_SOCKET -> SO_REUSEPORT.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReusePort_Result

GetSendBuffer

Get SOL_SOCKET -> SO_SNDBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetSendBuffer_Result

GetSockName

Retrieves the local socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetSockName_Result

GetTcpCongestion

Get SOL_TCP -> TCP_CONGESTION.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpCongestion_Result

GetTcpCork

Get SOL_TCP -> TCP_CORK.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpCork_Result

GetTcpDeferAccept

Get SOL_TCP -> TCP_DEFER_ACCEPT.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpDeferAccept_Result

GetTcpInfo

Get SOL_TCP -> TCP_INFO.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpInfo_Result

GetTcpKeepAliveCount

Get SOL_TCP -> TCP_KEEPCNT.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpKeepAliveCount_Result

GetTcpKeepAliveIdle

Get SOL_TCP -> TCP_KEEPIDLE.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpKeepAliveIdle_Result

GetTcpKeepAliveInterval

Get SOL_TCP -> TCP_KEEPINTVL.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpKeepAliveInterval_Result

GetTcpLinger

Get SOL_TCP -> TCP_LINGER2.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpLinger_Result

GetTcpMaxSegment

Get SOL_TCP -> TCP_MAXSEG.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpMaxSegment_Result

GetTcpNoDelay

Get SOL_TCP -> TCP_NODELAY.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpNoDelay_Result

GetTcpQuickAck

Get SOL_TCP -> TCP_QUICKACK.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpQuickAck_Result

GetTcpSynCount

Get SOL_TCP -> TCP_SYNCNT.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpSynCount_Result

GetTcpUserTimeout

Get SOL_TCP -> TCP_USER_TIMEOUT.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpUserTimeout_Result

GetTcpWindowClamp

Get SOL_TCP -> TCP_WINDOW_CLAMP.

Request

<EMPTY>

Response

NameType
payload StreamSocket_GetTcpWindowClamp_Result

GetTimestamp

Get SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetTimestamp_Result

Listen

Begins listening for new incoming connections. At most backlog connections will be buffered.

Request

NameType
backlog int16

Response

NameType
payload StreamSocket_Listen_Result

Query

Request

<EMPTY>

Response

NameType
protocol vector<uint8>

SetBindToDevice

Set SOL_SOCKET -> SO_BINDTODEVICE.

Request

NameType
value fuchsia.net.interfaces/Name

Response

NameType
payload BaseSocket_SetBindToDevice_Result

SetBindToInterfaceIndex

Set SOL_SOCKET -> SO_BINDTOIFINDEX. If value is 0, this clears the bound interface.

Added: 20

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseSocket_SetBindToInterfaceIndex_Result

SetBroadcast

Set SOL_SOCKET -> SO_BROADCAST.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetBroadcast_Result

SetIpMulticastInterface

Set SOL_IP -> IP_MULTICAST_IF.

Request

NameType
iface fuchsia.net/InterfaceId
address fuchsia.net/Ipv4Address

Response

NameType
payload BaseNetworkSocket_SetIpMulticastInterface_Result

SetIpMulticastLoopback

Set SOL_IP -> IP_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpMulticastLoopback_Result

SetIpMulticastTtl

Set SOL_IP -> IP_MULTICAST_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpMulticastTtl_Result

SetIpPacketInfo

Set SOL_IP -> IP_PKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpPacketInfo_Result

SetIpReceiveOriginalDestinationAddress

Set SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveOriginalDestinationAddress_Result

SetIpReceiveTtl

Set SOL_IP -> IP_RECVTTL.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTtl_Result

SetIpReceiveTypeOfService

Set SOL_IP -> IP_RECVTOS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTypeOfService_Result

SetIpTransparent

Set SOL_IP -> IP_TRANSPARENT

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpTransparent_Result

SetIpTtl

Set SOL_IP -> IP_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpTtl_Result

SetIpTypeOfService

Set SOL_IP -> IP_TOS.

Request

NameType
value uint8

Response

NameType
payload BaseNetworkSocket_SetIpTypeOfService_Result

SetIpv6MulticastHops

Set SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastHops_Result

SetIpv6MulticastInterface

Set SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastInterface_Result

SetIpv6MulticastLoopback

Set SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastLoopback_Result

SetIpv6Only

Set SOL_IPV6 -> IPV6_V6ONLY.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6Only_Result

SetIpv6ReceiveHopLimit

Set SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result

SetIpv6ReceivePacketInfo

Set SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result

SetIpv6ReceiveTrafficClass

Set SOL_IPV6 -> IPV6_RECVTCLASS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result

SetIpv6TrafficClass

Set SOL_IPV6 -> IPV6_TCLASS

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6TrafficClass_Result

SetIpv6UnicastHops

Set SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6UnicastHops_Result

SetKeepAlive

Set SOL_SOCKET -> SO_KEEPALIVE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetKeepAlive_Result

SetLinger

Set SOL_SOCKET -> SO_LINGER.

Request

NameType
linger bool
length_secs uint32

Response

NameType
payload BaseSocket_SetLinger_Result

SetMark

Like setting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be set independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain
mark OptionalUint32

Response

NameType
payload BaseSocket_SetMark_Result

SetNoCheck

Set SOL_SOCKET -> SO_NO_CHECK.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetNoCheck_Result

SetOutOfBandInline

Set SOL_SOCKET -> SO_OOBINLINE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetOutOfBandInline_Result

SetReceiveBuffer

Set SOL_SOCKET -> SO_RCVBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetReceiveBuffer_Result

SetReuseAddress

Set SOL_SOCKET -> SO_REUSEADDR.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReuseAddress_Result

SetReusePort

Set SOL_SOCKET -> SO_REUSEPORT.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReusePort_Result

SetSendBuffer

Set SOL_SOCKET -> SO_SNDBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetSendBuffer_Result

SetTcpCongestion

Set SOL_TCP -> TCP_CONGESTION.

Request

NameType
value TcpCongestionControl

Response

NameType
payload StreamSocket_SetTcpCongestion_Result

SetTcpCork

Set SOL_TCP -> TCP_CORK.

Request

NameType
value bool

Response

NameType
payload StreamSocket_SetTcpCork_Result

SetTcpDeferAccept

Set SOL_TCP -> TCP_DEFER_ACCEPT.

Request

NameType
value_secs uint32

Response

NameType
payload StreamSocket_SetTcpDeferAccept_Result

SetTcpKeepAliveCount

Set SOL_TCP -> TCP_KEEPCNT.

Request

NameType
value uint32

Response

NameType
payload StreamSocket_SetTcpKeepAliveCount_Result

SetTcpKeepAliveIdle

Set SOL_TCP -> TCP_KEEPIDLE.

Request

NameType
value_secs uint32

Response

NameType
payload StreamSocket_SetTcpKeepAliveIdle_Result

SetTcpKeepAliveInterval

Set SOL_TCP -> TCP_KEEPINTVL.

Request

NameType
value_secs uint32

Response

NameType
payload StreamSocket_SetTcpKeepAliveInterval_Result

SetTcpLinger

Set SOL_TCP -> TCP_LINGER2.

Request

NameType
value_secs OptionalUint32

Response

NameType
payload StreamSocket_SetTcpLinger_Result

SetTcpMaxSegment

Set SOL_TCP -> TCP_MAXSEG.

Request

NameType
value_bytes uint32

Response

NameType
payload StreamSocket_SetTcpMaxSegment_Result

SetTcpNoDelay

Set SOL_TCP -> TCP_NODELAY.

Request

NameType
value bool

Response

NameType
payload StreamSocket_SetTcpNoDelay_Result

SetTcpQuickAck

Set SOL_TCP -> TCP_QUICKACK.

Request

NameType
value bool

Response

NameType
payload StreamSocket_SetTcpQuickAck_Result

SetTcpSynCount

Set SOL_TCP -> TCP_SYNCNT.

Request

NameType
value uint32

Response

NameType
payload StreamSocket_SetTcpSynCount_Result

SetTcpUserTimeout

Set SOL_TCP -> TCP_USER_TIMEOUT.

Request

NameType
value_millis uint32

Response

NameType
payload StreamSocket_SetTcpUserTimeout_Result

SetTcpWindowClamp

Set SOL_TCP -> TCP_WINDOW_CLAMP.

Request

NameType
value uint32

Response

NameType
payload StreamSocket_SetTcpWindowClamp_Result

SetTimestamp

Set SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

NameType
value TimestampOption

Response

NameType
payload BaseSocket_SetTimestamp_Result

Shutdown

Shuts down part of the socket.

Request

NameType
mode ShutdownMode

Response

NameType
payload BaseNetworkSocket_Shutdown_Result

SynchronousDatagramSocket

Defined in fuchsia.posix.socket/socket.fidl

A synchronous datagram socket.

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.

Warning: 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.

AddIpMembership

Set SOL_IP -> IP_ADD_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpMembership_Result

AddIpv6Membership

Set SOL_IPV6 -> IPV6_ADD_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_AddIpv6Membership_Result

Bind

Sets the local address used for the socket.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Bind_Result

Clone2

Request

NameType
request server_end:fuchsia.unknown/Cloneable

Close

Terminates the connection.

After calling Close, the client must not send any other requests.

Servers, after sending the status response, should close the connection regardless of status and without sending an epitaph.

Closing the client end of the channel should be semantically equivalent to calling Close without knowing when the close has completed or its status.

Request

<EMPTY>

Response

NameType
payload fuchsia.unknown/Closeable_Close_Result

Connect

Initiates a connection to a remote address.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
payload BaseNetworkSocket_Connect_Result

Describe

Request

<EMPTY>

Response

NameType
payload SynchronousDatagramSocketDescribeResponse

Disconnect

Clears connection information from this socket.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_Disconnect_Result

DropIpMembership

Set SOL_IP -> IP_DROP_MEMBERSHIP

Request

NameType
membership IpMulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpMembership_Result

DropIpv6Membership

Set SOL_IPV6 -> IPV6_DROP_MEMBERSHIP.

Request

NameType
membership Ipv6MulticastMembership

Response

NameType
payload BaseNetworkSocket_DropIpv6Membership_Result

GetAcceptConn

Get SOL_SOCKET -> SO_ACCEPTCONN.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetAcceptConn_Result

GetBindToDevice

Get SOL_SOCKET -> SO_BINDTODEVICE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToDevice_Result

GetBindToInterfaceIndex

Get SOL_SOCKET -> SO_BINDTOIFINDEX.

Added: 20

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBindToInterfaceIndex_Result

GetBroadcast

Get SOL_SOCKET -> SO_BROADCAST.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetBroadcast_Result

GetError

Get SOL_SOCKET -> SO_ERROR. Returns the last error if there is an error set on the socket.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetError_Result

GetInfo

Retrieves creation information from the socket.

  • response domain the socket's associated domain.
  • response proto the socket's associated protocol.

Request

<EMPTY>

Response

NameType
payload BaseDatagramSocket_GetInfo_Result

GetIpMulticastInterface

Get SOL_IP -> IP_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastInterface_Result

GetIpMulticastLoopback

Get SOL_IP -> IP_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastLoopback_Result

GetIpMulticastTtl

Get SOL_IP -> IP_MULTICAST_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpMulticastTtl_Result

GetIpPacketInfo

Get SOL_IP -> IP_PKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpPacketInfo_Result

GetIpReceiveOriginalDestinationAddress

Get SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveOriginalDestinationAddress_Result

GetIpReceiveTtl

Get SOL_IP -> IP_RECVTTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTtl_Result

GetIpReceiveTypeOfService

Get SOL_IP -> IP_RECVTOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpReceiveTypeOfService_Result

GetIpTransparent

Get SOL_IP -> IP_TRANSPARENT

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTransparent_Result

GetIpTtl

Get SOL_IP -> IP_TTL.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTtl_Result

GetIpTypeOfService

Get SOL_IP -> IP_TOS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpTypeOfService_Result

GetIpv6MulticastHops

Get SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastHops_Result

GetIpv6MulticastInterface

Get SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastInterface_Result

GetIpv6MulticastLoopback

Get SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6MulticastLoopback_Result

GetIpv6Only

Get SOL_IPV6 -> IPV6_V6ONLY.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6Only_Result

GetIpv6ReceiveHopLimit

Get SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result

GetIpv6ReceivePacketInfo

Get SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result

GetIpv6ReceiveTrafficClass

Get SOL_IPV6 -> IPV6_RECVTCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result

GetIpv6TrafficClass

Get SOL_IPV6 -> IPV6_TCLASS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6TrafficClass_Result

GetIpv6UnicastHops

Get SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetIpv6UnicastHops_Result

GetKeepAlive

Get SOL_SOCKET -> SO_KEEPALIVE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetKeepAlive_Result

GetLinger

Get SOL_SOCKET -> SO_LINGER.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetLinger_Result

GetMark

Like getting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be retrieved independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain

Response

NameType
payload BaseSocket_GetMark_Result

GetNoCheck

Get SOL_SOCKET -> SO_NO_CHECK.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetNoCheck_Result

GetOriginalDestination

Get SOL_IP -> SO_ORIGINAL_DST.

Added: 15

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetOriginalDestination_Result

GetOutOfBandInline

Get SOL_SOCKET -> SO_OOBINLINE.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetOutOfBandInline_Result

GetPeerName

Retrieves the remote socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetPeerName_Result

GetReceiveBuffer

Get SOL_SOCKET -> SO_RCVBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReceiveBuffer_Result

GetReuseAddress

Get SOL_SOCKET -> SO_REUSEADDR.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReuseAddress_Result

GetReusePort

Get SOL_SOCKET -> SO_REUSEPORT.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetReusePort_Result

GetSendBuffer

Get SOL_SOCKET -> SO_SNDBUF.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetSendBuffer_Result

GetSockName

Retrieves the local socket address.

Request

<EMPTY>

Response

NameType
payload BaseNetworkSocket_GetSockName_Result

GetTimestamp

Get SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

<EMPTY>

Response

NameType
payload BaseSocket_GetTimestamp_Result

Query

Request

<EMPTY>

Response

NameType
protocol vector<uint8>

RecvMsg

Receives a message from the socket.

  • request want_addr request message's source address information to be returned.
  • request data_len the maximum allowed length of the response data buffer.
  • request want_control request ancillary data to be returned.
  • request flags flags for the receive request.
  • response addr the message's source address information, if requested.
  • response data the message.
  • response control control messages, if requested.
  • response truncated indicates whether or not the returned message was truncated.

Request

NameType
want_addr bool
data_len uint32
want_control bool
flags RecvMsgFlags

Response

NameType
payload SynchronousDatagramSocket_RecvMsg_Result

SendMsg

Sends a message on the socket.

  • request addr the address to send the message to. If unset, will send to the connected peer.
  • request data the message.
  • request control ancillary data.
  • request flags flags for the send request.
  • response len the number of bytes sent.

Request

NameType
addr fuchsia.net/SocketAddress?
data vector<uint8>
control DatagramSocketSendControlData
flags SendMsgFlags

Response

NameType
payload SynchronousDatagramSocket_SendMsg_Result

SetBindToDevice

Set SOL_SOCKET -> SO_BINDTODEVICE.

Request

NameType
value fuchsia.net.interfaces/Name

Response

NameType
payload BaseSocket_SetBindToDevice_Result

SetBindToInterfaceIndex

Set SOL_SOCKET -> SO_BINDTOIFINDEX. If value is 0, this clears the bound interface.

Added: 20

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseSocket_SetBindToInterfaceIndex_Result

SetBroadcast

Set SOL_SOCKET -> SO_BROADCAST.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetBroadcast_Result

SetIpMulticastInterface

Set SOL_IP -> IP_MULTICAST_IF.

Request

NameType
iface fuchsia.net/InterfaceId
address fuchsia.net/Ipv4Address

Response

NameType
payload BaseNetworkSocket_SetIpMulticastInterface_Result

SetIpMulticastLoopback

Set SOL_IP -> IP_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpMulticastLoopback_Result

SetIpMulticastTtl

Set SOL_IP -> IP_MULTICAST_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpMulticastTtl_Result

SetIpPacketInfo

Set SOL_IP -> IP_PKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpPacketInfo_Result

SetIpReceiveOriginalDestinationAddress

Set SOL_IP -> IP_RECVORIGDSTADDR

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveOriginalDestinationAddress_Result

SetIpReceiveTtl

Set SOL_IP -> IP_RECVTTL.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTtl_Result

SetIpReceiveTypeOfService

Set SOL_IP -> IP_RECVTOS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpReceiveTypeOfService_Result

SetIpTransparent

Set SOL_IP -> IP_TRANSPARENT

Added: 15

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpTransparent_Result

SetIpTtl

Set SOL_IP -> IP_TTL.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpTtl_Result

SetIpTypeOfService

Set SOL_IP -> IP_TOS.

Request

NameType
value uint8

Response

NameType
payload BaseNetworkSocket_SetIpTypeOfService_Result

SetIpv6MulticastHops

Set SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastHops_Result

SetIpv6MulticastInterface

Set SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

NameType
value fuchsia.net/InterfaceId

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastInterface_Result

SetIpv6MulticastLoopback

Set SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6MulticastLoopback_Result

SetIpv6Only

Set SOL_IPV6 -> IPV6_V6ONLY.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6Only_Result

SetIpv6ReceiveHopLimit

Set SOL_IPV6 -> IPV6_RECVHOPLIMIT.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result

SetIpv6ReceivePacketInfo

Set SOL_IPV6 -> IPV6_RECVPKTINFO.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result

SetIpv6ReceiveTrafficClass

Set SOL_IPV6 -> IPV6_RECVTCLASS.

Request

NameType
value bool

Response

NameType
payload BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result

SetIpv6TrafficClass

Set SOL_IPV6 -> IPV6_TCLASS

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6TrafficClass_Result

SetIpv6UnicastHops

Set SOL_IPV6 -> IPV6_UNICAST_HOPS.

Request

NameType
value OptionalUint8

Response

NameType
payload BaseNetworkSocket_SetIpv6UnicastHops_Result

SetKeepAlive

Set SOL_SOCKET -> SO_KEEPALIVE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetKeepAlive_Result

SetLinger

Set SOL_SOCKET -> SO_LINGER.

Request

NameType
linger bool
length_secs uint32

Response

NameType
payload BaseSocket_SetLinger_Result

SetMark

Like setting SOL_SOCKET -> SO_MARK. The major difference is that unlike the standard SO_MARK, this API has multiple mark domains and each mark can be set independently in each domain.

Added: HEAD

Request

NameType
domain MarkDomain
mark OptionalUint32

Response

NameType
payload BaseSocket_SetMark_Result

SetNoCheck

Set SOL_SOCKET -> SO_NO_CHECK.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetNoCheck_Result

SetOutOfBandInline

Set SOL_SOCKET -> SO_OOBINLINE.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetOutOfBandInline_Result

SetReceiveBuffer

Set SOL_SOCKET -> SO_RCVBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetReceiveBuffer_Result

SetReuseAddress

Set SOL_SOCKET -> SO_REUSEADDR.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReuseAddress_Result

SetReusePort

Set SOL_SOCKET -> SO_REUSEPORT.

Request

NameType
value bool

Response

NameType
payload BaseSocket_SetReusePort_Result

SetSendBuffer

Set SOL_SOCKET -> SO_SNDBUF.

Request

NameType
value_bytes uint64

Response

NameType
payload BaseSocket_SetSendBuffer_Result

SetTimestamp

Set SOL_SOCKET -> SO_TIMESTAMP or SO_TIMESTAMPNS.

Request

NameType
value TimestampOption

Response

NameType
payload BaseSocket_SetTimestamp_Result

Shutdown

Shuts down part of the socket.

Request

NameType
mode ShutdownMode

Response

NameType
payload BaseNetworkSocket_Shutdown_Result

STRUCTS

BaseDatagramSocket_GetInfo_Response

Defined in fuchsia.posix.socket/socket.fidl

FieldTypeDescriptionDefault
domain Domain No default
proto DatagramSocketProtocol No default