|
|
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: B T
Length: 2836 (0xb14)
Types: TextFile
Names: »B«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦24d1ddd49⟧
└─⟦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 Attribute_Definitions;
with Runtime_Ids;
with System_Definitions;
with Unchecked_Conversion;
procedure Enum_Image (Table : Attribute_Definitions.Enum_Image_Table;
Value : Integer;
String_Result : out Attribute_Definitions.Short_String;
String_Descriptor : out
Attribute_Definitions.String_Descriptor) is
pragma Routine_Number (Runtime_Ids.Enum_Image);
-- Will raise Constraint_Error if Value is not in the range of the
-- Table, but this should never happen unless there are uninitialized
-- values or (mis)uses of Unchecked_Conversion. Fills the String_Result
-- and String_Descriptor with the image. The area pointed to by
-- String_Result must be large enough to hold the image of the longest
-- enumeration literal in the table.
pragma Suppress (Index_Check);
pragma Suppress (Range_Check);
pragma Suppress (Access_Check);
pragma Suppress (Storage_Check);
use System_Definitions.Operators;
function Convert is new Unchecked_Conversion
(System_Definitions.Address,
Attribute_Definitions.Ref_String);
Image : Attribute_Definitions.Ref_String;
Length : Natural;
begin
if Value < 0 or else Value >= Table.Count then
raise Constraint_Error;
end if;
Image := Convert (Plus_Ai (Table'Address, Table.Offsets (Value)));
Length := Table.Offsets (Value + 1) - Table.Offsets (Value);
for I in 1 .. Length loop
String_Result (I) := Image (I);
end loop;
String_Descriptor.Lower := 1;
String_Descriptor.Upper := Length;
String_Descriptor.Size := Length;
end Enum_Image;
pragma Export_Procedure (Internal => Enum_Image, External => "__ENUM_IMAGE");
pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit,
Elab_Routine_Number => Runtime_Ids.Internal);