|
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: 4096 (0x1000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Os_Variant, seg_050992
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Os_Files; use Os_Files; with Io_Exceptions; with A_Strings; with C_Strings; with Unix; with Unix_Status_Buffer; with Unchecked_Conversion; package body Os_Variant is -- variations in unix type Normal_File_Id_Type is record Device : Integer; Inode : Integer; end record; function To_File_Id_Type is new Unchecked_Conversion (Normal_File_Id_Type, File_Id_Type); function Isatty (Fd : File_Descriptor) return Boolean; pragma Interface (C, Isatty); function Cvt_Open_Flags (Ada_Flags : Os_Files.Open_Flags) return Open_Flags is begin return Ada_Flags; end Cvt_Open_Flags; function Get_File_Id (Fd : File_Descriptor; Name : String) return File_Id_Type is Id : Normal_File_Id_Type; Statbuf : Unix_Status_Buffer.Status_Buffer; C_Buffer : String (Name'First .. Name'Last + 1); Retval : Unix.Status_Code; begin if Fd = File_Descriptor (-1) then Retval := Unix.Stat (C_Strings.To_C (Name, C_Buffer'Address), Unix_Status_Buffer.To_Stat (Statbuf'Address)); else Retval := Unix.Fstat (Fd, Unix_Status_Buffer.To_Stat (Statbuf'Address)); end if; if Retval /= Unix.Ok then raise Io_Exceptions.Device_Error; end if; Id := (Integer (Statbuf.Dev), Integer (Statbuf.Ino)); return To_File_Id_Type (Id); end Get_File_Id; function Get_File_Size (Fd : File_Descriptor) return Integer is Statbuf : Unix_Status_Buffer.Status_Buffer; begin if Unix.Fstat (Fd, Unix_Status_Buffer.To_Stat (Statbuf'Address)) /= Unix.Ok then raise Io_Exceptions.Device_Error; end if; if Unix_Status_Buffer."/=" (Statbuf.Mode.S_Ifmt, Unix_Status_Buffer.S_Ifreg) and then Unix_Status_Buffer."/=" (Statbuf.Mode.S_Ifmt, Unix_Status_Buffer.S_Ifdir) then raise Io_Exceptions.Device_Error; end if; return Statbuf.Size; end Get_File_Size; function Is_A_Tty (Fd : File_Descriptor) return Boolean is begin return Isatty (Fd); end Is_A_Tty; procedure Try_Waiting (Fails : in out Integer; Fd : File_Descriptor) is begin Fails := Fails + 1; if Fails mod 10 = 0 then delay 1.0; end if; end Try_Waiting; procedure Sleep (Time : Duration) is begin delay Time; end Sleep; procedure Condition_Stdin (Stdin_Fd : File_Descriptor; Mode : Open_Flags) is begin null; end Condition_Stdin; end Os_Variant;
nblk1=3 nid=0 hdr6=6 [0x00] rec0=22 rec1=00 rec2=01 rec3=056 [0x01] rec0=18 rec1=00 rec2=02 rec3=070 [0x02] rec0=20 rec1=00 rec2=03 rec3=000 tail 0x2175801d6878e7938ad09 0x42a00088462060003