-void *throttle_info_create(void);
-void throttle_info_mount_ref(mount_t mp, void * throttle_info);
-void throttle_info_mount_rel(mount_t mp);
-void throttle_info_release(void *throttle_info);
-void throttle_info_update(void *throttle_info, int flags);
+uint64_t tstoabstime(struct timespec *);
+void *throttle_info_create(void);
+void throttle_info_mount_ref(mount_t mp, void * throttle_info);
+void throttle_info_mount_rel(mount_t mp);
+void throttle_info_release(void *throttle_info);
+void throttle_info_update(void *throttle_info, int flags);
+uint32_t throttle_lowpri_io(int sleep_amount);
+/* returns TRUE if the throttle_lowpri_io called with the same sleep_amount would've slept */
+int throttle_lowpri_io_will_be_throttled(int sleep_amount);
+void throttle_set_thread_io_policy(int policy);
+int throttle_get_thread_effective_io_policy(void);
+
+typedef struct __throttle_info_handle *throttle_info_handle_t;
+int throttle_info_ref_by_mask(uint64_t throttle_mask, throttle_info_handle_t *throttle_info_handle);
+void throttle_info_rel_by_mask(throttle_info_handle_t throttle_info_handle);
+void throttle_info_update_by_mask(void *throttle_info_handle, int flags);
+void throttle_info_disable_throttle(int devno, boolean_t isfusion);
+/*
+ * 'throttle_info_handle' acquired via 'throttle_info_ref_by_mask'
+ * 'policy' should be specified as either IOPOL_UTILITY or IPOL_THROTTLE,
+ * all other values will be treated as IOPOL_NORMAL (i.e. no throttling)
+ */
+int throttle_info_io_will_be_throttled(void *throttle_info_handle, int policy);
+
+#ifdef KERNEL_PRIVATE
+
+/* returned by throttle_io_will_be_throttled */
+#define THROTTLE_DISENGAGED 0
+#define THROTTLE_ENGAGED 1
+#define THROTTLE_NOW 2
+
+int throttle_io_will_be_throttled(int lowpri_window_msecs, mount_t mp);
+int throttle_lowpri_window(void) __attribute__((pure));
+struct uthread;
+void throttle_info_reset_window(struct uthread *ut);
+
+#endif
+
+#ifdef XNU_KERNEL_PRIVATE
+void *exec_spawnattr_getmacpolicyinfo(const void *macextensions, const char *policyname, size_t *lenp);
+#endif
+
+#ifdef BSD_KERNEL_PRIVATE
+
+void sys_override_io_throttle(boolean_t enable_override);
+
+#endif /* BSD_KERNEL_PRIVATE */
+