Ада-95. Компилятор GNAT

       

Пакет AdaInterrupts


Не-вложенная установка и удаление обработчиков прерываний полагается на дополнительные средства стандартного пакета Ada.Interrupts

спецификация которого имеет следующий вид:

package Ada.Interrupts is

type Interrupt_ID is Определяется_Реализацией; type Parameterless_Handler is access protected procedure;

function Is_Reserved (Interrupt : Interrupt_ID) return Boolean;

function Is_Attached (Interrupt : Interrupt_ID) return Boolean;

function Current_Handler (Interrupt : Interrupt_ID) return Parameterless_Handler;

procedure Attach_Handler (New_Handler : in Parameterless_Handler; Interrupt : in Interrupt_ID);

procedure Exchange_Handler (Old_Handler : in out Parameterless_Handler; New_Handler : in Parameterless_Handler; Interrupt : in Interrupt_ID);

procedure Detach_Handler (Interrupt : in Interrupt_ID);

function Reference (Interrupt : Interrupt_ID) return System.Address;

private

. . . -- стандартом не определено

end Ada.Interrupts;

Процедура Attach_Handler используется для установки соответствующего обработчика прерывания, переопределяя любой существующий обработчик (включая обработчик пользователя).

Если параметр New_Handler - null, то осуществляется восстановление обработчика по умолчанию.

Если параметр New_Handler указывает защищенную процедуру для которой не была применена директива компилятора Interrupt_Handler, то возбуждается исключение Programm_Error.



Содержание раздела