tzfile - ファイルのフォーマットと規約の説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
名前
書式
説明
tzset
(3) によって用いられるタイムゾーン情報のファイルは、
識別のための magic 文字列 "TZif" で始まり、
将来のための 16 バイトの予約領域が続き、
long
型の 4 バイトの値が 6 個続く。
この値は「標準」バイトオーダー (高位バイトが先に書かれる)
で記述される。これらの値は、順に以下のようなものである。
-
tzh_ttisgmtcnt
-
ファイルに記述されている UTC/local インジケータ (indicator) の個数。
-
tzh_ttisstdcnt
-
ファイルに記述されている standard/wall インジケータの個数。
-
tzh_leapcnt
-
ファイルに記述されている閏秒データの個数。
-
tzh_timecnt
-
ファイルに記述されている「遷移時間 (transition time)」データの個数。
-
tzh_typecnt
-
ファイルに記述されている「ローカル時間型 (local time types)」データの個数
(0 であってはいけない)。
-
tzh_charcnt
-
ファイルに記述されている「タイムゾーン略式文字列 (time zone
abbreviation string)」の個数。
上記のヘッダに続いて
tzh_timecnt
という 4 バイトの
long
型の値が (複数個) 続く。昇順で保管されている。
これらの値は「標準」バイトオーダーで記述されている。
それぞれは遷移時間
(
time
(2)が返す値) として用いられ、
それぞれにおいてローカル時間の計算ルールが変更される。
次に来るのは
tzh_timecnt
で、これは
"unsigned char"
型の 1 バイトの値である (複数個続くこともある)。
この値は、ファイルで記述されている異なったタイプの「ローカル時間」が、
それぞれ同じようにインデックスされた遷移時間のどれに関連づけられて
いるかを示す。
これらの値は
ttinifo
構造体の配列に対するインデックスとして提供されている。
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_isdst
は
tm_isdst
を
localtime
(3) にセットすべきかどうかを示し、
tt_abbrind
はファイル中で ttinfo
構造体 (配列) のあとに置かれる
タイムゾーン略式文字列の配列に対するインデックスである。
次には 4 バイト値のペアである
tzh_leapcnt
が (複数個) 続く。標準バイトオーダーで記述される。
それぞれのペアの最初の値は閏秒の起きた時刻を (
time
(2)の返す形式で) 与え、二番目の値はその時刻に加えるべき閏秒数の
全秒数を与える。これらのペアは時刻の古い順に記述する。
次には
tzh_ttisstdcnt
が置かれる。これは standard/wall インジケータで、それぞれ 1 バイトの
値を保管する。これらはローカル時間のタイプに関連づけられた遷移時間が
標準時刻 (standard time) と壁時計時刻 (wall clock time) の
どちらで指定されているかを示す。またこの値は、
POSIX スタイルのタイムゾーン環境変数を処理するときに
タイムゾーンファイルが使われるときにも利用される。
最後に
tzh_ttisgmtcnt
が置かれる。これは UTC/local インジケータで、それぞれ 1 バイトの
値を保管する。これらはローカル時間のタイプに関連づけられた遷移時間が
UTC とローカル時刻のどちらで指定されているかを示す。またこの値は、
POSIX スタイルのタイムゾーン環境変数を処理するときに
タイムゾーンファイルが使われるときにも利用される。
localtime
は、
tzh_timeout
が 0 であるか time 引数がファイルに記録されていた最初の遷移時刻
よりも小さい場合には、
ファイルに最初に現れる標準時刻の
ttinfo
構造体を使う (または標準時刻の構造体がない場合は、単に最初の
ttinfo
構造体を使う)。
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする