-/* osfmk/kern/timer_call.h */
-typedef void *timer_call_param_t;
-typedef void (*timer_call_func_t)(
- timer_call_param_t param0,
- timer_call_param_t param1);
-
-typedef struct timer_call {
- queue_chain_t q_link;
- queue_t queue;
- timer_call_func_t func;
- timer_call_param_t param0;
- timer_call_param_t param1;
- decl_simple_lock_data(,lock);
- uint64_t deadline;
- uint64_t soft_deadline;
- uint32_t flags;
- boolean_t async_dequeue;
-} timer_call_data_t;
-
-typedef struct timer_call *timer_call_t;
-
-extern void
-timer_call_setup(
- timer_call_t call,
- timer_call_func_t func,
- timer_call_param_t param0);
-
-extern boolean_t
-timer_call_enter1(
- timer_call_t call,
- timer_call_param_t param1,
- uint64_t deadline,
- uint32_t flags);
-
-#ifndef TIMER_CALL_CRITICAL
-#define TIMER_CALL_CRITICAL 0x1
-#define TIMER_CALL_LOCAL 0x2
-#endif /* TIMER_CALL_CRITICAL */
-
-extern boolean_t
-timer_call_cancel(
- timer_call_t call);
-