Annotation of 43BSDReno/share/man/man4/iso.4, revision 1.1.1.1

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)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.