Annotation of 43BSDReno/lib/libc/net/ns.3, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1986 The Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted provided
                      5: .\" that: (1) source distributions retain this entire copyright notice and
                      6: .\" comment, and (2) distributions including binaries display the following
                      7: .\" acknowledgement:  ``This product includes software developed by the
                      8: .\" University of California, Berkeley and its contributors'' in the
                      9: .\" documentation or other materials provided with the distribution and in
                     10: .\" all advertising materials mentioning features or use of this software.
                     11: .\" Neither the name of the University nor the names of its contributors may
                     12: .\" be used to endorse or promote products derived from this software without
                     13: .\" specific prior written permission.
                     14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     17: .\"
                     18: .\"    @(#)ns.3        6.4 (Berkeley) 6/23/90
                     19: .\"
                     20: .TH NS 3 "June 23, 1990"
                     21: .UC 6
                     22: .SH NAME
                     23: ns_addr, ns_ntoa \- Xerox NS(tm)  address conversion routines
                     24: .SH SYNOPSIS
                     25: .nf
                     26: .B "#include <sys/types.h>
                     27: .B "#include <netns/ns.h>
                     28: .PP
                     29: .B "struct ns_addr ns_addr(cp)
                     30: .B "char *cp;
                     31: .PP
                     32: .B "char *ns_ntoa(ns)
                     33: .B "struct ns_addr ns;
                     34: .fi
                     35: .SH DESCRIPTION
                     36: The routine
                     37: .I ns_addr
                     38: interprets character strings representing
                     39: XNS addresses, returning binary information suitable
                     40: for use in system calls.
                     41: .I ns_ntoa
                     42: takes XNS addresses and returns ASCII
                     43: strings representing the address in a
                     44: notation in common use in the Xerox Development Environment:
                     45: .nf
                     46:        <network number>.<host number>.<port number>
                     47: .fi
                     48: Trailing zero fields are suppressed, and each number is printed in hexadecimal,
                     49: in a format suitable for input to 
                     50: .IR ns_addr .
                     51: Any fields lacking super-decimal digits will have a
                     52: trailing ``H'' appended.
                     53: .PP
                     54: Unfortunately, no universal standard exists for representing XNS addresses.
                     55: An effort has been made to insure that
                     56: .I ns_addr
                     57: be compatible with most formats in common use.
                     58: It will first separate an address into 1 to 3 fields using a single delimiter
                     59: chosen from
                     60: period (``.''),
                     61: colon (``:'') or pound-sign (``#'').
                     62: Each field is then examined for byte separators (colon or period).
                     63: If there are byte separators, each subfield separated is taken to be
                     64: a small hexadecimal number, and the entirety is taken as a network-byte-ordered
                     65: quantity to be zero extended in the high-network-order bytes.
                     66: Next, the field is inspected for hyphens, in which case
                     67: the field is assumed to be a number in decimal notation
                     68: with hyphens separating the millenia.
                     69: Next, the field is assumed to be a number:
                     70: It is interpreted
                     71: as hexadecimal if there is a leading ``0x'' (as in C),
                     72: a trailing ``H'' (as in Mesa), or there are any super-decimal digits present.
                     73: It is interpreted as octal is there is a leading ``0''
                     74: and there are no super-octal digits.
                     75: Otherwise, it is converted as a decimal number.
                     76: .SH "SEE ALSO"
                     77: hosts(5), networks(5),
                     78: .SH DIAGNOSTICS
                     79: None (see BUGS).
                     80: .SH BUGS
                     81: The string returned by
                     82: .I ns_ntoa
                     83: resides in a static memory area.
                     84: .br
                     85: .I ns_addr
                     86: should diagnose improperly formed input, and there should be an unambiguous
                     87: way to recognize this.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.