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

⟦33db10395⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Os_File_Msgs, seg_04cdbe

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 Io_Exceptions;
use Io_Exceptions;
with File_Support;
use File_Support;
with Os_Files;
with System;
with Cross_Msgs;
with Target_Types;
use Target_Types;
package Os_File_Msgs is

-----------------------
-- Cross_io commands --
-----------------------

    Get_Integer_Cmd : constant Cross_Msgs.Commands := 16#41#;
    Get_Full_Name_Cmd : constant Cross_Msgs.Commands := 16#42#;
    Get_Open_Cmd : constant Cross_Msgs.Commands := 16#43#;
    Get_Block_Cmd : constant Cross_Msgs.Commands := 16#44#;
    Get_Boolean_Cmd : constant Cross_Msgs.Commands := 16#45#;
    Get_Ok_To_Write_Cmd : constant Cross_Msgs.Commands := 16#46#;

    Delete_Cmd : constant Cross_Msgs.Commands := 16#61#;
    Close_Cmd : constant Cross_Msgs.Commands := 16#62#;
    Open_Cmd : constant Cross_Msgs.Commands := 16#63#;
    Write_Cmd : constant Cross_Msgs.Commands := 16#64#;
    Read_Cmd : constant Cross_Msgs.Commands := 16#65#;
    Position_File_Cmd : constant Cross_Msgs.Commands := 16#66#;
    Skip_In_File_Cmd : constant Cross_Msgs.Commands := 16#67#;
    Is_Interactive_Cmd : constant Cross_Msgs.Commands := 16#68#;
    File_Size_Cmd : constant Cross_Msgs.Commands := 16#69#;
    Ok_To_Write_Cmd : constant Cross_Msgs.Commands := 16#6A#;
    At_End_Of_File_Cmd : constant Cross_Msgs.Commands := 16#6B#;
    Truncate_Cmd : constant Cross_Msgs.Commands := 16#6C#;

-------------------------------
-- Cross_io message formats. --
-------------------------------

    type At_End_Of_File_Params is
        record
            Fd : Target_Fd;
            Index : Target_Int;
        end record;

    type File_Size_Params is
        record
            Fd : Target_Fd;
            Elem_Size : Target_Int;
        end record;

    type Position_File_Params is
        record
            Fd : Target_Fd;
            To : Target_Int;
            Size : Target_Int;
        end record;

    type Skip_In_File_Params is
        record
            Fd : Target_Fd;
            To : Target_Int;
        end record;

    type Xfer_Params is
        record
            Fd : Target_Fd;
            Cnt : Target_Int;
        end record;

    type Open_Params is
        record
            Record_Size : Target_Int;
            Name_Len : Target_Int;
            Style : Target_Style;
            Mode : Target_Mode;
            Create : Target_Bool;
        end record;

    type Open_Returns is
        record
            Fd : Target_Fd;
            Name_Len : Target_Int;
            File_Id : Target_File_Id;
        end record;

    type Ok_To_Write_Params is
        record
            Fd : Target_Fd;
            Buf_Empty : Target_Bool;
            Out_Char_Eq_Lf : Target_Bool;
        end record;

    type Get_Full_Name_Params is
        record
            Style : Target_Style;
        end record;

    type Ok_To_Write_Returns is
        record
            Ok : Target_Bool;
            Decrement_Ptrs : Target_Bool;
        end record;

    type Init_Os_Files_Returns is
        record
            Stdin_Fd : Target_Fd;
            Stdout_Fd : Target_Fd;
            Stderr_Fd : Target_Fd;
            File_Id_Type_Size : Target_Int;
            Always_Flush_Files : Target_Bool;
        end record;

