macro and text revision (-mdoc version 3)
[unix-history] / usr / src / share / man / man4 / iso.4
index f64f830..f0604f6 100644 (file)
-.\" Copyright (c) 1990 The Regents of the University of California.
+.\" Copyright (c) 1990, 1991 The Regents of the University of California.
 .\" All rights reserved.
 .\"
 .\" %sccs.include.redist.man%
 .\"
 .\" All rights reserved.
 .\"
 .\" %sccs.include.redist.man%
 .\"
-.\"    @(#)iso.4       6.1 (Berkeley) %G%
+.\"     @(#)iso.4      6.2 (Berkeley) %G%
 .\"
 .\"
-.TH ISO 4F ""
-.UC  4
-.SH NAME
-iso \- ISO protocol family
-.SH SYNOPSIS
-.B #include <sys/types.h>
-.br
-.B #include <netiso/iso.h>
-.SH DESCRIPTION
-The ISO protocol family is a collection of protocols
-that uses the ISO address format.
-The ISO family provides protocol support for the
-SOCK_SEQPACKET abstraction through the TP protocol (ISO 8073), 
-for the SOCK_DGRAM abstraction through the connectionless transport
-protocol (ISO 8602),
-and for the SOCK_RAW abstraction
+.Dd 
+.Dt ISO 4
+.Os
+.Sh NAME
+.Nm iso
+.Nd
+.Tn ISO
+protocol family
+.Sh SYNOPSIS
+.Fd #include <sys/types.h>
+.Fd #include <netiso/iso.h>
+.Sh DESCRIPTION
+The
+.Tn ISO
+protocol family is a collection of protocols
+that uses the
+.Tn ISO
+address format.
+The
+.Tn ISO
+family provides protocol support for the
+.Dv SOCK_SEQPACKET
+abstraction through the
+.Tn TP
+protocol
+.Pf ( Tn ISO
+8073), 
+for the
+.Dv SOCK_DGRAM
+abstraction through the connectionless transport
+protocol
+.Pf ( Tn ISO
+8602),
+and for the
+.Dv SOCK_RAW
+abstraction
 by providing direct access (for debugging) to the
 by providing direct access (for debugging) to the
-CLNP (ISO 8473) network layer protocol.
-.SH ADDRESSING
-ISO addresses are based upon ISO 8348/AD2, 
-"Addendum to the Network Service Definition Covering Network Layer Addressing."
-.PP
+.Tn CLNP 
+.Pf ( Tn ISO
+8473) network layer protocol.
+.Sh ADDRESSING
+.Tn ISO
+addresses are based upon
+.Tn ISO
+8348/AD2, 
+.%T "Addendum to the Network Service Definition Covering Network Layer Addressing."
+.Pp
 Sockets bound to the OSI protocol family use
 the following address structure:
 Sockets bound to the OSI protocol family use
 the following address structure:
-.sp 1
-.nf
-._f
+.Bd -literal
 struct iso_addr {
 struct iso_addr {
-       u_char  isoa_len;               /* length, not including this byte */
-       char    isoa_genaddr[20];       /* general opaque address */
+     u_char    isoa_len;  /* length, not including this byte */
+     char      isoa_genaddr[20];  /* general opaque address */
 };
 
 struct sockaddr_iso {
 };
 
 struct sockaddr_iso {
-       u_char  siso_len;               /* size of this sockaddr */
-       u_char  siso_family;            /* addressing domain, AF_ISO */
-       u_char  siso_plen;              /* presentation selector length */
-       u_char  siso_slen;              /* session selector length */
-       u_char  siso_tlen;              /* transport selector length */
-       struct  iso_addr siso_addr;     /* network address */
-       u_char  siso_pad[6];            /* space for gosip v2 SELs */
+     u_char    siso_len;      /* size of this sockaddr */
+     u_char    siso_family;   /* addressing domain, AF_ISO */
+     u_char    siso_plen;     /* presentation selector length */
+     u_char    siso_slen;     /* session selector length */
+     u_char    siso_tlen;     /* transport selector length */
+     struct    iso_addr siso_addr; /* network address */
+     u_char    siso_pad[6];    /* space for gosip v2 SELs */
 };
 #define siso_nlen siso_addr.isoa_len
 #define siso_data siso_addr.isoa_genaddr
 };
 #define siso_nlen siso_addr.isoa_len
 #define siso_data siso_addr.isoa_genaddr
-.sp 1
-.fi
-.PP
+.Ed
+.Pp
 The fields of this structure are:
 The fields of this structure are:
