GETTIMEOFDAY(2)

NOM
gettimeofday, settimeofday - Lire / ecrire l'heure actuelle.

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 et settimeofday peuvent programmer l'heure ainsi que le fuseau horaire (timezone). tv est une structure timeval decrite dans /usr/include/sys/time.h :

struct timeval {
int	tv_sec;		/* secondes */
int	tv_usec;	/* microsecondes */
};

et tz est une structure timezone decrite egalement dans /usr/include/sys/time.h:

struct timezone {
int	tz_minuteswest;
/* minutes west of Greenwich */
int	tz_dsttime;
/* type de changement horaire */
};

Les changements horaires (Daylight saving - DST) sont definis comme suit :

DST_NONE /* Aucun */
DST_USA /* USA */
DST_AUST /* Australie */
DST_WET /* Europe occidentale */
DST_MET /* Europe centrale */
DST_EET /* Europe Orientale */
DST_CAN /* Canada */
DST_GB /* Grande Bretagne et Irlande */
DST_RUM /* Roumanie */
DST_TUR /* Turkie */
DST_AUSTALT /* Australie avec decallage en 1986 */

Les macros suivantes permettent de manipuler les structures timeval :
#define	timerisset(tvp)\
((tvp)->tv_sec || (tvp)->tv_usec)
indique si le timer est non-nul.

#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)
compare deux timers.

#define timerclear(tvp)\
((tvp)->tv_sec = (tvp)->tv_usec = 0)
efface un timer

Si tv ou tz est nulle, la structure correspondante n'est ni programmee ni retournee.

Seul le Super-User peut appeler settimeofday.

VALEUR RENVOYEE
getimeofday et settimeofday renvoient 0 s'ils reussissent, ou -1 s'ils echouent, auquel cas errno contient le code d'erreur.

ERREURS

EPERM
    settimeofday est appele par quelqu'un d'autre que le Super-User

EINVAL
    le fuseau horaire est invalide. EFAULT tv ou tz pointent en dehors de l'espace d'adressage autorise.

CONFORMITE
SVr4, BSD 4.3

VOIR AUSSI
date(1), adjtimex(2), time(2), ctime(3), ftime(3)