|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 11876 (0x2e64)
Types: TextFile
Names: »V«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦4c85d69e2⟧
└─⟦this⟧
-- The use of this system is subject to the software license terms and
-- conditions agreed upon between Rational and the Customer.
--
-- Copyright 1988 by Rational.
--
-- RESTRICTED RIGHTS LEGEND
--
-- Use, duplication, or disclosure by the Government is subject to
-- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
-- Technical Data and Computer Software clause at 52.227-7013.
--
--
-- Rational
-- 3320 Scott Boulevard
-- Santa Clara, California 95054-3197
--
-- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
-- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
-- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS
-- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
-- 1976. CREATED 1988. ALL RIGHTS RESERVED.
--
--
with System;
package Os2000_Io is
type Path_Number is private;
Standard_In : constant Path_Number;
Standard_Out : constant Path_Number;
Standard_Error : constant Path_Number;
subtype File_Position is Natural;
Null_Position : constant File_Position := 0;
-- type Status is (Successful, Path_Table_Full, Bad_Path_Number,
-- Illegal_Mode, End_Of_File, File_Not_Accessible,
-- Bad_Path_Name, Bad_Name, Path_Name_Not_Found,
-- File_Already_Exists, Read_Error, Write_Error,
-- Non_Sharable_File_Busy);
--
subtype Stratus is Integer;
E_Success : constant := 16#0000#;
E_Pthful : constant := 16#00C8#;
E_Bpnum : constant := 16#00C9#;
E_Bmode : constant := 16#00CB#;
E_Eof : constant := 16#00D3#;
E_Fna : constant := 16#00D6#;
E_Bpnam : constant := 16#00D7#;
E_Pnnf : constant := 16#00D8#;
E_Bnam : constant := 16#00EB#;
E_Cef : constant := 16#00DA#;
E_Read : constant := 16#00F4#;
E_Write : constant := 16#00F5#;
E_Share : constant := 16#00FD#;
-- for Status use (Successful => E_Success,
-- Path_Table_Full => E_Pthful,
-- Bad_Path_Number => E_Bpnum,
-- Illegal_Mode => E_Bmode,
-- End_Of_File => E_Eof,
-- File_Not_Accessible => E_Fna,
-- Bad_Path_Name => E_Bpnam,
-- Path_Name_Not_Found => E_Pnnf,
-- Bad_Name => E_Bnam,
-- File_Already_Exists => E_Cef,
-- Read_Error => E_Read,
-- Write_Error => E_Write,
-- Non_Sharable_File_Busy => E_Share);
--
-- File mode
--
Read_Mode : constant := 2#0000_0001#;
Write_Mode : constant := 2#0000_0010#;
Update_Mode : constant := Read_Mode + Write_Mode;
Execute_Mode : constant := 2#0000_0100#;
Initial_Size : constant := 2#0010_0000#;
Single_User : constant := 2#0100_0000#;
Directory : constant := 2#1000_0000#;
--
-- File attributes
--
Readable : constant := 2#0000_0001#;
Writeable : constant := 2#0000_0010#;
Updatable : constant := Readable + Writeable;
Executable : constant := 2#0000_0100#;
Public_Readable : constant := 2#0000_1000#;
Public_Writable : constant := 2#0001_0000#;
Public_Updatable : constant := Public_Readable + Public_Writable;
Public_Executable : constant := 2#0010_0000#;
Not_Shareable : constant := 2#0100_0000#;
--
-- Filenames are passed as the address of zero-terminated strings.
--
procedure Create (Name : System.Address;
Mode : Natural;
Attributes : Natural;
New_Path : out Path_Number;
Result : out Stratus);
--
-- Possible status: Successful, Path_Table_Full, Bad_Path_Name,
-- File_Already_Exists
-- If Result /= Successful then New_Path should not be used.
--
--
pragma Suppress (Elaboration_Check, Create);
pragma Interface (Asm, Create);
pragma Import_Procedure (Create, "__OS9_I$CREATE",
Mechanism => (Value, Value, Value, Value, Value));
procedure Open (Name : System.Address;
Mode : Natural;
New_Path : out Path_Number;
Result : out Stratus);
--
-- Possible status: Successful, Path_Table_Full, Bad_Path_Name,
-- Illegal_Mode, File_Not_Accessible,
-- Path_Name_Not_Found, Non_Sharable_File_Busy
-- If Result /= Successful then New_Path should not be used.
--
pragma Suppress (Elaboration_Check, Open);
pragma Interface (Asm, Open);
pragma Import_Procedure (Open, "__OS9_I$OPEN",
Mechanism => (Value, Value, Value, Value));
procedure Close (Path : Path_Number; Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number
--
pragma Suppress (Elaboration_Check, Close);
pragma Interface (Asm, Close);
pragma Import_Procedure (Close, "__OS9_I$CLOSE",
Mechanism => (Value, Value));
procedure Delete (Name : System.Address; Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Name, ???
--
pragma Suppress (Elaboration_Check, Delete);
pragma Interface (Asm, Delete);
pragma Import_Procedure (Delete, "__OS9_I$DELETE",
Mechanism => (Value, Value));
procedure Read (Path : Path_Number;
Count : Natural;
Buffer : System.Address;
Bytes_Read : out Natural;
Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, Read_Error,
-- Illegal_Mode, End_Of_File
--
pragma Suppress (Elaboration_Check, Read);
pragma Interface (Asm, Read);
pragma Import_Procedure (Read, "__OS9_I$READ",
Mechanism => (Value, Value, Value, Value, Value));
procedure Readln (Path : Path_Number;
Count : Natural;
Buffer : System.Address;
Bytes_Read : out Natural;
Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, Read_Error, Illegal_Mode,
-- End_Of_File
--
pragma Suppress (Elaboration_Check, Readln);
pragma Interface (Asm, Readln);
pragma Import_Procedure (Readln, "__OS9_I$READLN",
Mechanism => (Value, Value, Value, Value, Value));
procedure Write (Path : Path_Number;
Count : Natural;
Buffer : System.Address;
Bytes_Written : out Natural;
Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, Illegal_Mode, Write_Error
-- if Result /= Successful, then Bytes_Written should not be used.
--
pragma Suppress (Elaboration_Check, Write);
pragma Interface (Asm, Write);
pragma Import_Procedure (Write, "__OS9_I$WRITE",
Mechanism => (Value, Value, Value, Value, Value));
procedure Seek (Path : Path_Number;
Position : File_Position;
Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, ???
--
-- Seeks applied to non-random access devices are usually ignored,
-- but return without error.
--
pragma Suppress (Elaboration_Check, Seek);
pragma Interface (Asm, Seek);
pragma Import_Procedure (Seek, "__OS9_I$SEEK",
Mechanism => (Value, Value, Value));
procedure Current_Position (Path : Path_Number;
Position : out File_Position;
Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, Illegal_Mode, ???
--
-- Will return an error for non RBF or Pipe file types.
--
pragma Suppress (Elaboration_Check, Current_Position);
pragma Interface (Asm, Current_Position);
pragma Import_Procedure (Current_Position, "__OS9_I$GETSTT_POS",
Mechanism => (Value, Value, Value));
procedure End_Of_File (Path : Path_Number;
At_End : out Boolean;
Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, ???
--
pragma Suppress (Elaboration_Check, End_Of_File);
pragma Interface (Asm, End_Of_File);
pragma Import_Procedure (End_Of_File, "__OS9_I$GETSTT_EOF",
Mechanism => (Value, Value, Value));
procedure File_Size
(Path : Path_Number; Size : out Natural; Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, Illegal_Mode, ???
--
-- Will return an error for non RBF or Pipe file types.
--
pragma Suppress (Elaboration_Check, File_Size);
pragma Interface (Asm, File_Size);
pragma Import_Procedure (File_Size, "__OS9_I$GETSTT_SIZE",
Mechanism => (Value, Value, Value));
procedure Set_File_Size
(Path : Path_Number; New_Size : Natural; Result : out Stratus);
--
-- Possible status: Successful, Bad_Path_Number, Illegal_Mode, ???
--
-- Will return an error for non RBF or Pipe file types.
--
pragma Suppress (Elaboration_Check, Set_File_Size);
pragma Interface (Asm, Set_File_Size);
pragma Import_Procedure (Set_File_Size, "__OS9_I$SETSTT_SIZE",
Mechanism => (Value, Value, Value));
procedure Get_Options (Path : Path_Number;
Option_Buffer : System.Address;
Result : out Stratus);
--
-- Option_Buffer is be the address of a 128 byte area into which
-- the path descriptor option section will be copied.
--
-- Possible status: Successful, Bad_Path_Number, ???
--
pragma Suppress (Elaboration_Check, Get_Options);
pragma Interface (Asm, Get_Options);
pragma Import_Procedure (Get_Options, "__OS9_I$GETSTT_OPT",
Mechanism => (Value, Value, Value));
procedure Set_Options (Path : Path_Number;
Option_Buffer : System.Address;
Result : out Stratus);
--
-- Option_Buffer is be the address of a 128 byte area from which
-- the path descriptor option section will be copied.
--
-- Possible status: Successful, Bad_Path_Number, ???
--
pragma Suppress (Elaboration_Check, Set_Options);
pragma Interface (Asm, Set_Options);
pragma Import_Procedure (Set_Options, "__OS9_I$SETSTT_OPT",
Mechanism => (Value, Value, Value));
procedure Get_Time (Day : out Natural;
Second : out Natural;
Tick : out Natural;
Status : out Integer);
pragma Suppress (Elaboration_Check, Get_Time);
pragma Interface (Asm, Get_Time);
pragma Import_Procedure (Get_Time, "_ART_F$TIME",
Mechanism => (Value, Value, Value, Value));
private
type Path_Number is new Natural range 0 .. 31;
Standard_In : constant Path_Number := 0;
Standard_Out : constant Path_Number := 1;
Standard_Error : constant Path_Number := 2;
end Os2000_Io;