.\" -*- 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 ", aeb, 010316. .\" Modified, 2004-05-27 by Michael Kerrisk .\" Added notes on capability requirement. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH gettimeofday 2 "28 juillet 2023" "Pages du manuel de Linux 6.05.01" .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 \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\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 VERSIONS .SS "Différences entre bibliothèque C et noyau" Sur certaines architectures, une implémentation de \fBgettimeofday\fP() est fournie dans \fBvdso\fP(7). .PP Le noyau accepte NULL pour à la fois \fItv\fP et \fItz.\fP L'argument \fItimezone\fP est ignoré par glibc et musl et n'est pas passé depuis ou vers le noyau. Bionic d'Android passe l'argument \fItimezone\fP depuis ou vers le noyau, mais Android ne met pas à jour le fuseau horaire en se basant sur le fuseau horaire dans les Paramètres, ainsi le fuseau horaire du noyau est habituellement UTC. .SH STANDARDS .TP \fBgettimeofday\fP() POSIX.1\-2008 (obsolète). .TP \fBsettimeofday\fP() Aucun. .SH HISTORIQUE 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. .PP .\" Traditionnellement, les champs de la structure \fItimeval\fP étaient de type \fIlong\fP. .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 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). .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 , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Philippe MENGUAL . .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 .