]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/timer_queue.h
xnu-1699.22.73.tar.gz
[apple/xnu.git] / osfmk / kern / timer_queue.h
index 050b09afac99c8f7f2d85c2e6e4210b382f58c61..3975b31015c034fbea258fbdb84b0ea6ac3b4688 100644 (file)
  */
 
 /* Request an expiration deadline, returns queue association */
-extern queue_t         timer_queue_assign(
+extern mpqueue_head_t *timer_queue_assign(
+                               uint64_t                deadline);
+
+extern uint64_t                timer_call_slop(
                                                uint64_t                deadline);
 
 /* Cancel an associated expiration deadline and specify new deadline */
-extern void                    timer_queue_cancel(
-                                               queue_t                 queue,
-                                               uint64_t                deadline,
-                                               uint64_t                new_deadline);
+extern void            timer_queue_cancel(
+                               mpqueue_head_t          *queue,
+                               uint64_t                deadline,
+                               uint64_t                new_deadline);
 
 /*
  *     Invoked by platform, implemented by kernel.
@@ -58,12 +61,17 @@ extern void                 timer_queue_cancel(
 
 /* Process deadline expiration for queue, returns new deadline */
 extern uint64_t                timer_queue_expire(
-                                               queue_t                 queue,
-                                               uint64_t                deadline);
+                               mpqueue_head_t          *queue,
+                               uint64_t                deadline);
 
 /* Shutdown a timer queue and reassign existing activities */
-extern void                    timer_queue_shutdown(
-                                               queue_t                 queue);
+extern void            timer_queue_shutdown(
+                               mpqueue_head_t          *queue);
+
+/* Move timer requests from one queue to another */
+extern int             timer_queue_migrate(
+                               mpqueue_head_t          *from,
+                               mpqueue_head_t          *to);
 
 #endif /* MACH_KERNEL_PRIVATE */