NS(4F) NS(4F) NAME ns - Xerox Network Systems(tm) protocol family SYNOPSIS options NS options NSIP pseudo-device ns DESCRIPTION The NS protocol family is a collection of protocols layered atop the _I_n_t_e_r_n_e_t _D_a_t_a_g_r_a_m _P_r_o_t_o_c_o_l (IDP) transport layer, and using the Xerox NS address formats. The NS family provides protocol support for the SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET, and SOCK_RAW socket types; the SOCK_RAW interface is a debugging tool, allowing you to trace all pack‐ ets entering, (or with toggling kernel variable, additionally leaving) the local host. ADDRESSING NS addresses are 12 byte quantities, consisting of a 4 byte Network number, a 6 byte Host number and a 2 byte port number, all stored in network standard format. (on the VAX these are word and byte reversed; on the Sun they are not reversed). The include file <_n_e_t_n_s_/_n_s_._h> defines the NS address as a structure containing unions (for quicker comparisons). Sockets in the Internet protocol family use the following addressing structure: struct sockaddr_ns { short sns_family; struct ns_addr sns_addr; char sns_zero[2]; }; where an ns_addr is composed as follows: union ns_host { u_char c_host[6]; u_short s_host[3]; }; union ns_net { u_char c_net[4]; u_short s_net[2]; }; struct ns_addr { union ns_net x_net; union ns_host x_host; u_short x_port; }; Sockets may be created with an address of all zeroes to effect ‘‘wild‐ card’’ matching on incoming messages. The local port address specified in a _b_i_n_d(2) call is restricted to be greater than NSPORT_RESERVED (=3000, in ) unless the creating process is running as the super-user, providing a space of protected port numbers. PROTOCOLS The NS protocol family supported by the operating system is comprised of the Internet Datagram Protocol (IDP) _i_d_p(4P), Error Protocol (avail‐ able through IDP), and Sequenced Packet Protocol (SPP) _s_p_p(4P). SPP is used to support the SOCK_STREAM and SOCK_SEQPACKET abstraction, while IDP is used to support the SOCK_DGRAM abstraction. The Error protocol is responded to by the kernel to handle and report errors in protocol processing; it is, however, only accessible to user programs through heroic actions. SEE ALSO intro(3), byteorder(3N), gethostbyname(3N), getnetent(3N), getpro‐ toent(3N), getservent(3N), ns(3N), intro(4N), spp(4P), idp(4P), nsip(4) Internet Transport Protocols, Xerox Corporation document XSIS-028112 An Advanced 4.3BSD Interprocess Communication Tutorial 4.3 Berkeley Distribution July 30, 1985 NS(4F)