Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

adjtime(2)

ctime(3C)

TIMEZONE(4)

attributes(5)

gettimeofday(3C)

NAME

gettimeofday, settimeofday − get or set the date and time

SYNOPSIS

#include <sys/time.h>

int gettimeofday(struct timeval ∗tp, void ∗ );

int settimeofday(struct timeval ∗tp, void ∗ );

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(4). 

The second argument to gettimeofday() and settimeofday() should be a pointer to NULL. 

Only the super-user may set the time of day. 

RETURN VALUES

A −1 return value indicates that an error occurred and errno has been set. 

ERRORS

The following error codes may be set in errno:

EINVAL tp specifies an invalid time. 

EPERM A user other than the privileged user attempted to set the time or time zone. 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level MT-Safe

SEE ALSO

adjtime(2), ctime(3C), TIMEZONE(4), attributes(5)

NOTES

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() for finer accuracy. 

SunOS 5.6  —  Last change: 21 Apr 1997

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026