Resolver – Comtrol eCos User Manual

Page 551

Advertising
background image

Chapter 38. TCP/IP Library Reference

Unfortunately, no universal standard exists for representing XNS

addresses.

An effort has been made to ensure that ns_addr() be compati-

ble with most formats in common use.

It will first separate an address

into 1 to 3 fields using a single delimiter chosen from period (‘.’),

colon (‘:’), or pound-sign ‘#’.

Each field is then examined for byte

separators (colon or period).

If there are byte separators, each sub-

field separated is taken to be a small hexadecimal number, and the

entirety is taken as a network-byte-ordered quantity to be zero extended

in the high-network-order bytes.

Next, the field is inspected for

hyphens, in which case the field is assumed to be a number in decimal

notation with hyphens separating the millenia.

Next, the field is

assumed to be a number: It is interpreted as hexadecimal if there is a

leading ‘0x’ (as in C), a trailing ‘H’ (as in Mesa), or there are any

super-decimal digits present.

It is interpreted as octal is there is a

leading ‘0’ and there are no super-octal digits.

Otherwise, it is con-

verted as a decimal number.

RETURN VALUES

None.

(See BUGS.)

SEE ALSO

hosts(5), networks(5)

HISTORY

The ns_addr() and ns_toa() functions appeared in 4.3BSD.

BUGS

The string returned by ns_ntoa() resides in a static memory area.

The

function ns_addr() should diagnose improperly formed input, and there

should be an unambiguous way to recognize this.

BSD

June 4, 1993

BSD

resolver

RESOLVER(3)

System Library Functions Manual

RESOLVER(3)

NAME

res_query, res_search, 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>

int

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

int

447

Advertising