eCos Reference Manual
Prev | Chapter 38. TCP/IP Library Reference | Next

# ipx

    IPX(3)                  System Library Functions Manual                 IPX(3)

    NAME
         ipx_addr, ipx_ntoa - IPX address conversion routines

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

         struct ipx_addr
         ipx_addr(const char *cp);

         char *
         ipx_ntoa(struct ipx_addr ipx);

    DESCRIPTION
         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 rep-
         resenting 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 hex-
         adecimal, in a format suitable for input to ipx_addr().  Any fields lack-
         ing 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 separat-
         ing 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 trail-
         ing `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 converted as a decimal number.

    RETURN VALUES
         None.  (See BUGS.)

    SEE ALSO
         ns(4), hosts(5), networks(5)

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

    BUGS
         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 this.

    BSD                              June 4, 1993                              BSD

Prev | Home | Next
inet_net | Up | iso_addr