Resolver – Comtrol eCos User Manual
Page 551

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