mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-22 21:54:59 -07:00
70 lines
1.5 KiB
Odin
70 lines
1.5 KiB
Odin
//+private
|
|
//+build darwin, netbsd, freebsd, openbsd
|
|
package os2
|
|
|
|
import "base:runtime"
|
|
import "core:time"
|
|
|
|
import "core:sys/posix"
|
|
|
|
_exit :: proc "contextless" (code: int) -> ! {
|
|
posix.exit(i32(code))
|
|
}
|
|
|
|
_get_uid :: proc() -> int {
|
|
return int(posix.getuid())
|
|
}
|
|
|
|
_get_euid :: proc() -> int {
|
|
return int(posix.geteuid())
|
|
}
|
|
|
|
_get_gid :: proc() -> int {
|
|
return int(posix.getgid())
|
|
}
|
|
|
|
_get_egid :: proc() -> int {
|
|
return int(posix.getegid())
|
|
}
|
|
|
|
_get_pid :: proc() -> int {
|
|
return int(posix.getpid())
|
|
}
|
|
|
|
_get_ppid :: proc() -> int {
|
|
return int(posix.getppid())
|
|
}
|
|
|
|
_process_info_by_handle :: proc(process: Process, selection: Process_Info_Fields, allocator: runtime.Allocator) -> (info: Process_Info, err: Error) {
|
|
return _process_info_by_pid(process.pid, selection, allocator)
|
|
}
|
|
|
|
_current_process_info :: proc(selection: Process_Info_Fields, allocator: runtime.Allocator) -> (info: Process_Info, err: Error) {
|
|
return _process_info_by_pid(_get_pid(), selection, allocator)
|
|
}
|
|
|
|
_process_open :: proc(pid: int, flags: Process_Open_Flags) -> (process: Process, err: Error) {
|
|
err = .Unsupported
|
|
return
|
|
}
|
|
|
|
_Sys_Process_Attributes :: struct {}
|
|
|
|
_process_start :: proc(desc: Process_Desc) -> (process: Process, err: Error) {
|
|
err = .Unsupported
|
|
return
|
|
}
|
|
|
|
_process_wait :: proc(process: Process, timeout: time.Duration) -> (process_state: Process_State, err: Error) {
|
|
err = .Unsupported
|
|
return
|
|
}
|
|
|
|
_process_close :: proc(process: Process) -> Error {
|
|
return .Unsupported
|
|
}
|
|
|
|
_process_kill :: proc(process: Process) -> Error {
|
|
return .Unsupported
|
|
}
|