TZFILE(5)

명칭
tzfile - 타임 존의 정보

서식
#include "/usr/src/lib/libc/stdtime/tzfile.h"

해설
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_isdst 하 tm_isdst 하지만 localtime(3) 에 의해 설정되어야할 것인가 제발을, tt_abbrind (은)는 타임 존 생략 캐릭터 라인의 배열에 대한 인덱스를 의미합니다. 타임 존 생략 캐릭터 라인의 배열은, 동일 파일중의 ttinfo 구조체에 후속 하고 있습니다.

그 후에는 표준 바이트 오더로 격납되는 4 바이트치의 페어가 tzh_leapcnt 개격납되고 있습니다. 각 페어의 최초의 값은, 윤초가 발생할 때 각 ( time(3) 그리고 돌려주어지는 형식)입니다. 2 번째의 값은, 지정되었을 때 각 이후에 적용되는 윤초의 총계 입니다. 값의 페어는 시각의 승순으로 격납됩니다.

그 후에, 1 바이트치의 표준/월의 지시자가 tzh_ttisstdcnt 개격납되고 있습니다. 이것들은, 로컬 타임형에 관한 천이 시각이 표준시각으로 지정되어 있는지, 그렇지 않으면 월 클락의 시각에 지정되어 있는지를 나타냅니다. 이 정보는, POSIX 스타일의 타임 존 환경 변수를 취급할 때에, 타임 존 파일을 사용할 경우에 사용합니다.

마지막으로, 복수의 tzh_ttisgmtcnt UTC/로컬 지시자가 있어, 각각 1 바이트치로서 격납됩니다. 이것들은, 로컬 시각 타입과 관련지을 수 있었던 천이 시각이 UTC 와 로컬 시각의 어디에서 지정되어 있는지를 나타내, 타임 존 파일이 POSIX 스타일 타임 존 환경 변수를 취급할 때 사용됩니다.

tzh_timecnt 하지만 0 의 경우 혹은 시각 인수가 파일중의 최초의 천이 시각 이전의 경우, localtime (은)는, 파일중의 최초의 표준시간의 ttinfo 구조체를 사용합니다 (표준시간의 구조체가 없는 경우에는, 단지 최초의 ttinfo 구조체를 사용합니다).

관련 항목
ctime(3), time2posix(3), zic(8)