diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs index ca738062b02d0b6b7bc5367995dffe3b93fdeca3..03fe18c2ea4be0883c220d831e27f43c74ad41eb 100644 --- a/src/unix/bsd/mod.rs +++ b/src/unix/bsd/mod.rs @@ -135,6 +135,13 @@ extern { pub fn setgroups(ngroups: ::c_int, ptr: *const ::gid_t) -> ::c_int; pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int; + pub fn getnameinfo(sa: *const ::sockaddr, + salen: ::socklen_t, + host: *mut ::c_char, + hostlen: ::socklen_t, + serv: *mut ::c_char, + sevlen: ::socklen_t, + flags: ::c_int) -> ::c_int; } cfg_if! { diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 5085028aed351a0b77802e353f755dc6d35f89f0..fb028971a585eb705227c7f4b8f33e4eb631b29a 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -432,7 +432,6 @@ extern { pub fn utimes(filename: *const ::c_char, times: *const ::timeval) -> ::c_int; - pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char; pub fn dlopen(filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void; pub fn dlerror() -> *mut ::c_char; @@ -440,6 +439,13 @@ extern { symbol: *const ::c_char) -> *mut ::c_void; pub fn dlclose(handle: *mut ::c_void) -> ::c_int; pub fn dladdr(addr: *const ::c_void, info: *mut Dl_info) -> ::c_int; + + pub fn getaddrinfo(node: *const c_char, + service: *const c_char, + hints: *const addrinfo, + res: *mut *mut addrinfo) -> ::c_int; + pub fn freeaddrinfo(res: *mut addrinfo); + pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char; } // TODO: get rid of this #[cfg(not(...))] diff --git a/src/unix/notbsd/android/mod.rs b/src/unix/notbsd/android/mod.rs index 86db969a222886aaa41e8f527169ecfea9fdba86..37678f4ebbb0514c307dc533595aef4eacd4919a 100644 --- a/src/unix/notbsd/android/mod.rs +++ b/src/unix/notbsd/android/mod.rs @@ -218,6 +218,13 @@ extern { flags: ::c_uint) -> ::ssize_t; pub fn recv(socket: ::c_int, buf: *mut ::c_void, len: ::size_t, flags: ::c_uint) -> ::ssize_t; + pub fn getnameinfo(sa: *const ::sockaddr, + salen: ::socklen_t, + host: *mut ::c_char, + hostlen: ::size_t, + serv: *mut ::c_char, + sevlen: ::size_t, + flags: ::c_int) -> ::c_int; } cfg_if! { diff --git a/src/unix/notbsd/linux/mips.rs b/src/unix/notbsd/linux/mips.rs index 16cdcc82a9cd2a7d19a8a02d1cf4cf5d0263f931..e51fd67bd7bb081a931ecfbe4fdd220a84210877 100644 --- a/src/unix/notbsd/linux/mips.rs +++ b/src/unix/notbsd/linux/mips.rs @@ -235,3 +235,13 @@ pub const SIGCHLD: ::c_int = 18; pub const SIGBUS: ::c_int = 10; pub const SIG_SETMASK: ::c_int = 3; + +extern { + pub fn getnameinfo(sa: *const ::sockaddr, + salen: ::socklen_t, + host: *mut ::c_char, + hostlen: ::socklen_t, + serv: *mut ::c_char, + sevlen: ::socklen_t, + flags: ::c_uint) -> ::c_int; +} diff --git a/src/unix/notbsd/linux/notmips/mod.rs b/src/unix/notbsd/linux/notmips/mod.rs index 5deb068de507780a87a25417965052cc73f2c408..f974a5638761b1def54dbdc6527abbbec486b361 100644 --- a/src/unix/notbsd/linux/notmips/mod.rs +++ b/src/unix/notbsd/linux/notmips/mod.rs @@ -179,6 +179,16 @@ pub const SIGCHLD: ::c_int = 17; pub const SIGBUS: ::c_int = 7; pub const SIG_SETMASK: ::c_int = 2; +extern { + pub fn getnameinfo(sa: *const ::sockaddr, + salen: ::socklen_t, + host: *mut ::c_char, + hostlen: ::socklen_t, + serv: *mut ::c_char, + sevlen: ::socklen_t, + flags: ::c_int) -> ::c_int; +} + cfg_if! { if #[cfg(any(target_arch = "x86", target_arch = "arm"))] { mod b32;