/* Generated by maint/gen_xlat_defs.sh -f 'u' -p 'SO_' -c 'asm-generic/socket.h' -a 'asm/socket.h' */

SO_DEBUG	1

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_REUSEADDR	4
#else
SO_REUSEADDR	2
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_TYPE	4104
#else
SO_TYPE	3
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_ERROR	4103
#else
SO_ERROR	4
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_DONTROUTE	16
#else
SO_DONTROUTE	5
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_BROADCAST	32
#else
SO_BROADCAST	6
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_SNDBUF	4097
#else
SO_SNDBUF	7
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_RCVBUF	4098
#else
SO_RCVBUF	8
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_KEEPALIVE	8
#else
SO_KEEPALIVE	9
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_OOBINLINE	256
#else
SO_OOBINLINE	10
#endif

#if defined __hppa__
SO_NO_CHECK	16395
#else
SO_NO_CHECK	11
#endif

#if defined __hppa__
SO_PRIORITY	16396
#else
SO_PRIORITY	12
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_LINGER	128
#else
SO_LINGER	13
#endif

#if defined __sparc__
SO_BSDCOMPAT	1024
#elif defined __hppa__
SO_BSDCOMPAT	16398
#else
SO_BSDCOMPAT	14
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_REUSEPORT	512
#else
SO_REUSEPORT	15
#endif

#if defined __sparc__
SO_PASSCRED	2
#elif defined __alpha__ || defined __mips__
SO_PASSCRED	17
#elif defined __powerpc__
SO_PASSCRED	20
#elif defined __hppa__
SO_PASSCRED	16400
#else
SO_PASSCRED	16
#endif

#if defined __alpha__ || defined __mips__
SO_PEERCRED	18
#elif defined __powerpc__
SO_PEERCRED	21
#elif defined __sparc__
SO_PEERCRED	64
#elif defined __hppa__
SO_PEERCRED	16401
#else
SO_PEERCRED	17
#endif

#if defined __powerpc__
SO_RCVLOWAT	16
#elif defined __sparc__
SO_RCVLOWAT	2048
#elif defined __hppa__ || defined __mips__
SO_RCVLOWAT	4100
#elif defined __alpha__
SO_RCVLOWAT	4112
#else
SO_RCVLOWAT	18
#endif

#if defined __powerpc__
SO_SNDLOWAT	17
#elif defined __sparc__
SO_SNDLOWAT	4096
#elif defined __hppa__ || defined __mips__
SO_SNDLOWAT	4099
#elif defined __alpha__
SO_SNDLOWAT	4113
#else
SO_SNDLOWAT	19
#endif

#if defined __powerpc__
SO_RCVTIMEO	18
#elif defined __hppa__ || defined __mips__
SO_RCVTIMEO	4102
#elif defined __alpha__
SO_RCVTIMEO	4114
#elif defined __sparc__
SO_RCVTIMEO	8192
#else
SO_RCVTIMEO	20
#endif

#if defined __powerpc__
SO_SNDTIMEO	19
#elif defined __hppa__ || defined __mips__
SO_SNDTIMEO	4101
#elif defined __alpha__
SO_SNDTIMEO	4115
#elif defined __sparc__
SO_SNDTIMEO	16384
#else
SO_SNDTIMEO	21
#endif

#if defined __alpha__
SO_SECURITY_AUTHENTICATION	19
#elif defined __hppa__
SO_SECURITY_AUTHENTICATION	16406
#elif defined __sparc__
SO_SECURITY_AUTHENTICATION	20481
#else
SO_SECURITY_AUTHENTICATION	22
#endif

#if defined __alpha__
SO_SECURITY_ENCRYPTION_TRANSPORT	20
#elif defined __hppa__
SO_SECURITY_ENCRYPTION_TRANSPORT	16407
#elif defined __sparc__
SO_SECURITY_ENCRYPTION_TRANSPORT	20482
#else
SO_SECURITY_ENCRYPTION_TRANSPORT	23
#endif

#if defined __alpha__
SO_SECURITY_ENCRYPTION_NETWORK	21
#elif defined __hppa__
SO_SECURITY_ENCRYPTION_NETWORK	16408
#elif defined __sparc__
SO_SECURITY_ENCRYPTION_NETWORK	20484
#else
SO_SECURITY_ENCRYPTION_NETWORK	24
#endif

#if defined __sparc__
SO_BINDTODEVICE	13
#elif defined __hppa__
SO_BINDTODEVICE	16409
#else
SO_BINDTODEVICE	25
#endif

#if defined __hppa__
SO_DETACH_FILTER	16411
#else
SO_DETACH_FILTER	27
#endif

#if defined __hppa__
SO_PEERNAME	8192
#else
SO_PEERNAME	28
#endif

#if defined __hppa__
SO_TIMESTAMP	16402
#else
SO_TIMESTAMP	29
#endif

#if defined __mips__
SO_ACCEPTCONN	4105
#elif defined __alpha__
SO_ACCEPTCONN	4116
#elif defined __hppa__
SO_ACCEPTCONN	16412
#elif defined __sparc__
SO_ACCEPTCONN	32768
#else
SO_ACCEPTCONN	30
#endif

