mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-09 00:58:16 +00:00
Implement Linux POSIX compliance for poll, sched, sys/select. Fix enum in fcntl.
This commit is contained in:
@@ -128,7 +128,7 @@ O_Flag_Bits :: enum c.int {
|
||||
// RSYNC = O_RSYNC,
|
||||
|
||||
// Execute only.
|
||||
EXEC = log2(O_EXEC),
|
||||
EXEC = O_EXEC when ODIN_OS == .Linux else log2(O_EXEC),
|
||||
// Reading and writing.
|
||||
RDWR = log2(O_RDWR),
|
||||
// Writing only.
|
||||
|
||||
@@ -27,9 +27,9 @@ foreign lib {
|
||||
nfds_t :: c.uint
|
||||
|
||||
Poll_Error :: enum c.int {
|
||||
EAGAIN = Errno.EAGAIN,
|
||||
EINTR = Errno.EINTR,
|
||||
EINVAL = Errno.EINVAL,
|
||||
EAGAIN = cast(c.int)Errno.EAGAIN,
|
||||
EINTR = cast(c.int)Errno.EINTR,
|
||||
EINVAL = cast(c.int)Errno.EINVAL,
|
||||
}
|
||||
|
||||
Poll_Event_Bits :: enum c.short {
|
||||
|
||||
@@ -94,7 +94,7 @@ when ODIN_OS == .Darwin {
|
||||
SCHED_RR :: 3
|
||||
SCHED_OTHER :: 2
|
||||
|
||||
} else when ODIN_OS == .NetBSD {
|
||||
} else when ODIN_OS == .NetBSD || ODIN_OS == .Linux {
|
||||
|
||||
SCHED_OTHER :: 0
|
||||
SCHED_FIFO :: 1
|
||||
|
||||
@@ -55,7 +55,7 @@ when ODIN_OS == .NetBSD {
|
||||
LSELECT :: "select"
|
||||
}
|
||||
|
||||
when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD {
|
||||
when ODIN_OS == .Darwin || ODIN_OS == .FreeBSD || ODIN_OS == .NetBSD || ODIN_OS == .OpenBSD || ODIN_OS == .Linux {
|
||||
|
||||
suseconds_t :: distinct (c.int32_t when ODIN_OS == .Darwin || ODIN_OS == .NetBSD else c.long)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user