#include <mach/task_policy.h> also included by
<mach/mach.h>mach/task_policy.h
These are the calls for accessing the policy parameters
of a particular task.
The extra 'get_default' parameter to the second call is
IN/OUT as follows:
1) if asserted on the way in it indicates that the default
values should be returned, not the ones currently set, in
this case 'get_default' will always be asserted on return;
2) if unasserted on the way in, the current settings are
desired and if still unasserted on return, then the info
returned reflects the current settings, otherwise if
'get_default' returns asserted, it means that there are no
current settings due to other parameters taking precedence,
and the default ones are being returned instead.
typedeftask_policy_flavor_t
typedef natural_t task_policy_flavor_t
typedeftask_policy_t
typedef integer_t *task_policy_t
macroTASK_CATEGORY_POLICY
#define TASK_CATEGORY_POLICY 1
macroTASK_SUPPRESSION_POLICY
#define TASK_SUPPRESSION_POLICY 3
macroTASK_POLICY_STATE
#define TASK_POLICY_STATE 4
macroTASK_BASE_QOS_POLICY
#define TASK_BASE_QOS_POLICY 8
macroTASK_OVERRIDE_QOS_POLICY
#define TASK_OVERRIDE_QOS_POLICY 9
macroTASK_BASE_LATENCY_QOS_POLICY
#define TASK_BASE_LATENCY_QOS_POLICY 10
macroTASK_BASE_THROUGHPUT_QOS_POLICY
#define TASK_BASE_THROUGHPUT_QOS_POLICY 11
enumtask_role
| TASK_RENICED | -1 | |
| TASK_UNSPECIFIED | 0 | |
| TASK_FOREGROUND_APPLICATION | 1 | |
| TASK_BACKGROUND_APPLICATION | 2 | |
| TASK_CONTROL_APPLICATION | 3 | |
| TASK_GRAPHICS_SERVER | 4 | |
| TASK_THROTTLE_APPLICATION | 5 | |
| TASK_NONUI_APPLICATION | 6 | |
| TASK_DEFAULT_APPLICATION | 7 | |
| TASK_DARWINBG_APPLICATION | 8 | |
| TASK_USER_INIT_APPLICATION | 9 |
typedeftask_role_t
typedef enum task_role task_role_t;
structtask_category_policy
| task_role_t | role |
typedeftask_category_policy_data_t
typedef struct task_category_policy task_category_policy_data_t
typedeftask_category_policy_t
typedef struct task_category_policy *task_category_policy_t
macroTASK_CATEGORY_POLICY_COUNT
#define TASK_CATEGORY_POLICY_COUNT ((mach_msg_type_number_t) (sizeof (task_category_policy_data_t) / sizeof (integer_t)))
enumtask_latency_qos
| LATENCY_QOS_TIER_UNSPECIFIED | 0 | |
| LATENCY_QOS_TIER_0 | 16711681 | |
| LATENCY_QOS_TIER_1 | 16711682 | |
| LATENCY_QOS_TIER_2 | 16711683 | |
| LATENCY_QOS_TIER_3 | 16711684 | |
| LATENCY_QOS_TIER_4 | 16711685 | |
| LATENCY_QOS_TIER_5 | 16711686 |
typedeftask_latency_qos_t
typedef integer_t task_latency_qos_t
enumtask_throughput_qos
| THROUGHPUT_QOS_TIER_UNSPECIFIED | 0 | |
| THROUGHPUT_QOS_TIER_0 | 16646145 | |
| THROUGHPUT_QOS_TIER_1 | 16646146 | |
| THROUGHPUT_QOS_TIER_2 | 16646147 | |
| THROUGHPUT_QOS_TIER_3 | 16646148 | |
| THROUGHPUT_QOS_TIER_4 | 16646149 | |
| THROUGHPUT_QOS_TIER_5 | 16646150 |
macroLATENCY_QOS_LAUNCH_DEFAULT_TIER
#define LATENCY_QOS_LAUNCH_DEFAULT_TIER LATENCY_QOS_TIER_3
macroTHROUGHPUT_QOS_LAUNCH_DEFAULT_TIER
#define THROUGHPUT_QOS_LAUNCH_DEFAULT_TIER THROUGHPUT_QOS_TIER_3
typedeftask_throughput_qos_t
typedef integer_t task_throughput_qos_t
structtask_qos_policy
| task_latency_qos_t | task_latency_qos_tier | |
| task_throughput_qos_t | task_throughput_qos_tier |
typedeftask_qos_policy_t
typedef struct task_qos_policy *task_qos_policy_t
macroTASK_QOS_POLICY_COUNT
#define TASK_QOS_POLICY_COUNT ((mach_msg_type_number_t) (sizeof (struct task_qos_policy) / sizeof (integer_t)))
macroPROC_FLAG_DARWINBG
These should be removed - they belong in proc_info.h
#define PROC_FLAG_DARWINBG 0x8000
process in darwin background
macroPROC_FLAG_EXT_DARWINBG
#define PROC_FLAG_EXT_DARWINBG 0x10000
process in darwin background - external enforcement
macroPROC_FLAG_IOS_IMPPROMOTION
#define PROC_FLAG_IOS_IMPPROMOTION 0x80000
process is able to receive an importance donation
macroPROC_FLAG_ADAPTIVE_IMPORTANT
#define PROC_FLAG_ADAPTIVE_IMPORTANT 0x200000
Process is adaptive, and is currently important
macroPROC_FLAG_IMPORTANCE_DONOR
#define PROC_FLAG_IMPORTANCE_DONOR 0x400000
Process is marked as an importance donor
macroPROC_FLAG_IOS_APPLICATION
#define PROC_FLAG_IOS_APPLICATION PROC_FLAG_APPLICATION
Process is an application