Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ gettimeofday(2) — CX/UX 6.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctime(3C)

date(1)

gettimeofday(2)  —  4 BSD

NAME

gettimeofday, settimeofday − get/set date and time

SYNOPSIS

#include <sys/time.h>

int gettimeofday (tp, tzp)
struct timeval ∗tp;
struct timezone ∗tzp;

int settimeofday (tp, tzp)
struct timeval ∗tp;
struct timezone ∗tzp;

DESCRIPTION

gettimeofday returns the system’s notion of the current Greenwich time and the current time zone.  Time returned is expressed relative in seconds and microseconds since midnight January 1, 1970. 

The structures pointed to by tp and tzp are defined in <sys/time.h> as:

struct timeval {
u_longtv_sec;/∗ seconds since Jan. 1, 1970 ∗/
longtv_usec;/∗ and microseconds ∗/
};
struct timezone {
inttz_minuteswest;/∗ of Greenwich ∗/
inttz_dsttime;/∗ type of dst correction to apply ∗/
};

The timezone structure indicates the local time zone (measured in minutes of time westward from Greenwich), and a flag that, if nonzero, indicates that Daylight Saving time applies locally during the appropriate part of the year. 

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

RETURN

A 0 return value indicates that the call succeeded.  A −1 return value indicates an error occurred, and in this case an error code is stored into the global variable errno. 

ERRORS

The following error codes may be set in errno:

[EFAULT] An argument address referenced invalid memory. 

[EPERM] A user other than the super-user attempted to set the time. 

NOTE

Two versions of gettimeofday may be accessed.  The first version is the proprietary CX system call which directly accesses the kernel.  The other version is defined in the 88open Object Compatibility Standard Networking Supplement (OCSNS) which is implemented within the C library and accesses the kernel only through system calls defined in the Binary Compatibility Standard (BCS).  The OCSNS version is accessed through specific OCS options passed to cc(1) and/or ld(1). 

SEE ALSO

ctime(3C), date(1)

BUGS

Time is never correct enough to believe the microsecond values.  There should a mechanism by which, at least, local clusters of systems might synchronize their clocks to millisecond granularity. 

CX/UX Programmer’s Reference Manual

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