Table of Contents

NAME

gettimeofday, settimeofday - get / set time

SYNOPSIS

#include <sys/time.h>
#include <unistd.h>

int gettimeofday(struct timeval *tv, struct timezone *tz);
int settimeofday(const struct timeval *tv , const struct timezone *tz);

DESCRIPTION

gettimeofday and settimeofday can set the time as well as a timezone. tv is a timeval struct, as specified in /usr/include/sys/time.h:

struct timeval {
long    tv_sec;        /* seconds */
long    tv_usec;    /* microseconds */
};

and tz is a timezone :

struct timezone {
int    tz_minuteswest;
/* minutes west of Greenwich */
int    tz_dsttime;
/* type of dst correction */
};

With daylight savings times defined as follows :

DST_NONE /* not on dst */
DST_USA     /* USA style dst */
DST_AUST     /* Australian style dst */
DST_WET /* Western European dst */
DST_MET /* Middle European dst */
DST_EET /* Eastern European dst */
DST_CAN /* Canada */
DST_GB     /* Great Britain and Eire */
DST_RUM /* Rumania */
DST_TUR /* Turkey */
DST_AUSTALT     /* Australian style with shift in 1986 */

And the following macros are defined to operate on this :
#define FD_SET(fd,fdsetp)    (*(fdsetp) |= (1 << (fd)))
#define FD_CLR(fd,fdsetp)    (*(fdsetp) &= ~(1 << (fd)))
#define FD_ISSET(fd,fdsetp)    ((*(fdsetp) >> fd) & 1)
#define FD_ZERO(fdsetp)        (*(fdsetp) = 0)
#define    timerisset(tvp)\
((tvp)->tv_sec || (tvp)->tv_usec)
#define    timercmp(tvp, uvp, cmp)\
((tvp)->tv_sec cmp (uvp)->tv_sec ||\
(tvp)->tv_sec == (uvp)->tv_sec &&\
(tvp)->tv_usec cmp (uvp)->tv_usec)
#define timerclear(tvp)
((tvp)->tv_sec = (tvp)->tv_usec = 0)

If either tv or tz is null, the corresponding structure is not set or returned.

Only the super user may use settimeofday.

ERRORS

EPERM
settimeofday is called by someone other than the superuser.
EINVAL
Timezone (or something else) is invalid.

CONFORMING TO

BSD 4.3

SEE ALSO

ftime(3), time(2), date(1), ctime(3)


Table of Contents


www.fiveanddime.net


Google
Web www.fiveanddime.net