#define EPIPE 32
#define EDOM 33
#define ERANGE 34
-#define EDEADLK 35
-#define ENAMETOOLONG 36
-#define ENOLCK 37
-#define ENOSYS 38
-#define ENOTEMPTY 39
-#define ELOOP 40
-#define EWOULDBLOCK EAGAIN
-#define ENOMSG 42
-#define EIDRM 43
-#define ECHRNG 44
-#define EL2NSYNC 45
-#define EL3HLT 46
-#define EL3RST 47
-#define ELNRNG 48
-#define EUNATCH 49
-#define ENOCSI 50
-#define EL2HLT 51
-#define EBADE 52
-#define EBADR 53
-#define EXFULL 54
-#define ENOANO 55
-#define EBADRQC 56
-#define EBADSLT 57
-#define EDEADLOCK EDEADLK
+#define ENOMSG 35
+#define EIDRM 36
+#define ECHRNG 37
+#define EL2NSYNC 38
+#define EL3HLT 39
+#define EL3RST 40
+#define ELNRNG 41
+#define EUNATCH 42
+#define ENOCSI 43
+#define EL2HLT 44
+#define EDEADLK 45
+#define ENOLCK 46
+#define EBADE 50
+#define EBADR 51
+#define EXFULL 52
+#define ENOANO 53
+#define EBADRQC 54
+#define EBADSLT 55
+#define EDEADLOCK 56
#define EBFONT 59
#define ENOSTR 60
#define ENODATA 61
#define ESRMNT 69
#define ECOMM 70
#define EPROTO 71
-#define EMULTIHOP 72
#define EDOTDOT 73
-#define EBADMSG 74
-#define EOVERFLOW 75
-#define ENOTUNIQ 76
-#define EBADFD 77
-#define EREMCHG 78
-#define ELIBACC 79
-#define ELIBBAD 80
-#define ELIBSCN 81
-#define ELIBMAX 82
-#define ELIBEXEC 83
-#define EILSEQ 84
-#define ERESTART 85
-#define ESTRPIPE 86
-#define EUSERS 87
-#define ENOTSOCK 88
-#define EDESTADDRREQ 89
-#define EMSGSIZE 90
-#define EPROTOTYPE 91
-#define ENOPROTOOPT 92
-#define EPROTONOSUPPORT 93
-#define ESOCKTNOSUPPORT 94
-#define EOPNOTSUPP 95
+#define EMULTIHOP 74
+#define EBADMSG 77
+#define ENAMETOOLONG 78
+#define EOVERFLOW 79
+#define ENOTUNIQ 80
+#define EBADFD 81
+#define EREMCHG 82
+#define ELIBACC 83
+#define ELIBBAD 84
+#define ELIBSCN 85
+#define ELIBMAX 86
+#define ELIBEXEC 87
+#define EILSEQ 88
+#define ENOSYS 89
+#define ELOOP 90
+#define ERESTART 91
+#define ESTRPIPE 92
+#define ENOTEMPTY 93
+#define EUSERS 94
+#define ENOTSOCK 95
+#define EDESTADDRREQ 96
+#define EMSGSIZE 97
+#define EPROTOTYPE 98
+#define ENOPROTOOPT 99
+#define EPROTONOSUPPORT 120
+#define ESOCKTNOSUPPORT 121
+#define EOPNOTSUPP 122
#define ENOTSUP EOPNOTSUPP
-#define EPFNOSUPPORT 96
-#define EAFNOSUPPORT 97
-#define EADDRINUSE 98
-#define EADDRNOTAVAIL 99
-#define ENETDOWN 100
-#define ENETUNREACH 101
-#define ENETRESET 102
-#define ECONNABORTED 103
-#define ECONNRESET 104
-#define ENOBUFS 105
-#define EISCONN 106
-#define ENOTCONN 107
-#define ESHUTDOWN 108
-#define ETOOMANYREFS 109
-#define ETIMEDOUT 110
-#define ECONNREFUSED 111
-#define EHOSTDOWN 112
-#define EHOSTUNREACH 113
-#define EALREADY 114
-#define EINPROGRESS 115
-#define ESTALE 116
-#define EUCLEAN 117
-#define ENOTNAM 118
-#define ENAVAIL 119
-#define EISNAM 120
-#define EREMOTEIO 121
-#define EDQUOT 122
-#define ENOMEDIUM 123
-#define EMEDIUMTYPE 124
-#define ECANCELED 125
-#define ENOKEY 126
-#define EKEYEXPIRED 127
-#define EKEYREVOKED 128
-#define EKEYREJECTED 129
-#define EOWNERDEAD 130
-#define ENOTRECOVERABLE 131
-#define ERFKILL 132
+#define EPFNOSUPPORT 123
+#define EAFNOSUPPORT 124
+#define EADDRINUSE 125
+#define EADDRNOTAVAIL 126
+#define ENETDOWN 127
+#define ENETUNREACH 128
+#define ENETRESET 129
+#define ECONNABORTED 130
+#define ECONNRESET 131
+#define ENOBUFS 132
+#define EISCONN 133
+#define ENOTCONN 134
+#define EUCLEAN 135
+#define ENOTNAM 137
+#define ENAVAIL 138
+#define EISNAM 139
+#define EREMOTEIO 140
+#define EINIT 141
+#define EREMDEV 142
+#define ESHUTDOWN 143
+#define ETOOMANYREFS 144
+#define ETIMEDOUT 145
+#define ECONNREFUSED 146
+#define EHOSTDOWN 147
+#define EHOSTUNREACH 148
+#define EWOULDBLOCK EAGAIN
+#define EALREADY 149
+#define EINPROGRESS 150
+#define ESTALE 151
+#define ECANCELED 158
+#define ENOMEDIUM 159
+#define EMEDIUMTYPE 160
+#define ENOKEY 161
+#define EKEYEXPIRED 162
+#define EKEYREVOKED 163
+#define EKEYREJECTED 164
+#define EOWNERDEAD 165
+#define ENOTRECOVERABLE 166
+#define ERFKILL 167
+#define EHWPOISON 168
+#define EDQUOT 1133
#define SOCK_STREAM 2
#define SOCK_DGRAM 1
+
+#define SOL_SOCKET 65535
+
+#define SO_DEBUG 1
+#define SO_REUSEADDR 4
+#define SO_TYPE 0x1008
+#define SO_ERROR 0x1007
+#define SO_DONTROUTE 16
+#define SO_BROADCAST 32
+#define SO_SNDBUF 0x1001
+#define SO_RCVBUF 0x1002
+#define SO_KEEPALIVE 8
+#define SO_OOBINLINE 256
+
+#define SO_NO_CHECK 11
+#define SO_PRIORITY 12
+#define SO_LINGER 128
+#define SO_BSDCOMPAT 14
+#define SO_REUSEPORT 512
+#define SO_PASSCRED 17
+#define SO_PEERCRED 18
+#define SO_RCVLOWAT 0x1004
+#define SO_SNDLOWAT 0x1003
+#define SO_RCVTIMEO 0x1006
+#define SO_SNDTIMEO 0x1005
+
+#define SOCK_NONBLOCK 0200
+#define SOCK_CLOEXEC 02000000
#define SOCK_DCCP 6
#define SOCK_PACKET 10
+#ifndef SOCK_CLOEXEC
#define SOCK_CLOEXEC 02000000
#define SOCK_NONBLOCK 04000
+#endif
#define PF_UNSPEC 0
#define PF_LOCAL 1
#define AF_ALG PF_ALG
#define AF_MAX PF_MAX
+#ifndef SO_DEBUG
#define SO_DEBUG 1
#define SO_REUSEADDR 2
#define SO_TYPE 3
#define SO_SNDLOWAT 19
#define SO_RCVTIMEO 20
#define SO_SNDTIMEO 21
+#endif
+
#define SO_SECURITY_AUTHENTICATION 22
#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
#define SO_ACCEPTCONN 30
+#ifndef SOL_SOCKET
#define SOL_SOCKET 1
+#endif
#define SOL_RAW 255
#define SOL_DECNET 261