-
-
-#ifdef CONFIG_FREEZE
-
-#define FREEZE_PAGES_MIN ( 8 * 1024 * 1024 / PAGE_SIZE)
-#define FREEZE_PAGES_MAX (32 * 1024 * 1024 / PAGE_SIZE)
-
-#define FREEZE_SUSPENDED_THRESHOLD_DEFAULT 4
-#define FREEZE_PROCESSES_MAX 20
-
-#define FREEZE_DAILY_MB_MAX_DEFAULT 1024
-#define FREEZE_DEGRADATION_BUDGET_THRESHOLD 25 //degraded perf. when the daily budget left falls below this threshold percentage
-
-#define MAX_FROZEN_SHARED_MB_PERCENT 10 /* max shared MB calculated as percent of system task limit. */
-#define MAX_FROZEN_PROCESS_DEMOTIONS 2 /* max demotions of frozen processes into IDLE band done daily. */
-#define MIN_THAW_DEMOTION_THRESHOLD 5 /* min # of thaws required for a process to be safe from demotion. */
-#define MIN_THAW_REFREEZE_THRESHOLD 3 /* min # of global thaws needed for us to consider refreezing these processes. */
-
-typedef struct throttle_interval_t {
- uint32_t mins;
- uint32_t burst_multiple;
- uint32_t pageouts;
- uint32_t max_pageouts;
- mach_timespec_t ts;
-} throttle_interval_t;
-
-extern boolean_t memorystatus_freeze_enabled;
-extern int memorystatus_freeze_wakeup;
-
-extern void memorystatus_freeze_init(void) __attribute__((section("__TEXT, initcode")));
-extern int memorystatus_freeze_process_sync(proc_t p);
-
-#if DEVELOPMENT || DEBUG
-#define FREEZER_CONTROL_GET_STATUS (1)
-#endif /* DEVELOPMENT || DEBUG */
-
-#endif /* CONFIG_FREEZE */
+proc_t memorystatus_get_first_proc_locked(unsigned int *bucket_index, boolean_t search);
+proc_t memorystatus_get_next_proc_locked(unsigned int *bucket_index, proc_t p, boolean_t search);
+void memorystatus_get_task_page_counts(task_t task, uint32_t *footprint, uint32_t *max_footprint_lifetime, uint32_t *purgeable_pages);
+void memorystatus_invalidate_idle_demotion_locked(proc_t p, boolean_t clean_state);
+void memorystatus_update_priority_locked(proc_t p, int priority, boolean_t head_insert, boolean_t skip_demotion_check);