Google is committed to advancing racial equity for Black communities. See how.

fuchsia.posix.socket.raw

PROTOCOLS

Provider

Defined in fuchsia.posix.socket.raw/socket.fidl

A raw network socket provider.

Socket

Requests a raw socket.

Request

NameType
domain fuchsia.posix.socket/Domain
proto ProtocolAssociation

Response

NameType
result Provider_Socket_Result

Socket

Defined in fuchsia.posix.socket.raw/socket.fidl

A raw network socket.

Once a socket has been retrieved from a provider, this interface is then used to further configure and use the socket. This interface is essentially POSIX.

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.

AddIpMembership

Set SOL_IP -> IP_ADD_MEMBERSHIP

Request

NameType
membership fuchsia.posix.socket/IpMulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_AddIpMembership_Result

AddIpv6Membership

Set SOL_IPV6 -> IPV6_ADD_MEMBERSHIP.

Request

NameType
membership fuchsia.posix.socket/Ipv6MulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_AddIpv6Membership_Result

BaseSocketAddIpMembership

DEPRECATED - Use AddIpMembership instead

Request

NameType
membership fuchsia.posix.socket/IpMulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketAddIpMembership_Result

BaseSocketAddIpv6Membership

DEPRECATED - Use AddIpv6Membership instead

Request

NameType
membership fuchsia.posix.socket/Ipv6MulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketAddIpv6Membership_Result

BaseSocketBind

DEPRECATED - Use Bind instead

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketBind_Result

BaseSocketConnect

DEPRECATED - Use Connect instead

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketConnect_Result

BaseSocketDisconnect

DEPRECATED - Use Disconnect instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketDisconnect_Result

BaseSocketDropIpMembership

DEPRECATED - Use DropIpMembership instead

Request

NameType
membership fuchsia.posix.socket/IpMulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketDropIpMembership_Result

BaseSocketDropIpv6Membership

DEPRECATED - Use DropIpv6Membership instead

Request

NameType
membership fuchsia.posix.socket/Ipv6MulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketDropIpv6Membership_Result

BaseSocketGetIpMulticastInterface

DEPRECATED - Use GetIpMulticastInterface instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpMulticastInterface_Result

BaseSocketGetIpMulticastLoopback

DEPRECATED - Use GetIpMulticastLoopback instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpMulticastLoopback_Result

BaseSocketGetIpMulticastTtl

DEPRECATED - Use GetIpMulticastTtl instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpMulticastTtl_Result

BaseSocketGetIpPacketInfo

DEPRECATED - Use GetIpPacketInfo instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpPacketInfo_Result

BaseSocketGetIpReceiveTypeOfService

DEPRECATED - Use GetIpReceiveTypeOfService instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpReceiveTypeOfService_Result

BaseSocketGetIpTtl

DEPRECATED - Use GetIpTtl instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpTtl_Result

BaseSocketGetIpTypeOfService

DEPRECATED - Use GetIpTypeOfService instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpTypeOfService_Result

BaseSocketGetIpv6MulticastHops

DEPRECATED - Use GetIpv6MulticastHops instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpv6MulticastHops_Result

BaseSocketGetIpv6MulticastInterface

DEPRECATED - Use GetIpv6MulticastInterface instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpv6MulticastInterface_Result

BaseSocketGetIpv6MulticastLoopback

DEPRECATED - Use GetIpv6MulticastLoopback instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpv6MulticastLoopback_Result

BaseSocketGetIpv6Only

DEPRECATED - Use GetIpv6Only instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpv6Only_Result

BaseSocketGetIpv6ReceiveTrafficClass

DEPRECATED - Use GetIpv6ReceiveTrafficClass instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpv6ReceiveTrafficClass_Result

BaseSocketGetIpv6TrafficClass

DEPRECATED - Use GetIpv6TrafficClass instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetIpv6TrafficClass_Result

BaseSocketGetPeerName

DEPRECATED - Use GetPeerName instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetPeerName_Result

BaseSocketGetSockName

DEPRECATED - Use GetSockName instead

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketGetSockName_Result

BaseSocketSetIpMulticastInterface

DEPRECATED - Use SetIpMulticastInterface instead

Request

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

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpMulticastInterface_Result

BaseSocketSetIpMulticastLoopback

DEPRECATED - Use SetIpMulticastLoopback instead

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpMulticastLoopback_Result

