authorgravatar for stilbruch@protonmail.comHayden Pope <stilbruch@protonmail.com> 2022-11-14 12:46:45-06:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-11-15 02:38:28-05:00
logceb9fedb47d2a02b428e1dafaa3965104e752ddf
treeba25fd1f3c7a6291606bf67ada48f8c68040bf11
parent14986077ceefc3955fb90f869411dc6940727fa9

std.os.linux: Add setitimer and getitimer syscalls


1 files changed, 15 insertions(+), 0 deletions(-)

lib/std/os/linux.zig+15
...@@ -1523,6 +1523,21 @@ pub fn timerfd_settime(fd: i32, flags: u32, new_value: *const itimerspec, old_va...@@ -1523,6 +1523,21 @@ pub fn timerfd_settime(fd: i32, flags: u32, new_value: *const itimerspec, old_va
1523 return syscall4(.timerfd_settime, @bitCast(usize, @as(isize, fd)), flags, @ptrToInt(new_value), @ptrToInt(old_value));1523 return syscall4(.timerfd_settime, @bitCast(usize, @as(isize, fd)), flags, @ptrToInt(new_value), @ptrToInt(old_value));
1524}1524}
15251525
1526// Flags for the 'setitimer' system call
1527pub const ITIMER = enum(i32) {
1528 REAL = 0,
1529 VIRTUAL = 1,
1530 PROF = 2,
1531};
1532
1533pub fn getitimer(which: i32, curr_value: *itimerspec) usize {
1534 return syscall2(.getitimer, @bitCast(usize, @as(isize, which)), @ptrToInt(curr_value));
1535}
1536
1537pub fn setitimer(which: i32, new_value: *const itimerspec, old_value: ?*itimerspec) usize {
1538 return syscall3(.setitimer, @bitCast(usize, @as(isize, which)), @ptrToInt(new_value), @ptrToInt(old_value));
1539}
1540
1526pub fn unshare(flags: usize) usize {1541pub fn unshare(flags: usize) usize {
1527 return syscall1(.unshare, flags);1542 return syscall1(.unshare, flags);
1528}1543}