X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/c18c124eaa464aaaa5549e99e5a70fc9cbb50944..3e170ce000f1506b7b5d2c5c7faec85ceabb573d:/osfmk/mach/task_info.h diff --git a/osfmk/mach/task_info.h b/osfmk/mach/task_info.h index 599e00e24..3311e3c15 100644 --- a/osfmk/mach/task_info.h +++ b/osfmk/mach/task_info.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2007 Apple Inc. All rights reserved. + * Copyright (c) 2000-2007, 2015 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -321,12 +321,17 @@ struct task_vm_info { mach_vm_size_t compressed; mach_vm_size_t compressed_peak; mach_vm_size_t compressed_lifetime; + + /* added for rev1 */ + mach_vm_size_t phys_footprint; }; typedef struct task_vm_info task_vm_info_data_t; typedef struct task_vm_info *task_vm_info_t; #define TASK_VM_INFO_COUNT ((mach_msg_type_number_t) \ (sizeof (task_vm_info_data_t) / sizeof (natural_t))) - +#define TASK_VM_INFO_REV0_COUNT /* doesn't include phys_footprint */ \ + ((mach_msg_type_number_t) \ + (TASK_VM_INFO_COUNT - 2)) typedef struct vm_purgeable_info task_purgable_info_t; @@ -373,6 +378,48 @@ typedef struct task_power_info_v2 *task_power_info_v2_t; #define TASK_POWER_INFO_V2_COUNT ((mach_msg_type_number_t) \ (sizeof (task_power_info_v2_data_t) / sizeof (natural_t))) + +#define TASK_VM_INFO_PURGEABLE_ACCOUNT 27 /* Used for xnu purgeable vm unit tests */ + +#ifdef PRIVATE +struct pvm_account_info { + uint64_t pvm_volatile_count; /* Number of volatile bytes associated with a task */ + uint64_t pvm_volatile_compressed_count; /* Number of volatile compressed bytes associated with a task */ + uint64_t pvm_nonvolatile_count; /* Number of nonvolatile bytes associated with a task */ + uint64_t pvm_nonvolatile_compressed_count; /* Number of nonvolatile compressed bytes associated with a task */ +}; + +typedef struct pvm_account_info *pvm_account_info_t; +typedef struct pvm_account_info pvm_account_info_data_t; + +#define PVM_ACCOUNT_INFO_COUNT ((mach_msg_type_number_t) \ + (sizeof (pvm_account_info_data_t) / sizeof (natural_t))) +#endif /* PRIVATE */ + +#define TASK_FLAGS_INFO 28 /* return t_flags field */ +struct task_flags_info { + uint32_t flags; /* task flags */ +}; +typedef struct task_flags_info task_flags_info_data_t; +typedef struct task_flags_info * task_flags_info_t; +#define TASK_FLAGS_INFO_COUNT ((mach_msg_type_number_t) \ + (sizeof(task_flags_info_data_t) / sizeof (natural_t))) + +#define TF_LP64 0x00000001 /* task has 64-bit addressing */ + +#define TASK_DEBUG_INFO_INTERNAL 29 /* Used for kernel internal development tests. */ + +#ifdef PRIVATE +struct task_debug_info_internal { + uint64_t ipc_space_size; +}; +typedef struct task_debug_info_internal *task_debug_info_internal_t; +typedef struct task_debug_info_internal task_debug_info_internal_data_t; +#define TASK_DEBUG_INFO_INTERNAL_COUNT ((mach_msg_type_number_t) \ + (sizeof (task_debug_info_internal_data_t) / sizeof(natural_t))) + +#endif /* PRIVATE */ + /* * Obsolete interfaces. */