these structures can now be defined generically in terms of endianness
and long size. previously, the 32-bit archs all shared a common
definition from the generic bits header, and each 64-bit arch had to
repeat the 64-bit version, with endian conditionals if the arch had
variants of each endianness.
I would prefer getting rid of the preprocessor conditionals for
padding and instead using unnamed bitfield members, like commit
9b2921bea1 did for struct timespec.
however, at present sendmsg, recvmsg, and recvmmsg need access to the
padding members by name to zero them. this could perhaps be cleaned up
in the future.
28 lines
720 B
C
28 lines
720 B
C
#define SO_DEBUG 1
|
|
#define SO_REUSEADDR 2
|
|
#define SO_TYPE 3
|
|
#define SO_ERROR 4
|
|
#define SO_DONTROUTE 5
|
|
#define SO_BROADCAST 6
|
|
#define SO_SNDBUF 7
|
|
#define SO_RCVBUF 8
|
|
#define SO_KEEPALIVE 9
|
|
#define SO_OOBINLINE 10
|
|
#define SO_NO_CHECK 11
|
|
#define SO_PRIORITY 12
|
|
#define SO_LINGER 13
|
|
#define SO_BSDCOMPAT 14
|
|
#define SO_REUSEPORT 15
|
|
#define SO_RCVLOWAT 16
|
|
#define SO_SNDLOWAT 17
|
|
#define SO_RCVTIMEO 18
|
|
#define SO_SNDTIMEO 19
|
|
#define SO_PASSCRED 20
|
|
#define SO_PEERCRED 21
|
|
#define SO_ACCEPTCONN 30
|
|
#define SO_PEERSEC 31
|
|
#define SO_SNDBUFFORCE 32
|
|
#define SO_RCVBUFFORCE 33
|
|
#define SO_PROTOCOL 38
|
|
#define SO_DOMAIN 39
|