POK
/home/jaouen/pok_official/pok/trunk/libpok/ada/arinc653/apex-health_monitoring.ads
00001 -- ---------------------------------------------------------------------------
00002 -- --
00003 -- ERROR constant and type definitions and management services --
00004 -- --
00005 -- ---------------------------------------------------------------------------
00006 with APEX.Processes;
00007 package APEX.Health_Monitoring is
00008    Max_Error_Message_Size : constant := 64;
00009    subtype Error_Message_Size_Type is APEX_Integer range
00010       1 .. Max_Error_Message_Size;
00011    type Error_Message_Type is
00012       array (Error_Message_Size_Type) of APEX_Byte;
00013    type Error_Code_Type is (
00014        Deadline_Missed,
00015        Application_Error,
00016        Numeric_Error,
00017        Illegal_Request,
00018        Stack_Overflow,
00019        Memory_Violation,
00020        Hardware_Fault,
00021        Power_Fail);
00022    type Error_Status_Type   is record
00023        Error_Code         : Error_Code_Type;
00024        Length             : Error_Message_Size_Type;
00025        Failed_Process_Id :  APEX.Processes.Process_Id_Type;
00026        Failed_Address     : System_Address_Type;
00027        Message            : Error_Message_Type;
00028    end record;
00029    procedure Report_Application_Message
00030       (Message_Addr : in Message_Addr_Type;
00031        Length       : in Message_Size_Type;
00032        Return_Code : out Return_Code_Type);
00033    procedure Create_Error_Handler
00034       (Entry_Point : in System_Address_Type;
00035        Stack_Size : in APEX.Processes.Stack_Size_Type;
00036        Return_Code : out Return_Code_Type);
00037    procedure Get_Error_Status
00038       (Error_Status : out Error_Status_Type;
00039        Return_Code : out Return_Code_Type);
00040    procedure Raise_Application_Error
00041       (Error_Code   : in Error_Code_Type;
00042        Message_Addr : in Message_Addr_Type;
00043        Length       : in Error_Message_Size_Type;
00044        Return_Code : out Return_Code_Type);
00045 private
00046    pragma Convention (C, Error_Code_Type);
00047    pragma Convention (C, Error_Status_Type);
00048 end APEX.Health_Monitoring;