GETTIMEOFDAY(3C)        Standard C Library Functions        GETTIMEOFDAY(3C)
NAME
       gettimeofday, settimeofday - get or set the date and time
SYNOPSIS
       #include <sys/time.h>       
int gettimeofday(
struct timeval *tp, 
void *tzp);       
int settimeofday(
struct timeval *tp, 
void *tzp);
DESCRIPTION
       The 
gettimeofday() function gets and the 
settimeofday() function sets
       the system's notion of the current time. The current time is
       expressed in elapsed seconds and microseconds since 00:00 Universal
       Coordinated Time, January 1, 1970. The resolution of the system clock
       is hardware dependent; the time may be updated continuously or in
       clock ticks.
       The 
tp argument points to a 
timeval structure, which includes the
       following members:
         long    tv_sec;    /* seconds since Jan. 1, 1970 */
         long    tv_usec;   /* and microseconds */
       If 
tp is a null pointer, the current time information is not returned
       or set.
       The 
TZ environment variable holds time zone information. See       
TIMEZONE(5).
       The 
tzp argument to 
gettimeofday() and 
settimeofday() is ignored.
       Only privileged processes can set the time of day.
RETURN VALUES
       Upon successful completion, 
0 is returned.  Otherwise, 
-1 is returned
       and 
errno is set to indicate the error.
ERRORS
       The 
settimeofday() function will fail if:       
EINVAL                 The structure pointed to by 
tp specifies an invalid time.       
EPERM                 The {
PRIV_SYS_TIME} privilege was not asserted in the
                 effective set of the calling process.
       The 
gettimeofday() function will fail for 32-bit interfaces if:       
EOVERFLOW                    The system time has progressed beyond 2038, thus the
                    size of the 
tv_sec member of the 
timeval structure
                    pointed to by 
tp is insufficient to hold the current
                    time in seconds.
USAGE
       If the 
tv_usec member of 
tp is > 500000, 
settimeofday() rounds the
       seconds upward. If the time needs to be set with better than one
       second accuracy, call 
settimeofday() for the seconds and then       
adjtime(2) for finer accuracy.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------------------+
       |  ATTRIBUTE TYPE    |       ATTRIBUTE VALUE       |
       +--------------------+-----------------------------+
       |Interface Stability | 
gettimeofday() is Standard. |
       +--------------------+-----------------------------+
       |MT-Level            | MT-Safe                     |
       +--------------------+-----------------------------+
SEE ALSO
       adjtime(2), 
ctime(3C), 
gethrtime(3C), 
TIMEZONE(5), 
attributes(7),       
privileges(7), 
standards(7)                               August 1, 2003               GETTIMEOFDAY(3C)