.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified by Michael Haardt (michael@moria.de)
.\" Modified 1993-07-23 by Rik Faith (faith@cs.unc.edu)
.\" Modified 1994-08-21 by Michael Chastain (mec@shell.portal.com):
.\"   Fixed necessary '#include' lines.
.\" Modified 1995-04-15 by Michael Chastain (mec@shell.portal.com):
.\"   Added reference to adjtimex.
.\" Removed some nonsense lines pointed out by Urs Thuermann,
.\"   (urs@isnogud.escape.de), aeb, 950722.
.\" Modified 1997-01-14 by Austin Donnelly (and1000@debian.org):
.\"   Added return values section, and bit on EFAULT
.\" Added clarification on timezone, aeb, 971210.
.\" Removed "#include <unistd.h>", aeb, 010316.
.\" Modified, 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"   Added notes on capability requirement.
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH gettimeofday 2 "12 février 2023" "Pages du manuel de Linux 6.03" 
.SH NOM
gettimeofday, settimeofday \- Lire/écrire l'heure actuelle
.SH BIBLIOTHÈQUE
Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP)
.SH SYNOPSIS
.nf
\fB#include <sys/time.h>\fP
.PP
\fBint gettimeofday(struct timeval *restrict \fP\fItv\fP\fB,\fP
\fB                 struct timezone *_Nullable restrict \fP\fItz\fP\fB);\fP
\fBint settimeofday(const struct timeval *\fP\fItv\fP\fB,\fP
\fB                 const struct timezone *_Nullable \fP\fItz\fP\fB);\fP
.fi
.PP
.RS -4
Exigences de macros de test de fonctionnalités pour la glibc (consulter
\fBfeature_test_macros\fP(7))\ :
.RE
.PP
\fBsettimeofday\fP()\ :
.nf
    Depuis la glibc 2.19 :
        _DEFAULT_SOURCE
    glibc 2.19 et antérieures :
        _BSD_SOURCE
