add mach procedures and vm_page_size

- vm_allocate()
- vm_deallocate()
- vm_map()
- mach_make_memory_entry()
This commit is contained in:
Beau McCartney
2024-10-05 11:20:25 -06:00
parent a205bcd0da
commit 80c390e851

View File

@@ -26,6 +26,44 @@ foreign mach {
semaphore_signal_thread :: proc(semaphore: semaphore_t, thread: thread_act_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