+
+struct thread_snapshot_v4 {
+ uint64_t ths_thread_id;
+ uint64_t ths_wait_event;
+ uint64_t ths_continuation;
+ uint64_t ths_total_syscalls;
+ uint64_t ths_voucher_identifier;
+ uint64_t ths_dqserialnum;
+ uint64_t ths_user_time;
+ uint64_t ths_sys_time;
+ uint64_t ths_ss_flags;
+ uint64_t ths_last_run_time;
+ uint64_t ths_last_made_runnable_time;
+ uint32_t ths_state;
+ uint32_t ths_sched_flags;
+ int16_t ths_base_priority;
+ int16_t ths_sched_priority;
+ uint8_t ths_eqos;
+ uint8_t ths_rqos;
+ uint8_t ths_rqos_override;
+ uint8_t ths_io_tier;
+ uint64_t ths_thread_t;
+ uint64_t ths_requested_policy;
+ uint64_t ths_effective_policy;
+} __attribute__((packed));
+
+
+struct thread_group_snapshot {
+ uint64_t tgs_id;
+ char tgs_name[16];
+} __attribute__((packed));
+
+enum thread_group_flags {
+ kThreadGroupEfficient = 0x1,
+ kThreadGroupUIApp = 0x2
+};
+
+struct thread_group_snapshot_v2 {
+ uint64_t tgs_id;
+ char tgs_name[16];
+ uint64_t tgs_flags;
+} __attribute__((packed));
+
+enum coalition_flags {
+ kCoalitionTermRequested = 0x1,
+ kCoalitionTerminated = 0x2,
+ kCoalitionReaped = 0x4,
+ kCoalitionPrivileged = 0x8,
+};
+
+struct jetsam_coalition_snapshot {
+ uint64_t jcs_id;
+ uint64_t jcs_flags;
+ uint64_t jcs_thread_group;
+ uint64_t jcs_leader_task_uniqueid;
+} __attribute__((packed));
+
+struct instrs_cycles_snapshot {
+ uint64_t ics_instructions;
+ uint64_t ics_cycles;
+} __attribute__((packed));
+