ado_shm_mmap()

Мапирование блока разделяемой памяти в адресное пространство драйвера

Прототип:

#include <audio_driver.h>
void * ado_shm_mmap( off64_t phys_addr,
size_t size,
char *name );

Аргументы:

phys_addr
Физический адрес мапируемого блока памяти.
size
Размер блока памяти.
name
Имя нового разделяемого объекта памяти. Длина не может превышать QNX_SHM_NAME_LEN.

Библиотека:

libado

Описание:

Функция ado_shm_mmap() мапирует разделяемый блок памяти в адресное пространство драйвера и создает разделяемый объект с именем name. Она может использоваться в случае, если устройство имеет собственную память и DMA буфер должен выделяться из нее. В этом случае память не выделяется из системы, а мапируется из памяти устройства.

Функция ado_shm_alloc(), наоборот, выделяет блок разделяемой памяти из системной. Она также позволяет создать разделяемый объект.

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

Указатель на выделенную память или NULL при возникновении ошибки (также устанавливается errno).

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

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

Безопасность использования
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

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

ado_shm_alloc(), ado_shm_free()




Предыдущий раздел: Библиотека libado