man tzfile (Formats) - Information de fuseau horaire.
NOM
tzfile - Information de fuseau horaire.
SYNOPSIS
#include <tzfile.h>
DESCRIPTION
Les fichiers d'information de fuseau horaire utilisés par tzset(3) commencent par les caractères magiques "TZif" pour les identifier (Time Zone information file). Ces caractères sont suivis de 16 octets réservés pour une utilisation future, suivis de 6 valeurs sur 4 octets de type long, écrites dans l'ordre "standard" des octets (poids fort en premier) Ces valeurs sont, dans l'ordre :
- tzh_ttisgmtcnt
- Le nombre d'indicateurs UTC/local enregistrés dans le fichier.
- tzh_ttisstdcnt
- Le nombre d'indicateurs standard/wall enregistrés dans le fichier.
- tzh_leapcnt
- Le nombre de secondes de rattrapage pour lesquelles des données sont enregistrées.
- tzh_timecnt
- Le 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
- Le nombre de caractères de chaînes d'abréviation de fuseau horaire enregistrées dans le fichier.
Cet en-tête est suivi par tzh_timecnt valeurs sur 4 octets de type long, classées en ordre croissant. Ces valeurs sont écrites dans l'ordre standard des octets. Chacune est un instant de transition (comme renvoyé par l'appel-système time(2)) auquel les règles de calcul de l'heure locale changent. Ensuite viennent tzh_timecnt valeurs sur un octet de type unsigned char; chacune indiquant lequel des différents types d'heures locales décrites dans le fichier est associé avec l'instant de transition ayant le même rang. Ces valeurs servent d'indice dans une table de structures ttinfo 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 4 octets pour tt_gmtoff du type long, dans l'ordre standard des octets, suivie d'une valeur sur 1 octet pour tt_isdst et une valeur sur 1 octet pour tt_abbrind. Dans chaque structure, tt_gmtoff indique le nombre de secondes à ajouter à l'UTC, tt_isdst indique si tm_isdst doit être indiqué par localtime(3) et 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 se trouve 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 date.
Ensuite se trouvent tzh_ttisstdcnt indicateurs standard/wall, 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 fuseau 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 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 argument temporel est antérieur à la première transition enregistrée dans le fichier..
TRADUCTION
Christophe Blaess, 1999-2003.