Provided by: manpages-pt-dev_20040726-4_all bug

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)