diff --git a/src/unix/newlib/mod.rs b/src/unix/newlib/mod.rs index 7e731096..8f1a5848 100644 --- a/src/unix/newlib/mod.rs +++ b/src/unix/newlib/mod.rs @@ -26,18 +26,13 @@ pub type useconds_t = u32; s! { pub struct sockaddr { + pub sa_len: u8, pub sa_family: sa_family_t, pub sa_data: [::c_char; 14], } - pub struct sockaddr_in { - pub sin_family: sa_family_t, - pub sin_port: ::in_port_t, - pub sin_addr: ::in_addr, - pub sin_zero: [u8; 8], - } - - pub struct sockaddr_in6 { // Unverified + pub struct sockaddr_in6 { + pub sin6_len: u8, pub sin6_family: sa_family_t, pub sin6_port: ::in_port_t, pub sin6_flowinfo: u32, @@ -45,9 +40,12 @@ s! { pub sin6_scope_id: u32, } - pub struct sockaddr_storage { - pub ss_family: sa_family_t, - pub __ss_padding: [u8; 26], + pub struct sockaddr_in { + pub sin_len: u8, + pub sin_family: ::sa_family_t, + pub sin_port: ::in_port_t, + pub sin_addr: ::in_addr, + pub sin_zero: [::c_char; 8], } pub struct addrinfo {