INITTODR(9)

명칭
inittodr - 시스템 타임의 초기화

서식
<sys/types.h> <sys/systm.h> void inittodr(time_t base)

해설
inittodr() 함수는 시각을 결정해 시스템 클록의 설정을 실시합니다. 시스템의 배터리 백업 클락 및 base 그리고 주어지는 루트 파일 시스템으로부터 얻을 수 있을 때 각 (을)를 검사하는 발견 방법을 사용해 올바른 시각의 취득을 시도합니다. base 의 값을 얻는 방법은, 루트 파일 시스템의 타입에 의존해 변화하겠지요. 아래와 같은 발견 방법이 사용됩니다.

•   배터리 백업 클락이 타당한 시각이면, 이것이 사용됩니다.

•   배터리 백업 클락이 타당한 시각이 아니면, base 그리고 주어졌을 때 각이 사용됩니다.

한 번 시스템 타임이 결정되면(자), 이것이 time 변수에 격납됩니다.

진단
시스템 타임의 계산에 문제가 있었을 경우는, inittodr() 함수는 진단 메세지를 출력합니다. 출력되는 진단 메세지에는 아래와 같은 상태가 포함됩니다.

•   배터리 백업 클락이 무의미 같다.

관련 항목
resettodr(9), time(9)

버그
많은 시스템으로 inittodr() (은)는, 년, 월, 일, 시, 분, 초로 표현될 때 각으로부터, 초에 표현된다 time (으)로 변환하지 않으면 안됩니다. 많은 실장에서는 코드의 공유가 가능합니다만, 공유하고 있지 않습니다.

각각의 시스템의 정확한 시각 취득을 위한 발견 방법은, 조금 다릅니다.

FreeBSD 의 실장은, 배터리 백업 클락을 사용할 수 없는 경우는, base 그리고 주어졌을 때 각을 좀 더 잘 검증해야 하는 것이지요. 현재는 무조건 시스템 타임을 이 값으로 설정합니다.