NOM¶
tzfile - Informations de zone horaire
DESCRIPTION¶
Cette page décrit la structure des fichiers d'informations de zone
horaire utilisés par
tzset(3). Ces fichiers sont habituellement
situés dans les répertoires
/usr/lib/zoneinfo ou
/usr/share/zoneinfo.
Les fichiers d'informations de zone horaire commencent par les caractères
magiques « TZif » pour les identifier en tant que
fichiers d'informations de zone horaire (Time Zone information file). Ces
caractères sont suivis d'un caractère permettant d'identifier le
format du fichier (en 2005, les seuls caractères autorisés sont
l'ASCII NUL « \0 » et le
« 2 »), suivis de 15 octets contenant des
zéros et réservés pour un usage futur, suivis de six
valeurs sur 4 octets de type
long, écrites dans l'ordre
« standard » (
big endian, le bit de poids
fort en premier). Ces valeurs sont, dans l'ordre :
- tzh_ttisgmtcnt
- Nombre d'indicateurs UTC/local enregistrés dans le fichier.
- tzh_ttisstdcnt
- Nombre d'indicateurs standard/locale enregistrés dans le
fichier.
- tzh_leapcnt
- Nombre de secondes de rattrapage pour lesquelles des données sont
enregistrées dans le fichier.
- tzh_timecnt
- Nombre d'« instants de transition » pour
lesquels des données sont enregistrées dans le fichier.
- tzh_typecnt
- Le nombre de « types d'heures locales » pour
lesquelles des données sont enregistrées dans le fichier (ne
doit pas être nul).
- tzh_charcnt
- Nombre de caractères de « chaînes
d'abréviation de zone horaire » enregistrées
dans le fichier.
L'en-tête ci-dessus est suivi par les valeurs
tzh_timecnt sur 4
octets de type
long, triées par ordre croissant. Ces valeurs
sont écrites dans l'ordre « standard » des
octets. Chacune est utilisée comme un instant de transition (tel que
renvoyé par l'appel système
time(2)) auquel les
règles de calcul de l'heure locale changent. Ensuite, viennent les
valeur
tzh_timecnt sur un octet de type
unsigned char ;
chacune indiquant lequel des différents types « d'heure
locale » décrits dans le fichier est associé avec
l'instant de transition de même rang. Ces valeurs servent d'indice dans
une table de structures
ttinfo (avec des entrées
tzh_typecnt) qui apparaissent ensuite dans le fichier. Ces structures
sont définies ainsi :
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
Chaque structure est écrite sous forme d'une valeur de 4 octets, du type
long, dans l'ordre standard des octets pour
tt_gmtoff, suivie
d'une valeur sur 1 octet pour
tt_isdst et d'une valeur sur 1 octet pour
tt_abbrind. Dans chaque structure,
tt_gmtoff indique le nombre
de secondes à ajouter à UTC,
tt_isdst indique que
tm_isdst doit être définie par
localtime(3) et que
tt_abbrind sert d'index dans la table des caractères
d'abréviation de la zone horaire qui suit les structures
ttinfo
dans le fichier.
Viennent ensuite
tzh_leapcnt paires de valeurs 4 octets, écrites
dans l'ordre standard des octets. La première valeur de chaque paire
donne l'instant (comme fourni par
time(2)) auquel s'insère une
seconde de rattrapage. La seconde indique le nombre
total de secondes
de rattrapage à insérer après l'instant donné. Ces
paires sont classées en ordre croissant de temps.
Ensuite se trouvent
tzh_ttisstdcnt indicateurs standard/locale, chacun
enregistré sur un octet. Ils indiquent si les instants de transition
associés aux types d'heures locales ont été
spécifiés en heure standard ou locale, et servent lorsqu'un
fichier de zone horaire permet de manipuler des variables d'environnement de
zone horaire à la manière POSIX.
Finalement se trouvent
tzh_ttisgmtcnt indicateurs UTC/local, chacun
enregistré sur un octet. Ils indiquent si les instants de transition
associés aux types d'heures locales ont été
spécifiés en heure UTC ou locale, et servent lorsqu'un fichier
de fuseau horaire permet de manipuler des variables d'environnement de zone
horaire à la manière POSIX.
Localtime(3) utilise la première structure
ttinfo en heure
standard du fichier (ou simplement la première structure
ttinfo
s'il n'y en a pas en heure standard), si
tzh_timecnt est nul, ou si son
paramètre horaire est antérieur à la première
transition enregistrée dans le fichier.
NOTES¶
Cette page de manuel décrit
<tzfile.h> de l'archive source
de glibc, voir
timezone/tzfile.h.
Il semble que timezone utilise
tzfile de manière interne, mais
glibc refuse de le rendre visible depuis l'espace utilisateur. Ceci
probablement parce que les fonctions standardisées sont plus utiles et
portables, et de fait documentées par glibc. Il se peut qu'elle ne se
trouve dans glibc que pour gérer les données de timezone qui
sont maintenues hors de glibc (qui est maintenue par une autre entité).
VOIR AUSSI¶
time(3),
gettimeofday(3),
tzset(3),
ctime(3)
Pour les fichiers de fuseau horaire dans le format 2, l'en-tête et les
données ci-dessus sont suivies d'un second en-tête et
données, identiques en format sauf que 8 octets sont utilisés
pour chaque transition ou secondes de rattrapage. Après le
deuxième en-tête et données, arrive une chaîne, du
même type que la variable d'environnement POSIX TZ, entourée de
sauts de lignes. Cette chaîne est utilisée pour gérer les
instants après la dernière transition stockée dans le
fichier (avec rien entre les sauts de lignes s'il n'existe pas de
représentation POSIX pour de tels instants).
VOIR AUSSI¶
ctime(3),
tzset(3),
tzselect(8),
timezone/tzfile.h dans les sources de la glibc
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). Jean-Luc Coulon 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> ».