RESOLVER(3)                                                        RESOLVER(3)


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

SYNOPSIS
       #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;

       res_init()

       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;

DESCRIPTION
       These routines are used for making, sending and interpreting packets to
       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  a
       simple bit mask and are or’ed in to enable.

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

       RES_DEBUG
              Print debugging messages.

       RES_AAONLY
              Accept authoritative answers only.  Res_send will continue until
              it  finds  an authoritative answer or finds an error.  Currently
              this is not implemented.

       RES_USEVC
              Use TCP connections for queries instead of UDP.

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

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

       RES_RECURSE
              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.)

       RES_DEFNAMES
              Append  the default domain name to single label queries. This is
              the default.

       Res_init

       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  con‐
       sists  of  a  single  label  and  the RES_DEFNAMES flag is enabled (the
       default), dname will be appended with the current domain name. The cur‐
       rent  domain  name is defined in a system file and 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 compressed 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, we don’t try to compress names. If lastdnptr is NULL,
       we don’t update the list.

FILES
       /etc/resolv.conf see resolver(5)

SEE ALSO
       named(8),  resolver(5),  RFC882,  RFC883,  RFC973,  RFC974, SMM:11 Name
       Server Operations Guide for BIND


4th Berkeley Distribution      15 November 1985                    RESOLVER(3)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 772
Valid CSS Valid XHTML 1.0 Strict