unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.4BSD-Lite2)
Page:
Section:
Apropos / Subsearch:
optional field

NS(3)                       BSD Programmer's Manual                      NS(3)

NAME
     ns_addr, ns_ntoa - Xerox NS(tm) address conversion routines

SYNOPSIS
     #include <&lt;sys/types.h>&gt;
     #include <&lt;netns/ns.h>&gt;

     struct ns_addr
     ns_addr(char *cp);

     char *
     ns_ntoa(struct ns_addr ns);

DESCRIPTION
     The routine ns_addr() interprets character strings representing XNS ad-
     dresses, returning binary information suitable for use in system calls.
     The routine ns_ntoa() takes XNS addresses and returns ASCII strings rep-
     resenting the address in a notation in common use in the Xerox Develop-
     ment Environment:

           <network number>.<host number>.<port number>

     Trailing zero fields are suppressed, and each number is printed in hex-
     adecimal, in a format suitable for input to ns_addr().  Any fields lack-
     ing super-decimal digits will have a trailing `H' appended.

     Unfortunately, no universal standard exists for representing XNS address-
     es.  An effort has been made to insure that ns_addr() be compatible 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 subfield 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 inter-
     preted as octal is there is a leading `0' and there are no super-octal
     digits.  Otherwise, it is converted 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.

4.3 Berkeley Distribution        June 4, 1993                                1