#include <mach/arm/thread_status.h> also included by <mach/mach.h>

mach/arm/thread_status.h

FILE_ID: thread_status.h
78 macros · 22 typedefs · 2 structs

macroARM_THREAD_STATE

#define ARM_THREAD_STATE 1

macroARM_UNIFIED_THREAD_STATE

#define ARM_UNIFIED_THREAD_STATE ARM_THREAD_STATE

macroARM_VFP_STATE

#define ARM_VFP_STATE 2

macroARM_EXCEPTION_STATE

#define ARM_EXCEPTION_STATE 3

macroARM_DEBUG_STATE

#define ARM_DEBUG_STATE 4
pre-armv8

macroTHREAD_STATE_NONE

#define THREAD_STATE_NONE 5

macroARM_THREAD_STATE64

#define ARM_THREAD_STATE64 6

macroARM_EXCEPTION_STATE64

#define ARM_EXCEPTION_STATE64 7

macroARM_THREAD_STATE32

ARM_THREAD_STATE_LAST 8 /* legacy */
#define ARM_THREAD_STATE32 9

macroARM_EXCEPTION_STATE64_V2

#define ARM_EXCEPTION_STATE64_V2 10

macroARM_DEBUG_STATE32

API
#define ARM_DEBUG_STATE32 14

macroARM_DEBUG_STATE64

#define ARM_DEBUG_STATE64 15

macroARM_NEON_STATE

#define ARM_NEON_STATE 16

macroARM_NEON_STATE64

#define ARM_NEON_STATE64 17

macroARM_CPMU_STATE64

#define ARM_CPMU_STATE64 18

macroARM_PAGEIN_STATE

#define ARM_PAGEIN_STATE 27

macroARM_SME_STATE

API
#define ARM_SME_STATE 28

macroARM_SVE_Z_STATE1

#define ARM_SVE_Z_STATE1 29

macroARM_SVE_Z_STATE2

#define ARM_SVE_Z_STATE2 30

macroARM_SVE_P_STATE

#define ARM_SVE_P_STATE 31

macroARM_SME_ZA_STATE1

#define ARM_SME_ZA_STATE1 32

macroARM_SME_ZA_STATE2

#define ARM_SME_ZA_STATE2 33

macroARM_SME_ZA_STATE3

#define ARM_SME_ZA_STATE3 34

macroARM_SME_ZA_STATE4

#define ARM_SME_ZA_STATE4 35

macroARM_SME_ZA_STATE5

#define ARM_SME_ZA_STATE5 36

macroARM_SME_ZA_STATE6

#define ARM_SME_ZA_STATE6 37

macroARM_SME_ZA_STATE7

#define ARM_SME_ZA_STATE7 38

macroARM_SME_ZA_STATE8

#define ARM_SME_ZA_STATE8 39

macroARM_SME_ZA_STATE9

#define ARM_SME_ZA_STATE9 40

macroARM_SME_ZA_STATE10

#define ARM_SME_ZA_STATE10 41

macroARM_SME_ZA_STATE11

#define ARM_SME_ZA_STATE11 42

macroARM_SME_ZA_STATE12

#define ARM_SME_ZA_STATE12 43

macroARM_SME_ZA_STATE13

#define ARM_SME_ZA_STATE13 44

macroARM_SME_ZA_STATE14

#define ARM_SME_ZA_STATE14 45

macroARM_SME_ZA_STATE15

#define ARM_SME_ZA_STATE15 46

macroARM_SME_ZA_STATE16

#define ARM_SME_ZA_STATE16 47

macroARM_SME2_STATE

#define ARM_SME2_STATE 48

macroTHREAD_STATE_FLAVORS

#define THREAD_STATE_FLAVORS 50
This must be updated to 1 more than the highest numerical state flavor

macroARM_STATE_FLAVOR_IS_OTHER_VALID

#define ARM_STATE_FLAVOR_IS_OTHER_VALID(_flavor_) 0

macroFLAVOR_MODIFIES_CORE_CPU_REGISTERS

#define FLAVOR_MODIFIES_CORE_CPU_REGISTERS(x) ((x == ARM_THREAD_STATE) ||
 (x == ARM_THREAD_STATE32) ||
 (x == ARM_THREAD_STATE64))

macroVALID_THREAD_STATE_FLAVOR

#define VALID_THREAD_STATE_FLAVOR(x) ((x == ARM_THREAD_STATE) ||
	 (x == ARM_VFP_STATE) ||
	 (x == ARM_EXCEPTION_STATE) ||
	 (x == ARM_DEBUG_STATE) ||
	 (x == THREAD_STATE_NONE) ||
	 (x == ARM_THREAD_STATE32) ||
	 (x == ARM_THREAD_STATE64) ||
	 (x == ARM_EXCEPTION_STATE64) ||
	 (x == ARM_EXCEPTION_STATE64_V2) ||
	 (x == ARM_NEON_STATE) ||
	 (x == ARM_NEON_STATE64) ||
	 (x == ARM_DEBUG_STATE32) ||
	 (x == ARM_DEBUG_STATE64) ||
	 (x == ARM_PAGEIN_STATE) ||
	 (ARM_STATE_FLAVOR_IS_OTHER_VALID(x)))

