Шрифт:
Классификация: Функция ввода/вывода
Обработчик по умолчанию: iofunc_mmap_default
Вспомогательные функции: iofunc_mmap
Клиентская функция: mmap, munmap, mmap_device_io, mmap_device_memory
Сообщения: _IO_MMAP
Структура данных:
Описание: Позволяет администратору процессов применять к файлам вашего администратора ресурсов операцию mmap. В общем случае самостоятельно программировать эту функцию не следует (используйте обработчик по умолчанию, предоставляемый iofunc_func_init), если только вы не хотите ее преднамеренно отключить (например, драйвер последовательного порта мог бы запросто возвратить ENOSYS, поэтому для него эта операция не имеет никакого смысла).
Данную функцию администратора ресурсов может вызвать только администратор процессов
Отметим, что побочным результатом вызова этой функции администратором процессов является создание OCB (то есть будет вызвана функция iofunc_ocb_calloc, но для правильно спроектированного администратора ресурсов это не должно иметь никаких последствий.
Возвращает: Код завершения, при помощи вспомогательного макроса _RESMGR_STATUS.
Данная функция зарезервирована QSSL для будущего использования. Вам следует инициализировать таблицу функций ввода/вывода, используя iofunc_func_init, и не изменять данную точку входа.
Классификация: Функция ввода/вывода
Обработчик по умолчанию: Нет
Вспомогательные функции: Нет
Клиентская функция: Нет (создается «вручную» и передается посредством MsgSend)
Сообщения: _IO_MSG
Структура данных:
Описание: Интерфейс _IO_MSG является более общей, но менее переносимой вариацией на тему ioctl и devctl. Поле mgrid идентифицирует конкретный администратор — вы не должны выполнять никаких действий по запросам, не соответствующим идентификатору вашего администратора. Поле subtype фактически задает команду, которую клиент хочет выполнить. Любые неявно передаваемые данные следуют за входной структурой. Данные, возвращаемые клиенту, передаются сами по себе; код завершения возвращается через макрос _RESMGR_STATUS. Уникальный «идентификатор администратора» (manager ID) вы можете получить в QSSL.
Возвращает: Код завершения, при помощи вспомогательного макроса _RESMGR_STATUS.
Классификация: Функция ввода/вывода