Provided by: manpages-de_0.4-9_all bug

BEZEICHNUNG

       tzfile - Informationen über Zeitzonen

ÜBERSICHT

       #include <tzfile.h>

BESCHREIBUNG

       Wo  sich  die  Informations-Dateien  befinden,  ist  abhängig  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 über 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
       für zukünftige Dinge reserviert.  Anschließend folgen sechs 32bit-Werte
       (long).   (Wichtig: Die Daten kommen in natürlicher 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,  für  die  Daten   in   der   Datei
              gespeichert sind.

       tzh_timecnt
              Anzahl der übergangszeiten in der Datei.

       tzh_typecnt
              Anzahl  der  lokalen  Zeit-Typen,  für  die Informationen in der
              Datei gespeichert sind (darf nicht null sein).

       tzh_charcnt
              Anzahl der Buchstaben für die Abkürzungen der Zeitzone.

       Nachdem  Header  folgen  tzh_timecnt  32bit-Werte  vom  Typ   long   in
       steigender  Wertigkeit.   Auch  sie  werden  in  natürlicher  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)
       zurückgegeben   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 Positiion verknüpft  ist.   Die
       Werte  sind  als  Indizes  für  die  nachfolgenden ttinfo-Strukturen zu
       verstehen, die als nächstes 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 für tt_gmtoff vom
       Typ long, geschrieben  in  natürlicher  Bytefolge,  gefolgt  von  einem
       1-Byte-Wert  für  tt_isdst  und  einem  1-Byte-Wert für tt_abbrind.  In
       jeder Struktur legt tt_gmtoff die Anzahl  Sekunden  fest,  die  zu  UTC
       hinzugefügt  werden,  tt_isdst  bestimmt,  ob tm_isdst von localtime(3)
       gesetzt werden soll und tt_abbrind entspricht dem Index  im  Array  der
       Abkürzungszeichen für Zeitzonen, die den ttinfo-Strukturen in der Datei
       folgen.

       Als nächstes gibt es tzh_leapcnt Paare von  4-Byte-Werten,  geschrieben
       in  natürlicher  Bytefolge.  Der erste Wert jedes Paares bezeichnet die
       Zeit (zurückgegeben 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 zusammenhängen, als Standard-Zeit oder als
       "wall clock time" angegeben wurden.  Sie werden  verwendet,  wenn  eine
       Zonendatei  dafür  benutzt  wird,  POSIX-artige  Umgebungsvariablen für
       Zeitzonen zu verarbeiten.

       Schließlich gibt es  tzh_ttisgmtcnt  UTC/local-Indikatoren,  jeder  als
       1-Byte-Wert  gespeichert.  Sie besagen, ob die Umstellungszeit, die mit
       den lokalen Zeit-Typen zusammenhängen, als UTC  oder  als  lokale  Zeit
       angegeben  wurden.   Sie  werden  verwendet, wenn eine Zonendatei dafür
       benutzt  wird,  POSIX-artige  Umgebungsvariablen   für   Zeitzonen   zu
       verarbeiten.

       Localtime  verwendet die ersten ttinfo-Eintrag für 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)