enum rpc_sockopt

Overview

TA-independent names of socket options. More…

#include <te_rpc_sys_socket.h>

enum rpc_sockopt {
    RPC_SO_ACCEPTCONN,
    RPC_SO_ACCEPTFILTER,
    RPC_SO_BINDTODEVICE,
    RPC_SO_BROADCAST,
    RPC_SO_DEBUG,
    RPC_SO_DONTROUTE,
    RPC_SO_ERROR,
    RPC_SO_INCOMING_NAPI_ID,
    RPC_SO_KEEPALIVE,
    RPC_SO_LINGER,
    RPC_SO_OOBINLINE,
    RPC_SO_PRIORITY,
    RPC_SO_RCVBUF,
    RPC_SO_RCVLOWAT,
    RPC_SO_UPDATE_ACCEPT_CONTEXT,
    RPC_SO_UPDATE_CONNECT_CONTEXT,
    RPC_SO_RCVTIMEO,
    RPC_SO_REUSEADDR,
    RPC_SO_REUSEPORT,
    RPC_SO_SNDBUF,
    RPC_SO_SNDLOWAT,
    RPC_SO_SNDTIMEO,
    RPC_SO_TYPE,
    RPC_SO_CONNECT_TIME,
    RPC_SO_OPENTYPE,
    RPC_SO_DONTLINGER,
    RPC_SO_CONDITIONAL_ACCEPT,
    RPC_SO_MAX_MSG_SIZE,
    RPC_SO_USELOOPBACK,
    RPC_SO_EXCLUSIVEADDRUSE,
    RPC_SO_GROUP_ID,
    RPC_SO_GROUP_PRIORITY,
    RPC_SO_PROTOCOL_INFOA,
    RPC_SO_PROTOCOL_INFOW,
    RPC_SO_DGRAM_ERRIND,
    RPC_SO_BSDCOMPAT,
    RPC_SO_DOMAIN,
    RPC_SO_MARK,
    RPC_SO_PASSCRED,
    RPC_SO_PROTOCOL,
    RPC_SO_RCVBUFFORCE,
    RPC_SO_SNDBUFFORCE,
    RPC_ONLOAD_SCM_TIMESTAMPING_STREAM,
    RPC_SO_BUSY_POLL,
    RPC_SO_SELECT_ERR_QUEUE,
    RPC_IP_ADD_MEMBERSHIP,
    RPC_IP_DROP_MEMBERSHIP,
    RPC_IP_ADD_SOURCE_MEMBERSHIP,
    RPC_IP_DROP_SOURCE_MEMBERSHIP,
    RPC_IP_BLOCK_SOURCE,
    RPC_IP_UNBLOCK_SOURCE,
    RPC_IP_HDRINCL,
    RPC_IP_MULTICAST_IF,
    RPC_IP_MULTICAST_LOOP,
    RPC_MCAST_JOIN_GROUP,
    RPC_MCAST_LEAVE_GROUP,
    RPC_IP_MULTICAST_TTL,
    RPC_IP_OPTIONS,
    RPC_IP_PKTINFO,
    RPC_IP_PKTOPTIONS,
    RPC_IP_RECVDSTADDR,
    RPC_IP_RECVERR,
    RPC_IP_RECVIF,
    RPC_IP_RECVOPTS,
    RPC_IP_RECVTOS,
    RPC_IP_RECVTTL,
    RPC_IP_RETOPTS,
    RPC_IP_ROUTER_ALERT,
    RPC_IP_TOS,
    RPC_IP_TTL,
    RPC_IP_MTU,
    RPC_IP_MTU_DISCOVER,
    RPC_IP_RECEIVE_BROADCAST,
    RPC_IP_DONTFRAGMENT,
    RPC_IP_FREEBIND,
    RPC_IP_MULTICAST_ALL,
    RPC_IP_NODEFRAG,
    RPC_IP_RECVORIGDSTADDR,
    RPC_IP_TRANSPARENT,
    RPC_IPV6_UNICAST_HOPS,
    RPC_IPV6_MULTICAST_HOPS,
    RPC_IPV6_MULTICAST_IF,
    RPC_IPV6_ADDRFORM,
    RPC_IPV6_RECVPKTINFO,
    RPC_IPV6_PKTINFO,
    RPC_IPV6_PKTOPTIONS,
    RPC_IPV6_CHECKSUM,
    RPC_IPV6_NEXTHOP,
    RPC_IPV6_ROUTER_ALERT,
    RPC_IPV6_MULTICAST_LOOP,
    RPC_IPV6_ADD_MEMBERSHIP,
    RPC_IPV6_DROP_MEMBERSHIP,
    RPC_IPV6_MTU,
    RPC_IPV6_MTU_DISCOVER,
    RPC_IPV6_RECVERR,
    RPC_IPV6_V6ONLY,
    RPC_IPV6_JOIN_ANYCAST,
    RPC_IPV6_LEAVE_ANYCAST,
    RPC_IPV6_IPSEC_POLICY,
    RPC_IPV6_XFRM_POLICY,
    RPC_IPV6_RTHDR,
    RPC_IPV6_AUTHHDR,
    RPC_IPV6_DSTOPTS,
    RPC_IPV6_HOPOPTS,
    RPC_IPV6_FLOWINFO,
    RPC_IPV6_RECVHOPLIMIT,
    RPC_IPV6_HOPLIMIT,
    RPC_IPV6_TCLASS,
    RPC_IPV6_RECVTCLASS,
    RPC_IPV6_AUTOFLOWLABEL,
    RPC_TCP_MAXSEG,
    RPC_TCP_NODELAY,
    RPC_TCP_CORK,
    RPC_TCP_KEEPIDLE,
    RPC_TCP_KEEPINTVL,
    RPC_TCP_KEEPCNT,
    RPC_TCP_KEEPALIVE_THRESHOLD,
    RPC_TCP_KEEPALIVE_ABORT_THRESHOLD,
    RPC_TCP_LINGER2,
    RPC_TCP_SYNCNT,
    RPC_TCP_WINDOW_CLAMP,
    RPC_TCP_INFO,
    RPC_TCP_DEFER_ACCEPT,
    RPC_TCP_QUICKACK,
    RPC_TCP_USER_TIMEOUT,
    RPC_UDP_CORK,
    RPC_UDP_NOCHECKSUM,
    RPC_SO_TIMESTAMP,
    RPC_SO_TIMESTAMPNS,
    RPC_SO_TIMESTAMPING,
    RPC_SCM_RIGHTS,
    RPC_SOCKOPT_UNKNOWN,
};

