implement bsd's, same as darwin

This commit is contained in:
Laytan
2024-02-05 18:48:17 +01:00
parent ca6300c860
commit e63d71c23b

View File

@@ -1,19 +1,24 @@
//+private
//+build darwin, freebsd, openbsd
package spall
// Only for types.
import "core:os"
foreign import system "system:System.framework"
when ODIN_OS == .Darwin {
foreign import libc "system:System.framework"
} else {
foreign import libc "system:c"
}
timespec :: struct {
tv_sec: i64, // seconds
tv_nsec: i64, // nanoseconds
}
foreign system {
@(link_name="__error") __error :: proc() -> ^i32 ---
@(link_name="write") _unix_write :: proc(handle: os.Handle, buffer: rawptr, count: uint) -> int ---
foreign libc {
__error :: proc() -> ^i32 ---
@(link_name="write") _unix_write :: proc(handle: os.Handle, buffer: rawptr, count: uint) -> int ---
@(link_name="clock_gettime") _unix_clock_gettime :: proc(clock_id: u64, timespec: ^timespec) -> i32 ---
}