TZFILE(5)

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

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 11 mai 1999 et révisée le 10 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 5 tzfile ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.