TZFILE(5)		  Formats de fichiers de FreeBSD

 

NOM

tzfile - Description du fuseau horaire

 

SYNOPSIS

#include "/usr/src/lib/libc/stdtime/tzfile.h"

 

DESCRIPTION

Le fichier de description de fuseau horaire est utilisé par tzset(3). Il commence par les caractères magiques "TZif" qui permettent de bien définir que c'est une description de fuseau horaire, suivis de seize octets réservés à un usage futur, puis six valeurs de quatre octet, écrites dans l'ordre "standard" (l'octet de poid fort écrit en premier). Ces valeurs sont, dans l'ordre :

tzh_ttisgmtcnt : Le nombre d'indicateurs locaux TU écrits dans le fichier.

tzh_ttisstdcnt : Le nombre d'indicateurs standard/mural écrits dans le fichier.

tzh_leapcnt : Le nombre de changements en secondes pour lesquels les données sont enregistrées dans le fichier.

tzh_timecnt : Le nombre de "changements horaire" pour lesquels les données sont enregistrées dans le fichier.

tzh_typecnt : Le nombre de "types d'heures locales" pour lesquels les données sont enregistrées dans le fichier (obligatoirement différent de zéro).

tzh_charcnt : Le nombre de caractères du diminutif du fuseau horaire enregistré dans le fichier.

L'en-tête ci-dessus est suivi de tzh_timecnt valeurs de quatre octets de type long, par ordre croissant. Ces valeurs sont écrites dans l'ordre standard d'octets. Chacune d'elle est utilisée comme heure de transition (comme retourné par time(3)) à laquelle s'appliquent les règles de calcul de changement horaire. Viennent ensuite les valeurs sur un octet tzh_timecnt, de type unsigned char, indiquant chacune quel type "d'heure locale" décrit dans le fichier correspond au changement horaire. Ces valeurs servent d'indices au tableau de structures ttinfo apparaissant plus loin dans le fichier. Ces structures sont définies comme suit :

struct ttinfo {
long            tt_gmtoff;
int             tt_isdst;
unsigned int    tt_abbrind;
};

Chaque structure est écrite sous la forme d'une valeur tt_gmtoff, de type long, sur quatre octets dans l'ordre standard, suivie d'une valeur tt_isdst sur un octet et d'une valeur tt_abbrind. Dans chaque structure, tt_gmtoff donne le nombre de secondes à ajouter au temps universel, tt_isdst indique si tm_isdst doit être paramètré par localtime(3) et tt_abbrind sert d'index dans le tableau des diminutifs de fuseaux horaires qui suit le ou les structures ttinfo du fichier.

S'il y a tzh_leapcnt paires de valeurs de quatre octets, écrites dans l'ordre standard, la première valeur donne l'heure (comme retournée par time(3)) à laquelle arrive le changement et la seconde le nombre total de secondes à appliquer à l'heure dite. Les paires sont triées par ordre croissant d'heures.

Puis, viennent les indicateurs standard/mural tzh_ttisstdcnt, enregistrés sur un octet. Ils indiquent si le changement horaire associé aux types d'heures locales sont spécifiés en heure standard ou en heure d'horloge murale. Ils servent dans le cas où un fichier de fuseaux horaires est utilisé à la manière POSIX pour définir les variables d'environnement.

Enfin, viennent les indicateurs TU/Local tzh_ttisgmtcnt enregistrés sur un octet. Ils indiquent si le changement horaire associé aux types d'heures locales sont spécifiés en Temps Universel ou en heure locale. Ils servent dans le cas où un fichier de fuseaux horaires est utilisé à la manière POSIX pour définir les variables d'environnement.

localtime utilise la première structure ttinfo en temps standard du fichier (ou simplement la première structure ttinfo s'il n'y en a pas en temps standard) dans le cas où, soit tzh_timecnt vaut zéro, soit l'argument heure est inférieur au premier changement horaire du fichier.

 

VOIR AUSSI

ctime(3), time2posix(3), zic(8)

 

FreeBSD 3.0, 13 septembre 1994

Version française le 24 juillet 2000 par Guillain SEUILLOT <Guillain@lycosmail.com>


NOM | SYNOPSIS | DESCRIPTION | VOIR AUSSI