1 struct msghdr { 2 void *msg_name; 3 socklen_t msg_namelen; 4 struct iovec *msg_iov; 5 int msg_iovlen; 6 void *msg_control; 7 socklen_t msg_controllen; 8 int msg_flags; 9 }; 10 11 struct cmsghdr { 12 socklen_t cmsg_len; 13 int cmsg_level; 14 int cmsg_type; 15 }; 16 17 #define SO_DEBUG 1 18 #define SO_REUSEADDR 2 19 #define SO_TYPE 3 20 #define SO_ERROR 4 21 #define SO_DONTROUTE 5 22 #define SO_BROADCAST 6 23 #define SO_SNDBUF 7 24 #define SO_RCVBUF 8 25 #define SO_KEEPALIVE 9 26 #define SO_OOBINLINE 10 27 #define SO_NO_CHECK 11 28 #define SO_PRIORITY 12 29 #define SO_LINGER 13 30 #define SO_BSDCOMPAT 14 31 #define SO_REUSEPORT 15 32 #define SO_RCVLOWAT 16 33 #define SO_SNDLOWAT 17 34 #define SO_RCVTIMEO 18 35 #define SO_SNDTIMEO 19 36 #define SO_PASSCRED 20 37 #define SO_PEERCRED 21 38 #define SO_ACCEPTCONN 30 39 #define SO_PEERSEC 31 40 #define SO_SNDBUFFORCE 32 41 #define SO_RCVBUFFORCE 33 42 #define SO_PROTOCOL 38 43 #define SO_DOMAIN 39 44