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