| author | |
| committer | |
| log | 31a26bf483ea5cb59d362810f1095426b3aeeb25 |
| tree | 66d721415cec82827776e69c3a45b42dc0ca4749 |
| parent | 648c1c5d28f3c3b1da1acf326b733c47436007d1 |
2 files changed, 103 insertions(+), 0 deletions(-)
lib/std/c.zig+10| ... | @@ -10810,6 +10810,16 @@ pub const ptrace = switch (native_os) { | ... | @@ -10810,6 +10810,16 @@ pub const ptrace = switch (native_os) { |
| 10810 | else => {}, | 10810 | else => {}, |
| 10811 | }; | 10811 | }; |
| 10812 | 10812 | ||
| 10813 | pub extern "c" fn semget(key: std.posix.key_t, nsems: c_int, semflg: c_int) c_int; | ||
| 10814 | pub extern "c" fn semctl(semid: c_int, semnum: c_int, op: c_int, ...) c_int; | ||
| 10815 | pub extern "c" fn semop(semid: c_int, sops: [*]std.posix.sembuf, nsops: usize) c_int; | ||
| 10816 | pub extern "c" fn semtimedop( | ||
| 10817 | semid: c_int, | ||
| 10818 | sops: [*]std.posix.sembuf, | ||
| 10819 | nsops: usize, | ||
| 10820 | timeout: ?*const timespec, | ||
| 10821 | ) c_int; | ||
| 10822 | |||
| 10813 | pub extern "c" fn sem_init(sem: *sem_t, pshared: c_int, value: c_uint) c_int; | 10823 | pub extern "c" fn sem_init(sem: *sem_t, pshared: c_int, value: c_uint) c_int; |
| 10814 | pub extern "c" fn sem_destroy(sem: *sem_t) c_int; | 10824 | pub extern "c" fn sem_destroy(sem: *sem_t) c_int; |
| 10815 | pub extern "c" fn sem_open(name: [*:0]const u8, flag: c_int, mode: mode_t, value: c_uint) *sem_t; | 10825 | pub extern "c" fn sem_open(name: [*:0]const u8, flag: c_int, mode: mode_t, value: c_uint) *sem_t; |
lib/std/posix.zig+93| ... | @@ -275,6 +275,99 @@ pub const LOG = struct { | ... | @@ -275,6 +275,99 @@ pub const LOG = struct { |
| 275 | pub const DEBUG = 7; | 275 | pub const DEBUG = 7; |
| 276 | }; | 276 | }; |
| 277 | 277 | ||
| 278 | pub const key_t = switch (native_os) { | ||
| 279 | .linux, .illumos => enum(c_int) { | ||
| 280 | IPC_PRIVATE = 0, | ||
| 281 | _, | ||
| 282 | }, | ||
| 283 | .freebsd, .netbsd, .openbsd, .dragonfly => enum(c_long) { | ||
| 284 | IPC_PRIVATE = 0, | ||
| 285 | _, | ||
| 286 | }, | ||
| 287 | .haiku, | ||
| 288 | .driverkit, | ||
| 289 | .ios, | ||
| 290 | .maccatalyst, | ||
| 291 | .macos, | ||
| 292 | .tvos, | ||
| 293 | .visionos, | ||
| 294 | .watchos, | ||
| 295 | => enum(i32) { | ||
| 296 | IPC_PRIVATE = 0, | ||
| 297 | _, | ||
| 298 | }, | ||
| 299 | else => unreachable, | ||
| 300 | }; | ||
| 301 | pub const SETVAL = switch (native_os) { | ||
| 302 | .linux => 16, | ||
| 303 | |||
| 304 | .illumos, | ||
| 305 | .haiku, | ||
| 306 | |||
| 307 | .freebsd, | ||
| 308 | .netbsd, | ||
| 309 | .openbsd, | ||
| 310 | .dragonfly, | ||
| 311 | |||
| 312 | .driverkit, | ||
| 313 | .ios, | ||
| 314 | .maccatalyst, | ||
| 315 | .macos, | ||
| 316 | .tvos, | ||
| 317 | .visionos, | ||
| 318 | .watchos, | ||
| 319 | => 8, | ||
| 320 | |||
| 321 | else => unreachable, | ||
| 322 | }; | ||
| 323 | pub const SEM_UNDO = switch (native_os) { | ||
| 324 | .linux, | ||
| 325 | .illumos, | ||
| 326 | |||
| 327 | .freebsd, | ||
| 328 | .netbsd, | ||
| 329 | .openbsd, | ||
| 330 | .dragonfly, | ||
| 331 | |||
| 332 | .driverkit, | ||
| 333 | .ios, | ||
| 334 | .maccatalyst, | ||
| 335 | .macos, | ||
| 336 | .tvos, | ||
| 337 | .visionos, | ||
| 338 | .watchos, | ||
| 339 | => 0x1000, | ||
| 340 | |||
| 341 | .haiku => 10, | ||
| 342 | |||
| 343 | else => unreachable, | ||
| 344 | }; | ||
| 345 | pub const sembuf = switch (native_os) { | ||
| 346 | .linux, | ||
| 347 | .illumos, | ||
| 348 | .haiku, | ||
| 349 | |||
| 350 | .freebsd, | ||
| 351 | .netbsd, | ||
| 352 | .openbsd, | ||
| 353 | .dragonfly, | ||
| 354 | |||
| 355 | .driverkit, | ||
| 356 | .ios, | ||
| 357 | .maccatalyst, | ||
| 358 | .macos, | ||
| 359 | .tvos, | ||
| 360 | .visionos, | ||
| 361 | .watchos, | ||
| 362 | => extern struct { | ||
| 363 | sem_num: c_ushort, | ||
| 364 | sem_op: c_short, | ||
| 365 | sem_flg: c_short, | ||
| 366 | }, | ||
| 367 | |||
| 368 | else => unreachable, | ||
| 369 | }; | ||
| 370 | |||
| 278 | pub const socket_t = if (native_os == .windows) windows.ws2_32.SOCKET else fd_t; | 371 | pub const socket_t = if (native_os == .windows) windows.ws2_32.SOCKET else fd_t; |
| 279 | 372 | ||
| 280 | /// Obtains errno from the return value of a system function call. | 373 | /// Obtains errno from the return value of a system function call. |