Correct some rather embarrassing misspellings in the man pages.
[unix-history] / share / man / man4 / iso.4
CommitLineData
15637ed4
RG
1.\" Copyright (c) 1990, 1991 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\" must display the following acknowledgement:
14.\" This product includes software developed by the University of
15.\" California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\" may be used to endorse or promote products derived from this software
18.\" without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\" @(#)iso.4 6.2 (Berkeley) 3/28/91
33.\"
34.Dd March 28, 1991
35.Dt ISO 4
36.Os
37.Sh NAME
38.Nm iso
39.Nd
40.Tn ISO
41protocol family
42.Sh SYNOPSIS
43.Fd #include <sys/types.h>
44.Fd #include <netiso/iso.h>
45.Sh DESCRIPTION
46The
47.Tn ISO
48protocol family is a collection of protocols
49that uses the
50.Tn ISO
51address format.
52The
53.Tn ISO
54family provides protocol support for the
55.Dv SOCK_SEQPACKET
56abstraction through the
57.Tn TP
58protocol
59.Pf ( Tn ISO
608073),
61for the
62.Dv SOCK_DGRAM
63abstraction through the connectionless transport
64protocol
65.Pf ( Tn ISO
668602),
67and for the
68.Dv SOCK_RAW
69abstraction
70by providing direct access (for debugging) to the
71.Tn CLNP
72.Pf ( Tn ISO
738473) network layer protocol.
74.Sh ADDRESSING
75.Tn ISO
76addresses are based upon
77.Tn ISO
788348/AD2,
79.%T "Addendum to the Network Service Definition Covering Network Layer Addressing."
80.Pp
81Sockets bound to the OSI protocol family use
82the following address structure:
83.Bd -literal
84struct iso_addr {
85 u_char isoa_len; /* length, not including this byte */
86 char isoa_genaddr[20]; /* general opaque address */
87};
88
89struct sockaddr_iso {
90 u_char siso_len; /* size of this sockaddr */
91 u_char siso_family; /* addressing domain, AF_ISO */
92 u_char siso_plen; /* presentation selector length */
93 u_char siso_slen; /* session selector length */
94 u_char siso_tlen; /* transport selector length */
95 struct iso_addr siso_addr; /* network address */
96 u_char siso_pad[6]; /* space for gosip v2 SELs */
97};
98#define siso_nlen siso_addr.isoa_len
99#define siso_data siso_addr.isoa_genaddr
100.Ed
101.Pp
102The fields of this structure are:
103.Bl -tag -width Ds
104.It Ar siso_len:
105Length of the entire address structure, in bytes, which may grow to
106be longer than the 32 bytes show above.
107.It Ar siso_family:
108Identifies the domain:
109.Dv AF_ISO .
110.It Ar siso_tlen:
111Length of the transport selector.
112.It Ar siso_slen:
113Length of the session selector.
114This is not currently supported by the kernel and is provided as
115a convenience for user level programs.
116.It Ar siso_plen:
117Length of the presentation selector.
118This is not currently supported by the kernel and is provided as
119a convenience for user level programs.
120.It Ar siso_addr:
121The network part of the address, described below.
122.El
123.Sh TRANSPORT ADDRESSING
124.Pp
125An
126.Tn ISO
127transport address is similar to an Internet address in that
128it contains a network-address portion and a portion that the
129transport layer uses to multiplex its services among clients.
130In the Internet domain, this portion of the address is called a
131.Em port .
132In the
133.Tn ISO
134domain, this is called a
135.Em transport selector
136(also known at one time as a
137.Em transport suffix ) .
138While ports are always 16 bits,
139transport selectors may be
140of (almost) arbitrary size.
141.Pp
142Since the C language does not provide conveninent variable
143length structures, we have separated the selector lengths
144from the data themselves.
145The network address and various selectors are stored contiguously,
146with the network address first, then the transport selector, and so
147on. Thus, if you had a nework address of less then 20 bytes,
148the transport selector would encroach on space normally reserved
149for the network address.
150.Pp
151.Sh NETWORK ADDRESSING.
152.Tn ISO
153network addresses are limited to 20 bytes in length.
154.Tn ISO
155network addresses can take any format.
156.Sh PROTOCOLS
157The
158.Tn ARGO
1591.0 implementation of the
160.Tn ISO
161protocol family comprises
162the Connectionless-Mode Network Protocol
163.Pq Tn CLNP ,
164and the Transport Protocol
165.Pq Tn TP ,
166classes 4 and 0,
167and
168.Tn X.25 .
169.Tn TP
170is used to support the
171.Dv SOCK_SEQPACKET
172abstraction.
173A raw interface to
174.Tn CLNP
175is available
176by creating an
177.Tn ISO
178socket of type
179.Dv SOCK_RAW .
180This is used for
181.Tn CLNP
182debugging only.
183.Sh SEE ALSO
184.Xr tp 4 ,
185.Xr clnp 4 ,
186.Xr cltp 4
187.Sh HISTORY
188The
189.Nm
190protocol family implementation
191.Ud