mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-19 04:50:29 +00:00
Add getrusage syscall for mac/darwin
The syscall number existed but the wrapper for calling it did not. Also adds the RUsage struct to receive the data. Naming is kept the same as in sys/linux
This commit is contained in:
@@ -2,3 +2,27 @@
|
||||
package darwin
|
||||
|
||||
Bool :: b8
|
||||
|
||||
timespec :: struct {
|
||||
seconds: int,
|
||||
microseconds: int,
|
||||
}
|
||||
|
||||
RUsage :: struct {
|
||||
utime: timespec,
|
||||
stime: timespec,
|
||||
maxrss_word: int,
|
||||
ixrss_word: int,
|
||||
idrss_word: int,
|
||||
isrss_word: int,
|
||||
minflt_word: int,
|
||||
majflt_word: int,
|
||||
nswap_word: int,
|
||||
inblock_word: int,
|
||||
oublock_word: int,
|
||||
msgsnd_word: int,
|
||||
msgrcv_word: int,
|
||||
nsignals_word: int,
|
||||
nvcsw_word: int,
|
||||
nivcsw_word: int,
|
||||
}
|
||||
|
||||
@@ -417,3 +417,7 @@ syscall_chdir :: #force_inline proc "contextless" (path: cstring) -> c.int {
|
||||
syscall_fchdir :: #force_inline proc "contextless" (fd: c.int, path: cstring) -> c.int {
|
||||
return cast(c.int)intrinsics.syscall(unix_offset_syscall(.getentropy), uintptr(fd), transmute(uintptr)path)
|
||||
}
|
||||
|
||||
syscall_getrusage :: #force_inline proc "contextless" (who: c.int, rusage: ^RUsage) -> c.int {
|
||||
return cast(c.int) intrinsics.syscall(unix_offset_syscall(.getrusage), uintptr(who), uintptr(rusage))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user