BaseSocketSetIpMulticastTtl

DEPRECATED - Use SetIpMulticastTtl instead

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpMulticastTtl_Result

BaseSocketSetIpPacketInfo

DEPRECATED - Use SetIpPacketInfo instead

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpPacketInfo_Result

BaseSocketSetIpReceiveTypeOfService

DEPRECATED - Use SetIpReceiveTypeOfService instead

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpReceiveTypeOfService_Result

BaseSocketSetIpTtl

DEPRECATED - Use SetIpTtl instead

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpTtl_Result

BaseSocketSetIpTypeOfService

DEPRECATED - Use SetIpTypeOfService instead

Request

NameType
value uint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpTypeOfService_Result

BaseSocketSetIpv6MulticastHops

DEPRECATED - Use SetIpv6MulticastHops instead

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpv6MulticastHops_Result

BaseSocketSetIpv6MulticastInterface

DEPRECATED - Use SetIpv6MulticastInterface instead

Request

NameType
value fuchsia.net/interface_id

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpv6MulticastInterface_Result

BaseSocketSetIpv6MulticastLoopback

DEPRECATED - Use SetIpv6MulticastLoopback instead

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpv6MulticastLoopback_Result

BaseSocketSetIpv6Only

DEPRECATED - Use SetIpv6Only instead

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpv6Only_Result

BaseSocketSetIpv6ReceiveTrafficClass

DEPRECATED - Use SetIpv6ReceiveTrafficClass instead

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpv6ReceiveTrafficClass_Result

BaseSocketSetIpv6TrafficClass

DEPRECATED - Use SetIpv6TrafficClass instead

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketSetIpv6TrafficClass_Result

BaseSocketShutdown

DEPRECATED - Use Shutdown instead

Request

NameType
mode fuchsia.posix.socket/ShutdownMode

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketShutdown_Result

BaseSocketShutdown2

DEPRECATED - Use Shutdown instead

Request

NameType
mode fuchsia.posix.socket/ShutdownMode

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_BaseSocketShutdown2_Result

Bind

Sets the local address used for the socket.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_Bind_Result

Clone

Create another connection to the same remote object.

flags may be any of:

  • OPEN_RIGHT_*
  • OPEN_FLAG_APPEND
  • OPEN_FLAG_NO_REMOTE
  • OPEN_FLAG_DESCRIBE
  • CLONE_FLAG_SAME_RIGHTS

All other flags are ignored.

The OPEN_RIGHT_* bits in flags request corresponding rights over the resulting cloned object. The cloned object must have rights less than or equal to the original object, otherwise returns ZX_ERR_ACCESS_DENIED. Alternatively, pass CLONE_FLAG_SAME_RIGHTS to inherit the rights on the source connection. It is invalid to pass any of the OPEN_RIGHT_* flags together with CLONE_FLAG_SAME_RIGHTS.

Request

NameType
flags uint32
object request<fuchsia.io/Node>

Close

Terminates connection with object.

This method does not require any rights.

Request

<EMPTY>

Response

NameType
s zx/status

Close2

Terminates connection with object.

This method does not require any rights.

Request

<EMPTY>

Response

NameType
result fuchsia.io/Node_Close2_Result

Connect

Initiates a connection to a remote address.

Request

NameType
addr fuchsia.net/SocketAddress

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_Connect_Result

Describe

Returns extra information about the type of the object. If the Describe operation fails, the connection is closed.

This method does not require any rights.

Request

<EMPTY>

Response

NameType
info fuchsia.io/NodeInfo

Describe2

Returns extra connection information and auxiliary handles.

  • query specifies the fields in ConnectionInfo that the caller is interested in.

When all known bits in query are set, the return value matches the one from OnConnectionInfo, as if the caller requested that event using ConnectionFlags.GET_CONNECTION_INFO.

If the Describe operation fails, the connection is closed with the associated error.

This method does not require any rights.

Request

NameType
query fuchsia.io/ConnectionInfoQuery

Response

NameType
info fuchsia.io/ConnectionInfo

Disconnect

Clears connection information from this socket.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_Disconnect_Result

DropIpMembership

Set SOL_IP -> IP_DROP_MEMBERSHIP

Request

NameType
membership fuchsia.posix.socket/IpMulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_DropIpMembership_Result

DropIpv6Membership

Set SOL_IPV6 -> IPV6_DROP_MEMBERSHIP.

Request

