mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 06:38:47 +00:00
add mach procedures and vm_page_size
- vm_allocate() - vm_deallocate() - vm_map() - mach_make_memory_entry()
This commit is contained in:
@@ -26,6 +26,44 @@ foreign mach {
|
|||||||
semaphore_signal_thread :: proc(semaphore: semaphore_t, thread: thread_act_t) -> kern_return_t ---
|
semaphore_signal_thread :: proc(semaphore: semaphore_t, thread: thread_act_t) -> kern_return_t ---
|
||||||
|
|
||||||
semaphore_wait :: proc(semaphore: semaphore_t) -> kern_return_t ---
|
semaphore_wait :: proc(semaphore: semaphore_t) -> kern_return_t ---
|
||||||
|
|
||||||
|
vm_allocate :: proc (
|
||||||
|
target_task : vm_map_t,
|
||||||
|
address : ^vm_address_t,
|
||||||
|
size : vm_size_t,
|
||||||
|
flags : vm_flags_t,
|
||||||
|
) -> kern_return_t ---
|
||||||
|
|
||||||
|
vm_deallocate :: proc(
|
||||||
|
target_task: vm_map_t,
|
||||||
|
address : vm_address_t,
|
||||||
|
size : vm_size_t
|
||||||
|
) -> kern_return_t---
|
||||||
|
|
||||||
|
vm_map :: proc (
|
||||||
|
target_task : vm_map_t,
|
||||||
|
address : ^vm_address_t,
|
||||||
|
size : vm_size_t,
|
||||||
|
mask : vm_address_t,
|
||||||
|
flags : vm_flags_t,
|
||||||
|
object : mem_entry_name_port_t,
|
||||||
|
offset : vm_offset_t,
|
||||||
|
copy : boolean_t,
|
||||||
|
cur_protection : vm_prot_t,
|
||||||
|
max_protection : vm_prot_t,
|
||||||
|
inheritance : vm_inherit_t
|
||||||
|
) -> kern_return_t ---
|
||||||
|
|
||||||
|
mach_make_memory_entry :: proc (
|
||||||
|
target_task : vm_map_t,
|
||||||
|
size : ^vm_size_t,
|
||||||
|
offset : vm_offset_t,
|
||||||
|
permission : vm_prot_t,
|
||||||
|
object_handle : ^mem_entry_name_port_t,
|
||||||
|
parent_entry : mem_entry_name_port_t,
|
||||||
|
) -> kern_return_t ---
|
||||||
|
|
||||||
|
vm_page_size : vm_size_t
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE(beau): types for stuff in the mach APIS, recreated from the typedefs as
|
// NOTE(beau): types for stuff in the mach APIS, recreated from the typedefs as
|
||||||
|
|||||||
Reference in New Issue
Block a user