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

⟦4cdc09e47⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Posix_Process_Primitives, seg_0213ef

Derivation

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

E3 Source Code



with Posix_Process_Environment, Posix_Io, Posix_Permissions,
     Posix_Process_Identification, Posix_Signals, Posix;
-- with Interface_Types;                    -- implementation defined

package Posix_Process_Primitives is

    -- Process Template

    type Process_Template is private;

    function Current_Process_Template return Process_Template;

    procedure Close_Template (Template : in out Process_Template);

    procedure Set_Keep_Effective_Ids (Template : in out Process_Template);

    procedure Set_Signal_Mask (Template : in out Process_Template;
                               Mask : in Posix_Signals.Signal_Set);

    procedure Set_File_Action_To_Close (Template : in out Process_Template;
                                        File : in Posix_Io.File_Descriptor);

    procedure Set_File_Action_To_Open (Template : in out Process_Template;
                                       File : in Posix_Io.File_Descriptor;
                                       Name : in Posix.Posix_String;
                                       Mode : in Posix_Io.Open_Mode;
                                       Blocking : in Boolean := True;
                                       Append : in Boolean := False;
                                       Truncate : in Boolean := False;
                                       Control_Tty : in Boolean := True);

    procedure Set_File_Action_To_Duplicate
                 (Template : in out Process_Template;
                  File : in Posix_Io.File_Descriptor;
                  From_File : in Posix_Io.File_Descriptor);

    -- Process Creation

    function Start_Process (Pathname : in Posix.Posix_String;
                            Template : in Process_Template :=
                               Current_Process_Template;
                            Parameter_List : in Posix.Posix_String_List :=
                               Posix.Empty_String_List;
                            Env_List : in Posix_Process_Environment.Environment)
                           return Posix_Process_Identification.Process_Id;

    function Start_Process (Pathname : in Posix.Posix_String;
                            Template : in Process_Template :=
                               Current_Process_Template;
                            Parameter_List : in Posix.Posix_String_List :=
                               Posix.Empty_String_List)
                           return Posix_Process_Identification.Process_Id;

    function Start_Process_Search
                (Filename : in Posix.Posix_String;
                 Template : in Process_Template := Current_Process_Template;
                 Parameter_List : in Posix.Posix_String_List :=
                    Posix.Empty_String_List;
                 Env_List : in Posix_Process_Environment.Environment)
                return Posix_Process_Identification.Process_Id;

    function Start_Process_Search
                (Filename : in Posix.Posix_String;
                 Template : in Process_Template := Current_Process_Template;
                 Parameter_List : in Posix.Posix_String_List :=
                    Posix.Empty_String_List)
                return Posix_Process_Identification.Process_Id;

    -- Process Termination

    type Exit_Status is range 0 .. 2 ** 8 - 1;
    Normal_Exit : constant Exit_Status := 0;
    Unhandled_Exception_Exit : constant Exit_Status := 42;

    procedure Exit_Process (Status : in Exit_Status := Normal_Exit);

    -- Wait for Process Termination

    type Termination_Status is private;

    function Process_Id_Of (Status : in Termination_Status)
                           return Posix_Process_Identification.Process_Id;

    function Exit_Status_Of (Status : in Termination_Status) return Exit_Status;

    function Terminate_Signal_Of
                (Status : in Termination_Status) return Posix_Signals.Signal;

    function Stop_Signal_Of (Status : in Termination_Status)
                            return Posix_Signals.Signal;

    function Exited_Normally (Status : in Termination_Status) return Boolean;

    function Terminated_By_Signal
                (Status : in Termination_Status) return Boolean;

    function Stopped_By_Signal (Status : in Termination_Status) return Boolean;

    procedure Wait_For_Child
                 (Status : out Termination_Status;
                  Child : in Posix_Process_Identification.Process_Id :=
                     Posix_Process_Identification.Null_Process_Id;
                  Block : in Boolean := True;
                  Trace_Stopped : in Boolean := True);

    procedure Wait_For_Process_Group
                 (Status : out Termination_Status;
                  Process_Group : in Posix_Process_Identification.Process_Id :=
                     Posix_Process_Identification.Null_Process_Id;
                  Block : in Boolean := True;
                  Trace_Stopped : in Boolean := True);

private
    type Process_Template is new Boolean;
    type Termination_Status is new Boolean;
end Posix_Process_Primitives;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=1a rec1=00 rec2=01 rec3=038
        [0x01] rec0=13 rec1=00 rec2=02 rec3=046
        [0x02] rec0=13 rec1=00 rec2=03 rec3=03a
        [0x03] rec0=1a rec1=00 rec2=04 rec3=044
        [0x04] rec0=16 rec1=00 rec2=05 rec3=034
        [0x05] rec0=06 rec1=00 rec2=06 rec3=000
    tail 0x2151cbd50838d73aec7aa 0x42a00088462060003