diff --git a/lib/std/c.zig b/lib/std/c.zig index 9ba88db994..b7a412339e 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -271,6 +271,10 @@ pub extern "c" fn pthread_atfork( parent: ?fn () callconv(.C) void, child: ?fn () callconv(.C) void, ) c_int; +pub extern "c" fn pthread_key_create(key: *pthread_key_t, destructor: ?fn (value: *c_void) callconv(.C) void) c_int; +pub extern "c" fn pthread_key_delete(key: pthread_key_t) c_int; +pub extern "c" fn pthread_getspecific(key: pthread_key_t) ?*c_void; +pub extern "c" fn pthread_setspecific(key: pthread_key_t, value: ?*c_void) c_int; pub extern "c" fn sem_init(sem: *sem_t, pshared: c_int, value: c_uint) c_int; pub extern "c" fn sem_destroy(sem: *sem_t) c_int; pub extern "c" fn sem_post(sem: *sem_t) c_int; diff --git a/lib/std/c/openbsd.zig b/lib/std/c/openbsd.zig index f9e0c3c6d8..dd89c837ff 100644 --- a/lib/std/c/openbsd.zig +++ b/lib/std/c/openbsd.zig @@ -33,6 +33,7 @@ pub const pthread_spinlock_t = extern struct { pub const pthread_attr_t = extern struct { inner: ?*c_void = null, }; +pub const pthread_key_t = c_int; pub const sem_t = ?*opaque {};