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

⟦2f52a7adf⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Utimes, seg_0509b1

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



--
-- Package utimes provides a single interface to the the utimes(2) function
-- of BSD UNIX and the utime(2) function for UNIX System V.
--
with Unix_Time;
with C_Strings;
with Errno;
package Utimes is

    type File_Times is (Access_Time, Modify_Time);

    type Tvp is array (File_Times) of Unix_Time.Timeval_Rec;

    procedure Utimes (File : C_Strings.C_String; Times : Tvp);

    Utimes_Error : exception;

    --
    -- The exception utimes_error is raised if the underlying UNIX kernel
    -- call returns -1.  In this case the body of this package will copy
    -- the global value of errno into utime_errno.  Otherwise, errno is not
    -- changed.
    --

    Utimes_Errno : Errno.Error_Codes;

    -- typical calling sequence where "access_seconds" is the new
    -- access time and "modify_seconds" is the new modify time.
    -- Note that the tv_usec value is 0 even on BSD systems.  BSD's
    -- utimes() function supports the tv_usec field, but only the
    -- seconds component is actually used in the file.  See stat(2).
    -- The System V body for this package ignores the tv_usec field.
    --
    --  file_times: utimes.tvp;
    --  ...
    --  file_times(access_time).tv_sec := access_seconds;
    --  file_times(access_time).tv_usec := 0;
    --  file_times(modify_time).tv_sec := modify_seconds;
    --  file_times(modify_time).tv_usec := 0;
    --  utimes(file_name, file_times);
    --  ...
    --  exception
    --  when utimes.utimes_error =>
    --     text_io.put_line("couldn't utime(2) file " &
    --                      file_name(1..c_strings.c_length(file_name)) &
    --                      ": " &
    --                      perror.get_msg(utimes.utimes_errno));
end Utimes;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=1f rec1=00 rec2=01 rec3=066
        [0x01] rec0=13 rec1=00 rec2=02 rec3=000
    tail 0x21758048a878e79a4d572 0x42a00088462060003