.\" @(#)tzfile.5 7.11 .\" This file is in the public domain, so clarified as of .\" 1996-06-05 by Arthur David Olson . .\" Translated into Spanish on Mon Apr 12 1999 by .\" Juan Piernas Cánovas .\" .TH TZFILE 5 .SH NOMBRE tzfile \- información de huso horario .SH SINOPSIS .B #include .SH DESCRIPCIÓN Los ficheros de información de huso horario usados por .BR tzset (3) comienzan con la secuencia de caracteres mágicos "TZif" para identificarlos como ficheros de información de huso horario, seguidos por 16 bytes reservados para uso futuro y seguidos por 6 valores de 4 bytes de tipo .BR long , escritos en un orden de bytes ``estándar'' (se escribe primero el byte de orden superior del valor). Estos valores son, en orden: .TP .I tzh_ttisgmtcnt El número de indicadores UTC/local almacenados en el fichero. .TP .I tzh_ttisstdcnt El número de indicadores estándar/incorporado almacenados en el fichero. .TP .I tzh_leapcnt El número de "segundos de salto" para los datos almacenados en el fichero. .TP .I tzh_timecnt El número de "instantes de transición" para los datos almacenados en el fichero. .TP .I tzh_typecnt El número de "tipos de hora local" para los datos almacenados en el fichero (no debe ser cero). .TP .I tzh_charcnt El número de caracteres de las "cadenas de abreviación de husos horarios" almacenadas en el fichero. .PP A la cabecera anterior le siguen valores .I tzh_timecnt de cuatro bytes de tipo .BR long , almacenados en orden ascendente. Estos valores se escriben en un orden de bytes ``estándar''. Cada uno de ellos se utiliza como un instante de transición (tal y como .BR time (2) devuelve las horas) en el que cambian las reglas para el cálculo de la hora local. A continuación viene un valor .I tzh_timecnt de un byte de tipo .BR "unsigned char" ; cada uno de los cuales indica cuál de los diferentes tipos de ``hora local'' descritos en el fichero se asocia con el instante de transición colocado en la misma posición relativa. Estos valores sirven como índices en un array de estructuras .I ttinfo que aparecen después en el fichero; estas estructuras se definen como sigue: .in +.5i .sp .nf .ta .5i +\w'unsigned int\0\0'u struct ttinfo { long tt_gmtoff; int tt_isdst; unsigned int tt_abbrind; }; .in -.5i .fi .sp Cada estructura se escribe como un valor de cuatro byte para .I tt_gmtoff de tipo .BR long , en un orden de bytes estándar, seguido por un valor de un byte para .I tt_isdst y un valor de un byte para .IR tt_abbrind . En cada estructura, .I tt_gmtoff da el número de segundos a añadir a UTC, .I tt_isdst indica si .I tm_isdst debe ser o no establecido por .BR localtime (3) y .I tt_abbrind se utiliza como un índice en el array de caracteres de abreviación de huso horario que siguen a la(s) estructura(s) .I ttinfo en el fichero. .PP Después hay parejas de valores .I tzh_leapcnt de 4 bytes, escritas en un orden de bytes estándar; el primer valor de cada pareja indica la hora (tal y como la devuelve .IR time(2)) a la que se produce un segundo de salto; el segundo indica el número .I total de segundos de salto a aplicar después del instante dado. Las parejas de valores se almacenan en orden ascedente de tiempo. .PP A continuación, exiten indicadores estándar/incorporado .IR tzh_ttisstdcnt , cada uno almacenado como un valor de un byte; indican si los instantes de transición asociados con los tipos de hora local se especificaron como una hora estándar o como una hora del reloj incorporado, y se usan cuando un fichero de huso horario se usa para manejar variables de entorno de huso horario al estilo POSIX. .PP Finalmente, hay indicadores UTC/local .IR tzh_ttisgmtcnt , cada uno almacenado como un valor de un byte; indican si los instantes de transición asociados con los tipos de hora local se especificaron como horas UTC o locales, y se usan cuando un fichero de huso horario se usa para manejar variables de entorno de huso horario al estilo POSIX. .PP .I Localtime usa la primera estructura .I ttinfo de hora estándar del fichero (o, simplemente, la primera estructura .I ttinfo en ausencia de un estructura de hora estándar) si o bien .I tzh_timecnt es cero o bien el argumento de tiempo es menor que el primer instante de transición almacenado en el fichero. .\" .SH VÉASE TAMBIÉN .\" newctime(3)