/*
- * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2007, 2015 Apple Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
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;
#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.
*/