NameType
membership fuchsia.posix.socket/Ipv6MulticastMembership

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_DropIpv6Membership_Result

GetAcceptConn

Get SOL_SOCKET -> SO_ACCEPTCONN.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetAcceptConn_Result

GetAttr

Acquires information about the node.

This method does not require any rights.

Request

<EMPTY>

Response

NameType
s zx/status
attributes fuchsia.io/NodeAttributes

GetAttributes

Acquires information about the node.

The attributes of a node should be stable, independent of the specific protocol used to access it.

  • query a bit-mask specifying which attributes to fetch. The server should not return more than necessary.
  • attributes the returned attributes.

This method requires the Rights.GET_ATTRIBUTES right.

Request

NameType
query fuchsia.io/NodeAttributesQuery

Response

NameType
result fuchsia.io/Node_GetAttributes_Result

GetBindToDevice

Get SOL_SOCKET -> SO_BINDTODEVICE.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetBindToDevice_Result

GetBroadcast

Get SOL_SOCKET -> SO_BROADCAST.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/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
result fuchsia.posix.socket/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
result Socket_GetInfo_Result

GetIpHeaderIncluded

Get SOL_IP -> IP_HDRINCL.

Request

<EMPTY>

Response

NameType
result Socket_GetIpHeaderIncluded_Result

GetIpMulticastInterface

Get SOL_IP -> IP_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpMulticastInterface_Result

GetIpMulticastLoopback

Get SOL_IP -> IP_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpMulticastLoopback_Result

GetIpMulticastTtl

Get SOL_IP -> IP_MULTICAST_TTL.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpMulticastTtl_Result

GetIpPacketInfo

Get SOL_IP -> IP_PKTINFO.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpPacketInfo_Result

GetIpReceiveTypeOfService

Get SOL_IP -> IP_RECVTOS.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpReceiveTypeOfService_Result

GetIpTtl

Get SOL_IP -> IP_TTL.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpTtl_Result

GetIpTypeOfService

Get SOL_IP -> IP_TOS.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpTypeOfService_Result

GetIpv6MulticastHops

Get SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpv6MulticastHops_Result

GetIpv6MulticastInterface

Get SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpv6MulticastInterface_Result

GetIpv6MulticastLoopback

Get SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpv6MulticastLoopback_Result

GetIpv6Only

Get SOL_IPV6 -> IPV6_V6ONLY.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpv6Only_Result

GetIpv6ReceiveTrafficClass

Get SOL_IPV6 -> IPV6_RECVTCLASS.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result

GetIpv6TrafficClass

Get SOL_IPV6 -> IPV6_TCLASS.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetIpv6TrafficClass_Result

GetKeepAlive

Get SOL_SOCKET -> SO_KEEPALIVE.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetKeepAlive_Result

GetLinger

Get SOL_SOCKET -> SO_LINGER.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetLinger_Result

GetNoCheck

Get SOL_SOCKET -> SO_NO_CHECK.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetNoCheck_Result

GetOutOfBandInline

Get SOL_SOCKET -> SO_OOBINLINE.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetOutOfBandInline_Result

GetPeerName

Retrieves the remote socket address.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetPeerName_Result

GetReceiveBuffer

Get SOL_SOCKET -> SO_RCVBUF.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetReceiveBuffer_Result

GetReuseAddress

Get SOL_SOCKET -> SO_REUSEADDR.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetReuseAddress_Result

GetReusePort

Get SOL_SOCKET -> SO_REUSEPORT.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetReusePort_Result

GetSendBuffer

Get SOL_SOCKET -> SO_SNDBUF.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetSendBuffer_Result

GetSockName

Retrieves the local socket address.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_GetSockName_Result

GetTimestamp

Get SOL_SOCKET -> SO_TIMESTAMP.

Request

<EMPTY>

Response

NameType
result fuchsia.posix.socket/BaseSocket_GetTimestamp_Result

IoToIo2Placeholder

This message should never be sent or received.

This declaration exists to let keep the Rust bindings compiling as we add and remove transitional elements from the fuchsia.io protocols. Without this declaration, the users of the Rust bindings fail to compile when there aren't any transitional protocol elements.

DEPRECATED

Request

<EMPTY>

NodeGetFlags

Acquires the Directory.Open rights and flags used to access this file.

This method does not require any rights. This method has the same functionality as GetFlags for File and is meant as an in-progress replacement.

Request

<EMPTY>

Response

NameType
s zx/status
flags uint32

NodeSetFlags

