gm2-libs-iso/wrapclock (The GNU Modula-2 Compiler)

#### 4.4.78 gm2-libs-iso/wrapclock ¶

    DEFINITION MODULE wrapclock ;

    FROM SYSTEM IMPORT ADDRESS ;

    TYPE
       timespec = ADDRESS ;

    (*
       timezone - return the glibc timezone value.
                  This contains the difference between UTC and the latest
                  local standard time, in seconds west of UTC.
                  If the underlying timezone is unavailable and
                  clock_gettime, localtime_r, tm_gmtoff
                  is unavailable then 0 is returned.
    *)

    PROCEDURE timezone () : LONGINT ;

    (*
       istimezone returns 1 if timezone in wrapclock.cc can resolve the
                  timezone value using the timezone C library call or by using
                  clock_gettime, localtime_r and tm_gmtoff.
    *)

    PROCEDURE istimezone () : INTEGER ;

    (*
       daylight - return the glibc daylight value.
                  This variable has a nonzero value if Daylight Saving
                  Time rules apply.
                  A nonzero value does not necessarily mean that Daylight
                  Saving Time is now in effect; it means only that Daylight
                  Saving Time is sometimes in effect.
    *)

    PROCEDURE daylight () : INTEGER ;

    (*
       isdst - returns 1 if daylight saving time is currently in effect and
               returns 0 if it is not.
    *)

    PROCEDURE isdst () : INTEGER ;

    (*
       tzname - returns the string associated with the local timezone.
                The daylight value is 0 or 1.  The value 0 returns the non
                daylight saving timezone string and the value of 1 returns
                the daylight saving timezone string.
    *)

    PROCEDURE tzname (daylight: INTEGER) : ADDRESS ;

    (*
       InitTimespec - returns a newly created opaque type.
    *)

    PROCEDURE InitTimespec () : timespec ;

    (*
       KillTimespec - deallocates the memory associated with an
                      opaque type.
    *)

    PROCEDURE KillTimespec (tv: timespec) : timespec ;

    (*
       GetTimespec - retrieves the number of seconds and nanoseconds
                     from the timespec.  A return value of 0 means timespec
                     is unavailable and a return value of 1 indicates success.
    *)

    PROCEDURE GetTimespec (ts: timespec; VAR sec, nano: LONGCARD) : INTEGER ;

    (*
       SetTimespec - sets the number of seconds and nanoseconds
                     into timespec.  A return value of 0 means timespec
                     is unavailable and a return value of 1 indicates success.
    *)

    PROCEDURE SetTimespec (ts: timespec; sec, nano: LONGCARD) : INTEGER ;

    (*
       GetTimeRealtime - performs return gettime (CLOCK_REALTIME, ts).
                         gettime returns 0 on success and -1 on failure.
                         If the underlying system does not have gettime
                         then GetTimeRealtime returns 1.
    *)

    PROCEDURE GetTimeRealtime (ts: timespec) : INTEGER ;

    (*
       SetTimeRealtime - performs return settime (CLOCK_REALTIME, ts).
                         gettime returns 0 on success and -1 on failure.
                         If the underlying system does not have gettime
                         then SetTimeRealtime returns 1.
    *)

    PROCEDURE SetTimeRealtime (ts: timespec) : INTEGER ;

    END wrapclock.