Skip to main content

apple_cf/ffi/
dispatch_extras.rs

1#![allow(missing_docs)]
2
3use core::ffi::c_void;
4
5extern "C" {
6    pub fn acf_dispatch_group_create() -> *mut c_void;
7    pub fn acf_dispatch_group_enter(group: *mut c_void);
8    pub fn acf_dispatch_group_leave(group: *mut c_void);
9    pub fn acf_dispatch_group_wait(group: *mut c_void, timeout_ms: i64) -> bool;
10
11    pub fn acf_dispatch_semaphore_create(value: i64) -> *mut c_void;
12    pub fn acf_dispatch_semaphore_signal(semaphore: *mut c_void) -> i64;
13    pub fn acf_dispatch_semaphore_wait(semaphore: *mut c_void, timeout_ms: i64) -> bool;
14
15    pub fn acf_dispatch_source_timer_create(interval_ms: u64, leeway_ms: u64) -> *mut c_void;
16    pub fn acf_dispatch_source_timer_resume(source: *mut c_void);
17    pub fn acf_dispatch_source_timer_cancel(source: *mut c_void);
18    pub fn acf_dispatch_source_timer_fire_count(source: *mut c_void) -> u64;
19}