Jeremy Soller | 4ddaf1f | 2016-11-03 16:53:22 -0600 | [diff] [blame] | 1 | pub type c_char = i8; |
| 2 | pub type c_long = i64; |
| 3 | pub type c_ulong = u64; |
| 4 | |
| 5 | pub type wchar_t = i16; |
| 6 | |
| 7 | pub type off_t = usize; |
| 8 | pub type mode_t = u16; |
| 9 | pub type time_t = i64; |
| 10 | pub type pid_t = usize; |
| 11 | pub type gid_t = usize; |
| 12 | pub type uid_t = usize; |
| 13 | |
| 14 | pub type in_addr_t = u32; |
| 15 | pub type in_port_t = u16; |
| 16 | |
| 17 | pub type socklen_t = u32; |
| 18 | pub type sa_family_t = u16; |
| 19 | |
Jeremy Soller | fe0eb11 | 2016-11-03 17:28:56 -0600 | [diff] [blame] | 20 | s! { |
| 21 | pub struct in_addr { |
| 22 | pub s_addr: in_addr_t, |
| 23 | } |
Jeremy Soller | 4ddaf1f | 2016-11-03 16:53:22 -0600 | [diff] [blame] | 24 | |
Jeremy Soller | fe0eb11 | 2016-11-03 17:28:56 -0600 | [diff] [blame] | 25 | pub struct in6_addr { |
| 26 | pub s6_addr: [u8; 16], |
| 27 | __align: [u32; 0], |
| 28 | } |
Jeremy Soller | 4ddaf1f | 2016-11-03 16:53:22 -0600 | [diff] [blame] | 29 | |
Jeremy Soller | fe0eb11 | 2016-11-03 17:28:56 -0600 | [diff] [blame] | 30 | pub struct sockaddr { |
| 31 | pub sa_family: sa_family_t, |
| 32 | pub sa_data: [::c_char; 14], |
| 33 | } |
Jeremy Soller | 4ddaf1f | 2016-11-03 16:53:22 -0600 | [diff] [blame] | 34 | |
Jeremy Soller | fe0eb11 | 2016-11-03 17:28:56 -0600 | [diff] [blame] | 35 | pub struct sockaddr_in { |
| 36 | pub sin_family: sa_family_t, |
| 37 | pub sin_port: ::in_port_t, |
| 38 | pub sin_addr: ::in_addr, |
| 39 | pub sin_zero: [u8; 8], |
| 40 | } |
Jeremy Soller | 4ddaf1f | 2016-11-03 16:53:22 -0600 | [diff] [blame] | 41 | |
Jeremy Soller | fe0eb11 | 2016-11-03 17:28:56 -0600 | [diff] [blame] | 42 | pub struct sockaddr_in6 { |
| 43 | pub sin6_family: sa_family_t, |
| 44 | pub sin6_port: in_port_t, |
| 45 | pub sin6_flowinfo: u32, |
| 46 | pub sin6_addr: ::in6_addr, |
| 47 | pub sin6_scope_id: u32, |
| 48 | } |
Jeremy Soller | 4ddaf1f | 2016-11-03 16:53:22 -0600 | [diff] [blame] | 49 | } |
Jeremy Soller | 6ff14a9 | 2016-12-21 09:10:36 -0700 | [diff] [blame] | 50 | |
| 51 | extern { |
| 52 | pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void; |
| 53 | } |
Jeremy Soller | 7459003 | 2017-01-06 09:42:36 -0700 | [diff] [blame] | 54 | |
Jeremy Soller | 52369bc | 2017-01-06 13:16:22 -0700 | [diff] [blame] | 55 | #[link(name = "c")] |
| 56 | #[link(name = "m")] |
Jeremy Soller | 7459003 | 2017-01-06 09:42:36 -0700 | [diff] [blame] | 57 | extern {} |