|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Posix_Io, seg_0213eb
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Posix, Posix_Permissions, Posix_Process_Identification; package Posix_Io is -- common type declarations type File_Descriptor is range 0 .. Posix.Open_Files; Standard_Input : constant File_Descriptor := 0; Standard_Output : constant File_Descriptor := 1; Standard_Error : constant File_Descriptor := 2; type Io_Offset is range -2 ** 31 .. 2 ** 31 - 1; -- implementation defined type File_Mode is (Read_Only, Write_Only, Read_Write, Blocking, Append, Close_On_Exec, Truncate, Exclusive, Control_Tty); type File_Mode_Set is array (File_Mode range <>) of Boolean; subtype File_Control_Mode is File_Mode range Read_Only .. Close_On_Exec; subtype Settable_File_Control_Mode is File_Control_Mode range Blocking .. Close_On_Exec; subtype File_Control_Mode_Set is File_Mode_Set (File_Control_Mode); subtype Settable_File_Control_Mode_Set is File_Mode_Set (Settable_File_Control_Mode); subtype Io_Count is Io_Offset range 0 .. Io_Offset'Last; subtype Positive_Io_Count is Io_Count range 1 .. Io_Offset'Last; subtype Open_Mode is File_Mode range Read_Only .. Read_Write; type Position is (From_Beginning, From_Current_Position, From_End_Of_File); -- File open, open_or_create, create, Close, duplicate and pipe function Open (Name : Posix.Posix_String; Mode : Open_Mode; Blocking : Boolean := True; Append : Boolean := False; Truncate : Boolean := False; Control_Tty : Boolean := True) return File_Descriptor; function Open_Or_Create (Name : Posix.Posix_String; Mode : Open_Mode; Permissions : Posix_Permissions.Permission_Set; Blocking : Boolean := True; Append : Boolean := False; Truncate : Boolean := False; Exclusive : Boolean := False; Control_Tty : Boolean := True) return File_Descriptor; procedure Close (File : in File_Descriptor); function Duplicate (File : File_Descriptor) return File_Descriptor; function Duplicate (File1 : File_Descriptor; File2 : File_Descriptor) return File_Descriptor; procedure Pipe (Read_End : out File_Descriptor; Write_End : out File_Descriptor); -- Read and Write ------------------------------- -- in P1003.5 November 1989 : -- PIPE_BUFFER_SIZE : constant := POSIX.Pipe_Limit_Range'FIRST; -- but we must write: ------------------------------- Pipe_Buffer_Size : constant Natural := Posix.Pipe_Limit_Range'Last; type Io_Unit is range -128 .. 127; -- Implementation defined for Io_Unit'Size use 8; -- Implementation defined type Io_Buffer is array (Positive_Io_Count range <>) of Io_Unit; procedure Read (File : in File_Descriptor; Buffer : out Io_Buffer; Last : out Io_Count); procedure Write (File : in File_Descriptor; Buffer : in Io_Buffer; Last : out Io_Count); generic type T is private; procedure Generic_Read ( -- compiler bug?? File : in File_Descriptor; Item : out T); generic type T is private; procedure Generic_Write ( -- compiler bug?? File : in File_Descriptor; Item : in T); -- Seek, File_size, File_Position procedure Seek (File : in File_Descriptor; Offset : in Io_Offset; Whence : in Position := From_Beginning); function File_Size (File : File_Descriptor) return Io_Count; function File_Position (File : File_Descriptor) return Io_Count; -- Terminal device operations function Is_A_Terminal_Device (File : File_Descriptor) return Boolean; function Get_Terminal_Device_Name (File : File_Descriptor) return Posix.Posix_String; -- File Control operations function Get_File_Control (File : File_Descriptor) return File_Control_Mode_Set; procedure Set_File_Control (File : in File_Descriptor; Modes : in Settable_File_Control_Mode_Set); end Posix_Io;
nblk1=5 nid=0 hdr6=a [0x00] rec0=1d rec1=00 rec2=01 rec3=044 [0x01] rec0=19 rec1=00 rec2=02 rec3=050 [0x02] rec0=1a rec1=00 rec2=03 rec3=006 [0x03] rec0=1c rec1=00 rec2=04 rec3=082 [0x04] rec0=12 rec1=00 rec2=05 rec3=000 tail 0x2151cbcf8838d73a8844b 0x42a00088462060003