.\" -*- coding: UTF-8 -*- .\" %%%LICENSE_START(PUBLIC_DOMAIN) .\" This file is in the public domain, so clarified as of .\" 1996-06-05 by Arthur David Olson . .\" %%%LICENSE_END .\" .\" @(#)tzfile.5 7.11 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH TZFILE 5 "7. Mai 2015" "" Linux\-Programmierhandbuch .SH BEZEICHNUNG tzfile \- Zeitzonen\-Informationen .SH BESCHREIBUNG Diese Seite beschreibt die Struktur der Zeitzonen\-Dateien, die von \fBtzset\fP(3) verwandt werden. Diese Dateien können typischerweise in \fI/usr/lib/zoneinfo\fP oder \fI/usr/share/zoneinfo\fP gefunden werden. Zeitzoneninformationsdateien beginnen mit einem 44\-Byte\-Kopf, der wie folgt strukturiert ist: .IP * 3 Die magische Vier\-Byte\-Sequenz »TZif« identifiziert dies als Zeitzoneninformationsdatei. .IP * Ein einzelnes Zeichen identifiziert die Version des Dateiformats: entweder ein ASCII NUL (\(aq\e0\(aq) oder ein \(aq2\(aq (\fB0x32\fP). .IP * Fünfzehn Bytes, die Nullen enthalten, sind für zukünftige Nutzung reserviert. .IP * Sechs Vierbytewerte des Typs \fIlong\fP, geschrieben in einer »standard«\-Byte\-Reihenfolge (das »high\-order«\-Byte des Wertes ist zuerst geschrieben). Diese Werte sind, in Reihenfolge: .RS .TP \fItzh_ttisgmtcnt\fP Anzahl der in der Datei hinterlegten UTC\-/Lokal\-Kennziffern .TP \fItzh_ttisstdcnt\fP Anzahl der in der Datei gespeicherten Standard\-/Wall\-Kennziffern .TP \fItzh_leapcnt\fP Anzahl der Schaltsekunden, für die Angaben in der Datei gespeichert sind .TP \fItzh_timecnt\fP Anzahl der »Übergangszeiten« (transition times), für die Angaben in der Datei gespeichert sind .TP \fItzh_typecnt\fP Anzahl der »lokalen Zeit\-Typen«, für die Informationen in der Datei gespeichert sind (darf nicht Null sein) .TP \fItzh_charcnt\fP Anzahl der Zeichen für in der Datei gespeicherte Zeitzonen\-Abkürzungen (timezone abbreviation strings) .RE .PP Nach diesem Header folgen \fItzh_timecnt\fP 4\-Byte\-Werte vom Typ \fIlong\fP, nach steigender Wertigkeit sortiert. Auch sie werden in der Standard\-Byteordnung geschrieben. Jeder Wert wird als Zeitpunkt (wie er von \fBtime\fP(2) zurückgegeben wird) verwendet, zu dem sich die Regeln für die Berechnung der lokalen Zeit ändern. Darauf folgen \fItzh_timecnt\fP Werte vom Typ \fIunsigned char\fP. Jeder dieser Werte besagt, welcher der verschiedenen, in der Datei beschriebenen lokalen Zeit\-Typen, mit dem Wechsel der Zeitberechnung mit dem gleichen Index verknüpft ist. Die Werte dienen als Indizes für ein Feld von \fIttinfo\fP\-Strukturen (mit \fItzh_typecnt\fP Einträgen). Diese Strukturen sind wie folgt definiert: .in +4n .sp .nf struct ttinfo { long tt_gmtoff; int tt_isdst; unsigned int tt_abbrind; }; .in .fi .sp Jede Struktur besteht aus einem 4\-Byte\-Wert für \fItt_gmtoff\fP vom Typ \fBlong\fP, geschrieben in einer Standard\-Bytefolge, gefolgt von den 1\-Byte\-Werten für \fItt_isdst\fP und für \fItt_abbrind\fP. In jeder Struktur legt \fItt_gmtoff\fP die Anzahl Sekunden fest, die zu UTC addiert werden, \fItt_isdst\fP bestimmt, ob \fItm_isdst\fP von \fBlocaltime\fP(3) gesetzt werden soll und \fItt_abbrind\fP entspricht dem Index im Feld der Abkürzungszeichen für Zeitzonen, die den \fIttinfo\fP\-Strukturen in der Datei folgen. .PP Als Nächstes gibt es \fItzh_leapcnt\fP Paare von 4\-Byte\-Werten, geschrieben in Standard\-Bytefolge. Der erste Wert jedes Paares bezeichnet den Zeitpunkt (Rückgabewert von \fBtime\fP(2)), zu dem die Schaltsekunden auftreten. Der zweite bestimmt die \fIgesamte\fP Anzahl der Schaltsekunden, die nach der angegebenen Zeit eingelegt werden sollen. Die Wertepaare sind in aufsteigender Folge nach der Zeit sortiert. .PP Nun folgen \fItzh_ttisstdcnt\fP Standard\-/Wall\-Kennziffern, jede wird als 1\-Byte\-Wert gespeichert. Sie geben an, ob die Übergangszeiten, die den lokalen Zeit\-Typen zugeordnet sind, als Standard\-Zeit oder als »wall clock time« angegeben wurden. Sie werden verwendet, wenn eine Zonendatei für die Verarbeitung POSIX\-artiger Zeitzonen\-Umgebungsvariablen eingesetzt wird. .PP Schließlich gibt es \fItzh_ttisgmtcnt\fP UTC\-/Lokal\-Kennziffern, jede als 1\-Byte\-Wert gespeichert. Sie besagen, ob die den lokalen Zeit\-Typen zugeordneten Übergangszeiten als UTC oder als lokale Zeit angegeben wurden. Sie werden verwendet, wenn eine Zonendatei für die Verarbeitung POSIX\-artiger Zeitzonen\-Umgebungsvariablen eingesetzt wird. .PP .\" http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=122906#47 .\" Reviewed by upstream and rejected, May 2012 \fIlocaltime\fP(3) verwendet den ersten \fIttinfo\fP\-Eintrag für Standardzeit in der Datei (oder einfach den ersten \fIttinfo\-Eintrag\fP, wenn kein Standardzeit\-Eintrag existiert), wenn entweder \fItzh_timecnt\fP Null ist oder das Zeit\-Argument kleiner ist als der erste in der Datei abgelegte Übergangszeitpunkt. .SH ANMERKUNGEN Diese Handbuchseite beschreibt \fI\fP aus dem Glibc\-Quelltext (siehe \fItimezone/tzfile.h\fP). .\" End of patch Es scheint, dass timezone \fBtzfile\fP intern verwendet, aber Glibc das nicht in der Anwendungsebene verfügbar macht. Der Grund ist höchstwahrscheinlich, dass die standardisierten Funktionen sinnvoller, besser portierbar und tatsächlich von Glibc dokumentiert sind. Vermutlich ist es nur in Glibc enthalten, um die nicht von Glibc (sondern einer anderen Organisation) gepflegten Zeitzonendaten zu unterstützen. .SS Version\-2\-Format Für Zeitzonen\-Dateien im Version\-2\-Format folgen dem oben Beschriebenen (Vorspann und Daten) ein zweiter Vorspann und Daten in einem ähnlichen Format. Der Unterschied besteht darin, dass die Übergangszeiten und Schaltsekundenzeiten jeweils mit jeweils acht Byte kodiert werden (und dass das Versionsbyte in dem Vorspann\-Datensatz \fB0x32\fP statt \fB0x00\fP ist). Nach dem zweiten Header und den Daten folgt eine durch Zeilenumbrüche abgetrennte Zeichenkette im Stil von POSIX\-Zeitzonen\-Umgebungsvariablen. Sie ist für die Behandlung der Momente nach der letzten in der Datei gespeicherten Übergangszeit bestimmt. (Wenn es keine POSIX\-Darstellung für solche Momente gibt, ist die Zeichenkette leer.) .PP Der zweite Abschnitt der Zeitzonendatei besteht aus einem weiteren 44\-Byte\-Kopfdatensatz, der in der Struktur zu dem am Anfang der Datei identisch ist, außer das er auf die folgenden Daten angewandt wird, die ebenfalls in der Struktur dem ersten Abschnitt der Zeitzonendatei entsprechen, mit den folgenden Unterschieden: .IP * 3 Die Übergangszeitwerte, nach dem Kopf, sind Achtbytewerte. .IP * In jedem Schaltsekundendatensatz ist der Schaltsekundenwert ein Achtbytewert. Die aufgesammelte Schaltsekundenanzahl ist noch ein Vierbytewert. .PP In allen Fällen werden die Achtbytezeitwerte in der »standard«\-Bytereihenfolge angegeben, das »high\-order« Byte zuerst. .SS POSIX\-Zeitzonenzeichenkette Der zweite Achtbytezeitwerteabschnitt wird von einem optionalen dritten Abschnitt gefolgt: einem einzelnen ASCII\-Zeilenumbruchzeichen (\(aq\en\(aq), dann einer Textzeichenkette, gefolgt von einem zweiten Zeilenumbruchzeichen. Die Textzeichenkette ist eine POSIX\-Zeitzonenzeichenkette, dessen Format in der Handbuchseite \fBtzset\fP(3) beschrieben ist. .PP Die POSIX\-Zeitzonenzeichenkette beschreibt eine Regel zur Berechnung der Übergangszeiten, die der letzten Übergangszeit folgen, die in der Zeitzoneninformationsdatei explizit angegeben ist. .SS "Zusammenfassung des Zeitzoneninformationsdateiformats" \& .RS .nf Vier\-Byte\-Werteabschnitt (Header Version \fB0x00\fP oder \fB0x32\fP) Headereintrag Vier\-Byte Übergangszeiten Index der Übergangszeiten \fBttinfo\fP\-Strukturen Feld für Zeitzonen\-Abkürzungen Schaltsekundeneinträge Feld für Standard/Echtzeit Feld für UTC/Ortszeit Acht\-Byte\-Werteabschnitt (nur wenn im ersten Header die Version \fB0x32\fP steht, ist auch im zweiten Header die Version \fB0x32\fP) Headereintrag Acht\-Byte Übergangszeiten Index der Übergangszeiten \fBttinfo\fP\-Strukturen Feld für Zeitzonen\-Abkürzungen Schaltsekundeneinträge Feld für Standard/Echtzeit Feld für UTC/Ortszeit Dritter Abschnitt (optional, nur in Version \fB0x32\fP Dateien) Zeilenumbruchzeichen Zeitzonenzeichenkette Zeilenumbruchzeichen .fi .RE .\" .SH "SIEHE AUCH" \fBctime\fP(3), \fBtzset\fP(3), \fBtzselect\fP(8), \fItimezone/tzfile.h\fP in dem Glibc\-Quellcode. .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 4.09 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%https://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer und Helge Kreutzmann erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an .