X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=include%2Fsys%2Fsocket.h;h=c385b21a4c544da2da6d31eceba29fa63a2ac665;hp=50de321bc2747a577112d3e4bd8ab124a30b4279;hb=e82bd04cf77629976eb24f31222f877f17a6000b;hpb=b0c088ee550634e07a6289a8ac98cb8009f81c66 diff --git a/include/sys/socket.h b/include/sys/socket.h index 50de321b..c385b21a 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -4,6 +4,8 @@ extern "C" { #endif +#include + #define __NEED_socklen_t #define __NEED_sa_family_t #define __NEED_size_t @@ -17,13 +19,6 @@ extern "C" { #include -struct cmsghdr -{ - socklen_t cmsg_len; - int cmsg_level; - int cmsg_type; -}; - struct ucred { pid_t pid; @@ -41,16 +36,21 @@ struct linger #define SHUT_WD 1 #define SHUT_RDWR 2 +#ifndef SOCK_STREAM #define SOCK_STREAM 1 #define SOCK_DGRAM 2 +#endif + #define SOCK_RAW 3 #define SOCK_RDM 4 #define SOCK_SEQPACKET 5 #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 @@ -76,10 +76,14 @@ struct linger #define PF_ASH 18 #define PF_ECONET 19 #define PF_ATMSVC 20 +#define PF_RDS 21 #define PF_SNA 22 #define PF_IRDA 23 #define PF_PPPOX 24 #define PF_WANPIPE 25 +#define PF_LLC 26 +#define PF_CAN 29 +#define PF_TIPC 30 #define PF_BLUETOOTH 31 #define PF_IUCV 32 #define PF_RXRPC 33 @@ -88,7 +92,8 @@ struct linger #define PF_IEEE802154 36 #define PF_CAIF 37 #define PF_ALG 38 -#define PF_MAX 39 +#define PF_NFC 39 +#define PF_MAX 40 #define AF_UNSPEC PF_UNSPEC #define AF_LOCAL PF_LOCAL @@ -114,10 +119,14 @@ struct linger #define AF_ASH PF_ASH #define AF_ECONET PF_ECONET #define AF_ATMSVC PF_ATMSVC +#define AF_RDS PF_RDS #define AF_SNA PF_SNA #define AF_IRDA PF_IRDA #define AF_PPPOX PF_PPPOX #define AF_WANPIPE PF_WANPIPE +#define AF_LLC PF_LLC +#define AF_CAN PF_CAN +#define AF_TIPC PF_TIPC #define AF_BLUETOOTH PF_BLUETOOTH #define AF_IUCV PF_IUCV #define AF_RXRPC PF_RXRPC @@ -126,8 +135,10 @@ struct linger #define AF_IEEE802154 PF_IEEE802154 #define AF_CAIF PF_CAIF #define AF_ALG PF_ALG +#define AF_NFC PF_NFC #define AF_MAX PF_MAX +#ifndef SO_DEBUG #define SO_DEBUG 1 #define SO_REUSEADDR 2 #define SO_TYPE 3 @@ -149,6 +160,9 @@ struct linger #define SO_SNDLOWAT 19 #define SO_RCVTIMEO 20 #define SO_SNDTIMEO 21 +#define SO_SNDBUFFORCE 32 +#define SO_RCVBUFFORCE 33 +#endif #define SO_SECURITY_AUTHENTICATION 22 #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 @@ -158,14 +172,32 @@ struct linger #define SO_ATTACH_FILTER 26 #define SO_DETACH_FILTER 27 +#define SO_GET_FILTER SO_ATTACH_FILTER #define SO_PEERNAME 28 #define SO_TIMESTAMP 29 #define SCM_TIMESTAMP SO_TIMESTAMP #define SO_ACCEPTCONN 30 - +#define SO_PEERSEC 31 +#define SO_PASSSEC 34 +#define SO_TIMESTAMPNS 35 +#define SCM_TIMESTAMPNS SO_TIMESTAMPNS +#define SO_MARK 36 +#define SO_TIMESTAMPING 37 +#define SCM_TIMESTAMPING SO_TIMESTAMPING +#define SO_PROTOCOL 38 +#define SO_DOMAIN 39 +#define SO_RXQ_OVFL 40 +#define SO_WIFI_STATUS 41 +#define SCM_WIFI_STATUS SO_WIFI_STATUS +#define SO_PEEK_OFF 42 +#define SO_NOFCS 43 +#define SO_LOCK_FILTER 44 + +#ifndef SOL_SOCKET #define SOL_SOCKET 1 +#endif #define SOL_RAW 255 #define SOL_DECNET 261 @@ -222,10 +254,8 @@ struct sockaddr struct sockaddr_storage { sa_family_t ss_family; - union { - long long __align; - char __padding[126]; - } __padding; + unsigned long __ss_align; + char __ss_padding[128-2*sizeof(unsigned long)]; }; int socket (int, int, int); @@ -236,19 +266,20 @@ int shutdown (int, int); int bind (int, const struct sockaddr *, socklen_t); int connect (int, const struct sockaddr *, socklen_t); int listen (int, int); -int accept (int, struct sockaddr *, socklen_t *); +int accept (int, struct sockaddr *__restrict, socklen_t *__restrict); +int accept4(int, struct sockaddr *__restrict, socklen_t *__restrict, int); -int getsockname (int, struct sockaddr *, socklen_t *); -int getpeername (int, struct sockaddr *, socklen_t *); +int getsockname (int, struct sockaddr *__restrict, socklen_t *__restrict); +int getpeername (int, struct sockaddr *__restrict, socklen_t *__restrict); ssize_t send (int, const void *, size_t, int); ssize_t recv (int, void *, size_t, int); ssize_t sendto (int, const void *, size_t, int, const struct sockaddr *, socklen_t); -ssize_t recvfrom (int, void *, size_t, int, struct sockaddr *, socklen_t *); +ssize_t recvfrom (int, void *__restrict, size_t, int, struct sockaddr *__restrict, socklen_t *__restrict); ssize_t sendmsg (int, const struct msghdr *, int); ssize_t recvmsg (int, struct msghdr *, int); -int getsockopt (int, int, int, void *, socklen_t *); +int getsockopt (int, int, int, void *__restrict, socklen_t *__restrict); int setsockopt (int, int, int, const void *, socklen_t); int sockatmark (int);