Detailed Documentation

TA-independent names of socket options. After updating this list, please update SOCKOPT_MAPPING_LIST in the same way.

Enum Values

RPC_SO_ACCEPTCONN

Whether the socket is in listening state or not

RPC_SO_ACCEPTFILTER

Get/set accept filter of the listening socket

RPC_SO_BINDTODEVICE

Bind the socket to a particular device

RPC_SO_BROADCAST

Permit/forbid sending of broadcast messages

RPC_SO_DEBUG

Turn on/off recording of debugging information

RPC_SO_DONTROUTE

When set, the socket is forbidden to sent via a gateway, but only to directly connected hosts

RPC_SO_ERROR

Reset the error status of the socket and returns the last error status

RPC_SO_INCOMING_NAPI_ID

System-level unique ID called NAPI ID that is associated with a RX queue on which the last packet associated with that socket is received.

RPC_SO_KEEPALIVE

Enable sending of keep-alive messages on connection-oriented sockets.

RPC_SO_LINGER

Linger on close if data is present

RPC_SO_OOBINLINE

If set, out-of-band data received on the socket is placed in the normal input queue

RPC_SO_PRIORITY

Set the protocol-defined priority for all packets to be sent on the socket

RPC_SO_RCVBUF

Get/set receive buffer size

RPC_SO_RCVLOWAT

Specify the minimum number of bytes in the buffer until the socket layer will pass the data to the user on receiving

RPC_SO_UPDATE_ACCEPT_CONTEXT

Update the accepting socket with content of listening socket

RPC_SO_RCVTIMEO

Update connected socket’s state Specify the receiving timeouts until reporting an error

RPC_SO_REUSEADDR

Indicate that the rules used in validating addresses supplied in a ‘bind’ call should allow to reuse a local address

RPC_SO_REUSEPORT

Enables duplicate address and port bindings

RPC_SO_SNDBUF

Get/set send buffer size

RPC_SO_SNDLOWAT

Specify the minimum number of bytes in the buffer until the socket layer will pass the data to the protocol layer on sending

RPC_SO_SNDTIMEO

Specify the sending timeouts until reporting an error

RPC_SO_TYPE

Return the socket’s communication type (the value of the second argument used in ‘socket’ call)

RPC_SO_CONNECT_TIME

The number of seconds that the socket has been connected or 0xFFFFFFFF if it is not connected

RPC_SO_OPENTYPE

Once set, subsequent sockets created will be non-overlapped.

RPC_SO_DONTLINGER

MS Windows specific: Indicates whether a linger value was set on a socket.

RPC_SO_CONDITIONAL_ACCEPT

MS Windows specific: Indicates incoming connections will be accepted or rejected by the application and not the stack.

RPC_SO_MAX_MSG_SIZE

MS Windows specific: Returns the maximum outbound message size for message-oriented sockets supported by the protocol. Has no meaning for stream-oriented sockets.

