Print this page
13175 Add support for IP_RECVTOS
13182 CMSG_ macros should have man pages
Change-ID: I784aa36cfd3c17e3cccbf1fd329fa7e69b663ef9
*** 1,11 ****
SOCKET.H(3HEAD) Headers SOCKET.H(3HEAD)
NAME
! socket.h, socket - Internet Protocol family
SYNOPSIS
#include <sys/socket.h>
--- 1,12 ----
SOCKET.H(3HEAD) Headers SOCKET.H(3HEAD)
NAME
! socket.h, socket, CMSG_DATA, CMSG_FIRSTHDR, CMSG_LEN, CMSG_NXTHDR,
! CMSG_SPACE - Internet Protocol family
SYNOPSIS
#include <sys/socket.h>
*** 60,70 ****
header defines the following macros for use as the cmsg_type values
when cmsg_level is SOL_SOCKET.
SCM_RIGHTS
Indicates that the data array contains the access rights
! to be sent or received.
SCM_UCRED
Indicates that the data array contains a ucred_t to be
received. The ucred_t is the credential of the sending
--- 61,71 ----
header defines the following macros for use as the cmsg_type values
when cmsg_level is SOL_SOCKET.
SCM_RIGHTS
Indicates that the data array contains the access rights
! (set of open file descriptors) to be sent or received.
SCM_UCRED
Indicates that the data array contains a ucred_t to be
received. The ucred_t is the credential of the sending
*** 71,174 ****
process at the time the message was sent. This is a Sun-
specific, Evolving interface. See ucred_get(3C).
! The IPv4 data formats generally use the same values for data passed
! back in cmsghdr as for setsockopt() to enable the feature. The IPv4
! data formats are listed below with the associated payload for each.
! IPPROTO_IP
! IP_RECVDSTADDR
ipaddr_t, IP address
! IPPROTO_IP
! IP_RECVOPTS
variable-length IP options, up to 40 bytes
! IPPROTO_IP
! IP_RECVIF
! uint_t, ifIndex number
! IPPROTO_IP
! IP_RECVSLLA
struct sockaddr_dl, link layer address
! IPPROTO_IP
! IP_RECVTTL
! uint8_t
! SOL_SOCKET
! SO_RECVUCRED
! ucred_t -- cmsghdr.cmsg_type is SCM_UCRED, not SO_RECVUCRED
! The IPv6 data formats use different values for enabling the option and
! for passing the value back to the application. The IPv6 data formats
! are listed below with the associated payload for each.
- IPPROTO_IPV6
- IPV6_RECVPKTINFO
- in_pktinfo, cmsg_type IPV6_PKTINFO
! IPPROTO_IPV6
! IPV6_RECVTCLASS
! uint_t, cmsg_type IPV6_TCLASS
! IPPROTO_IPV6
! IPV6_RECVPATHMTU
! ip6_mtuinfo, cmsg_type IPV6_PATHMTU
! IPPROTO_IPV6
! IPV6_RECVHOPLIMIT
! uint_t, cmsg_type IPV6_HOPLIMIT
! IPPROTO_IPV6
! IPV6_RECVHOPOPTS
! variable-length IPv6 options, cmsg_type IPV6_HOPOPTS
! IPPROTO_IPV6
! IPV6_RECVDSTOPTS
! variable-length IPv6 options, cmsg_type IPV6_DSTOPTS
! IPPROTO_IPV6
! IPV6_RECVRTHDR
! variable-length IPv6 options, cmsg_type IPV6_RTHDR
! IPPROTO_IPV6
! IPV6_RECVRTHDRDSTOPTS
! variable-length IPv6 options, cmsg_type IPV6_DSTOPTS
The <sys/socket.h> header defines the following macros to gain access
to the data arrays in the ancillary data associated with a message
header:
CMSG_DATA(cmsg)
--- 72,169 ----
process at the time the message was sent. This is a Sun-
specific, Evolving interface. See ucred_get(3C).
! The IPv4 ancillary data formats are listed below by cmsg_level and
! cmsg_type, along with the associated payload for each.
! IPPROTO_IP, IP_RECVDSTADDR -- SOCK_DGRAM only
ipaddr_t, IP address
! IPPROTO_IP, IP_RECVIF
+ uint_t, ifIndex number
+
+
+ IPPROTO_IP, IP_RECVOPTS -- SOCK_DGRAM only
+
variable-length IP options, up to 40 bytes
! IPPROTO_IP, IP_RECVPKTINFO -- SOCK_DGRAM only
! in_pktinfo_t
! IPPROTO_IP, IP_RECVSLLA -- SOCK_DGRAM only
struct sockaddr_dl, link layer address
! IPPROTO_IP, IP_RECVTTL -- SOCK_DGRAM only
! uint8_t, the IP TTL (time to live)
! IPPROTO_IP, IP_RECVTOS
! uint8_t, the IP TOS (type of service)
+ SOL_SOCKET, SO_UCRED
! ucred_t
+ The IPv6 ancillary data formats are listed below by cmsg_level and
+ cmsg_type, along with the associated payload for each.
! IPPROTO_IPV6, IPV6_PKTINFO
! in_pktinfo_t
! IPPROTO_IPV6, IPV6_TCLASS
! uint_t
! IPPROTO_IPV6, IPV6_PATHMTU
! ip6_mtuinfo
! IPPROTO_IPV6, IPV6_HOPLIMIT
! uint_t
! IPPROTO_IPV6, IPV6_HOPOPTS
! variable-length IPv6 options
! IPPROTO_IPV6, IPV6_DSTOPTS
! variable-length IPv6 options
! IPPROTO_IPV6, IPV6_RTHDR
! variable-length IPv6 options
+ IPPROTO_IPV6, IPV6_DSTOPTS
+ variable-length IPv6 options
+
+
+
The <sys/socket.h> header defines the following macros to gain access
to the data arrays in the ancillary data associated with a message
header:
CMSG_DATA(cmsg)
*** 420,425 ****
sockaddr(3SOCKET), socket(3SOCKET), socket(3XNET), socketpair(3SOCKET),
socketpair(3XNET), ucred_get(3C), attributes(5), standards(5)
! June 18, 2017 SOCKET.H(3HEAD)
--- 415,420 ----
sockaddr(3SOCKET), socket(3SOCKET), socket(3XNET), socketpair(3SOCKET),
socketpair(3XNET), ucred_get(3C), attributes(5), standards(5)
! September 18, 2020 SOCKET.H(3HEAD)