DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦d9f339a80⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Posix_Signals, seg_0213f0

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Posix_Process_Identification, Unchecked_Conversion,
--   POSIX;                            in draft but not used
     System;
--with Interface_Types;
--use Interface_Types;

package Posix_Signals is


    -- Standard Signals

    type Signal is
       (Signal_Null,
        -- required signals
        Signal_Abort, Signal_Alarm, Signal_Floating_Point_Error, Signal_Hangup,
        Signal_Illegal_Instruction, Signal_Interrupt, Signal_Kill,
        Signal_Pipe_Write, Signal_Quit, Signal_Segment_Violation,
        Signal_Terminate, Signal_User_1, Signal_User_2,
        -- job control signals:
        Signal_Child, Signal_Continue, Signal_Stop, Signal_Terminal_Stop,
        Signal_Terminal_Input, Signal_Terminal_Output);

    -- Signal Handler References
    --   type LONG_INTEGER is new INTEGER; -- On 386
    type Int is new Integer; -- BOGUS DECLARATION
    function Convert_Signal is new Unchecked_Conversion (Int, System.Address);

    Signal_Abort_Ref : constant System.Address := Convert_Signal (6);
    -- Signal_Alarm intentionally omitted.
    -- Signal_Floating_Point_Error intentionally omitted.
    Signal_Hangup_Ref : constant System.Address := Convert_Signal (1);
    -- Signal_Illegal_Instruction intentionally omitted.
    Signal_Interrupt_Ref : constant System.Address := Convert_Signal (2);
    -- Signal_Kill intentionally omitted.
    Signal_Pipe_Write_Ref : constant System.Address := Convert_Signal (13);
    Signal_Quit_Ref : constant System.Address := Convert_Signal (3);
    -- Signal_Segment_Violation intentionally omitted.
    Signal_Terminate_Ref : constant System.Address := Convert_Signal (15);
    Signal_User_1_Ref : constant System.Address := Convert_Signal (30);
    Signal_User_2_Ref : constant System.Address := Convert_Signal (31);

    -- job control signals:

    Signal_Child_Ref : constant System.Address := Convert_Signal (20);
    Signal_Continue_Ref : constant System.Address := Convert_Signal (19);
    -- Signal_Stop intentionally omitted.
    Signal_Terminal_Stop_Ref : constant System.Address := Convert_Signal (18);
    Signal_Terminal_Input_Ref : constant System.Address := Convert_Signal (21);
    Signal_Terminal_Output_Ref : constant System.Address := Convert_Signal (22);

    -- Send a Signal

    procedure Send_Process
                 (Process : in Posix_Process_Identification.Process_Id;
                  Sig : in Signal);

    procedure Send_Group (Group : in Posix_Process_Identification.Process_Id;
                          Sig : in Signal);

    -- Signal Sets

    type Signal_Set is private;

    Empty_Set : constant Signal_Set;

    Full_Set : constant Signal_Set;

    procedure Add (Set : in out Signal_Set; Sig : in Signal);

    procedure Delete (Set : in out Signal_Set; Sig : in Signal);

    function Is_Member (Set : in Signal_Set; Sig : in Signal) return Boolean;

    -- Examine and Change Signal Mask

    procedure Get_And_Install (New_Mask : in Signal_Set;
                               Old_Mask : out Signal_Set);

    procedure Get_And_Add (New_Mask : in Signal_Set; Old_Mask : out Signal_Set);

    procedure Get_And_Subtract (New_Mask : in Signal_Set;
                                Old_Mask : out Signal_Set);
    -- Ignore Signals

    procedure Disable (Sig : in Signal);

    procedure Enable (Sig : in Signal);

    -- Control Delivery of Signal_Child Signal

    procedure Send_Signal_Child_On_Stop (Enable : in Boolean := True);

    -- Examine Pending Signals

    function Pending_Signals return Signal_Set;

private
    type Signal_Set is new Boolean;
    Empty_Set : constant Signal_Set := True;
    Full_Set : constant Signal_Set := True;

end Posix_Signals;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=1d rec1=00 rec2=01 rec3=01a
        [0x01] rec0=11 rec1=00 rec2=02 rec3=07a
        [0x02] rec0=1f rec1=00 rec2=03 rec3=006
        [0x03] rec0=1b rec1=00 rec2=04 rec3=000
    tail 0x2171d6390838d73b16284 0x42a00088462060003