initial check-in, version 0.5.0
[musl] / include / sys / socket.h
1 #ifndef _SYS_SOCKET_H
2 #define _SYS_SOCKET_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6
7 #define __NEED_socklen_t
8 #define __NEED_sa_family_t
9 #define __NEED_size_t
10 #define __NEED_ssize_t
11 #define __NEED_uid_t
12 #define __NEED_pid_t
13 #define __NEED_gid_t
14
15 #include <bits/alltypes.h>
16
17 #include <bits/socket.h>
18
19 struct sockaddr
20 {
21         sa_family_t sa_family;
22         char sa_data[14];
23 };
24
25 struct sockaddr_storage
26 {
27         sa_family_t ss_family;
28         long long __ss_align;
29         char __ss_padding[128 - sizeof(sa_family_t) - sizeof(long long)];
30 };
31
32 int socket (int, int, int);
33 int socketpair (int, int, int, int [2]);
34
35 int shutdown (int, int);
36
37 int bind (int, const struct sockaddr *, socklen_t);
38 int connect (int, const struct sockaddr *, socklen_t);
39 int listen (int, int);
40 int accept (int, struct sockaddr *, socklen_t *);
41
42 int getsockname (int, struct sockaddr *, socklen_t *);
43 int getpeername (int, struct sockaddr *, socklen_t *);
44
45 ssize_t send (int, const void *, size_t, int);
46 ssize_t recv (int, void *, size_t, int);
47 ssize_t sendto (int, const void *, size_t, int, const struct sockaddr *, socklen_t);
48 ssize_t recvfrom (int, void *, size_t, int, struct sockaddr *, socklen_t *);
49 ssize_t sendmsg (int, const struct msghdr *, int);
50 ssize_t recvmsg (int, struct msghdr *, int);
51
52 int getsockopt (int, int, int, void *, socklen_t *);
53 int setsockopt (int, int, int, const void *, socklen_t);
54
55 int sockatmark (int);
56
57 #define SHUT_RD 0
58 #define SHUT_WR 1
59 #define SHUT_RDWR 2
60
61 #ifdef __cplusplus
62 }
63 #endif
64 #endif