----------------------------------------------------------------
-- Rep clauses for the messages.  These depend on the target, --
-- since the sizes of the fields are target-specific.  The
-- representations must be the same on both host and target.
----------------------------------------------------------------


    for At_End_Of_File_Params use
        record
            Fd at 0 range 0 .. 31;
            Index at 4 range 0 .. 31;
        end record;

    for File_Size_Params use
        record
            Fd at 0 range 0 .. 31;
            Elem_Size at 4 range 0 .. 31;
        end record;

    for Position_File_Params use
        record
            Fd at 0 range 0 .. 31;
            To at 4 range 0 .. 31;
            Size at 8 range 0 .. 31;
        end record;

    for Skip_In_File_Params use
        record
            Fd at 0 range 0 .. 31;
            To at 4 range 0 .. 31;
        end record;

    for Xfer_Params use
        record
            Fd at 0 range 0 .. 31;
            Cnt at 4 range 0 .. 31;
        end record;

    for Open_Params use
        record
            Record_Size at 0 range 0 .. 31;
            Name_Len at 4 range 0 .. 31;
            Style at 8 range 0 .. 7;
            Mode at 9 range 0 .. 7;
            Create at 10 range 0 .. 7;
        end record;

    for Open_Returns use
        record
            Fd at 0 range 0 .. 31;
            Name_Len at 4 range 0 .. 31;
            File_Id at 8 range 0 .. 63;
        end record;

    for Ok_To_Write_Params use
        record
            Fd at 0 range 0 .. 31;
            Buf_Empty at 4 range 0 .. 7;
            Out_Char_Eq_Lf at 5 range 0 .. 7;
        end record;

    for Get_Full_Name_Params use
        record
            Style at 0 range 0 .. 7;
        end record;

    for Ok_To_Write_Returns use
        record
            Ok at 0 range 0 .. 7;
            Decrement_Ptrs at 1 range 0 .. 7;
        end record;

    for Init_Os_Files_Returns use
        record
            Stdin_Fd at 0 range 0 .. 31;
            Stdout_Fd at 4 range 0 .. 31;
            Stderr_Fd at 8 range 0 .. 31;
            File_Id_Type_Size at 12 range 0 .. 31;
            Always_Flush_Files at 16 range 0 .. 7;
        end record;

    ----------------------------------------------------------------
    -- Record-size constants, given in storage units              --
    ----------------------------------------------------------------

    At_End_Of_File_Params_Size : constant := 8;
    File_Size_Params_Size : constant := 8;
    Position_File_Params_Size : constant := 12;
    Skip_In_File_Params_Size : constant := 8;
    Xfer_Params_Size : constant := 8;
    Open_Params_Size : constant := 11;
    Open_Returns_Size : constant := 16;
    Ok_To_Write_Params_Size : constant := 6;
    Get_Full_Name_Params_Size : constant := 1;
    Ok_To_Write_Returns_Size : constant := 2;
    Init_Os_Files_Returns_Size : constant := 17;


    for At_End_Of_File_Params'Size use
       At_End_Of_File_Params_Size * System.Storage_Unit;

    for File_Size_Params'Size use File_Size_Params_Size * System.Storage_Unit;

    for Position_File_Params'Size use
       Position_File_Params_Size * System.Storage_Unit;

    for Skip_In_File_Params'Size use
       Skip_In_File_Params_Size * System.Storage_Unit;

    for Xfer_Params'Size use Xfer_Params_Size * System.Storage_Unit;

    for Open_Params'Size use Open_Params_Size * System.Storage_Unit;

    for Open_Returns'Size use Open_Returns_Size * System.Storage_Unit;

    for Ok_To_Write_Params'Size use
       Ok_To_Write_Params_Size * System.Storage_Unit;

    for Get_Full_Name_Params'Size use
       Get_Full_Name_Params_Size * System.Storage_Unit;

    for Ok_To_Write_Returns'Size use
       Ok_To_Write_Returns_Size * System.Storage_Unit;

    for Init_Os_Files_Returns'Size use
       Init_Os_Files_Returns_Size * System.Storage_Unit;

end Os_File_Msgs;

E3 Meta Data

    nblk1=8
    nid=0
    hdr6=10
        [0x00] rec0=1d rec1=00 rec2=01 rec3=066
        [0x01] rec0=21 rec1=00 rec2=02 rec3=006
        [0x02] rec0=28 rec1=00 rec2=03 rec3=032
        [0x03] rec0=20 rec1=00 rec2=04 rec3=026
        [0x04] rec0=25 rec1=00 rec2=05 rec3=044
        [0x05] rec0=1e rec1=00 rec2=06 rec3=054
        [0x06] rec0=1b rec1=00 rec2=07 rec3=078
        [0x07] rec0=0f rec1=00 rec2=08 rec3=000
    tail 0x217541c04874f7b4eb0da 0x42a00088462060003