Copyright Digital Equipment Corp. All rights reserved.

Description

   The gmtime and gmtime_r functions convert the time (in seconds
   since the Epoch) pointed to by timer into a broken-down time,
   expressed as Coordinated Universal Time (UTC), and store it in a
   tm structure.

   The difference between the gmtime_r and gmtime functions is that
   the former puts the result into a user-specified tm structure
   where the result is stored. The latter puts the result into
   thread-specific static memory allocated by the C RTL,
   and which is overwritten by subsequent calls to gmtime; you must
   make a copy if you want to save it.

   On success, gmtime returns a pointer to the tm structure; gmtime_
   r returns its second argument. On failure, these functions return
   the NULL pointer.

                                  NOTE

      Generally speaking, UTC-based time functions can affect in-
      memory time-zone information, which is processwide data.
      However, if the system time zone remains the same during
      the execution of the application (which is the common case)
      and the cache of timezone files is enabled (which is the
      default), then the _r variant of the time functions asctime_
      r, ctime_r, gmtime_r and localtime_r, is both thread-safe
      and AST-reentrant.

      If, however, the system time zone can change during the
      execution of the application or the cache of timezone files
      is not enabled, then both variants of the UTC-based time
      functions belong to the third class of functions, which are
      neither thread-safe nor AST-reentrant.