Changes the Directory.Open flags used to access the file. Supported flags which can be turned on / off:

  • OPEN_FLAG_APPEND

This method does not require any rights. This method has the same functionality as SetFlags for File and is meant as an in-progress replacement.

Request

NameType
flags uint32

Response

NameType
s zx/status

OnOpen

An event produced eagerly by a FIDL server if requested by OPEN_FLAG_DESCRIBE.

Indicates the success or failure of the open operation, and optionally describes the object. If the status is ZX_OK, info contains descriptive information about the object (the same as would be returned by Describe).

Response

NameType
s zx/status
info fuchsia.io/NodeInfo?

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 fuchsia.posix.socket/RecvMsgFlags

Response

NameType
result Socket_RecvMsg_Result

Reopen

Creates another connection to the same node.

  • options options applicable to both Open and Reopen, including negotiating protocol and restricting rights. See fuchsia.io2/ConnectionOptions.
  • object_request is the server end of a channel created for the new connection. The caller may proceed to send messages on the corresponding client end right away.

For files, the cloned connection and the original connection have independent seek offsets.

Request

NameType
options fuchsia.io/ConnectionOptions
object_request handle<channel>

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 SendControlData
flags fuchsia.posix.socket/SendMsgFlags

Response

NameType
result Socket_SendMsg_Result

SetAttr

Updates information about the node. flags may be any of NODE_ATTRIBUTE_FLAG_*.

This method requires following rights: OPEN_RIGHT_WRITABLE, otherwise returns ZX_ERR_BAD_HANDLE.

Request

NameType
flags uint32
attributes fuchsia.io/NodeAttributes

Response

NameType
s zx/status

SetBindToDevice

Set SOL_SOCKET -> SO_BINDTODEVICE.

Request

NameType
value fuchsia.net.interfaces/name

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetBindToDevice_Result

SetBroadcast

Set SOL_SOCKET -> SO_BROADCAST.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetBroadcast_Result

SetIpHeaderIncluded

Set SOL_IP -> IP_HDRINCL.

Request

NameType
value bool

Response

NameType
result Socket_SetIpHeaderIncluded_Result

SetIpMulticastInterface

Set SOL_IP -> IP_MULTICAST_IF.

Request

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

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpMulticastInterface_Result

SetIpMulticastLoopback

Set SOL_IP -> IP_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpMulticastLoopback_Result

SetIpMulticastTtl

Set SOL_IP -> IP_MULTICAST_TTL.

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpMulticastTtl_Result

SetIpPacketInfo

Set SOL_IP -> IP_PKTINFO.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpPacketInfo_Result

SetIpReceiveTypeOfService

Set SOL_IP -> IP_RECVTOS.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpReceiveTypeOfService_Result

SetIpTtl

Set SOL_IP -> IP_TTL.

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpTtl_Result

SetIpTypeOfService

Set SOL_IP -> IP_TOS.

Request

NameType
value uint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpTypeOfService_Result

SetIpv6MulticastHops

Set SOL_IPV6 -> IPV6_MULTICAST_HOPS.

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpv6MulticastHops_Result

SetIpv6MulticastInterface

Set SOL_IPV6 -> IPV6_MULTICAST_IF.

Request

NameType
value fuchsia.net/interface_id

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpv6MulticastInterface_Result

SetIpv6MulticastLoopback

Set SOL_IPV6 -> IPV6_MULTICAST_LOOP.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpv6MulticastLoopback_Result

SetIpv6Only

Set SOL_IPV6 -> IPV6_V6ONLY.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpv6Only_Result

SetIpv6ReceiveTrafficClass

Set SOL_IPV6 -> IPV6_RECVTCLASS.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result

SetIpv6TrafficClass

Set SOL_IPV6 -> IPV6_TCLASS

Request

NameType
value fuchsia.posix.socket/OptionalUint8

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_SetIpv6TrafficClass_Result

SetKeepAlive

Set SOL_SOCKET -> SO_KEEPALIVE.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetKeepAlive_Result

SetLinger

Set SOL_SOCKET -> SO_LINGER.

Request

NameType
linger bool
length_secs uint32

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetLinger_Result

SetNoCheck

Set SOL_SOCKET -> SO_NO_CHECK.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetNoCheck_Result

SetOutOfBandInline

Set SOL_SOCKET -> SO_OOBINLINE.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetOutOfBandInline_Result

SetReceiveBuffer

