]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/lock.h
xnu-517.12.7.tar.gz
[apple/xnu.git] / osfmk / kern / lock.h
index 5119b89596c3444176cfc78ba0a56e60153e99e0..cbb9cdb6b301e3aa04c48109080a19bec5c63cd8 100644 (file)
@@ -153,15 +153,36 @@ typedef struct {
 #define        decl_mutex_data(class,name)     class mutex_t name;
 #define mutex_addr(m)                  (&(m))
 
-extern void    mutex_init              (mutex_t*, etap_event_t);
-extern void    mutex_lock_wait         (mutex_t *, thread_act_t);
-extern int     mutex_lock_acquire      (mutex_t *);
-extern void    mutex_unlock_wakeup     (mutex_t*, thread_act_t);
-extern void    interlock_unlock        (hw_lock_t);
+extern void            mutex_init(
+                                       mutex_t                 *mutex,
+                                       etap_event_t    tag);
+
+extern void            mutex_lock_wait(
+                                       mutex_t                 *mutex,
+                                       thread_t                holder);
+
+extern int             mutex_lock_acquire(
+                                       mutex_t                 *mutex);
+
+extern void            mutex_unlock_wakeup(
+                                       mutex_t                 *mutex,
+                                       thread_t                holder);
+
+extern boolean_t       mutex_preblock(
+                                               mutex_t                 *mutex,
+                                               thread_t                thread);
+
+extern boolean_t       mutex_preblock_wait(
+                                               mutex_t                 *mutex,
+                                               thread_t                thread,
+                                               thread_t                holder);
+
+extern void            interlock_unlock(
+                                       hw_lock_t               lock);
 
 #endif /* MACH_KERNEL_PRIVATE */
 
-extern void    mutex_pause             (void);
+extern void            mutex_pause(void);
 
 #endif /* __APPLE_API_PRIVATE */
 
@@ -171,11 +192,20 @@ typedef struct __mutex__ mutex_t;
 
 #endif /* MACH_KERNEL_PRIVATE */
 
-extern mutex_t *mutex_alloc            (etap_event_t);
-extern void    mutex_free              (mutex_t*);
-extern void    mutex_lock              (mutex_t*);
-extern void    mutex_unlock            (mutex_t*);
-extern boolean_t mutex_try             (mutex_t*);
+extern mutex_t *mutex_alloc(
+                                       etap_event_t    tag);
+
+extern void            mutex_free(
+                                       mutex_t                 *mutex);
+
+extern void            mutex_lock(
+                                       mutex_t                 *mutex);
+
+extern void            mutex_unlock(
+                                       mutex_t                 *mutex);
+
+extern boolean_t       mutex_try(
+                                               mutex_t         *mutex);
 
 #ifdef __APPLE_API_PRIVATE