Skip to content

Instantly share code, notes, and snippets.

@dlevi309
Created August 14, 2023 08:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dlevi309/9bdc11038526c01f69bb349317d27d69 to your computer and use it in GitHub Desktop.
Save dlevi309/9bdc11038526c01f69bb349317d27d69 to your computer and use it in GitHub Desktop.
Prototypes from mach/mach_vm.h
#include <mach/mach.h>
extern
kern_return_t mach_vm_allocate
(
vm_map_t target,
mach_vm_address_t *address,
mach_vm_size_t size,
int flags
);
extern
kern_return_t mach_vm_deallocate
(
vm_map_t target,
mach_vm_address_t address,
mach_vm_size_t size
);
extern
kern_return_t mach_vm_protect
(
vm_map_t target_task,
mach_vm_address_t address,
mach_vm_size_t size,
boolean_t set_maximum,
vm_prot_t new_protection
);
extern
kern_return_t mach_vm_inherit
(
vm_map_t target_task,
mach_vm_address_t address,
mach_vm_size_t size,
vm_inherit_t new_inheritance
);
extern
kern_return_t mach_vm_read
(
vm_map_t target_task,
mach_vm_address_t address,
mach_vm_size_t size,
vm_offset_t *data,
mach_msg_type_number_t *dataCnt
);
extern
kern_return_t mach_vm_read_list
(
vm_map_t target_task,
mach_vm_read_entry_t data_list,
natural_t count
);
extern
kern_return_t mach_vm_write
(
vm_map_t target_task,
mach_vm_address_t address,
vm_offset_t data,
mach_msg_type_number_t dataCnt
);
extern
kern_return_t mach_vm_copy
(
vm_map_t target_task,
mach_vm_address_t source_address,
mach_vm_size_t size,
mach_vm_address_t dest_address
);
extern
kern_return_t mach_vm_read_overwrite
(
vm_map_t target_task,
mach_vm_address_t address,
mach_vm_size_t size,
mach_vm_address_t data,
mach_vm_size_t *outsize
);
extern
kern_return_t mach_vm_msync
(
vm_map_t target_task,
mach_vm_address_t address,
mach_vm_size_t size,
vm_sync_t sync_flags
);
extern
kern_return_t mach_vm_behavior_set
(
vm_map_t target_task,
mach_vm_address_t address,
mach_vm_size_t size,
vm_behavior_t new_behavior
);
extern
kern_return_t mach_vm_map
(
vm_map_t target_task,
mach_vm_address_t *address,
mach_vm_size_t size,
mach_vm_offset_t mask,
int flags,
mem_entry_name_port_t object,
memory_object_offset_t offset,
boolean_t copy,
vm_prot_t cur_protection,
vm_prot_t max_protection,
vm_inherit_t inheritance
);
extern
kern_return_t mach_vm_machine_attribute
(
vm_map_t target_task,
mach_vm_address_t address,
mach_vm_size_t size,
vm_machine_attribute_t attribute,
vm_machine_attribute_val_t *value
);
extern
kern_return_t mach_vm_remap
(
vm_map_t target_task,
mach_vm_address_t *target_address,
mach_vm_size_t size,
mach_vm_offset_t mask,
int flags,
vm_map_t src_task,
mach_vm_address_t src_address,
boolean_t copy,
vm_prot_t *cur_protection,
vm_prot_t *max_protection,
vm_inherit_t inheritance
);
extern
kern_return_t mach_vm_page_query
(
vm_map_t target_map,
mach_vm_offset_t offset,
integer_t *disposition,
integer_t *ref_count
);
extern
kern_return_t mach_vm_region_recurse
(
vm_map_t target_task,
mach_vm_address_t *address,
mach_vm_size_t *size,
natural_t *nesting_depth,
vm_region_recurse_info_t info,
mach_msg_type_number_t *infoCnt
);
extern
kern_return_t mach_vm_region
(
vm_map_t target_task,
mach_vm_address_t *address,
mach_vm_size_t *size,
vm_region_flavor_t flavor,
vm_region_info_t info,
mach_msg_type_number_t *infoCnt,
mach_port_t *object_name
);
extern
kern_return_t _mach_make_memory_entry
(
vm_map_t target_task,
memory_object_size_t *size,
memory_object_offset_t offset,
vm_prot_t permission,
mem_entry_name_port_t *object_handle,
mem_entry_name_port_t parent_handle
);
extern
kern_return_t mach_vm_purgable_control
(
vm_map_t target_task,
mach_vm_address_t address,
vm_purgable_t control,
int *state
);
extern
kern_return_t mach_vm_page_info
(
vm_map_t target_task,
mach_vm_address_t address,
vm_page_info_flavor_t flavor,
vm_page_info_t info,
mach_msg_type_number_t *infoCnt
);
extern
kern_return_t mach_vm_page_range_query
(
vm_map_t target_map,
mach_vm_offset_t address,
mach_vm_size_t size,
mach_vm_address_t dispositions,
mach_vm_size_t *dispositions_count
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment