mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-20 12:44:59 -07:00
POSIX
defines bindings for most posix APIs.
If a header is added, all of it must be implemented.
Each platform must define the exact same symbols, different values are allowed, even structs with different non-standard fields.
APIs part of extensions may be left out completely if one target doesn't implement it.
APIs with a direct replacement in core might not be implemented.
Macros are emulated with force inlined functions.
Struct fields defined by the posix standard (and thus portable) are documented with [PSX].
ADD A TEST FOR SIGINFO, one thread signalling and retrieving the signal out of siginfo or something. ADD A TEST FOR wait.h ADD A TEST FOR pthread. ADDD A test for stat.h. ADD A TEST FOR setjmp.h. HAIKU.
Unimplemented POSIX headers:
- aio.h
- complex.h | See
core:c/libcand our own complex types - cpio.h
- ctype.h | See
core:c/libcfor most of it - ndbm.h | Never seen or heard of it
- fenv.h
- float.h
- fmtmsg.h
- ftw.h
- semaphore.h | See
core:sync - inttypes.h | See
core:c - iso646.h | Impossible
- math.h | See
core:c/libc - mqueue.h | Targets don't seem to have implemented it
- regex.h | See
core:regex - search.h | Not useful in Odin
- spawn.h | Use
fork,execve, etc. - stdarg.h | See
core:c/libc - stdint.h | See
core:c - stropts.h
- syslog.h
- pthread.h | Only the actual threads API is bound, see
core:syncfor synchronization primitives - string.h | Most of this is not useful in Odin, only a select few symbols are bound
- tar.h
- tgmath.h
- trace.h
- wchar.h
- wctype.h
TODO:
- time.h | Docs