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)