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 - downloadIndex: ┃ B T ┃
Length: 4295 (0x10c7) Types: TextFile Names: »B«
└─⟦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 Primitive_Io; -- for debugging only separate (Common_Text_Io) procedure Create (File : in out File_Type; Mode : File_Mode := Out_File; Name : String := ""; Form : String := "") is Actual_Buffer_Size : Natural; Kind : Dio.File_Kind; Dio_Mode : Dio.File_Mode; New_File : File_Type := File; -- procedure Pput (S : in String) renames Primitive_Io.Put_Line; begin Standard_Files.Check_If_Current_Compatible_Mode (File, Mode); -- if Name /= "" then -- and why not? if Name'Length /= 0 then Kind := Dio.Normal; else Kind := Dio.Temporary; end if; -- if not Primitive_Io.Absorb_Output then -- Pput ("Cti.Create creating '" & Name & "', Kind = " & -- Dio.File_Kind'Image (Kind)); -- end if; begin Dio.Create (New_File, Convert (Mode), Kind, Name, Form, Default_Buffer_Size, Actual_Buffer_Size); Standard_Files.Check_If_Reassociating_Current (Old_File => File, New_File => New_File); File := New_File; exception when Status_Error => -- As far as DIO is concerned, the file is open. See if the file -- has been opened by Text_Io. Standard_Files.Check_If_Reassociating_Current (Old_File => File, New_File => New_File); File := New_File; Dio_Mode := Dio.Mode (File); if Dio_Mode = Dio.In_File then if State_Handling.Iget (File) /= null then raise Iof.Not_Open_Error; -- the file was already opened by Text_Io; elsif Mode /= In_File then raise Iof.Illegal_Operation_On_Infile; -- Text_IO and DIO do not agree on the mode end if; elsif Dio_Mode = Dio.Out_File then if State_Handling.Oget (File) /= null then raise Status_Error; -- The file was already opened by Text_Io. elsif Mode /= Out_File then raise Iof.Illegal_Operation_On_Outfile; -- Text_Io and DIO do not agree on the mode end if; else -- File is opened under DIO but the mode is Inout_File -- (Mode DIO.Closed is excluded here, obviously) if Mode = In_File then raise Iof.Illegal_Operation_On_Infile; else raise Iof.Illegal_Operation_On_Outfile; end if; end if; when others => -- Name_Error, Device_Error, etc. raise; end; State_Handling.Allocate_State (File, Mode); -- Make sure file-sharing regulations are met. declare Oin, Oout, Oinout : Natural; begin -- Pput ("Cti.Create testing identical for " & Name); Dio.Identical_Files (File, Oin, Oout, Oinout); if (Mode = In_File and (Oout > 0 or Oinout > 0)) or (Mode = Out_File and (Oin > 0 or Oout > 1 or Oinout > 0)) then -- Pput ("Cti.Create have identical disallowed"); Close (File); raise Iox.Use_Error; end if; -- Pput ("Cti.Create no identical disallowed"); end; end Create;