]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/mach/sync_policy.h
xnu-792.tar.gz
[apple/xnu.git] / osfmk / mach / sync_policy.h
index 913ae11bb41bdf9c3141999035977fad18bf5cf9..1321547565819509fd848ea03356b212e536aba6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
  * @OSF_COPYRIGHT@
  */
 
-#ifndef        _SYNC_POLICY_H_
-#define _SYNC_POLICY_H_
+#ifndef        _MACH_SYNC_POLICY_H_
+#define _MACH_SYNC_POLICY_H_
 
 typedef int sync_policy_t;
 
-#define SYNC_POLICY_FIFO               0
-#define SYNC_POLICY_FIXED_PRIORITY     1
-#define SYNC_POLICY_MAX                        1
+/*
+ *     These options define the wait ordering of the synchronizers
+ */
+#define SYNC_POLICY_FIFO               0x0
+#define SYNC_POLICY_FIXED_PRIORITY     0x1
+#define SYNC_POLICY_REVERSED           0x2
+#define SYNC_POLICY_ORDER_MASK         0x3
+#define SYNC_POLICY_LIFO               (SYNC_POLICY_FIFO|SYNC_POLICY_REVERSED)
+
+#ifdef KERNEL_PRIVATE
+
+/*
+ *     These options provide addition (kernel-private) behaviors
+ */
+
+#define SYNC_POLICY_PREPOST            0x4
+
+#endif /* KERNEL_PRIVATE */
+
+#define SYNC_POLICY_MAX                        0x7
 
-#endif         /*_SYNC_POLICY_H_*/
+#endif         /* _MACH_SYNC_POLICY_H_ */