Provided by: libipx-dev_10.3~svn296373-10_amd64 bug


     ipx_addr, ipx_ntoa — IPX address conversion routines


     IPX Address Conversion Support Library (libipx, -lipx)


     #include <sys/types.h>
     #include <netipx/ipx.h>

     struct ipx_addr
     ipx_addr(const char *cp);

     char *
     ipx_ntoa(struct ipx_addr ipx);


     The routine ipx_addr() interprets character strings representing IPX addresses, returning
     binary information suitable for use in system calls.  The routine ipx_ntoa() takes IPX
     addresses and returns ASCII strings representing the address in a notation in common use:

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

     Trailing zero fields are suppressed, and each number is printed in hexadecimal, in a format
     suitable for input to ipx_addr().  Any fields lacking super-decimal digits will have a
     trailing ‘H’ appended.

     An effort has been made to ensure that ipx_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 millennia.  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 if there
     is a leading ‘0’ and there are no super-octal digits.  Otherwise, it is converted as a
     decimal number.


     None.  (See BUGS.)


     hosts(5), networks(5)


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


     The string returned by ipx_ntoa() resides in a static memory area.  The function ipx_addr()
     should diagnose improperly formed input, and there should be an unambiguous way to recognize