Merge pull request #3272 from iansimonson/add_getrusage_darwin

Add getrusage syscall for mac/darwin
This commit is contained in:
gingerBill
2024-03-14 19:45:25 +00:00
committed by GitHub
2 changed files with 27 additions and 1 deletions

View File

@@ -1,4 +1,26 @@
//+build darwin
package darwin
import "core:c"
Bool :: b8
RUsage :: struct {
ru_utime: timeval,
ru_stime: timeval,
ru_maxrss: c.long,
ru_ixrss: c.long,
ru_idrss: c.long,
ru_isrss: c.long,
ru_minflt: c.long,
ru_majflt: c.long,
ru_nswap: c.long,
ru_inblock: c.long,
ru_oublock: c.long,
ru_msgsnd: c.long,
ru_msgrcv: c.long,
ru_nsignals: c.long,
ru_nvcsw: c.long,
ru_nivcsw: c.long,
}

View File

@@ -125,7 +125,7 @@ DARWIN_MAXCOMLEN :: 16
/*--==========================================================================--*/
__darwin_ino64_t :: u64
__darwin_time_t :: u32
__darwin_time_t :: c.long
__darwin_dev_t :: i32
__darwin_mode_t :: u16
__darwin_off_t :: i64
@@ -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))
}