RPC_SO_USELOOPBACK

MS Windows specific.

RPC_SO_EXCLUSIVEADDRUSE

MS Windows specific. Prevents any other socket from binding to the same address and port. Option must be set before bind.

RPC_SO_GROUP_ID

MS Windows specific.

RPC_SO_GROUP_PRIORITY

MS Windows specific.

RPC_SO_PROTOCOL_INFOA

Returns the WSAPROTOCOL_INFOA structure

RPC_SO_PROTOCOL_INFOW

Returns the WSAPROTOCOL_INFOW structure

RPC_SO_DGRAM_ERRIND

Delayed ICMP errors on not connected datagram socket

RPC_SO_BSDCOMPAT

Enable BSD bug-to-bug compatibility

RPC_SO_DOMAIN

Retrieves the socket domain

RPC_SO_MARK

Set the mark for each sent packet

RPC_SO_PASSCRED

Enable receiving of the SCM_CREDENTIALS control message

RPC_SO_PROTOCOL

Retrieves the socket protocol

RPC_SO_RCVBUFFORCE

Like SO_RCVBUF, but the rmem_max limit can be overridden

RPC_SO_SNDBUFFORCE

Like SO_SNDBUF, but the wmem_max limit can be overridden

RPC_ONLOAD_SCM_TIMESTAMPING_STREAM

Solarflare Onload specific socket option to decode HW TX timestamps

RPC_SO_BUSY_POLL

Sets the approximate time in microseconds to busy poll on a blocking receive when there is no data.

RPC_SO_SELECT_ERR_QUEUE

Make selcet() detect events on error queue.

RPC_IP_ADD_MEMBERSHIP

Join a multicast group

RPC_IP_DROP_MEMBERSHIP

Leave a multicast group

RPC_IP_ADD_SOURCE_MEMBERSHIP

Join a multicast group and allow receiving data only from a specified source.

RPC_IP_DROP_SOURCE_MEMBERSHIP

Leave a source-specific group

RPC_IP_BLOCK_SOURCE

Stop receiving multicast data from a specific source in a given group

RPC_IP_UNBLOCK_SOURCE

Unblock previously blocked multicast source

RPC_IP_HDRINCL

If enabled, the user supplies an IP header in front of the user data

RPC_IP_MULTICAST_IF

Set the local device for a multicast socket

RPC_IP_MULTICAST_LOOP

Whether sent multicast packets should be looped back to the local sockets

RPC_MCAST_JOIN_GROUP

Join a multicast group

RPC_MCAST_LEAVE_GROUP

Leave a multicast group

RPC_IP_MULTICAST_TTL

Set/get TTL value used in outgoing multicast packets

RPC_IP_OPTIONS

Set/get the IP options to be sent with every packet from the socket

RPC_IP_PKTINFO

Whether the IP_PKTINFO message should be passed or not

RPC_IP_PKTOPTIONS

Get IP packet options

RPC_IP_RECVDSTADDR

Whether to pass destination address with UDP datagram to the user in an IP_RECVDSTADDR control message

RPC_IP_RECVERR

Enable extended reliable error message passing

RPC_IP_RECVIF

Whether to pass interface index with UDP packet to the user in an IP_RECVIF control message

RPC_IP_RECVOPTS

Whether to pass all incoming IP header options to the user in an IP_OPTIONS control message

RPC_IP_RECVTOS

If enabled, the IP_TOS ancillary message is passed with incoming packets

RPC_IP_RECVTTL

When enabled, pass an IP_RECVTTL control message with the TTL field of the received packet as a byte

RPC_IP_RETOPTS

Identical to IP_RECVOPTS but returns raw unprocessed options with timestamp and route record options not filled in for this hop

RPC_IP_ROUTER_ALERT

Enable/disable router alerts

RPC_IP_TOS

Set/receive the Type-Of-Service (TOS) field that is sent with every IP packet originating from the socket

RPC_IP_TTL

Set/retrieve the current time to live (TTL) field that is sent in every packet originating from the socket

RPC_IP_MTU

Retrieve the current known path MTU of the current connected socket

RPC_IP_MTU_DISCOVER

Enable/disable Path MTU discover on the socket

RPC_IP_RECEIVE_BROADCAST

Winsock2 specific option. Allows or blocks broadcast reception.

RPC_IP_DONTFRAGMENT

Winsock2 specific option. Indicates that data should not be fragmented regardless of the local MTU. Valid only for message oriented protocols. All Microsoft providers silently ignore this option.

RPC_IP_FREEBIND

Allows binding to a nonlocal IP address

RPC_IP_MULTICAST_ALL

Modify the delivery policy of multicast messages

RPC_IP_NODEFRAG

