이 름
tzfile − 시 간 영 역 정 보
사 용 법
#include <tzfile.h>
설 명
tzset(3)
에 의 해 사 용 되
는 시 간 영 역 정
보 파 일 은 시 간
영 역 정 보 파 일
임 을 인 식 시 키
기 위 하 여 magic characters
"TZif"로 시 작 하 고
다 음 에 사 용 하
기 위 한 16 바 이 트
와 long, 타 입 의 16바
이 트 를 가 지 고
’’standard’’ 바 이
트 순 서 로 쓰 인
다 . (high-order 값 의 바 이
트 가 먼 저 쓰 인
다 .) 이 값 들 은 순
서 대 로 아 래 와
같 다 .:
tzh_ttisgmtcnt
파 일 에 저 장 된 UTC/local indicator의 번 호
tzh_ttisstdcnt
파 일 에 저 장 된 standard/wall indicator의 번 호
tzh_leapcnt
파 일 에 저 장 된 각 데 이 터 에 대 한 leap second의 번 호
tzh_timecnt
파 일 에 저 장 된 각 데 이 터 에 대 한 "transition times"의 번 호
tzh_typecnt
파 일 에 저 장 된 각 데 이 터 에 대 한 "local time types"의 번 호 (0 이 될 수 없 다 .)
tzh_charcnt
파 일 에 저 장 된 "time zone abbreviation strings"의 문 자 의 번 호 stored in the file.
위 의 해 더 들 은 long, 타 입 의 tzh_timecnt 4 바 이 트 값 으 로 이 어 지 고 , 작 은 값 에 서 큰 값 으 로 정 렬 된 다 . 이 값 들 은 ’’standard’’ 바 이 트 순 서 로 쓰 여 진 다 . 각 각 은 작 업 하 는 곳 의 기 준 에 맞 춘 변 환 시 간 ( time(2) 로 반 환 되 는 것 과 같 이 )으 로 쓰 여 진 다 . 다 음 은 unsigned char 타 입 의 tzh_timecnt 1 바 이 트 값 이 온 다 ; 각 각 의 값 은 파 일 에 표 시 된 ’’local time’’ 타 입 의 각 각 의 다 른 타 입 이 같 이 표 시 된 변 환 시 간 과 연 관 되 어 있 음 을 말 한 다 . 이 값 들 은 파 일 에 서 다 음 에 표 시 하 는 ttinfo 구 조 의 순 서 에 관 한 표 시 의 역 할 을 한 다 ; 이 구 조 들 은 아 래 와 같 이 정 의 된 다 ;
struct ttinfo {
long |
tt_gmtoff; | |
int |
tt_isdst; | |
unsigned int |
tt_abbrind; |
};
각
구 조 는 long 타 입
의
.I tt_gmtoff 을 위 해 일 반
적 인 바 이 트 순
서 로 , 4 바 이 트 로
쓰 여 지 고 . tt_isdst
를 위 한 1 바 이 트
와 tt_abbrind. 를 위 한 1
바 이 트 로 이 어
진 다 . 각 구 조 에
서 , tt_gmtoff 는 UTC에 더
하 기 위 하 여 초
의 번 호 를 주 고 ,
tt_isdst 는 tm_isdst 가
localtime (3) 로 설 정 되
어 야 하 는 지 통
보 하 고 , tt_abbrind 는
파 일 에 서 ttinfo 구
조 를 따 르 는 시
간 영 역 의 단 축
문 자 의 순 서 에
관 한 인 텍 스 역
할 을 한 다 .
그 리 고 , 일 반 적 인 바 이 트 순 서 로 쓰 여 진 4바 이 트 값 의 tzh_leapcnt 쌍 이 있 다 ; 각 쌍 의 첫 값 은 leap second가 일 어 나 는 시 간 을 ( time(2) 로 반 환 되 는 ) 준 다 ; 두 번 째 값 은 주 어 진 시 간 후 에 적 용 될 leap second의 total number 를 준 다 . 값 의 쌍 들 은 시 간 에 따 라 증 가 하 는 순 서 로 정 렬 된 다 .
그 리 고 각 각 1 바 이 트 값 으 로 정 렬 된 tzh_ttisstdcnt standard/wall indicators가 있 다 ; 이 것 들 은 지 역 시 간 타 입 과 관 련 된 변 환 시 간 이 기 준 시 간 으 로 혹 은 Wall clock time 으 로 명 기 되 었 는 지 를 판 단 한 다 . 그 리 고 그 것 들 은 시 간 이 시 간 영 역 파 일 이 사 용 되 고 있 을 때 POSIX-style 시 간 영 역 변 수 를 다 루 는 데 사 용 된 다 .
마 지 막 으 로 각 각 1 바 이 트 값 으 로 정 렬 된 tzh_ttisgmtcnt UTC/local indicator가 있 다 ; 지 역 시 간 형 식 과 관 련 된 변 환 시 간 이 UTC나 지 역 시 간 으 로 명 기 되 어 있 는 지 판 단 한 다 . 그 리 고 그 것 들 은 시 간 이 시 간 영 역 파 일 이 사 용 되 고 있 을 때 POSIX-style 시 간 영 역 변 수 를 다 루 는 데 사 용 된 다 .
만 약 tzh_timecnt 가 0 이 거 나 시 간 독 립 변 수 가 파 일 에 기 록 된 첫 번 째 변 환 시 간 보 다 적 으 면 Localtime 은 첫 째 기 준 시 간 ttinfo 구 조 (혹 은 기 준 시 간 구 조 가 없 는 단 순 한 ttinfo 구 조 )를 파 일 에 서 사 용 한 다 .