mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +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
|
package darwin
|
||||||
|
|
||||||
Bool :: b8
|
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 {
|
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)
|
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