Comtrol eCos User Manual

Page 553

Advertising
background image

Chapter 38. TCP/IP Library Reference

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() will search for host

names in the current domain and in parent domains; see

hostname(7).

This is used by the standard host lookup

routine gethostbyname(3).

This option is enabled by

default.

RES_USE_INET6

Enables support for IPv6-only applications.

This causes

IPv4 addresses to be returned as an IPv4 mapped address.

For example, 10.1.1.1 will be returned as ::ffff:10.1.1.1.

The option is not meaningful on OpenBSD.

The res_init() routine reads the configuration file (if any; see

resolv.conf(5)) to get the default domain name, search list, and the

Internet address of the local name server(s).

If no server is config-

ured, 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.

This environ-

ment variable may contain several blank-separated tokens if you wish to

override the search list on a per-process basis.

This is similar to the

search command in the configuration file.

Another environment variable

RES_OPTIONS can be set to override certain internal resolver options

which are otherwise set by changing fields in the _res structure or are

inherited from the configuration file’s options command.

The syntax of

the RES_OPTIONS environment variable is explained in resolv.conf(5).

Initialization normally occurs on the first call to one of the following

routines.

The res_query() function provides an interface to the server query mecha-

nism.

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 fully qual-

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

The res_send() routine sends a pre-formatted query 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

reply message is returned, or -1 if there were errors.

449

Advertising