mirror of
https://github.com/ziglang/zig.git
synced 2026-02-14 13:30:45 +00:00
commit
5888d84ea3
@ -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 rmdir(path: [*:0]const u8) c_int;
|
||||
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 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;
|
||||
|
||||
@ -3325,3 +3325,14 @@ pub fn memfd_create(name: []const u8, flags: u32) !fd_t {
|
||||
const name_t = try toMemFdPath(name);
|
||||
return memfd_createC(&name_t, flags);
|
||||
}
|
||||
|
||||
pub fn getrusage(who: i32) rusage {
|
||||
var result: rusage = undefined;
|
||||
const rc = system.getrusage(who, &result);
|
||||
switch (errno(rc)) {
|
||||
0 => return result,
|
||||
EINVAL => unreachable,
|
||||
EFAULT => unreachable,
|
||||
else => unreachable,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1453,3 +1453,27 @@ pub const MFD_HUGE_512MB = HUGETLB_FLAG_ENCODE_512MB;
|
||||
pub const MFD_HUGE_1GB = HUGETLB_FLAG_ENCODE_1GB;
|
||||
pub const MFD_HUGE_2GB = HUGETLB_FLAG_ENCODE_2GB;
|
||||
pub const MFD_HUGE_16GB = HUGETLB_FLAG_ENCODE_16GB;
|
||||
|
||||
pub const RUSAGE_SELF = 0;
|
||||
pub const RUSAGE_CHILDREN = -1;
|
||||
pub const RUSAGE_THREAD = 1;
|
||||
|
||||
pub const rusage = extern struct {
|
||||
utime: timeval,
|
||||
stime: timeval,
|
||||
maxrss: isize,
|
||||
ix_rss: isize,
|
||||
idrss: isize,
|
||||
isrss: isize,
|
||||
minflt: isize,
|
||||
majflt: isize,
|
||||
nswap: isize,
|
||||
inblock: isize,
|
||||
oublock: isize,
|
||||
msgsnd: isize,
|
||||
msgrcv: isize,
|
||||
nsignals: isize,
|
||||
nvcsw: isize,
|
||||
nivcsw: isize,
|
||||
__reserved: [16]isize = [1]isize{0} ** 16,
|
||||
};
|
||||
|
||||
@ -1114,6 +1114,10 @@ pub fn memfd_create(name: [*:0]const u8, flags: u32) usize {
|
||||
return syscall2(SYS_memfd_create, @ptrToInt(name), flags);
|
||||
}
|
||||
|
||||
pub fn getrusage(who: i32, usage: *rusage) usize {
|
||||
return syscall2(SYS_getrusage, @bitCast(usize, @as(isize, who)), @ptrToInt(usage));
|
||||
}
|
||||
|
||||
test "" {
|
||||
if (builtin.os == .linux) {
|
||||
_ = @import("linux/test.zig");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user