Provided by:
manpages-ru_0.98-4_all 
НАЗВАНИЕ
tzfile - информация о часовом поясе
СИНТАКСИС
#include <tzfile.h>
ОПИСАНИЕ
Файлы с информацией о часовых поясах, которые использует функция
tzset(3), начинаются с символов "TZif", показывающих, что это файлы с
информацией о часовых поясах, затем располагаются шестнадцать байт,
зарезервированных для будущего использования, за ними располагаются
шесть четырёхбайтовых значений типа long, записанных в ``сетевом''
порядке байт (старший байт значения записывается первым). Вот эти
значения, по порядку:
tzh_ttisgmtcnt
Количество индикаторов UTC и местных индикаторов, хранящихся в
файле.
tzh_ttisstdcnt
Количество индикаторов "времени на часах" (wall-clock time) или
стандартного времени, хранящихся в файле.
tzh_leapcnt
Количество високосных секунд, данные о которых хранятся в файле.
tzh_timecnt
Количество "моментов перевода времени", данные о которых
хранятся в файле.
tzh_typecnt
Количество "типов местного времени" , данные о которых хранятся
в файле ( должно быть ненулевым).
tzh_charcnt
Количество символов в "строках аббревиатур часовых поясов",
хранящихся в файле.
После этого заголовка следуют tzh_timecnt, четырёхбайтовые значения
типа long, отсортированные по возрастанию. Эти значения записаны в
``сетевом'' порядке байт. Каждое из них рассматривается как момент
перевода времени (в том виде, как его возвращает функция time(2)).
Далее следуют однобайтовые значения типа unsigned char в количестве
tzh_timecnt, каждое из которых показывает, как различные типы
``местного времени'', описываемые в файле, связаны с моментами перевода
времени с теми же индексами. Эти значения служат в качестве индексов
массива структур ttinfo, которые располагаются далее в файле; эти
структуры определены так:
struct ttinfo {
long tt_gmtoff;
int tt_isdst;
unsigned int tt_abbrind;
};
Каждая структура определена в виде четырёхбайтового значения tt_gmtoff
типа long в сетевом порядке байт, однобайтового значения tt_isdst и
однобайтового значения tt_abbrind. В каждой структуре tt_gmtoff
определяет количество секунд, которые нужно добавить к UTC, tt_isdst
показывает, будет ли localtime (3) устанавливать значение tm_isdst, а
tt_abbrind служит в индексом массива символов аббревиатур часовых
поясов, которые располагаются в виде структур(ы) ttinfo в файле далее.
Затем следуют пары четырёхбайтовых значений tzh_leapcnt, записанных в
сетевом порядке байт; первое значение каждой пары определяет время (в
формате time(2)), когда встретилась високосная секунда; второе
определяет число високосных секунд, которые нужно применить после
заданного времени. Пары значений отсортированы по времени в
возрастающем порядке.
Далее располагаются индикаторы стандартного времени или "времени на
часах" в количестве tzh_ttisstdcnt, причем каждый занимает один байт.
Они показывают, указаны ли моменты перевода времени, связанные с типами
местного времени, в стандартном или "времени на часах", и применяются,
когда файл часовых поясов используется при обработке переменных среды,
указывающих часовые пояса в стиле POSIX.
Наконец, идут индикаторы UTC или местные индикаторы в количестве
tzh_ttisgmtcnt, причем каждый занимает один байт; Они показывают,
указаны ли моменты перевода времени, связанные с типами местного
времени, в местном времени или в UTC, и применяются, когда файл часовых
поясов используется при обработке переменных среды, указывающих часовые
пояса в стиле POSIX.
Localtime использует первую структуру ttinfo со стандартным временем из
файла (или просто первую структуру ttinfo при отсутствии структуры со
стандартным временем), если tzh_timecnt равен нулю или аргумент времени
меньше, чем первый момент перевода времени, записанный в файле.
СМОТРИ ТАКЖЕ
newctime(3)
ПЕРЕВОД
Юрий Козлов <y_kozlov@chat.ru>.
TZFILE(5)