IOConnectMapMemory64

Function IOConnectMapMemory64 

Source
pub unsafe extern "C-unwind" fn IOConnectMapMemory64(
    connect: io_connect_t,
    memory_type: u32,
    into_task: task_t,
    at_address: *mut mach_vm_address_t,
    of_size: *mut mach_vm_size_t,
    options: IOOptionBits,
) -> kern_return_t
Available on crate feature libc only.
Expand description

Map hardware or shared memory into the caller’s task.

This is a generic method to create a mapping in the callers task. The family will interpret the type parameter to determine what sort of mapping is being requested. Cache modes and placed mappings may be requested by the caller.

Parameter connect: The connect handle created by IOServiceOpen.

Parameter memoryType: What is being requested to be mapped, not interpreted by IOKit and family defined. The family may support physical hardware or shared memory mappings.

Parameter intoTask: The task port for the task in which to create the mapping. This may be different to the task which the opened the connection.

Parameter atAddress: An in/out parameter - if the kIOMapAnywhere option is not set, the caller should pass the address where it requests the mapping be created, otherwise nothing need to set on input. The address of the mapping created is passed back on success.

Parameter ofSize: The size of the mapping created is passed back on success.

Returns: A kern_return_t error code.

§Safety

  • at_address must be a valid pointer.
  • of_size must be a valid pointer.