| GETTIMEOFDAY(2) | System Calls Manual | GETTIMEOFDAY(2) | 
gettimeofday, settimeofday
  —
#include <sys/time.h>
int
  
  gettimeofday(struct
    timeval * restrict tp,
    void * restrict tzp);
int
  
  settimeofday(const
    struct timeval * restrict tp,
    const void * restrict
    tzp);
The system's notion of the current UTC time is obtained with the
    gettimeofday() call, and set with the
    settimeofday() call. The time is expressed in
    seconds and microseconds since midnight (0 hour), January 1, 1970. The
    resolution of the system clock is hardware dependent, and the time may be
    updated continuously or in “ticks”.
If tp is NULL, the time will not be returned or set. Despite being declared void *, the objects pointed to by tzp shall be of type struct timezone.
The structures pointed to by tp and
    tzp are defined in
    <sys/time.h>. The first one
    is described in timeval(3)
    and the latter legacy structure is defined as:
struct timezone {
	int	tz_minuteswest; /* of Greenwich */
	int	tz_dsttime;	/* type of dst correction to apply */
};
The timezone structure is provided only for
    source compatibility. It is ignored by
    settimeofday(), and
    gettimeofday() will always return zeroes.
The settimeofday() system call is
    available only for the super-user. If the calling user is not the
    super-user, the system call will fail, and the
    settimeofday() function in the standard C library
    will try to use the
    clockctl(4) device if
    present, thus making it possible for non privileged users to set the system
    time. If clockctl(4) is not
    present or not accessible, then settimeofday()
    returns EPERM.
gettimeofday() function call appeared in
  4.2BSD. The tzp argument was
  deprecated in 4.4BSD (and many other systems).
| December 8, 2015 | NetBSD 9.3 |