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

⟦b33607b17⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body File_Access, package body Process, package body System_Interface, seg_052a4a

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



with Unchecked_Conversion;
with System;

package body System_Interface is

    -- WARNING! Potentially non-portable use of unchecked conversion.
    --
    function Char_Ptr_Array_Ptr_To_Address is
       new Unchecked_Conversion
              (  
               Source => System_Interface.Process.Char_Ptr_Array_Ptr,
               Target => System.Address);


    package C_Functions is

        function Chmod (Path : in Unix_Base_Types.Char_Ptr;  
                        Mode : in Unix_Base_Types.Int)  
                       return Unix_Base_Types.Int;  
        pragma Interface (C, Chmod);
        pragma Interface_Name (Chmod, ".chmod");



        function Execv (Path : in Unix_Base_Types.Char_Ptr;  
                        Argv : in System.Address)  
                       return Unix_Base_Types.Int;
        pragma Interface (C, Execv);
        pragma Interface_Name (Execv, ".execv");

    end C_Functions;




    package body File_Access is
        function Chmod (Path : in Unix_Base_Types.Char_Ptr;  
                        Mode : in Mode_T)  
                       return Unix_Base_Types.Int is
        begin
            return (C_Functions.Chmod (Path => Path,
                                       Mode => Unix_Base_Types.Int (Mode)));
        end Chmod;
    end File_Access;



    package body Process is
        function Execv (Path : in Unix_Base_Types.Char_Ptr;
                        Argv : in Char_Ptr_Array_Ptr)
                       return Unix_Base_Types.Int is
        begin
            return (C_Functions.Execv
                       (Path => Path,
                        Argv => Char_Ptr_Array_Ptr_To_Address (Argv)));
        end Execv;
    end Process;


end System_Interface;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=25 rec1=00 rec2=01 rec3=020
        [0x01] rec0=19 rec1=00 rec2=02 rec3=000
    tail 0x21759f96e87a147a71daa 0x42a00088462060003