NOME
tzfile − informação de fuso horário
SINOPSE
#include <tzfile.h>
DESCRIÇÃO
O arquivo de
informações sobre fusos horário usado
por tzset(3) inicia com o caracter mágico
"TZif" para identificar na mesma hora como
arquivos de informações sobre fusos
horário, seguido por dezesseis bytes reservados para
uso futuro, seguido por seis valores de quatro bytes do tipo
long, escrito na ordem de bytes
’’padrão’’ (o byte de mais
alta ordem do valor é escrito primeiro. Este valores
são, na ordem:
tzh_ttisgmtcnt
O número do indicador UTC/local armazenado no arquivo.
tzh_ttisstdcnt
O número do indicador padrão/pareee armazenado no arquivo
tzh_leapcnt
O número do salto de segundos para qual dado é armazenado no arquivo.
tzh_timecnt
O número de "transition times" para qual dado é armazenado no arquivo.
tzh_typecnt
O número de "local time types" para qual dado é armazenado no arquivo (não pode ser zero).
tzh_charcnt
O número de caracteres da "time zone abbreviation strings" armazenado no arquivo.
O cabeçalho citado acima é seguido por tzh_timecnt valores de quatro-bytes do tipo long, ordenados em ordem ascendente. Estes valores são escritos na ordem ’’padrão’’. Cada um é usado como um tempo de transição (como devolvido por time(2)) na regra para computar o tempo local alterada. Depois chega tzh_timecnt valor de um byte do tipo unsigned char; cada um conta qual dos diferentes tipos de ’’local time’’ descritos no arquivo associado com o tempo de translação como indexado. Aqueles valores servem com indice dentro de um matriz de estrutura ttinfo que mostra-se próxima no arquivo; estas estruturas são definidas com segue:
struct ttinfo {
long |
tt_gmtoff; | |
int |
tt_isdst; | |
unsigned int |
tt_abbrind; |
};
Cada estrutura é escrita com um valor de 4 bytes oara tt_gmtoff do tipo long, na ordem padrão de bytes, seguida por um valor de um byte para tt_isdst e um valor de um byte para tt_abbrind. Em cada estrutura, tt_gmtoff fornece o número de segundo para ser adicionado ao UTC, tt_isdst conta se tm_isdst deverá se selecionado por localtime (3) e tt_abbrind tem função de um indexador dentro da matriz de abreviação de caracteres defusos horários que seguem a(s) estrutura(s) ttinfo no arquivo.
Então ali está o par tzh_leapcnt de valores de quatro bytes, escritos na ordem padrão de byes; o primeiro valor de cada para fornece o tempo (como retornado por time(2)) no qual ocorre um salto de segundo; o número de segundo fornecido total de saltos de segundo aplicados depois do tempo dado. O par de valores são ordenados e ordem ascendente por time.
Então ali estão tzh_ttisstdcnt indicadore padrão/parede, cada um arqmazenado com um valor de um byte; eles contam o tempo de transição associado com o tipo de tempo local sendo especificado com um tempo local padrão ou tempo do relógio de parede, e são usado quando um arquivo de fuso horário é usado para tratamento de variáveis de ambiente no estilo POSIX de fuso horários.
Finalmente ali estão tzh_ttisgmtcnt indicadores UTC/local, cada um armazenado como um valor de um byte; eles contam o tempo de transição associado com o tipo de tempo local sendo especificado como UTC ou tempo local, e são usado quando um arquivo de fuso horário é usado para tratamento de variáveis de ambiente no estilo POSIX de fuso horários.
Localtime usar o primeiro tempo padrão ttinfo estrutura no arquivo (ou simplesmente a primeira ttinfo estrutura na ausência de m estrutura padrão de tempo) se tzh_timecnt é zero ou se o arguentp de tempo é menor que o primeiro caractere de transição de tempo gravado no arquivo.
VEJA TAMBÉM
TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) Carlos Augusto Horylka <horylka [AT] conectiva.br> (revisão)