Provided by:
manpages-de_0.8-1_all 
BEZEICHNUNG
tzfile - Informationen uber Zeitzonen
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 5 tzfile
eingeben.
"UBERSICHT
#include <tzfile.h>
BESCHREIBUNG
Wo sich die Informations-Dateien befinden, ist abhangig von der
verwendeten (g)libc-Version. Libc4/5 benutzen /usr/lin/zoneinfo, doch
seit libc-5.4.6 befindet es sich in /usr/share/zoneinfo.
Die Informations-Dateien uber die Zeitzonen, die von tzset(3) verwendet
werden, beginnen mit den magischen Zeichen "TZif", um sie als
Zeitzonen-Dateien zu identifizieren. Die darauf folgenden 16 Byte sind
fur zukunftige Dinge reserviert. AnschlieBend folgen sechs 32bit-Werte
(long). (Wichtig: Die Daten kommen in naturlicher Bytefolge: Highbyte
zu erst). Die sechs Werte bedeuten:
tzh_ttisgmtcnt
Anzahl der hinterlegten UTC/lokal-Indikatoren in der Datei.
tzh_ttisstdcnt
Anzahl der standard/wall-Indikatoren in der Datei.
tzh_leapcnt
Anzahl der Schaltsekunden, fur die Daten in der Datei
gespeichert sind.
tzh_timecnt
Anzahl der ubergangszeiten in der Datei.
tzh_typecnt
Anzahl der lokalen Zeit-Typen, fur die Informationen in der
Datei gespeichert sind (darf nicht null sein).
tzh_charcnt
Anzahl der Buchstaben fur die Abkurzungen der Zeitzone.
Nachdem Header folgen tzh_timecnt 32bit-Werte vom Typ long in
steigender Wertigkeit. Auch sie werden in naturlicher Bytefolge
geschrieben. Jeder Wert ist als Epochen-Wert (Sekunden seit
01.01.1970) zu interpretieren. Zu jedem dieser Zeitpunkte gibt es
einen Wechsel der Sommer- bzw. Winterzeit (der auch von time(2)
zuruckgegeben wird). Darauf folgen tzh_timecnt Werte vom Typ
unsignedchar. Jeder dieser Werte besagt, welcher der verschiedenen
lokalen Zeit-Typen, die in der Datei beschrieben werden, mit dem
Zeitberechnungs-Wechsel an der gleichen Position verknupft ist. Die
Werte sind als Indizes fur die nachfolgenden ttinfo-Strukturen zu
verstehen, die als nachstes in der Datei stehen. Diese Strukturen sind
wie folgt definiert.
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
Jede derartige Struktur besteht aus einem 4-Byte-Wert fur tt_gmtoff vom
Typ long, geschrieben in naturlicher Bytefolge, gefolgt von einem
1-Byte-Wert fur tt_isdst und einem 1-Byte-Wert fur tt_abbrind. In
jeder Struktur legt tt_gmtoff die Anzahl Sekunden fest, die zu UTC
hinzugefugt werden, tt_isdst bestimmt, ob tm_isdst von localtime(3)
gesetzt werden soll und tt_abbrind entspricht dem Index im Array der
Abkurzungszeichen fur Zeitzonen, die den ttinfo-Strukturen in der Datei
folgen.
Als nachstes gibt es tzh_leapcnt Paare von 4-Byte-Werten, geschrieben
in naturlicher Bytefolge. Der erste Wert jedes Paares bezeichnet die
Zeit (zuruckgegeben von time(2)), an dem die Schaltsekunden auftreten.
Der zweite bestimmt die gesamte Anzahl der Schaltsekunden, die nach der
angegebenen Zeit verwendet werden sollen. Die Wertepaare sind in
aufsteigender folge nach der Zeit sortiert.
Nun folgen tzh_ttisstdcnt standard/wall-Indikatoren, jeder wird als
1-Byte-Wert gespeichert. Sie geben an, ob die Umstellungszeiten, die
mit den lokalen Zeit-Typen zusammenhangen, als Standard-Zeit oder als
"wall clock time" angegeben wurden. Sie werden verwendet, wenn eine
Zonendatei dafur benutzt wird, POSIX-artige Umgebungsvariablen fur
Zeitzonen zu verarbeiten.
SchlieBlich gibt es tzh_ttisgmtcnt UTC/local-Indikatoren, jeder als
1-Byte-Wert gespeichert. Sie besagen, ob die Umstellungszeit, die mit
den lokalen Zeit-Typen zusammenhangen, als UTC oder als lokale Zeit
angegeben wurden. Sie werden verwendet, wenn eine Zonendatei dafur
benutzt wird, POSIX-artige Umgebungsvariablen fur Zeitzonen zu
verarbeiten.
Localtime verwendet die ersten ttinfo-Eintrag fur Standard-Zeit in der
Datei (oder einfach den ersten wenn kein Standard-Zeit-Eintrag
existiert), wenn tzh_timecnt null ist oder das Zeit-Argument kleiner
ist als der erste Umstellungszeitpunkt, der in der Datei beschrieben
wird.
SIEHE AUCH
newctime(3).
TZFILE(5)