BSD 2.11 - man page for resolver (bsd section 3)

Linux & Unix Commands - Search Man Pages

Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

RESOLVER(3)									      RESOLVER(3)

       res_mkquery, res_send, res_init, dn_comp, dn_expand - resolver routines

       #include <sys/types.h>
       #include <netinet/in.h>
       #include <arpa/nameser.h>
       #include <resolv.h>

       res_mkquery(op, dname, class, type, data, datalen, newrr, buf, buflen)
       int op;
       char *dname;
       int class, type;
       char *data;
       int datalen;
       struct rrec *newrr;
       char *buf;
       int buflen;

       res_send(msg, msglen, answer, anslen)
       char *msg;
       int msglen;
       char *answer;
       int anslen;


       dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)
       char *exp_dn, *comp_dn;
       int length;
       char **dnptrs, **lastdnptr;

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

       These routines are used for making, sending and interpreting packets for use with Internet
       domain name servers.  Global information that is used by the resolver routines is kept  in
       the  variable  _res.   Most  of	the  values  have reasonable defaults and can be ignored.
       Options stored in _res.options are defined in resolv.h and are as  follows.   Options  are
       stored a simple bit mask containing the bitwise ``or'' of the options enabled.

	      True  if	the  initial  name server address and default domain name are initialized
	      (i.e., res_init has been called).

	      Print debugging messages.

	      Accept authoritative answers only.  With	this  option,  res_send  should  continue
	      until  it  finds	an authoritative answer or finds an error.  Currently this is not

	      Use TCP connections for queries instead of UDP datagrams.

	      Used with RES_USEVC to keep the TCP connection open between queries.  This is  use-
	      ful only in programs that regularly do many queries.  UDP should be the normal mode

	      Unused currently (ignore truncation errors, i.e., don't retry with TCP).

	      Set the recursion-desired bit in queries.  This is the default.	(  res_send  does
	      not do iterative queries and expects the name server to handle recursion.)

	      If  set,	res_mkquery will append the default domain name to single-component names
	      (those that do not contain a dot).  This is the default.

	      If this option is set, the  standard  host  lookup  routine  gethostbyname(3)  will
	      search for host names in the current domain and in parent domains; see hostname(7).


       reads  the  initialization file to get the default domain name and the Internet address of
       the initial hosts running the name server.  If this line does not exist, the host  running
       the  resolver  is tried.  Res_mkquery makes a standard query message and places it in buf.
       Res_mkquery will return the size of the query or -1 if the query is  larger  than  buflen.
       Op  is usually QUERY but can be any of the query types defined in nameser.h.  Dname is the
       domain name.  If dname consists of a single label and the  RES_DEFNAMES	flag  is  enabled
       (the default), the current domain name will be appended to dname.  The current domain name
       is defined by the hostname or is specified in a system file; it can be overridden  by  the
       environment  variable  LOCALDOMAIN.   Newrr is currently unused but is intended for making
       update messages.

       Res_send sends a query to name servers and returns an answer.  It will  call  res_init  if
       RES_INIT  is  not  set,	send  the query to the local name server, and handle timeouts and
       retries.  The length of the message is returned, or -1 if there were errors.

       Dn_expand expands the compressed domain name comp_dn to	a  full  domain  name.	 Expanded
       names  are  converted  to  upper  case.	Msg is a pointer to the beginning of the message,
       exp_dn is a pointer to a buffer of size length for the result.	The  size  of  compressed
       name is returned or -1 if there was an error.

       Dn_comp	compresses the domain name exp_dn and stores it in comp_dn.  The size of the com-
       pressed name is returned or -1 if there were errors.  length is	the  size  of  the  array
       pointed to by comp_dn.  Dnptrs is a list of pointers to previously compressed names in the
       current message.  The first pointer points to to the beginning of the message and the list
       ends with NULL.	lastdnptr is a pointer to the end of the array pointed to dnptrs.  A side
       effect is to update the list of pointers for labels inserted into the message  by  dn_comp
       as  the	name is compressed.  If dnptr is NULL, names are not compressed.  If lastdnptr is
       NULL, the list of labels is not updated.

       /etc/resolv.conf    see resolver(5)

       gethostbyname(3), named(8), resolver(5), hostname(7),
       RFC882, RFC883, RFC973, RFC974,
       SMM:11 Name Server Operations Guide for BIND

4th Berkeley Distribution		November 21, 1987			      RESOLVER(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 12:39 AM.

Unix & Linux Forums Content Copyright©1993-2018. All Rights Reserved.
Show Password

Not a Forum Member?
Forgot Password?