Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tzfile(5) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctime(3)

TZFILE(5)  —  UNIX Programmer’s Manual

名称

tzfile − タイムゾーン情報

形式

#include <tzfile.h>

DESCRIPTION

tzset(3) で使用されるタイムゾーン情報は、 後で使用するために確保されたバイトで始まり、 "標準" のバイト並びで書かれた4つの long 型の4バイト値が続きます。 (上位のバイト値が、先に記述されます。) これらの値は、次の順番になっています。

tzh_leapcnt
データファイル中の閏秒の数

tzh_timecnt
データファイル中のタイムゾーンが切り替わる時刻の数

tzh_typecnt
データファイル中の "ローカルタイム形式" の数 (0以外).

tzh_charcnt
データファイル中の "タイムゾーン別名" の文字数

上記のヘッダには、 long 型の4バイト値である tzh_timecnt が昇順でソートされた形で伴い、"標準" のバイト並びで記述されています。 各値は、ローカルタイム変換のルールで使用される変換時刻 (time(2) で返される値) として使用されます。
次には、 unsigned char 型の1バイト値である tzh_timecnt が続きます。 各値は、ファイルに記述された "ローカルタイム" の型と違う型のうち、 どれが同じインデックス上の変換時刻に関連するものかを示しています。 これらの値は、ファイル中で次に示される ttinfo 構造体の羅列の中のインディケータとして機能します。 これらの構造体は、次のように定義されています。

struct ttinfo {
longtt_gmtoff;
inttt_isdst;
unsigned inttt_abbrind;
};

各構造体は、long 型 tt_gmtoff の4バイト値として標準のバイト並びで記述され、 tt_isdst の1バイト値と tt_abbrind の1バイト値が続きます。
各構造体では、 tt_gmtoff が GMT に加えるべき秒数を示し、 tt_isdst は、 tm_isdst が localtime (3) によって設定されるべきかどうかを示します。 tt_abbrind は、ファイル中の ttinfo 構造体に伴うタイムゾーン別名文字の羅列の中でインデックスとして機能しています。

最後に、標準のバイト並びで記述された4バイト値の tzh_leapcnt のペアがあります。 各ペアの最初の値は、閏秒が発生する時間 (time(2) で返される値)を与え、 2番目の値は、与えられた時間の後に適用される閏秒の total 数を示しています。 値のペアは、"時間" の昇順にソートされます。

Localtime は、 tzh_timecnt がゼロである、または時刻変数がファイルに記録された最初の変換時刻よりも 小さいときに、ファイル中の最初の標準時刻である ttinfo 構造体(または、単に標準時間構造体がないときの最初の ttinfo 構造体)を使用します。

関連事項

ctime(3)

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026