1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * Copyright (C) 2008 The Android Open Source Project 3*8d67ca89SAndroid Build Coastguard Worker * All rights reserved. 4*8d67ca89SAndroid Build Coastguard Worker * 5*8d67ca89SAndroid Build Coastguard Worker * Redistribution and use in source and binary forms, with or without 6*8d67ca89SAndroid Build Coastguard Worker * modification, are permitted provided that the following conditions 7*8d67ca89SAndroid Build Coastguard Worker * are met: 8*8d67ca89SAndroid Build Coastguard Worker * * Redistributions of source code must retain the above copyright 9*8d67ca89SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer. 10*8d67ca89SAndroid Build Coastguard Worker * * Redistributions in binary form must reproduce the above copyright 11*8d67ca89SAndroid Build Coastguard Worker * notice, this list of conditions and the following disclaimer in 12*8d67ca89SAndroid Build Coastguard Worker * the documentation and/or other materials provided with the 13*8d67ca89SAndroid Build Coastguard Worker * distribution. 14*8d67ca89SAndroid Build Coastguard Worker * 15*8d67ca89SAndroid Build Coastguard Worker * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16*8d67ca89SAndroid Build Coastguard Worker * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17*8d67ca89SAndroid Build Coastguard Worker * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 18*8d67ca89SAndroid Build Coastguard Worker * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 19*8d67ca89SAndroid Build Coastguard Worker * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 20*8d67ca89SAndroid Build Coastguard Worker * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 21*8d67ca89SAndroid Build Coastguard Worker * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 22*8d67ca89SAndroid Build Coastguard Worker * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 23*8d67ca89SAndroid Build Coastguard Worker * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24*8d67ca89SAndroid Build Coastguard Worker * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 25*8d67ca89SAndroid Build Coastguard Worker * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26*8d67ca89SAndroid Build Coastguard Worker * SUCH DAMAGE. 27*8d67ca89SAndroid Build Coastguard Worker */ 28*8d67ca89SAndroid Build Coastguard Worker 29*8d67ca89SAndroid Build Coastguard Worker #ifndef _SYS_SOCKET_H_ 30*8d67ca89SAndroid Build Coastguard Worker #define _SYS_SOCKET_H_ 31*8d67ca89SAndroid Build Coastguard Worker 32*8d67ca89SAndroid Build Coastguard Worker #include <sys/cdefs.h> 33*8d67ca89SAndroid Build Coastguard Worker #include <sys/types.h> 34*8d67ca89SAndroid Build Coastguard Worker 35*8d67ca89SAndroid Build Coastguard Worker #include <asm/fcntl.h> 36*8d67ca89SAndroid Build Coastguard Worker #include <asm/socket.h> 37*8d67ca89SAndroid Build Coastguard Worker #include <linux/sockios.h> 38*8d67ca89SAndroid Build Coastguard Worker #include <linux/uio.h> 39*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 40*8d67ca89SAndroid Build Coastguard Worker #include <linux/compiler.h> 41*8d67ca89SAndroid Build Coastguard Worker 42*8d67ca89SAndroid Build Coastguard Worker #include <bits/sockaddr_storage.h> 43*8d67ca89SAndroid Build Coastguard Worker #include <bits/sa_family_t.h> 44*8d67ca89SAndroid Build Coastguard Worker 45*8d67ca89SAndroid Build Coastguard Worker __BEGIN_DECLS 46*8d67ca89SAndroid Build Coastguard Worker 47*8d67ca89SAndroid Build Coastguard Worker struct timespec; 48*8d67ca89SAndroid Build Coastguard Worker 49*8d67ca89SAndroid Build Coastguard Worker #define SOCK_STREAM 1 50*8d67ca89SAndroid Build Coastguard Worker #define SOCK_DGRAM 2 51*8d67ca89SAndroid Build Coastguard Worker #define SOCK_RAW 3 52*8d67ca89SAndroid Build Coastguard Worker #define SOCK_RDM 4 53*8d67ca89SAndroid Build Coastguard Worker #define SOCK_SEQPACKET 5 54*8d67ca89SAndroid Build Coastguard Worker #define SOCK_DCCP 6 55*8d67ca89SAndroid Build Coastguard Worker #define SOCK_PACKET 10 56*8d67ca89SAndroid Build Coastguard Worker 57*8d67ca89SAndroid Build Coastguard Worker #define SOCK_CLOEXEC O_CLOEXEC 58*8d67ca89SAndroid Build Coastguard Worker #define SOCK_NONBLOCK O_NONBLOCK 59*8d67ca89SAndroid Build Coastguard Worker 60*8d67ca89SAndroid Build Coastguard Worker enum { 61*8d67ca89SAndroid Build Coastguard Worker SHUT_RD = 0, 62*8d67ca89SAndroid Build Coastguard Worker #define SHUT_RD SHUT_RD 63*8d67ca89SAndroid Build Coastguard Worker SHUT_WR, 64*8d67ca89SAndroid Build Coastguard Worker #define SHUT_WR SHUT_WR 65*8d67ca89SAndroid Build Coastguard Worker SHUT_RDWR 66*8d67ca89SAndroid Build Coastguard Worker #define SHUT_RDWR SHUT_RDWR 67*8d67ca89SAndroid Build Coastguard Worker }; 68*8d67ca89SAndroid Build Coastguard Worker 69*8d67ca89SAndroid Build Coastguard Worker struct sockaddr { 70*8d67ca89SAndroid Build Coastguard Worker sa_family_t sa_family; 71*8d67ca89SAndroid Build Coastguard Worker char sa_data[14]; 72*8d67ca89SAndroid Build Coastguard Worker }; 73*8d67ca89SAndroid Build Coastguard Worker 74*8d67ca89SAndroid Build Coastguard Worker #pragma clang diagnostic push 75*8d67ca89SAndroid Build Coastguard Worker #pragma clang diagnostic ignored "-Wnullability-completeness" 76*8d67ca89SAndroid Build Coastguard Worker 77*8d67ca89SAndroid Build Coastguard Worker struct linger { 78*8d67ca89SAndroid Build Coastguard Worker int l_onoff; 79*8d67ca89SAndroid Build Coastguard Worker int l_linger; 80*8d67ca89SAndroid Build Coastguard Worker }; 81*8d67ca89SAndroid Build Coastguard Worker 82*8d67ca89SAndroid Build Coastguard Worker struct msghdr { 83*8d67ca89SAndroid Build Coastguard Worker void* msg_name; 84*8d67ca89SAndroid Build Coastguard Worker socklen_t msg_namelen; 85*8d67ca89SAndroid Build Coastguard Worker struct iovec* msg_iov; 86*8d67ca89SAndroid Build Coastguard Worker size_t msg_iovlen; 87*8d67ca89SAndroid Build Coastguard Worker void* msg_control; 88*8d67ca89SAndroid Build Coastguard Worker size_t msg_controllen; 89*8d67ca89SAndroid Build Coastguard Worker int msg_flags; 90*8d67ca89SAndroid Build Coastguard Worker }; 91*8d67ca89SAndroid Build Coastguard Worker 92*8d67ca89SAndroid Build Coastguard Worker struct mmsghdr { 93*8d67ca89SAndroid Build Coastguard Worker struct msghdr msg_hdr; 94*8d67ca89SAndroid Build Coastguard Worker unsigned int msg_len; 95*8d67ca89SAndroid Build Coastguard Worker }; 96*8d67ca89SAndroid Build Coastguard Worker 97*8d67ca89SAndroid Build Coastguard Worker struct cmsghdr { 98*8d67ca89SAndroid Build Coastguard Worker size_t cmsg_len; 99*8d67ca89SAndroid Build Coastguard Worker int cmsg_level; 100*8d67ca89SAndroid Build Coastguard Worker int cmsg_type; 101*8d67ca89SAndroid Build Coastguard Worker }; 102*8d67ca89SAndroid Build Coastguard Worker 103*8d67ca89SAndroid Build Coastguard Worker #pragma clang diagnostic pop 104*8d67ca89SAndroid Build Coastguard Worker 105*8d67ca89SAndroid Build Coastguard Worker #define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr((mhdr), (cmsg)) 106*8d67ca89SAndroid Build Coastguard Worker #define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) ) 107*8d67ca89SAndroid Build Coastguard Worker #define CMSG_DATA(cmsg) (((unsigned char*)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr)))) 108*8d67ca89SAndroid Build Coastguard Worker #define CMSG_SPACE(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(len)) 109*8d67ca89SAndroid Build Coastguard Worker #define CMSG_LEN(len) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (len)) 110*8d67ca89SAndroid Build Coastguard Worker #define CMSG_FIRSTHDR(msg) \ 111*8d67ca89SAndroid Build Coastguard Worker ((msg)->msg_controllen >= sizeof(struct cmsghdr) \ 112*8d67ca89SAndroid Build Coastguard Worker ? (struct cmsghdr*) (msg)->msg_control : (struct cmsghdr*) NULL) 113*8d67ca89SAndroid Build Coastguard Worker #define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && (cmsg)->cmsg_len <= (unsigned long) ((mhdr)->msg_controllen - ((char*)(cmsg) - (char*)(mhdr)->msg_control))) 114*8d67ca89SAndroid Build Coastguard Worker 115*8d67ca89SAndroid Build Coastguard Worker struct cmsghdr* _Nullable __cmsg_nxthdr(struct msghdr* _Nonnull __msg, struct cmsghdr* _Nonnull __cmsg); 116*8d67ca89SAndroid Build Coastguard Worker 117*8d67ca89SAndroid Build Coastguard Worker #define SCM_RIGHTS 0x01 118*8d67ca89SAndroid Build Coastguard Worker #define SCM_CREDENTIALS 0x02 119*8d67ca89SAndroid Build Coastguard Worker #define SCM_SECURITY 0x03 120*8d67ca89SAndroid Build Coastguard Worker 121*8d67ca89SAndroid Build Coastguard Worker struct ucred { 122*8d67ca89SAndroid Build Coastguard Worker pid_t pid; 123*8d67ca89SAndroid Build Coastguard Worker uid_t uid; 124*8d67ca89SAndroid Build Coastguard Worker gid_t gid; 125*8d67ca89SAndroid Build Coastguard Worker }; 126*8d67ca89SAndroid Build Coastguard Worker 127*8d67ca89SAndroid Build Coastguard Worker #define AF_UNSPEC 0 128*8d67ca89SAndroid Build Coastguard Worker #define AF_UNIX 1 129*8d67ca89SAndroid Build Coastguard Worker #define AF_LOCAL 1 130*8d67ca89SAndroid Build Coastguard Worker #define AF_INET 2 131*8d67ca89SAndroid Build Coastguard Worker #define AF_AX25 3 132*8d67ca89SAndroid Build Coastguard Worker #define AF_IPX 4 133*8d67ca89SAndroid Build Coastguard Worker #define AF_APPLETALK 5 134*8d67ca89SAndroid Build Coastguard Worker #define AF_NETROM 6 135*8d67ca89SAndroid Build Coastguard Worker #define AF_BRIDGE 7 136*8d67ca89SAndroid Build Coastguard Worker #define AF_ATMPVC 8 137*8d67ca89SAndroid Build Coastguard Worker #define AF_X25 9 138*8d67ca89SAndroid Build Coastguard Worker #define AF_INET6 10 139*8d67ca89SAndroid Build Coastguard Worker #define AF_ROSE 11 140*8d67ca89SAndroid Build Coastguard Worker #define AF_DECnet 12 141*8d67ca89SAndroid Build Coastguard Worker #define AF_NETBEUI 13 142*8d67ca89SAndroid Build Coastguard Worker #define AF_SECURITY 14 143*8d67ca89SAndroid Build Coastguard Worker #define AF_KEY 15 144*8d67ca89SAndroid Build Coastguard Worker #define AF_NETLINK 16 145*8d67ca89SAndroid Build Coastguard Worker #define AF_ROUTE AF_NETLINK 146*8d67ca89SAndroid Build Coastguard Worker #define AF_PACKET 17 147*8d67ca89SAndroid Build Coastguard Worker #define AF_ASH 18 148*8d67ca89SAndroid Build Coastguard Worker #define AF_ECONET 19 149*8d67ca89SAndroid Build Coastguard Worker #define AF_ATMSVC 20 150*8d67ca89SAndroid Build Coastguard Worker #define AF_RDS 21 151*8d67ca89SAndroid Build Coastguard Worker #define AF_SNA 22 152*8d67ca89SAndroid Build Coastguard Worker #define AF_IRDA 23 153*8d67ca89SAndroid Build Coastguard Worker #define AF_PPPOX 24 154*8d67ca89SAndroid Build Coastguard Worker #define AF_WANPIPE 25 155*8d67ca89SAndroid Build Coastguard Worker #define AF_LLC 26 156*8d67ca89SAndroid Build Coastguard Worker #define AF_CAN 29 157*8d67ca89SAndroid Build Coastguard Worker #define AF_TIPC 30 158*8d67ca89SAndroid Build Coastguard Worker #define AF_BLUETOOTH 31 159*8d67ca89SAndroid Build Coastguard Worker #define AF_IUCV 32 160*8d67ca89SAndroid Build Coastguard Worker #define AF_RXRPC 33 161*8d67ca89SAndroid Build Coastguard Worker #define AF_ISDN 34 162*8d67ca89SAndroid Build Coastguard Worker #define AF_PHONET 35 163*8d67ca89SAndroid Build Coastguard Worker #define AF_IEEE802154 36 164*8d67ca89SAndroid Build Coastguard Worker #define AF_CAIF 37 165*8d67ca89SAndroid Build Coastguard Worker #define AF_ALG 38 166*8d67ca89SAndroid Build Coastguard Worker #define AF_NFC 39 167*8d67ca89SAndroid Build Coastguard Worker #define AF_VSOCK 40 168*8d67ca89SAndroid Build Coastguard Worker #define AF_KCM 41 169*8d67ca89SAndroid Build Coastguard Worker #define AF_QIPCRTR 42 170*8d67ca89SAndroid Build Coastguard Worker #define AF_MAX 43 171*8d67ca89SAndroid Build Coastguard Worker 172*8d67ca89SAndroid Build Coastguard Worker #define PF_UNSPEC AF_UNSPEC 173*8d67ca89SAndroid Build Coastguard Worker #define PF_UNIX AF_UNIX 174*8d67ca89SAndroid Build Coastguard Worker #define PF_LOCAL AF_LOCAL 175*8d67ca89SAndroid Build Coastguard Worker #define PF_INET AF_INET 176*8d67ca89SAndroid Build Coastguard Worker #define PF_AX25 AF_AX25 177*8d67ca89SAndroid Build Coastguard Worker #define PF_IPX AF_IPX 178*8d67ca89SAndroid Build Coastguard Worker #define PF_APPLETALK AF_APPLETALK 179*8d67ca89SAndroid Build Coastguard Worker #define PF_NETROM AF_NETROM 180*8d67ca89SAndroid Build Coastguard Worker #define PF_BRIDGE AF_BRIDGE 181*8d67ca89SAndroid Build Coastguard Worker #define PF_ATMPVC AF_ATMPVC 182*8d67ca89SAndroid Build Coastguard Worker #define PF_X25 AF_X25 183*8d67ca89SAndroid Build Coastguard Worker #define PF_INET6 AF_INET6 184*8d67ca89SAndroid Build Coastguard Worker #define PF_ROSE AF_ROSE 185*8d67ca89SAndroid Build Coastguard Worker #define PF_DECnet AF_DECnet 186*8d67ca89SAndroid Build Coastguard Worker #define PF_NETBEUI AF_NETBEUI 187*8d67ca89SAndroid Build Coastguard Worker #define PF_SECURITY AF_SECURITY 188*8d67ca89SAndroid Build Coastguard Worker #define PF_KEY AF_KEY 189*8d67ca89SAndroid Build Coastguard Worker #define PF_NETLINK AF_NETLINK 190*8d67ca89SAndroid Build Coastguard Worker #define PF_ROUTE AF_ROUTE 191*8d67ca89SAndroid Build Coastguard Worker #define PF_PACKET AF_PACKET 192*8d67ca89SAndroid Build Coastguard Worker #define PF_ASH AF_ASH 193*8d67ca89SAndroid Build Coastguard Worker #define PF_ECONET AF_ECONET 194*8d67ca89SAndroid Build Coastguard Worker #define PF_ATMSVC AF_ATMSVC 195*8d67ca89SAndroid Build Coastguard Worker #define PF_RDS AF_RDS 196*8d67ca89SAndroid Build Coastguard Worker #define PF_SNA AF_SNA 197*8d67ca89SAndroid Build Coastguard Worker #define PF_IRDA AF_IRDA 198*8d67ca89SAndroid Build Coastguard Worker #define PF_PPPOX AF_PPPOX 199*8d67ca89SAndroid Build Coastguard Worker #define PF_WANPIPE AF_WANPIPE 200*8d67ca89SAndroid Build Coastguard Worker #define PF_LLC AF_LLC 201*8d67ca89SAndroid Build Coastguard Worker #define PF_CAN AF_CAN 202*8d67ca89SAndroid Build Coastguard Worker #define PF_TIPC AF_TIPC 203*8d67ca89SAndroid Build Coastguard Worker #define PF_BLUETOOTH AF_BLUETOOTH 204*8d67ca89SAndroid Build Coastguard Worker #define PF_IUCV AF_IUCV 205*8d67ca89SAndroid Build Coastguard Worker #define PF_RXRPC AF_RXRPC 206*8d67ca89SAndroid Build Coastguard Worker #define PF_ISDN AF_ISDN 207*8d67ca89SAndroid Build Coastguard Worker #define PF_PHONET AF_PHONET 208*8d67ca89SAndroid Build Coastguard Worker #define PF_IEEE802154 AF_IEEE802154 209*8d67ca89SAndroid Build Coastguard Worker #define PF_CAIF AF_CAIF 210*8d67ca89SAndroid Build Coastguard Worker #define PF_ALG AF_ALG 211*8d67ca89SAndroid Build Coastguard Worker #define PF_NFC AF_NFC 212*8d67ca89SAndroid Build Coastguard Worker #define PF_VSOCK AF_VSOCK 213*8d67ca89SAndroid Build Coastguard Worker #define PF_KCM AF_KCM 214*8d67ca89SAndroid Build Coastguard Worker #define PF_QIPCRTR AF_QIPCRTR 215*8d67ca89SAndroid Build Coastguard Worker #define PF_MAX AF_MAX 216*8d67ca89SAndroid Build Coastguard Worker 217*8d67ca89SAndroid Build Coastguard Worker #define SOMAXCONN 128 218*8d67ca89SAndroid Build Coastguard Worker 219*8d67ca89SAndroid Build Coastguard Worker #define MSG_OOB 1 220*8d67ca89SAndroid Build Coastguard Worker #define MSG_PEEK 2 221*8d67ca89SAndroid Build Coastguard Worker #define MSG_DONTROUTE 4 222*8d67ca89SAndroid Build Coastguard Worker #define MSG_TRYHARD 4 223*8d67ca89SAndroid Build Coastguard Worker #define MSG_CTRUNC 8 224*8d67ca89SAndroid Build Coastguard Worker #define MSG_PROBE 0x10 225*8d67ca89SAndroid Build Coastguard Worker #define MSG_TRUNC 0x20 226*8d67ca89SAndroid Build Coastguard Worker #define MSG_DONTWAIT 0x40 227*8d67ca89SAndroid Build Coastguard Worker #define MSG_EOR 0x80 228*8d67ca89SAndroid Build Coastguard Worker #define MSG_WAITALL 0x100 229*8d67ca89SAndroid Build Coastguard Worker #define MSG_FIN 0x200 230*8d67ca89SAndroid Build Coastguard Worker #define MSG_SYN 0x400 231*8d67ca89SAndroid Build Coastguard Worker #define MSG_CONFIRM 0x800 232*8d67ca89SAndroid Build Coastguard Worker #define MSG_RST 0x1000 233*8d67ca89SAndroid Build Coastguard Worker #define MSG_ERRQUEUE 0x2000 234*8d67ca89SAndroid Build Coastguard Worker #define MSG_NOSIGNAL 0x4000 235*8d67ca89SAndroid Build Coastguard Worker #define MSG_MORE 0x8000 236*8d67ca89SAndroid Build Coastguard Worker #define MSG_WAITFORONE 0x10000 237*8d67ca89SAndroid Build Coastguard Worker #define MSG_BATCH 0x40000 238*8d67ca89SAndroid Build Coastguard Worker #define MSG_FASTOPEN 0x20000000 239*8d67ca89SAndroid Build Coastguard Worker #define MSG_CMSG_CLOEXEC 0x40000000 240*8d67ca89SAndroid Build Coastguard Worker #define MSG_EOF MSG_FIN 241*8d67ca89SAndroid Build Coastguard Worker #define MSG_CMSG_COMPAT 0 242*8d67ca89SAndroid Build Coastguard Worker 243*8d67ca89SAndroid Build Coastguard Worker #define SOL_IP 0 244*8d67ca89SAndroid Build Coastguard Worker #define SOL_TCP 6 245*8d67ca89SAndroid Build Coastguard Worker #define SOL_UDP 17 246*8d67ca89SAndroid Build Coastguard Worker #define SOL_IPV6 41 247*8d67ca89SAndroid Build Coastguard Worker #define SOL_ICMPV6 58 248*8d67ca89SAndroid Build Coastguard Worker #define SOL_SCTP 132 249*8d67ca89SAndroid Build Coastguard Worker #define SOL_RAW 255 250*8d67ca89SAndroid Build Coastguard Worker #define SOL_IPX 256 251*8d67ca89SAndroid Build Coastguard Worker #define SOL_AX25 257 252*8d67ca89SAndroid Build Coastguard Worker #define SOL_ATALK 258 253*8d67ca89SAndroid Build Coastguard Worker #define SOL_NETROM 259 254*8d67ca89SAndroid Build Coastguard Worker #define SOL_ROSE 260 255*8d67ca89SAndroid Build Coastguard Worker #define SOL_DECNET 261 256*8d67ca89SAndroid Build Coastguard Worker #define SOL_X25 262 257*8d67ca89SAndroid Build Coastguard Worker #define SOL_PACKET 263 258*8d67ca89SAndroid Build Coastguard Worker #define SOL_ATM 264 259*8d67ca89SAndroid Build Coastguard Worker #define SOL_AAL 265 260*8d67ca89SAndroid Build Coastguard Worker #define SOL_IRDA 266 261*8d67ca89SAndroid Build Coastguard Worker #define SOL_NETBEUI 267 262*8d67ca89SAndroid Build Coastguard Worker #define SOL_LLC 268 263*8d67ca89SAndroid Build Coastguard Worker #define SOL_DCCP 269 264*8d67ca89SAndroid Build Coastguard Worker #define SOL_NETLINK 270 265*8d67ca89SAndroid Build Coastguard Worker #define SOL_TIPC 271 266*8d67ca89SAndroid Build Coastguard Worker #define SOL_RXRPC 272 267*8d67ca89SAndroid Build Coastguard Worker #define SOL_PPPOL2TP 273 268*8d67ca89SAndroid Build Coastguard Worker #define SOL_BLUETOOTH 274 269*8d67ca89SAndroid Build Coastguard Worker #define SOL_PNPIPE 275 270*8d67ca89SAndroid Build Coastguard Worker #define SOL_RDS 276 271*8d67ca89SAndroid Build Coastguard Worker #define SOL_IUCV 277 272*8d67ca89SAndroid Build Coastguard Worker #define SOL_CAIF 278 273*8d67ca89SAndroid Build Coastguard Worker #define SOL_ALG 279 274*8d67ca89SAndroid Build Coastguard Worker #define SOL_NFC 280 275*8d67ca89SAndroid Build Coastguard Worker #define SOL_KCM 281 276*8d67ca89SAndroid Build Coastguard Worker #define SOL_TLS 282 277*8d67ca89SAndroid Build Coastguard Worker 278*8d67ca89SAndroid Build Coastguard Worker #define IPX_TYPE 1 279*8d67ca89SAndroid Build Coastguard Worker 280*8d67ca89SAndroid Build Coastguard Worker int accept(int __fd, struct sockaddr* _Nullable __addr, socklen_t* _Nullable __addr_length); 281*8d67ca89SAndroid Build Coastguard Worker int accept4(int __fd, struct sockaddr* _Nullable __addr, socklen_t* _Nullable __addr_length, int __flags); 282*8d67ca89SAndroid Build Coastguard Worker int bind(int __fd, const struct sockaddr* _Nonnull __addr, socklen_t __addr_length); 283*8d67ca89SAndroid Build Coastguard Worker int connect(int __fd, const struct sockaddr* _Nonnull __addr, socklen_t __addr_length); 284*8d67ca89SAndroid Build Coastguard Worker int getpeername(int __fd, struct sockaddr* _Nonnull __addr, socklen_t* _Nonnull __addr_length); 285*8d67ca89SAndroid Build Coastguard Worker int getsockname(int __fd, struct sockaddr* _Nonnull __addr, socklen_t* _Nonnull __addr_length); 286*8d67ca89SAndroid Build Coastguard Worker int getsockopt(int __fd, int __level, int __option, void* _Nullable __value, socklen_t* _Nonnull __value_length); 287*8d67ca89SAndroid Build Coastguard Worker int listen(int __fd, int __backlog); 288*8d67ca89SAndroid Build Coastguard Worker int recvmmsg(int __fd, struct mmsghdr* _Nonnull __msgs, unsigned int __msg_count, int __flags, const struct timespec* _Nullable __timeout); 289*8d67ca89SAndroid Build Coastguard Worker ssize_t recvmsg(int __fd, struct msghdr* _Nonnull __msg, int __flags); 290*8d67ca89SAndroid Build Coastguard Worker int sendmmsg(int __fd, const struct mmsghdr* _Nonnull __msgs, unsigned int __msg_count, int __flags); 291*8d67ca89SAndroid Build Coastguard Worker ssize_t sendmsg(int __fd, const struct msghdr* _Nonnull __msg, int __flags); 292*8d67ca89SAndroid Build Coastguard Worker int setsockopt(int __fd, int __level, int __option, const void* _Nullable __value, socklen_t __value_length); 293*8d67ca89SAndroid Build Coastguard Worker int shutdown(int __fd, int __how); 294*8d67ca89SAndroid Build Coastguard Worker int socket(int __af, int __type, int __protocol); 295*8d67ca89SAndroid Build Coastguard Worker int socketpair(int __af, int __type, int __protocol, int __fds[_Nonnull 2]); 296*8d67ca89SAndroid Build Coastguard Worker 297*8d67ca89SAndroid Build Coastguard Worker ssize_t recv(int __fd, void* _Nullable __buf, size_t __n, int __flags); 298*8d67ca89SAndroid Build Coastguard Worker ssize_t send(int __fd, const void* _Nonnull __buf, size_t __n, int __flags); 299*8d67ca89SAndroid Build Coastguard Worker 300*8d67ca89SAndroid Build Coastguard Worker ssize_t sendto(int __fd, const void* _Nonnull __buf, size_t __n, int __flags, const struct sockaddr* _Nullable __dst_addr, socklen_t __dst_addr_length); 301*8d67ca89SAndroid Build Coastguard Worker ssize_t recvfrom(int __fd, void* _Nullable __buf, size_t __n, int __flags, struct sockaddr* _Nullable __src_addr, socklen_t* _Nullable __src_addr_length); 302*8d67ca89SAndroid Build Coastguard Worker 303*8d67ca89SAndroid Build Coastguard Worker #if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS) 304*8d67ca89SAndroid Build Coastguard Worker #include <bits/fortify/socket.h> 305*8d67ca89SAndroid Build Coastguard Worker #endif 306*8d67ca89SAndroid Build Coastguard Worker 307*8d67ca89SAndroid Build Coastguard Worker __END_DECLS 308*8d67ca89SAndroid Build Coastguard Worker 309*8d67ca89SAndroid Build Coastguard Worker #endif 310