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.