tzfile(5) FreeBSD 一般コマンドマニュアル

tzfile

前のページ 上に戻る 次のページ

tzfile




解説

     tzset(3) が使用するタイムゾーン情報ファイルは、タイムゾーン情報ファイルで
     あることを識別するマジック文字列 ``TZif'' から始まり、将来の使用のために
     予約された 16 バイトが続き、 4 つの 4 バイト値が続きます。これは ``標準''
     バイトオーダ (上位バイトを最初に格納) で格納されます。これらの値を順序に
     従い、以下に示します。

     tzh_ttisgmtcnt  ファイルに格納された、UTC/ローカル指示子の数。
     tzh_ttisstdcnt  ファイルに格納された、標準/ウォール指示子の数。
     tzh_leapcnt     ファイルに格納された、閏秒データの数。
     tzh_timecnt     ファイルに格納された ``遷移時刻'' データの数。
     tzh_typecnt     ファイルに格納された ``ローカルタイム型'' データの数 (0
                     であってはなりません)。
     tzh_charcnt     ファイルに格納された ``タイムゾーン省略形文字列'' の文字
                     数。

     上記のヘッダに続いて、 4 バイト long 型の値が tzh_timecnt 個、昇順に並び
     ます。値は ``標準'' バイトオーダで格納されます。それぞれ、ローカルタイム
     計算方法が変わる遷移時刻 ( time(3) で返される形式) として使用されます。続
     いて、1 バイト unsigned char 型の値が tzh_timecnt 個続きます。このそれぞ
     れは、同一インデックスの遷移時刻に、ファイル中のどの ``ローカルタイム''
     型が対応するかを示します。値は、このファイル中で後続する ttinfo 構造体の
     配列に対するインデックスです。この構造体の定義を以下に示します。

           struct ttinfo {
                   long    tt_gmtoff;
                   int     tt_isdst;
                   unsigned int    tt_abbrind;
           };

     各構造体は、標準バイトオーダの 4 バイト long 型の値 tt_gmtoff 、それに続
     く 1 バイトの値 tt_isdst 、そして 1 バイトの値 tt_abbrind の順に格納され
     ます。 tt_gmtoff は UTC に加えるべき秒数を、 tt_isdsttm_isdstlocaltime(3) により設定されるべきかどうかを、 tt_abbrind はタイムゾーン省
     略文字列の配列に対するインデックスを意味します。タイムゾーン省略文字列の
     配列は、同一ファイル中の ttinfo 構造体に後続しています。

     その後には標準バイトオーダで格納される 4 バイト値のペアが tzh_leapcnt 個
     格納されています。各ペアの最初の値は、閏秒が発生する時刻 ( time(3) で返さ
     れる形式) です。 2 番目の値は、指定された時刻以降に適用される閏秒の 総計
     です。値のペアは時刻の昇順で格納されます。

     その後に、1 バイト値の標準/ウォールの指示子が tzh_ttisstdcnt 個格納されて
     います。これらは、ローカルタイム型に関する遷移時刻が標準時刻で指定されて
     いるのか、それともウォールクロックの時刻で指定されているのかを示します。
     この情報は、POSIX スタイルのタイムゾーン環境変数を扱う際に、タイムゾーン
     ファイルを使用するときに使用します。

     最後に、複数の tzh_ttisgmtcnt UTC/ローカル指示子があり、それぞれ 1 バイト
     値として格納されます。これらは、ローカル時刻タイプと関連付けられた遷移時
     刻が UTC とローカル時刻のどちらで指定されているかを示し、タイムゾーンファ

ABELNET VPSサービス