File : interrupt_handler.ads


----------------------------------------------------------------------------
--
--                              -*- Mode: Ada -*-
--
-- Filename        : interrup_handler.ads
-- Description     : Allows for multiple protected procedures
--                   receiving the same interrupt.
-- Author          : Uwe R. Zimmer
-- Created On      : 08/99
-- Last Modified By: Uwe R. Zimmer
-- Last Modified On: 11/99
-- Update Count    : Version 0.91
-- Status          : Beta
--
----------------------------------------------------------------------------

package Interrupt_Handler is

   ----------------------------------------------------------------------------
   --
   -- Global types
   --
   ----------------------------------------------------------------------------

   type SysInterrupts is (SignalIO);

   type InterruptRoutine is access protected procedure;

   ----------------------------------------------------------------------------
   --
   --
   --
   ----------------------------------------------------------------------------

   protected InterruptInterface is

      procedure InitIntHandler;    -- Inits and Shutdowns can be recursively
      entry ShutdownIntHandler;    -- iterated (also from different tasks)

      entry AddIntRoutine
        (Int        : in SysInterrupts;
         NewRoutine : in InterruptRoutine);

   end InterruptInterface;

end Interrupt_Handler;