1*cda5da8dSAndroid Build Coastguard Worker #ifndef _SYS_SOCKET_H 2*cda5da8dSAndroid Build Coastguard Worker #define _SYS_SOCKET_H 3*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 4*cda5da8dSAndroid Build Coastguard Worker extern "C" { 5*cda5da8dSAndroid Build Coastguard Worker #endif 6*cda5da8dSAndroid Build Coastguard Worker 7*cda5da8dSAndroid Build Coastguard Worker #include <features.h> 8*cda5da8dSAndroid Build Coastguard Worker 9*cda5da8dSAndroid Build Coastguard Worker #define __NEED_socklen_t 10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_sa_family_t 11*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t 12*cda5da8dSAndroid Build Coastguard Worker #define __NEED_ssize_t 13*cda5da8dSAndroid Build Coastguard Worker #define __NEED_uid_t 14*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pid_t 15*cda5da8dSAndroid Build Coastguard Worker #define __NEED_gid_t 16*cda5da8dSAndroid Build Coastguard Worker #define __NEED_struct_iovec 17*cda5da8dSAndroid Build Coastguard Worker 18*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h> 19*cda5da8dSAndroid Build Coastguard Worker 20*cda5da8dSAndroid Build Coastguard Worker #include <bits/socket.h> 21*cda5da8dSAndroid Build Coastguard Worker 22*cda5da8dSAndroid Build Coastguard Worker struct msghdr { 23*cda5da8dSAndroid Build Coastguard Worker void *msg_name; 24*cda5da8dSAndroid Build Coastguard Worker socklen_t msg_namelen; 25*cda5da8dSAndroid Build Coastguard Worker struct iovec *msg_iov; 26*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN 27*cda5da8dSAndroid Build Coastguard Worker int __pad1; 28*cda5da8dSAndroid Build Coastguard Worker #endif 29*cda5da8dSAndroid Build Coastguard Worker int msg_iovlen; 30*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN 31*cda5da8dSAndroid Build Coastguard Worker int __pad1; 32*cda5da8dSAndroid Build Coastguard Worker #endif 33*cda5da8dSAndroid Build Coastguard Worker void *msg_control; 34*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN 35*cda5da8dSAndroid Build Coastguard Worker int __pad2; 36*cda5da8dSAndroid Build Coastguard Worker #endif 37*cda5da8dSAndroid Build Coastguard Worker socklen_t msg_controllen; 38*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN 39*cda5da8dSAndroid Build Coastguard Worker int __pad2; 40*cda5da8dSAndroid Build Coastguard Worker #endif 41*cda5da8dSAndroid Build Coastguard Worker int msg_flags; 42*cda5da8dSAndroid Build Coastguard Worker }; 43*cda5da8dSAndroid Build Coastguard Worker 44*cda5da8dSAndroid Build Coastguard Worker struct cmsghdr { 45*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN 46*cda5da8dSAndroid Build Coastguard Worker int __pad1; 47*cda5da8dSAndroid Build Coastguard Worker #endif 48*cda5da8dSAndroid Build Coastguard Worker socklen_t cmsg_len; 49*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN 50*cda5da8dSAndroid Build Coastguard Worker int __pad1; 51*cda5da8dSAndroid Build Coastguard Worker #endif 52*cda5da8dSAndroid Build Coastguard Worker int cmsg_level; 53*cda5da8dSAndroid Build Coastguard Worker int cmsg_type; 54*cda5da8dSAndroid Build Coastguard Worker }; 55*cda5da8dSAndroid Build Coastguard Worker 56*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE 57*cda5da8dSAndroid Build Coastguard Worker struct ucred { 58*cda5da8dSAndroid Build Coastguard Worker pid_t pid; 59*cda5da8dSAndroid Build Coastguard Worker uid_t uid; 60*cda5da8dSAndroid Build Coastguard Worker gid_t gid; 61*cda5da8dSAndroid Build Coastguard Worker }; 62*cda5da8dSAndroid Build Coastguard Worker 63*cda5da8dSAndroid Build Coastguard Worker struct mmsghdr { 64*cda5da8dSAndroid Build Coastguard Worker struct msghdr msg_hdr; 65*cda5da8dSAndroid Build Coastguard Worker unsigned int msg_len; 66*cda5da8dSAndroid Build Coastguard Worker }; 67*cda5da8dSAndroid Build Coastguard Worker 68*cda5da8dSAndroid Build Coastguard Worker struct timespec; 69*cda5da8dSAndroid Build Coastguard Worker 70*cda5da8dSAndroid Build Coastguard Worker int sendmmsg (int, struct mmsghdr *, unsigned int, unsigned int); 71*cda5da8dSAndroid Build Coastguard Worker int recvmmsg (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *); 72*cda5da8dSAndroid Build Coastguard Worker #endif 73*cda5da8dSAndroid Build Coastguard Worker 74*cda5da8dSAndroid Build Coastguard Worker struct linger { 75*cda5da8dSAndroid Build Coastguard Worker int l_onoff; 76*cda5da8dSAndroid Build Coastguard Worker int l_linger; 77*cda5da8dSAndroid Build Coastguard Worker }; 78*cda5da8dSAndroid Build Coastguard Worker 79*cda5da8dSAndroid Build Coastguard Worker #define SHUT_RD 0 80*cda5da8dSAndroid Build Coastguard Worker #define SHUT_WR 1 81*cda5da8dSAndroid Build Coastguard Worker #define SHUT_RDWR 2 82*cda5da8dSAndroid Build Coastguard Worker 83*cda5da8dSAndroid Build Coastguard Worker #ifndef SOCK_STREAM 84*cda5da8dSAndroid Build Coastguard Worker #define SOCK_STREAM 1 85*cda5da8dSAndroid Build Coastguard Worker #define SOCK_DGRAM 2 86*cda5da8dSAndroid Build Coastguard Worker #endif 87*cda5da8dSAndroid Build Coastguard Worker 88*cda5da8dSAndroid Build Coastguard Worker #define SOCK_RAW 3 89*cda5da8dSAndroid Build Coastguard Worker #define SOCK_RDM 4 90*cda5da8dSAndroid Build Coastguard Worker #define SOCK_SEQPACKET 5 91*cda5da8dSAndroid Build Coastguard Worker #define SOCK_DCCP 6 92*cda5da8dSAndroid Build Coastguard Worker #define SOCK_PACKET 10 93*cda5da8dSAndroid Build Coastguard Worker 94*cda5da8dSAndroid Build Coastguard Worker #ifndef SOCK_CLOEXEC 95*cda5da8dSAndroid Build Coastguard Worker #define SOCK_CLOEXEC 02000000 96*cda5da8dSAndroid Build Coastguard Worker #define SOCK_NONBLOCK 04000 97*cda5da8dSAndroid Build Coastguard Worker #endif 98*cda5da8dSAndroid Build Coastguard Worker 99*cda5da8dSAndroid Build Coastguard Worker #define PF_UNSPEC 0 100*cda5da8dSAndroid Build Coastguard Worker #define PF_LOCAL 1 101*cda5da8dSAndroid Build Coastguard Worker #define PF_UNIX PF_LOCAL 102*cda5da8dSAndroid Build Coastguard Worker #define PF_FILE PF_LOCAL 103*cda5da8dSAndroid Build Coastguard Worker #define PF_INET 2 104*cda5da8dSAndroid Build Coastguard Worker #define PF_AX25 3 105*cda5da8dSAndroid Build Coastguard Worker #define PF_IPX 4 106*cda5da8dSAndroid Build Coastguard Worker #define PF_APPLETALK 5 107*cda5da8dSAndroid Build Coastguard Worker #define PF_NETROM 6 108*cda5da8dSAndroid Build Coastguard Worker #define PF_BRIDGE 7 109*cda5da8dSAndroid Build Coastguard Worker #define PF_ATMPVC 8 110*cda5da8dSAndroid Build Coastguard Worker #define PF_X25 9 111*cda5da8dSAndroid Build Coastguard Worker #define PF_INET6 10 112*cda5da8dSAndroid Build Coastguard Worker #define PF_ROSE 11 113*cda5da8dSAndroid Build Coastguard Worker #define PF_DECnet 12 114*cda5da8dSAndroid Build Coastguard Worker #define PF_NETBEUI 13 115*cda5da8dSAndroid Build Coastguard Worker #define PF_SECURITY 14 116*cda5da8dSAndroid Build Coastguard Worker #define PF_KEY 15 117*cda5da8dSAndroid Build Coastguard Worker #define PF_NETLINK 16 118*cda5da8dSAndroid Build Coastguard Worker #define PF_ROUTE PF_NETLINK 119*cda5da8dSAndroid Build Coastguard Worker #define PF_PACKET 17 120*cda5da8dSAndroid Build Coastguard Worker #define PF_ASH 18 121*cda5da8dSAndroid Build Coastguard Worker #define PF_ECONET 19 122*cda5da8dSAndroid Build Coastguard Worker #define PF_ATMSVC 20 123*cda5da8dSAndroid Build Coastguard Worker #define PF_RDS 21 124*cda5da8dSAndroid Build Coastguard Worker #define PF_SNA 22 125*cda5da8dSAndroid Build Coastguard Worker #define PF_IRDA 23 126*cda5da8dSAndroid Build Coastguard Worker #define PF_PPPOX 24 127*cda5da8dSAndroid Build Coastguard Worker #define PF_WANPIPE 25 128*cda5da8dSAndroid Build Coastguard Worker #define PF_LLC 26 129*cda5da8dSAndroid Build Coastguard Worker #define PF_IB 27 130*cda5da8dSAndroid Build Coastguard Worker #define PF_MPLS 28 131*cda5da8dSAndroid Build Coastguard Worker #define PF_CAN 29 132*cda5da8dSAndroid Build Coastguard Worker #define PF_TIPC 30 133*cda5da8dSAndroid Build Coastguard Worker #define PF_BLUETOOTH 31 134*cda5da8dSAndroid Build Coastguard Worker #define PF_IUCV 32 135*cda5da8dSAndroid Build Coastguard Worker #define PF_RXRPC 33 136*cda5da8dSAndroid Build Coastguard Worker #define PF_ISDN 34 137*cda5da8dSAndroid Build Coastguard Worker #define PF_PHONET 35 138*cda5da8dSAndroid Build Coastguard Worker #define PF_IEEE802154 36 139*cda5da8dSAndroid Build Coastguard Worker #define PF_CAIF 37 140*cda5da8dSAndroid Build Coastguard Worker #define PF_ALG 38 141*cda5da8dSAndroid Build Coastguard Worker #define PF_NFC 39 142*cda5da8dSAndroid Build Coastguard Worker #define PF_VSOCK 40 143*cda5da8dSAndroid Build Coastguard Worker #define PF_KCM 41 144*cda5da8dSAndroid Build Coastguard Worker #define PF_QIPCRTR 42 145*cda5da8dSAndroid Build Coastguard Worker #define PF_SMC 43 146*cda5da8dSAndroid Build Coastguard Worker #define PF_XDP 44 147*cda5da8dSAndroid Build Coastguard Worker #define PF_MAX 45 148*cda5da8dSAndroid Build Coastguard Worker 149*cda5da8dSAndroid Build Coastguard Worker #define AF_UNSPEC PF_UNSPEC 150*cda5da8dSAndroid Build Coastguard Worker #define AF_LOCAL PF_LOCAL 151*cda5da8dSAndroid Build Coastguard Worker #define AF_UNIX AF_LOCAL 152*cda5da8dSAndroid Build Coastguard Worker #define AF_FILE AF_LOCAL 153*cda5da8dSAndroid Build Coastguard Worker #define AF_INET PF_INET 154*cda5da8dSAndroid Build Coastguard Worker #define AF_AX25 PF_AX25 155*cda5da8dSAndroid Build Coastguard Worker #define AF_IPX PF_IPX 156*cda5da8dSAndroid Build Coastguard Worker #define AF_APPLETALK PF_APPLETALK 157*cda5da8dSAndroid Build Coastguard Worker #define AF_NETROM PF_NETROM 158*cda5da8dSAndroid Build Coastguard Worker #define AF_BRIDGE PF_BRIDGE 159*cda5da8dSAndroid Build Coastguard Worker #define AF_ATMPVC PF_ATMPVC 160*cda5da8dSAndroid Build Coastguard Worker #define AF_X25 PF_X25 161*cda5da8dSAndroid Build Coastguard Worker #define AF_INET6 PF_INET6 162*cda5da8dSAndroid Build Coastguard Worker #define AF_ROSE PF_ROSE 163*cda5da8dSAndroid Build Coastguard Worker #define AF_DECnet PF_DECnet 164*cda5da8dSAndroid Build Coastguard Worker #define AF_NETBEUI PF_NETBEUI 165*cda5da8dSAndroid Build Coastguard Worker #define AF_SECURITY PF_SECURITY 166*cda5da8dSAndroid Build Coastguard Worker #define AF_KEY PF_KEY 167*cda5da8dSAndroid Build Coastguard Worker #define AF_NETLINK PF_NETLINK 168*cda5da8dSAndroid Build Coastguard Worker #define AF_ROUTE PF_ROUTE 169*cda5da8dSAndroid Build Coastguard Worker #define AF_PACKET PF_PACKET 170*cda5da8dSAndroid Build Coastguard Worker #define AF_ASH PF_ASH 171*cda5da8dSAndroid Build Coastguard Worker #define AF_ECONET PF_ECONET 172*cda5da8dSAndroid Build Coastguard Worker #define AF_ATMSVC PF_ATMSVC 173*cda5da8dSAndroid Build Coastguard Worker #define AF_RDS PF_RDS 174*cda5da8dSAndroid Build Coastguard Worker #define AF_SNA PF_SNA 175*cda5da8dSAndroid Build Coastguard Worker #define AF_IRDA PF_IRDA 176*cda5da8dSAndroid Build Coastguard Worker #define AF_PPPOX PF_PPPOX 177*cda5da8dSAndroid Build Coastguard Worker #define AF_WANPIPE PF_WANPIPE 178*cda5da8dSAndroid Build Coastguard Worker #define AF_LLC PF_LLC 179*cda5da8dSAndroid Build Coastguard Worker #define AF_IB PF_IB 180*cda5da8dSAndroid Build Coastguard Worker #define AF_MPLS PF_MPLS 181*cda5da8dSAndroid Build Coastguard Worker #define AF_CAN PF_CAN 182*cda5da8dSAndroid Build Coastguard Worker #define AF_TIPC PF_TIPC 183*cda5da8dSAndroid Build Coastguard Worker #define AF_BLUETOOTH PF_BLUETOOTH 184*cda5da8dSAndroid Build Coastguard Worker #define AF_IUCV PF_IUCV 185*cda5da8dSAndroid Build Coastguard Worker #define AF_RXRPC PF_RXRPC 186*cda5da8dSAndroid Build Coastguard Worker #define AF_ISDN PF_ISDN 187*cda5da8dSAndroid Build Coastguard Worker #define AF_PHONET PF_PHONET 188*cda5da8dSAndroid Build Coastguard Worker #define AF_IEEE802154 PF_IEEE802154 189*cda5da8dSAndroid Build Coastguard Worker #define AF_CAIF PF_CAIF 190*cda5da8dSAndroid Build Coastguard Worker #define AF_ALG PF_ALG 191*cda5da8dSAndroid Build Coastguard Worker #define AF_NFC PF_NFC 192*cda5da8dSAndroid Build Coastguard Worker #define AF_VSOCK PF_VSOCK 193*cda5da8dSAndroid Build Coastguard Worker #define AF_KCM PF_KCM 194*cda5da8dSAndroid Build Coastguard Worker #define AF_QIPCRTR PF_QIPCRTR 195*cda5da8dSAndroid Build Coastguard Worker #define AF_SMC PF_SMC 196*cda5da8dSAndroid Build Coastguard Worker #define AF_XDP PF_XDP 197*cda5da8dSAndroid Build Coastguard Worker #define AF_MAX PF_MAX 198*cda5da8dSAndroid Build Coastguard Worker 199*cda5da8dSAndroid Build Coastguard Worker #ifndef SO_DEBUG 200*cda5da8dSAndroid Build Coastguard Worker #define SO_DEBUG 1 201*cda5da8dSAndroid Build Coastguard Worker #define SO_REUSEADDR 2 202*cda5da8dSAndroid Build Coastguard Worker #define SO_TYPE 3 203*cda5da8dSAndroid Build Coastguard Worker #define SO_ERROR 4 204*cda5da8dSAndroid Build Coastguard Worker #define SO_DONTROUTE 5 205*cda5da8dSAndroid Build Coastguard Worker #define SO_BROADCAST 6 206*cda5da8dSAndroid Build Coastguard Worker #define SO_SNDBUF 7 207*cda5da8dSAndroid Build Coastguard Worker #define SO_RCVBUF 8 208*cda5da8dSAndroid Build Coastguard Worker #define SO_KEEPALIVE 9 209*cda5da8dSAndroid Build Coastguard Worker #define SO_OOBINLINE 10 210*cda5da8dSAndroid Build Coastguard Worker #define SO_NO_CHECK 11 211*cda5da8dSAndroid Build Coastguard Worker #define SO_PRIORITY 12 212*cda5da8dSAndroid Build Coastguard Worker #define SO_LINGER 13 213*cda5da8dSAndroid Build Coastguard Worker #define SO_BSDCOMPAT 14 214*cda5da8dSAndroid Build Coastguard Worker #define SO_REUSEPORT 15 215*cda5da8dSAndroid Build Coastguard Worker #define SO_PASSCRED 16 216*cda5da8dSAndroid Build Coastguard Worker #define SO_PEERCRED 17 217*cda5da8dSAndroid Build Coastguard Worker #define SO_RCVLOWAT 18 218*cda5da8dSAndroid Build Coastguard Worker #define SO_SNDLOWAT 19 219*cda5da8dSAndroid Build Coastguard Worker #define SO_ACCEPTCONN 30 220*cda5da8dSAndroid Build Coastguard Worker #define SO_PEERSEC 31 221*cda5da8dSAndroid Build Coastguard Worker #define SO_SNDBUFFORCE 32 222*cda5da8dSAndroid Build Coastguard Worker #define SO_RCVBUFFORCE 33 223*cda5da8dSAndroid Build Coastguard Worker #define SO_PROTOCOL 38 224*cda5da8dSAndroid Build Coastguard Worker #define SO_DOMAIN 39 225*cda5da8dSAndroid Build Coastguard Worker #endif 226*cda5da8dSAndroid Build Coastguard Worker 227*cda5da8dSAndroid Build Coastguard Worker #ifndef SO_RCVTIMEO 228*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX == 0x7fffffff 229*cda5da8dSAndroid Build Coastguard Worker #define SO_RCVTIMEO 66 230*cda5da8dSAndroid Build Coastguard Worker #define SO_SNDTIMEO 67 231*cda5da8dSAndroid Build Coastguard Worker #else 232*cda5da8dSAndroid Build Coastguard Worker #define SO_RCVTIMEO 20 233*cda5da8dSAndroid Build Coastguard Worker #define SO_SNDTIMEO 21 234*cda5da8dSAndroid Build Coastguard Worker #endif 235*cda5da8dSAndroid Build Coastguard Worker #endif 236*cda5da8dSAndroid Build Coastguard Worker 237*cda5da8dSAndroid Build Coastguard Worker #ifndef SO_TIMESTAMP 238*cda5da8dSAndroid Build Coastguard Worker #if __LONG_MAX == 0x7fffffff 239*cda5da8dSAndroid Build Coastguard Worker #define SO_TIMESTAMP 63 240*cda5da8dSAndroid Build Coastguard Worker #define SO_TIMESTAMPNS 64 241*cda5da8dSAndroid Build Coastguard Worker #define SO_TIMESTAMPING 65 242*cda5da8dSAndroid Build Coastguard Worker #else 243*cda5da8dSAndroid Build Coastguard Worker #define SO_TIMESTAMP 29 244*cda5da8dSAndroid Build Coastguard Worker #define SO_TIMESTAMPNS 35 245*cda5da8dSAndroid Build Coastguard Worker #define SO_TIMESTAMPING 37 246*cda5da8dSAndroid Build Coastguard Worker #endif 247*cda5da8dSAndroid Build Coastguard Worker #endif 248*cda5da8dSAndroid Build Coastguard Worker 249*cda5da8dSAndroid Build Coastguard Worker #define SO_SECURITY_AUTHENTICATION 22 250*cda5da8dSAndroid Build Coastguard Worker #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 251*cda5da8dSAndroid Build Coastguard Worker #define SO_SECURITY_ENCRYPTION_NETWORK 24 252*cda5da8dSAndroid Build Coastguard Worker 253*cda5da8dSAndroid Build Coastguard Worker #define SO_BINDTODEVICE 25 254*cda5da8dSAndroid Build Coastguard Worker 255*cda5da8dSAndroid Build Coastguard Worker #define SO_ATTACH_FILTER 26 256*cda5da8dSAndroid Build Coastguard Worker #define SO_DETACH_FILTER 27 257*cda5da8dSAndroid Build Coastguard Worker #define SO_GET_FILTER SO_ATTACH_FILTER 258*cda5da8dSAndroid Build Coastguard Worker 259*cda5da8dSAndroid Build Coastguard Worker #define SO_PEERNAME 28 260*cda5da8dSAndroid Build Coastguard Worker #define SCM_TIMESTAMP SO_TIMESTAMP 261*cda5da8dSAndroid Build Coastguard Worker #define SO_PASSSEC 34 262*cda5da8dSAndroid Build Coastguard Worker #define SCM_TIMESTAMPNS SO_TIMESTAMPNS 263*cda5da8dSAndroid Build Coastguard Worker #define SO_MARK 36 264*cda5da8dSAndroid Build Coastguard Worker #define SCM_TIMESTAMPING SO_TIMESTAMPING 265*cda5da8dSAndroid Build Coastguard Worker #define SO_RXQ_OVFL 40 266*cda5da8dSAndroid Build Coastguard Worker #define SO_WIFI_STATUS 41 267*cda5da8dSAndroid Build Coastguard Worker #define SCM_WIFI_STATUS SO_WIFI_STATUS 268*cda5da8dSAndroid Build Coastguard Worker #define SO_PEEK_OFF 42 269*cda5da8dSAndroid Build Coastguard Worker #define SO_NOFCS 43 270*cda5da8dSAndroid Build Coastguard Worker #define SO_LOCK_FILTER 44 271*cda5da8dSAndroid Build Coastguard Worker #define SO_SELECT_ERR_QUEUE 45 272*cda5da8dSAndroid Build Coastguard Worker #define SO_BUSY_POLL 46 273*cda5da8dSAndroid Build Coastguard Worker #define SO_MAX_PACING_RATE 47 274*cda5da8dSAndroid Build Coastguard Worker #define SO_BPF_EXTENSIONS 48 275*cda5da8dSAndroid Build Coastguard Worker #define SO_INCOMING_CPU 49 276*cda5da8dSAndroid Build Coastguard Worker #define SO_ATTACH_BPF 50 277*cda5da8dSAndroid Build Coastguard Worker #define SO_DETACH_BPF SO_DETACH_FILTER 278*cda5da8dSAndroid Build Coastguard Worker #define SO_ATTACH_REUSEPORT_CBPF 51 279*cda5da8dSAndroid Build Coastguard Worker #define SO_ATTACH_REUSEPORT_EBPF 52 280*cda5da8dSAndroid Build Coastguard Worker #define SO_CNX_ADVICE 53 281*cda5da8dSAndroid Build Coastguard Worker #define SCM_TIMESTAMPING_OPT_STATS 54 282*cda5da8dSAndroid Build Coastguard Worker #define SO_MEMINFO 55 283*cda5da8dSAndroid Build Coastguard Worker #define SO_INCOMING_NAPI_ID 56 284*cda5da8dSAndroid Build Coastguard Worker #define SO_COOKIE 57 285*cda5da8dSAndroid Build Coastguard Worker #define SCM_TIMESTAMPING_PKTINFO 58 286*cda5da8dSAndroid Build Coastguard Worker #define SO_PEERGROUPS 59 287*cda5da8dSAndroid Build Coastguard Worker #define SO_ZEROCOPY 60 288*cda5da8dSAndroid Build Coastguard Worker #define SO_TXTIME 61 289*cda5da8dSAndroid Build Coastguard Worker #define SCM_TXTIME SO_TXTIME 290*cda5da8dSAndroid Build Coastguard Worker #define SO_BINDTOIFINDEX 62 291*cda5da8dSAndroid Build Coastguard Worker #define SO_DETACH_REUSEPORT_BPF 68 292*cda5da8dSAndroid Build Coastguard Worker #define SO_PREFER_BUSY_POLL 69 293*cda5da8dSAndroid Build Coastguard Worker #define SO_BUSY_POLL_BUDGET 70 294*cda5da8dSAndroid Build Coastguard Worker 295*cda5da8dSAndroid Build Coastguard Worker #ifndef SOL_SOCKET 296*cda5da8dSAndroid Build Coastguard Worker #define SOL_SOCKET 1 297*cda5da8dSAndroid Build Coastguard Worker #endif 298*cda5da8dSAndroid Build Coastguard Worker 299*cda5da8dSAndroid Build Coastguard Worker #define SOL_IP 0 300*cda5da8dSAndroid Build Coastguard Worker #define SOL_IPV6 41 301*cda5da8dSAndroid Build Coastguard Worker #define SOL_ICMPV6 58 302*cda5da8dSAndroid Build Coastguard Worker 303*cda5da8dSAndroid Build Coastguard Worker #define SOL_RAW 255 304*cda5da8dSAndroid Build Coastguard Worker #define SOL_DECNET 261 305*cda5da8dSAndroid Build Coastguard Worker #define SOL_X25 262 306*cda5da8dSAndroid Build Coastguard Worker #define SOL_PACKET 263 307*cda5da8dSAndroid Build Coastguard Worker #define SOL_ATM 264 308*cda5da8dSAndroid Build Coastguard Worker #define SOL_AAL 265 309*cda5da8dSAndroid Build Coastguard Worker #define SOL_IRDA 266 310*cda5da8dSAndroid Build Coastguard Worker #define SOL_NETBEUI 267 311*cda5da8dSAndroid Build Coastguard Worker #define SOL_LLC 268 312*cda5da8dSAndroid Build Coastguard Worker #define SOL_DCCP 269 313*cda5da8dSAndroid Build Coastguard Worker #define SOL_NETLINK 270 314*cda5da8dSAndroid Build Coastguard Worker #define SOL_TIPC 271 315*cda5da8dSAndroid Build Coastguard Worker #define SOL_RXRPC 272 316*cda5da8dSAndroid Build Coastguard Worker #define SOL_PPPOL2TP 273 317*cda5da8dSAndroid Build Coastguard Worker #define SOL_BLUETOOTH 274 318*cda5da8dSAndroid Build Coastguard Worker #define SOL_PNPIPE 275 319*cda5da8dSAndroid Build Coastguard Worker #define SOL_RDS 276 320*cda5da8dSAndroid Build Coastguard Worker #define SOL_IUCV 277 321*cda5da8dSAndroid Build Coastguard Worker #define SOL_CAIF 278 322*cda5da8dSAndroid Build Coastguard Worker #define SOL_ALG 279 323*cda5da8dSAndroid Build Coastguard Worker #define SOL_NFC 280 324*cda5da8dSAndroid Build Coastguard Worker #define SOL_KCM 281 325*cda5da8dSAndroid Build Coastguard Worker #define SOL_TLS 282 326*cda5da8dSAndroid Build Coastguard Worker #define SOL_XDP 283 327*cda5da8dSAndroid Build Coastguard Worker 328*cda5da8dSAndroid Build Coastguard Worker #define SOMAXCONN 128 329*cda5da8dSAndroid Build Coastguard Worker 330*cda5da8dSAndroid Build Coastguard Worker #define MSG_OOB 0x0001 331*cda5da8dSAndroid Build Coastguard Worker #define MSG_PEEK 0x0002 332*cda5da8dSAndroid Build Coastguard Worker #define MSG_DONTROUTE 0x0004 333*cda5da8dSAndroid Build Coastguard Worker #define MSG_CTRUNC 0x0008 334*cda5da8dSAndroid Build Coastguard Worker #define MSG_PROXY 0x0010 335*cda5da8dSAndroid Build Coastguard Worker #define MSG_TRUNC 0x0020 336*cda5da8dSAndroid Build Coastguard Worker #define MSG_DONTWAIT 0x0040 337*cda5da8dSAndroid Build Coastguard Worker #define MSG_EOR 0x0080 338*cda5da8dSAndroid Build Coastguard Worker #define MSG_WAITALL 0x0100 339*cda5da8dSAndroid Build Coastguard Worker #define MSG_FIN 0x0200 340*cda5da8dSAndroid Build Coastguard Worker #define MSG_SYN 0x0400 341*cda5da8dSAndroid Build Coastguard Worker #define MSG_CONFIRM 0x0800 342*cda5da8dSAndroid Build Coastguard Worker #define MSG_RST 0x1000 343*cda5da8dSAndroid Build Coastguard Worker #define MSG_ERRQUEUE 0x2000 344*cda5da8dSAndroid Build Coastguard Worker #define MSG_NOSIGNAL 0x4000 345*cda5da8dSAndroid Build Coastguard Worker #define MSG_MORE 0x8000 346*cda5da8dSAndroid Build Coastguard Worker #define MSG_WAITFORONE 0x10000 347*cda5da8dSAndroid Build Coastguard Worker #define MSG_BATCH 0x40000 348*cda5da8dSAndroid Build Coastguard Worker #define MSG_ZEROCOPY 0x4000000 349*cda5da8dSAndroid Build Coastguard Worker #define MSG_FASTOPEN 0x20000000 350*cda5da8dSAndroid Build Coastguard Worker #define MSG_CMSG_CLOEXEC 0x40000000 351*cda5da8dSAndroid Build Coastguard Worker 352*cda5da8dSAndroid Build Coastguard Worker #define __CMSG_LEN(cmsg) (((cmsg)->cmsg_len + sizeof(long) - 1) & ~(long)(sizeof(long) - 1)) 353*cda5da8dSAndroid Build Coastguard Worker #define __CMSG_NEXT(cmsg) ((unsigned char *)(cmsg) + __CMSG_LEN(cmsg)) 354*cda5da8dSAndroid Build Coastguard Worker #define __MHDR_END(mhdr) ((unsigned char *)(mhdr)->msg_control + (mhdr)->msg_controllen) 355*cda5da8dSAndroid Build Coastguard Worker 356*cda5da8dSAndroid Build Coastguard Worker #define CMSG_DATA(cmsg) ((unsigned char *) (((struct cmsghdr *)(cmsg)) + 1)) 357*cda5da8dSAndroid Build Coastguard Worker #define CMSG_NXTHDR(mhdr, cmsg) ((cmsg)->cmsg_len < sizeof (struct cmsghdr) || \ 358*cda5da8dSAndroid Build Coastguard Worker __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= (size_t)(__MHDR_END(mhdr) - (unsigned char *)(cmsg)) \ 359*cda5da8dSAndroid Build Coastguard Worker ? 0 : (struct cmsghdr *)__CMSG_NEXT(cmsg)) 360*cda5da8dSAndroid Build Coastguard Worker #define CMSG_FIRSTHDR(mhdr) ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0) 361*cda5da8dSAndroid Build Coastguard Worker 362*cda5da8dSAndroid Build Coastguard Worker #define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) 363*cda5da8dSAndroid Build Coastguard Worker #define CMSG_SPACE(len) (CMSG_ALIGN (len) + CMSG_ALIGN (sizeof (struct cmsghdr))) 364*cda5da8dSAndroid Build Coastguard Worker #define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) 365*cda5da8dSAndroid Build Coastguard Worker 366*cda5da8dSAndroid Build Coastguard Worker #define SCM_RIGHTS 0x01 367*cda5da8dSAndroid Build Coastguard Worker #define SCM_CREDENTIALS 0x02 368*cda5da8dSAndroid Build Coastguard Worker 369*cda5da8dSAndroid Build Coastguard Worker struct sockaddr { 370*cda5da8dSAndroid Build Coastguard Worker sa_family_t sa_family; 371*cda5da8dSAndroid Build Coastguard Worker char sa_data[14]; 372*cda5da8dSAndroid Build Coastguard Worker }; 373*cda5da8dSAndroid Build Coastguard Worker 374*cda5da8dSAndroid Build Coastguard Worker #include <bits/sockaddr_storage.h> 375*cda5da8dSAndroid Build Coastguard Worker 376*cda5da8dSAndroid Build Coastguard Worker int socket (int, int, int); 377*cda5da8dSAndroid Build Coastguard Worker int socketpair (int, int, int, int [2]); 378*cda5da8dSAndroid Build Coastguard Worker 379*cda5da8dSAndroid Build Coastguard Worker int shutdown (int, int); 380*cda5da8dSAndroid Build Coastguard Worker 381*cda5da8dSAndroid Build Coastguard Worker int bind (int, const struct sockaddr *, socklen_t); 382*cda5da8dSAndroid Build Coastguard Worker int connect (int, const struct sockaddr *, socklen_t); 383*cda5da8dSAndroid Build Coastguard Worker int listen (int, int); 384*cda5da8dSAndroid Build Coastguard Worker int accept (int, struct sockaddr *__restrict, socklen_t *__restrict); 385*cda5da8dSAndroid Build Coastguard Worker int accept4(int, struct sockaddr *__restrict, socklen_t *__restrict, int); 386*cda5da8dSAndroid Build Coastguard Worker 387*cda5da8dSAndroid Build Coastguard Worker int getsockname (int, struct sockaddr *__restrict, socklen_t *__restrict); 388*cda5da8dSAndroid Build Coastguard Worker int getpeername (int, struct sockaddr *__restrict, socklen_t *__restrict); 389*cda5da8dSAndroid Build Coastguard Worker 390*cda5da8dSAndroid Build Coastguard Worker ssize_t send (int, const void *, size_t, int); 391*cda5da8dSAndroid Build Coastguard Worker ssize_t recv (int, void *, size_t, int); 392*cda5da8dSAndroid Build Coastguard Worker ssize_t sendto (int, const void *, size_t, int, const struct sockaddr *, socklen_t); 393*cda5da8dSAndroid Build Coastguard Worker ssize_t recvfrom (int, void *__restrict, size_t, int, struct sockaddr *__restrict, socklen_t *__restrict); 394*cda5da8dSAndroid Build Coastguard Worker ssize_t sendmsg (int, const struct msghdr *, int); 395*cda5da8dSAndroid Build Coastguard Worker ssize_t recvmsg (int, struct msghdr *, int); 396*cda5da8dSAndroid Build Coastguard Worker 397*cda5da8dSAndroid Build Coastguard Worker int getsockopt (int, int, int, void *__restrict, socklen_t *__restrict); 398*cda5da8dSAndroid Build Coastguard Worker int setsockopt (int, int, int, const void *, socklen_t); 399*cda5da8dSAndroid Build Coastguard Worker 400*cda5da8dSAndroid Build Coastguard Worker int sockatmark (int); 401*cda5da8dSAndroid Build Coastguard Worker 402*cda5da8dSAndroid Build Coastguard Worker #if _REDIR_TIME64 403*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE 404*cda5da8dSAndroid Build Coastguard Worker __REDIR(recvmmsg, __recvmmsg_time64); 405*cda5da8dSAndroid Build Coastguard Worker #endif 406*cda5da8dSAndroid Build Coastguard Worker #endif 407*cda5da8dSAndroid Build Coastguard Worker 408*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus 409*cda5da8dSAndroid Build Coastguard Worker } 410*cda5da8dSAndroid Build Coastguard Worker #endif 411*cda5da8dSAndroid Build Coastguard Worker #endif 412