@@ -123,6 +123,11 @@ pub type pthread_introspection_hook_t =
123123 extern "C" fn ( event : :: c_uint , thread : :: pthread_t , addr : * mut :: c_void , size : :: size_t ) ;
124124pub type pthread_jit_write_callback_t = :: Option < extern "C" fn ( ctx : * mut :: c_void ) -> :: c_int > ;
125125
126+ pub type os_clockid_t = u32 ;
127+
128+ pub type os_sync_wait_on_address_flags_t = u32 ;
129+ pub type os_sync_wake_by_address_flags_t = u32 ;
130+
126131pub type os_unfair_lock = os_unfair_lock_s ;
127132pub type os_unfair_lock_t = * mut os_unfair_lock ;
128133
@@ -5438,6 +5443,15 @@ pub const VOL_CAP_INT_RENAME_SWAP: attrgroup_t = 0x00040000;
54385443pub const VOL_CAP_INT_RENAME_EXCL : attrgroup_t = 0x00080000 ;
54395444pub const VOL_CAP_INT_RENAME_OPENFAIL : attrgroup_t = 0x00100000 ;
54405445
5446+ // os/clock.h
5447+ pub const OS_CLOCK_MACH_ABSOLUTE_TIME : os_clockid_t = 32 ;
5448+
5449+ // os/os_sync_wait_on_address.h
5450+ pub const OS_SYNC_WAIT_ON_ADDRESS_NONE : os_sync_wait_on_address_flags_t = 0x00000000 ;
5451+ pub const OS_SYNC_WAIT_ON_ADDRESS_SHARED : os_sync_wait_on_address_flags_t = 0x00000001 ;
5452+ pub const OS_SYNC_WAKE_BY_ADDRESS_NONE : os_sync_wake_by_address_flags_t = 0x00000000 ;
5453+ pub const OS_SYNC_WAKE_BY_ADDRESS_SHARED : os_sync_wake_by_address_flags_t = 0x00000001 ;
5454+
54415455// <proc.h>
54425456/// Process being created by fork.
54435457pub const SIDL : u32 = 1 ;
@@ -5791,6 +5805,40 @@ extern "C" {
57915805 pub fn pthread_jit_write_freeze_callbacks_np ( ) ;
57925806 pub fn pthread_cpu_number_np ( cpu_number_out : * mut :: size_t ) -> :: c_int ;
57935807
5808+ // Available starting with macOS 14.4.
5809+ pub fn os_sync_wait_on_address (
5810+ addr : * mut :: c_void ,
5811+ value : u64 ,
5812+ size : :: size_t ,
5813+ flags : os_sync_wait_on_address_flags_t ,
5814+ ) -> :: c_int ;
5815+ pub fn os_sync_wait_on_address_with_deadline (
5816+ addr : * mut :: c_void ,
5817+ value : u64 ,
5818+ size : :: size_t ,
5819+ flags : os_sync_wait_on_address_flags_t ,
5820+ clockid : os_clockid_t ,
5821+ deadline : u64 ,
5822+ ) -> :: c_int ;
5823+ pub fn os_sync_wait_on_address_with_timeout (
5824+ addr : * mut :: c_void ,
5825+ value : u64 ,
5826+ size : :: size_t ,
5827+ flags : os_sync_wait_on_address_flags_t ,
5828+ clockid : os_clockid_t ,
5829+ timeout_ns : u64 ,
5830+ ) -> :: c_int ;
5831+ pub fn os_sync_wake_by_address_any (
5832+ addr : * mut :: c_void ,
5833+ size : :: size_t ,
5834+ flags : os_sync_wake_by_address_flags_t ,
5835+ ) -> :: c_int ;
5836+ pub fn os_sync_wake_by_address_all (
5837+ addr : * mut :: c_void ,
5838+ size : :: size_t ,
5839+ flags : os_sync_wake_by_address_flags_t ,
5840+ ) -> :: c_int ;
5841+
57945842 pub fn os_unfair_lock_lock ( lock : os_unfair_lock_t ) ;
57955843 pub fn os_unfair_lock_trylock ( lock : os_unfair_lock_t ) -> bool ;
57965844 pub fn os_unfair_lock_unlock ( lock : os_unfair_lock_t ) ;
0 commit comments