]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/mach/task_info.h
xnu-3247.10.11.tar.gz
[apple/xnu.git] / osfmk / mach / task_info.h
index 599e00e24c0918f742bd4f03c2bc4400f52563fe..3311e3c15b8f822a819bbf11d2b7ff25144a0a87 100644 (file)
@@ -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.
  */