Disable the reassembly of outgoing packets in the netfilter

RPC_IP_RECVORIGDSTADDR

Enables the IP_ORIGDSTADDR ancillary message in recvmsg

RPC_IP_TRANSPARENT

Enables transparent proxying

RPC_IPV6_UNICAST_HOPS

Hop limit for unicast packets

RPC_IPV6_MULTICAST_HOPS

Hop limit for multicast packets

RPC_IPV6_MULTICAST_IF

Interface for outgoing multicast packets

RPC_IPV6_ADDRFORM

Turn AF_INET6 socket to AF_INET family

RPC_IPV6_RECVPKTINFO

Whether to receive IPV6_PKTINFO control messages on incoming datagrams

RPC_IPV6_PKTINFO

Type of control message which IPV6_RECVPKTINFO enables

RPC_IPV6_PKTOPTIONS

Specify packet options

RPC_IPV6_CHECKSUM

Offset of checksum for raw sockets

RPC_IPV6_NEXTHOP

Enable specifying next hop

RPC_IPV6_ROUTER_ALERT

Pass packets containing router alert option

RPC_IPV6_MULTICAST_LOOP

Whether to loopback outgoing multicast datagrams

RPC_IPV6_ADD_MEMBERSHIP

Join a multicast group

RPC_IPV6_DROP_MEMBERSHIP

Leave a multicast group

RPC_IPV6_MTU

MTU of current connected socket

RPC_IPV6_MTU_DISCOVER

Enable/disable Path MTU discover

RPC_IPV6_RECVERR

Whether to receive asynchronous error messages

RPC_IPV6_V6ONLY

Use socket for IPv6 communication only

RPC_IPV6_JOIN_ANYCAST

Join an anycast group

RPC_IPV6_LEAVE_ANYCAST

Leave an anycast group

RPC_IPV6_RTHDR

Deliver the routing header

RPC_IPV6_AUTHHDR

Deliver the authentification header

RPC_IPV6_DSTOPTS

Deliver the destination options

RPC_IPV6_HOPOPTS

Deliver the hop options

RPC_IPV6_FLOWINFO

Deliver the flow ID

RPC_IPV6_RECVHOPLIMIT

Deliver the hop count of the packet

RPC_IPV6_HOPLIMIT

Set delivery of control messages

RPC_IPV6_TCLASS

Set IPv6 traffic class (similar to IPv4 TOS)

RPC_IPV6_RECVTCLASS

Receive IPv6 traffic class in a control message

RPC_IPV6_AUTOFLOWLABEL

Enable/disable IPv6 automatic flow labels

RPC_TCP_MAXSEG

Set/get the maximum segment size for outgoing TCP packets

RPC_TCP_NODELAY

Enable/disable the Nagle algorithm

RPC_TCP_CORK

Enable/disable delay pushing to the net

RPC_TCP_KEEPIDLE

Start sending keepalive probes after this period

RPC_TCP_KEEPINTVL

Interval between keepalive probes

RPC_TCP_KEEPCNT

Number of keepalive probes before death

RPC_TCP_KEEPALIVE_THRESHOLD

Start sending keepalive probes after this idle period in milliseconds

RPC_TCP_KEEPALIVE_ABORT_THRESHOLD

Abort TCP connection after this keep-alive failed period in milliseconds

RPC_TCP_LINGER2

The lifetime of orphaned FIN_WAIT2 state sockets

RPC_TCP_SYNCNT

Number of SYN retransmits

RPC_TCP_WINDOW_CLAMP

Bound the size of the advertised

RPC_TCP_INFO

Gather info about the socket

RPC_TCP_DEFER_ACCEPT

Allows a listener to be awakened only when data arrives on the socket.

RPC_TCP_QUICKACK

Enable/disable quickack mode

RPC_TCP_USER_TIMEOUT

Maximum amount of time in ms that transmitted data may remain unacknowledged before TCP will forcefully close the corresponding connection

RPC_UDP_CORK

Enable/disable UDP packets coalescing

RPC_UDP_NOCHECKSUM

MS Windows specific. When TRUE, UDP datagrams are sent with the checksum of zero. Required for service providers. If a service provider does not have a mechanism to disable UDP checksum calculation, it may simply store this option without taking any action.

RPC_SO_TIMESTAMP

Enabling/disabling the receiving of the SO_TIMESTAMP control message.

RPC_SO_TIMESTAMPNS

Enabling/disabling the receiving of the SO_TIMESTAMPNS control message.

RPC_SO_TIMESTAMPING

Instructs the socket layer which kind of information about HW timestamps is wanted.

RPC_SCM_RIGHTS

Transfer file descriptors

RPC_SOCKOPT_UNKNOWN

Invalid socket option