Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ns_ntoa(3) — BSD/386 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

hosts(5)

networks(5)

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

NAME
     nsaddr, nsntoa - Xerox NS(tm) address conversion routines

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

     struct nsaddr
     nsaddr(char *cp)

     char *
     nsntoa(struct nsaddr ns)

DESCRIPTION
     The routine nsaddr() interprets character strings representing XNS ad-
     dresses, returning binary information suitable for use in system calls.
     The routine nsntoa() 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 nsaddr().  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 nsaddr() 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 nsaddr() and nstoa() functions appeared in 4.3BSD.

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

4.3 Berkeley Distribution       March 26, 1993                               1







Typewritten Software • bear@typewritten.org • Edmonds, WA 98026