122 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .Dd September 13, 1994
 | |
| .\" jpman %Id: tzfile.5,v 1.3 1998/06/22 10:44:36 kumano Stab %
 | |
| .Dt TZFILE 5
 | |
| .Os FreeBSD 2.0
 | |
| .Sh 名称
 | |
| .Nm tzfile
 | |
| .Nd タイムゾーンの情報
 | |
| .Sh 書式
 | |
| .Fd #include <tzfile.h>
 | |
| .Sh 解説
 | |
| .Xr tzset 3
 | |
| が使用するタイムゾーン情報ファイルは、
 | |
| 将来の使用のために予約されている数バイトから始まり、 4 つの
 | |
| 4 バイト値が続きます。
 | |
| これは ``標準'' バイトオーダ (上位バイトを最初に格納) で格納されます。
 | |
| これらの値を順序に従い、以下に示します。
 | |
| .Pp
 | |
| .Bl -tag -compact -width tzh_ttisstdcnt
 | |
| .It Li tzh_ttisstdcnt
 | |
| ファイルに格納された、標準/ウォール指示子の数。
 | |
| .It Li tzh_leapcnt
 | |
| ファイルに格納された、閏秒データの数。
 | |
| .It Li tzh_timecnt
 | |
| ファイルに格納された ``遷移時刻'' データの数。
 | |
| .It Li tzh_typecnt
 | |
| ファイルに格納された ``ローカルタイム型'' データの数 (0 であってはなりません)。
 | |
| .It Li tzh_charcnt
 | |
| ファイルに格納された ``タイムゾーン省略形文字列'' の文字数。
 | |
| .El
 | |
| .Pp
 | |
| 上記のヘッダに続いて、
 | |
| 4 バイト
 | |
| .Fa long
 | |
| 型の値が
 | |
| .Li tzh_timecnt
 | |
| 個、昇順に並びます。
 | |
| 値は ``標準'' バイトオーダで格納されます。
 | |
| それぞれ、ローカルタイム計算方法が変わる遷移時刻 (
 | |
| .Xr time 3
 | |
| で返される形式) として使用されます。
 | |
| 続いて、1 バイト
 | |
| .Fa "unsigned char"
 | |
| 型の値が
 | |
| .Li tzh_timecnt
 | |
| 個続きます。
 | |
| このそれぞれは、同一インデックスの遷移時刻に、
 | |
| ファイル中のどの ``ローカルタイム'' 型が対応するかを示します。
 | |
| 値は、このファイル中で後続する
 | |
| .Fa ttinfo
 | |
| 構造体の配列に対するインデックスです。
 | |
| .\" つまり struct ttinfo が tzh_typecnt 個あるということ
 | |
| .\" See src/lib/libc/stdtime/tzfile.h
 | |
| .\" 1998/05/01 horikawa@jp.freebsd.org
 | |
| この構造体の定義を以下に示します。
 | |
| .Pp
 | |
| .Bd -literal -offset indent
 | |
| struct ttinfo {
 | |
| 	long	tt_gmtoff;
 | |
| 	int	tt_isdst;
 | |
| 	unsigned int	tt_abbrind;
 | |
| };
 | |
| .Ed
 | |
| .Pp
 | |
| 各構造体は、
 | |
| 標準バイトオーダの 4 バイト
 | |
| .Fa long
 | |
| 型の値
 | |
| .Li tt_gmtoff
 | |
| 、それに続く 1 バイトの値
 | |
| .Li tt_isdst
 | |
| 、そして 1 バイトの値
 | |
| .Li tt_abbrind
 | |
| の順に格納されます。
 | |
| .Li tt_gmtoff
 | |
| は GMT に加えるべき秒数を、
 | |
| .Li tt_isdst
 | |
| は
 | |
| .Li tm_isdst
 | |
| が
 | |
| .Xr localtime 3
 | |
| により設定されるべきかどうかを、
 | |
| .Li tt_abbrind
 | |
| はタイムゾーン省略文字列の配列に対するインデックスを意味します。
 | |
| タイムゾーン省略文字列の配列は、同一ファイル中の
 | |
| .Li ttinfo
 | |
| 構造体に後続しています。
 | |
| .Pp
 | |
| その後には標準バイトオーダで格納される 4 バイト値のペアが
 | |
| .Li tzh_leapcnt
 | |
| 個格納されています。
 | |
| 各ペアの最初の値は、閏秒が発生する時刻 (
 | |
| .Xr time 3 
 | |
| で返される形式) です。
 | |
| 2 番目の値は、
 | |
| 指定された時刻以降に適用される閏秒の
 | |
| .Em 総計
 | |
| です。
 | |
| 値のペアは時刻の昇順で格納されます。
 | |
| .Pp
 | |
| 最後に、1 バイト値の標準/ウォールの指示子が
 | |
| .Li tzh_ttisstdcnt
 | |
| 個格納されています。
 | |
| これらは、ローカルタイム型に関する遷移時刻が
 | |
| 標準時刻で指定されているのか、
 | |
| それともウォールクロックの時刻で指定されているのかを示します。
 | |
| この情報は、POSIX スタイルのタイムゾーン環境変数を扱う際に、
 | |
| タイムゾーンファイルを使用するときに使用します。
 | |
| .Pp
 | |
| .Li tzh_timecnt
 | |
| が 0 の場合もしくは時刻引数がファイル中の最初の遷移時刻以前の場合、
 | |
| .Nm localtime
 | |
| は、ファイル中の最初の標準時間の
 | |
| .Li ttinfo
 | |
| 構造体を使用します
 | |
| (標準時間の構造体が無い場合には、単に最初の
 | |
| .Li ttinfo
 | |
| 構造体を使用します)。
 | |
| .Sh 関連項目
 | |
| .Xr ctime 3 ,
 | |
| .Xr time2posix 3 ,
 | |
| .Xr zic 8
 | |
| .\" @(#)tzfile.5	7.2
 |