-.TP 10
-\fIsiso_len:\fR
+.Bl -tag -width Ds
+.It Ar siso_len:
 Length of the entire address structure, in bytes, which may grow to
 be longer than the 32 bytes show above.
 Length of the entire address structure, in bytes, which may grow to
 be longer than the 32 bytes show above.
-.TP 10
-\fIsiso_family:\fR
-Identifies the domain: AF_ISO.
-.TP 10
-\fIsiso_tlen:\fR
+.It Ar siso_family:
+Identifies the domain:
+.Dv AF_ISO .
+.It Ar siso_tlen:
 Length of the transport selector.
 Length of the transport selector.
-.TP 10
-\fIsiso_slen:\fR
+.It Ar siso_slen:
 Length of the session selector.
 This is not currently supported by the kernel and is provided as
 a convenience for user level programs.
 Length of the session selector.
 This is not currently supported by the kernel and is provided as
 a convenience for user level programs.
-.TP 10
-\fIsiso_plen:\fR
+.It Ar siso_plen:
 Length of the presentation selector.
 This is not currently supported by the kernel and is provided as
 a convenience for user level programs.
 Length of the presentation selector.
 This is not currently supported by the kernel and is provided as
 a convenience for user level programs.
-.TP 10
-\fIsiso_addr:\fR
+.It Ar siso_addr:
 The network part of the address, described below.
 The network part of the address, described below.
-.SS TRANSPORT ADDRESSING
-.PP
-An ISO transport address is similar to an Internet address in that
+.El
+.Sh TRANSPORT ADDRESSING
+.Pp
+An
+.Tn ISO
+transport address is similar to an Internet address in that
 it contains a network-address portion and a portion that the
 transport layer uses to multiplex its services among clients.
 it contains a network-address portion and a portion that the
 transport layer uses to multiplex its services among clients.
-In the Internet domain, this portion of the address is called a \fIport\fR.
-In the ISO domain, this is called a \fItransport selector\fR
-(also known at one time as a \fItransport suffix\fR).
+In the Internet domain, this portion of the address is called a
+.Em port .
+In the
+.Tn ISO
+domain, this is called a
+.Em transport selector
+(also known at one time as a
+.Em transport suffix ) .
 While ports are always 16 bits, 
 transport selectors may be
 of (almost) arbitrary size.
 While ports are always 16 bits, 
 transport selectors may be
 of (almost) arbitrary size.
-.PP
+.Pp
 Since the C language does not provide conveninent variable
 length structures, we have separated the selector lengths
 from the data themselves.
 Since the C language does not provide conveninent variable
 length structures, we have separated the selector lengths
 from the data themselves.
@@ -95,20 +121,45 @@ with the network address first, then the transport selector, and so
 on.  Thus, if you had a nework address of less then 20 bytes,
 the transport selector would encroach on space normally reserved
 for the network address.
 on.  Thus, if you had a nework address of less then 20 bytes,
 the transport selector would encroach on space normally reserved
 for the network address.
-.PP
-.SS NETWORK ADDRESSING.
-ISO network addresses are limited to 20 bytes in length.
-ISO network addresses can take any format.
-.SH PROTOCOLS
-The ARGO 1.0 implementation of the 
-ISO protocol family comprises
-the Connectionless-Mode Network Protocol (CLNP), 
-and the Transport Protocol (TP), classes 4 and 0,
-and X.25.
-TP is used to support the SOCK_SEQPACKET
+.Pp
+.Sh NETWORK ADDRESSING.
+.Tn ISO
+network addresses are limited to 20 bytes in length.
+.Tn ISO
+network addresses can take any format.
+.Sh PROTOCOLS
+The
+.Tn ARGO
+1.0 implementation of the 
+.Tn ISO
+protocol family comprises
+the Connectionless-Mode Network Protocol
+.Pq Tn CLNP , 
+and the Transport Protocol
+.Pq Tn TP ,
+classes 4 and 0,
+and
+.Tn X.25 .
+.Tn TP
+is used to support the
+.Dv SOCK_SEQPACKET
 abstraction.
 abstraction.
-A raw interface to CLNP is available
-by creating an ISO socket of type SOCK_RAW.
-This is used for CLNP debugging only.
-.SH SEE ALSO
-tp(4), clnp(4), cltp(4)
+A raw interface to
+.Tn CLNP
+is available
+by creating an
+.Tn ISO
+socket of type
+.Dv SOCK_RAW .
+This is used for
+.Tn CLNP
+debugging only.
+.Sh SEE ALSO
+.Xr tp 4 ,
+.Xr clnp 4 ,
+.Xr cltp 4
+.Sh HISTORY
+The
+.Nm
+protocol family implementation
+.Ud