Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
NS(3)                     OpenBSD Programmer's Manual                    NS(3)

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

     #include <sys/types.h>
     #include <netns/ns.h>

     struct ns_addr
     ns_addr(char *cp);

     char *
     ns_ntoa(struct ns_addr ns);

     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 ensure 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-or-
     der bytes.  Next, the field is inspected for hyphens, in which case the
     field is assumed to be a number in decimal notation with hyphens separat-
     ing the millenia.  Next, the field is assumed to be a number: It is in-
     terpreted 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 if there is a leading `0' and there are no super-oc-
     tal digits.  Otherwise, it is converted as a decimal number.

     None.  (See BUGS.)

     hosts(5), networks(5)

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

     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.

OpenBSD 3.4                      June 4, 1993                                1


Want to link to this manual page? Use this URL:

home | help