@@ -137,6 +137,11 @@ pub type os_clockid_t = u32;
137
137
pub type os_sync_wait_on_address_flags_t = u32 ;
138
138
pub type os_sync_wake_by_address_flags_t = u32 ;
139
139
140
+ pub type os_clockid_t = u32 ;
141
+
142
+ pub type os_sync_wait_on_address_flags_t = u32 ;
143
+ pub type os_sync_wake_by_address_flags_t = u32 ;
144
+
140
145
pub type os_unfair_lock = os_unfair_lock_s ;
141
146
pub type os_unfair_lock_t = * mut os_unfair_lock ;
142
147
@@ -5854,6 +5859,40 @@ extern "C" {
5854
5859
flags : os_sync_wake_by_address_flags_t ,
5855
5860
) -> c_int ;
5856
5861
5862
+ // Available starting with macOS 14.4.
5863
+ pub fn os_sync_wait_on_address (
5864
+ addr : * mut :: c_void ,
5865
+ value : u64 ,
5866
+ size : :: size_t ,
5867
+ flags : os_sync_wait_on_address_flags_t ,
5868
+ ) -> :: c_int ;
5869
+ pub fn os_sync_wait_on_address_with_deadline (
5870
+ addr : * mut :: c_void ,
5871
+ value : u64 ,
5872
+ size : :: size_t ,
5873
+ flags : os_sync_wait_on_address_flags_t ,
5874
+ clockid : os_clockid_t ,
5875
+ deadline : u64 ,
5876
+ ) -> :: c_int ;
5877
+ pub fn os_sync_wait_on_address_with_timeout (
5878
+ addr : * mut :: c_void ,
5879
+ value : u64 ,
5880
+ size : :: size_t ,
5881
+ flags : os_sync_wait_on_address_flags_t ,
5882
+ clockid : os_clockid_t ,
5883
+ timeout_ns : u64 ,
5884
+ ) -> :: c_int ;
5885
+ pub fn os_sync_wake_by_address_any (
5886
+ addr : * mut :: c_void ,
5887
+ size : :: size_t ,
5888
+ flags : os_sync_wake_by_address_flags_t ,
5889
+ ) -> :: c_int ;
5890
+ pub fn os_sync_wake_by_address_all (
5891
+ addr : * mut :: c_void ,
5892
+ size : :: size_t ,
5893
+ flags : os_sync_wake_by_address_flags_t ,
5894
+ ) -> :: c_int ;
5895
+
5857
5896
pub fn os_unfair_lock_lock ( lock : os_unfair_lock_t ) ;
5858
5897
pub fn os_unfair_lock_trylock ( lock : os_unfair_lock_t ) -> bool ;
5859
5898
pub fn os_unfair_lock_unlock ( lock : os_unfair_lock_t ) ;
0 commit comments