#if defined __alpha__ || defined __mips__ || defined __sparc__
SO_PEERSEC	30
#elif defined __hppa__
SO_PEERSEC	16413
#else
SO_PEERSEC	31
#endif

#if defined __mips__
SO_SNDBUFFORCE	31
#elif defined __alpha__ || defined __hppa__ || defined __sparc__
SO_SNDBUFFORCE	4106
#else
SO_SNDBUFFORCE	32
#endif

#if defined __alpha__ || defined __hppa__ || defined __sparc__
SO_RCVBUFFORCE	4107
#else
SO_RCVBUFFORCE	33
#endif

#if defined __sparc__
SO_PASSSEC	31
#elif defined __hppa__
SO_PASSSEC	16414
#else
SO_PASSSEC	34
#endif

#if defined __sparc__
SO_TIMESTAMPNS	33
#elif defined __hppa__
SO_TIMESTAMPNS	16403
#else
SO_TIMESTAMPNS	35
#endif

#if defined __sparc__
SO_MARK	34
#elif defined __hppa__
SO_MARK	16415
#else
SO_MARK	36
#endif

#if defined __sparc__
SO_TIMESTAMPING	35
#elif defined __hppa__
SO_TIMESTAMPING	16416
#else
SO_TIMESTAMPING	37
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_PROTOCOL	4136
#else
SO_PROTOCOL	38
#endif

#if defined __alpha__ || defined __hppa__ || defined __mips__ || defined __sparc__
SO_DOMAIN	4137
#else
SO_DOMAIN	39
#endif

#if defined __sparc__
SO_RXQ_OVFL	36
#elif defined __hppa__
SO_RXQ_OVFL	16417
#else
SO_RXQ_OVFL	40
#endif

#if defined __sparc__
SO_WIFI_STATUS	37
#elif defined __hppa__
SO_WIFI_STATUS	16418
#else
SO_WIFI_STATUS	41
#endif

#if defined __sparc__
SO_PEEK_OFF	38
#elif defined __hppa__
SO_PEEK_OFF	16419
#else
SO_PEEK_OFF	42
#endif

#if defined __sparc__
SO_NOFCS	39
#elif defined __hppa__
SO_NOFCS	16420
#else
SO_NOFCS	43
#endif

#if defined __sparc__
SO_LOCK_FILTER	40
#elif defined __hppa__
SO_LOCK_FILTER	16421
#else
SO_LOCK_FILTER	44
#endif

#if defined __sparc__
SO_SELECT_ERR_QUEUE	41
#elif defined __hppa__
SO_SELECT_ERR_QUEUE	16422
#else
SO_SELECT_ERR_QUEUE	45
#endif

#if defined __sparc__
SO_BUSY_POLL	48
#elif defined __hppa__
SO_BUSY_POLL	16423
#else
SO_BUSY_POLL	46
#endif

#if defined __sparc__
SO_MAX_PACING_RATE	49
#elif defined __hppa__
SO_MAX_PACING_RATE	16424
#else
SO_MAX_PACING_RATE	47
#endif

#if defined __sparc__
SO_BPF_EXTENSIONS	50
#elif defined __hppa__
SO_BPF_EXTENSIONS	16425
#else
SO_BPF_EXTENSIONS	48
#endif

#if defined __sparc__
SO_INCOMING_CPU	51
#elif defined __hppa__
SO_INCOMING_CPU	16426
#else
SO_INCOMING_CPU	49
#endif

#if defined __sparc__
SO_ATTACH_BPF	52
#elif defined __hppa__
SO_ATTACH_BPF	16427
#else
SO_ATTACH_BPF	50
#endif

#if defined __sparc__
SO_ATTACH_REUSEPORT_CBPF	53
#elif defined __hppa__
SO_ATTACH_REUSEPORT_CBPF	16428
#else
SO_ATTACH_REUSEPORT_CBPF	51
#endif

#if defined __sparc__
SO_ATTACH_REUSEPORT_EBPF	54
#elif defined __hppa__
SO_ATTACH_REUSEPORT_EBPF	16429
#else
SO_ATTACH_REUSEPORT_EBPF	52
#endif

#if defined __sparc__
SO_CNX_ADVICE	55
#elif defined __hppa__
SO_CNX_ADVICE	16430
#else
SO_CNX_ADVICE	53
#endif

#if defined __sparc__
SO_MEMINFO	57
#elif defined __hppa__
SO_MEMINFO	16432
#else
SO_MEMINFO	55
#endif

#if defined __sparc__
SO_INCOMING_NAPI_ID	58
#elif defined __hppa__
SO_INCOMING_NAPI_ID	16433
#else
SO_INCOMING_NAPI_ID	56
#endif

#if defined __sparc__
SO_COOKIE	59
#elif defined __hppa__
SO_COOKIE	16434
#else
SO_COOKIE	57
#endif

#if defined __sparc__
SO_PEERGROUPS	61
#elif defined __hppa__
SO_PEERGROUPS	16436
#else
SO_PEERGROUPS	59
#endif

#if defined __sparc__
SO_ZEROCOPY	62
#elif defined __hppa__
SO_ZEROCOPY	16437
#else
SO_ZEROCOPY	60
#endif

#if defined __sparc__
SO_TXTIME	63
#elif defined __hppa__
SO_TXTIME	16438
#else
SO_TXTIME	61
#endif