structarm_state_hdr

size 8, align 4
uint32_tflavor
uint32_tcount

typedefarm_state_hdr_t

typedef struct arm_state_hdr arm_state_hdr_t

typedefarm_thread_state_t

typedef _STRUCT_ARM_THREAD_STATE arm_thread_state_t

typedefarm_thread_state32_t

typedef _STRUCT_ARM_THREAD_STATE arm_thread_state32_t

typedefarm_thread_state64_t

typedef _STRUCT_ARM_THREAD_STATE64 arm_thread_state64_t

macroarm_thread_state64_get_pc

Return pc field of arm_thread_state64_t as a data pointer value
#define arm_thread_state64_get_pc(ts) __darwin_arm_thread_state64_get_pc(ts)

macroarm_thread_state64_get_pc_fptr

Return pc field of arm_thread_state64_t as a function pointer. May return NULL if a valid function pointer cannot be constructed, the caller should fall back to the arm_thread_state64_get_pc() macro in that case.
#define arm_thread_state64_get_pc_fptr(ts) __darwin_arm_thread_state64_get_pc_fptr(ts)

macroarm_thread_state64_set_pc_fptr

Set pc field of arm_thread_state64_t to a function pointer
#define arm_thread_state64_set_pc_fptr(ts, fptr) __darwin_arm_thread_state64_set_pc_fptr(ts, fptr)

macroarm_thread_state64_set_pc_presigned_fptr

Set pc field of arm_thread_state64_t to an already signed function pointer
#define arm_thread_state64_set_pc_presigned_fptr(ts, fptr) __darwin_arm_thread_state64_set_pc_presigned_fptr(ts, fptr)

macroarm_thread_state64_get_lr

Return lr field of arm_thread_state64_t as a data pointer value
#define arm_thread_state64_get_lr(ts) __darwin_arm_thread_state64_get_lr(ts)

macroarm_thread_state64_get_lr_fptr

Return lr field of arm_thread_state64_t as a function pointer. May return NULL if a valid function pointer cannot be constructed, the caller should fall back to the arm_thread_state64_get_lr() macro in that case.
#define arm_thread_state64_get_lr_fptr(ts) __darwin_arm_thread_state64_get_lr_fptr(ts)

macroarm_thread_state64_set_lr_fptr

Set lr field of arm_thread_state64_t to a function pointer
#define arm_thread_state64_set_lr_fptr(ts, fptr) __darwin_arm_thread_state64_set_lr_fptr(ts, fptr)

macroarm_thread_state64_set_lr_presigned_fptr

Set lr field of arm_thread_state64_t to an already signed function pointer
#define arm_thread_state64_set_lr_presigned_fptr(ts, fptr) __darwin_arm_thread_state64_set_lr_presigned_fptr(ts, fptr)

macroarm_thread_state64_get_sp

Return sp field of arm_thread_state64_t as a data pointer value
#define arm_thread_state64_get_sp(ts) __darwin_arm_thread_state64_get_sp(ts)

macroarm_thread_state64_set_sp

Set sp field of arm_thread_state64_t to a data pointer value
#define arm_thread_state64_set_sp(ts, ptr) __darwin_arm_thread_state64_set_sp(ts, ptr)

macroarm_thread_state64_get_fp

Return fp field of arm_thread_state64_t as a data pointer value
#define arm_thread_state64_get_fp(ts) __darwin_arm_thread_state64_get_fp(ts)

macroarm_thread_state64_set_fp

Set fp field of arm_thread_state64_t to a data pointer value
#define arm_thread_state64_set_fp(ts, ptr) __darwin_arm_thread_state64_set_fp(ts, ptr)

macroarm_thread_state64_ptrauth_strip

Strip ptr auth bits from pc, lr, sp and fp field of arm_thread_state64_t
#define arm_thread_state64_ptrauth_strip(ts) __darwin_arm_thread_state64_ptrauth_strip(ts)

structarm_unified_thread_state

size 280, align 8
arm_state_hdr_tash
unnamed union at mach/arm/thread_status.h:194:2uts
arm_thread_state32_tts_32
arm_thread_state64_tts_64

macrots_32

#define ts_32 uts.ts_32

macrots_64

#define ts_64 uts.ts_64

typedefarm_unified_thread_state_t

typedef struct arm_unified_thread_state arm_unified_thread_state_t

macroARM_THREAD_STATE_COUNT

#define ARM_THREAD_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_thread_state_t)/sizeof(uint32_t)))

macroARM_THREAD_STATE32_COUNT

#define ARM_THREAD_STATE32_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_thread_state32_t)/sizeof(uint32_t)))

macroARM_THREAD_STATE64_COUNT

#define ARM_THREAD_STATE64_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_thread_state64_t)/sizeof(uint32_t)))

