POK
|
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;