| 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 | 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 | 10823 | pub extern "c" fn sem_init(sem: *sem_t, pshared: c_int, value: c_uint) c_int; |
| 10814 | 10824 | pub extern "c" fn sem_destroy(sem: *sem_t) c_int; |
| 10815 | 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 | 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 | 371 | pub const socket_t = if (native_os == .windows) windows.ws2_32.SOCKET else fd_t; |
| 279 | 372 | |
| 280 | 373 | /// Obtains errno from the return value of a system function call. |