Set SOL_SOCKET -> SO_RCVBUF.

Request

NameType
value_bytes uint64

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetReceiveBuffer_Result

SetReuseAddress

Set SOL_SOCKET -> SO_REUSEADDR.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetReuseAddress_Result

SetReusePort

Set SOL_SOCKET -> SO_REUSEPORT.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetReusePort_Result

SetSendBuffer

Set SOL_SOCKET -> SO_SNDBUF.

Request

NameType
value_bytes uint64

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetSendBuffer_Result

SetTimestamp

Set SOL_SOCKET -> SO_TIMESTAMP.

Request

NameType
value bool

Response

NameType
result fuchsia.posix.socket/BaseSocket_SetTimestamp_Result

Shutdown

Shuts down part of the socket.

Request

NameType
mode fuchsia.posix.socket/ShutdownMode

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_Shutdown_Result

Shutdown2

DEPRECATED - Use Shutdown instead

Request

NameType
mode fuchsia.posix.socket/ShutdownMode

Response

NameType
result fuchsia.posix.socket/BaseNetworkSocket_Shutdown2_Result

Sync

Synchronizes updates to the node to the underlying media, if it exists.

This method does not require any rights.

Request

<EMPTY>

Response

NameType
s zx/status

Sync2

Synchronizes updates to the node to the underlying media, if it exists.

This method will return when the filesystem server has flushed the relevant updates to the underlying media, but does not guarantee the underlying media has persisted the information, nor that any information is committed to hardware. Clients may use Sync to ensure ordering between operations.

This method does not require any rights.

Request

<EMPTY>

Response

NameType
result fuchsia.io/Node_Sync2_Result

UpdateAttributes

Updates information about the node.

  • attributes the presence of a table field in attributes indicates the intent to update the corresponding attribute.

This method requires the Rights.UPDATE_ATTRIBUTES right.

Request

NameType
attributes fuchsia.io/NodeAttributes2

Response

NameType
result fuchsia.io/Node_UpdateAttributes_Result

STRUCTS

Empty

Defined in fuchsia.posix.socket.raw/socket.fidl

<EMPTY>

Provider_Socket_Response resource

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescriptionDefault
s Socket No default

Socket_GetInfo_Response

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescriptionDefault
domain fuchsia.posix.socket/Domain No default
proto ProtocolAssociation No default

Socket_GetIpHeaderIncluded_Response

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescriptionDefault
value bool No default

Socket_RecvMsg_Response

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescriptionDefault
addr fuchsia.net/SocketAddress? No default
data vector<uint8> No default
control RecvControlData No default
truncated uint32 No default

Socket_SendMsg_Response

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescriptionDefault
len int64 No default

Socket_SetIpHeaderIncluded_Response

Defined in fuchsia.posix.socket.raw/socket.fidl

<EMPTY>

TABLES

RecvControlData

Defined in fuchsia.posix.socket.raw/socket.fidl

Ancillary data for received raw packets.

OrdinalNameTypeDescription

SendControlData

Defined in fuchsia.posix.socket.raw/socket.fidl

Ancillary data for sending raw packets.

OrdinalNameTypeDescription

UNIONS

ProtocolAssociation strict

Defined in fuchsia.posix.socket.raw/socket.fidl

The protocol a raw socket is associated with.

NameTypeDescription
unassociated Empty

Indicates no association with any protocol.

The socket will not receive packets. Sent packets must include the network header.

associated Protocol

The associated protocol.

The socket may only send and receive network packets for the associated protocol.

Provider_Socket_Result strict resource

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescription
response Provider_Socket_Response
err fuchsia.posix/Errno

Socket_GetInfo_Result strict

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescription
response Socket_GetInfo_Response
err fuchsia.posix/Errno

Socket_GetIpHeaderIncluded_Result strict

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescription
response Socket_GetIpHeaderIncluded_Response
err fuchsia.posix/Errno

Socket_RecvMsg_Result strict

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescription
response Socket_RecvMsg_Response
err fuchsia.posix/Errno

Socket_SendMsg_Result strict

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescription
response Socket_SendMsg_Response
err fuchsia.posix/Errno

Socket_SetIpHeaderIncluded_Result strict

Defined in fuchsia.posix.socket.raw/socket.fidl

NameTypeDescription
response Socket_SetIpHeaderIncluded_Response
err fuchsia.posix/Errno

TYPE ALIASES

NameValueDescription
Protocol uint8

The protocol a raw socket may be associated with.