std.os.getrusage: add C extern fn and reserved field
* add reserved field to match musl struct definition so that it will work with musl libc. * add libc getrusage so that it will work with libc what's not done in this branch is: * test coverage. See #1629, which should also aim to provide general test coverage for the std lib. * rusage struct bits for non-linux operating systemsmaster
parent
2f6b045fb1
commit
fee9318b17
|
@ -109,6 +109,7 @@ pub extern "c" fn setreuid(ruid: c_uint, euid: c_uint) c_int;
|
||||||
pub extern "c" fn setregid(rgid: c_uint, egid: c_uint) c_int;
|
pub extern "c" fn setregid(rgid: c_uint, egid: c_uint) c_int;
|
||||||
pub extern "c" fn rmdir(path: [*:0]const u8) c_int;
|
pub extern "c" fn rmdir(path: [*:0]const u8) c_int;
|
||||||
pub extern "c" fn getenv(name: [*:0]const u8) ?[*:0]u8;
|
pub extern "c" fn getenv(name: [*:0]const u8) ?[*:0]u8;
|
||||||
|
pub extern "c" fn getrusage(who: c_int, usage: *rusage) c_int;
|
||||||
pub extern "c" fn sysctl(name: [*]const c_int, namelen: c_uint, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int;
|
pub extern "c" fn sysctl(name: [*]const c_int, namelen: c_uint, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int;
|
||||||
pub extern "c" fn sysctlbyname(name: [*:0]const u8, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int;
|
pub extern "c" fn sysctlbyname(name: [*:0]const u8, oldp: ?*c_void, oldlenp: ?*usize, newp: ?*c_void, newlen: usize) c_int;
|
||||||
pub extern "c" fn sysctlnametomib(name: [*:0]const u8, mibp: ?*c_int, sizep: ?*usize) c_int;
|
pub extern "c" fn sysctlnametomib(name: [*:0]const u8, mibp: ?*c_int, sizep: ?*usize) c_int;
|
||||||
|
|
|
@ -1475,4 +1475,5 @@ pub const rusage = extern struct {
|
||||||
nsignals: isize,
|
nsignals: isize,
|
||||||
nvcsw: isize,
|
nvcsw: isize,
|
||||||
nivcsw: isize,
|
nivcsw: isize,
|
||||||
|
__reserved: [16]isize = [1]isize{0} ** 16,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue