Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ns(3) — 386BSD 1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

hosts(5)

networks(5)

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

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

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

     struct ns_addr
     nsaddr(char *cp)

     char *
     nsntoa(struct ns_addr ns)

DESCRIPTION
     The routine nsaddr() interprets character strings representing XNS
     addresses, returning binary information suitable for use in system calls.
     The routine nsntoa() 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 nsaddr().  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 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 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
     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       April 19, 1991                               1






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