4.4BSD/usr/share/man/cat3/ns_addr.0

Compare this file to the similar file:
Show the results in this format:

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

NNAAMMEE
     nnss__aaddddrr, nnss__nnttooaa - Xerox NS(tm) address conversion routines

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<ssyyss//ttyyppeess..hh>>
     ##iinncclluuddee <<nneettnnss//nnss..hh>>

     _s_t_r_u_c_t _n_s___a_d_d_r
     nnss__aaddddrr(_c_h_a_r _*_c_p);

     _c_h_a_r _*
     nnss__nnttooaa(_s_t_r_u_c_t _n_s___a_d_d_r _n_s);

DDEESSCCRRIIPPTTIIOONN
     The routine nnss__aaddddrr() interprets character strings representing XNS ad-
     dresses, returning binary information suitable for use in system calls.
     The routine nnss__nnttooaa() 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 nnss__aaddddrr().  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 nnss__aaddddrr() 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.

RREETTUURRNN VVAALLUUEESS
     None. (See _B_U_G_S.)

SSEEEE AALLSSOO
     hosts(5),  networks(5),

HHIISSTTOORRYY
     The nnss__aaddddrr() and nnss__ttooaa() functions appeared in 4.3BSD.

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

4.3 Berkeley Distribution        June 4, 1993                                1