#include <mach/vm_types_unsafe.h>

mach/vm_types_unsafe.h Kernel.framework

includes: mach/vm_types.h
23 typedefs · 7 macros

macroVM_GENERATE_UNSAFE_WRAPPER

Macro to generate a wrapped "struct" that preserves ABI, but prevents direct manipulation of the type. The transparent union is needed because of arm64 which for "Composite" arguments passed on the stack will align them to 8 byte boundaries as per spec: If the argument is an alignment adjusted type its value is passed as a copy of the actual value. The copy will have an alignment defined as follows: - For a Fundamental Data Type, the alignment is the natural alignment of that type, after any promotions. - For a Composite Type, the alignment of the copy will have 8-byte alignment if its natural alignment is ≤ 8 and 16-byte alignment if its natural alignment is ≥ 16.
#define VM_GENERATE_UNSAFE_WRAPPER(_safe_type, _unsafe_type) typedef _safe_type _unsafe_type

typedefvm_addr_struct_t

typedef uint64_t vm_addr_struct_t;

typedefvm_size_struct_t

typedef uint64_t vm_size_struct_t;

typedefvm32_addr_struct_t

typedef uint32_t vm32_addr_struct_t;

typedefvm32_size_struct_t

typedef uint32_t vm32_size_struct_t;

macroVM_DEFINE_UNSAFE_TYPE

#define VM_DEFINE_UNSAFE_TYPE(_safe_type, _unsafe_type, _unsafe_contents) typedef _safe_type _unsafe_type

macroVM_GENERATE_UNSAFE_TYPE

#define VM_GENERATE_UNSAFE_TYPE(_safe_type, _unsafe_type) VM_DEFINE_UNSAFE_TYPE(_safe_type, _unsafe_type, )

macroVM_GENERATE_UNSAFE_ADDR

#define VM_GENERATE_UNSAFE_ADDR(_safe_type, _unsafe_type) VM_GENERATE_UNSAFE_TYPE(_safe_type, _unsafe_type)

macroVM_GENERATE_UNSAFE_SIZE

#define VM_GENERATE_UNSAFE_SIZE(_safe_type, _unsafe_type) VM_GENERATE_UNSAFE_TYPE(_safe_type, _unsafe_type)

macroVM_GENERATE_UNSAFE_ADDR32

#define VM_GENERATE_UNSAFE_ADDR32(_safe_type, _unsafe_type) VM_GENERATE_UNSAFE_TYPE(_safe_type, _unsafe_type)

macroVM_GENERATE_UNSAFE_SIZE32

#define VM_GENERATE_UNSAFE_SIZE32(_safe_type, _unsafe_type) VM_GENERATE_UNSAFE_TYPE(_safe_type, _unsafe_type)

typedefmach_vm_address_ut

typedef mach_vm_address_t mach_vm_address_ut;

typedefmach_vm_offset_ut

typedef mach_vm_offset_t mach_vm_offset_ut;

typedefmach_vm_size_ut

typedef mach_vm_size_t mach_vm_size_ut;

typedefvm_address_ut

typedef vm_address_t vm_address_ut;

typedefvm_offset_ut

typedef vm_offset_t vm_offset_ut;

typedefvm_size_ut

typedef vm_size_t vm_size_ut;

typedefvm_map_address_ut

typedef vm_map_address_t vm_map_address_ut;

typedefvm_map_offset_ut

typedef vm_map_offset_t vm_map_offset_ut;

typedefvm_map_size_ut

typedef vm_map_size_t vm_map_size_ut;

typedefmemory_object_offset_ut

typedef memory_object_offset_t memory_object_offset_ut;

typedefmemory_object_size_ut

typedef memory_object_size_t memory_object_size_ut;

typedefvm_object_offset_ut

typedef vm_object_offset_t vm_object_offset_ut;

typedefvm_object_size_ut

typedef vm_object_size_t vm_object_size_ut;

typedefpointer_ut

typedef pointer_t pointer_ut;

typedefvm_prot_ut

typedef vm_prot_t vm_prot_ut;

typedefvm_inherit_ut

typedef vm_inherit_t vm_inherit_ut;

typedefvm_behavior_ut

typedef vm_behavior_t vm_behavior_ut;

typedefmach_vm_range_ut

typedef struct mach_vm_range mach_vm_range_ut;

typedefmach_vm_range_recipe_v1_ut

typedef mach_vm_range_recipe_v1_t mach_vm_range_recipe_v1_ut;