.fi
.SH DESCRIPTION
Les fonctions \fBgettimeofday\fP() et \fBsettimeofday\fP() servent à lire ou
programmer l'heure ainsi que le fuseau horaire (timezone).
.PP
L'argument \fItv\fP est une structure \fItimeval\fP (comme indiqué dans
\fI<sys/time.h>\fP)\ :
.PP
.in +4n
.EX
struct timeval {
    time_t      tv_sec;     /* secondes */
    suseconds_t tv_usec;    /* microsecondes */
};
.EE
.in
.PP
et donne le nombre de secondes et microsecondes écoulées depuis l'epoch
(consultez \fBtime\fP(2)).
.PP
L'argument \fItz\fP est une structure \fItimezone\fP\ :
.PP
.in +4n
.EX
struct timezone {
    int tz_minuteswest; /* minutes à l'ouest de Greenwich   */
    int tz_dsttime;     /* type de changement d’heure d’été */
};
.EE
.in
.PP
.\" FIXME . The compilation warning looks to be going away in glibc 2.17
.\" see glibc commit 4b7634a5e03b0da6f8875de9d3f74c1cf6f2a6e8
.\" The following is covered under EPERM below:
.\" .PP
.\" Only the superuser may use
.\" .BR settimeofday ().
Si \fItv\fP ou \fItz\fP est NULL, la structure correspondante n'est ni remplie ni
renvoyée. (Cependant, des avertissements à la compilation seront émis si
\fItv\fP est NULL.)
.PP
L'utilisation de la structure \fItimezone\fP est obsolète\ ; le paramètre \fItz\fP
doit normalement être NULL. Consultez la section NOTES ci\-dessous.
.PP
Sous Linux, il existe une sémantique particulière associée à l'appel système
\fBsettimeofday\fP() si durant la première invocation (après l’amorçage) il a
un argument \fItz\fP non NULL, l'argument \fItv\fP est NULL et le champ
\fItz_minuteswest\fP est différent de zéro (dans ce cas, le champ \fItz_dsttime\fP
doit être nul). Dans ce cas, on suppose que l'horloge CMOS de la machine est
configurée sur l'heure locale, et qu'on doit l'augmenter de cette valeur
pour obtenir l'heure UTC. Bien entendu, il faut éviter autant que possible
d'utiliser cette particularité.
.SH "VALEUR RENVOYÉE"
\fBgettimeofday\fP et \fBsettimeofday\fP renvoient \fB0\fP s'ils réussissent, ou
\fB\-1\fP s'ils échouent, auquel cas \fIerrno\fP est positionné pour indiquer
l'erreur.
.SH ERREURS
.TP 
\fBEFAULT\fP
\fItv\fP ou \fItz\fP pointent en dehors de l'espace d'adressage autorisé.
.TP 
\fBEINVAL\fP
(\fBsettimeofday\fP())\ : \fItimezone\fP n'est pas valable.
.TP 
\fBEINVAL\fP
(\fBsettimeofday\fP())\ : \fItv.tv_sec\fP est négatif ou \fItv.tv_usec\fP dépasse
l'intervalle [0\-999999].
.TP 
\fBEINVAL\fP (depuis Linux 4.3)
.\" commit e1d7ba8735551ed79c7a0463a042353574b96da3
(\fBsettimeofday\fP())\ : tentative de positionner l'heure sur une valeur
inférieure à l'heure actuelle de l'horloge \fBCLOCK_MONOTONIC\fP (voir
\fBclock_gettime\fP(2)).
.TP 
\fBEPERM\fP
Le processus appelant n'a pas les privilèges suffisants pour appeler
\fBsettimeofday\fP()\ ; sous Linux, la capacité \fBCAP_SYS_TIME\fP est nécessaire.
.SH STANDARDS
SVr4, 4.3BSD. POSIX.1\-2001 décrit \fBgettimeofday\fP() mais pas
\fBsettimeofday\fP(). POSIX.1\-2008 marque \fBgettimeofday\fP() comme étant
obsolète, en recommandant d'utiliser \fBclock_gettime\fP(2) à la place.
.SH NOTES
L'heure renvoyée par \fBgettimeofday\fP() \fIest\fP 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 \fBclock_gettime\fP(2).
.PP
Les macros opérant sur les structures \fItimeval\fP sont décrites dans
\fBtimeradd\fP(3).
.PP
.\"
Traditionnellement, les champs de la structure \fItimeval\fP étaient de type
\fIlong\fP.
.SS "différences entre bibliothèque C et noyau"
.\"
Sur certaines architectures, une implémentation de \fBgettimeofday\fP() est
fournie dans \fBvdso\fP(7).
.SS "Le champ tz_dsttime"
.\" it has not
.\" been and will not be supported by libc or glibc.
.\" Each and every occurrence of this field in the kernel source
.\" (other than the declaration) is a bug.
Sur un noyau non Linux, avec la glibc, le champ \fItz_dsttime\fP de la
structure \fItimezone\fP sera positionné sur une valeur non nulle par
\fBgettimeofday\fP() si il a été appliqué ou sera appliqué au fuseau horaire
actuel une règle de sauvegarde d’heure d’été. Dans ce sens, elle reflète
exactement la signification de \fBdaylight\fP(3) pour la zone actuelle. Sur
Linux avec la glibc, le positionnement du champ \fItz_dsttime\fP de la
structure \fItimezone\fP n'a jamais été utilisé par \fBsettimeofday\fP() ou
\fBgettimeofday\fP(). Ainsi, ce qui suit n'a qu'un intérêt historique.
.PP
Sur d'anciens systèmes, le champ \fItz_dsttime\fP contient une constante
symbolique (dont les valeurs sont fournies ci\(hydessous) qui indique quelle
partie du changement d’heure d’été annuel est en cours. (Remarque\ : cette
valeur est constante tout au long de l'année, elle n'indique pas réellement
la valeur que cette heure d’été est en cours, elle sélectionne un
algorithme). Les changements d’heure d’été (Daylight Saving Time \- DST) sont
définis comme suit\ :
.PP
.in +4n
.EX
\fBDST_NONE\fP     /* pas sur DST */
\fBDST_USA\fP      /* DST à l'américaine */
\fBDST_AUST\fP     /* DST à l'australienne */
\fBDST_WET\fP      /* DST d'Europe occidentale */
\fBDST_MET\fP      /* DST d'Europe centrale */
\fBDST_EET\fP      /* DST d'Europe de l'Est */
\fBDST_CAN\fP      /* Canada */
\fBDST_GB\fP       /* Grande\-Bretagne et Irlande */
\fBDST_RUM\fP      /* Roumanie */
\fBDST_TUR\fP      /* Turquie */
\fBDST_AUSTALT\fP  /* Style australien avec changement en 1986 */
.EE
.in
.PP
Il est évident que la période de l’heure d’été en cours ne peut pas être
uniquement fournie par un algorithme par pays. Ce décalage dépend de
décisions politiques imprévisibles. Aussi, cette méthode de représentation
des fuseaux horaires a été abandonnée.
.SH "VOIR AUSSI"
\fBdate\fP(1), \fBadjtimex\fP(2), \fBclock_gettime\fP(2), \fBtime\fP(2), \fBctime\fP(3),
\fBftime\fP(3), \fBtimeradd\fP(3), \fBcapabilities\fP(7), \fBtime\fP(7), \fBvdso\fP(7),
\fBhwclock\fP(8)
.PP
.SH TRADUCTION
La traduction française de cette page de manuel a été créée par
Christophe Blaess <https://www.blaess.fr/christophe/>,
Stéphan Rafin <stephan.rafin@laposte.net>,
Thierry Vignaud <tvignaud@mandriva.com>,
François Micaux,
Alain Portal <aportal@univ-montp2.fr>,
Jean-Philippe Guérard <fevrier@tigreraye.org>,
Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>,
Julien Cristau <jcristau@debian.org>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Nicolas François <nicolas.francois@centraliens.net>,
Florentin Duneau <fduneau@gmail.com>,
Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,
Denis Barbier <barbier@debian.org>,
David Prévot <david@tilapin.org>
et
Jean-Philippe MENGUAL <jpmengual@debian.org>
.
.PP
Cette traduction est une documentation libre ; veuillez vous reporter à la
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License version 3
.UE
concernant les conditions de copie et 
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
.PP
Si vous découvrez un bogue dans la traduction de cette page de manuel, 
veuillez envoyer un message à
.MT debian-l10n-french@lists.debian.org
.ME .