Rechercher une page de manuel
tzfile
Langue: ru
Version: 100070 (fedora - 25/11/07)
Section: 5 (Format de fichier)
НАЗВАНИЕ
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>.Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre