@@ -9,6 +9,16 @@ pub type c_ulong = u32;
99pub type sigset_t = :: c_ulong ;
1010
1111s ! {
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+
1222 pub struct sockaddr {
1323 pub sa_len: u8 ,
1424 pub sa_family: :: sa_family_t,
7282pub const AF_UNIX : :: c_int = 1 ;
7383pub const AF_INET6 : :: c_int = 24 ;
7484
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+
7589pub const FIONBIO : :: c_ulong = 1 ;
7690
7791pub const POLLIN : :: c_short = 0x0001 ;
7892pub const POLLPRI : :: c_short = POLLIN ;
7993pub 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 ;
8098pub const POLLERR : :: c_short = 0x0008 ;
8199pub const POLLHUP : :: c_short = 0x0010 ;
82100pub const POLLNVAL : :: c_short = 0x0020 ;
@@ -125,27 +143,28 @@ pub const SIGALRM: ::c_int = 14;
125143pub const SIGTERM : :: c_int = 15 ;
126144
127145pub const EAI_BADFLAGS : :: c_int = -1 ;
128- pub const EAI_NONAME : :: c_int = -2 ;
129146pub const EAI_AGAIN : :: c_int = -3 ;
130147pub const EAI_FAIL : :: c_int = -4 ;
131148pub const EAI_NODATA : :: c_int = -5 ;
132- pub const EAI_FAMILY : :: c_int = -6 ;
133- pub const EAI_SOCKTYPE : :: c_int = -7 ;
134149pub const EAI_SERVICE : :: c_int = -8 ;
135150pub const EAI_ADDRFAMILY : :: c_int = -9 ;
136- pub const EAI_MEMORY : :: c_int = -10 ;
137151pub const EAI_SYSTEM : :: c_int = -11 ;
138152pub const EAI_OVERFLOW : :: c_int = -12 ;
139153
140154pub const _SC_PAGESIZE: :: c_int = 8 ;
141155pub const _SC_GETPW_R_SIZE_MAX: :: c_int = 51 ;
142156pub const PTHREAD_STACK_MIN : :: size_t = 32 * 1024 ;
143157
158+ pub const IP_HDRINCL : :: c_int = 2 ;
159+
144160extern "C" {
145161 pub fn futimens ( fd : :: c_int , times : * const :: timespec ) -> :: c_int ;
146162 pub fn writev ( fd : :: c_int , iov : * const :: iovec , iovcnt : :: c_int ) -> :: ssize_t ;
147163 pub fn readv ( fd : :: c_int , iov : * const :: iovec , iovcnt : :: c_int ) -> :: ssize_t ;
148164
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+
149168 pub fn pthread_create (
150169 native : * mut :: pthread_t ,
151170 attr : * const :: pthread_attr_t ,
0 commit comments