@@ -9,6 +9,16 @@ pub type c_ulong = u32;
9
9
pub type sigset_t = :: c_ulong ;
10
10
11
11
s ! {
12
+ pub struct msghdr {
13
+ pub msg_name: * mut :: c_void,
14
+ pub msg_namelen: :: socklen_t,
15
+ pub msg_iov: * mut :: iovec,
16
+ pub msg_iovlen: :: c_int,
17
+ pub msg_control: * mut :: c_void,
18
+ pub msg_controllen: :: socklen_t,
19
+ pub msg_flags: :: c_int,
20
+ }
21
+
12
22
pub struct sockaddr {
13
23
pub sa_len: u8 ,
14
24
pub sa_family: :: sa_family_t,
72
82
pub const AF_UNIX : :: c_int = 1 ;
73
83
pub const AF_INET6 : :: c_int = 24 ;
74
84
85
+ pub const SOCK_RAW : :: c_int = 3 ;
86
+ pub const SOCK_RDM : :: c_int = 4 ;
87
+ pub const SOCK_SEQPACKET : :: c_int = 5 ;
88
+
75
89
pub const FIONBIO : :: c_ulong = 1 ;
76
90
77
91
pub const POLLIN : :: c_short = 0x0001 ;
78
92
pub const POLLPRI : :: c_short = POLLIN ;
79
93
pub const POLLOUT : :: c_short = 0x0004 ;
94
+ pub const POLLRDNORM : :: c_short = POLLIN ;
95
+ pub const POLLRDBAND : :: c_short = POLLIN ;
96
+ pub const POLLWRNORM : :: c_short = POLLOUT ;
97
+ pub const POLLWRBAND : :: c_short = POLLOUT ;
80
98
pub const POLLERR : :: c_short = 0x0008 ;
81
99
pub const POLLHUP : :: c_short = 0x0010 ;
82
100
pub const POLLNVAL : :: c_short = 0x0020 ;
@@ -125,27 +143,28 @@ pub const SIGALRM: ::c_int = 14;
125
143
pub const SIGTERM : :: c_int = 15 ;
126
144
127
145
pub const EAI_BADFLAGS : :: c_int = -1 ;
128
- pub const EAI_NONAME : :: c_int = -2 ;
129
146
pub const EAI_AGAIN : :: c_int = -3 ;
130
147
pub const EAI_FAIL : :: c_int = -4 ;
131
148
pub const EAI_NODATA : :: c_int = -5 ;
132
- pub const EAI_FAMILY : :: c_int = -6 ;
133
- pub const EAI_SOCKTYPE : :: c_int = -7 ;
134
149
pub const EAI_SERVICE : :: c_int = -8 ;
135
150
pub const EAI_ADDRFAMILY : :: c_int = -9 ;
136
- pub const EAI_MEMORY : :: c_int = -10 ;
137
151
pub const EAI_SYSTEM : :: c_int = -11 ;
138
152
pub const EAI_OVERFLOW : :: c_int = -12 ;
139
153
140
154
pub const _SC_PAGESIZE: :: c_int = 8 ;
141
155
pub const _SC_GETPW_R_SIZE_MAX: :: c_int = 51 ;
142
156
pub const PTHREAD_STACK_MIN : :: size_t = 32 * 1024 ;
143
157
158
+ pub const IP_HDRINCL : :: c_int = 2 ;
159
+
144
160
extern "C" {
145
161
pub fn futimens ( fd : :: c_int , times : * const :: timespec ) -> :: c_int ;
146
162
pub fn writev ( fd : :: c_int , iov : * const :: iovec , iovcnt : :: c_int ) -> :: ssize_t ;
147
163
pub fn readv ( fd : :: c_int , iov : * const :: iovec , iovcnt : :: c_int ) -> :: ssize_t ;
148
164
165
+ pub fn sendmsg ( s : :: c_int , msg : * const :: msghdr , flags : :: c_int ) -> :: ssize_t ;
166
+ pub fn recvmsg ( s : :: c_int , msg : * mut :: msghdr , flags : :: c_int ) -> :: ssize_t ;
167
+
149
168
pub fn pthread_create (
150
169
native : * mut :: pthread_t ,
151
170
attr : * const :: pthread_attr_t ,
0 commit comments