*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> ns_ntoa (3)              
Title
Content
Arch
Section
 

NS(3)

Contents


NAME    [Toc]    [Back]

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

LIBRARY    [Toc]    [Back]

     Standard C Library (libc, -lc)

SYNOPSIS    [Toc]    [Back]

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

     struct ns_addr
     ns_addr(const char *cp);

     char *
     ns_ntoa(struct ns_addr ns);

DESCRIPTION    [Toc]    [Back]

     The routine ns_addr() interprets character strings representing XNS
     addresses, returning binary information suitable for use in system calls.
     The routine ns_ntoa() takes XNS addresses and returns ASCII strings representing
 the address in a notation in common use in the Xerox Development
 Environment:

           <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 ns_addr().  Any fields lacking
 super-decimal digits will have a trailing `H' appended.

     Unfortunately, no universal standard exists for representing XNS
     addresses.  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-networkorder
 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 superoctal
 digits.  Otherwise, it is converted as a decimal number.

RETURN VALUES    [Toc]    [Back]

     None. (See BUGS.)

SEE ALSO    [Toc]    [Back]

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

HISTORY    [Toc]    [Back]

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

BUGS    [Toc]    [Back]

     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
[ Back ]
 Similar pages
Name OS Title
ipx_addr OpenBSD IPX address conversion routines
ipx OpenBSD IPX address conversion routines
ipx FreeBSD IPX address conversion routines
ipx_addr FreeBSD IPX address conversion routines
ipx_ntoa OpenBSD IPX address conversion routines
ipx_ntoa FreeBSD IPX address conversion routines
ether_ntoa FreeBSD Ethernet address conversion and lookup routines
ether_ntohost FreeBSD Ethernet address conversion and lookup routines
ethers FreeBSD Ethernet address conversion and lookup routines
ether_hostton FreeBSD Ethernet address conversion and lookup routines
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service