mirror of
https://github.com/odin-lang/Odin.git
synced 2026-02-14 07:13:14 +00:00
Merge pull request #3272 from iansimonson/add_getrusage_darwin
Add getrusage syscall for mac/darwin
This commit is contained in:
@@ -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,
|
||||
}
|
||||
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user