mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 06:38:47 +00:00
add thread-info and memmap-info
This commit is contained in:
@@ -17,6 +17,7 @@ kern_return_t :: distinct u64
|
|||||||
thread_act_t :: distinct u64
|
thread_act_t :: distinct u64
|
||||||
thread_state_t :: distinct ^u32
|
thread_state_t :: distinct ^u32
|
||||||
thread_list_t :: [^]thread_act_t
|
thread_list_t :: [^]thread_act_t
|
||||||
|
vm_region_recurse_info_t :: distinct ^i32
|
||||||
|
|
||||||
MACH_PORT_NULL :: 0
|
MACH_PORT_NULL :: 0
|
||||||
MACH_PORT_DEAD :: ~mach_port_t(0)
|
MACH_PORT_DEAD :: ~mach_port_t(0)
|
||||||
@@ -141,6 +142,36 @@ arm_thread_state64_t :: struct {
|
|||||||
}
|
}
|
||||||
ARM_THREAD_STATE64_COUNT :: size_of(arm_thread_state64_t) / size_of(u32)
|
ARM_THREAD_STATE64_COUNT :: size_of(arm_thread_state64_t) / size_of(u32)
|
||||||
|
|
||||||
|
THREAD_IDENTIFIER_INFO :: 4
|
||||||
|
thread_identifier_info :: struct {
|
||||||
|
thread_id: u64,
|
||||||
|
thread_handler: u64,
|
||||||
|
dispatch_qaddr: u64,
|
||||||
|
}
|
||||||
|
THREAD_IDENTIFIER_INFO_COUNT :: size_of(thread_identifier_info) / size_of(u32)
|
||||||
|
|
||||||
|
vm_region_submap_info_64 :: struct {
|
||||||
|
protection: u32,
|
||||||
|
max_protection: u32,
|
||||||
|
inheritance: u32,
|
||||||
|
offset: u64,
|
||||||
|
user_tag: u32,
|
||||||
|
pages_residept: u32,
|
||||||
|
pages_shared_now_private: u32,
|
||||||
|
pages_swapped_out: u32,
|
||||||
|
pages_dirtied: u32,
|
||||||
|
ref_count: u32,
|
||||||
|
shadow_depth: u16,
|
||||||
|
external_pager: u8,
|
||||||
|
share_mode: u8,
|
||||||
|
is_submap: b32,
|
||||||
|
behavior: i32,
|
||||||
|
object_id: u32,
|
||||||
|
user_wired_count: u16,
|
||||||
|
pages_reusable: u32,
|
||||||
|
}
|
||||||
|
VM_REGION_SUBMAP_INFO_COUNT_64 :: size_of(vm_region_submap_info_64) / size_of(u32)
|
||||||
|
|
||||||
@(default_calling_convention="c")
|
@(default_calling_convention="c")
|
||||||
foreign mach {
|
foreign mach {
|
||||||
mach_task_self :: proc() -> task_t ---
|
mach_task_self :: proc() -> task_t ---
|
||||||
@@ -149,6 +180,7 @@ foreign mach {
|
|||||||
mach_vm_allocate :: proc(target_task: task_t, adddress: u64, size: u64, flags: i32) -> kern_return_t ---
|
mach_vm_allocate :: proc(target_task: task_t, adddress: u64, size: u64, flags: i32) -> kern_return_t ---
|
||||||
mach_vm_deallocate :: proc(target_task: task_t, adddress: ^u64, size: u64) -> kern_return_t ---
|
mach_vm_deallocate :: proc(target_task: task_t, adddress: ^u64, size: u64) -> kern_return_t ---
|
||||||
mach_vm_remap :: proc(target_task: task_t, page: rawptr, size: u64, mask: u64, flags: i32, src_task: task_t, src_address: u64, copy: b32, cur_protection: ^i32, max_protection: ^i32, inheritance: i32) -> kern_return_t ---
|
mach_vm_remap :: proc(target_task: task_t, page: rawptr, size: u64, mask: u64, flags: i32, src_task: task_t, src_address: u64, copy: b32, cur_protection: ^i32, max_protection: ^i32, inheritance: i32) -> kern_return_t ---
|
||||||
|
mach_vm_region_recurse :: proc(target_task: task_t, address: ^u64, size: ^u64, depth: ^u32, info: vm_region_recurse_info_t, count: ^u32) -> kern_return_t ---
|
||||||
|
|
||||||
mach_port_allocate :: proc(task: task_t, right: u32, name: rawptr) -> kern_return_t ---
|
mach_port_allocate :: proc(task: task_t, right: u32, name: rawptr) -> kern_return_t ---
|
||||||
mach_port_deallocate :: proc(task: task_t, name: u32) -> kern_return_t ---
|
mach_port_deallocate :: proc(task: task_t, name: u32) -> kern_return_t ---
|
||||||
@@ -158,7 +190,9 @@ foreign mach {
|
|||||||
task_suspend :: proc(task: task_t) -> kern_return_t ---
|
task_suspend :: proc(task: task_t) -> kern_return_t ---
|
||||||
task_resume :: proc(task: task_t) -> kern_return_t ---
|
task_resume :: proc(task: task_t) -> kern_return_t ---
|
||||||
task_threads :: proc(task: task_t, thread_list: ^thread_list_t, list_count: ^u32) -> kern_return_t ---
|
task_threads :: proc(task: task_t, thread_list: ^thread_list_t, list_count: ^u32) -> kern_return_t ---
|
||||||
|
|
||||||
thread_get_state :: proc(thread: thread_act_t, flavor: i32, thread_state: thread_state_t, old_state_count: ^u32) -> kern_return_t ---
|
thread_get_state :: proc(thread: thread_act_t, flavor: i32, thread_state: thread_state_t, old_state_count: ^u32) -> kern_return_t ---
|
||||||
|
thread_info :: proc(thread: thread_act_t, flavor: u32, thread_info: ^thread_identifier_info, info_count: ^u32) -> kern_return_t ---
|
||||||
|
|
||||||
bootstrap_register2 :: proc(bp: mach_port_t, service_name: name_t, sp: mach_port_t, flags: u64) -> kern_return_t ---
|
bootstrap_register2 :: proc(bp: mach_port_t, service_name: name_t, sp: mach_port_t, flags: u64) -> kern_return_t ---
|
||||||
bootstrap_look_up :: proc(bp: mach_port_t, service_name: name_t, sp: ^mach_port_t) -> kern_return_t ---
|
bootstrap_look_up :: proc(bp: mach_port_t, service_name: name_t, sp: ^mach_port_t) -> kern_return_t ---
|
||||||
|
|||||||
Reference in New Issue
Block a user