macroARM_UNIFIED_THREAD_STATE_COUNT

#define ARM_UNIFIED_THREAD_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_unified_thread_state_t)/sizeof(uint32_t)))

typedefarm_vfp_state_t

typedef _STRUCT_ARM_VFP_STATE arm_vfp_state_t

typedefarm_neon_state_t

typedef _STRUCT_ARM_NEON_STATE arm_neon_state_t

typedefarm_neon_state32_t

typedef _STRUCT_ARM_NEON_STATE arm_neon_state32_t

typedefarm_neon_state64_t

typedef _STRUCT_ARM_NEON_STATE64 arm_neon_state64_t

typedefarm_exception_state_t

typedef _STRUCT_ARM_EXCEPTION_STATE arm_exception_state_t

typedefarm_exception_state32_t

typedef _STRUCT_ARM_EXCEPTION_STATE arm_exception_state32_t

typedefarm_exception_state64_t

typedef _STRUCT_ARM_EXCEPTION_STATE64 arm_exception_state64_t

typedefarm_exception_state64_v2_t

typedef _STRUCT_ARM_EXCEPTION_STATE64_V2 arm_exception_state64_v2_t

typedefarm_debug_state32_t

typedef _STRUCT_ARM_DEBUG_STATE32 arm_debug_state32_t

typedefarm_debug_state64_t

typedef _STRUCT_ARM_DEBUG_STATE64 arm_debug_state64_t

typedefarm_pagein_state_t

typedef _STRUCT_ARM_PAGEIN_STATE arm_pagein_state_t

typedefarm_sme_state_t

typedef _STRUCT_ARM_SME_STATE arm_sme_state_t

typedefarm_sve_z_state_t

typedef _STRUCT_ARM_SVE_Z_STATE arm_sve_z_state_t

typedefarm_sve_p_state_t

typedef _STRUCT_ARM_SVE_P_STATE arm_sve_p_state_t

typedefarm_sme_za_state_t

typedef _STRUCT_ARM_SME_ZA_STATE arm_sme_za_state_t

typedefarm_sme2_state_t

typedef _STRUCT_ARM_SME2_STATE arm_sme2_state_t

typedefarm_debug_state_t

typedef _STRUCT_ARM_LEGACY_DEBUG_STATE arm_debug_state_t

macroARM_VFP_STATE_COUNT

#define ARM_VFP_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_vfp_state_t)/sizeof(uint32_t)))

macroARM_EXCEPTION_STATE_COUNT

#define ARM_EXCEPTION_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_exception_state_t)/sizeof(uint32_t)))

macroARM_EXCEPTION_STATE64_COUNT

#define ARM_EXCEPTION_STATE64_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_exception_state64_t)/sizeof(uint32_t)))

macroARM_EXCEPTION_STATE64_V2_COUNT

#define ARM_EXCEPTION_STATE64_V2_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_exception_state64_v2_t)/sizeof(uint32_t)))

macroARM_DEBUG_STATE_COUNT

#define ARM_DEBUG_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_debug_state_t)/sizeof(uint32_t)))

macroARM_DEBUG_STATE32_COUNT

#define ARM_DEBUG_STATE32_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_debug_state32_t)/sizeof(uint32_t)))

macroARM_PAGEIN_STATE_COUNT

#define ARM_PAGEIN_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_pagein_state_t)/sizeof(uint32_t)))

macroARM_DEBUG_STATE64_COUNT

#define ARM_DEBUG_STATE64_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_debug_state64_t)/sizeof(uint32_t)))

macroARM_NEON_STATE_COUNT

#define ARM_NEON_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_neon_state_t)/sizeof(uint32_t)))

macroARM_NEON_STATE64_COUNT

#define ARM_NEON_STATE64_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_neon_state64_t)/sizeof(uint32_t)))

macroARM_SME_STATE_COUNT

#define ARM_SME_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_sme_state_t)/sizeof(uint32_t)))

macroARM_SVE_Z_STATE_COUNT

#define ARM_SVE_Z_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_sve_z_state_t)/sizeof(uint32_t)))

macroARM_SVE_P_STATE_COUNT

#define ARM_SVE_P_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_sve_p_state_t)/sizeof(uint32_t)))

macroARM_SME_ZA_STATE_COUNT

#define ARM_SME_ZA_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_sme_za_state_t)/sizeof(uint32_t)))

macroARM_SME2_STATE_COUNT

#define ARM_SME2_STATE_COUNT ((mach_msg_type_number_t)
	(sizeof (arm_sme2_state_t)/sizeof(uint32_t)))

macroMACHINE_THREAD_STATE

#define MACHINE_THREAD_STATE ARM_THREAD_STATE

macroMACHINE_THREAD_STATE_COUNT

#define MACHINE_THREAD_STATE_COUNT ARM_UNIFIED_THREAD_STATE_COUNT

macroTHREAD_MACHINE_STATE_MAX

Largest state on this machine:
#define THREAD_MACHINE_STATE_MAX THREAD_STATE_MAX