Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       res_init,   res_query,   res_search,   res_querydomain,  res_mkquery,  res_send,  dn_comp,
       dn_expand - Resolver-Routinen

ÜBERSICHT

       #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 **lastdnptr);

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

       Linken Sie mit der Option -lresolv.

BESCHREIBUNG

       Diese Funktionen stellen Anfragen an Internet Domain  Nameserver  und  interpretieren  die
       Rückmeldungen.

       Die  Funktion  res_init()  liest  die Konfigurationsdateien (siehe resolv.conf(5)), um den
       vorgegebenen Domainnamen, die Suchreihenfolge und Nameserveradresse(n) zu  erhalten.  Wenn
       kein  Server  angegeben  ist,  wird der lokale Host verwendet. Wenn keine Domain angegeben
       ist, wird diejenige benutzt, die dem lokalen  Host  zugeordnet  ist.  Dies  kann  mit  der
       Umgebungsvariablen  LOCALDOMAIN  überschrieben werden. res_init() wird normalerweise durch
       den ersten Aufruf von einer der anderen Funktionen ausgeführt.

       Die Funktion res_query() fragt den Nameserver nach dem vollständigen Domain-Namen name des
       spezifizierten  Typs type und der Klasse class. Die Antwort verbleibt im Puffer answer der
       Länge anslen, der vom Aufrufenden bereitgestellt wurde.

       Die Funktion res_search() stellt eine Anfrage und wartet wie res_query() auf die  Antwort,
       implementiert  jedoch  zusätzlich die Vorgabe- und Such-Regeln, die durch RES_DEFNAMES und
       RES_DNSRCH gesteuert werden (siehe im Folgenden die Beschreibung der _res-Optionen).

       Die Funktion res_querydomain() macht mittels res_query() eine Anfrage auf  die  Verkettung
       von name und domain.

       Die folgenden Funktionen sind Routinen tieferer Ebene, die von res_query() benutzt werden.

       Die Funktion res_mkquery() konstruiert eine Anfragenachricht für den Domain-Namen dname in
       buf der Länge buflen. Der Anfragetyp op ist gewöhnlich  QUERY,  kann  aber  jeder  der  in
       <arpa/nameser.h> definierten Typen sein. newrr wird momentan nicht benutzt.

       Die Funktion res_send() sendet eine vorformatierte Anfrage, die in msg gegeben ist und die
       Länge msglen hat und gibt die Antwort in answer zurück, die die Länge anslen hat. Sie ruft
       res_init() auf, falls sie noch nicht aufgerufen wurde.

       Die Funktion dn_comp() komprimiert den Domain-Namen exp_dn und speichert ihn in dem Puffer
       comp_dn der Länge length. Die Komprimierung  benutzt  ein  Feld  von  Zeigern  dnptrs  auf
       bereits  komprimierte  Namen  in  der  aktuellen Nachricht. Der erste Zeiger zeigt auf den
       Anfang der Nachricht und die Liste endet mit NULL. Die Grenze  des  Feldes  ist  angegeben
       durch  lastdnptr.  Wenn  dnptr  NULL  ist,  dann sind Domain-Namen nicht komprimiert. Wenn
       lastdnptr NULL ist, dann wird die Liste der Namen nicht aktualisiert.

       Die Funktion dn_expand() expandiert den komprimierten Domain-Namen comp_dn zu einem vollen
       Domain-Namen,   welcher  in  dem  Puffer  exp_dn  der  Größe  length  platziert  ist.  Der
       komprimierte Name ist in einer Anfrage- oder Antwortnachricht enthalten und msg zeigt  auf
       den Anfang der Nachricht.

       Die Resolver-Routinen benutzen globale Konfigurations- und Statusinformationen, die in der
       Struktur _res enthalten sind, welche in <resolv.h> definiert ist. Das  einzige  Feld,  das
       normalerweise  vom  Benutzer manipuliert wird, ist _res.options. Dieses Feld kann bitweise
       Oder-Verknüpfungen der folgenden Optionen enthalten:

       RES_INIT
              Wahr, falls res_init() aufgerufen wurde.

       RES_DEBUG
              Print debugging messages. This option is available only if  glibc  was  built  with
              debugging enabled, which is not the default.

       RES_AAONLY
              Akzeptiere   nur  autoritative  Antworten.  res_send()  fährt  fort,  bis  es  eine
              autoritative  Antwort  findet  oder  gibt  einen   Fehler   zurück.   [Noch   nicht
              implementiert.]

       RES_USEVC
              TCP-Verbindungen statt UDP-Datagramme für Anfragen benutzen.

       RES_PRIMARY
              Nur primäre Domainnameserver abfragen.

       RES_IGNTC
              Ignoriere  Fehler  bei  verstümmelten  Antworten. Versuche es nicht erneut mit TCP.
              [Noch nicht implementiert.]

       RES_RECURSE
              Setze das Rekursionswunsch-Bit in Anfragen. Rekursion wird von dem Domainnameserver
              ausgeführt, nicht von res_send(). [Standardmäßig eingeschaltet]

       RES_DEFNAMES
              Falls  gesetzt  fügt  res_search() den Vorgabedomainnamen an Einzelkomponentennamen
              an, d.h. an solchen, die keinen Punkt enthalten. [Standardmäßig eingeschaltet]

       RES_STAYOPEN
              Benutzt mit RES_USEVC um die TCP-Verbindung zwischen Anfragen geöffnet zu halten.

       RES_DNSRCH
              Falls  gesetzt,  sucht  res_search()  nach  Hostnamen  in  der  aktuellen  und   in
              übergeordneten   Domains.   Diese   Option   wird   von  gethostbyname(3)  benutzt.
              [Eingeschaltet durch Vorgabe.]

       Diese Liste ist unvollständig. Sie finden die Beschreibung einiger  weiterer  Schalter  in
       resolv.conf(5).

RÜCKGABEWERT

       Die Funktion res_init() gibt 0 bei Erfolg zurück oder -1, falls ein Fehler auftritt.

       Die  Funktionen res_query(), res_search(), res_querydomain(), res_mkquery() und res_send()
       geben die Länge der Antwort zurück oder -1, falls ein Fehler auftritt.

       Die Funktionen dn_comp() und dn_expand() geben die Länge des komprimierten  Namens  zurück
       oder -1, falls ein Fehler auftritt.

DATEIEN

       /etc/resolv.conf          Resolver-Konfigurationsdatei
       /etc/host.conf            Resolver-Konfigurationsdatei

KONFORM ZU

       4.3BSD.

SIEHE AUCH

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

KOLOPHON

       This  page  is  part  of release 3.54 of the Linux man-pages project. A description of the
       project,    and    information    about    reporting    bugs,    can    be    found     at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die   deutsche   Übersetzung  dieser  Handbuchseite  wurde  von  Martin  Eberhard  Schauer
       <Martin.E.Schauer@gmx.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.