Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

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.

       L'utilisation  de  la structure timezone est obsolète ; l'argument tz doit en général être
       NULL. Le champ tz_dsttime n'a jamais été utilisé sous Linux, il n'a jamais été géré, et ne
       le  sera  jamais  par  la  libc ou glibc. Toute occurrence de ce champ dans les sources du
       noyau (sauf pour les déclarations) est un bogue. Ainsi le  paragraphe  suivant  n'a  qu'un
       intérêt historique.

       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.  Sous Linux, durant un appel à
       settimeofday() le champ tz_dsttime doit être nul.

       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,  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é.

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

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

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

VOIR AUSSI

       date(1), adjtimex(2), time(2), ctime(3), ftime(3), capabilities(7), time(7)

COLOPHON

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

TRADUCTION

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

       Christophe   Blaess   <URL:http://www.blaess.fr/christophe/>   (1996-2003),  Alain  Portal
       <URL: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     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

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