+#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
+/* I/O type */
+#define IOPOL_TYPE_DISK 0
+
+/* scope */
+#define IOPOL_SCOPE_PROCESS 0
+#define IOPOL_SCOPE_THREAD 1
+
+/* I/O Priority */
+#define IOPOL_DEFAULT 0
+#define IOPOL_NORMAL 1
+#define IOPOL_PASSIVE 2
+#define IOPOL_THROTTLE 3
+
+#ifdef PRIVATE
+/*
+ * Structures for use in communicating via iopolicysys() between Lic and the
+ * kernel. Not to be used by uesr programs directly.
+ */
+
+/*
+ * the command to iopolicysys()
+ */
+#define IOPOL_CMD_GET 0x00000001 /* Get I/O policy */
+#define IOPOL_CMD_SET 0x00000002 /* Set I/O policy */
+
+/*
+ * Second parameter to iopolicysys()
+ */
+struct _iopol_param_t {
+ int iop_scope; /* current process or a thread */
+ int iop_iotype;
+ int iop_policy;
+};
+
+#endif /* PRIVATE */
+#endif /* !_POSIX_C_SOURCE || _DARWIN_C_SOURCE */