|
|
1.1 root 1: .\" Copyright (c) 1990 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted
5: .\" provided that: (1) source distributions retain this entire copyright
6: .\" notice and comment, and (2) distributions including binaries display
7: .\" the following acknowledgement: ``This product includes software
8: .\" developed by the University of California, Berkeley and its contributors''
9: .\" in the documentation or other materials provided with the distribution
10: .\" and in all advertising materials mentioning features or use of this
11: .\" software. Neither the name of the University nor the names of its
12: .\" contributors may be used to endorse or promote products derived
13: .\" from this software without specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
15: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
16: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)iso.4 6.1 (Berkeley) 5/30/90
19: .\"
20: .TH ISO 4F "May 30, 1990"
21: .UC 4
22: .SH NAME
23: iso \- ISO protocol family
24: .SH SYNOPSIS
25: .B #include <sys/types.h>
26: .br
27: .B #include <netiso/iso.h>
28: .SH DESCRIPTION
29: The ISO protocol family is a collection of protocols
30: that uses the ISO address format.
31: The ISO family provides protocol support for the
32: SOCK_SEQPACKET abstraction through the TP protocol (ISO 8073),
33: for the SOCK_DGRAM abstraction through the connectionless transport
34: protocol (ISO 8602),
35: and for the SOCK_RAW abstraction
36: by providing direct access (for debugging) to the
37: CLNP (ISO 8473) network layer protocol.
38: .SH ADDRESSING
39: ISO addresses are based upon ISO 8348/AD2,
40: "Addendum to the Network Service Definition Covering Network Layer Addressing."
41: .PP
42: Sockets bound to the OSI protocol family use
43: the following address structure:
44: .sp 1
45: .nf
46: ._f
47: struct iso_addr {
48: u_char isoa_len; /* length, not including this byte */
49: char isoa_genaddr[20]; /* general opaque address */
50: };
51:
52: struct sockaddr_iso {
53: u_char siso_len; /* size of this sockaddr */
54: u_char siso_family; /* addressing domain, AF_ISO */
55: u_char siso_plen; /* presentation selector length */
56: u_char siso_slen; /* session selector length */
57: u_char siso_tlen; /* transport selector length */
58: struct iso_addr siso_addr; /* network address */
59: u_char siso_pad[6]; /* space for gosip v2 SELs */
60: };
61: #define siso_nlen siso_addr.isoa_len
62: #define siso_data siso_addr.isoa_genaddr
63: .sp 1
64: .fi
65: .PP
66: The fields of this structure are:
67: .TP 10
68: \fIsiso_len:\fR
69: Length of the entire address structure, in bytes, which may grow to
70: be longer than the 32 bytes show above.
71: .TP 10
72: \fIsiso_family:\fR
73: Identifies the domain: AF_ISO.
74: .TP 10
75: \fIsiso_tlen:\fR
76: Length of the transport selector.
77: .TP 10
78: \fIsiso_slen:\fR
79: Length of the session selector.
80: This is not currently supported by the kernel and is provided as
81: a convenience for user level programs.
82: .TP 10
83: \fIsiso_plen:\fR
84: Length of the presentation selector.
85: This is not currently supported by the kernel and is provided as
86: a convenience for user level programs.
87: .TP 10
88: \fIsiso_addr:\fR
89: The network part of the address, described below.
90: .SS TRANSPORT ADDRESSING
91: .PP
92: An ISO transport address is similar to an Internet address in that
93: it contains a network-address portion and a portion that the
94: transport layer uses to multiplex its services among clients.
95: In the Internet domain, this portion of the address is called a \fIport\fR.
96: In the ISO domain, this is called a \fItransport selector\fR
97: (also known at one time as a \fItransport suffix\fR).
98: While ports are always 16 bits,
99: transport selectors may be
100: of (almost) arbitrary size.
101: .PP
102: Since the C language does not provide conveninent variable
103: length structures, we have separated the selector lengths
104: from the data themselves.
105: The network address and various selectors are stored contiguously,
106: with the network address first, then the transport selector, and so
107: on. Thus, if you had a nework address of less then 20 bytes,
108: the transport selector would encroach on space normally reserved
109: for the network address.
110: .PP
111: .SS NETWORK ADDRESSING.
112: ISO network addresses are limited to 20 bytes in length.
113: ISO network addresses can take any format.
114: .SH PROTOCOLS
115: The ARGO 1.0 implementation of the
116: ISO protocol family comprises
117: the Connectionless-Mode Network Protocol (CLNP),
118: and the Transport Protocol (TP), classes 4 and 0,
119: and X.25.
120: TP is used to support the SOCK_SEQPACKET
121: abstraction.
122: A raw interface to CLNP is available
123: by creating an ISO socket of type SOCK_RAW.
124: This is used for CLNP debugging only.
125: .SH SEE ALSO
126: tp(4), clnp(4), cltp(4)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.