Fix bindings for sys/linux and posix/unistd.odin

This commit is contained in:
gingerBill
2025-01-31 08:37:43 +00:00
parent 5d758cd020
commit 539a74c2a9
2 changed files with 213 additions and 173 deletions

View File

@@ -2010,10 +2010,10 @@ statfs :: proc "contextless" (path: cstring, statfs: ^Stat_FS) -> (Errno) {
*/
fstatfs :: proc "contextless" (fd: Fd, statfs: ^Stat_FS) -> (Errno) {
when size_of(int) == 8 {
ret := syscall(SYS_statfs, fd, statfs)
ret := syscall(SYS_fstatfs, fd, statfs)
return Errno(-ret)
} else {
ret := syscall(SYS_statfs64, fd, size_of(Stat_FS), statfs)
ret := syscall(SYS_fstatfs64, fd, size_of(Stat_FS), statfs)
return Errno(-ret)
}
}

View File

@@ -899,7 +899,7 @@ CS :: enum c.int {
}
PC :: enum c.int {
_2_SYMLINK = _PC_2_SYMLINK,
_2_SYMLINKS = _PC_2_SYMLINKS,
_ALLOC_SIZE_MIN = _PC_ALLOC_SIZE_MIN,
_ASYNC_IO = _PC_ASYNC_IO,
_CHOWN_RESTRICTED = _PC_CHOWN_RESTRICTED,
@@ -1099,7 +1099,7 @@ when ODIN_OS == .Darwin {
_PC_CHOWN_RESTRICTED :: 7
_PC_NO_TRUNC :: 8
_PC_VDISABLE :: 9
_PC_2_SYMLINK :: 15
_PC_2_SYMLINKS :: 15
_PC_ALLOC_SIZE_MIN :: 16
_PC_ASYNC_IO :: 17
_PC_FILESIZEBITS :: 18
@@ -1280,7 +1280,7 @@ when ODIN_OS == .Darwin {
_PC_CHOWN_RESTRICTED :: 7
_PC_NO_TRUNC :: 8
_PC_VDISABLE :: 9
_PC_2_SYMLINK :: 13 // NOTE: not in headers (freebsd)
_PC_2_SYMLINKS :: 13 // NOTE: not in headers (freebsd)
_PC_ALLOC_SIZE_MIN :: 10
_PC_ASYNC_IO :: 53
_PC_FILESIZEBITS :: 12
@@ -1461,7 +1461,7 @@ when ODIN_OS == .Darwin {
_PC_CHOWN_RESTRICTED :: 7
_PC_NO_TRUNC :: 8
_PC_VDISABLE :: 9
_PC_2_SYMLINK :: 13 // NOTE: not in headers
_PC_2_SYMLINKS :: 13 // NOTE: not in headers
_PC_ALLOC_SIZE_MIN :: 10 // NOTE: not in headers
_PC_ASYNC_IO :: 53 // NOTE: not in headers
_PC_FILESIZEBITS :: 11
@@ -1646,7 +1646,7 @@ when ODIN_OS == .Darwin {
_PC_CHOWN_RESTRICTED :: 7
_PC_NO_TRUNC :: 8
_PC_VDISABLE :: 9
_PC_2_SYMLINK :: 10
_PC_2_SYMLINKS :: 10
_PC_ALLOC_SIZE_MIN :: 11
_PC_ASYNC_IO :: 12
_PC_FILESIZEBITS :: 13
@@ -1816,176 +1816,216 @@ when ODIN_OS == .Darwin {
F_TLOCK :: 2
F_ULOCK :: 0
_CS_PATH :: 1
_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS :: 2
_CS_PATH :: 0
_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS :: 1
_CS_GNU_LIBC_VERSION :: 2
_CS_GNU_LIBPTHREAD_VERSION :: 3
_CS_POSIX_V5_WIDTH_RESTRICTED_ENVS :: 4
_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS :: 5
_CS_POSIX_V6_ILP32_OFF32_CFLAGS :: 1116
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS :: 1117
_CS_POSIX_V6_ILP32_OFF32_LIBS :: 1118
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS :: 1120
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS :: 1121
_CS_POSIX_V6_ILP32_OFFBIG_LIBS :: 1122
_CS_POSIX_V6_LP64_OFF64_CFLAGS :: 1124
_CS_POSIX_V6_LP64_OFF64_LDFLAGS :: 1125
_CS_POSIX_V6_LP64_OFF64_LIBS :: 1126
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS :: 1128
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS :: 1129
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS :: 1130
_CS_POSIX_V6_ILP32_OFF32_CFLAGS :: 1116
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS :: 1117
_CS_POSIX_V6_ILP32_OFF32_LIBS :: 1118
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS :: 1119
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS :: 1120
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS :: 1121
_CS_POSIX_V6_ILP32_OFFBIG_LIBS :: 1122
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS :: 1123
_CS_POSIX_V6_LP64_OFF64_CFLAGS :: 1124
_CS_POSIX_V6_LP64_OFF64_LDFLAGS :: 1125
_CS_POSIX_V6_LP64_OFF64_LIBS :: 1126
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS :: 1127
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS :: 1128
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS :: 1129
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS :: 1130
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS :: 1131
_CS_POSIX_V7_ILP32_OFF32_CFLAGS :: 1132
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS :: 1133
_CS_POSIX_V7_ILP32_OFF32_LIBS :: 1134
_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS :: 1135
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS :: 1136
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS :: 1137
_CS_POSIX_V7_ILP32_OFFBIG_LIBS :: 1138
_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS :: 1139
_CS_POSIX_V7_LP64_OFF64_CFLAGS :: 1140
_CS_POSIX_V7_LP64_OFF64_LDFLAGS :: 1141
_CS_POSIX_V7_LP64_OFF64_LIBS :: 1142
_CS_POSIX_V7_LP64_OFF64_LINTFLAGS :: 1143
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS :: 1144
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS :: 1145
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS :: 1146
_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS :: 1147
_CS_V6_ENV :: 1148
_CS_V7_ENV :: 1149
_CS_POSIX_V7_THREADS_CFLAGS :: 1150
_CS_POSIX_V7_THREADS_LDFLAGS :: 1151
_PC_LINK_MAX :: 1
_PC_MAX_CANON :: 2
_PC_MAX_INPUT :: 3
_PC_NAME_MAX :: 4
_PC_PATH_MAX :: 5
_PC_PIPE_BUF :: 6
_PC_CHOWN_RESTRICTED :: 7
_PC_NO_TRUNC :: 8
_PC_VDISABLE :: 9
_PC_SYNC_IO :: 10
_PC_ASYNC_IO :: 11
_PC_PRIO_IO :: 12
_PC_FILESIZEBITS :: 14
_PC_REC_INCR_XFER_SIZE :: 15
_PC_REC_MAX_XFER_SIZE :: 16
_PC_REC_MIN_XFER_SIZE :: 17
_PC_REC_XFER_ALIGN :: 18
_PC_ALLOC_SIZE_MIN :: 19
_PC_SYMLINK_MAX :: 20
_PC_2_SYMLINK :: 21
_SC_ARG_MAX :: 1
_SC_CHILD_MAX :: 2
_SC_CLK_TCK :: 3
_SC_NGROUPS_MAX :: 4
_SC_OPEN_MAX :: 5
_SC_STREAM_MAX :: 6
_SC_TZNAME_MAX :: 7
_SC_JOB_CONTROL :: 8
_SC_SAVED_IDS :: 9
_SC_REALTIME_SIGNALS :: 10
_SC_PRIORITY_SCHEDULING :: 11
_SC_TIMERS :: 12
_SC_ASYNCHRONOUS_IO :: 13
_SC_PRIORITIZED_IO :: 14
_SC_SYNCHRONIZED_IO :: 15
_SC_FSYNC :: 16
_SC_MAPPED_FILES :: 17
_SC_MEMLOCK :: 18
_SC_MEMLOCK_RANGE :: 19
_SC_MEMORY_PROTECTION :: 20
_SC_MESSAGE_PASSING :: 21
_SC_SEMAPHORES :: 22
_SC_SHARED_MEMORY_OBJECTS :: 23
_SC_AIO_LISTIO_MAX :: 24
_SC_AIO_MAX :: 25
_SC_AIO_PRIO_DELTA_MAX :: 26
_SC_DELAYTIMER_MAX :: 27
_SC_MQ_OPEN_MAX :: 28
_SC_MQ_PRIO_MAX :: 29
_SC_VERSION :: 30
_SC_PAGESIZE :: 31
_SC_PAGE_SIZE :: _SC_PAGESIZE
_SC_RTSIG_MAX :: 32
_SC_SEM_NSEMS_MAX :: 33
_SC_SEM_VALUE_MAX :: 34
_SC_SIGQUEUE_MAX :: 35
_SC_TIMER_MAX :: 36
_SC_BC_BASE_MAX :: 37
_SC_BC_DIM_MAX :: 38
_SC_BC_SCALE_MAX :: 39
_SC_BC_STRING_MAX :: 40
_SC_COLL_WEIGHTS_MAX :: 41
_SC_EXPR_NEST_MAX :: 43
_SC_LINE_MAX :: 44
_SC_RE_DUP_MAX :: 45
_SC_2_VERSION :: 47
_SC_2_C_BIND :: 48
_SC_2_C_DEV :: 49
_SC_2_FORT_DEV :: 50
_SC_2_FORT_RUN :: 51
_SC_2_SW_DEV :: 52
_SC_2_LOCALEDEF :: 53
_PC_LINK_MAX :: 0
_PC_MAX_CANON :: 1
_PC_MAX_INPUT :: 2
_PC_NAME_MAX :: 3
_PC_PATH_MAX :: 4
_PC_PIPE_BUF :: 5
_PC_CHOWN_RESTRICTED :: 6
_PC_NO_TRUNC :: 7
_PC_VDISABLE :: 8
_PC_SYNC_IO :: 9
_PC_ASYNC_IO :: 10
_PC_PRIO_IO :: 11
_PC_SOCK_MAXBUF :: 12
_PC_FILESIZEBITS :: 13
_PC_REC_INCR_XFER_SIZE :: 14
_PC_REC_MAX_XFER_SIZE :: 15
_PC_REC_MIN_XFER_SIZE :: 16
_PC_REC_XFER_ALIGN :: 17
_PC_ALLOC_SIZE_MIN :: 18
_PC_SYMLINK_MAX :: 19
_PC_2_SYMLINKS :: 20
_SC_IOV_MAX :: 62
_SC_THREADS :: 69
_SC_THREAD_SAFE_FUNCTIONS :: 70
_SC_GETGR_R_SIZE_MAX :: 71
_SC_GETPW_R_SIZE_MAX :: 72
_SC_LOGIN_NAME_MAX :: 73
_SC_TTY_NAME_MAX :: 74
_SC_THREAD_DESTRUCTOR_ITERATIONS :: 75
_SC_THREAD_KEYS_MAX :: 76
_SC_THREAD_STACK_MIN :: 77
_SC_THREAD_THREADS_MAX :: 78
_SC_THREAD_ATTR_STACKADDR :: 79
_SC_THREAD_ATTR_STACKSIZE :: 80
_SC_THREAD_PRIORITY_SCHEDULING :: 81
_SC_THREAD_PRIO_INHERIT :: 82
_SC_THREAD_PRIO_PROTECT :: 83
_SC_THREAD_PROCESS_SHARED :: 84
_SC_NPROCESSORS_CONF :: 85
_SC_NPROCESSORS_ONLN :: 86
_SC_PHYS_PAGES :: 87
_SC_AVPHYS_PAGES :: 88
_SC_ATEXIT_MAX :: 89
_SC_PASS_MAX :: 90
_SC_XOPEN_VERSION :: 91
_SC_XOPEN_UNIX :: 92
_SC_XOPEN_CRYPT :: 93
_SC_XOPEN_ENH_I18N :: 94
_SC_XOPEN_SHM :: 95
_SC_2_CHAR_TERM :: 96
_SC_ARG_MAX :: 0
_SC_CHILD_MAX :: 1
_SC_CLK_TCK :: 2
_SC_NGROUPS_MAX :: 3
_SC_OPEN_MAX :: 4
_SC_STREAM_MAX :: 5
_SC_TZNAME_MAX :: 6
_SC_JOB_CONTROL :: 7
_SC_SAVED_IDS :: 8
_SC_REALTIME_SIGNALS :: 9
_SC_PRIORITY_SCHEDULING :: 10
_SC_TIMERS :: 11
_SC_ASYNCHRONOUS_IO :: 12
_SC_PRIORITIZED_IO :: 13
_SC_SYNCHRONIZED_IO :: 14
_SC_FSYNC :: 15
_SC_MAPPED_FILES :: 16
_SC_MEMLOCK :: 17
_SC_MEMLOCK_RANGE :: 18
_SC_MEMORY_PROTECTION :: 19
_SC_MESSAGE_PASSING :: 20
_SC_SEMAPHORES :: 21
_SC_SHARED_MEMORY_OBJECTS :: 22
_SC_AIO_LISTIO_MAX :: 23
_SC_AIO_MAX :: 24
_SC_AIO_PRIO_DELTA_MAX :: 25
_SC_DELAYTIMER_MAX :: 26
_SC_MQ_OPEN_MAX :: 27
_SC_MQ_PRIO_MAX :: 28
_SC_VERSION :: 29
_SC_PAGE_SIZE :: 30
_SC_PAGESIZE :: _SC_PAGE_SIZE
_SC_RTSIG_MAX :: 31
_SC_SEM_NSEMS_MAX :: 32
_SC_SEM_VALUE_MAX :: 33
_SC_SIGQUEUE_MAX :: 34
_SC_TIMER_MAX :: 35
_SC_BC_BASE_MAX :: 36
_SC_BC_DIM_MAX :: 37
_SC_BC_SCALE_MAX :: 38
_SC_BC_STRING_MAX :: 39
_SC_COLL_WEIGHTS_MAX :: 40
_SC_EXPR_NEST_MAX :: 42
_SC_LINE_MAX :: 43
_SC_RE_DUP_MAX :: 44
_SC_2_VERSION :: 46
_SC_2_C_BIND :: 47
_SC_2_C_DEV :: 48
_SC_2_FORT_DEV :: 49
_SC_2_FORT_RUN :: 50
_SC_2_SW_DEV :: 51
_SC_2_LOCALEDEF :: 52
_SC_UIO_MAXIOV :: 60
_SC_IOV_MAX :: _SC_UIO_MAXIOV
_SC_THREADS :: 67
_SC_THREAD_SAFE_FUNCTIONS :: 68
_SC_GETGR_R_SIZE_MAX :: 69
_SC_GETPW_R_SIZE_MAX :: 70
_SC_LOGIN_NAME_MAX :: 71
_SC_TTY_NAME_MAX :: 72
_SC_THREAD_DESTRUCTOR_ITERATIONS :: 73
_SC_THREAD_KEYS_MAX :: 74
_SC_THREAD_STACK_MIN :: 75
_SC_THREAD_THREADS_MAX :: 76
_SC_THREAD_ATTR_STACKADDR :: 77
_SC_THREAD_ATTR_STACKSIZE :: 78
_SC_THREAD_PRIORITY_SCHEDULING :: 79
_SC_THREAD_PRIO_INHERIT :: 80
_SC_THREAD_PRIO_PROTECT :: 81
_SC_THREAD_PROCESS_SHARED :: 82
_SC_NPROCESSORS_CONF :: 83
_SC_NPROCESSORS_ONLN :: 84
_SC_PHYS_PAGES :: 85
_SC_AVPHYS_PAGES :: 86
_SC_ATEXIT_MAX :: 87
_SC_PASS_MAX :: 88
_SC_XOPEN_VERSION :: 89
_SC_XOPEN_XCU_VERSION :: 90
_SC_XOPEN_UNIX :: 91
_SC_XOPEN_CRYPT :: 92
_SC_XOPEN_ENH_I18N :: 93
_SC_XOPEN_SHM :: 94
_SC_2_CHAR_TERM :: 95
_SC_2_UPE :: 97
_SC_XOPEN_XPG2 :: 98
_SC_XOPEN_XPG3 :: 99
_SC_XOPEN_XPG4 :: 100
_SC_NZERO :: 109
_SC_XBS5_ILP32_OFF32 :: 125
_SC_XBS5_ILP32_OFFBIG :: 126
_SC_XBS5_LP64_OFF64 :: 127
_SC_XBS5_LPBIG_OFFBIG :: 128
_SC_XOPEN_LEGACY :: 129
_SC_XOPEN_REALTIME :: 130
_SC_XOPEN_REALTIME_THREADS :: 131
_SC_ADVISORY_INFO :: 132
_SC_BARRIERS :: 133
_SC_CLOCK_SELECTION :: 137
_SC_CPUTIME :: 138
_SC_THREAD_CPUTIME :: 139
_SC_MONOTONIC_CLOCK :: 149
_SC_READER_WRITER_LOCKS :: 153
_SC_SPIN_LOCKS :: 154
_SC_REGEXP :: 155
_SC_SHELL :: 157
_SC_SPAWN :: 159
_SC_SPORADIC_SERVER :: 160
_SC_THREAD_SPORADIC_SERVER :: 161
_SC_TIMEOUTS :: 164
_SC_TYPED_MEMORY_OBJECTS :: 165
_SC_2_PBS :: 168
_SC_2_PBS_ACCOUNTING :: 169
_SC_2_PBS_LOCATE :: 170
_SC_2_PBS_MESSAGE :: 171
_SC_2_PBS_TRACK :: 172
_SC_SYMLOOP_MAX :: 173
_SC_STREAMS :: 174
_SC_2_PBS_CHECKPOINT :: 175
_SC_V6_ILP32_OFF32 :: 176
_SC_V6_ILP32_OFFBIG :: 177
_SC_V6_LP64_OFF64 :: 178
_SC_V6_LPBIG_OFFBIG :: 179
_SC_HOST_NAME_MAX :: 180
_SC_TRACE :: 181
_SC_TRACE_EVENT_FILTER :: 182
_SC_TRACE_INHERIT :: 183
_SC_TRACE_LOG :: 184
_SC_XOPEN_LEGACY :: 129
_SC_XOPEN_REALTIME :: 130
_SC_XOPEN_REALTIME_THREADS :: 131
_SC_ADVISORY_INFO :: 132
_SC_BARRIERS :: 133
_SC_CLOCK_SELECTION :: 137
_SC_CPUTIME :: 138
_SC_THREAD_CPUTIME :: 139
_SC_MONOTONIC_CLOCK :: 149
_SC_READER_WRITER_LOCKS :: 153
_SC_SPIN_LOCKS :: 154
_SC_REGEXP :: 155
_SC_SHELL :: 157
_SC_SPAWN :: 159
_SC_SPORADIC_SERVER :: 160
_SC_THREAD_SPORADIC_SERVER :: 161
_SC_TIMEOUTS :: 164
_SC_TYPED_MEMORY_OBJECTS :: 165
_SC_2_PBS :: 168
_SC_2_PBS_ACCOUNTING :: 169
_SC_2_PBS_LOCATE :: 170
_SC_2_PBS_MESSAGE :: 171
_SC_2_PBS_TRACK :: 172
_SC_SYMLOOP_MAX :: 173
_SC_2_PBS_CHECKPOINT :: 174
_SC_V6_ILP32_OFF32 :: 175
_SC_V6_ILP32_OFFBIG :: 176
_SC_V6_LP64_OFF64 :: 177
_SC_V6_LPBIG_OFFBIG :: 178
_SC_HOST_NAME_MAX :: 179
_SC_TRACE :: 180
_SC_TRACE_EVENT_FILTER :: 181
_SC_TRACE_INHERIT :: 182
_SC_TRACE_LOG :: 183
_SC_IPV6 :: 234
_SC_RAW_SOCKETS :: 235
_SC_V7_ILP32_OFF32 :: 236
_SC_V7_ILP32_OFFBIG :: 237
_SC_V7_LP64_OFF64 :: 238
_SC_V7_LPBIG_OFFBIG :: 239
_SC_SS_REPL_MAX :: 240
_SC_TRACE_EVENT_NAME_MAX :: 241
_SC_TRACE_NAME_MAX :: 242
_SC_TRACE_SYS_MAX :: 243
_SC_TRACE_USER_EVENT_MAX :: 244
_SC_XOPEN_STREAMS :: 245
_SC_THREAD_ROBUST_PRIO_INHERIT :: 246
_SC_THREAD_ROBUST_PRIO_PROTECT :: 247
_SC_IPV6 :: 235
_SC_RAW_SOCKETS :: 236
_SC_V7_ILP32_OFF32 :: 237
_SC_V7_ILP32_OFFBIG :: 238
_SC_V7_LP64_OFF64 :: 239
_SC_V7_LPBIG_OFFBIG :: 240
_SC_SS_REPL_MAX :: 241
_SC_TRACE_EVENT_NAME_MAX :: 242
_SC_TRACE_NAME_MAX :: 243
_SC_TRACE_SYS_MAX :: 244
_SC_TRACE_USER_EVENT_MAX :: 245
_SC_XOPEN_STREAMS :: 246
_SC_THREAD_ROBUST_PRIO_INHERIT :: 247
_SC_THREAD_ROBUST_PRIO_PROTECT :: 248
_SC_MINSIGSTKSZ :: 249
_SC_SIGSTKSZ :: 250
// NOTE: Not implemented.
_SC_XOPEN_UUCP :: 0
@@ -2046,7 +2086,7 @@ when ODIN_OS == .Darwin {
_PC_REC_XFER_ALIGN :: 34
_PC_ALLOC_SIZE_MIN :: 35
_PC_SYMLINK_MAX :: 36
_PC_2_SYMLINK :: 37
_PC_2_SYMLINKS :: 37
_SC_ARG_MAX :: 15
_SC_CHILD_MAX :: 16