gettimeofday

GETTIMEOFDAY(2)           Manuel du programmeur Linux          GETTIMEOFDAY(2)



NOM
       gettimeofday, settimeofday - Lire/écrire l'heure actuelle

SYNOPSIS
       #include <sys/time.h>

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

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

   Exigences de macros de test de fonctionnalités pour la glibc (consultez
   feature_test_macros(7)) :

       settimeofday() : _BSD_SOURCE

DESCRIPTION
       Les fonctions gettimeofday() et settimeofday() servent à lire ou
       programmer l'heure ainsi que le fuseau horaire (timezone). L'argument
       tv est une structure timeval décrite dans <sys/time.h> :

           struct timeval {
               time_t      tv_sec;     /* secondes */
               suseconds_t tv_usec;    /* microsecondes */
           };

       et donne le nombre de secondes et microsecondes écoulées depuis
       l'époque (consultez time(2)). L'argument tz est une structure timezone
       composée ainsi :

           struct timezone {
               int tz_minuteswest; /* minutes à l'ouest de Greenwich  */
               int tz_dsttime;     /* type de changement horaire      */
           };

       Si tv ou tz est nulle, la structure correspondante n'est ni remplie ni
       renvoyée. (Cependant, des avertissements à la compilation seront
       émis si tv est NULL.

       L'utilisation de la structure timezone est obsolète ; le paramètre tz
       doit normalement être NULL. Consultez la section NOTES ci-dessous.

       Sous Linux, il existe une sémantique particulière associée Ã
       l'appel système settimeofday() si, durant la première invocation
       (après le boot), il a un argument tz non NULL, un argument tv NULL et
       un champ tz_minuteswest différent de zéro (dans ce cas, le champ
       tz_dsttime doit être nul). Dans ce cas, on suppose que l'horloge CMOS
       de la machine est configurée sur le temps local, et que l'on doit
       l'augmenter de cette valeur pour obtenir le temps UTC. Bien entendu, il
       faut éviter autant que possible d'utiliser cette particularité.

VALEUR RENVOYÃE
       gettimeofday et settimeofday renvoient 0 s'ils réussissent, ou -1
       s'ils échouent, auquel cas errno contient le code d'erreur.

ERREURS
       EFAULT tv ou tz pointent en dehors de l'espace d'adressage autorisé.

       EINVAL Le fuseau horaire (ou autre chose) est invalide.

       EPERM  Le processus appelant n'a pas les privilèges suffisant pour
              appeler settimeofday() ; sous Linux, la capacité CAP_SYS_TIME
              est nécessaire.

CONFORMITÃ
       SVr4, BSD 4.3. POSIX.1-2001 décrit gettimeofday() mais pas
       settimeofday(). POSIX.1-2008 marque gettimeofday() comme étant
       obsolète, en recommandant d'utiliser clock_gettime(2) à la place.

NOTES
       L'heure renvoyée par gettimeofday() est concernée par les sauts
       discontinus de l'heure système (c'est-à -dire si l'administrateur
       modifie l'heure système lui-même). Si vous devez incrémenter
       l'horloge de façon monotone, consultez clock_gettime(2).

       Les macros opérant sur les structures timeval sont décrites dans
       timeradd(3).

       Traditionnellement, les champs de la structure timeval étaient de type
       long.

       Le champ tz_dsttime n'a jamais été utilisé sous Linux, c'est
       pourquoi le paragraphe ci-dessous n'est présent qu'à but historique.

       Sur d'anciens systèmes, le champ tz_dsttime contient une constante
       symbolique (dont les valeurs sont fournies ci‐dessous) qui indique
       quelle partie du changement horaire annuel est en cours. (Remarque :
       cette valeur est constante tout au long de l'année, elle n'indique pas
       réellement la valeur horaire en cours, elle sélectionne un
       algorithme). Les changements horaires (Daylight Saving Time - DST) sont
       définis 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      /* Turquie */
           DST_AUSTALT  /* Australie avec décalage en 1986 */

       Il est évident que le décalage horaire en cours ne peut pas être
       uniquement fourni par un algorithme par pays. Ce décalage dépend de
       décisions politiques imprévisibles. Ainsi, cette méthode des fuseaux
       horaires a été abandonnée.

VOIR AUSSI
       date(1), adjtimex(2), clock_gettime(2), time(2), ctime(3), ftime(3),
       timeradd(3), capabilities(7), time(7)

COLOPHON
       Cette page fait partie de la publication 3.70 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler des
       anomalies peuvent être trouvées à l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION
       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction
       francophone au sein du projet perkamon
       <http://perkamon.alioth.debian.org/>.

       Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain
       Portal <http://manpagesfr.free.fr/> (2003-2006).  Julien Cristau et
       l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en écrivant Ã
       <perkamon-fr@traduc.org>.

       Vous pouvez toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».



Linux                            26 avril 2012                 GETTIMEOFDAY(2)