Check len macros during parsing.
[cascardo/libreceita.git] / doc / FORMATO
index 5771993..65f3282 100644 (file)
@@ -20,7 +20,7 @@ C: (6 bytes) + deflate(hash)
                hash_arq = 16 bytes
                hash_trans = 16 bytes == hash_arq
                ni = "00000000000" (CPF em ascii)
-               tipo_ni = "CPF"
+               tp_ni = "CPF"
                num_ass = 0x00 (assinatura e-CPF?)
                p_comp = 0x00 0x00 0x00 0x00
                ret = 0x00
@@ -32,14 +32,13 @@ C: (6 bytes) + deflate(hash)
                versao_pgd = 0x00 0x78 (120, mesmo que nr_versao no DEC, segundo arquivo de leiaute)
                critica_validador = 0x06 (??)
                ip_loc = "127.0.0.1" (endereço IP local)
-               versao_java = "1.7.0_03-icedtea;OpenJDK Runtime Environment" (versão do Java em ASCII)
-                       será que rola uma versão do GCC?
+               versao_java = "1.5.0-gij;Free Software rnetclient pretending to be GNU Interpreter for Java" (versão do Java em ASCII; o ReceitaNet concatena as propriedades java.version e java.runtime.name, com ";" entre elas)
                origem = "JA2R" (melhor repetir!)
-               so = "Linux"
-               cliente = "201104" (será a versão do receitanet?)
-               dados_val = parte do cabeçalho do DEC (desce in_cert até vr_totpagamentos) bytes 112 a 750
+               so = "GNU"
+               cliente = "201105" (identificador de versão do receitanet)
+               dados_val = parte do cabeçalho do DEC (desde in_cert até vr_totpagamentos) bytes RNET_HEADER_HEAD_yyyy a RNET_HEADER_SIZE_yyyy - RNET_HEADER_TAIL_yyyy
                tam_dados_val = 0x00 0x00 0x00 0x00 (4 bytes)
-               tam_dados_val_chave = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (8 bytes)
+               tam_dados_val_chave = 0x00 0x00 0x00 0x00 (4 bytes)
                arquivos_restantes = 0x00 0x00 0x00 0x00 (4 bytes)
 S: (6 bytes) + deflate(hash)
        header: 0x01 0xII 0xII 0xOO 0xOO 0x01, II é o tamanho da entrada, OO é o tamanho da saída do deflate
@@ -51,6 +50,6 @@ S: (6 bytes) + deflate(hash)
                        chave TEXTO: "XXXX.Erro xxxxxxxx", onde XXXX é o código de erro
                        chaves *ARQ*
 C: (6 bytes) + deflate(hash)
-       header: 0x01 0xII 0xII 0xOO 0xOO 0x01, II é o tamanho da entrada, OO é o tamanho da saída do deflate
+       header: 0x01 0xII 0xII 0xOO 0xOO 0x00, II é o tamanho da entrada, OO é o tamanho da saída do deflate
        conteúdo: arquivo DEC, com apenas os registros de declaração, ou seja, excluídos os registros de recibo, removido o número de controle (últimos 10 bytes) de todos os registros
        O tamanho e o hash da mensagem anterior do cliente são o tamanho e o hash MD5 do conteúdo desta transmissão