Подключить обработчик прерывания (нерекомендуемый способ обработки)
#include <intr.h>int intr_capture( int intr, int (* handler)( void *area ), void *area, size_t areasize );
![]() | Функция-обработчик прерываний имеет ряд серьезных ограничений. Подробнее см. Функция обработчика прерываний. |
NULL
, если такая область не нужна.0
, если область NULL
.libc
Функция позволяет добавить обработчик handler() к прерыванию intr в начало очереди обаботчиков. Для успешного выполнения требуется наличие привилегий ввода-вывода.
Функция добавлена в рамках обратной совместимости с предыдущими редакциями операционной системы.
![]() | Таким способом возможно подключить не более 32 обработчиков на процесс. Данное ограничение заложено в библиотеке libc лишь для данного способа обслуживания прерываний и не относится к системным ограничениям.
Функция обслуживает внутренний список обработчиков и не поддерживает вызов в многопоточных приложениях. В этом случае требуется отдельная внешняя защита мьютексом. |
ЗОСРВ «Нейтрино»
ЗОСРВ
«Нейтрино»
редакции 2021
InterruptAttach(), InterruptDetach(), InterruptMask(), InterruptUnmask(), InterruptWait(), intr_lock(), intr_release(), intr_timed_wait(), intr_unlock()
Предыдущий раздел: Описание API системной библиотеки