diff --git a/lib/std/c/dragonfly.zig b/lib/std/c/dragonfly.zig index 900e1165f041572e222e3972c38020dcc8ac91fc..c7561d558d24085d2fe107ced9865488c5b9d059 100644 --- a/lib/std/c/dragonfly.zig +++ b/lib/std/c/dragonfly.zig @@ -1143,3 +1143,20 @@ pub const POLL = struct { pub const HUP = 0x0010; pub const NVAL = 0x0020; }; + +pub const SIGEV = struct { + pub const NONE = 0; + pub const SIGNAL = 1; + pub const THREAD = 2; +}; + +pub const sigevent = extern struct { + sigev_notify: c_int, + __sigev_u: extern union { + __sigev_signo: c_int, + __sigev_notify_kqueue: c_int, + __sigev_notify_attributes: ?*pthread_attr_t, + }, + sigev_value: sigval, + sigev_notify_function: ?*const fn (sigval) callconv(.C) void, +}; diff --git a/lib/std/c/freebsd.zig b/lib/std/c/freebsd.zig index af9f6b023b0e8d1e8bc4d8bc4cd96ceb1e0ad468..ab8406052269c7c3fe87f6a737ef19b629092f37 100644 --- a/lib/std/c/freebsd.zig +++ b/lib/std/c/freebsd.zig @@ -2248,3 +2248,28 @@ pub const shm_largeconf = extern struct { pub extern "c" fn shm_create_largepage(path: [*:0]const u8, flags: c_int, psind: c_int, alloc_policy: c_int, mode: mode_t) c_int; pub extern "c" fn elf_aux_info(aux: c_int, buf: ?*anyopaque, buflen: c_int) c_int; + +pub const lwpid = i32; + +pub const SIGEV = struct { + pub const NONE = 0; + pub const SIGNAL = 1; + pub const THREAD = 2; + pub const KEVENT = 3; + pub const THREAD_ID = 4; +}; + +pub const sigevent = extern struct { + sigev_notify: c_int, + sigev_signo: c_int, + sigev_value: sigval, + _sigev_un: extern union { + _threadid: lwpid, + _sigev_thread: extern struct { + _function: ?*const fn (sigval) callconv(.C) void, + _attribute: ?**pthread_attr_t, + }, + _kevent_flags: c_ushort, + __spare__: [8]c_long, + }, +}; diff --git a/lib/std/c/haiku.zig b/lib/std/c/haiku.zig index 9c4f8460deb4147bbd5ae316f4f5434fe4ff58f5..c6d661279c0a6f524693c81e8377ac76f9daeb1b 100644 --- a/lib/std/c/haiku.zig +++ b/lib/std/c/haiku.zig @@ -1038,3 +1038,22 @@ pub const termios = extern struct { }; pub const MSG_NOSIGNAL = 0x0800; + +pub const SIGEV = struct { + pub const NONE = 0; + pub const SIGNAL = 1; + pub const THREAD = 2; +}; + +pub const sigval = extern union { + int: c_int, + ptr: ?*anyopaque, +}; + +pub const sigevent = extern struct { + sigev_notify: c_int, + sigev_signo: c_int, + sigev_value: sigval, + sigev_notify_function: ?*const fn (sigval) callconv(.C) void, + sigev_notify_attributes: ?*pthread_attr_t, +}; diff --git a/lib/std/c/netbsd.zig b/lib/std/c/netbsd.zig index 41524885f74693f31d75461af22b342e5d7044b1..f70549775ccd8c6835787c1078bafb51e80fc166 100644 --- a/lib/std/c/netbsd.zig +++ b/lib/std/c/netbsd.zig @@ -1633,3 +1633,22 @@ pub const POLL = struct { pub const HUP = 0x0010; pub const NVAL = 0x0020; }; + +pub const SIGEV = struct { + pub const NONE = 0; + pub const SIGNAL = 1; + pub const THREAD = 2; +}; + +pub const sigval = extern union { + int: c_int, + ptr: ?*anyopaque, +}; + +pub const sigevent = extern struct { + sigev_notify: c_int, + sigev_signo: c_int, + sigev_value: sigval, + sigev_notify_function: ?*const fn (sigval) callconv(.C) void, + sigev_notify_attributes: ?*pthread_attr_t, +}; diff --git a/lib/std/c/solaris.zig b/lib/std/c/solaris.zig index b1b789c77b4a097b8f16d2bb089c2e738b67dc02..c2c38f46ceae023786750c8c57aa16ea222f5ec2 100644 --- a/lib/std/c/solaris.zig +++ b/lib/std/c/solaris.zig @@ -1927,3 +1927,22 @@ pub fn IOW(io_type: u8, nr: u8, comptime IOT: type) i32 { pub fn IOWR(io_type: u8, nr: u8, comptime IOT: type) i32 { return ioImpl(.read_write, io_type, nr, IOT); } + +pub const SIGEV = struct { + pub const NONE = 0; + pub const SIGNAL = 1; + pub const THREAD = 2; +}; + +pub const sigval = extern union { + int: c_int, + ptr: ?*anyopaque, +}; + +pub const sigevent = extern struct { + sigev_notify: c_int, + sigev_signo: c_int, + sigev_value: sigval, + sigev_notify_function: ?*const fn (sigval) callconv(.C) void, + sigev_notify_attributes: ?*pthread_attr_t, +};