*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> resolver (3c)              
Title
Content
Arch
Section
 

Contents


res_query(3N)							 res_query(3N)


NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

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

     int res_query (const char *dname, int class, int type,
		     u_char *answer, int anslen);

     int res_search (const char	*dname,	int class, int type,
		     u_char *answer, int anslen);

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

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

     int res_init (void);

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

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

DESCRIPTION    [Toc]    [Back]

     These routines are	used for making, sending, and interpreting query and
     reply messages with Internet domain name servers.

     Global configuration and state information	that is	used by	the resolver
     routines is kept in the structure _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 as	a
     simple bit	mask containing	the bitwise ``or'' of the options enabled.

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

     RES_DEBUG	    Print debugging messages.

     RES_AAONLY	    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
		    implemented.






									Page 1






res_query(3N)							 res_query(3N)



     RES_USEVC	    Use	TCP connections	for queries instead of UDP datagrams.

     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;	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   If set, res_search appends the default domain name to
		    single-component names (those that do not contain a	dot).
		    This option	is enabled by default.

     RES_DNSRCH	    If this option is set, res_search searches for hostnames
		    in the current domain and in parent	domains; see
		    hostname(5).  This is used by the standard host lookup
		    routine gethostbyname(3N).	This option is enabled by
		    default.

     The res_init routine reads	the configuration file (if any;	see
     resolver(4)) to get the default domain name, search list and the Internet
     address of	the local name server(s).  If no server	is configured, the
     host running the resolver is tried.  The current domain name is defined
     by	the hostname if	not specified in the configuration file; it can	be
     overridden	by the environment variable LOCALDOMAIN.  Initialization
     normally occurs on	the first call to one of the following routines.

     The res_query function provides an	interface to the server	query
     mechanism.	 It constructs a query,	sends it to the	local server, awaits a
     response, and makes preliminary checks on the reply.  The query requests
     information of the	specified type and class for the specified fullyqualified
 domain name dname.  The reply message is	left in	the answer
     buffer with length	anslen supplied	by the caller.

     The res_search routine makes a query and awaits a response	like
     res_query,	but in addition, it implements the default and search rules
     controlled	by the RES_DEFNAMES and	RES_DNSRCH options.  It	returns	the
     first successful reply.

     The remaining routines are	lower-level routines used by res_query.	 The
     res_mkquery function constructs a standard	query message and places it in
     buf.  It returns the size of the query, or	-1 if the query	is larger than
     buflen.  The query	type op	is usually QUERY, but can be any of the	query
     types defined in <arpa/nameser.h>.	 The domain name for the query is
     given by dname.  newrr is currently unused	but is intended	for making
     update messages.




									Page 2






res_query(3N)							 res_query(3N)



     The res_send routine sends	a preformatted query and returns an answer.
     It	calls res_init if RES_INIT is not set, sends the query to the local
     name server, and handles timeouts and retries.  The length	of the reply
     message is	returned, or -1	if there were errors.

     The dn_comp function 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.  The size of the array pointed to by comp_dn is given by length.
     The compression uses an array of pointers dnptrs to previously-compressed
     names in the current message.  The	first pointer points to	the beginning
     of	the message and	the list ends with NULL.  The limit to the array is
     specified by lastdnptr.  A	side effect of dn_comp is to update the	list
     of	pointers for labels inserted into the message as the name is
     compressed.  If dnptr is NULL, names are not compressed.  If lastdnptr is
     NULL, the list of labels is not updated.

     The dn_expand entry expands the compressed	domain name comp_dn to a full
     domain name The compressed	name is	contained in a query or	reply message;
     msg is a pointer to the beginning of the message.	The uncompressed name
     is	placed in the buffer indicated by exp_dn, which	is of size length.
     The size of compressed name is returned or	-1 if there was	an error.

FILES    [Toc]    [Back]

     /etc/resolv.conf	 see resolver(4)

SEE ALSO    [Toc]    [Back]

      
      
     named(1M),	gethostbyname(3N), resolver(4),	hostname(5).

     RFC1032, RFC1033, RFC1034,	RFC1035, RFC974

     IRIX Admin: Networking and	Mail


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
resolv.conf OpenBSD resolver configuration file
resolv.conf HP-UX resolver configuration file
resolver OpenBSD resolver configuration file
res_send_setqhook IRIX interface to resolver hooks
resolver HP-UX resolver configuration file
res_isourserver IRIX resolver query utilities
resolv.conf Tru64 Resolver configuration file
resolver Tru64 resolver configuration file
resolv.conf FreeBSD resolver configuration file
host.conf Linux resolver configuration file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service