Provided by: manpages-fr-dev_3.65d1p1-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. (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.65 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 à <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> ».

Linux                                             26 avril 2012                                  GETTIMEOFDAY(2)