DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦ea06c330f⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Unix_Base_Types, seg_0520fb

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



--    The use of this system is subject to the software license terms and
--    conditions agreed upon between Rational and the Customer.
--
--                Copyright 1990 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 1990.  ALL RIGHTS RESERVED.
--
--

--with Runtime_Interface;
with System;
with Unchecked_Conversion;

package body Unix_Base_Types is

    function To_String (Object : Char_Ptr) return String is

        function To_Address is new Unchecked_Conversion
                                      (Char_Ptr, System.Address);

        --
        -- Establish a pointer to the beginning of the string, that is,
        -- the dope vector rather than to the first character in the
        -- string.
        --
        String_Address : constant System.Address := To_Address (Object);

        --String_Length : constant Natural :=
        --Runtime_Interface.Target_Dependent.String_Length (String_Address);

        -- Set up a dummy string using the length returned from string length
        -- then copy that amount of bytes.
        --Dummy : String (1 .. String_Length);

    begin
        --if Object = null then
        return "";
        --else
        --  Runtime_Interface.Target_Dependent.Block_Copy
        --   (String_Address, Dummy (Dummy'First)'Address, String_Length);
        --return Dummy;
        --end if;

    end To_String;

    function To_Char_Ptr (Object : String) return Char_Ptr is
    begin
        return To_Char_Ptr (Object (Object'First)'Address);
    end To_Char_Ptr;

end Unix_Base_Types;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1e rec1=00 rec2=01 rec3=022
        [0x01] rec0=1b rec1=00 rec2=02 rec3=00a
        [0x02] rec0=0b rec1=00 rec2=03 rec3=000
    tail 0x21759954687a05cc191f5 0x42a00088462060003