Package: Ada.Interrupts

Dependencies

with System.Interrupts;
used for Ada_Interrupt_ID

Description

GNAT RUN-TIME COMPONENTS

A D A . I N T E R R U P T S

S p e c

$Revision: 1.13 $

This specification is adapted from the Ada Reference Manual for use with GNAT. In accordance with the copyright of that document, you can freely copy and modify this specification, provided that if you redistribute a modified version, any changes that you have made are clearly indicated.

Made definition of Interrupt_ID depend on System.OS_Interface. rather than being a visible target-specific type. This made the file a-interr.ads target-independent. The target-specific declaration of Interrupt_ID is *not* in System.Interrupts, because that contains operations on Interrupt_IDs that we do not want to inherit and make visible here. It is in System.OS_Interface because operations on this type will need visibility of other target-specific info. that is only visible there. Made non-renamed subprograms in line, for efficiency.

Header

package Ada.Interrupts is
 

Known child units

Ada.Interrupts.Names(package)
Ada.Interrupts.Signal(package)

Type Summary

Interrupt_ID derived from Ada_Interrupt_ID
Parameterless_Handler

Other Items:

type Interrupt_ID is new System.Interrupts.Ada_Interrupt_ID;

type Parameterless_Handler is access protected procedure;

function Is_Reserved (Interrupt : Interrupt_ID)
   return Boolean;
pragma Inline (Is_Reserved);

function Is_Attached (Interrupt : Interrupt_ID)
   return Boolean;
pragma Inline (Is_Attached);

function Current_Handler (Interrupt : Interrupt_ID)
   return Parameterless_Handler;
pragma Inline (Current_Handler);

procedure Attach_Handler
   (New_Handler : Parameterless_Handler;
    Interrupt   : Interrupt_ID);
pragma Inline (Attach_Handler);

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

procedure Detach_Handler
   (Interrupt : Interrupt_ID);
pragma Inline (Detach_Handler);

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