|
@@ -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 ---
|
|
|
}
|
|
|
|