------------------------------------------------------------------------ -- These package specifications were extracted from IEEE Std 1003.5-1992, -- IEEE Standard for Information Technology--POSIX Ada Language -- Interfaces--Part 1: Binding System Application Program Interface, -- copyright (c)1992 by the Institute of Electrical and Electronics -- Engineers, Inc. These package specifications represent only a portion -- of the document and are not to be interpreteted as the approved -- consensus standard. The IEEE Std 1003.5-1992 must be used in -- conjunction with these package specifications in order to claim -- conformance. The IEEE takes no responsibility for and will assume no -- liability for damages resulting from the reader's misinpretation of -- said information resulting from its out of context nature. To order -- copies of the IEEE Std 1003.5-1992, please contact the IEEE Service -- Center at 445 Hoes Lane, PO Box 1331, Piscataway, NJ 08855-1331; via -- phone at 1-800-678-IEEE, 908-981-1393; or via fax at 908-981-9667. ------------------------------------------------------------------------ with POSIX, POSIX_Process_Identification; with System; package POSIX_Signals is -- Signal Type type Signal is @p; function Image(Sig : Signal) return String; function Value(Str : String) return Signal; -- Standard Signals (required) Signal_Null, SIGNULL : constant Signal := 0; Signal_Abort, SIGABRT : constant Signal := @p; Signal_Alarm, SIGALRM : constant Signal := @p; Signal_Floating_Point_Error, SIGFPE : constant Signal := @p; Signal_Hangup, SIGHUP : constant Signal := @p; Signal_Illegal_Instruction, SIGILL : constant Signal := @p; Signal_Interrupt, SIGINT : constant Signal := @p; Signal_Kill, SIGKILL : constant Signal := @p; Signal_Pipe_Write, SIGPIPE : constant Signal := @p; Signal_Quit, SIGQUIT : constant Signal := @p; Signal_Segmentation_Violation, SIGSEGV : constant Signal := @p; Signal_Terminate, SIGTERM : constant Signal := @p; Signal_User_1, SIGUSR1 : constant Signal := @p; Signal_User_2, SIGUSR2 : constant Signal := @p; -- Standard Signals (job control) Signal_Child, SIGCHLD : constant Signal := @p; Signal_Continue, SIGCONT : constant Signal := @p; Signal_Stop, SIGSTOP : constant Signal := @p; Signal_Terminal_Stop, SIGTSTP : constant Signal := @p; Signal_Terminal_Input, SIGTTIN : constant Signal := @p; Signal_Terminal_Output, SIGTTOU : constant Signal := @p; -- Signal Handler References Signal_Abort_Ref : constant System.Address := @P; -- Signal_Alarm intentionally omitted. -- Signal_Floating_Point_Error intentionally omitted. Signal_Hangup_Ref : constant System.Address := @P; -- Signal_Illegal_Instruction intentionally omitted. Signal_Interrupt_Ref : constant System.Address := @P; -- Signal_Kill intentionally omitted. Signal_Pipe_Write_Ref : constant System.Address := @P; Signal_Quit_Ref : constant System.Address := @P; -- Signal_Segmentation_Violation intentionally omitted. Signal_Terminate_Ref : constant System.Address := @P; Signal_User_1_Ref : constant System.Address := @P; Signal_User_2_Ref : constant System.Address := @P; Signal_Child_Ref : constant System.Address := @P; Signal_Continue_Ref : constant System.Address := @P; -- Signal_Stop intentionally omitted. Signal_Terminal_Stop_Ref : constant System.Address := @P; Signal_Terminal_Input_Ref : constant System.Address := @P; Signal_Terminal_Output_Ref : constant System.Address := @P; -- Signal Sets type Signal_Set is private; procedure Add_Signal (Set : in out Signal_Set; Sig : in Signal); procedure Add_All_Signals (Set : in out Signal_Set); procedure Delete_Signal (Set : in out Signal_Set; Sig : in Signal); procedure Delete_All_Signals (Set : in out Signal_Set); function Is_Member (Set : Signal_Set; Sig : Signal) return Boolean; -- Sending a Signal procedure Send_Signal (Process : in POSIX_Process_Identification.Process_ID; Sig : in Signal); procedure Send_Signal (Group : in POSIX_Process_Identification.Process_Group_ID; Sig : in Signal); procedure Send_Signal (Sig : in Signal); -- Blocking and Unblocking Signals procedure Set_Blocked_Signals (New_Mask : in Signal_Set; Old_Mask : out Signal_Set); procedure Block_Signals (Mask_to_Add : in Signal_Set; Old_Mask : out Signal_Set); procedure Unblock_Signals (Mask_to_Subtract : in Signal_Set; Old_Mask : out Signal_Set); function Blocked_Signals return Signal_Set; -- Ignoring Signals procedure Ignore_Signal (Sig : in Signal); procedure Unignore_Signal (Sig : in Signal); function Is_Ignored (Sig : Signal) return Boolean; -- Controlling Delivery of Signal_Child Signal procedure Set_Stopped_Child_Signal (Enable : in Boolean := True); function Stopped_Child_Signal_Enabled return Boolean; -- Examining Pending Signals function Pending_Signals return Signal_Set; private type Signal_Set is @P; end POSIX_Signals;