Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       resolver,  res_init,  res_query, res_search, res_querydomain, res_mkquery, res_send, dn_comp, dn_expand -
       Routines de résolution de noms

SYNOPSIS

       #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 classe, int type,
              unsigned char *answer, int anslen);

       int res_search(const char *dname, int classe, int type,
              unsigned char *answer, int anslen);

       int res_querydomain(const char *name, const char *domain,
              int classe, 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 **lastdnptr);

       int dn_expand(unsigned char *msg, unsigned char *eomorig,
              unsigned char *comp_dn, char *exp_dn,
              int length);

       Effectuez l'édition des liens avec l'option -lresolv.

DESCRIPTION

       Ces fonctions interrogent et interprètent les réponses de serveurs de noms Internet.

       La fonction res_init() lit les fichiers de configuration (consultez resolv.conf(5)) pour obtenir  le  nom
       de  domaine  par  défaut,  l'ordre de recherche et l'adresse du ou des serveurs de noms. Si aucun serveur
       n'est donné, l'hôte local est essayé. Si aucun domaine n'est donné, celui  associé  à  l'hôte  local  est
       utilisé. Cela peut être surchargé par la variable d'environnement LOCALDOMAIN. res_init() est normalement
       exécutée lors du premier appel à l'une des autres fonctions.

       La  fonction  res_query() interroge le serveur de noms pour le nom de domaine pleinement qualifié name du
       type indiqué, et de la classe donnée. La réponse est placée dans le tampon answer de longueur anslen  qui
       doit être fourni par l'appelant.

       La  fonction  res_search() interroge un serveur, et attend la réponse, comme res_query(), mais implémente
       de plus les règles de recherche et de valeurs par défaut contrôlées par RES_DEFNAMES et RES_DNSRCH  (voir
       les options de _res plus bas).

       La  fonction res_querydomain() interroge le serveur en appelant res_query() avec la concaténation de name
       et domain.

       Les fonctions suivantes sont des routines bas niveau utilisées par res_query().

       La fonction res_mkquery() construit une requête dans buf de longueur buflen concernant le nom de  domaine
       dname.  Le  type  op de requête est généralement QUERY, mais l'un des types définis dans <arpa/nameser.h>
       peut également être utilisé. newrr ne sert à rien actuellement.

       La fonction res_send() envoie une requête préformatée, située dans msg de longueur msglen et  renvoie  la
       réponse dans answer qui est de longueur anslen. Elle appelle res_init(), si ça n'a pas encore été fait.

       La  fonction dn_comp() compresse le nom de domaine exp_dn et le stocke dans le tampon comp_dn de longueur
       length. La compression utilise une table de pointeurs dnptrs vers les  noms  précédemment  compressés  du
       message  en  cours.  Le  premier  pointeur  vise le début du message, et la table se termine par NULL. La
       limite de la table est indiquée par lastdnptr. Si dnptr est NULL,  les  noms  de  domaines  ne  sont  pas
       compressés. Si lastdnptr est NULL, la liste d'étiquettes n'est pas mise à jour.

       La  fonction  dn_expand() développe le nom de domaine compressé comp_dn en un nom de domaine complet, qui
       est ensuite placé dans le tampon exp_dn de taille length. Le nom compressé est contenu dans une  requête,
       ou dans un message de réponse, et msg pointe sur le début du message.

       Les  routines  de  résolution  de  noms  utilisent  une  configuration globale et des informations d'état
       contenues dans la structure _res, définie dans <resolv.h>. Le  seul  champ  habituellement  manipulé  par
       l'utilisateur est _res.options. Il contient un OU binaire entre les options suivantes :

       RES_INIT
              Vrai si res_init() a été appelée.

       RES_DEBUG
              Afficher  les  messages de débogage. Cette option n'est disponible que si le débogage a été activé
              lors de la construction la gblic, ce qui n'est pas le cas par défaut.

       RES_AAONLY
              N'accepter que les réponses des serveurs faisant autorité. res_send() continue jusqu'à trouver  un
              serveur faisant autorité, ou renvoie une erreur. Pas encore implémenté.

       RES_USEVC
              Utiliser des connexions TCP pour les interrogations plutôt que des datagrammes UDP.

       RES_PRIMARY
              N'interroger que le serveur de domaines primaire.

       RES_IGNTC
              Ignorer les erreurs de troncature. Ne pas réessayer avec TCP [pas encore implémenté].

       RES_RECURSE
              Définir  dans les requêtes le bit de récursion. La récursion est prise en charge par le serveur de
              noms du domaine, et pas par res_send() [activé par défaut].

       RES_DEFNAMES
              res_search() ajoutera le nom de  domaine  par  défaut  aux  noms  simples,  c'est-à-dire  ceux  ne
              contenant pas de point [activé par défaut].

       RES_STAYOPEN
              Utilisée   avec  RES_USEVC  pour  garder  ouverte  une  connexion  TCP  entre  les  interrogations
              successives.

       RES_DNSRCH
              res_search() recherchera les noms d'hôtes dans le domaine courant, et dans les  domaines  parents.
              Cette option est utilisée par gethostbyname(3) [activé par défaut].

       Cette liste n'est pas exhaustive. D'autres attributs sont décrits dans resolv.conf(5).

VALEUR RENVOYÉE

       La fonction res_init() renvoie 0 si elle réussit, ou -1 si une erreur se produit.

       Les  fonctions  res_query(),  res_search(),  res_querydomain(),  res_mkquery() et res_send() renvoient la
       longueur de la réponse, ou -1 si une erreur se produit.

       Les fonctions dn_comp() et dn_expand() renvoient la longueur du nom compressé, ou -1  si  une  erreur  se
       produit.

FICHIERS

       /etc/resolv.conf   Configuration de la résolution de noms.
       /etc/host.conf     Configuration de la résolution de noms.

CONFORMITÉ

       BSD 4.3.

VOIR AUSSI

       gethostbyname(3), resolv.conf(5), resolver(5), hostname(7), named(8)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe      Blaess      <http://www.blaess.fr/christophe/>      (1996-2003),       Alain       Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Nicolas  François  et  l'équipe  francophone de traduction de
       Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org>  ou  par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».

GNU                                                5 mars 2013                                       RESOLVER(3)