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> ».