diff --git a/libc-test/build.rs b/libc-test/build.rs index 05913aeccd92083d726ca88d6b85509876aeae63..bbd9f8cfcfc53af660e47f8fcbd0762243b01962 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -163,6 +163,7 @@ fn main() { cfg.header("sys/msg.h"); cfg.header("sys/shm.h"); cfg.header("pty.h"); + cfg.header("shadow.h"); } if linux || android { diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs index 6aea83aaeba3182b27aa34f114f508369eff0377..b767e0a4ec4b01b83f9ef039579cb215abaff938 100644 --- a/src/unix/notbsd/linux/mod.rs +++ b/src/unix/notbsd/linux/mod.rs @@ -118,6 +118,18 @@ s! { pub pw_shell: *mut ::c_char, } + pub struct spwd { + pub sp_namp: *mut ::c_char, + pub sp_pwdp: *mut ::c_char, + pub sp_lstchg: ::c_long, + pub sp_min: ::c_long, + pub sp_max: ::c_long, + pub sp_warn: ::c_long, + pub sp_inact: ::c_long, + pub sp_expire: ::c_long, + pub sp_flag: ::c_ulong, + } + pub struct statvfs { pub f_bsize: ::c_ulong, pub f_frsize: ::c_ulong, @@ -543,6 +555,11 @@ extern { pub fn setpwent(); pub fn getpwent() -> *mut passwd; + pub fn setspent(); + pub fn endspent(); + pub fn getspent() -> *mut spwd; + pub fn getspnam(__name: *const ::c_char) -> *mut spwd; + pub fn shm_open(name: *const c_char, oflag: ::c_int, mode: mode_t) -> ::c_int;