协议
提供商
在 fuchsia.posix.socket.raw/socket.fidl 中定义
原始网络套接字提供程序。
套接字
请求原始套接字。
请求
名称 | 类型 |
---|---|
domain |
fuchsia.posix.socket/Domain
|
proto |
ProtocolAssociation
|
响应
名称 | 类型 |
---|---|
payload |
Provider_Socket_Result
|
套接字
在 fuchsia.posix.socket.raw/socket.fidl 中定义
原始网络套接字。
从提供程序中检索到套接字后,此接口将用于进一步配置和使用该套接字。此接口本质上是 POSIX。
此类型的所有方法都是非阻塞方法;其确切行为与对应的 Linux 方法一致。
警告:此协议尚未准备好供客户端直接使用。客户端应使用 BSD 套接字 API 与套接字进行交互。 我们计划大幅更改此协议,直接耦合至此协议的客户端将使这些更改更加困难。
AddIpMembership
设置 SOL_IP
-> IP_ADD_MEMBERSHIP
请求
名称 | 类型 |
---|---|
membership |
fuchsia.posix.socket/IpMulticastMembership
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_AddIpMembership_Result
|
AddIpv6Membership
设置 SOL_IPV6
-> IPV6_ADD_MEMBERSHIP
。
请求
名称 | 类型 |
---|---|
membership |
fuchsia.posix.socket/Ipv6MulticastMembership
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_AddIpv6Membership_Result
|
装订
设置用于套接字的本地地址。
请求
名称 | 类型 |
---|---|
addr |
fuchsia.net/SocketAddress
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_Bind_Result
|
Clone2
请求
名称 | 类型 |
---|---|
request |
server_end<fuchsia.unknown/Cloneable>
|
关闭
终止连接。
调用 Close
后,客户端不得发送任何其他请求。
服务器在发送状态响应后,无论处于何种状态,都应关闭连接,且不发送简介。
在语义上关闭渠道的客户端应等同于调用 Close
,而不知道关闭操作何时完成或其状态。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.unknown/Closeable_Close_Result
|
连接
启动与远程地址的连接。
请求
名称 | 类型 |
---|---|
addr |
fuchsia.net/SocketAddress
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_Connect_Result
|
描述
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
SocketDescribeResponse
|
断开连接
清除此套接字中的连接信息。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_Disconnect_Result
|
DropIpMembership
设置 SOL_IP
-> IP_DROP_MEMBERSHIP
请求
名称 | 类型 |
---|---|
membership |
fuchsia.posix.socket/IpMulticastMembership
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_DropIpMembership_Result
|
DropIpv6Membership
设置 SOL_IPV6
-> IPV6_DROP_MEMBERSHIP
。
请求
名称 | 类型 |
---|---|
membership |
fuchsia.posix.socket/Ipv6MulticastMembership
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_DropIpv6Membership_Result
|
GetAcceptConn
获取 SOL_SOCKET
-> SO_ACCEPTCONN
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetAcceptConn_Result
|
GetBindToDevice
获取 SOL_SOCKET
-> SO_BINDTODEVICE
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetBindToDevice_Result
|
GetBindToInterfaceIndex
获取 SOL_SOCKET
-> SO_BINDTOIFINDEX
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetBindToInterfaceIndex_Result
|
GetBroadcast
获取 SOL_SOCKET
-> SO_BROADCAST
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetBroadcast_Result
|
GetError
获取 SOL_SOCKET
-> SO_ERROR
。
如果套接字设置了错误,则返回最后一个错误。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetError_Result
|
GetIcmpv6Filter
获取 SOL_ICMPV6
-> ICMP6_FILTER
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Socket_GetIcmpv6Filter_Result
|
GetInfo
从套接字中检索创建信息。
- 响应
domain
套接字的关联域。 - 响应
proto
套接字的关联协议。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Socket_GetInfo_Result
|
GetIpHeaderIncluded
获取 SOL_IP
-> IP_HDRINCL
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Socket_GetIpHeaderIncluded_Result
|
GetIpMulticastInterface
获取 SOL_IP
-> IP_MULTICAST_IF
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpMulticastInterface_Result
|
GetIpMulticastLoopback
获取 SOL_IP
-> IP_MULTICAST_LOOP
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpMulticastLoopback_Result
|
GetIpMulticastTtl
获取 SOL_IP
-> IP_MULTICAST_TTL
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpMulticastTtl_Result
|
GetIpPacketInfo
获取 SOL_IP
-> IP_PKTINFO
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpPacketInfo_Result
|
GetIpReceiveOriginalDestinationAddress
获取 SOL_IP
-> IP_RECVORIGDSTADDR
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpReceiveOriginalDestinationAddress_Result
|
GetIpReceiveTtl
获取 SOL_IP
-> IP_RECVTTL
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpReceiveTtl_Result
|
GetIpReceiveTypeOfService
获取 SOL_IP
-> IP_RECVTOS
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpReceiveTypeOfService_Result
|
GetIpTransparent
获取 SOL_IP
-> IP_TRANSPARENT
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpTransparent_Result
|
GetIpTtl
获取 SOL_IP
-> IP_TTL
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpTtl_Result
|
GetIpTypeOfService
获取 SOL_IP
-> IP_TOS
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpTypeOfService_Result
|
GetIpv6Checksum
获取 SOL_IPV6
-> IPV6_CHECKSUM
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
Socket_GetIpv6Checksum_Result
|
GetIpv6MulticastHops
获取 SOL_IPV6
-> IPV6_MULTICAST_HOPS
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6MulticastHops_Result
|
GetIpv6MulticastInterface
获取 SOL_IPV6
-> IPV6_MULTICAST_IF
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6MulticastInterface_Result
|
GetIpv6MulticastLoopback
获取 SOL_IPV6
-> IPV6_MULTICAST_LOOP
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6MulticastLoopback_Result
|
GetIpv6Only
获取 SOL_IPV6
-> IPV6_V6ONLY
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6Only_Result
|
GetIpv6ReceiveHopLimit
获取 SOL_IPV6
-> IPV6_RECVHOPLIMIT
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6ReceiveHopLimit_Result
|
GetIpv6ReceivePacketInfo
获取 SOL_IPV6
-> IPV6_RECVPKTINFO
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6ReceivePacketInfo_Result
|
GetIpv6ReceiveTrafficClass
获取 SOL_IPV6
-> IPV6_RECVTCLASS
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6ReceiveTrafficClass_Result
|
GetIpv6TrafficClass
获取 SOL_IPV6
-> IPV6_TCLASS
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6TrafficClass_Result
|
GetIpv6UnicastHops
获取 SOL_IPV6
-> IPV6_UNICAST_HOPS
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetIpv6UnicastHops_Result
|
GetKeepAlive
获取 SOL_SOCKET
-> SO_KEEPALIVE
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetKeepAlive_Result
|
GetLinger
获取 SOL_SOCKET
-> SO_LINGER
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetLinger_Result
|
GetMark
例如获得 SOL_SOCKET
-> SO_MARK
。主要区别在于,与标准 SO_MARK 不同,该 API 具有多个标记域,每个标记可以在每个域中独立检索。
请求
名称 | 类型 |
---|---|
domain |
fuchsia.posix.socket/MarkDomain
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetMark_Result
|
GetNoCheck
获取 SOL_SOCKET
-> SO_NO_CHECK
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetNoCheck_Result
|
GetOriginalDestination
获取 SOL_IP
-> SO_ORIGINAL_DST
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetOriginalDestination_Result
|
GetOutOfBandInline
获取 SOL_SOCKET
-> SO_OOBINLINE
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetOutOfBandInline_Result
|
GetPeerName
检索远程套接字地址。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetPeerName_Result
|
GetReceiveBuffer
获取 SOL_SOCKET
-> SO_RCVBUF
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetReceiveBuffer_Result
|
GetReuseAddress
获取 SOL_SOCKET
-> SO_REUSEADDR
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetReuseAddress_Result
|
GetReusePort
获取 SOL_SOCKET
-> SO_REUSEPORT
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetReusePort_Result
|
GetSendBuffer
获取 SOL_SOCKET
-> SO_SNDBUF
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetSendBuffer_Result
|
GetSockName
检索本地套接字地址。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_GetSockName_Result
|
GetTimestamp
获取 SOL_SOCKET
-> SO_TIMESTAMP
或 SO_TIMESTAMPNS
。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_GetTimestamp_Result
|
查询
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
protocol |
vector<uint8>
|
RecvMsg
从套接字接收消息。
- 请求返回
want_addr
请求消息的源地址信息。 - 请求
data_len
是响应数据缓冲区允许的最大长度。 - 请求
want_control
请求返回的辅助数据。 - 为接收请求请求
flags
标志。
- 响应
addr
消息的来源地址信息(如果请求)。 - 响应
data
消息。 - 响应
control
控制消息(如果已请求)。 - 响应
truncated
指示返回的消息是否被截断。
请求
名称 | 类型 |
---|---|
want_addr |
bool
|
data_len |
uint32
|
want_control |
bool
|
flags |
fuchsia.posix.socket/RecvMsgFlags
|
响应
名称 | 类型 |
---|---|
payload |
Socket_RecvMsg_Result
|
SendMsg
在套接字上发送消息。
- 请求
addr
发送消息的目标地址。如果未设置,则将消息发送到连接的对等设备。 - 请求
data
消息。 - 请求
control
辅助数据。 - 用于发送请求的请求
flags
标志。
请求
名称 | 类型 |
---|---|
addr |
fuchsia.net/SocketAddress?
|
data |
vector<uint8>
|
control |
fuchsia.posix.socket/NetworkSocketSendControlData
|
flags |
fuchsia.posix.socket/SendMsgFlags
|
响应
名称 | 类型 |
---|---|
payload |
Socket_SendMsg_Result
|
SetBindToDevice
设置 SOL_SOCKET
-> SO_BINDTODEVICE
。
请求
名称 | 类型 |
---|---|
value |
fuchsia.net.interfaces/Name
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetBindToDevice_Result
|
SetBindToInterfaceIndex
设置 SOL_SOCKET
-> SO_BINDTOIFINDEX
。
如果 value
为 0,则会清除绑定的接口。
请求
名称 | 类型 |
---|---|
value |
fuchsia.net/InterfaceId
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetBindToInterfaceIndex_Result
|
SetBroadcast
设置 SOL_SOCKET
-> SO_BROADCAST
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetBroadcast_Result
|
SetIcmpv6Filter
设置 SOL_ICMPV6
-> ICMP6_FILTER
。
请求
名称 | 类型 |
---|---|
filter |
Icmpv6Filter
|
响应
名称 | 类型 |
---|---|
payload |
Socket_SetIcmpv6Filter_Result
|
SetIpHeaderIncluded
设置 SOL_IP
-> IP_HDRINCL
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
Socket_SetIpHeaderIncluded_Result
|
SetIpMulticastInterface
设置 SOL_IP
-> IP_MULTICAST_IF
。
请求
名称 | 类型 |
---|---|
iface |
fuchsia.net/InterfaceId
|
address |
fuchsia.net/Ipv4Address
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpMulticastInterface_Result
|
SetIpMulticastLoopback
设置 SOL_IP
-> IP_MULTICAST_LOOP
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpMulticastLoopback_Result
|
SetIpMulticastTtl
设置 SOL_IP
-> IP_MULTICAST_TTL
。
请求
名称 | 类型 |
---|---|
value |
fuchsia.posix.socket/OptionalUint8
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpMulticastTtl_Result
|
SetIpPacketInfo
设置 SOL_IP
-> IP_PKTINFO
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpPacketInfo_Result
|
SetIpReceiveOriginalDestinationAddress
设置 SOL_IP
-> IP_RECVORIGDSTADDR
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpReceiveOriginalDestinationAddress_Result
|
SetIpReceiveTtl
设置 SOL_IP
-> IP_RECVTTL
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpReceiveTtl_Result
|
SetIpReceiveTypeOfService
设置 SOL_IP
-> IP_RECVTOS
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpReceiveTypeOfService_Result
|
SetIpTransparent
设置 SOL_IP
-> IP_TRANSPARENT
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpTransparent_Result
|
SetIpTtl
设置 SOL_IP
-> IP_TTL
。
请求
名称 | 类型 |
---|---|
value |
fuchsia.posix.socket/OptionalUint8
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpTtl_Result
|
SetIpTypeOfService
设置 SOL_IP
-> IP_TOS
。
请求
名称 | 类型 |
---|---|
value |
uint8
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpTypeOfService_Result
|
SetIpv6Checksum
设置 SOL_IPV6
-> IPV6_CHECKSUM
。
请求
名称 | 类型 |
---|---|
config |
Ipv6ChecksumConfiguration
|
响应
名称 | 类型 |
---|---|
payload |
Socket_SetIpv6Checksum_Result
|
SetIpv6MulticastHops
设置 SOL_IPV6
-> IPV6_MULTICAST_HOPS
。
请求
名称 | 类型 |
---|---|
value |
fuchsia.posix.socket/OptionalUint8
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6MulticastHops_Result
|
SetIpv6MulticastInterface
设置 SOL_IPV6
-> IPV6_MULTICAST_IF
。
请求
名称 | 类型 |
---|---|
value |
fuchsia.net/InterfaceId
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6MulticastInterface_Result
|
SetIpv6MulticastLoopback
设置 SOL_IPV6
-> IPV6_MULTICAST_LOOP
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6MulticastLoopback_Result
|
SetIpv6Only
设置 SOL_IPV6
-> IPV6_V6ONLY
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6Only_Result
|
SetIpv6ReceiveHopLimit
设置 SOL_IPV6
-> IPV6_RECVHOPLIMIT
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6ReceiveHopLimit_Result
|
SetIpv6ReceivePacketInfo
设置 SOL_IPV6
-> IPV6_RECVPKTINFO
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6ReceivePacketInfo_Result
|
SetIpv6ReceiveTrafficClass
设置 SOL_IPV6
-> IPV6_RECVTCLASS
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6ReceiveTrafficClass_Result
|
SetIpv6TrafficClass
设置 SOL_IPV6
-> IPV6_TCLASS
请求
名称 | 类型 |
---|---|
value |
fuchsia.posix.socket/OptionalUint8
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6TrafficClass_Result
|
SetIpv6UnicastHops
设置 SOL_IPV6
-> IPV6_UNICAST_HOPS
。
请求
名称 | 类型 |
---|---|
value |
fuchsia.posix.socket/OptionalUint8
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_SetIpv6UnicastHops_Result
|
SetKeepAlive
设置 SOL_SOCKET
-> SO_KEEPALIVE
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetKeepAlive_Result
|
SetLinger
设置 SOL_SOCKET
-> SO_LINGER
。
请求
名称 | 类型 |
---|---|
linger |
bool
|
length_secs |
uint32
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetLinger_Result
|
SetMark
例如,设置 SOL_SOCKET
-> SO_MARK
。主要区别在于,与标准 SO_MARK 不同,此 API 具有多个标记域,每个标记可以在每个域内单独设置。
请求
名称 | 类型 |
---|---|
domain |
fuchsia.posix.socket/MarkDomain
|
mark |
fuchsia.posix.socket/OptionalUint32
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetMark_Result
|
SetNoCheck
设置 SOL_SOCKET
-> SO_NO_CHECK
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetNoCheck_Result
|
SetOutOfBandInline
设置 SOL_SOCKET
-> SO_OOBINLINE
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetOutOfBandInline_Result
|
SetReceiveBuffer
设置 SOL_SOCKET
-> SO_RCVBUF
。
请求
名称 | 类型 |
---|---|
value_bytes |
uint64
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetReceiveBuffer_Result
|
SetReuseAddress
设置 SOL_SOCKET
-> SO_REUSEADDR
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetReuseAddress_Result
|
SetReusePort
设置 SOL_SOCKET
-> SO_REUSEPORT
。
请求
名称 | 类型 |
---|---|
value |
bool
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetReusePort_Result
|
SetSendBuffer
设置 SOL_SOCKET
-> SO_SNDBUF
。
请求
名称 | 类型 |
---|---|
value_bytes |
uint64
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetSendBuffer_Result
|
SetTimestamp
设置 SOL_SOCKET
-> SO_TIMESTAMP
或 SO_TIMESTAMPNS
。
请求
名称 | 类型 |
---|---|
value |
fuchsia.posix.socket/TimestampOption
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseSocket_SetTimestamp_Result
|
关闭
关闭套接字的一部分。
请求
名称 | 类型 |
---|---|
mode |
fuchsia.posix.socket/ShutdownMode
|
响应
名称 | 类型 |
---|---|
payload |
fuchsia.posix.socket/BaseNetworkSocket_Shutdown_Result
|
结构
空白
在 fuchsia.posix.socket.raw/socket.fidl 中定义
<EMPTY>
Icmpv6Filter
在 fuchsia.posix.socket.raw/socket.fidl 中定义
ICMPv6 类型的过滤器。
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
blocked_types |
uint32[8]
|
指示是否应屏蔽 ICMPv6 类型。 每个位索引都会对 ICMPv6 类型进行编码; 相当于 Linux 的 |
无默认取景方式 |
Provider_Socket_Response 资源
在 fuchsia.posix.socket.raw/socket.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
s |
Socket
|
无默认取景方式 |
Socket_GetIcmpv6Filter_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
filter |
Icmpv6Filter
|
无默认取景方式 |
Socket_GetInfo_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
domain |
fuchsia.posix.socket/Domain
|
无默认取景方式 | |
proto |
ProtocolAssociation
|
无默认取景方式 |
Socket_GetIpHeaderIncluded_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
value |
bool
|
无默认取景方式 |
Socket_GetIpv6Checksum_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
config |
Ipv6ChecksumConfiguration
|
无默认取景方式 |
Socket_RecvMsg_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
野战 | 类型 | 说明 | 默认 |
---|---|---|---|
addr |
fuchsia.net/SocketAddress?
|
无默认取景方式 | |
data |
vector<uint8>
|
无默认取景方式 | |
control |
fuchsia.posix.socket/NetworkSocketRecvControlData
|
无默认取景方式 | |
truncated |
uint32
|
无默认取景方式 |
Socket_SendMsg_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
<EMPTY>
Socket_SetIcmpv6Filter_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
<EMPTY>
Socket_SetIpHeaderIncluded_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
<EMPTY>
Socket_SetIpv6Checksum_Response
在 fuchsia.posix.socket.raw/socket.fidl 中定义
<EMPTY>
表
SocketDescribeResponse 资源
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 野战 | 类型 | 说明 |
---|---|---|---|
1 |
event |
handle<eventpair>
|
表示有关套接字状态的其他信息,例如就绪性或关闭性。 |
联合
Ipv6ChecksumConfiguration 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
IPv6 套接字校验和配置。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
disabled |
Empty
|
表示堆栈不应计算传出数据包的校验和,而不应验证传入数据包的校验和。 |
2 |
offset |
int32
|
指示堆栈应计算传出数据包的校验和,并验证传入数据包的校验和。
该偏移量必须与 RFC 1071 中指定的互联网校验和大小一致。也就是说,偏移必须按 2 字节对齐。 |
ProtocolAssociation 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
与原始套接字关联的协议。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
unassociated |
Empty
|
表示与任何协议均无关联。 该套接字不会接收数据包。发送的数据包必须包含网络标头。 |
2 |
associated |
Protocol
|
关联的协议。 套接字只能发送和接收关联协议的网络数据包。 |
Provider_Socket_Result 严格 资源
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Provider_Socket_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_GetIcmpv6Filter_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_GetIcmpv6Filter_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_GetInfo_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_GetInfo_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_GetIpHeaderIncluded_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_GetIpHeaderIncluded_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_GetIpv6Checksum_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_GetIpv6Checksum_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_RecvMsg_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_RecvMsg_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_SendMsg_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_SendMsg_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_SetIcmpv6Filter_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_SetIcmpv6Filter_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_SetIpHeaderIncluded_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_SetIpHeaderIncluded_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
Socket_SetIpv6Checksum_Result 严格
在 fuchsia.posix.socket.raw/socket.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Socket_SetIpv6Checksum_Response
|
|
2 |
err |
fuchsia.posix/Errno
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
SOCKET_PROTOCOL_NAME | fuchsia.posix.socket.raw/Socket |
String |
别名
名称 | 值 | 说明 |
---|---|---|
协议 |
uint8 |
原始套接字可能关联的协议。 |