1 pub type c_char = u8; 2 pub type wchar_t = u32; 3 4 pub type c_long = i32; 5 pub type c_ulong = u32; 6 7 s! { 8 pub struct sockaddr { 9 pub sa_family: ::sa_family_t, 10 pub sa_data: [::c_char; 14], 11 } 12 13 pub struct sockaddr_in6 { 14 pub sin6_family: ::sa_family_t, 15 pub sin6_port: ::in_port_t, 16 pub sin6_flowinfo: u32, 17 pub sin6_addr: ::in6_addr, 18 pub sin6_scope_id: u32, 19 } 20 21 pub struct sockaddr_in { 22 pub sin_family: ::sa_family_t, 23 pub sin_port: ::in_port_t, 24 pub sin_addr: ::in_addr, 25 pub sin_zero: [u8; 8], 26 } 27 28 pub struct sockaddr_storage { 29 pub ss_family: ::sa_family_t, 30 pub __ss_padding: [u8; 26], 31 } 32 } 33 34 pub const POLLOUT: ::c_short = 0x10; 35 pub const POLLHUP: ::c_short = 0x4; 36