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> ».