diff options
Diffstat (limited to 'lib/libc/stdtime/tzfile.5')
-rw-r--r-- | lib/libc/stdtime/tzfile.5 | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/lib/libc/stdtime/tzfile.5 b/lib/libc/stdtime/tzfile.5 new file mode 100644 index 0000000..4bff7de --- /dev/null +++ b/lib/libc/stdtime/tzfile.5 @@ -0,0 +1,122 @@ +.Dd September 13, 1994 +.Dt TZFILE 5 +.Os FreeBSD 2.0 +.Sh NAME +.Nm tzfile +.Nd time zone information +.Sh SYNOPSIS +.Fd #include <tzfile.h> +.Sh DESCRIPTION +The time zone information files used by +.Xr tzset 3 +begin with bytes reserved for future use, +followed by four four-byte values of type +.Fa long , +written in a ``standard'' byte order +(the high-order byte of the value is written first). +These values are, +in order: +.Pp +.Bl -tag -compact -width tzh_ttisstdcnt +.It Li tzh_ttisstdcnt +The number of standard/wall indicators stored in the file. +.It Li tzh_leapcnt +The number of leap seconds for which data is stored in the file. +.It Li tzh_timecnt +The number of ``transition times'' for which data is stored +in the file. +.It Li tzh_typecnt +The number of ``local time types'' for which data is stored +in the file (must not be zero). +.It Li tzh_charcnt +The number of characters of ``time zone abbreviation strings'' +stored in the file. +.El +.Pp +The above header is followed by +.Li tzh_timecnt +four-byte values of type +.Fa long , +sorted in ascending order. +These values are written in ``standard'' byte order. +Each is used as a transition time (as returned by +.Xr time 2 ) +at which the rules for computing local time change. +Next come +.Li tzh_timecnt +one-byte values of type +.Fa "unsigned char" ; +each one tells which of the different types of ``local time'' types +described in the file is associated with the same-indexed transition time. +These values serve as indices into an array of +.Fa ttinfo +structures that appears next in the file; +these structures are defined as follows: +.Pp +.Bd -literal -offset indent +struct ttinfo { + long tt_gmtoff; + int tt_isdst; + unsigned int tt_abbrind; +}; +.Ed +.Pp +Each structure is written as a four-byte value for +.Li tt_gmtoff +of type +.Fa long , +in a standard byte order, followed by a one-byte value for +.Li tt_isdst +and a one-byte value for +.Li tt_abbrind . +In each structure, +.Li tt_gmtoff +gives the number of seconds to be added to GMT, +.Li tt_isdst +tells whether +.Li tm_isdst +should be set by +.Xr localtime 3 +and +.Li tt_abbrind +serves as an index into the array of time zone abbreviation characters +that follow the +.Li ttinfo +structure(s) in the file. +.Pp +Then there are +.Li tzh_leapcnt +pairs of four-byte values, written in standard byte order; +the first value of each pair gives the time +(as returned by +.Xr time 2 ) +at which a leap second occurs; +the second gives the +.Em total +number of leap seconds to be applied after the given time. +The pairs of values are sorted in ascending order by time. +.Pp +Finally there are +.Li tzh_ttisstdcnt +standard/wall indicators, each stored as a one-byte value; +they tell whether the transition times associated with local time types +were specified as standard time or wall clock time, +and are used when a time zone file is used in handling POSIX-style +time zone environment variables. +.Pp +.Nm localtime +uses the first standard-time +.Li ttinfo +structure in the file +(or simply the first +.Li ttinfo +structure in the absence of a standard-time structure) +if either +.Li tzh_timecnt +is zero or the time argument is less than the first transition time recorded +in the file. +.Sh SEE ALSO +.Xr ctime 3 , +.Xr time2posix 3 , +.Xr zic 8 +.\" @(#)tzfile.5 7.2 |