Provided by:
manpages-pt-dev_20040726-4_all 
NOME
res_init, res_query, res_search, res_querydomain, res_mkquery,
res_send, dn_comp, dn_expand - rotinas resolvedoras
SINOPSE
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
extern struct state _res;
int res_init(void);
int res_query(const char *dname, int class, int type,
unsigned char *answer, int anslen);
int res_search(const char *dname, int class, int type,
unsigned char *answer, int anslen);
int res_querydomain(const char *name, const char *domain,
int class, int type, unsigned char *answer,
int anslen);
int res_mkquery(int op, const char *dname, int class,
int type, char *data, int datalen, struct rrec *newrr,
char *buf, int buflen);
int res_send(const char *msg, int msglen, char *answer,
int anslen);
int dn_comp(unsigned char *exp_dn, unsigned char *comp_dn,
int length, unsigned char **dnptrs, unsigned char *exp_dn,
unsigned char **lastdnptr);
int dn_expand(unsigned char *msg, unsigned char *eomorig,
unsigned char *comp_dn, unsigned char *exp_dn,
int length);
DESCRI,C~AO
Estas funcoes fazem pesquisas e interpretam as respostas de servidores
de nomes de dominio da Internet.
A funcao res_init() le os arquivos de configuracao (veja resolv+(8))
para obter o nome de dominio padrao, a ordem de buscas e o(s)
endereco(s) do(s) servidor(es) de nome. Se nenhum servidor e dado, o
host local e tentado. Se nenhum dominio e dado, e usado aquele dominio
associado ao host local. Ele pode ser sobreposto pela variavel de
ambiente LOCALDOMAIN. res_init() e executado normalmente pela primeira
chamada a uma das outras funcoes.
A funcao res_query() pesquisa o servidor de nome para o nome de dominio
totalmente qualificado name do tipo e da classe especificada. O que for
retornado e deixado no buffer answer de comprimento anslen fornecido
pelo chamador.
A funcao res_search() faz uma pesquisa e espera pela resposta como
res_query(), mas alem disso implementa as regras padrao e de busca
controladas por RES_DEFNAMES e RES_DNSRCH (veja a descricao das opcoes
_res abaixo).
A funcao res_querydomain() faz uma pesquisa usando res_query() sobre a
conecatenacao de nome e dom'inio.
As seguintes funcoes sao rotinas de nivel mais baixo, usadas por
res_query().
A funcao res_mkquery() constroi uma mensagem de pesquisa em buf de
comprimento buflen para o nome de dominio dname. O tipo de pesquisa op
e geralmente QUERY, mas pode ser qualquer um dos tipos definidos em
<arpa/nameser.h>. newrr nao e usado correntemente.
A funcao res_send() envia uma pesquisa pre-formatada dada em msg de
comprimento msglen e retorna a resposta em answer que tem comprimento
anslen. Ela chamara a funcao res_init(), se ela ja nao tiver sido
chamada.
A funcao dn_comp() comprime o nome de dominio exp_dn e o armazena no
buffer comp_dn de comprimento length. A compressao usa uma matriz de
ponteiros dnptrs para nomes previamente comprimidos na mensagem
corrente. O primeiro ponteiro aponta para o inicio da mensagem, e a
lista termina com NULL. O limite da matriz e especificada por
lastdnptr. Se dnptr e NULL, os nomes de dominio nao sao comprimidos. Se
lastdnptr e NULL, a lista de titulos nao e atualizada.
A funcao dn_expand() expande o nome de dominio comprimido comp_dn para
um nome de dominio completo, que e colocado no buffer exp_dn de tamanho
length. O nome comprimido esta contido em uma pesquisa ou mensagem de
resposta, e msg aponta para o inicio da mensagem.
As rotinas de resolucao usam configuracoes globais e informacoes de
estado contidas na estrutura _res, que esta definida em <resolv.h>. O
unico campo que normalmente e manipulado pelo usuario e _res.options.
Este campo pode conter um 'OU' bit-a-bit das seguintes opcoes:
RES_INIT
Verdadeiro se res_init() foi chamado.
RES_DEBUG
Imprime mensagens de eliminacao de erros.
RES_AAONLY
Aceita somente respostas autoritativas. res_send() continua ate
encontrar uma resposta autoritativas ou retorna um erro. [Nao
implementado correntemente].
RES_USEVC
Usa conexoes TCP para pesquisas em vez de datagramas UDP.
RES_PRIMARY
Somente servidor primario de nome de dominio de pesquisa.
RES_IGNTC
Ignora erros de truncamento. Nao tenta novamente com TCP. [Nao
implementado correntemente].
RES_RECURSE
Seta o bit de recursao desejado em pesquisas. A recursao e
realizada pelo servidor de nome de dominio, e nao por
res_send(). [Habilitado por padrao].
RES_DEFNAMES
Se setado, res_search() acrescentara o nome de dominio padrao a
nomes de componentes simples, isto e, aqueles que nao contem um
ponto. [Habilitado por padrao].
RES_STAYOPEN
Usado com RES_USEVC para manter a conexao TCP aberta entre
pesquisas.
RES_DNSRCH
Se setado, res_search() buscara nomes de hosts no dominio
corrente e em dominios pais. Esta opcao e usada por
gethostbyname(3). [Habilitado por padrao].
VALOR DE RETORNO
A funcao res_init() retorna 0 em caso de sucesso, ou -1 se ocorrer um
erro.
As funcoes res_query(), res_search(), res_querydomain(), res_mkquery()
e res_send() retornam o comprimento da resposta, ou -1 se ocorre um
erro.
The dn_comp() and dn_expand() functions return the length of the
compressed name, or -1 if an error occurs.
FILES
/etc/resolv.conf arquivo de configuracao do resolvedor
/etc/host.conf arquivo de configuracao do resolvedor
CONFORME
BSD 4.3
VEJA TAMB'EM
gethostbyname(3), hostname(7), named(8), resolv+(8)
TRADUZIDO PELO LDP-BR EM dd/MM/AAAA
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traducao) XXXXXX XX
XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisao)