#include <mach_debug/ipc_info.h>

mach_debug/ipc_info.h

9 typedefs · 5 structs · 1 enum

enumipc_info_object_type_t

@brief Type for mach_port_kobject_description() only. @discussion This type preserved the `IOT_*` values that @c ipc_kobject_type_t used to carry, whose ABI of this type was known to debugging tools of userspace, by copying XNU's source. This provides a guaranteed stable interface now (however no guarantee is made that values are still in use). Values should never be removed to that list, merely abandonned with a comment.
underlying type natural_t
IPC_OTYPE_NONE0
IPC_OTYPE_THREAD_CONTROL1
IPC_OTYPE_TASK_CONTROL2
IPC_OTYPE_HOST3
IPC_OTYPE_HOST_PRIV4
IPC_OTYPE_PROCESSOR5
IPC_OTYPE_PROCESSOR_SET6
IPC_OTYPE_PROCESSOR_SET_NAME7
IPC_OTYPE_TIMER8
IPC_OTYPE_PORT_SUBST_ONCE9
IPC_OTYPE_MIG10
IPC_OTYPE_MEMORY_OBJECT11
IPC_OTYPE_XMM_PAGER12
IPC_OTYPE_XMM_KERNEL13
IPC_OTYPE_XMM_REPLY14
IPC_OTYPE_UND_REPLY15
IPC_OTYPE_HOST_NOTIFY16
IPC_OTYPE_HOST_SECURITY17
IPC_OTYPE_LEDGER18
IPC_OTYPE_MAIN_DEVICE19
IPC_OTYPE_TASK_NAME20
IPC_OTYPE_SUBSYSTEM21
IPC_OTYPE_IO_DONE_QUEUE22
IPC_OTYPE_SEMAPHORE23
IPC_OTYPE_LOCK_SET24
IPC_OTYPE_CLOCK25
IPC_OTYPE_CLOCK_CTRL26
IPC_OTYPE_IOKIT_IDENT27
IPC_OTYPE_NAMED_ENTRY28
IPC_OTYPE_IOKIT_CONNECT29
IPC_OTYPE_IOKIT_OBJECT30
IPC_OTYPE_UPL31
IPC_OTYPE_MEM_OBJ_CONTROL32
IPC_OTYPE_AU_SESSIONPORT33
IPC_OTYPE_FILEPORT34
IPC_OTYPE_LABELH35
IPC_OTYPE_TASK_RESUME36
IPC_OTYPE_VOUCHER37
IPC_OTYPE_VOUCHER_ATTR_CONTROL38
IPC_OTYPE_WORK_INTERVAL39
IPC_OTYPE_UX_HANDLER40
IPC_OTYPE_UEXT_OBJECT41
IPC_OTYPE_ARCADE_REG42
43
IPC_OTYPE_TASK_INSPECT44
IPC_OTYPE_TASK_READ45
IPC_OTYPE_THREAD_INSPECT46
IPC_OTYPE_THREAD_READ47
IPC_OTYPE_SUID_CRED48
IPC_OTYPE_HYPERVISOR49
IPC_OTYPE_TASK_ID_TOKEN50
IPC_OTYPE_TASK_FATAL51
IPC_OTYPE_KCDATA52
IPC_OTYPE_EXCLAVES_RESOURCE53
IPC_OTYPE_THREAD_RESUME54
IPC_OTYPE_UNKNOWN-1

typedefipc_info_object_type_t

typedef enum ipc_info_object_type_t ipc_info_object_type_t;

structipc_info_space

size 24, align 4
natural_tiis_genno_maskgeneration number mask
natural_tiis_table_sizesize of table
natural_tiis_table_nextnext possible size of table (UNUSED)
natural_tiis_tree_sizesize of tree (UNUSED)
natural_tiis_tree_small# of small entries in tree (UNUSED)
natural_tiis_tree_hash# of hashed entries in tree (UNUSED)

typedefipc_info_space_t

typedef struct ipc_info_space ipc_info_space_t;

structipc_info_space_basic

size 24, align 4
natural_tiisb_genno_maskgeneration number mask
natural_tiisb_table_sizesize of table
natural_tiisb_table_nextnext possible size of table (UNUSED)
natural_tiisb_table_inusenumber of entries in use
natural_t[2]iisb_reservedfuture expansion

typedefipc_info_space_basic_t

typedef struct ipc_info_space_basic ipc_info_space_basic_t;

structipc_info_name

size 28, align 4
mach_port_name_tiin_nameport name, including gen number
integer_tiin_collisionboolean_t collision at this entry?
mach_port_type_tiin_typestraight port type
mach_port_urefs_tiin_urefsuser-references
natural_tiin_objectobject pointer/identifier
natural_tiin_nextmarequest/next in free list
natural_tiin_hashhash index

typedefipc_info_name_t

typedef struct ipc_info_name ipc_info_name_t;

typedefipc_info_name_array_t

typedef ipc_info_name_t *ipc_info_name_array_t

structipc_info_tree_name

UNUSED
size 36, align 4
ipc_info_name_tiitn_name
mach_port_name_tiitn_lchildname of left child
mach_port_name_tiitn_rchildname of right child

typedefipc_info_tree_name_t

typedef struct ipc_info_tree_name ipc_info_tree_name_t;

typedefipc_info_tree_name_array_t

typedef ipc_info_tree_name_t *ipc_info_tree_name_array_t

structipc_info_port

size 8, align 4
natural_tiip_port_objectport object identifier
natural_tiip_receiver_objectreceiver task identifier (if any)

typedefipc_info_port_t

typedef struct ipc_info_port ipc_info_port_t;

typedefexception_handler_info_array_t

typedef ipc_info_port_t *exception_handler_info_array_t