5aff0d91c29c02bb33104fb1458e93d97a1addb3
[musl] / arch / mips64 / bits / socket.h
1 #include <endian.h>
2
3 struct msghdr {
4         void *msg_name;
5         socklen_t msg_namelen;
6         struct iovec *msg_iov;
7 #if __BYTE_ORDER == __BIG_ENDIAN
8         int __pad1, msg_iovlen;
9 #else
10         int msg_iovlen, __pad1;
11 #endif
12         void *msg_control;
13 #if __BYTE_ORDER == __BIG_ENDIAN
14         int __pad2;
15         socklen_t msg_controllen;
16 #else
17         socklen_t msg_controllen;
18         int __pad2;
19 #endif
20         int msg_flags;
21 };
22
23 struct cmsghdr {
24 #if __BYTE_ORDER == __BIG_ENDIAN
25         int __pad1;
26         socklen_t cmsg_len;
27 #else
28         socklen_t cmsg_len;
29         int __pad1;
30 #endif
31         int cmsg_level;
32         int cmsg_type;
33 };
34
35 #define SOCK_STREAM    2
36 #define SOCK_DGRAM     1
37 #define SOL_SOCKET     65535
38 #define SO_DEBUG       1
39
40 #define SO_REUSEADDR    0x0004
41 #define SO_KEEPALIVE    0x0008
42 #define SO_DONTROUTE    0x0010
43 #define SO_BROADCAST    0x0020
44 #define SO_LINGER       0x0080
45 #define SO_OOBINLINE    0x0100
46 #define SO_REUSEPORT    0x0200
47 #define SO_SNDBUF       0x1001
48 #define SO_RCVBUF       0x1002
49 #define SO_SNDLOWAT     0x1003
50 #define SO_RCVLOWAT     0x1004
51 #define SO_RCVTIMEO     0x1006
52 #define SO_SNDTIMEO     0x1005
53 #define SO_ERROR        0x1007
54 #define SO_TYPE         0x1008
55 #define SO_ACCEPTCONN   0x1009
56 #define SO_PROTOCOL     0x1028
57 #define SO_DOMAIN       0x1029
58
59 #define SO_NO_CHECK     11
60 #define SO_PRIORITY     12
61 #define SO_BSDCOMPAT    14
62 #define SO_PASSCRED     17
63 #define SO_PEERCRED     18
64 #define SO_PEERSEC      30
65 #define SO_SNDBUFFORCE  31
66 #define SO_RCVBUFFORCE  33
67
68 #define SOCK_NONBLOCK     0200
69 #define SOCK_CLOEXEC  02000000