-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);
+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 */
+