mmap_device_io()

Получить доступ к памяти устройства

Прототип:

#include <stdint.h>
#include <sys/mman.h>
uintptr_t mmap_device_io( size_t len,
uint64_t io );

Аргументы:

len
The number of bytes of device I/O memory that you want to access. It can't be 0.
io
The address of the area that you want to access.

Библиотека:

libc

Описание:

The mmap_device_io() function maps len bytes of device I/O memory at io and makes it accessible via the in*() and out*() functions in <hw/inout.h>.

Возвращаемое значение:

A handle to the device's I/O memory.

Если возникла ошибка функция возвращает MAP_DEVICE_FAILED, код ошибки записывается в errno.

Коды ошибок:

EINVAL
Invalid flags type, or len is 0.
ENOMEM
The address range requested is outside of the allowed process address range, or there wasn't enough memory to satisfy the request.
ENXIO
The address from io for len bytes is invalid.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Предостережения:

You need I/O privileges to use the result of the mmap_device_io() function. The calling thread may call ThreadCtl() with the _NTO_TCTL_IO command to establish these privileges.

Тематические ссылки:

mmap(), mmap_device_memory(), munmap_device_io()




Предыдущий раздел: Описание API системной библиотеки