summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorwosch <wosch@FreeBSD.org>1997-10-31 07:56:09 +0000
committerwosch <wosch@FreeBSD.org>1997-10-31 07:56:09 +0000
commit923e0b9d9c7799c5d4b5f0a3a952f613b4751432 (patch)
treeb6802da420a9f98437ec90e0fe6f1f63eedeafb5 /share
parentbe4808f6e2badf1629d651d8f1d2f5c7707e47a8 (diff)
downloadFreeBSD-src-923e0b9d9c7799c5d4b5f0a3a952f613b4751432.zip
FreeBSD-src-923e0b9d9c7799c5d4b5f0a3a952f613b4751432.tar.gz
The documentation contained here is horribly out of date.
Diffstat (limited to 'share')
-rw-r--r--share/doc/iso/README3
-rw-r--r--share/doc/iso/ucb/addr.nr157
-rw-r--r--share/doc/iso/ucb/def.nr144
-rw-r--r--share/doc/iso/ucb/intro.nr72
-rw-r--r--share/doc/iso/ucb/ipc.nr331
-rw-r--r--share/doc/iso/ucb/macros.nr50
-rw-r--r--share/doc/iso/ucb/net_serv.nr163
-rw-r--r--share/doc/iso/ucb/program.nr42
-rw-r--r--share/doc/iso/ucb/trans_serv.nr697
-rw-r--r--share/doc/iso/wisc/Makefile73
-rw-r--r--share/doc/iso/wisc/Outline18
-rw-r--r--share/doc/iso/wisc/TODO2
-rw-r--r--share/doc/iso/wisc/addr.nr157
-rw-r--r--share/doc/iso/wisc/appendix_a.nr51
-rw-r--r--share/doc/iso/wisc/appendix_b.nr10
-rw-r--r--share/doc/iso/wisc/debug.nr1043
-rw-r--r--share/doc/iso/wisc/def.nr144
-rwxr-xr-xshare/doc/iso/wisc/dogrn6
-rw-r--r--share/doc/iso/wisc/eicon.nr731
-rw-r--r--share/doc/iso/wisc/eicon.table5.1.orig.nr126
-rw-r--r--share/doc/iso/wisc/errors.nr363
-rw-r--r--share/doc/iso/wisc/esis_design.nr114
-rw-r--r--share/doc/iso/wisc/figs/CONS_primitives.nr77
-rw-r--r--share/doc/iso/wisc/figs/Makefile18
-rw-r--r--share/doc/iso/wisc/figs/NS_primitives.nr69
-rw-r--r--share/doc/iso/wisc/figs/TS_primitives.nr60
-rw-r--r--share/doc/iso/wisc/figs/addrfmt.nr22
-rw-r--r--share/doc/iso/wisc/figs/clnp_input.grn18
-rw-r--r--share/doc/iso/wisc/figs/clnp_input.gsrc338
-rw-r--r--share/doc/iso/wisc/figs/clnp_input.nr188
-rw-r--r--share/doc/iso/wisc/figs/clnp_output.grn18
-rw-r--r--share/doc/iso/wisc/figs/clnp_output.gsrc376
-rw-r--r--share/doc/iso/wisc/figs/clnp_output.nr233
-rw-r--r--share/doc/iso/wisc/figs/ecn_network.grn19
-rw-r--r--share/doc/iso/wisc/figs/ecn_network.gsrc288
-rw-r--r--share/doc/iso/wisc/figs/ecn_network.nr0
-rw-r--r--share/doc/iso/wisc/figs/ecn_queue.grn19
-rw-r--r--share/doc/iso/wisc/figs/ecn_queue.gsrc371
-rw-r--r--share/doc/iso/wisc/figs/ecn_queue.nr262
-rw-r--r--share/doc/iso/wisc/figs/ecn_vc.grn19
-rw-r--r--share/doc/iso/wisc/figs/ecn_vc.gsrc273
-rw-r--r--share/doc/iso/wisc/figs/ecn_vc.nr205
-rw-r--r--share/doc/iso/wisc/figs/func_units.grn18
-rw-r--r--share/doc/iso/wisc/figs/func_units.gsrc603
-rw-r--r--share/doc/iso/wisc/figs/func_units.nr0
-rw-r--r--share/doc/iso/wisc/figs/link_to_CONS_primitives.NR.DONT_REMOVE77
-rw-r--r--share/doc/iso/wisc/figs/link_to_TS_primitives.NR.DONT_REMOVE60
-rw-r--r--share/doc/iso/wisc/figs/mbufrcv.grn13
-rw-r--r--share/doc/iso/wisc/figs/mbufrcv.gsrc1006
-rw-r--r--share/doc/iso/wisc/figs/mbufrcv.nr504
-rw-r--r--share/doc/iso/wisc/figs/mbufsnd.grn13
-rw-r--r--share/doc/iso/wisc/figs/mbufsnd.gsrc534
-rw-r--r--share/doc/iso/wisc/figs/mbufsnd.nr284
-rw-r--r--share/doc/iso/wisc/figs/osi_addr.grn18
-rw-r--r--share/doc/iso/wisc/figs/osi_addr.gsrc62
-rw-r--r--share/doc/iso/wisc/figs/osi_addr.nr59
-rw-r--r--share/doc/iso/wisc/figs/tppt.grn18
-rw-r--r--share/doc/iso/wisc/figs/tppt.gsrc411
-rw-r--r--share/doc/iso/wisc/figs/tppt.gsrc.save335
-rw-r--r--share/doc/iso/wisc/figs/tppt.nr296
-rw-r--r--share/doc/iso/wisc/figs/trans_flow.grn20
-rw-r--r--share/doc/iso/wisc/figs/trans_flow.gsrc567
-rw-r--r--share/doc/iso/wisc/figs/trans_flow.nr274
-rw-r--r--share/doc/iso/wisc/figs/unix_ipc.grn18
-rw-r--r--share/doc/iso/wisc/figs/unix_ipc.gsrc1041
-rw-r--r--share/doc/iso/wisc/figs/unix_ipc.nr499
-rw-r--r--share/doc/iso/wisc/intro.nr76
-rw-r--r--share/doc/iso/wisc/ipc.nr372
-rw-r--r--share/doc/iso/wisc/macros.nr50
-rw-r--r--share/doc/iso/wisc/net_design.nr1139
-rw-r--r--share/doc/iso/wisc/net_serv.nr163
-rw-r--r--share/doc/iso/wisc/parts.nr39
-rwxr-xr-xshare/doc/iso/wisc/preview7
-rw-r--r--share/doc/iso/wisc/program.nr51
-rw-r--r--share/doc/iso/wisc/trans_design.nr1468
-rw-r--r--share/doc/iso/wisc/trans_serv.nr692
-rw-r--r--share/doc/iso/wiscman/arp.4p118
-rw-r--r--share/doc/iso/wiscman/clnp.4p91
-rw-r--r--share/doc/iso/wiscman/cons.4241
-rw-r--r--share/doc/iso/wiscman/cons.4p198
-rw-r--r--share/doc/iso/wiscman/if.4n136
-rw-r--r--share/doc/iso/wiscman/iso.4f87
-rw-r--r--share/doc/iso/wiscman/rvd.4p90
-rw-r--r--share/doc/iso/wiscman/tp.4p611
84 files changed, 0 insertions, 19729 deletions
diff --git a/share/doc/iso/README b/share/doc/iso/README
deleted file mode 100644
index 7f3c679..0000000
--- a/share/doc/iso/README
+++ /dev/null
@@ -1,3 +0,0 @@
-The documentation contained here is horribly out of
-date and not to be trusted. However, it's probably
-better than nothing at all.
diff --git a/share/doc/iso/ucb/addr.nr b/share/doc/iso/ucb/addr.nr
deleted file mode 100644
index 92ea9fa..0000000
--- a/share/doc/iso/ucb/addr.nr
+++ /dev/null
@@ -1,157 +0,0 @@
-.\" $Id$
-.\"
-.NC "NSAP Addresses & Routing"
-.sh 1 "OSI Address Formats"
-.pp
-ARGO supports an ISO address family, AF_ISO, in addition to the
-DoD Internet address family, AF_INET.
-Addresses in the family AF_ISO
-take the form described by ISO 8348/DAD2, which is an addendum to the
-OSI network service standard that describes network layer addressing.
-.sh 2 "ISO 8348/DAD2 Tutorial"
-.pp
-.\" FIGURE
-.\".so figs/osi_addr.nr
-.so ../wisc/figs/addrfmt.nr
-.CF
-shows the
-format of an OSI NSAP-address.
-The address has two major parts: the initial domain part
-(IDP) and the domain specific part (DSP). The IDP is further divided into
-two parts: the authority and format identifier (AFI) and the
-initial domain identifier (IDI). The AFI specifies the format of the
-IDI, the authority responsible for allocating values of the IDI, and
-the syntax of the DSP. The IDI specifies the network addressing domain
-from which DSP values are allocated, and the authority responsible for
-allocating DSP values.
-.sh 2 "Supported Formats"
-.pp
-ARGO supports three types of ISO NSAP-addresses:
-one type with AFI 37(hex) and two types with AFI 47(hex).
-.sh 3 "AFI 37"
-.pp
-This value of the AFI defines the IDI to be an X.121 address or DTE
-address.
-The DTE address is encoded in binary coded decimal.
-The DSP syntax is binary.
-This form is intended to be used when communicating
-across a public data network (PDN).
-The ARGO software and documentation
-refer to this type of NSAP-address as a
-\*(lqtype 37.\*(rq
-address.
-.sh 3 "AFI 47"
-.pp
-The value of 47 for the AFI defines the IDI to be a 4 digit International
-Code Designator (ICD) allocated according to ISO 6523.
-ARGO support two
-ICD values.
-.sh 4 "ICD 0004"
-.pp
-The ICD value of 0004 is assigned to OSINET,
-an experimental OSI network overseen by
-National Institute of Science and Technology.\**
-.(f
-\** formerly the National Bureau of Standards
-.)f
-When this style of NSAP-address
-is used,
-the DSP is divided into four parts: an organization identifier (2 bytes),
-a subnet identifier (2 bytes),
-an SNPA-part (4-8 bytes), and
-an NSAP selector (1 byte).
-The use of these fields is defined by the OSINET steering committee.
-This type of address is known as an
-\*(lqOSINET\*(rq
-address.
-.sh 4 "ICD 0006"
-.pp
-The ICD value of 0006 is assigned to the Department of Defense (DoD).
-In ARGO, NSAP-addresses with an ICD value of 0006
-are of the format defined in RFC 986, a proposal for embedding DARPA Internet
-addresses within an OSI NSAP-address.
-In this case, the DSP takes the form:
-version (1 byte), DARPA Internet Address (4 bytes), upper layer protocol
-identifier (1 byte).
-This is called an
-\*(lqrfc986\*(rq
-address.
-.sh 1 "Internal Representation"
-.pp
-Internally, an NSAP address takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s s.
-struct iso_addr {
-.T&
-l l l l l.
-+u_char+isoa_afi;+/* authority &
-+++format id */
-+union+{+
-++struct addr_37+addr_37;+/* x.121 */
-++struct addr_osinet+addr_osinet;+/* OSINET */
-++struct addr_rfc986+addr_rfc986;+/* Internet*/
-+}+isoa_u;
-+u_char+isoa_len;+/* length */
-}
-.TE
-\fR
-.)b
-The field \fIisoa_afi\fR contains the AFI for the address.
-The union
-\fIisoa_u\fR contains the remainder of the address.
-The length of the entire address (the AFI, IDI, and DSP) is
-stored in \fIisoa_len\fR.
-.sh 1 "Network Layer Routing"
-.pp
-Routing at the network layer is performed by the
-routing procedure \fIrtalloc()\fR as described in Chapter 5.
-\fIRtalloc()\fR was designed for used in the DoD Internet
-domain.
-An unfortunate
-effect of this is that routing decisions are based upon either the
-entire NSAP address or the network portion of the address.
-The problem is defining the network portion of an NSAP address.
-The location and extent of the
-network portion of an NSAP address depends on the
-style of NSAP address.
-This decision is made by the function \fIiso_netof()\fR.
-.sh 2 "Network Portion of Type 37 Addresses"
-.pp
-There is no network portion of an X.121 address.
-In ARGO, the network portion of a type 37 address
-is defined to be just the AFI.
-The obvious consequence of this is that all type 37 addresses will
-match all other type 37 addresses
-in a network-portion comparison.
-.sh 2 "Network Portion of OSINET Addresses"
-.pp
-The network portion of an OSINET address is the organization identifier and
-the subnet identifier.
-.sh 2 "Network Portion of RFC986 Addresses"
-.pp
-The network portion of an RFC986 address is the network portion of the
-embedded DARPA Internet address.
-ARGO does not support subnetting, a method of subdividing Internet addresses.
-.sh 1 "NSAP Address / Subnetwork Point of Attachment Mapping"
-.pp
-In order to transmit a packet on a real subnetwork, the destination
-NSAP address
-must be mapped to an SNPA address.
-An SNPA address is the real, "hardware" address
-of a system on a network.
-This address corresponds to the 6 byte Ethernet or Token Ring
-Adapter address,
-or to the DTE address, which may be up to 7 bytes
-long (14 decimal digits).
-.pp
-A table, \fIsnpa_cache\fR is kept in the kernel which contains the
-translation between NSAP-addresses and SNPA-addresses.
-This table is used by \fIiso_snparesolve()\fR whenever a
-datagram must be dispatched.
-The table is maintained by the ISO ES-IS protocol entity.
-Entries can be added and deleted
-by the user program \fIclnlutil(8)\fR and
-by the CONS entity.
diff --git a/share/doc/iso/ucb/def.nr b/share/doc/iso/ucb/def.nr
deleted file mode 100644
index 9d8e8b8..0000000
--- a/share/doc/iso/ucb/def.nr
+++ /dev/null
@@ -1,144 +0,0 @@
-.NC "Definitions"
-.sh 1 "General Terms"
-.ip "Kernel" 5
-The source code or binary module for the Acis Operating System
-(also know as AOS and IBM/4.3).
-.ip "User process" 5
-An instance of a program that is
-running in unprivileged mode, in the unprivileged address space
-commonly know as "user address space", in other words, not
-part of the kernel.
-.ip "IPC" 5
-Interprocess communication, the mechanism by which two different
-user processes send messages to each other.
-.ip "Unix, AOS" 5
-ACIS Operating System, the special testing release of Berkeley Unix 4.4BSD.
-.ip "PCB, pcb" 5
-Protocol control block. Each instance of a protocol machine
-keeps status information, addresses, and in some cases queues
-in a pcb for each connection or socket.
-.ip "Domain" 5
-In the Berkeley Unix environment, a domain is an abstract entity which
-comprises a network architecture, addressing scheme, address format,
-network protocols, and transport protocols.
-.sh 1 "Transport Layer Terms"
-.ip "ISO 8073"
-ISO Draft International Standard 8073, Transport Protocol Specification
-.ip "TP" 5
-The collection of transport
-classes that have been implemented in ARGO, classes 0 and 4.
-Also means the ARGO implementation of TP.
-.ip "TP 0" 5
-Transport class 0.
-.ip "TP 4" 5
-Transport class 4.
-.ip "Transport entity" 5
-Software or hardware that implements the elements of procedure
-described in ISO 8073.
-.ip "Transport user" 5
-User process that make use of the services
-provided by a transport entity.
-.ip "Transport service interface" 5
-The syntax and semantics of the set of procedures, functions, and system calls
-that are invoked by a transport user,
-through which the services of the transport entity are delivered.
-.ip "TPDU" 5
-Transport protocol data unit, a packet that is
-passed from one transport entity to another.
-.ip "TSDU" 5
-Transport service data unit, the logical unit of data that is
-passed from a transport entity to a transport user, or from
-a transport user to a transport entity.
-.ip "CR TPDU" 5
-Connection request TPDU.
-.ip "CC TPDU" 5
-Connection confirm TPDU.
-.ip "DR TPDU" 5
-Disconnect request TPDU.
-.ip "DC TPDU" 5
-Disconnect confirm TPDU.
-.ip "DT TPDU" 5
-Normal data TPDU.
-.ip "XPD TPDU" 5
-Expedited data TPDU.
-.ip "AK TPDU" 5
-Normal data acknowledgment TPDU.
-.ip "XAK TPDU" 5
-Expedited data acknowledgment TPDU.
-.ip "ER TPDU" 5
-Error TPDU.
-.sh 1 "Network Layer Terms"
-.ip "ISO 8473"
-ISO Draft International Standard 8473, connectionless network protocol.
-.ip "CONS"
-Connection Oriented Network Service.
-.ip "COSNS"
-Connection Oriented Sub-Network Service.
-.ip "CLNS"
-Connectionless Network Service.
-.ip "CLNP"
-Connectionless Network Protocol, or ISO 8473.
-.ip "Network Entity"
-Software or hardware that implements the elements of procedure described
-in ISO 8473.
-.ip "Network Service User"
-Software components that make use of the services provided by a network
-entity.
-.ip "Network Service Provider"
-Software components that provide the services of a network entity.
-.ip "NSAP"
-Network Service Access Point. The point at which the OSI network service
-is made available to the network service user by the network service
-provider.
-.ip "NSAP address"
-Information that the network service provider needs to identify an
-NSAP. The source and destination address fields of a CLNP packet
-are NSAP addresses.
-.ip "ES"
-End system. A system running the complete suite of OSI protocols which can
-act as an end point for communication.
-.ip "IS"
-Intermediate system. A system running the OSI layers 1, 2, and 3 which
-can act only a packet router.
-.ip "SNPA"
-The Subnetwork Point of Attachement is the point where a \fIreal\fR
-end or intermediate system is attached to a \fIreal\fR subnetwork.
-.ip "SNPA address"
-Information that a \fIreal\fR subnetwork need to identify a \fIreal\fR end
-or intermediate system. This is commonly referred to as the hardware address.
-.ip "NPDU"
-Network Protocol Data Unit. The unit of data which is exchanged between
-network entities.
-.ip "DT NPDU"
-Normal data NPDU.
-.ip "ER NPDU"
-Error report NPDU.
-.ip "Initial NPDU"
-A NPDU carrying the whole of the user data from an N-UNITDATA request.
-.ip "Derived NPDU"
-a NPDU whose field ar identical to those of an initial NPDU, except that it
-carries only a segment of the user data from an N-UNITDATA request.
-.ip "Segment"
-A distinct unit of data consisting of part or all of the user data provided
-in the N-UNITDATA request and delivered in the N-UNITDATA indication.
-.ip "Segmentation"
-The act of generation two or more derived NPDUs from an initial or derived
-NPDU.
-.ip "Fragment"
-A DoD Internet Protocol term with the same meaning as "segment". Used
-synonymously with "segment."
-.ip "Fragmentation"
-A DoD Internet Protocol term with the same meaning as "segmentation". Used
-synonymously with "segmentation."
-.ip "Reassembly"
-The act of regenerating an initial NPDU from two ore more derived NPDUs.
-.ip "MTU"
-Maximum transmission unit. The maximum size of a packet that can be
-transmitted on a medium or through a protocol.
-For example, the MTU of the TP protocol is 8192 bytes, the MTU
-of and Ethernet device is 1500 bytes, and the MTU of the OSI Network
-service is 512 bytes.
-.ip "Network interface"
-The device used to attach a computer to a network, for example,
-an Ethernet adapter, or a Token Ring adapter.
-This terminology is inherited from BSD Unix.
diff --git a/share/doc/iso/ucb/intro.nr b/share/doc/iso/ucb/intro.nr
deleted file mode 100644
index 196b7ae..0000000
--- a/share/doc/iso/ucb/intro.nr
+++ /dev/null
@@ -1,72 +0,0 @@
-.NC "Introduction"
-.sh 1 "Introduction"
-.pp
-This document describes the usage of the ISO
-transport and network layers written for the ACIS Operating System,
-the IBM ACIS port of Berkeley 4.3 Unix\**
-.(f
-\** Unix is a registered trademark of AT&T.
-.)f
-for the IBM RT PC,
-hereafter called AOS, as modified by UC Berkeley.
-This document describes work in progress and is an extremely
-hasty job of editing an earlier document written by colleagues
-at the university of Wisconsin.
-It is to be regarded as an emergency manual prepared for testers
-at NIST and should not be redistributed further.
-As such, there are philosophical
-statements that Berkeley fundamentally disagrees with, which
-we do not presently have the time to rip out.
-Collectively, this work is called the Wisconsin ARGO kernel.
-The ARGO kernel supports the
-the connection-oriented ISO transport service (COTS), the
-ISO connectionless network service (CLNS)
-and a
-connection-oriented network service (CONS).
-The COTS is provided by the ISO transport protocol TP,
-ISO 8073 Revised.
-The CLNS is provided by the connectionless network protocol,
-ISO 8473.
-The CONS is provided by the X.25 protocols.
-The ARGO implementation of the CONS is not a complete
-ISO CONS, but contains enough of the CONS to support
-the COTS and the CLNS (in the latter case, the CONS can be
-viewed as a subnetwork service).
-.pp
-The purposes of this document are
-.ip "1) "
-to describe the transport service and the software interface
-between the user and provider of this service,
-.ip "2) "
-to describe the network service and the software interface it
-provides.
-.pp
-It is assumed that the reader is familiar with the \fBC\fR
-programming language,
-with Unix conventions, and with the ISO specifications listed in Appendix A.
-.sh 1 "Organization"
-.pp
-This document is composed of several chapters.
-Chapter One contains this introduction. Chapter Two presents a
-definition of terms and phrases used throughout the document.
-Chapter Three describes the transport service interface, which is
-the interface between the transport protocol implementation software and the transport user software.
-Chapter Four describes the network service interface, and the interface
-above and below the network layer.
-Chapter Five explains the format of an OSI address.
-Chapter Six describes the
-the architecture of the interprocess communication support in the
-kernel, which to a large degree mandates
-the design of a protocol implementation for a 4.3 Unix kernel.
-.\" Appendix A is a list of the applicable ISO standards.
-.\" The manual pages relevant to the transport and network layers
-.\" are included as Appendix B.
-.pp
-Several conventions are followed in this document.
-All procedure names and system call names are followed
-by a pair of parentheses, for example,
-.i read ().
-References to manual pages consist of the name of the
-manual page, followed by the section in which
-the man page is found:
-.i read (2).
diff --git a/share/doc/iso/ucb/ipc.nr b/share/doc/iso/ucb/ipc.nr
deleted file mode 100644
index 6944970..0000000
--- a/share/doc/iso/ucb/ipc.nr
+++ /dev/null
@@ -1,331 +0,0 @@
-.NC "The Design of Unix IPC"
-.sh 1 "General"
-.pp
-The ARGO implementation of
-TP and CLNP was designed to fit into the AOS
-kernel
-as easily as possible.
-All the standard protocol hooks are used.
-To understand the design, it is useful to have
-read
-Leffler, Joy, and Fabry:
-\*(lq4.2 BSD Networking Implementation Notes\*(rq July 1983.
-This section describes the
-design of the IPC support in the AOS kernel.
-.sh 1 "Functional Unit Overview"
-.pp
-The
-AOS
-kernel
-is a monolithic program of considerable size and complexity.
-The code can be separated into parts of distinct function,
-but there are no kernel processes per se.
-The kernel code is either executed on behalf of a user
-process, in which case the kernel was entered by a system call,
-or it is executed on behalf of a hardware or software interrupt.
-The following sections describe briefly the major functional units
-of the kernel.
-.\" FIGURE
-.so ../wisc/figs/func_units.nr
-.CF
-shows the arrangement of these kernel units and
-their interactions.
-.sh 2 "The file system."
-.pp
-.sh 2 "Virtual memory support."
-.pp
-This includes protection, swapping, paging, and
-text sharing.
-.sh 2 "Blocked device drivers (disks, tapes)."
-.pp
-All these drivers share some minor functional units,
-such as buffer management and bus support
-for the various types of busses on the machine.
-.sh 2 "Interprocess communication (IPC)."
-.pp
-This includes
-support for various protocols,
-buffer management, and a standard interface for inter-protocol
-communication.
-.sh 2 "Network interface drivers."
-.pp
-These drivers are closely tied to the IPC support.
-They use the IPC's buffer management unit rather
-than the buffers used by the blocked device drivers.
-The interface between these drivers and the rest of the kernel
-differs from the interface used by the blocked devices.
-.sh 2 "Tty driver"
-.pp
-This is terminal support, including the user interface
-and the device drivers.
-.sh 2 "System call interface."
-.pp
-This handles signals, traps, and system calls.
-.sh 2 "Clock."
-.pp
-The clock is used in various forms by many
-other units.
-.sh 2 "User process support (the rest)."
-.pp
-This includes support for accounting, process creation,
-control, scheduling, and destruction.
-.pp
-.sh 2 "IPC"
-.pp
-The major functional unit that supports IPC
-can be divided into the following smaller functional
-units.
-.sh 3 "Buffer management."
-.pp
-All protocols share a pool of buffers called \fImbufs\fR.
-The internal structure has changed considerably since 4.3:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct mbuf {
-.T&
-l l l l.
-+struct mbuf+*m_next;+/* next buffer in chain */
-+struct mbuf+*m_act;+/* link in 2-d structure */
-+u_long+m_len;+/* amount of data */
-+char *+m_data;+/* location of data */
-+short+m_type;+/* type of data */
-+short+m_flags;+/* note if EOR, Packet HDR, Ext. stored */
-+++/* If packet header add: */
-int+m_pkthdr.len;+/* total packet length */
-struct ifnet+*m_pkthdr.recvif;+/* rcv interface*/
-+++/* If external storage add: */
-+char +*m_ext.ext_buf;+/* start of buffer */
-+void+(*m_ext.ext_free)();+/* free routine if not the usual */
-+u_int+m_ext.ext_size;+/* size of buffer, for ext_free */
-+++/* For non external */
-+char+m_dat[depending];+/* done by unions, etc. */
-};
-.TE
-\fR
-.)b
-.pp
-There are two forms of mbufs - with and without external storage.
-Small ones are 128 octets in 4.4BSD.
-The data in these mbufs are located
-in the mbuf structure itself.
-Large mbufs, called \fIclusters\fR, are page-sized
-and page-aligned.
-They may be \*(lqcopied\*(rq by multiply mapping the pages they occupy.
-They consist of a page of memory plus a small mbuf structure
-whose fields are used
-to link clusters into chains, but whose \fIm_dat\fR array is
-not used.
-The \fIm_data\fR field of the structure
-is a pointer to the active data in all cases.
-The remainder of the description in the argo document
-is generally obsolete, and I am merely deleting the
-rest of it at this point.
-.sh 3 "Routing."
-.pp
-Routing decisions in the kernel are made by the procedure \fIrtalloc()\fR.
-This procedure will scan the kernel routing tables (stored in mbufs)
-looking for a route.
-The argo document here also is quite obsolete.
-We know keep a tree structure routing table,
-and do matching under masks.
-The structure for the routing entry contains tree related
-stuff pointers (parent, l-r child for internal nodes, mask and address
-for external nodes), and may be completely revised again
-to make use of patricia trees.
-.pp
-If a route is not found, then a default route is used (if present).
-.pp
-If a route is found, the entity which called \fIrtalloc()\fR can use information
-from the \fIrtentry\fR structure to dispatch the datagram. Specifically, the
-datagram is queued on the interface identified by the interface
-pointer \fIrt_ifp\fR.
-.sh 3 "Socket code."
-.pp
-This is the protocol-independent part of the IPC support.
-Each communication endpoint (which may or may not be associated
-with a connection) is represented by the following structure:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct socket {
-.T&
-l l l l.
-+short+so_type;+/* type, e.g. SOCK_DGRAM */
-+short+so_options;+/* from socket call */
-+short+so_linger;+/* time to linger @ close */
-+short+so_state;+/* internal state flags */
-+caddr_t+so_pcb;+/* network layer pcb */
-+struct protosw+*so_proto;+/* protocol handle */
-+struct socket+*so_head;+/* ptr to accept socket */
-+struct socket+*so_q0;+/* queue of partial connX */
-+short+so_q0len;+/* # partials on so_q0 */
-+struct socket+*so_q;+/* queue of incoming connX */
-+short+so_qlen;+/* # connections on so_q */
-+short+so_qlimit;+/* max # queued connX */
-+struct sockbuf+{
-++short+sb_cc;+/* actual chars in buffer */
-++short+sb_hiwat;+/* max actual char count */
-++short+sb_mbcnt;+/* chars of mbufs used */
-++short+sb_mbmax;+/* max chars of mbufs to use */
-++short+sb_lowat;+/* low water mark (not used yet) */
-++short+sb_timeo;+/* timeout (not used ) */
-++struct mbuf+*sb_mb;+/* the mbuf chain */
-++struct proc+*sb_sel;+/* process selecting */
-++short+sb_flags;+/* flags, see below */
-+} so_rcv, so_snd;
-+short+so_timeo;+/* connection timeout */
-+u_short+so_error;+/* error affecting connX */
-+short+so_oobmark;+/* oob mark (TCP only) */
-+short+so_pgrp;+/* pgrp for signals */
-}
-.TE
-\fR
-.)b
-.pp
-The socket code maintains a pair of queues for each socket,
-\fIso_rcv\fR and \fIso_snd\fR.
-Each queue is associated with a count of the number of characters
-in the queue, the maximum number of characters allowed to be put
-in the queue, some status information (\fIsb_flags\fR), and
-several unused fields.
-For a send operation, data are copied from the user's address space
-into chains of mbufs.
-This is done by the socket module, which then calls the underlying
-transport protocol module to place the data
-on the send queue.
-This is generally done by
-appending to the chain beginning at \fIsb_mb\fR.
-The socket module copies data from the \fIso_rcv\fR queue
-to the user's address space to effect a receive operation.
-The underlying transport layer is expected to have put incoming
-data into \fIso_rcv\fR by calling procedures in this module.
-.in -5
-.sh 3 "Transport protocol management."
-.pp
-All protocols and address types must be \*(lqregistered\*(rq in a
-common way in order to use the IPC user interface.
-Each protocol must have an entry in a protocol switch table.
-Each entry takes the form:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct protosw {
-.T&
-l l l l.
-+short+pr_type;+/* socket type used for */
-+short+pr_family;+/* protocol family */
-+short+pr_protocol;+/* protocol # from the database */
-+short+pr_flags;+/* status information */
-+++/* protocol-protocol hooks */
-+int+(*pr_input)();+/* input (from below) */
-+int+(*pr_output)();+/* output (from above) */
-+int+(*pr_ctlinput)();+/* control input */
-+int+(*pr_ctloutput)();+/* control output */
-+++/* user-protocol hook */
-+int+(*pr_usrreq)();+/* user request: see list below */
-+++/* utility hooks */
-+int+(*pr_init)();+/* initialization hook */
-+int+(*pr_fasttimo)();+/* fast timeout (200ms) */
-+int+(*pr_slowtimo)();+/* slow timeout (500ms) */
-+int+(*pr_drain)();+/* free some space (not used) */
-}
-.TE
-\fR
-.)b
-.pp
-Associated with each protocol are the types of socket
-abstractions supported by the protocol (\fIpr_type\fR), the
-format of the addresses used by the protocol (\fIpr_family\fR),
-the routines to be called to perform
-a standard set of protocol functions (\fIpr_input\fR,...,\fIpr_drain\fR),
-and some status information (\fIpr_flags\fR).
-The field pr_flags keeps such information as
-SS_ISCONNECTED (this socket has a peer),
-SS_ISCONNECTING (this socket is in the process of establishing
-a connection),
-SS_ISDISCONNECTING (this socket is in the process of being disconnected),
-SS_CANTSENDMORE (this socket is half-closed and cannot send),
-SS_CANTRCVMORE (this socket is half-closed and cannot receive).
-There are some flags that are specific to the TCP concept
-of out-of-band data.
-A flag SS_OOBAVAIL was added for the ARGO implementation, to support
-the TP concept of out-of-band data (expedited data).
-.sh 3 "Network Interface Drivers"
-.pp
-The drivers for the devices attaching a Unix machine to a network
-medium share a common interface to the protocol
-software.
-There is a common data structure for managing queues,
-not surprisingly, a chain of mbufs.
-There is a set of macros that are used to enqueue and
-dequeue mbuf chains at high priority.
-A driver
-delivers an indication to a protocol entity when
-an incoming packet has been placed on a queue by
-issuing a
-software
-interrupt.
-.sh 3 "Support for individual protocols."
-.pp
-Each protocol is written as a separate functional unit.
-Because all protocols share the clock and the mbuf pool, they
-are not entirely insulated from each other.
-The details of TP are described in a section that
-follows.
-.\"*****************************************************
-.\" FIGURE
-.so ../wisc/figs/unix_ipc.nr
-.pp
-.CF
-shows the arrangement of the IPC support.
-.pp
-The AOS
-IPC was designed for DoD Internet protocols, all of
-which run over DoD IP.
-The assumptions that DoD Internet is the domain
-and that DoD IP is the network layer
-appear in the code and data structures in numerous places.
-An example is that the transport protocols all directly call
-IP routines.
-There are no hooks in the data structures through
-which the transport layer can choose a network level protocol.
-Another example is that headers are assumed to
-fit in one small mbuf (112 bytes for data in AOS).
-Another example is this:
-It is assumed in many places that buffer space is managed
-in units of characters or octets.
-The user data are copied from user address space into the kernel mbufs
-amorphously
-by the socket code, a protocol-independent part of the kernel.
-This is fine for a stream protocol, but it means that a
-packet protocol, in order to \*(lqpacketize\*(rq the data,
-must perform a memory-to-memory copy
-that might have been avoided had the protocol layer done the original
-copy from user address space.
-Furthermore, protocols that count credit in terms of packets or
-buffers rather than characters do not work efficiently because
-the computation of buffer space is not in the protocol module,
-but rather it is in the socket code module.
-This list of examples is not complete.
-.pp
-To summarize, adding a new transport protocol to the kernel consists of
-adding entries to the tables in the protocol management
-unit,
-modifying the network interface driver(s) to recognize
-new network protocol identifiers,
-adding the
-new system calls to the kernel and to the user library,
-and
-adding code modules for each of the protocols,
-and correcting deficiencies in the socket code,
-where the assumptions made about the nature of
-transport protocols do not apply.
-.i
-(Touchy touchy, aren't we!?! -- Sklower)
diff --git a/share/doc/iso/ucb/macros.nr b/share/doc/iso/ucb/macros.nr
deleted file mode 100644
index 88ec2d3..0000000
--- a/share/doc/iso/ucb/macros.nr
+++ /dev/null
@@ -1,50 +0,0 @@
-.\"
-.\" Macro to initialize chapter macros
-.\"
-.de IC
-.nr CN 0 1
-..
-.\"
-.\" Macro to begin new chapter
-.\"
-.de NC
-.he 'ARGO user\'s Guide, Berkeley Hack Job''Chapter \\n+(CN'
-.bp
-.sh 0 "_" 1 1 1 1 1 1
-.sz +2
-.(l C
-CHAPTER \\n(CN
-
-\fB\\$1\fR
-.)l
-.sp 1
-.(x
-Chapter \\n(CN \\$1
-.)x
-.sz -2
-..
-.\"
-.\" Figure conventions:
-.\" 1) do .so of figure source - figure reg incremented here
-.\" 2) make references to figure via CF
-.\"
-.\"
-.\" Macro to initialize figure register
-.\"
-.de IF
-.nr FG 0 1
-..
-.\"
-.\" Macro for current figure number
-.\"
-.de CF
-Figure \\n(FG
-..
-.\"
-.\" Define this macro to include section headings in table of contents
-.\"
-.de $0
-.(x
-Section \\$2 \\$1
-.)x
-..
diff --git a/share/doc/iso/ucb/net_serv.nr b/share/doc/iso/ucb/net_serv.nr
deleted file mode 100644
index c24eebd..0000000
--- a/share/doc/iso/ucb/net_serv.nr
+++ /dev/null
@@ -1,163 +0,0 @@
-.NC "Network Service Interface"
-.sh 1 "Connectionless Network Service"
-.pp
-This section describes the interface to the ISO connectionless network service.
-There are really two interfaces to the CLNS: the internal interface
-and the IPC interface.
-The internal interface is based on
-procedure calls. It is used only within the kernel. The IPC interface
-allows a user process to access the CLNS directly. This is used only
-for testing and debugging purposes.
-.sh 2 "Primitives"
-.pp
-The CLNS is, by definition, connectionless. Therefore, there are no
-primitives associated with connection establishment or connection release.
-There is one primitive associated with data transfer: N-UNITDATA.
-The parameters to a N-UNITDATA request are: source NSAP address,
-destination NSAP address, quality of service, and user data.
-The parameters of a N-UNITDATA indication are identical to those of the
-request.
-In this implementation, the quality of service parameter is not supported.
-.sh 2 "Internal Interface"
-.pp
-Within the kernel, an N-UNITDATA request is effected by the procedure
-\fIclnp_output()\fR:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-clnp_output(m0, isop, datalen, flags)
-.T&
-l l l.
- +struct mbuf+*m0;+/* data */
- +struct isopcb+*isop;+/* ISO protocol control block */
- +int+datalen;+
- +int+flags;+/* flags */
-.TE
-\fR
-.)b
-This procedure will construct a DT NPDU, route it, and transmit it on
-the appropriate subnetwork. \fIM0\fR is an mbuf chain containing the
-user data portion of the N-UNITDATA request. \fIIsopcb\fR is the iso protocol
-control block previously allocated. \fIClnp_output\fR will use the following
-fields: \fIisop_laddr\fR, isop_faddr, isop_route, isop_options,
-isop_optindex, \fI and \fRisop_clnpcache\fR.
-\fIDatalen\fR specifies the number of bytes of user data.
-The \fIflags\fR parameter will be discussed in a subsequent chapter.
-.pp
-A N-UNITDATA indication occurs when a DT NPDU arrives. The indication is
-generated by calling the appropriate upper layer protocol input routine.
-In the case of TP, the procedure \fItpclnp_input()\fR is called:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-tpclnp_input(m, src, dst, len)
-.T&
-l l l.
- +struct mbuf+*m;+/* DT NPDU */
- +struct iso_addr+*src;+/* source of packet */
- +struct iso_addr+*dst;+/* destination of packet */
- +int+len;+/* length of clnp header */
-.TE
-\fR
-.)b
-\fIM\fR contains the entire DT NPDU packet. \fILen\fR indicates the size
-of the CLNP header. In other words, the user data of the DT NPDU begins
-\fIlen\fR bytes into \fIm\fR. \fISrc\fR and \fIdst\fR indicate the
-source and destination NSAP addresses of the packet.
-.sh 3 "CLNP/Subnetwork Interface"
-.pp
-The design of the interface between the subnetwork and the CLNP is
-determined by the design of the Unix network interface drivers. CLNP
-follows the conventional mechanisms for exchanging packets with a network
-interface. See the section on Network Interface Drivers in Chapter Five
-for more information on these conventions.
-.sh 2 "IPC (\*(lqRaw\*(rq) Interface"
-.pp
-The IPC interface to the CLNS allows direct (called \*(lqraw\*(rq)
-access to CLNP.
-This interface is intended for testing and debugging only.
-Its use results in the
-transmission of CLNP datagrams with nonstandard identification fields.
-These raw packets may be rejected by a system not employing the same
-convention. See the section on network implementation for more information
-about the conventions.
-.pp
-In order to gain access to the raw interface
-a \fIsocket\fR, with address family AF_ISO and type SOCK_RAW must be created.
-With this socket in hand,
-the system calls \fIsendto()\fR and \fIrecvfrom()\fR can be used to
-transmit and receive raw CLNP datagrams.
-.sh 3 "Sending raw datagrams"
-.pp
-The format of the \fIsendto()\fR system call is:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-cc = sendto(s, msg, len, flags, to, tolen)
-.T&
-l l l.
-int+cc,s;
-char+*msg;
-int+len,flags;
-struct sockaddr+*to;
-int+to;
-.TE
-\fR
-.)b
-\f\fIS\fR is the socket previously created. \fIMsg\fR is a pointer to
-the data for the NPDU. CLNP will prepend a header to this data before
-transmission. \fILen\fR specifies the number of bytes of data. The
-\fIflags\fR parameter is unused and should be zero. \fITo\fR specifies the
-NSAP address to be used as the destination address. The size (in bytes)
-of \fIto\fR is given in \fItolen\fR. CLNP will automatically insert
-the source address based upon the route taken by the packet. The number of
-user data bytes transmitted is returned as \fIcc\fR. See \fIsendto(2)\fR
-for more information on this system call.
-.sh 3 "Receiving raw datagrams"
-.pp
-The format of the \fIrecvfrom()\fR system call is:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-cc = recvfrom(s, buf, len, flags, from, fromlen)
-.T&
-l l l.
-int+cc,s;
-char+*buf;
-int+len,flags;
-struct sockaddr+*from;
-int+*fromlen;
-.TE
-\fR
-.)b
-When used with a CLNP raw socket \fIs\fR, \fIrecvfrom()\fR will read a
-NPDU from the CLNS. If no packet is available, the call will block.
-\fIBuf\fR specifies a buffer of \fIlen\fR bytes into which the NPDU will
-be read. The entire packet, including the header, will be read into the
-buffer. The \fIflags\fR parameter is unused, and should be zero. If
-\fIfrom\fR is non-zero, the source address of the NPDU is filled in.
-\fIFromlen\fR is a value-result parameter, initialized to the size of
-the buffer associated with \fIfrom\fR, and modified on return to
-indicate the actual size of the address stored there. The total number
-of bytes received (header and data) is returned as \fIcc\fR.
-See \fIrecvfrom(2)\fR for more information about this system call.
-.sh 1 "Connection Oriented Network Service"
-.pp
-The ARGO Connection Oriented Network Service (CONS) is not a complete
-implementation of the
-OSI network service.
-It is that subset of the OSI network service that is used
-by ARGO Transport and by ARGO CLNP.
-.\" FIGURE
-.so ../wisc/figs/NS_primitives.nr
-.pp
-.CF
-shows which CONS service elements are provided.
diff --git a/share/doc/iso/ucb/program.nr b/share/doc/iso/ucb/program.nr
deleted file mode 100644
index a431661..0000000
--- a/share/doc/iso/ucb/program.nr
+++ /dev/null
@@ -1,42 +0,0 @@
-.\"$Header: program.nr,v 1.1 88/12/05 18:10:57 nhall Exp $
-.\"$Source: /usr/argo/doc/kernel/RCS/program.nr,v $
-.\"
-.\"
-.\" FONT CONVENTIONS
-.\"
-.\" \fIprocedure()\fR
-.\" \fIsyscall()\fR
-.\" \fImanpage(3)\fR
-.\" \fIdata_structure_name\fR
-.\" \fC/file/or/directory/name\fR
-.\" \fC
-.\" section of code
-.\" \fR
-.\"
-.\"
-.\" LOOK FOR ALL CASES OF 'writing' (as in, "at this writing")
-.\" to be sure you've updated everything before distributing this!
-.\"
-.\"This file uses -me and tbl macros.
-.so macros.nr
-.\" .pn 1
-.IC
-.IF
-.\" .(l C
-.\" .sz 16
-.\" Berkeley's Hack at the first 6 chapters of
-.\" Wisconsin ARGO 1.0 Kernel Programmer's Guide for
-.\" Academic Operating Systems 4.3
-.\" .sz 8
-.\" .)l
-.he 'ARGO 1.0 Berkeley Revision User\'s Guide'''
-.fo '%''December 9, 1988'
-.\" .bp
-.so intro.nr
-.so def.nr
-.so trans_serv.nr
-.so net_serv.nr
-.so ipc.nr
-.so addr.nr
-.bp
-.xp
diff --git a/share/doc/iso/ucb/trans_serv.nr b/share/doc/iso/ucb/trans_serv.nr
deleted file mode 100644
index 2f6d156..0000000
--- a/share/doc/iso/ucb/trans_serv.nr
+++ /dev/null
@@ -1,697 +0,0 @@
-.NC "Transport Service Interface"
-.sh 1 "General"
-.pp
-It is assumed that the reader is acquainted with the
-set of system calls and library routines that
-compose the
-Berkeley
-Unix interprocess communication service (IPC).
-To every extent possible
-the ARGO transport service is provided by the same IPC mechanisms
-that support
-the transport-level services
-included in the
-AOS distribution.
-In some instances, the interface
-provided by AOS does not support
-the services required by ISO 8073,
-so system calls were added to support these services.
-It is felt that this is superior to modifying
-existing system calls, in order to avoid the
-recoding of existing Unix utilities.
-.pp
-What follows is a description of the system calls
-that are used to provide the transport service.
-According to Unix custom,
-the return value of a system call is 0
-if the call succeeds and -1 if
-the call fails for any reason.
-In the latter case,
-the global variable
-\fIerrno\fR contains more information
-about the error that caused the failure.
-In the descriptions of all the system calls for which
-this custom is followed,
-the return value is named
-\fIstatus\fR.
-.sh 1 "Connection establishment"
-.pp
-Establishing a TP connection is similar to
-establishing a connection using any other
-transport protocol supported by Unix.
-The same system calls are used, and the passive open
-is required.
-Some of the parameters to the system calls differ.
-.pp
-The following call creates a communication endpoint called a
-\fIsocket\fR.
-It returns
-a positive integer called a
-\fIsocket descriptor\fR,
-which
-will be a parameter in all communication primitives.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-s = socket( af, type, protocol )
-.T&
-l l l.
- +int+s,af,type,protocol;
-.TE
-\fR
-.)b
-.pp
-The \fIaf\fR parameter describes the format of addresses
-used in this communication.
-Existing formats include AF_INET (DoD Internet addresses),
-AF_PUP (Xerox PUP-I Internet addresses), and AF_UNIX
-(addresses are Unix file names, for intra-machine IPC only).
-TP runs in either the Internet domain or the ISO domain (AF_ISO).
-When using the Internet domain, the network layer is the DoD Internet IP
-with Internet-style addresses. The ISO domain uses the ISO
-network service and ISO-style addresses\**.
-.(f
-\**ISO/DP 8348/DAD2 Addendum to the Network
-Service Definition Covering Network Layer Addressing.
-.)f
-Regardless of the address family used, an address takes the
-general form,
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct sockaddr {
-.T&
-l l l l.
- +u_char+sa_len;+/* length of sockaddr */
- +u_char+sa_family;+/* address family */
- +char+sa_data[14];+/* space for an address */
-}+
-.TE
-\fR
-.)b
-.lp
-.i
-A sockaddr is no longer required to be precisely 16 bytes long.
-The allocation of 14 bytes for sa_data is intended for backwards
-compatibility.
-.r
-.sp 1
-When viewed as an Internet address, it takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct sockaddr_in {
-.T&
-l l l l.
- +u_char+sin_len;+/* address length */
- +u_char+sin_family;+/* address family */
- +u_short+sin_port;+/* internet port */
- +struct in_addr+sin_addr;+/* network addr A.B.C.D */
- +char+sin_zero[8];+/* unused */
-}
-.TE
-\fR
-.)b
-.sp 1
-When viewed as an ISO address, as supplied by the
-university of wisconsin, it takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct sockaddr_iso {
-.T&
-l l l l.
- +u_char+siso_len;+/* address length */
- +u_char+siso_family;+/* address family */
- +u_short+siso_tsuffix;+/* transport suffix */
- +struct iso_addr+siso_addr;+/* ISO NSAP addr */
- +char+siso_zero[2];+/* unused */
-}
-.TE
-\fR
-.)b
-The address described by a \fIsockaddr_iso\fR structure
-is a TSAP-address (transport service access point address).
-It is made of an NSAP-address (network service access point address)
-and a TSAP selector (also called a transport suffix or
-transport selector, hereafter called a TSEL).
-The structure \fIsockaddr_iso\fR contains a 2-byte TSEL.
-This is for compatibility with Internet addressing.
-ARGO supports
-TSELs of length 1-64 bytes.
-TSELs of any length other than 2
-are called \*(lqextended TSELs\*(rq.
-They are described in detail in the section \fB\*(lqExtended TSELs\*(rq\fR.
-If extended TSELs are not requested, 2-byte TSELs are used by default.
-.pp
-Refer to Chapter Five for more information about ISO NSAP-addresses.
-.pp
-.i
-It is our intent at Berkeley to revamp the sockaddr_iso
-to use a more natural and uniform model, for ISO addresses.
-We cannot guarantee this modification to be complete by the
-time we are ready to have something for NIST to test.
-We hope to remove this notion of extended TSEL's as soon as
-possible, certainly by formal beta testing of 4.4.
-.r
-Since sockaddr can be 108 bytes long without breaking anything
-in the current Berkeley kernel, we should be able to eliminate
-extended TSEL's entirely by
-providing a sockaddr_iso along the lines of:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct sockaddr_iso {
-.T&
-l l l l.
- +u_char+siso_len;+/* address length */
- +u_char+siso_family;+/* address family */
- +u_char+siso_slen;+/* session suffix length */
- +u_char+siso_tlen;+/* transport suffix length */
- +u_char+siso_nlen;+/* nsap length */
- +char+siso_data[22];+/* minimum nsap + tsel */
-}
-.TE
-\fR
-.)b
-.pp
-The \fItype\fR parameter in the \fIsocket()\fR call
-distinguishes
-datagram protocols, stream protocols, sequenced
-packet protocols, reliable datagram protocols, and
-"raw" protocols (in other words, the absence of a transport protocol).
-Unix provides manifest named constants for each of these types.
-TP supports the sequenced packet protocol abstraction, to which
-the manifest constant SOCK_SEQPACKET applies.
-.pp
-The \fIprotocol\fR
-parameter is an integer that identifies the protocol to be used.
-Unix provides a database of protocol names and their associated
-protocol numbers.
-Unix also provides user-level tools
-for searching the database.
-The tools take the form of library routines.
-A protocol number for TP has been chosen
-by the Internet NIC to allow TP to run in the Internet domain, and this
-has been added to the Unix network protocol database.
-The standard Internet database tools that serve TCP users
-can
-also serve user of TP
-in the Internet domain, if the TP protocol number is added to the
-proper Internet database file,
-\fC/etc/protocols\fR.
-This change must be made for TP to run in either the Internet or
-in the ISO domain.
-The ARGO package contains a set of tools and a database
-for use with TP in the ISO domain.
-This set of tools is described in the manual pages
-\fIisodir(5)\fR and
-\fIisodir(3)\fR.
-.pp
-When a socket is created, it is not given an address.
-Since a socket cannot be reached by a remote entity unless it has an address,
-the user must request that a socket be given an address by
-using the \fIbind()\fR system call:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = bind( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-The address is expected to be in the format specified by the
-\fIaf\fR parameter to the \fIsocket()\fR
-call that yielded the socket descriptor \fIs\fR.
-If the user
-passes an address parameter with a zero-valued transport suffix,
-the transport layer
-assigns an unused 2-byte transport selector.
-This is a 4.3 Unix convention; it is not part of any ISO standard.
-.pp
-The \fIconnect()\fR system call effects an active open.
-It is used to establish a connection with an entity that is
-passively waiting for connection requests, and whose
-transport address is known.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = connect( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-The first parameter is a socket descriptor.
-The \fIaddr\fR parameter is a transport address in the format
-specified by the \fIaf\fR parameter to the \fIsocket()\fR
-call that yielded the socket descriptor \fIs\fR.
-.pp
-A passive open is accomplished with two system calls,
-\fIlisten()\fR followed by \fIaccept()\fR.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = listen( s, queuelen )
-.T&
-l l l.
- +int+s;
- +int+queuelen;
-.TE
-\fR
-.)b
-.pp
-The \fIqueuelen\fR argument specifies the maximum
-number of pending connection
-requests that will be queued for acceptance by this user.
-Connections are then accepted by the
-system call \fIaccept()\fR.
-There is no way to refuse connections.
-The functional equivalent of connection
-refusal is accomplished by accepting a connection and immediately
-disconnecting.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-new_s = accept( s, addr, addrlen )
-.T&
-l l l.
- +int+new_s, s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-The \fIaccept()\fR call completes the connection
-establishment. If a connection request from a prospective peer
-is pending on the socket described by \fIs\fR, it is removed and
-a new socket is created for use with this connection.
-A socket descriptor for the new socket is returned by the
-system call.
-If no connection requests are pending, this call blocks.
-If the \fIaccept()\fR call fails, -1 is returned.
-The transport address of the entity requesting the connection
-is returned in the \fIaddr\fR parameter, and the length
-of the address is returned in the \fIaddrlen\fR parameter.
-The address associated with the new socket is inherited
-from the socket on which the \fIlisten()\fR and \fIaccept()\fR were performed.
-.pp
-It is possible for the \fIaccept()\fR call to be interrupted
-by an asynchronous event such as the arrival of expedited
-data.
-When system calls are interrupted, Unix returns the value -1
-to the caller and puts the constant
-EINTR in the global variable \fIerrno\fR.
-This can create problems with the system call \fIaccept()\fR.
-In the case of incoming expedited data, the interruption does
-not indicate a problem, but the data may have arrived before
-the caller has received the new socket descriptor, which is the
-socket descriptor on which the expedited data are to be received.
-In order to prevent this problem from occurring, the caller must
-prevent the issuance of asynchronous indications until the
-\fIaccept()\fR
-call has returned.
-Asynchronous indications are discussed below, in
-the section titled
-"Indications from the transport layer to the transport user".
-.pp
-It is possible to discover the
-address bound to a
-socket with the
-\fIgetsockname()\fR system call.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = getsockname( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-If the socket has a peer, that is, it is connected,
-the system call
-\fIgetpeername()\fR
-is used to discover the peer's address.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = getpeername( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.lp
-The names returned by
-\fIgetsockname()\fR and \fIgetpeername()\fR
-do not contain extended TSELs.
-Extended TSELs can be retrieved with
-the \fIgetsockopt()\fR and
-\fIsetsockopt()\fR system calls, described below.
-.pp
-Unix supports several protocol-independent options
-and protocol-specific options
-associated with sockets.
-These options can be inspected and changed by using
-the \fIgetsockopt()\fR and
-\fIsetsockopt()\fR system calls.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = getsockopt( s, level, option, value, valuelen )
-.T&
-l l l.
- +int+s, level, option;
- +char+*value;
- +int+*valuelen;
-.TE
-\fR
-.)b
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = setsockopt( s, level, option, value, valuelen )
-.T&
-l l l.
- +int+s, level, option;
- +char+*value;
- +int+valuelen;
-.TE
-\fR
-.)b
-.pp
-The \fIlevel\fR argument may indicate
-either
-that this option applies to sockets or that it applies to
-a specific protocol.
-The constants SOL_SOCKET, SOL_TRANSPORT, and SOL_NETWORK
-are possible values for the \fIlevel\fR argument.
-The \fIoption\fR argument is an integer that identifies
-the option chosen.
-.\" LIST THE OPTIONS HERE
-The options available to TP users provide the
-user with the ability to control various TP protocol options
-including but not limited to
-TP class, TPDU size negotiated, TPDU format used,
-acknowledgment and retransmission strategies.
-For a detail list of the options, see the manual page \fItp(4p)\fR.
-.sh 1 "Extended TSELs"
-.pp
-ARGO supports TSELs
-of length 1 byte - 64 bytes for sockets bound to addresses in the
-AF_ISO address family.
-The ARGO user program uses the
-\fIgetsockopt()\fR
-and
-\fIsetsockopt()\fR
-system calls to
-discover and assign extended TSELs.
-.pp
-To create a socket with an extended TSEL,
-the process
-.ip \(bu 5
-opens a socket with \fCsocket(AF_ISO, SOCK_SEQPACKET, ISOPROTO_TP)\fR
-.ip \(bu 5
-binds an NSAP-address to the socket with \fIbind()\fR.
-The address bound may contain a 2-byte selector (\fIiso_tsuffix\fR).
-.ip \(bu 5
-uses \fIsetsockopt()\fR with the command TPOPT_MY_TSEL,
-to assign a TSEL to the socket.
-.ip \(bu 5
-calls \fIlisten(), connect()\fR, or any other appopriate system calls
-to use the socket as desired.
-.lp
-To connect to a transport entity that is bound to a TSAP-address with
-an extended TSEL, the
-process
-.ip \(bu 5
-opens a socket with \fCsocket(AF_ISO, SOCK_SEQPACKET, ISOPROTO_TP)\fR
-.ip \(bu 5
-uses \fIsetsockopt()\fR, with the command TPOPT_PEER_TSEL,
-to assign a PEER TSEL to the socket.
-This TSEL is used by the transport entity
-for all subsequent connect requests made on this socket,
-unless the peer TSEL is changed by another call to
-\fIsetsockopt()\fR employing the command TPOPT_PEER_TSEL.
-.lp
-To discover the TSEL of the peer of a connected socket,
-the process
-.ip \(bu 5
-uses \fIgetsockopt()\fR with the command TPOPT_PEER_TSEL.
-.lp
-To discover the TSEL of socket's own address,
-the process
-.ip \(bu 5
-uses \fIgetsockopt()\fR with the command TPOPT_MY_TSEL.
-.sh 1 "Data transfer"
-.pp
-Earlier BSD-based systems have provided system calls for data transfer
-having bugs and semantics that are problematic for TP.
-These should be correct as presented in the test system.
-The problem was in the manner in which the kernel
-handled interrupted system calls.
-The send and receive primitives
-may be interrupted by signals.
-A signal is the mechanism used to indicate
-the presence of expedited data or out-of-band data.
-If the send primitive as interrupted before completion,
-the user could not determine how many octets of data were sent.
-All forms of the existing interface
-(\fIsend()\fR,
-\fIrecv()\fR,
-\fIsendmsg()\fR,
-\fIrecvmsg()\fR,
-\fIsendto()\fR,
-\fIrecvfrom()\fR,
-\fIwrite()\fR,
-\fIread\fR,
-\fIwritev()\fR,
-and \fIreadv()\fR system calls)
-return an octet count
-when the system call completes, and to return a short count
-if the system call is interrupted.
-.pp
-The system calls sendmsg and recvmsg
-have been revised to make them more convenient for receipt of
-out of band data.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-cc = sendmsg( s, msg, flags )
-.T&
-l l l.
- +int+s;
- +istruct msghdr+msg;
- +unsigned int+flags;
-.TE
-\fR
-.)b
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-cc = recvmsg( s, msg, flags )
-.T&
-l l l.
- +int+s;
- +istruct msghdr+msg;
- +unsigned int+flags;
-.TE
-\fR
-.)b
-.pp
-The reader should now consult the manual page for recvmsg
-for an explanation of the elements of the msghdr structure,
-and how the calls may be used to glean user-connection-request data.
-.pp
-The \fIflags\fR parameter serves several purposes.
-The TP specification requires that TSDUs be unlimited in size.
-System calls cannot pass unlimited amounts of data between the user
-and the kernel, so
-there cannot be a one-to-one correspondence between TSDUs and
-system calls.
-The \fIflags\fR
-parameter is used to mark the end-of-TSDU on sending data.
-When receiving,
-TP sets this bit
-in the flags element of the msghdr structure
-when the end of a TSDU is consumed.
-This way one TSDU can span several system calls.
-It is possible for the peer to send an empty TPDU with the end-of-TSDU
-flag set, in which case the transport user
-may receive zero octets with the end-of-TSDU flag set.
-.pp
-The \fIflags\fR parameter also serves to distinguish data transfer primitives
-from expedited data transfer primitives.
-The flag bit MSG_OOB is provided for "out of band data" in the
-DoD Internet protocols. It is also used to provide the expedited data service
-of the ISO protocols.
-The transport layer will deliver one expedited datum (there will be a
-one-to-one correspondence between expedited TSDUs and XPD TPDUs)
-at a time.
-The user must receive the datum before the transport
-layer will accept more expedited data.
-Each expedited datum my contain up to 16 octets.
-.pp
-.sh 1 "Disconnection"
-.pp
-The \fIclose\fR system call will disconnect any association
-between two TP entities.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = close( s )
-.T&
-l l l.
- +int+s;
-.TE
-\fR
-.)b
-.pp
-The argument \fIs\fR is a socket descriptor.
-If a Unix user process terminates, Unix will close all files and
-sockets associated with the process, which means all transport
-connections associated with the process will be disconnected.
-.sh 1 "Indications from the transport layer to the transport user"
-.pp
-The above set of system calls allows you to establish
-a connection, transfer data, and disconnect.
-The
-presence or reception of expedited data is indicated
-by TP setting the MSG_OOB bit in the flags element of the msg structure.
-A disconnection initiated by the peer or by one of the
-cooperating TP entities can be signalled by a control message,
-although we have not yet implemented this.
-.pp
-The Unix signal mechanism may be used to provide these
-service elements, as well.
-When an expedited data TSDU arrives, the TP may interrupt
-the user with a SIGURG signal ("urgent condition present on socket").
-The user must have previously registered a procedure to handle
-the signal by using the \fIsigvec()\fR system call or the
-\fIsignal()\fR library routine provided for that purpose.
-The signal handler takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-int sighandler( signal_number)
-.T&
-l l l.
- +int+signal_number;
-.TE
-\fR
-.)b
-.pp
-The \fIsignal_number\fR argument will be the well-known constant SIGURG.
-There are two reasons for
-the transport layer to issue
-a SIGURG:
-expedited data
-are present or
-disconnection was initiated by a transport entity or by the peer.
-Should the user have more than one transport connection open,
-another system call is used to determine to which socket(s)
-the urgent condition applies.
-This is the \fIselect()\fR system call, described below.
-.pp
-When the SIGURG indicates a disconnection, there may be
-user data from the peer present.
-TP saves the disconnect data for the user to receive via the
-\fIgetsockopt()\fR system call, or through the
-.IR recvmsg ()
-ancillary data mechanism.
-.\"
-.\"If the user does not receive the disconnect data before the
-.\"reference timer expires, the data will be discarded and the
-.\"socket will be closed.
-.pp
-Transport service users may use more than one transport
-connection at a time.
-The \fIselect()\fR system call facilitates this.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-#include <sys/types.h>
-+
-nfound = select( num_to_scan, recvmask, sendmask,
-+exceptmask, timeout )
-.T&
-l l l.
- +int+nfound, num_to_scan;
- +fd_set+*recvmask, *sendmask, *exceptmask;
- +time+timeout;
-.TE
-\fR
-.)b
-.pp
-This system call takes as parameters a set of masks
-that specify a subset of the socket descriptors that are in
-use by the user program.
-\fISelect()\fR inspects the sockets to see if they have data
-to be received, can service a send without blocking, or
-have an exceptional condition pending, respectively.
-The masks will be set upon return to indicate the socket descriptors
-for which the respective conditions exist.
-The \fInum_to_scan\fR argument limits the number of sockets that are
-inspected.
-The call will return within the amount of time given in the
-\fItimeout\fR parameter, or, if the parameter is zero, \fIselect()\fR
-will block indefinitely.
-.\" FIGURE
-.so ../wisc/figs/TS_primitives.nr
-.pp
-.CF
-summarizes the mapping of the transport service primitives
-to Unix facilities.
diff --git a/share/doc/iso/wisc/Makefile b/share/doc/iso/wisc/Makefile
deleted file mode 100644
index fde985b..0000000
--- a/share/doc/iso/wisc/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# Makefile for the tp documents:
-# design: TP design/source guide
-# appendix_a: index of tp kernel routines & macros by macro/routine name
-# appendix_b: index of tp kernel routines & macros by file name
-#
-PRINTER = 3a
-TAGS = ../../sys/tags
-SRCS = ../../sys/netargo/tp_*.c ../../sys/netargo/tp_*.h ../../sys/netargo/tp*.trans
-TROFF = /usr/local/lib/troff
-
-#
-# Print via speedy for cycles sake...
-# (assumes postscript printer...)
-#
-program:
- @echo printer is $(PRINTER)
- (cd figs; make)
- format -P$(PRINTER) -t program.nr | rsh speedy psdit \| lpr -P$(PRINTER)
-
-parts:
- @echo printer is $(PRINTER)
- (cd figs; make)
- format -P$(PRINTER) -t parts.nr | rsh speedy psdit \| lpr -P$(PRINTER)
-# format -P$(PRINTER) -t parts.nr > /dev/null
-# soelim parts.nr | grn -P$(PRINTER) |\
-# $(TROFF) -Tpsc | rsh speedy psdit \> /tmp/test
-# soelim parts.nr | tbl > /tmp/parts.nr
-
-clean:
- /bin/rm -f core junk* a.out *.o spell_errs made
- touch spell_errs
-
-spell:
- (cd figs; make)
- (cd ../icon; make)
- /usr/ucb/soelim program.nr | /usr/bin/spell -d hlista > spell_errs
-
-newdict:
- cat spell_errs | spellin /usr/dict/hlista > hlista
-
-all: program appendix_a appendix_b appendix_c
-
-
-appendix_c:
- format -P$(PRINTER) appendix_c.nr
- tbl ../man/man4/table1.src > ../man/man4/table1.nr
- tbl ../man/man4/table2.src > ../man/man4/table2.nr
- tbl ../man/man4/table3.src > ../man/man4/table3.nr
- soelim ../man/man4/tp.4p.src > ../man/man4/tp.4p
- ditroff -man -P$(PRINTER) ../man/man1/xebec.1
- ditroff -man -P$(PRINTER) ../man/man2/sendv.2
- ditroff -man -P$(PRINTER) ../man/man2/recvv.2
- ditroff -man -P$(PRINTER) ../man/man3/libtp.3
- ditroff -man -P$(PRINTER) ../man/man4/tp.4p
- ditroff -man -P$(PRINTER) ../man/man8/tppt.8
- ditroff -man -P$(PRINTER) ../man/man8/tpdebug.8
- ditroff -man -P$(PRINTER) ../man/man8/tpstat.8
-
-appendix_a:
- ctags -x $(SRCS) | awk '{printf("%s %s %s\n", $$1, $$3, $$2)}'\
- | sed -e 's-../../sys/netargo/--' > index_by_func.nr
- format -P$(PRINTER) appendix_a.nr
-
-appendix_b:
- ctags -x $(SRCS) | awk '{printf("%s %s %s\n", $$3, $$1, $$2)}'\
- | sed -e 's-../../sys/netargo/--' \
- | sort \
- | fmtxref -w 80 \
- | sed -e 's/ / /' \
- -e 's/ / /' \
- > index_by_file.nr
- format -P$(PRINTER) appendix_b.nr
diff --git a/share/doc/iso/wisc/Outline b/share/doc/iso/wisc/Outline
deleted file mode 100644
index 30ea7b8..0000000
--- a/share/doc/iso/wisc/Outline
+++ /dev/null
@@ -1,18 +0,0 @@
-Ch 1 Intro
-Ch 2 Definitions
-Ch 3 Transport Service Interface
-Ch 4 Network Service Interface
- - user interface
- - kernel interface
-Ch 5 Addressing
-Ch 6 Design of Transport
-Ch 7 Design of Network
-Ch 8 Error Handling
- - transport
- - network
-Ch 9 Guide to Transport Source Code
-Ch 10 Guide to Network Source Code
-Ch 11 Guide to Common Source Code
-Ch 12 Testing & Debugging
- - transport
- - network
diff --git a/share/doc/iso/wisc/TODO b/share/doc/iso/wisc/TODO
deleted file mode 100644
index 8e7bf64..0000000
--- a/share/doc/iso/wisc/TODO
+++ /dev/null
@@ -1,2 +0,0 @@
-update clnp echo doc
-add esis
diff --git a/share/doc/iso/wisc/addr.nr b/share/doc/iso/wisc/addr.nr
deleted file mode 100644
index e1b5fbb..0000000
--- a/share/doc/iso/wisc/addr.nr
+++ /dev/null
@@ -1,157 +0,0 @@
-.\" $Id$
-.\"
-.NC "NSAP Addresses & Routing"
-.sh 1 "OSI Address Formats"
-.pp
-ARGO supports an ISO address family, AF_ISO, in addition to the
-DoD Internet address family, AF_INET.
-Addresses in the family AF_ISO
-take the form described by ISO 8348/DAD2, which is an addendum to the
-OSI network service standard that describes network layer addressing.
-.sh 2 "ISO 8348/DAD2 Tutorial"
-.pp
-.\" FIGURE
-.\".so figs/osi_addr.nr
-.so figs/addrfmt.nr
-.CF
-shows the
-format of an OSI NSAP-address.
-The address has two major parts: the initial domain part
-(IDP) and the domain specific part (DSP). The IDP is further divided into
-two parts: the authority and format identifier (AFI) and the
-initial domain identifier (IDI). The AFI specifies the format of the
-IDI, the authority responsible for allocating values of the IDI, and
-the syntax of the DSP. The IDI specifies the network addressing domain
-from which DSP values are allocated, and the authority responsible for
-allocating DSP values.
-.sh 2 "Supported Formats"
-.pp
-ARGO supports three types of ISO NSAP-addresses:
-one type with AFI 37(hex) and two types with AFI 47(hex).
-.sh 3 "AFI 37"
-.pp
-This value of the AFI defines the IDI to be an X.121 address or DTE
-address.
-The DTE address is encoded in binary coded decimal.
-The DSP syntax is binary.
-This form is intended to be used when communicating
-across a public data network (PDN).
-The ARGO software and documentation
-refer to this type of NSAP-address as a
-\*(lqtype 37.\*(rq
-address.
-.sh 3 "AFI 47"
-.pp
-The value of 47 for the AFI defines the IDI to be a 4 digit International
-Code Designator (ICD) allocated according to ISO 6523.
-ARGO support two
-ICD values.
-.sh 4 "ICD 0004"
-.pp
-The ICD value of 0004 is assigned to OSINET,
-an experimental OSI network overseen by
-National Institute of Science and Technology.\**
-.(f
-\** formerly the National Bureau of Standards
-.)f
-When this style of NSAP-address
-is used,
-the DSP is divided into four parts: an organization identifier (2 bytes),
-a subnet identifier (2 bytes),
-an SNPA-part (4-8 bytes), and
-an NSAP selector (1 byte).
-The use of these fields is defined by the OSINET steering committee.
-This type of address is known as an
-\*(lqOSINET\*(rq
-address.
-.sh 4 "ICD 0006"
-.pp
-The ICD value of 0006 is assigned to the Department of Defense (DoD).
-In ARGO, NSAP-addresses with an ICD value of 0006
-are of the format defined in RFC 986, a proposal for embedding DARPA Internet
-addresses within an OSI NSAP-address.
-In this case, the DSP takes the form:
-version (1 byte), DARPA Internet Address (4 bytes), upper layer protocol
-identifier (1 byte).
-This is called an
-\*(lqrfc986\*(rq
-address.
-.sh 1 "Internal Representation"
-.pp
-Internally, an NSAP address takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s s.
-struct iso_addr {
-.T&
-l l l l l.
-+u_char+isoa_afi;+/* authority &
-+++format id */
-+union+{+
-++struct addr_37+addr_37;+/* x.121 */
-++struct addr_osinet+addr_osinet;+/* OSINET */
-++struct addr_rfc986+addr_rfc986;+/* Internet*/
-+}+isoa_u;
-+u_char+isoa_len;+/* length */
-}
-.TE
-\fR
-.)b
-The field \fIisoa_afi\fR contains the AFI for the address.
-The union
-\fIisoa_u\fR contains the remainder of the address.
-The length of the entire address (the AFI, IDI, and DSP) is
-stored in \fIisoa_len\fR.
-.sh 1 "Network Layer Routing"
-.pp
-Routing at the network layer is performed by the
-routing procedure \fIrtalloc()\fR as described in Chapter 5.
-\fIRtalloc()\fR was designed for used in the DoD Internet
-domain.
-An unfortunate
-effect of this is that routing decisions are based upon either the
-entire NSAP address or the network portion of the address.
-The problem is defining the network portion of an NSAP address.
-The location and extent of the
-network portion of an NSAP address depends on the
-style of NSAP address.
-This decision is made by the function \fIiso_netof()\fR.
-.sh 2 "Network Portion of Type 37 Addresses"
-.pp
-There is no network portion of an X.121 address.
-In ARGO, the network portion of a type 37 address
-is defined to be just the AFI.
-The obvious consequence of this is that all type 37 addresses will
-match all other type 37 addresses
-in a network-portion comparison.
-.sh 2 "Network Portion of OSINET Addresses"
-.pp
-The network portion of an OSINET address is the organization identifier and
-the subnet identifier.
-.sh 2 "Network Portion of RFC986 Addresses"
-.pp
-The network portion of an RFC986 address is the network portion of the
-embedded DARPA Internet address.
-ARGO does not support subnetting, a method of subdividing Internet addresses.
-.sh 1 "NSAP Address / Subnetwork Point of Attachment Mapping"
-.pp
-In order to transmit a packet on a real subnetwork, the destination
-NSAP address
-must be mapped to an SNPA address.
-An SNPA address is the real, "hardware" address
-of a system on a network.
-This address corresponds to the 6 byte Ethernet or Token Ring
-Adapter address,
-or to the DTE address, which may be up to 7 bytes
-long (14 decimal digits).
-.pp
-A table, \fIsnpa_cache\fR is kept in the kernel which contains the
-translation between NSAP-addresses and SNPA-addresses.
-This table is used by \fIiso_snparesolve()\fR whenever a
-datagram must be dispatched.
-The table is maintained by the ISO ES-IS protocol entity.
-Entries can be added and deleted
-by the user program \fIclnlutil(8)\fR and
-by the CONS entity.
diff --git a/share/doc/iso/wisc/appendix_a.nr b/share/doc/iso/wisc/appendix_a.nr
deleted file mode 100644
index 2522854..0000000
--- a/share/doc/iso/wisc/appendix_a.nr
+++ /dev/null
@@ -1,51 +0,0 @@
-.\" $Header: appendix_a.nr,v 1.3 88/12/07 10:42:12 nhall Exp $
-.(x
-Appendix A
-.)x
-.bp
-.sz +2
-.ce 3
-Appendix A
-
-\fBStandards Documents\fR
-.sz -2
-.lp
-The following appendix lists many of the standards documents which were
-consumed during development.
-.ip "\fBNetwork Layer\fR"
-.ip "ISO 8348" 15
-Network Service Definition
-.ip "ISO 8348/AD1" 15
-Connectionless-mode Transmission
-.ip "ISO 8348/AD2" 15
-Network Layer Addressing
-.ip "ISO 8648" 15
-Internal Organization of the Network layer
-.ip "ISO 8473" 15
-Protocol for Providing the Connectionless Network Service
-.ip "ISO 8473/DAD1" 15
-Provision of the Underlying Service Assumed by ISO 8473
-.ip "ISO 8473/DAD2" 15
-Formal Description of ISO 8473
-.ip "ISO 9542" 15
-End System to Intermediate System Routing Exchange Protocol
-for use in conjuction with the Protocol providing the Connectionless-mode
-Network Service
-.ip "ISO 8208" 15
-X.25 packet level protocol for data terminal equipment
-.ip "ISO 8878" 15
-Use of X.25 to Provide the Connection-mode Network Service
-.ip "\fBTransport Layer\fR"
-.ip "ISO 8072" 15
-Transport Service
-.ip "ISO 8073" 15
-Transport Protocol
-.ip "ISO 8073/PDAD2" 15
-Class 4 over Connectionless Network
-.ip "\fBFunctional Standards Profiles\fI"
-.ip "OSINET" 15
-Implementation Agreements Among Participants of OSINET, December 1987
-.ip "NBS" 15
-Implementors's Agreements
-.ip "GOSIP" 15
-Government OSI Profile
diff --git a/share/doc/iso/wisc/appendix_b.nr b/share/doc/iso/wisc/appendix_b.nr
deleted file mode 100644
index 01ade55..0000000
--- a/share/doc/iso/wisc/appendix_b.nr
+++ /dev/null
@@ -1,10 +0,0 @@
-.\" $Header: appendix_b.nr,v 1.1 88/12/05 18:08:02 nhall Exp $
-.(x
-Appendix B
-.)x
-.bp
-.sz +2
-.ce 3
-Appendix B
-
-\fBManual Pages\fR
diff --git a/share/doc/iso/wisc/debug.nr b/share/doc/iso/wisc/debug.nr
deleted file mode 100644
index 352eeee..0000000
--- a/share/doc/iso/wisc/debug.nr
+++ /dev/null
@@ -1,1043 +0,0 @@
-.\"$Header: debug.nr,v 1.4 88/12/06 16:05:36 nhall Exp $
-.\"$Source: /usr/argo/doc/kernel/RCS/debug.nr,v $
-.\"
-.\" Program names should be in italics
-.\"
-.NC "Debugging, Testing, and Statistics"
-.sh 1 "Introduction"
-.pp
-This section describes the methods used
-to test and debug the ARGO kernel.
-Three facilities are used in combination:
-debug options,
-simple statistics gathering,
-and
-protocol event tracing.
-Many of the debug options
-simply cause information to be printed on the console, but
-several of these options cause
-TP to behave pathologically
-so that errors are be introduced in desirable ways.
-.pp
-TP and CLNP keep simple statistics.
-These statistics include such things as the total
-number of PDUs that are sent and received,
-a count of various types of errors
-that can be encountered when parsing an incoming PDU,
-and the average and standard deviation of round trip times for
-transport PDUs.
-These statistics are useful for debugging.
-For example,
-if an incoming CC TPDU is rejected because one of the optional
-parameters is faulty, this are noted in the statistics.
-The statistics are kept on a system-wide basis rather than
-on a per-connection basis.
-They can be printed or cleared by user-level utility programs.
-.pp
-The tracing facility allows selective tracing of events.
-Events are grouped into categories relating to different
-functions of TP.
-For example, it is possible to
-trace only the events that pertain to acknowledgments.
-.pp
-At run time the debugging and tracing options can
-be set and cleared by privileged utility programs.
-Each of these facilities is described in more
-detail below.
-.sh 1 "Debugging"
-.pp
-Most of the debugging options
-print messages on the console.
-Kernel printing is done by busy-waiting at high priority,
-so debugging options should be used very sparingly.
-A sample of the code is:
-.(b
-.nf
-\fC
-IFDEBUG(D_TPINPUT)
- printf("tp_input m 0x%x tpdu_len 0x%x\n", m, tpdu_len);
-ENDDEBUG
-\fR
-.fi
-.)b
-.sp 1
-.lp
-IFDEBUG and ENDDEBUG are macros that are defined in one of two ways.
-If the system is configured with the ARGO_DEBUG
-option, an array
-\fCargo_debug[128]\fR
-is declared, and
-IFDEBUG and ENDDEBUG are defined thus:
-.(b
-.nf
-\fC
-#define IFDEBUG(option) if(argo_debug[option]) {
-#define ENDDEBUG ; }
-\fR
-.fi
-.)b
-.lp
-If the system is configured without the ARGO_DEBUG option, these
-two macros resolve to the C comment delimiters, \fC/*\fR and \fC*/\fR,
-causing all the debugging code lying between the macros
-to be elided.
-.pp
-TP, CLNP, and CONS debugging can be enabled independently.
-All debugging requires that the code be compiled with the
-option ARGO_DEBUG.
-The \fIconfig(8)\fR option CLNP_DEBUG will include debugging printfs for CLNP.
-TP_DEBUG has the same effect for TP.
-.pp
-The array elements of \fCargo_debug[]\fR are set by
-the utility program
-\fIbark\fR,
-which reads and writes
-\fC/dev/kmem\fIN\fR.
-See the manual page \fIbark(8)\fR.
-.pp
-Several debugging options cause TP to behave pathologically,
-for the purpose of reproducing difficult-to-reproduce
-error conditions that the protocol must correct.
-For example, the
-\fID_DROP\fR, or \fIbark -on T.drop\fR
-option causes
-\fItp_input()\fR
-to discard TPDUs on a pseudo-random basis.
-These will be described below.
-.sh 1 "Statistics"
-.pp
-.sh 2 "CLNP Statistics"
-.pp
-CLNP keeps a set of statistics related to its operation.
-Statistics include such things as NPDUs sent, received, and dropped.
-These statistics are stored in the global structure \fIclnp_stat\fR.
-The utility program \fInetstat(8)\fR may be used to print these statistics.
-.sh 2 "TP Statistics"
-.pp
-TP keeps a set of running counts of certain events.
-The statistics include such things as the numbers
-of each type of TPDU sent and received, TPDUs dropped,
-and the numbers of occurrences of certain types of errors.
-The statistics are stored in the global structure \fItp_stat\fR.
-The utility programs
-\fItpstat\fR and
-\fItpmon\fR
-read \fC/dev/kmem\fIN\fR
-and prints the contents of the statistics structure
-in a human-readable form.
-\fITpstat\fR prints the statistics on any ascii screen or printer.
-\fITpmon\fR uses the \fIcurses\fR library and assumes that is has
-a screen or window of size 53(long) X 80(wide), and it updates the
-screen every 30 seconds.
-.pp
-\fITpstat\fR and \fItpmon\fR can be used to clear the statistics (set them
-all to zero); the \fB-c\fR option causes the statistics to be cleared.
-.pp
-Statistics are observed using \fItpstat(8)\fR
-to clear statistics before a test, and to print
-the statistics after the test.
-See the manual pages \fItpstat(8)\fR and \fItpmon(8)\fR.
-.sh 1 "Tracing"
-.pp
-.sh 2 "CLNP Tracing"
-.pp
-CLNP does not support event tracing.
-.sh 2 "TP Tracing"
-.pp
-The tracing facility consists of a circular buffer (an array)
-of structures that are written by the kernel at various times,
-and a utility program that reads \fC/dev/kmem\fIN\fR
-to interpret the contents of the buffer.
-The trace structure is a union of the structures that
-will be interpreted by the utility program.
-A trace event consists of a call to the trace routine \fItpTrace\fR
-with a set of arguments containing the information relevant to the
-event being traced.
-The procedure tpTrace is actually called through a macro \fItptrace\fR.
-For example,
-.(b
-.nf
-\fC
-IFTRACE(D_INPUT)
- tptrace(TPPTtpduin, h->tpdu_type, h, h->tpdu_li+1, 0, 0);
-ENDTRACE
-\fR
-.fi
-.)b
-.pp
-The tracing macros are defined in the same manner as the
-debugging macros:
-.(b
-.nf
-\fC
-#define IFTRACE(option) if(tp_traceflags[option]) {
-#define ENDTRACE }
-\fR
-.fi
-.)b
-.lp
-If the kernel is configured with the option TPPT, these macros
-are defined as shown above, but if the TPPT option is not
-used, these macros become C-style comment delimiters.
-.pp
-The tracing procedure copies \fIh->tpdu_li + 1\fR bytes beginning at
-location \fIh\fR into a trace structure in the circular buffer.
-The utility program \fItppt\fR
-reads the trace structure,
-interprets the data as a TPDU header,
-and prints the header in hexadecimal form, with a banner identifying
-the event as an incoming TPDU:
-.(b
-.nf
-\fC
-1a: Ref 22 arg 14(0xe), @ 91990 : 0000.453125 tpdu
-INPUT total len 22
-HDRLEN: 21+1 CR_TPDU_type cdt 0(0x0) dref 0x0
- + 0: 0x15 0xe0 0x00 0x00 4: 0x00 0x03 0x00 0xc1
- + 8: 0x06 0x74 0x70 0x70 12: 0x69 0x6e 0x67 0xc2
- +16: 0x02 0x00 0x07 0xc0 20: 0x01 0x08 0x00 0x00
-
-\fR
-.fi
-.)b
-.pp
-In addition to the data copied from the arguments to tpTrace(),
-each trace structure contains
-a time stamp and an event sequence number, and in many cases, the
-connection reference to which the traced event applies.
-The utility program \fItppt\fR is be used to turn on and off the
-tracing options.
-.pp
-This facility can be used for debugging the source
-code as well as for studying the behavior of the protocol.
-For example, by adding the appropriate trace events,
-it is possible to "see" the resequencing function of TP
-working when a debug option is used to cause
-TPDUs to be dropped occasionally.
-.pp
-See the manual page \fItppt(8)\fR.
-.sh 1 "Testing"
-.pp
-.sh 2 "CLNP Testing"
-.pp
-CLNP was tested in two rather different ways.
-The first method of testing used the
-raw CLNP interface with the program \fIclnptest\fR.
-\fIclnptest\fR allows a user to send or receive CLNP NSDUs.
-With \fIclnptest\fR, a user can send CLNP NSDUs with various
-combinations of options and observe the result.
-.pp
-The second method of testing CLNP was to have TP use CLNP as its network
-layer protocol.
-This method provides a good stress test for CLNP.
-Unfortunately, TP generally calls CLNP in the same manner, so that not all
-of the CLNP options are exercised.
-.sh 3 "Clnptest"
-.pp
-The program \fIclnptest\fR can be invoked as either
-a reader or as a writer:
-.(b
-\fC
-clnptest <options>
-\fR
-.)b
-The \fI-r\fR option invokes \fIclnptest\fR as a reader, the
-\fI-w\fR option invokes it as a writer.
-Other options allow the user to indicate the destination, number of NSDUs,
-size of NSDUs,
-and NSDUs options.
-See \fIclnptest(8)\fR for more information.
-.pp
-\fIclnptest\fR is normally used in the following manner.
-On one machine, invoke \fIclnptest\fR as a reader:
-.(b
-\fC
-clnptest -r
-\fR
-.)b
-On a different machine, transmit an NSDU.
-For example, to test the source route function, one invokes:
-.(b
-\fC
-clnptest -w -h a -oR "b, c, d"
-\fR
-.)b
-This sends an NSDU to host 'a', source routing it via
-hosts 'b', 'c', and 'd'.
-.sh 3 "The Troll"
-In order to test CLNP reassembly certain errors must be generated.
-The mechanism used has two parts,
-the user program \fIclnptroll\fR, which enables and disables
-the generation of these errors, and the
-kernel resident error-creation routines.
-.pp
-Troll options allow one to duplicate an NSDU with a specified frequency.
-The kernel must be compiled with the \fIconfig\fR option \fITROLL\fR
-in order to include troll code.
-See \fIclnptroll(8)\fR for more information.
-.sh 3 "Debugging CLNP"
-.pp
-The following sections describe the \fIbark\fR options
-appropriate for testing parts of CLNP.
-Refer to \fIbark(8)\fR for more information about debugging
-using \fIbark\fR..
-.sh 4 "Sending NSDUs"
-.pp
-Turning on the \fIbark\fR
-option \fIC.output\fR causes information to be
-printed whenever an NSDU is transmitted.
-Translation of NSAP addresses to SNPA can be monitored by turning on
-the \fIC.un\fR, or \fIC.lan\fR options.
-Parts of outgoing NSDUs can be dumped when the \fIC.dumpout\fR
-option is on.
-Routing activity can be watched by turning on \fIC.route\fR and \fIC.iso\fR.
-Information about CLNP option processing is available with \fIC.options\fR.
-.sh 4 "Forwarding NSDUs"
-.pp
-The \fIforward\fR switch will cause debugging information to be displayed
-whenever NSDUs are forwarded.
-.sh 4 "Receiving NSDUs"
-.pp
-Information is displayed about incoming NSDUs when the \fIC.input\fR
-option is enabled.
-A portion of incoming NSDUs can be dumped by turning on the
-\fIC.dumpin\fR option.
-.sh 4 "Fragmentation and Reassembly"
-.pp
-The options \fIC.frag\fR and \fIC.reass\fR turn on debugging for the
-CLNP fragmentation and reassembly functions.
-.sh 2 "TP Testing"
-.pp
-Five services were used for most of the testing:
-the \fIdiscard\fR service,
-the \fIecho\fR service,
-the \fIremote login\fR service,
-the \fIremote shell\fR service,
-and
-the \fIsimple file transfer\fR service.\**
-.(f
-\** In fact, ancestors of these services were used for testing the
-ARGO transport implementation during development.
-These programs in their original forms were very cumbersome to use;
-consequently they evolved to become the services described here.
-.)f
-Each service consists of a daemon process or server that listens
-on a well-known transport selector (which is listed in the
-ARGO directory service), and an active process that contacts the
-server.
-Four of these services,
-discard, echo, remote login, and remote shell,
-are supported by the
-\fIisod\fR suite of daemons, which is a
-version of the \fIinetd\fR programs that uses
-the ISO protocol suite.
-.sh 3 "The Discard Service"
-The discard server listens on the transport selector
-registered in the ARGO directory service for the application
-"discard".
-The server accepts incoming connection requests,
-receives TSDUs, and throws away the TSDUs.
-It never initiates a disconnect, but expects its peer
-to disconnect the transport connection.
-.PP
-The program \fItpdiscard\fR connects to the
-discard server.
-The transport service and protocol options it uses are those
-indicated in the ARGO directory service.
-By changing the directory service entry for the
-discard service, each of the transport service options and
-protocol options can be demonstrated.
-See the manual pages
-\fItpdiscard(8)\fR,
-\fItp(4p)\fR,
-and
-\fIisodir(5)\fR
-for more information.
-.sh 3 "The Echo Service"
-The echo server listens on the transport selector
-registered in the ARGO directory service for the application
-"echo".
-The server accepts incoming connection requests,
-receives TSDUs, and returns the TSDUs to the sender.
-It never initiates a disconnect, but expects its peer
-to disconnect the transport connection.
-.pp
-The
-program \fItpping\fR connects to the
-echo server.
-The transport service and protocol options it uses are those
-indicated in the ARGO directory service.
-By changing the directory service entry for the
-echo service, each of the transport service options and
-protocol options can be demonstrated.
-See the manual pages
-\fItpping(8)\fR,
-\fItp(4p)\fR,
-and
-\fIisodir(5)\fR
-for more information.
-.sh 3 "The Remote Login Service"
-The remote login server listens on the transport selector
-registered in the ARGO directory service for the application
-"login".
-The server accepts incoming connection requests,
-implements the BSD remote login protocol, checks permissions using
-the \fC~/.rhosts\fR, and \fC/etc/passwd\fR files, and
-uses the ARGO directory service to discover name-to-NSAP-address
-mappings.
-If the remote user is authorized to log in to the end system on which
-the server runs, a login is started.
-.pp
-The program \fIrlogin.iso\fR connects to the remote login server.
-The transport service and protocol options it uses are those
-indicated in the ARGO directory service.
-By changing the directory service entry for the
-login service, each of the transport service options and
-protocol options can be demonstrated.
-See the manual pages
-\fIrlogin.iso(8)\fR,
-\fItp(4p)\fR,
-and
-\fIisodir(5)\fR
-for more information.
-.sh 3 "The Remote Shell Service"
-The remote shell server listens on the transport selector
-registered in the ARGO directory service for the application
-"shell".
-The server accepts incoming connection requests,
-implements the BSD remote command authorization protocol,
-checks permissions using
-the \fC~/.rhosts\fR, and \fC/etc/passwd\fR files, and
-uses the ARGO directory service to discover name-to-NSAP-address
-mappings.
-If the remote user is authorized to execute a shell on
-the end system on which
-the server runs, a shell is started.
-.pp
-The program \fIrcp.iso\fR connects to the remote shell server to
-effect a remote copy.
-The transport service and protocol options it uses are those
-indicated in the ARGO directory service.
-By changing the directory service entry for the
-shell service, each of the transport service options and
-protocol options can be demonstrated.
-See the manual pages
-\fIrcp.iso(8)\fR,
-\fItp(4p)\fR,
-and
-\fIisodir(5)\fR
-for more information.
-.sh 3 "The Simple File Transfer Service"
-.pp
-The last service consists of a pair of programs,
-\fItpfileget\fR and
-\fItpfileput\fR,
-which cooperate to transfer one file.
-The passive program, \fItpfileget\fR,
-listens on the transport selector registered in the ARGO directory service
-to support the application named "tptestsel".
-The sending program, \fItpfileput\fR,
-connects to the passive program, transfers in one TSDU
-the file named on the \fItpfileput\fR command line, and waits for the
-passive end to close the connection.
-\fITpfileget\fR
-opens a file of the name given on its command line,
-accepts one connection request, receives
-one TSDU, writes the contents of that TSDU to the opened file,
-and when it receives the end-of-TSDU indication,
-\fItpfileget\fR closes the transport connection.
-The transport service options and protocol options used by
-\fItpfileput\fR are determined by the ARGO directory service
-record that describes the applicaition "tptestsel".
-See the manual pages
-\fItpfileget(8)\fR,
-\fItp(4p)\fR,
-and
-\fIisodir(5)\fR
-for more information.
-.sh 3 "Internal TP Testing"
-.pp
-The methods used to test each of the various functions
-of TP are described in this section.
-One or more of the services described above were used, while
-the TP activity was observed with tracing or debugging or both.
-The statistics were cleared before each test and inspected
-after each test.
-Each test can be run with different protocol and service options,
-by changing the transport parameters in records
-in the ARGO directory service file.
-See the manual pages
-\fItpstat(8)\fR,
-\fItpmon(8)\fR,
-\fItppt(8)\fR,
-\fIbark(8)\fR,
-\fItp(4p)\fR,
-and
-\fIisodir(5)\fR
-for more information.
-.sh 4 "Normal and Expedited Data Transfer:"
-.pp
-TSDUs are
-distinguished by the presence or absence of the
-EOTSDU bit in the \fIflags\fR parameter of the
-\fIsendv()\fR system call.
-The data of a TSDU are copied into chains of \fImbufs\fR
-in the kernel so that the end of a TSDU lies in an mbuf
-with the \fIm_act\fR field non-zero.
-The end of a TSDU never lies in the middle of an
-mbuf.
-This is true on the receiving side as well.
-On output, the segmenting function,
-the function that copies user data into mbuf chains
-reorganizes mbuf chains into TPDUs,
-is observed using several debug options
-and trace options
-in the routines \fIsosend()\fR
-and \fItp_sbsend()\fR.
-On input, the reassembling mechanism
-is observed in the routine \fItp_stash()\fR.
-The debug options
-\fBT.ndata\fR,
-\fBT.sb\fR, and
-\fBT.xpd\fR
-print information
-pertinent to this function.
-.pp
-Expedited data complicates the matter of segmenting
-because markers must be kept in the chains of outgoing
-TPDUs to indicate the precedence of expedited data TPDUs
-over normal data TPDUs.
-The pertinent trace options are \fBT.sb\fR and \fBT.ndata\fR.
-With the trace and (or) debugging options on,
-and with \fItpdiscard\fR running, one can observe the segmentation
-and reassembly of TPDUs.
-.pp
-Using the file transfer programs to transfer a file,
-then transferring it back with \fIrcp\fR (the TCP version) if necessary, and
-using
-\fIdiff\fR, one can see that data are transferred correctly.
-The \fBT.input\fR trace option creates a readable hexadecimal dump of incoming TPDUs.
-The
-\fBT.emit\fR
-trace option creates the same sort of dump for outgoing
-TPDUs in \fItp_emit()\fR.
-Sequencing
-can be observed by using the
-\fBT.ndata\fR
-and
-\fBT.input\fR
-or
-\fBT.emit\fR
-trace options
-to see the sequence numbers assigned to TPDUs.
-.pp
-The
-\fBT.drop\fR
-debug option causes \fItp_input()\fR
-to throw away occasional TPDUs.
-(The formula for determining when to discard a TPDU
-is ad hoc and simplistic. It causes TPDUs to be
-discarded frequently but not so frequently that the
-receiving side has no chance to recover.)
-With tracing on and the file transfer programs running,
-resequencing can be observed
-and the correctness of the transferred data
-can be verified with \fIdiff(1)\fR.
-.pp
-The use of both normal and extended formats
-can be observed with the \fBT.input\fR and \fBT.emit\fR trace options.
-.pp
-The following statistics are of interest:
-.(b
-.nf
-\fIn\fR connections used extended format
-\fIn\fR connections allowed transport expedited data
-\fIn\fR connections turned off checksumming
-\fIn\fR connections dropped due to retrans limit
-\fIn\fR EOT bits on incoming TPDUs
-\fIn\fR EOT bits on outgoing TPDUs
-\fIn\fR XPD marks discarded
-\fIn\fR XPD stopped data flow \fIm\fR times
-\fIn\fR DTs out of order
-\fIn\fR DTs not in window
-\fIn\fR duplicate DTs
-\fIn\fR XPDs not in window
-\fIn\fR XPDs w/o credit to stash
-\fIn\fR DT (sent)
-\fIn\fR DT (received)
-\fIn\fR DT (retransmitted)
-\fIn\fR XPD (sent)
-\fIn\fR XPD (received)
-\fIn\fR random DTs dropped
-.fi
-.)b
-.sh 4 "Checksumming, use and non-use:"
-.pp
-The checksum generation and checking
-routines were first written and debugged as user-level
-routines before they were modified for kernel use.
-The kernel routines may be observed with the
-\fBT.chksum\fR
-debug option.
-Various sizes of mbufs can be created by creative use of the
-ARGO directory service, particularly by changing the value of the
-attribute \fItp.tpdusize\fR.
-There is no trace option for checksumming.
-Checksumming has been used with transfers to and from at least
-one other TP implementation.
-.pp
-The statistics that are pertinent to checksumming are:
-.(b
-.nf
-\fIn\fR connections turned off checksumming
-\fIn\fR invalid checksums
-.fi
-.)b
-.sh 4 "Acknowledgment:"
-.pp
-Acknowledgment can be observed by using the
-debug and trace options
-\fBT.aks\fR,
-\fBT.akr\fR,
-\fBT.input\fR,
-\fBT.emit\fR,
-and
-\fBT.driver\fR.
-The transport driver (finite state machine) and the routine
-\fItp_goodack()\fR dump information appropriate to acknowledgments.
-If the \fBT.ndata\fR, and \fBT.emit\fR or \fBT.input\fR trace options are used
-along with the \fBT.aks\fR and \fBT.akr\fR trace options,
-a complete picture of the data transfer and acknowledgment
-activity can be created.
-The acknowledgments for expedited data are traced with
-the
-\fBT.xpd\fR
-trace option.
-The routine \fItp_goodXack()\fR and the finite state
-machine dump information when the
-\fBT.xpd\fR
-debug and trace options are used.
-To cause expedited data to be generated,
-the -e or -E option on the discard programs or the file
-transfer programs are used.
-To observe the different acknowledgment strategies,
-the protocol options were changed in the ARGO directory service.
-.pp
-The pertinent statistics are:
-.(b
-.nf
-\fIn\fR AK (received)
-\fIn\fR AK (sent)
-ACK reasons:
-\fIn\fR not acked immediately
-\fIn\fR strategy==each
-\fIn\fR strategy==fullwindow
-\fIn\fR duplicate DT
-\fIn\fR EOTSDU
-\fIn\fR reordered
-\fIn\fR user rcvd
-\fIn\fR fcc reqd
-.fi
-.)b
-.pp
-The smoothed average round trip time is kept
-for outgoing TPDUs for each transport connection
-and for the entire TP entity.
-The time each TPDU is transmitted is recorded, and when an acknowledgment
-arrives, the round trip time is computed for the lowest
-sequence number that this AK TPDU acknowledges.
-The computation of round trip times can be observed
-in a trace with the
-\fBT.rtt\fR
-option.
-.pp
-In addition to average round trip times, the kernel
-maintains the standard deviation of the round trip times.
-This statistic is kept for each connection and for the entire
-TP entity.
-In fact, four such sets of statistics are kept for the TP entity:
-.np
-for traffic not on a public data network (PDN) and on the same network as this end system,
-.np
-for traffic not on a public data network (PDN) and on not the same network as this end system,
-.np
-for traffic on a public data network (PDN) and on the same network as this end system,
-and
-.np
-for traffic on a public data network (PDN) and not on the same network as this end system.
-The determination of whether traffic is on the same network as this end system
-is based on the "network portion" of the peer's NSAP-address.
-For more information about this, see the section of this document titled
-\fB"Network Layer Routing"\fR.
-.pp
-The smoothed average round trip time statistics for a given
-can be observed with the -t option to
-\fItpstat(8)\fR.
-The global round trip statistics can be observed with the -s option to
-\fItpmon(8)\fR.
-.sh 4 "Flow Control:"
-.pp
-Flow control activity is the transfer of credit information
-from end to end and the proper use of that information.
-To see that it works properly, one must observe three
-things:
-the receiving window must shut down and reopen,
-the sender must transmit enough TPDUs to fill the receiver's window
-but no more, and the receiver must renege previously advertised credit.
-These three behaviors have been observed as follows.
-.pp
-Tracing with the
-\fBT.ndata\fR,
-\fBT.aks, \fR
-\fBT.akr, \fR
-\fBT.emit\fR
-and
-\fBT.input\fR
-trace options
-are used.
-The program \fItpdiscard\fR or a simple file transfer
-is run with various window
-and maximum TPDU sizes, various acknoledgment strategies, and
-various retransmission strategies,
-and the activity is observed with the trace.
-The debug option
-\fBT.reneg\fR
-must be used to fake a reneging of credit, since
-the ARGO transport entity does not renege its advertised credit
-under normal operation.
-At the beginning of a connection a closed window may almost always
-be observed.
-The receiving user process may be stopped
-to force a window to shut down.
-The interesting statistics are
-.(b
-.nf
-\fIn\fR times local cdt reneged (receiving)
-\fIn\fR foreign window closed (sending)
-\fIn\fR faked reneging of cdt
-\fIn\fR DT TPDUs (sent)
-\fIn\fR DT TPDUs (received)
-\fIn\fR AK TPDUs (sent)
-\fIn\fR AK TPDUs (received)
-ACK reasons:
-\fIn\fR not acked immediately
-\fIn\fR strategy==each
-\fIn\fR strategy==fullwindow
-\fIn\fR duplicate DT
-\fIn\fR EOTSDU
-\fIn\fR reordered
-\fIn\fR user rcvd
-\fIn\fR fcc reqd
-.fi
-.)b
-.sh 4 "Retransmission and retention until acknowledgment:"
-.pp
-To observe that the sender retains TPDUs until they are
-acknowledged, one needs only to use the
-\fBT.drop\fR
-debug option to cause TPDUs to be dropped by the receiving side.
-They are then retransmitted by the sender
-and finally dropped when the acknowledgment arrives.
-That the buffers used to hold retained TPDUs are freed
-can be observed by
-running \fInetstat(8)\fR with the -m option
-on a quiescent system to observe the number of mbufs in use,
-then
-running a test with the
-\fBT.drop\fR debug option on to cause retransmission,
-and
-finally
-running netstat -m again after the test is over,
-to see that all the mbufs have been freed by TP.
-The actual retransmission activity can be observed in a trace
-with the
-\fBT.ndata, \fR
-\fBT.emit\fR and
-\fBT.input\fR trace options.
-The retransmission strategy to be used is controlled by the
-ARGO directory service.
-The statistics
-.(b
-.nf
-\fIn\fR DT (retransmissions)
-\fIn\fR XPD (retransmissions)
-\fIn\fR CR (retransmissions)
-\fIn\fR CC (retransmissions)
-\fIn\fR DR (retransmissions)
-.fi
-.)b
-.lp
-indicate the number of retransmissions that actually occurred.
-.sh 4 "Timers:"
-.pp
-The debug and trace option
-\fBT.timer\fR
-dumps information about the timers as they are set,
-as they are cancelled, and as they expire.
-The statistics
-.(b
-.nf
-\fIn\fR ticks
-\fIn\fR timers set
-\fIn\fR timers expired
-\fIn\fR timers cancelled
-\fIn\fR inactive timers cancelled
-\fIn\fR connections dropped due to retrans limit
-\fIn\fR CCs sent to zero dref
-.fi
-.)b
-.lp
-are printed for both the E-type timers and for the C-type timers.
-The effect of timers can be seen by observing retransmissions.
-Two simple ways to force retransmissions are:
-.np
-to use the \fBT.zdref\fR debug option,
-which causes CCs to contain a zero destination reference,
-so that connection establishment will time out, and
-.np
-to attempt to open a connection to a transport selector on which
-no process is listening.
-Either of these actions, along with the
-\fBT.connect\fR
-trace or debug option will permit
-observation of the timeout facilities.
-.sh 4 "TPDU creation and parsing:"
-.pp
-TPDUs are created for output in
-\fItp_emit()\fR.
-The
-\fBT.emit\fR
-trace
-option dumps TPDUs as they are transmitted.
-\fITp_input()\fR parses TPDUs on input.
-The
-\fBT.input\fR
-trace
-option dumps TPDUs as they are received.
-The debug options \fBT.emit\fR and \fBT.input\fR dump a lot of excess information
-to the console, and are used primarily for debugging
-extremely pathological behavior.
-.pp
-By tracing the execution of
-\fItpdiscard\fR or a simple file transfer,
-with a variety protocol and service options,
-using the
-\fBT.connect,\fR
-\fBT.emit,\fR
-\fBT.input,\fR
-\fBT.ndata,\fR
-\fBT.aks,\fR
-\fBT.akr,\fR
-and
-\fBT.xpd\fR
-options,
-one can verify the correct placement of TPDU options
-on all types of TPDUs.
-The interesting statistics are
-.(b
-.nf
-\fIn\fR variable parameters ignored
-\fIn\fR invalid parameter codes
-\fIn\fR invalid parameter values
-\fIn\fR invalid dutypes
-\fIn\fR invalid negotiation failures
-\fIn\fR invalid destinagion referencess
-\fIn\fR invalid suffix parameters
-\fIn\fR invalid checksums
-\fIn\fR connections used extended format
-\fIn\fR connections allowed transport XPD
-\fIn\fR connections turned off checksumming
-\fIn\fR TP 4 connections
-\fIn\fR TP 0 connections
-.fi
-.)b
-.sh 4 "Separation and concatenation:"
-.pp
-Concatenation is not supported by this implementation.
-Separation is supported, however, and to test separation,
-some sort of concatenated TPDUs had to be created.
-The code for this is no longer supported.
-After testing locally with some temporary code to create concatenated
-TPDUs,
-the ARGO transport implementation was tested with another transport
-implementation that does generate concatenated TPDUs.
-The interesting statistics are:
-.(b
-.nf
-\fIn\fR concatenated TPDUs
-\fIn\fR TPDUs input
-.fi
-.)b
-.sh 4 "Length limits for TPDUs:"
-.pp
-Some TPDUs may take user data:
-the CR, CC, DR, DT, and XPD.
-All of these but the DT TPDU have limits to the amount
-of data they may carry.
-The limits are enforced for CR, CC, and DR TPDUs by
-\fItp_ctloutput()\fR,
-the routine that accepts data from the user.
-The limit for XPD TPDUs is enforced by
-\fItp_usrreq()\fR, which accepts expedited
-data from the user.
-To test the effectiveness of the checks on output, one may attempt
-to send expedited data with amounts larger than the limit (16 bytes).
-.pp
-On input the limits are checked in
-\fItp_input()\fR.
-To test the effectiveness of the checks on input, it was necessary
-to create an illegally large TPDU.
-The
-\fBT.badsize\fR
-debug option
-does this - it will turn a legitimate
-XPD TPDU into a XPD TPDU with 18 bytes
-of expedited data.
-The interesting statistics are:
-.(b
-.nf
-\fIn\fR illegally large XPD TPDU
-\fIn\fR invalid length
-.fi
-.)b
-.sh 4 "Frozen References:"
-.pp
-The key issue here is to see that references are not reassigned
-until the reference timer expires.
-This can be observed by watching the timer activity as described
-above and by observing the reference numbers chosen for sockets
-with the \fBT.emit\fR
-or \fBT.input\fR trace options, which trace the TPDU headers.
-.sh 4 "Inactivity Control:"
-.pp
-Inactivity control can be observed by turning on the trace options
-\fBT.aks\fR, \fBT.akr\fR and \fBT.emit\fR
-during a simple file transfer.
-In the middle of the transfer, if the sender process
-is stopped, both TP entities continue
-to send acknowledgments.
-This can be observed in the trace.
-If the file tranfer is between machines, taking down one of the machines
-will cause the inactivity timer on the other machine to expire.
-The TP entity will respond to this by sending a DR TPDU
-to close the connection, which can be observed in the trace.
-The expiration of the timer can be observed in a trace if the
-\fBT.driver\fR option is used.
-This option traces all events and state changes in the
-TP
-finite state machine.
-.sh 4 "Connection establishment:"
-.pp
-The process of connection establishment can be observed with the
-\fBT.connect\fR
-trace and debug options, and
-the
-\fBT.driver \fR
-trace option.
-Various states of the connection establishment state machine
-may be observed with the
-the debug option
-\fBT.zdref\fR.
-This option
-causes \fItp_input()\fR
-to change the foreign reference on an incoming CC TPDU to zero,
-eventually causing the CC TPDU to be dropped,
-retransmissions of the CC to occur,
-and the connection to time out before being established.
-The statistics of interest are:
-.(b
-.nf
-\fIn\fR CCs sent to zero dref
-\fIn\fR invalid dest refs
-\fIn\fR CC (received)
-\fIn\fR CC (sent)
-\fIn\fR CC (retransmitted)
-\fIn\fR (connections) timed out on retrans
-.fi
-.)b
-.sh 4 "Disconnection:"
-.pp
-Various states of the connection breakdown part of the state machine
-may be observed with the
-the trace options
-\fBT.input\fR
-or
-\fBT.emit\fR,
-\fBT.driver\fR
-and
-running the
-discard or file transfer programs.
-.sh 4 "Association of TPDUs with Transport Connection:"
-.pp
-The problem of locating a transport connection
-given a TPDU is handled in
-\fItp_input()\fR in one of two ways.
-For an incoming CR TPDU, the transport suffix
-is used to locate a transport protocol
-control block (PCB), to which a transport
-connection is made by creating a new socket and PCB.
-For all other TPDU types, the destination reference is used
-to locate the appropriate transport connection.
-This is done by scanning the list of reference blocks.
-Debug and trace options
-were used to debug these sections of code but have since been
-removed due to their effect on the readability
-and maintainability of this code.
-The trace options
-\fBT.connect\fR
-and
-\fBT.newsock\fR
-creates trace records that contain the address of the
-socket as well as that of the PCB
-when a socket is opened.
-When a TPDU arrives for a given socket,
-the trace records created by the
-\fBT.input \fR
-option will also contain the address of the PCB that is found
-in
-\fItp_input()\fR.
-These two addresses can be compared in the trace output to observe
-that the proper association is made.
-.sh 4 "Protocol Errors and the ER TPDU:"
-.pp
-Certain types of errors are intended to evoke the response
-from the TP entity of sending an ER or a DR TPDU.
-The routine
-\fItp_error_emit()\fR
-creates ER and DR TPDUs for this purpose.
-The debug and trace option
-\fBT.erroremit\fR
-dumps information about the activity of this routine.
-Since ER TPDUs are not generated under normal circumstances,
-the parsing of ER TPDUs was tested in this
-implementation by code that generated (illegitimate) ER TPDUs,
-This code was removed because it significantly complicated code maintenance.
-.sh 4 "User Interface:"
-.pp
-The debug and trace options
-\fBT.request\fR,
-\fBT.params,\fR
-\fBT.indication\fR
-and
-\fBT.syscall\fR and
-dump information about the user interface.
-Most of the debugging code added to the socket-layer
-routines for debugging has since been removed so that
-the source (which is functionally unchanged from the 4.3 release)
-would not unnecessarily be changed.
-\fIRlogin.iso\fR, the TP version of remote login,
-exercises some of the original BSD data transfer system calls
-(\fIread()\fR and \fIwrite()\fR)
-rather than \fIsendv()\fR and \fIrecv()\fR.
-The interesting statistics are
-.(b
-.nf
-\fIn\fR EOT indications
-\fIn\fR user rcvd
-\fIn\fR connections used extended format
-\fIn\fR connections allowed transport XPD
-\fIn\fR connections turned off checksumming
-\fIn\fR TP 4 connections
-\fIn\fR TP 0 connections
-.fi
-.)b
diff --git a/share/doc/iso/wisc/def.nr b/share/doc/iso/wisc/def.nr
deleted file mode 100644
index 1e691bf..0000000
--- a/share/doc/iso/wisc/def.nr
+++ /dev/null
@@ -1,144 +0,0 @@
-.NC "Definitions"
-.sh 1 "General Terms"
-.ip "Kernel" 5
-The source code or binary module for the Acis Operating System
-(also know as AOS and IBM/4.3).
-.ip "User process" 5
-An instance of a program that is
-running in unprivileged mode, in the unprivileged address space
-commonly know as "user address space", in other words, not
-part of the kernel.
-.ip "IPC" 5
-Interprocess communication, the mechanism by which two different
-user processes send messages to each other.
-.ip "Unix, AOS" 5
-ACIS Operating System, the IBM ACIS port of Berkeley Unix 4.3BSD.
-.ip "PCB, pcb" 5
-Protocol control block. Each instance of a protocol machine
-keeps status information, addresses, and in some cases queues
-in a pcb for each connection or socket.
-.ip "Domain" 5
-In the Berkeley Unix environment, a domain is an abstract entity which
-comprises a network architecture, addressing scheme, address format,
-network protocols, and transport protocols.
-.sh 1 "Transport Layer Terms"
-.ip "ISO 8073"
-ISO Draft International Standard 8073, Transport Protocol Specification
-.ip "TP" 5
-The collection of transport
-classes that have been implemented in ARGO, classes 0 and 4.
-Also means the ARGO implementation of TP.
-.ip "TP 0" 5
-Transport class 0.
-.ip "TP 4" 5
-Transport class 4.
-.ip "Transport entity" 5
-Software or hardware that implements the elements of procedure
-described in ISO 8073.
-.ip "Transport user" 5
-User process that make use of the services
-provided by a transport entity.
-.ip "Transport service interface" 5
-The syntax and semantics of the set of procedures, functions, and system calls
-that are invoked by a transport user,
-through which the services of the transport entity are delivered.
-.ip "TPDU" 5
-Transport protocol data unit, a packet that is
-passed from one transport entity to another.
-.ip "TSDU" 5
-Transport service data unit, the logical unit of data that is
-passed from a transport entity to a transport user, or from
-a transport user to a transport entity.
-.ip "CR TPDU" 5
-Connection request TPDU.
-.ip "CC TPDU" 5
-Connection confirm TPDU.
-.ip "DR TPDU" 5
-Disconnect request TPDU.
-.ip "DC TPDU" 5
-Disconnect confirm TPDU.
-.ip "DT TPDU" 5
-Normal data TPDU.
-.ip "XPD TPDU" 5
-Expedited data TPDU.
-.ip "AK TPDU" 5
-Normal data acknowledgment TPDU.
-.ip "XAK TPDU" 5
-Expedited data acknowledgment TPDU.
-.ip "ER TPDU" 5
-Error TPDU.
-.sh 1 "Network Layer Terms"
-.ip "ISO 8473"
-ISO Draft International Standard 8473, connectionless network protocol.
-.ip "CONS"
-Connection Oriented Network Service.
-.ip "COSNS"
-Connection Oriented Sub-Network Service.
-.ip "CLNS"
-Connectionless Network Service.
-.ip "CLNP"
-Connectionless Network Protocol, or ISO 8473.
-.ip "Network Entity"
-Software or hardware that implements the elements of procedure described
-in ISO 8473.
-.ip "Network Service User"
-Software components that make use of the services provided by a network
-entity.
-.ip "Network Service Provider"
-Software components that provide the services of a network entity.
-.ip "NSAP"
-Network Service Access Point. The point at which the OSI network service
-is made available to the network service user by the network service
-provider.
-.ip "NSAP address"
-Information that the network service provider needs to identify an
-NSAP. The source and destination address fields of a CLNP packet
-are NSAP addresses.
-.ip "ES"
-End system. A system running the complete suite of OSI protocols which can
-act as an end point for communication.
-.ip "IS"
-Intermediate system. A system running the OSI layers 1, 2, and 3 which
-can act only a packet router.
-.ip "SNPA"
-The Subnetwork Point of Attachement is the point where a \fIreal\fR
-end or intermediate system is attached to a \fIreal\fR subnetwork.
-.ip "SNPA address"
-Information that a \fIreal\fR subnetwork need to identify a \fIreal\fR end
-or intermediate system. This is commonly referred to as the hardware address.
-.ip "NPDU"
-Network Protocol Data Unit. The unit of data which is exchanged between
-network entities.
-.ip "DT NPDU"
-Normal data NPDU.
-.ip "ER NPDU"
-Error report NPDU.
-.ip "Initial NPDU"
-A NPDU carrying the whole of the user data from an N-UNITDATA request.
-.ip "Derived NPDU"
-a NPDU whose field ar identical to those of an initial NPDU, except that it
-carries only a segment of the user data from an N-UNITDATA request.
-.ip "Segment"
-A distinct unit of data consisting of part or all of the user data provided
-in the N-UNITDATA request and delivered in the N-UNITDATA indication.
-.ip "Segmentation"
-The act of generation two or more derived NPDUs from an initial or derived
-NPDU.
-.ip "Fragment"
-A DoD Internet Protocol term with the same meaning as "segment". Used
-synonymously with "segment."
-.ip "Fragmentation"
-A DoD Internet Protocol term with the same meaning as "segmentation". Used
-synonymously with "segmentation."
-.ip "Reassembly"
-The act of regenerating an initial NPDU from two ore more derived NPDUs.
-.ip "MTU"
-Maximum transmission unit. The maximum size of a packet that can be
-transmitted on a medium or through a protocol.
-For example, the MTU of the TP protocol is 8192 bytes, the MTU
-of and Ethernet device is 1500 bytes, and the MTU of the OSI Network
-service is 512 bytes.
-.ip "Network interface"
-The device used to attach a computer to a network, for example,
-an Ethernet adapter, or a Token Ring adapter.
-This unfortunate terminology is inherited from BSD Unix.
diff --git a/share/doc/iso/wisc/dogrn b/share/doc/iso/wisc/dogrn
deleted file mode 100755
index 83964ae..0000000
--- a/share/doc/iso/wisc/dogrn
+++ /dev/null
@@ -1,6 +0,0 @@
-#! /bin/csh -f
-set dev=fa
-foreach m ($argv)
- echo grn -P$dev $m.grn ">" $m.nr
- grn -P$dev $m.grn > $m.nr
-end
diff --git a/share/doc/iso/wisc/eicon.nr b/share/doc/iso/wisc/eicon.nr
deleted file mode 100644
index a99c4c5..0000000
--- a/share/doc/iso/wisc/eicon.nr
+++ /dev/null
@@ -1,731 +0,0 @@
-.\" $Id$
-.\"
-.sh 2 "X.25 Public Data Network Support"
-.pp
-This ARGO release includes support for an X.25 Public Data Network (PDN)
-in the form of a device driver for the Eicon Technology
-Network Adapter \**.
-.(f
-This adapter, its software, and its documentation are
-available from Eicon Technology Corporation, 3452 Ashby Street, Montreal,
-Quebec, Canada H4R 2C1.
-.)f
-The adapter and its software, together with
-the ARGO \fIecn(4)\fR driver, implement
-the X.25 packet layer protocol as required to support the OSI connection
-oriented network service.
-The remainder of this section of this manual
-destribes the ARGO device driver (hereinafter called "the driver")
-for the Eicon Technology Network Adapter (hereinafter called "the adapter"),
-the interface between the driver
-and the CONS software described above, and the interface
-between the driver and the software on the adapter.
-.sh 3 "Software Modules"
-.lp
-The modules relevant to the design of the driver are listed below.
-.ip "\fICONS -\fR"
-The Connection Oriented Network Service (CONS) provides the upper ISO layers
-with an interface to the PDN.
-In this release,
-the PDN is 1980 X.25, although support for 1984 X.25 is included.
-CONS can receive requests
-from the CLNP entity and
-from the OSI transport entity.
-In addition, the CONS module
-supports \fIioctl()\fR commands used by
-\fIifconfig(8)\fR to configure
-the X.25 network address and to
-declare the adapter to be up or down.
-See \fIcons(4p)\fR.
-.ip "\fIDriver -\fR"
-The driver accepts commands from CONS, formats these commands
-for the adapter, and interprets error indications delivered by the adapter.
-This driver supports all the UNIX configuration device structures.
-See \fIecn(4)\fR.
-.ip "\fIEcnconf -\fR"
-\fIEcnconf\fR is a program that allows the privileged user to
-reconfigure
-the options offered by the software on the adapter.
-\fIEcnconf\fR can be run at any time.
-See \fIecnconf(8)\fR.
-.ip "\fIEcnload -\fR"
-\fIEcnload\fR is a program that downloads Eicon Technology software
-to the adapter and passes the configuration changes made
-with the \fIecnconf\fR program to the driver.
-\fIEcnload must be run only when the X.25 link is considered down\fR.
-See \fIecnload(8)\fR.
-.ip "\fIEcnstat -\fR"
-\fIEcnstat\fR is a program that
-prints the connection state information and counters kept by
-the adapter and by the driver.
-The statistics include the number of sends and receives,
-active connections, and errors.
-For more information, see \fI ecnstat(8)\fR.
-.ip "\fIAdapter -\fR"
-The adapter's interface to the driver is the Network Control
-Block and Request Vector that exist within the adapter's shared memory (often
-called the "Common Data Area").
-This is described in detail below.
-.sh 3 "Interactions Among the Modules"
-.lp
-The commands
-passed between CONS and the driver can be any one of the \fIECN\fR
-commands outlined in the
-sections "ECN Requests" and "ECN Replies", below.
-CONS uses the \fCecnrestart()\fR procedure for restart requests,
-\fCecnshutdown()\fR procedure for shutdown requests, and
-\fCecnoutput()\fR procedure for all
-normal data transfer requests.
-CONS uses the \fCecnioctl()\fR procedure call for
-servicing adapter status requests from the X.25 statistics program \fIecnstat\fR.
-.lp
-Commands passed between the driver and the adapter can
-be any one of the network control block (\fINCB\fR)
-commands described in the section "NCB Commands", below.
-All commands to and from the adapter are
-communicated in the Network Control Block and Request Vector within
-the adapter's Common Data Area.
-.lp
-\fIEcnload\fR starts the
-Eicon Technology Network Adapter software on the adapter
-and downloads the validated configuration
-to the driver.
-.sh 3 "ECN Requests"
-.lp
-The \fIECN\fR request types that CONS can pass to the driver are listed below.
-.ip "\fIECN_STOP - (by calling ecnshutdown())\fR"
-This request instructs the driver to restart the network but not to listen for
-any incoming calls.
-CONS issues this request in response to an \fIioctl()\fR command
-issued by the utility program \fIifconfig\fR, when
-\fIifconfig\fR is used to bring down the adapter.
-.ip "\fIECN_RESTART - (by calling ecnrestart())\fR"
-This request instructs the driver to restart the network \fIand\fR to listen
-and accept any incoming calls.
-CONS issues this request in response to an \fIioctl()\fR command
-issued by the utility program \fIifconfig\fR, when
-\fIifconfig\fR is used to bring the adapter up.
-.ip "\fIECN_CALL - 0x90\fR"
-This request instructs the driver to place
-a call request
-to the specified DTE.
-.ip "\fIECN_CLEAR - 0x92\fR"
-This request instructs the driver to clear a given virtual circuit.
-All outbound data are acknowledged by the remote DTE
-before the circuit is cleared.
-.ip "\fIECN_SEND - 0x94\fR"
-This request instructs the driver to transmit a data buffer across a given
-virtual circuit.
-.ip "\fIECN_RESET - 0x04\fR"
-This request instructs the driver to reset the given virtual circuit and
-clear out all outstanding requests
-associated with that virtual circuit.
-.ip "\fIECN_STATUS - 0xb4 (exclusively through ecnioctl())\fR"
-This requests instructs the driver to
-solicit the adapter's current connection state information and
-counters.
-.sh 3 "ECN Replies"
-.lp
-The \fIECN\fR responses
-the driver can give
-to CONS are listed below.
-.ip "\fIECN_CONNECT - 0x01\fR"
-This reply notifies CONS that the driver has established a virtual circuit
-connection initiated by the remote DTE.
-.ip "\fIECN_ACCEPT - 0x03\fR"
-This reply notifies CONS that an ECN_CALL request has succeeded. The
-reply contains a pointer to a protocol control block.
-.ip "\fIECN_REFUSE - 0x02\fR"
-This reply notifies CONS that a previous \fIECN_CALL\fR request has failed.
-The reply contains a pointer to a protocol control block.
-.ip "\fIECN_CLEAR - 0x92\fR"
-This reply notifies CONS that a given virtual circuit has been cleared
-either by the DCE or by the remote DTE.
-.ip "\fIECN_RECEIVE - 0x95\fR"
-This reply notifies CONS that the driver has received a data packet from
-the remote DTE.
-.ip "\fIECN_RESET - 0x04\fR"
-This reply notifies CONS that the virtual circuit has been reset either
-by the DCE or by the remote DTE.
-.ip "\fIECN_ACK - 0x05\fR"
-This reply tells CONS that the associated ECN_SEND request has been
-completed by the adapter.
-.sh 3 "NCB Commands"
-.lp
-The driver hides from the CONS module
-many of the idiosyncrasies of the adapter's
-software interface
-by mapping many of the above \fIECN\fR requests into corresponding
-\fINCB\fR commands. Below is a list of requests that the driver can place to
-the adapter. For each request that the driver places to the adapter, the adapter
-returns with a command completion.
-.ip "\fINCB_CALL - 0x90\fR"
-This command creates a virtual circuit.
-.ip "\fINCB_LISTEN - 0x91\fR"
-This command tells the adapter that our host is
-willing to accept incoming calls.
-.ip "\fINCB_CLEAR (and NCB_ABORT) - 0x92\fR"
-This command clears a virtual circuit. An option exists to clear the circuit
-immediately, without waiting first for outstanding acknowledgments.
-.ip "\fINCB_SEND (and NCB_RESET) - 0x94\fR"
-This command sends data to the remote DTE. An option is
-available for resetting the
-virtual circuit. This command can return a status indicating that the
-circuit has been cleared by the DCE or the remote DTE.
-.ip "\fINCB_RECEIVE - 0x95\fR"
-This command tells the adapter that our host is
-willing to receive data on a given virtual circuit. This command can return
-received data, a reset circuit, M-, D-, and Q-bits, interrupt packets,
-or a cleared circuit.
-.ip "\fINCB_STATUS - 0xb4\fR"
-This command queries the adapter about
-the status of a virtual circuit.
-The driver uses this command to support the ECN_STATUS request.
-.ip "\fINCB_RESTART - 0xb2\fR"
-This command restarts the network. This command requires that a corresponding
-configuration file be passed down to the adapter.
-.bp
-.sh 3 "ECN Request and Reply Structure"
-.lp
-Below is
-the data structure used in CONS-driver
-communications.
-This data structure is a parameter to the
-\fIecnoutput()\fR procedure.
-\fC
-.nf
-/* Eicon Driver Request Structure -- used between CONS and the driver */
-
-struct eicon_request {
- struct ecn_ncb eicon_req_ncb; /* the network control block */
- caddr_t eicon_req_pcb; /* CONS pcb used on CALL requests */
- int eicon_req_state; /* used internally by the driver */
- int eicon_retry_cnt; /* used internally by the driver */
- int eicon_more; /* used internally by the driver */
- u_char eicon_reason; /* source of CLEAR requests */
-};
-\fR
-.lp
-The \fCeicon_req_ncb\fR field in the eicon request structure is of
-type \fCecn_ncb\fR, defined in the following section. This structure stores
-the command block
-that the driver uses in communicating with the adapter.
-The command block contains a \fIlogical session number\fR (LSN),
-which identifies a virtual circuit.
-Requests such as ECN_CALL are made without an LSN to identify
-a circuit.
-When an LSN is not available, the request is identified by
-the field
-\fCeicon_req_pcb\fR, which is a pointer to a CONS protocol control block.
-The \fCeicon_req_state\fR field is used by the driver to keep track
-of the status of the given request.
-The following list defines the various values for this field:
-.ip "\fIREQ_NEW\fR"
-The driver recognizes a new request, has placed the request into the driver's
-own request queue, but has yet to interrupt the
-adapter. (The driver maintains a pointer \fCecn_pending_req\fR that indicates
-whether an interrupt to the adapter is outstanding. If one is outstanding, the
-driver places any new requests in this \fIREQ_NEW\fR state. If an interrupt
-is not
-outstanding, the driver places the request immediately in the
-\fIREQ_INTERRUPT\fR state defined below.)
-.ip "\fIREQ_INTERRUPT\fR"
-The driver has dequeued the CONS request, assigned \fCecn_pending_req\fR to
-point to the request, and
-interrupted the adapter for a chance to post this request.
-.ip "\fIREQ_POSTED\fR"
-The driver has sent the request to the adapter.
-.ip "\fIREQ_COMPLETE\fR"
-The driver has just completed the request, and if necessary, is now posting
-it to CONS.
-.lp
-The \fCeicon_retry_cnt\fR field in the eicon request structure keeps track
-of how many times the driver has tried posting this command to the adapter.
-After the second retry, the driver gives up and performs the appropriate
-error routine.
-The \fCeicon_more\fR field defines a \fIRECEIVE\fR request that
-has been re-posted to the adapter to take care of m-bit transfers.
-The \fCeicon_reason\fR field quantifies the reason for a connection being
-cleared. These reasons are defined in the include file \fCiso_errno.h\fR.
-.lp
-Any data associated with the request are linked to the request through the
-request mbuf's \fCm_next\fR field.
-This is done so that when
-the driver calls the \fIMFREE_M\fR deallocation routine, both the request
-and the data are freed together.
-.lp
-The following chart defines those fields within the eicon request structure
-that are relevant in any CONS request
-to the driver via the \fIecnoutput()\fR call.
-.sp
-.sz 8
-.TS
-center,box,tab(:);
-c s s s s
-c||c s s s
-c||c|c|c|c
-l||l|l|l|l.
-\fBField Definitions for CONS \(-> Driver Requests\fR
-_
-\fI:Request Types (CONS \(-> Driver)\fR
-\fIField:ECN_CALL:ECN_CLEAR:ECN_SEND:ECN_RESET\fR
-=
-\fIncb\(->command\fR:0x90:0x92:0x94:0x04
-_
-\fIncb\(->loc_ses_num\fR:T{
-.na
-leave as zero
-T}:VC #:VC #:VC #
-_
-\fIncb\(->info\fR:0x0:0x0:0x0:0x2
-_
-\fIeicon_req_pcb\fR:T{
-.na
-address of CONS' protocol control block
-T}:NULL:NULL:NULL
-_
-\fIeicon_req_data\fR:T{
-.na
-address of mbuf containing contents of Call Request packet (including DTE address, facilities, and call user data)
-T}:T{
-.na
-NULL or address of mbuf containing contents of Clear Request packet
-T}:T{
-.na
-address of mbuf containing contents of user data
-T}:T{
-.na
-NULL or the address of mbuf containing a one byte Reset Diagnostic code
-T}
-.TE
-.sz 10
-.sh 3 "Structure of the Network Control Block (NCB)"
-.lp
-The \fCecn_ncb\fR structure is used by the driver to
-make requests of the adapter.
-\fC
-.nf
-/* Network Control Block -- used between the driver and the Eicon adapter */
-
-struct ecn_ncb {
- u_char command; /* command field */
- u_char retcode; /* return code field */
- u_char lsn; /* local session number */
- u_char info; /* additional information */
- caddr_t buffer; /* pointer to data buffer's mbuf */
- u_short length; /* buffer length */
- u_char callname[16]; /* module name on NA "X25" */
- u_char appl_name[16]; /* application name */
- u_char rxto; /* receive timeout in secs */
- u_char txto; /* send(tx) timeout in secs */
- caddr_t post; /* NULL */
- u_char lana_num; /* specifies Eicon Tech NA */
- u_char cmd_cplt; /* command status */
- u_char reserve[14]; /* reserved area */
-};
-\fR
-.sp
-.lp
-The chart below defines those fields that are relevant in any
-reply passed by the driver back up to CONS.
-.sp
-.sz 7
-.TS
-center,box,tab(:);
-c s s s s s s
-c||c s s s s s
-c||c|c|c|c|c|c
-l||l|l|l|l|l|l.
-\fBField Definitions for Driver \(-> CONS Replies\fR
-_
-\fI:Reply Types (Driver \(-> CONS)\fR
-\fIField:ECN_CONNECT:ECN_ACCEPT:ECN_REFUSE:ECN_CLEAR:ECN_RECEIVE:ECN_RESET\fR
-=
-\fIncb\(->command\fR:0x01:0x03:0x02:0x92:0x95:0x04
-_
-\fIncb\(->loc_ses_num\fR:VC #:VC #:ignore:VC #:VC #:VC #
-_
-\fIncb\(->info\fR:ignore:ignore:ignore:ignore:T{
-.na
-Interrupt received (bit 0), D-bit set (bit 6), and/or Q-bit set (bit 7). Zero
-info field implies a normal receive.
-T}:ignore
-_
-\fIeicon_req_pcb\fR:NULL:T{
-.na
-address of CONS's protocol control block
-T}:T{
-.na
-address of CONS's protocol control block
-T}:ignore:ignore:ignore
-_
-\fIeicon_req_data\fR:T{
-.na
-NULL or address of mbuf containing contents of Call Indication packet
-T}:T{
-.na
-NULL or address of mbuf containing contents of Call Connected data
-T}:T{
-.na
-NULL or address of mbuf containing contents of Call Cleared data
-T}:T{
-.na
-NULL or address of mbuf containing contents of Call Cleared data
-T}:T{
-.na
-address of mbuf containing contents of user data
-T}:T{
-.na
-NULL or address of mbuf containing one byte Reset Diagnostic code
-T}
-_
-\fIeicon_reason\fR:ignore:ignore:T{
-.na
-reason for refusal
-T}:T{
-.na
-reason for clear
-.T}:ignore:T{
-.na
-reason for reset
-T}
-.TE
-.sz 10
-.bp
-.sh 3 "Internal Driver Data Sructures"
-.lp
-The main driver data structure
-is the \fIecn_softc\fR structure.
-This structure keeps track of the interface request queue
-(\fCecn_if\fR and \fCecn_pending_req\fR),
-magic addresses on the adapter (\fCecn_iom_base, ecn_mem_base,\fR and
-\fCecn_data_base\fR),
-error statistics (\fCecn_errors\fR), the state
-of each virtual circuit (\fCecn_vc_state\fR), the state of the \fILISTEN\fR
-request (\fCecn_listen_pending\fR), and the current caller (\fCecn_cause\fR).
-\fC
-.nf
-struct ecn_softc {
- int ecn_errors[NCB_MAX][ST_MAX];
- int ecn_cause[CAUSE_MAX]; /* ecn_work() causes */
- struct mbuf *ecn_pending_req; /* waiting for command req */
- char ecn_listen_pending; /* boolean = listen req pending? */
- char ecn_vc_state[LSN_MAX]; /* the current state of each vc */
- struct ecn_device
- *ecn_iom_base; /* base address of io map */
- struct ecn_request_vector
- *ecn_mem_base; /* base address of memory map */
- caddr_t ecn_data_base; /* base address for data area */
- struct ifnet ecn_if; /* queue of new requests */
-}
-\fR
-.so figs/ecn_queue.nr
-.sh 2 "Queueing in the Driver"
-.lp
-.CF
-illustrates the queueing mechanism used by the driver.
-.lp
-CONS queues its data transfer requests at the end of the queue managed by
-\fCecn_if\fR field in the \fCecn_softc\fR structure.
-At this point, each request has the state value of
-\fIREQ_NEW\fR.
-Once the driver notifies the adapter that it has a command to post,
-the driver dequeues the first request from the \fCecn_if\fR queue
-and sets the pointer
-\fCecn_pending_req\fR to point to the request.
-At this point, the request is in the \fIREQ_INTERRUPT\fR state.
-.lp
-Once the driver posts the request to the adapter, it
-dequeues the next request in the \fCecn_if\fR queue, reassigns the
-\fCecn_pending_req\fR pointer, and then indicates to the adapter
-that it is ready to post another request.
-The driver no longer has to keep track of the previous request,
-because for every reply, the adapter includes the associated
-mbuf pointer.
-While the request is outstanding, the request is in the \fIREQ_POSTED\fR state.
-.so figs/ecn_vc.nr
-.lp
-After the adapter completes the command, the driver may want to reply to CONS.
-It does this by placing its reply in CONS's \fCconsintrq\fR queue, defined as
-an external \fCifqueue\fR in the driver code.
-.sh 2 "Virtual Circuit States"
-.lp
-The \fCecn_vc_state\fR array in the \fCecn_softc\fR structure above keeps track
-of the state of each virtual circuit (VC).
-This is necessary to avoid handing
-the adapter any commands that may not apply during a given state.
-This mechanism
-is especially useful in dealing with unexpected aborts or clears where there
-is the potential for all outstanding commands to complete with errors.
-By changing
-states, the driver can prevent redundant commands (like clears and aborts)
-from being passed either to the adapter or to CONS.
-.lp
-The driver only keeps track of four different states, as illustrated in
-.CF
-.
-These states are:
-.ip "\fIVC_NO_CONNECTION\fR"
-When a virtual circuit is in this state, the virtual circuit does not exits.
-Only \fICALL\fR and \fILISTEN\fR commands are valid.
-.ip "\fIVC_DATA_XFER\fR"
-All commands, except \fICALL\fR and \fILISTEN\fR commands are valid once the
-connection exists.
-.ip "\fIVC_RESET_IN_PROGRESS\fR"
-In this state, either the driver has issued an \fINCB_RESET\fR or it has
-received a reset error code on the completion of a command.
-Only reissued \fIRESET\fR commands and \fIRECEIVE\fRs are
-valid.
-\fIRECEIVE\fR is valid in this state because the adapter uses the
-completion of this command to hand back the cause of the reset (the RESET
-INDICATION packet).
-.ip "\fIVC_CLEAR_IN_PROGRESS\fR"
-The driver has either issued an \fINCB_CLEAR\fR command or has just
-received a clear error code on the completion of a command.
-Within this state, only reissued
-\fICLEAR\fR and \fIABORT\fR commands are valid.
-.sh 2 "Error Statistics"
-.lp
-With the \fCecn_errors\fR field in the \fCecn_softc\fR structure,
-the driver maintains a two dimensional array of counters
-if the frequencies of errors.
-In order to inspect this array easily with
-the kernel debugger, the first index to every command ( <command, 0> ) is
-reserved for a four character ASCII command identifier.
-.bp
-.sh 3 "The Driver State Machine"
-.sh 2 "Handling of Normal Command Completions"
-.lp
-The chart below lists
-all the available adapter request types, at what level each of
-these requests can be used, options, and the driver's action after a normal
-completion of the command.
-.sp
-.sz 7
-.TS
-center,box,tab(:);
-c s s s
-c|c s|c
-c|c|c|c
-l|l|l|l.
-\fBNormal Completion Handling\fR
-_
-\fINCB:Options:Action Based on Normal Competion of\fR
-\fICommand:To Adapter:From Adapter:Driver\(->Adapter Command\fR
-=
-\fINCB_RESTART\fR:none:none:T{
-.na
-dequeue the request, and issue an NCB_LISTEN request to the adapter.
-T}
-_
-\fINCB_CALL\fR:none:connected:T{
-.na
-dequeue the request, pass an ECN_ACCEPT reply to CONS, and issue a RECEIVE to
-the adapter.
-T}
-_
-\fINCB_LISTEN\fR:T{
-.na
-use zero-length Call User Data and a zero-length Calling DTE address
-T}:none:T{
-.na
-dequeue the request, pass an ECN_CONNECT to CONS, and issue a RECEIVE to the
-adapter. Re-issue another NCB_LISTEN
-for another possible virtual circuit connection.
-T}
-_
-\fINCB_CLEAR\fR:T{
-.na
-normal clearing with all outstanding ACKs returned
-T}:none:T{
-.na
-dequeue the request.
-T}
-:_:_:_
-:T{
-.na
-immediate clearing
-T}:none:T{
-.na
-dequeue the request.
-T}
-_
-\fINCB_SEND\fR:T{
-.na
-normal send
-T}:none:T{
-.na
-dequeue the request and reply to CONS with an ECN_ACK.
-T}
-:_:_:_
-:T{
-.na
-reset the virtual circuit
-T}:none:T{
-dequeue the request.
-T}
-_
-\fINCB_RECEIVE\fR:none:T{
-.na
-normal, uncomplicated receive
-T}:T{
-.na
-dequeue the request and bcopy the data into the request's associated mbuf. Ship to CONS. Re-issue another NCB_RECEIVE.
-T}
-:_:_:_
-:none:T{
-.na
-m-bit set
-T}:T{
-.na
-same as above (adapter does the resegmentation automatically).
-T}
-:_:_:_
-:none:T{
-.na
-d-bit set
-T}:T{
-.na
-same as above.
-T}
-:_:_:_
-:none:T{
-.na
-q-bit set
-T}:T{
-.na
-same as above.
-T}
-:_:_:_
-:none:T{
-.na
-interrupt received
-T}:T{
-.na
-same as above.
-T}
-:_:_:_
-:none:T{
-.na
-reset received
-T}:T{
-dequeue the request, send an ECN_RESET back up to CONS, and issue another
-receive.
-T}
-.TE
-.sz 10
-.sp
-.uh "CONS \(-> Driver"
-.lp
-All entries in this column indicate that the CONS module can send this request
-down to the driver. Command names in parenthesis define the mapping between
-the \fIECN\fR and \fINCB\fR commands.
-.uh "Driver \(-> Adapter"
-.lp
-All checks in this column indicate that the driver can send this request
-to the adapter. The last column in the above table defines what the driver must
-do upon normal completion of the command from the adapter.
-Note that not all driver-to-adapter
-commands have a CONS-to-driver equivalent.
-This shows that this
-command request is generated within the driver, rather than originating from
-the CONS driver.
-.uh "Driver \(-> CONS"
-.lp
-All entries in this column indicate that the driver can send this reply
-back to CONS. Command names in parenthesis define the mapping between
-the \fIECN\fR and \fINCB\fR commands.
-.bp
-.sh 3 "Handling of Errors upon Command Completion"
-.lp
-Below is listed all the driver request and pseudo request types, along with the
-actions the driver must perform given a command completion error delivered by
-the Eicon Network Adapter.
-.sp
-.sz 7
-.TS
-center,box,tab(:);
-c s s s s s s s
-c||c s s s s s s
-c||c|c|c|c|c|c|c
-c||c|c|c|c|c|c|c
-l||l|l|l|l|l|l|l.
-\fBError Completion Handling\fR
-_
-:\fIAction Based on Error Completion of Driver \(-> Adapter Command\fR
-\fIError Returned\fR:_:_:_:_:_:_:_
-\fI:NCB_CALL:NCB_LISTEN:NCB_CLEAR:NCB_ABORT:NCB_RESET:NCB_SEND:NCB_RECEIVE\fR
-=
-\fIST_BAD_LEN\fR:<soft-error>:<soft-error>:<soft-error>:<soft-error>:<soft-error>:<soft-error>:<soft-error>
-_
-\fIST_INVALID\fR:<soft-error>:<soft-error>:<dequeue>:<dequeue>:<dequeue>:<dequeue>:<dequeue>
-_
-\fIST_COMMAND_TO\fR:<retry>:<retry>:<retry>:<retry>:<abort>:<abort>:<retry>
-_
-\fIST_ISSUE_ANOTHER_RCV\fR:<refuse>:<retry>:<retry>:<retry>:<abort>:<abort>:T{
-.na
-requeue request and increment "more" count
-T}
-_
-\fIST_BAD_LSN\fR:<soft-error>:<soft-error>:<dequeue>:<dequeue>:<dequeue>:<dequeue>:<dequeue>
-_
-\fIST_NO_RESOURCES\fR:<retry>:<retry>:<retry>:<retry>:<abort>:<abort>:<retry>
-_
-\fIST_CALL_CLEARED\fR:<refuse>:<retry>:<retry>:<retry>:<clear>:<clear>:<clear>
-_
-\fIST_COMMAND_CANCELLED\fR:<refuse>:<retry>:<retry>:<retry>:<abort>:<abort>:<abort>:
-_
-\fIST_NO_CIRCUITS\fR:<refuse>:<retry>:<retry>:<retry>:<abort>:<abort>:<abort>
-_
-\fIST_CALL_UNSUCCESSFUL\fR:<refuse>:<retry>:<retry>:<retry>:<abort>:<abort>:<abort>
-_
-\fIST_INCORRECT_CALLNAME\fR:<soft-error>:<soft-error>:<soft-error>:<soft-error>:<soft-error>:<soft-error>:<soft-error>
-_
-\fIST_X25_RESET\fR:<refuse>:<retry>:<retry>:<retry>:<dequeue>:<dequeue>:<retry>
-_
-\fIST_TOO_MANY_COMMANDS\fR:<retry>:<retry>:<retry>:<retry>:<abort>:<abort>:<retry>
-_
-\fIST_L1_NO_DATA_SET_READY\fR:<refuse>:<retry>:<retry>:<retry>:<abort>:<abort>:<abort>
-_
-\fIST_L1_NO_CLEAR_TO_SEND\fR:<refuse>:<retry>:<retry>:<retry>:<abort>:<abort>:<abort>
-_
-\fIST_L1_NO_CLOCK\fR:<refuse>:<retry>:<retry>:<retry>:<abort>:<abort>:<abort>
-.TE
-.sz 10
-.sp
-.lp
-Each of the actions from the above chart are defined as follows.
-.ip "\fI<abort>\fR -"
-The driver should clear the connection by issuing an \fINCB_ABORT\fR
-to the adapter and sending an \fIECN_CLEAR\fR to CONS.
-.ip "\fI<refuse>\fR -"
-The driver should send an \fIECN_REFUSE\fR back to CONS.
-.ip "\fI<dequeue>\fR -"
-The driver should simply dequeue the request. Usually these errors occur when a
-reset or clear occurs on the adapter while the driver is in the midst of
-issuing the command which subsequently completes with an error status.
-.ip "\fI<clear>\fR -"
-The driver should send an \fIECN_CLEAR\fR back up to CONS.
-.ip "\fI<retry>\fR -"
-The driver should requeue the request if and only if the
-\fCecn_retry_cnt\fR field in the request structure does not exceed the
-retry maximum.
-.ip "\fI<soft-error>\fR -"
-This action only takes place when a software error has occurred. The driver
-should
-print the error to the console in big bold letters and then panic.
-.bp
-.sh 3 "The IFP Flags"
-.lp
-The IFP flags in the standard \fCifnet\fR structure
-should be used in the following way.
-.ip "\fIIFF_UP on -\fR"
-This flag is set by the driver only after the procedure \fIecnrestart()\fR
-successfully completes.
-.ip "\fIIFF_UP off -\fR"
-This flag is set immediately upon entry into the procedure \fIecnshutdown()\fR.
-.ip "\fIIFF_RUNNING on -\fR"
-This flag is set on whenever the \fIecnwork()\fR procedure is active, eg. the
-driver is actually doing something.
-.ip "\fIIFF_RUNNING off -\fR"
-This flag is turned off upon exit from the \fIecnwork()\fR procedure.
diff --git a/share/doc/iso/wisc/eicon.table5.1.orig.nr b/share/doc/iso/wisc/eicon.table5.1.orig.nr
deleted file mode 100644
index 78bda62..0000000
--- a/share/doc/iso/wisc/eicon.table5.1.orig.nr
+++ /dev/null
@@ -1,126 +0,0 @@
-.TS
-center,box,tab(:);
-c s s s s s s
-c|c s s|c s|c
-c|c|c|c|c|c|c
-l|c|c|c|l|l|l.
-\fBNormal Completion Handling\fR
-_
-\fINCB:Usage:Options:Action Based on Normal Competion of\fR
-\fICommand:CONS\(->Driver:Driver\(->Board:Driver\(->CONS:To Board:From Board:Driver\(->Board Command\fR
-=
-\fINCB_RESTART\fR:T{
-.na
-(ECN_RESTART)
-T}:\(sr::none:none:T{
-.na
-dequeue the request, and issue an NCB_LISTEN request to the board.
-T}
-_
-\fINCB_CALL\fR:(ECN_CALL):\(sr:T{
-.na
-(ECN_ACCEPT)
-T}:none:connected:T{
-.na
-dequeue the request, pass an ECN_ACCEPT reply to CONS, and issue a RECEIVE to
-the board.
-T}
-_
-\fINCB_LISTEN\fR::\(sr:T{
-.na
-(ECN_CONNECT)
-T}:T{
-.na
-use zero-length Call User Data and a zero-length Calling DTE address
-T}:none:T{
-.na
-dequeue the request, pass an ECN_CONNECT to CONS, and issue a RECEIVE to the
-board. Re-issue another NCB_LISTEN
-for another possible virtual circuit connection.
-T}
-_
-\fINCB_CLEAR\fR:(ECN_CLEAR):\(sr:(ECN_CLEAR):T{
-.na
-normal clearing with all outstanding ACKs returned
-T}:none:T{
-.na
-dequeue the request.
-T}
-:_:_:_:_:_:_
-::\(sr::T{
-.na
-immediate clearing
-T}:none:T{
-.na
-dequeue the request.
-T}
-_
-\fINCB_SEND\fR:(ECN_SEND):\(sr::T{
-.na
-normal send
-T}:none:T{
-.na
-dequeue the request and reply to CONS with an ECN_ACK.
-T}
-:_:_:_:_:_:_
-:T{
-.na
-(ECN_RESET)
-T}:\(sr::T{
-.na
-reset the virtual circuit
-T}:none:T{
-dequeue the request.
-T}
-_
-\fINCB_RECEIVE\fR::\(sr:(ECN_RECEIVE):none:T{
-.na
-normal, uncomplicated receive
-T}:T{
-.na
-dequeue the request and bcopy the data into the request's associated mbuf. Ship to CONS. Re-issue another NCB_RECEIVE.
-T}
-:_:_:_:_:_:_
-:::(ECN_RECEIVE):none:T{
-.na
-m-bit set
-T}:T{
-.na
-same as above (board does the resegmentation automatically).
-T}
-:_:_:_:_:_:_
-:::(ECN_RECEIVE):none:T{
-.na
-d-bit set
-T}:T{
-.na
-same as above.
-T}
-:_:_:_:_:_:_
-:::(ECN_RECEIVE):none:T{
-.na
-q-bit set
-T}:T{
-.na
-same as above.
-T}
-:_:_:_:_:_:_
-:::(ECN_RECEIVE):none:T{
-.na
-interrupt received
-T}:T{
-.na
-same as above.
-T}
-:_:_:_:_:_:_
-:::T{
-.na
-(ECN_RESET)
-T}:none:T{
-.na
-reset received
-T}:T{
-dequeue the request, send an ECN_RESET back up to CONS, and issue another
-receive.
-T}
-.TE
diff --git a/share/doc/iso/wisc/errors.nr b/share/doc/iso/wisc/errors.nr
deleted file mode 100644
index 51b5eb5..0000000
--- a/share/doc/iso/wisc/errors.nr
+++ /dev/null
@@ -1,363 +0,0 @@
-.\"$Header: errors.nr,v 1.2 88/12/06 16:06:07 nhall Exp $
-.\"$Source: /usr/argo/doc/kernel/RCS/errors.nr,v $
-.NC "Error Handling"
-This section describes the various ways that the ARGO kernel
-handles errors.
-For the purpose of this description,
-errors are divided into
-three classes : user errors, remote-end errors, and internal errors.
-These three classes of errors and the way
-the ARGO kernel handles them are described below.
-.sh 1 "Network Layer Errors"
-.pp
-The following section describes how errors are handled by CLNP.
-.sh 2 "User Errors"
-.pp
-User errors occur when attempting to send a CLNP packet. These errors
-are reflected back to the caller of \fIclnp_output()\fR as the return value
-of the function. The following table indicates the types of errors possible
-and their associated return codes:
-.(b L
-.TS
-tab(+), expand box;
-l l.
-Problem+Return Code
-=
-Unsupported option selected+EINVAL
-Incorrect address+ENAMETOOLONG
-Insufficient \fImbufs\fR+ENOBUFS
-Can't route packet+ENETUNREACH,EHOSTUNREACH
-Insufficient \fImbufs\fR+ENOBUFS
-.TE
-.)b
-.sh 2 "Remote-end Errors"
-.pp
-An error that occurs as the result of incoming NPDU
-is a remote-end error.
-.pp
-In the case of CONS,
-the majority of these are addressing problems,
-PDN-generated errors (network or gateway congestion, number busy),
-or higher layer negotiation problems.
-All ISO 8208 diagnostic codes that may appear in a call clearing packet
-are passed up to the higher layer.
-Some of the higher layer protocols pass this error indication to the
-user level program as well.
-The CONS statistics that are maintained by the "glue" module
-include counters for each of the possible
-ISO 8208 diagnostic codes seen on incoming packets.
-In addition to these error codes, there are some codes that may appear
-due to device driver problems when an NPDU arrives, for example,
-the driver may run out of buffers.
-All possible errors that may occur in the CONS module are listed
-in the file
-\fC<netargo/iso_errno.h>\fR,
-and the values listed in this file are passed to the user level
-program in the global integer variable \fIerrno\fR.
-The ARGO library
-\fClibisodir.a\fR
-includes an expanded version of
-\fIperror()\fR that interprets these extra values.
-.pp
-In the case of CLNP,
-the most remote-end errors are parsing errors.
-When a remote-end error is discovered, processing of the NPDU stops. The
-NPDU is discarded, and if error reporting is not disabled, and ER NPDU
-is sent back to the source of the offending packet. The following
-tables show the errors that may occur, and the error reason
-that will specified when the ER NPDU is returned.
-.pp
-The following general errors may occur while parsing an NPDU:
-.(b L
-.TS
-tab(+), box, expand;
-l l.
-Problem+Error Reason
-=
-NPDU arrives before interface is configured+ADDR_DESTUNREACH
-Packet too short or too big+GEN_INCOMPLETE
-Protocol identification wrong+GEN_HDRSYNTAX
-Version wrong+DISC_UNSUPPVERS
-Lifetime expired+TTL_EXPTRANSIT
-Incorrect checksum+GEN_BADCSUM
-Address section too short+GEN_INCOMPLETE
-Segment section too short+GEN_INCOMPLETE
-Options section too short+GEN_INCOMPLETE
-Unknown packet type+GEN_HDRSYNTAX
-Can't route packet (forwarding)+ADDR_DESTUNREACH
-.TE
-.)b
-The following errors are related to options processing:
-.(b L
-.TS
-tab(+), box, expand;
-l l.
-Problem+Error Reason
-=
-Duplicate option+GEN_DUPOPT
-Unknown option+DISC_UNSUPPTOPT
-Security format bad+GEN_HDRSYNTAX
-Security option present+DISC_UNSUPPSECURE
-Source route format bad+SRCRT_SYNTAX
-Record route too short+GEN_INCOMPLETE
-Record route format bad+GEN_HDRSYNTAX
-QOS format bad+GEN_HDRSYNTAX
-Priority format bad+GEN_HDRSYNTAX
-Error reason format bad+GEN_HDRSYNTAX
-Error reason on non-ER NPDU+DISC_UNSUPPOPT
-Error reason absent from ER NPDU+GEN_HDRSYNTAX
-.TE
-.)b
-.sh 2 "Internal Errors"
-.pp
-Internal errors occur as a result of a programmer error. These errors
-will result in a kernel \fIpanic()\fR. The following panics have been
-coded into CLNP:
-.(b L
-.TS
-tab(+), box, expand;
-l l.
-\fIPanic()\fR message+Reason
-=
-clnp_init: no raw clnp+The raw clnp protocol is not
-+configured into the kernel.
-_
-clnp_srcaddr: ifp does not match interface+The ifp
-+passed to \fIclnp_srcaddr()\fR is invalid.
-.TE
-.)b
-.sh 1 "Transport Layer Errors"
-.pp
-.sh 2 "User Errors"
-.pp
-TP handles these errors in the "standard"
-way for 4.3BSD:
-it causes an E\fIxxx\fR error constant (from the
-list in /sys/h/errno.h)
-to be put into the user program's
-global variable \fIerrno\fR.
-In most routines, in particular
-those routines called directly or indirectly
-the by system-call routines,
-this is done
-by simply returning
-this integer value.
-The errors that fall into this category are described
-in the following table:
-.(b L
-.TS
-expand box tab(+);
-l l.
-Error+Meaning
-=
-EAFNOSUPPORT+Attempting to use an address family
- +other than AF_ISO and AF_INET.
-_
-ENOPROTOOPT+TP was not configured at boot time.
-_
-ESOCKTNOSUPPORT+The given socket type is not supported.
-_
-EPROTOTYPE+Attempting to use an inappropriate transport
- +class for the network service. (e.g. class 0 over CLNS)
- +or attempting to use an unknown network service.
-_
-EISCONN+Attempting to perform on a connected socket an action
- +that is permitted only on unconnected sockets.
-_
-ENOTCONN+Attempting to perform on an unconnected socket an
- +action that is permitted only on connected sockets.
-_
-EMSGSIZE+Trying to send more data than are permitted on
- +connect, disconnect, or expedited data PDUs.
-_
-ENOTSOCK+The integer argument passed in the system
- +call is not a socket descriptor or is a socket but
- +has no transport pcb.
-_
-EINVAL+Some argument to the system call is invalid.
-_
-EOPNOTSUPP+Some command argument to the system call is invalid
- +or the operation is not supported.
-_
-EACCES+An unprivileged user tried to use a privileged command.
-_
-ETOOMANYREFS+TP ran out of reference blocks.
-_
-ENOBUFS+TP ran out of memory (mbufs).
-.TE
-.)b
-Errors that should be reported to the user
-by \fIerrno\fR but which occur asynchronously
-are detected by the socket layer when the value
-of the field \fIso_error\fR in the socket
-structure is non-zero.
-This is used to report such errors as
-ECONNRESET,
-ECONNABORTED, and
-ECONNTIMEDOUT, which are really remote-end errors.
-.sh 2 "Remote-end Errors"
-.pp
-An error that occurs is the result of a timer
-or is a result of an
-incoming TPDU
-is a remote-end error.
-The majority of these errors are parsing errors.
-They also include some protocol errors.
-Some of these errors cause the connection to be
-closed locally.
-It is unfortunate that when a connection is closed,
-the kernel will not permit the user program to perform
-anything on the socket in question, so the user cannot
-inquire about the reason for disconnection.
-There is no clean way to pass this information to a
-signal handler either, since the process being signalled
-may be swapped out at the time.
-Some of these errors cause TP to return an ER TPDU
-or a DR TPDU to the sending site.
-Some have no effect on the connection locally.
-These errors and their effects are described below.
-.(b L
-.TS
-expand box tab(+);
-l l l.
-Error+Meaning+Return code or action taken
-=
-Retransmission+The remote end has not responded +ETIMEDOUT
-timeout+to repeated attempts to send.+
- +This can occur during connection+
- +or after connection establishment.+
-_
-Inactivity+The remote end has not sent anything +ETIMEDOUT
-timeout+within the last \fIx\fR time, where+
-+\fIx\fR is a locally defined+
-+large value.+
-_
-Unacceptable+An unacceptable TPDU has arrived, and the+TPDU dropped
-TPDU +remote end can be identified.+possibly DR/ER returned
-_
-DR TPDU+A DR TPDU arrived, with any+Disconnect indication,
-arrived+value in the reason field.+so_error == ECONNRESET
-_
-ER TPDU+An ER TPDU arrived, with any+Disconnect indication,
-arrived+anything in the reason field.+so_error == ECONNABORTED
-.TE
-.)b
-TPDUs may be unacceptable for a variety of reasons:
-.(b L
-.TS
-expand box tab(+);
-l l.
-Problem+Action taken by TP
-=
-No connection at destination+Respond with DR, reason: session entity
-reference or reference frozen+not attached to TSAP
-_
-Invalid destination reference+Respond with DR, reason: mismatched
-+references
-_
-Invalid parameter code+Respond with ER, cause: inval. param. code
-_
-Invalid DU type+Respond with ER, cause: invalid TPDU type
-_
-Invalid version number+ Respond with ER, cause: inval. param. code
-_
-Invalid suffix value+Respond with ER, cause: inval. param. value
-_
-Suffix missing or is of+Respond with DR, reason:
-invalid length+header or parameter length invalid
-_
-Invalid checksum+packet discarded
-_
-Can't find a connection+Respond with DR, reason:
-for (dest ref, src ref) pair+mismatched references
-_
-Old ACK TPDU+packet discarded, possibly send ACK w/ FCC
-_
-Class requested isn't supported+Respond with DR, reason: +negotiation failed
-_
-Invalid TPDU size parameter+Respond with ER, cause: inval. param. value
-_
-Illegal amount of data+Respond with DR, reason:
-on CR, CC, DR, or XPD+header or parameter length invalid
-_
-Header length and length+Respond with DR, reason:
-indicator field of TPDU don't agree+header or parameter length invalid
-.TE
-.)b
-.lp
-The file \fC<argo/iso_errno.h>\fR is a list
-of the error codes and diagnostic that can be returned
-from the peer transport entity in a DR TPDU or an ER TPDU,
-and those that can be returned from the CONS, initiated by the DCE,
-the remote DTE, or by the local network adapter.
-These error values are too numerous to list here.
-Most of them are taken from the ISO 8208 standard and the ISO 8073 standard.
-The ARGO distribution contains an expanded form of the BSD library
-routine \fIperror()\fR that prints an error messages for a given
-\fIerrno\fR value.
-.sh 2 "Internal Errors"
-.pp
-Some internal errors are the result of
-a lack of resources such as buffers.
-These are reported to the user with the
-global variable
-\fIerrno\fR
-set to a value from
-\fC<errno.h>\fR.
-The errors that fall into this category are described
-in the following table:
-.(b L
-.TS
-expand box tab(+);
-l l.
-Return code+Problem
-=
-ENOBUFS+TP ran out of mbufs.
-_
-EPROTONOOPT+TP hasn't been configured.
-_
-ETOOMANYREFS+TP ran out of (unfrozen) reference numbers.
-.TE
-.)b
-.pp
-Other
-internal errors are coding errors
-or errors of misinterpretation of a specification.
-They result in the printing of a message on the
-console followed by a system panic.
-The following panics have been coded into TP:
-.(b L
-.TS
-expand box tab(+);
-l l.
-\fIPanic()\fR message+Problem
-=
-tp_emit CR/CC+The length indicator field of a TPDU is longer than the
- +amount of space in an mbuf; TP is attempting to send a
- +CR TPDU that is too large (perhaps legal but too large for
- +this implementation to manage).
-_
-tp_rcvoob: unexpected cluster+An incoming XPD TPDU was put into a cluster
- +mbuf by a lower layer.
-_
-tp timeout table overflow+The system ran out of structures for TP timers.
-_
-tp: T_DETACH+The connected socket that is being detached has
- +no parent socket.
-_
-tp_soisdisconnected+The socket head queue is
- +corrupted.
-_
-tp_soisdisconnecting+The socket head queue is
- +corrupted.
-_
-tpclnp_input: bad clnp_len +The length parameter passed by clnp
- +is bad.
-_
-iso_control: SIOCDIFADDR+ioctl() system call passed down
-iso_control: SIOCSIFADDR+a null interface pointer
-_
-sofree dq+The list of socket structures is
- +is inconsistent.
-.TE
-.)b
diff --git a/share/doc/iso/wisc/esis_design.nr b/share/doc/iso/wisc/esis_design.nr
deleted file mode 100644
index 437f3ee..0000000
--- a/share/doc/iso/wisc/esis_design.nr
+++ /dev/null
@@ -1,114 +0,0 @@
-.NC "The Design of the ARGO Network Layer"
-.sh 1 "End System to Intermediate System Routing Protocol"
-.pp
-The following sections describe the design of the End System to Intermediate
-System (ES-IS) Routing Exchange Protocol.
-.sh 2 "Overview"
-.nf
-- protocol involves sending/receiving hello pdus.
-- timers determine
- - when to send information
- - when to discard information
-- want to keep as much of the work outside of kernel
-- only put functions and tables in kernel when necessary
-.sh 2 "Supported Features (brief overview of each)"
-- report configuration (both ES and IS)
-- record configuration (both ES and IS)
-- flush configuration (both ES and IS)
-- query configuration (ES only)
-- configuration response (ES only)
-- request redirect (IS only)
-- record redirect (ES only)
-- flush old redirect (ES only)
-- multicast vs. broadcast (using broadcast only)
-.sh 2 "Kernel Resident Features"
-.sh 3 "Support for PDU Transmission"
-- need mechanism to send/receive PDUs
-- utilize ES-IS socket (like raw socket)
-- socket(AF_ISO, SOCK_DGRAM, ISOPROTO_ESIS)
-.sh 4 "Sending PDUs"
-- sendmsg() used for transmitting PDUS
-- data will be pre-formed ES-IS PDU
-- no checks will be made on the pdu format
-- addr_snpa is the destination (to)
-- before sending, socket must be associated with a particular interface
- this is done via setsockopt():
- ESISOPT_SETIF - option
- buffer is name of interface, ie. "un0"
-.sh 4 "Receiving PDUs"
-- recvmsg() used for receiving PDUs
-- data will be:
- #define ESIS_PDU
- #define ESIS_CONFIG_RESP
- #define ESIS_REDIR_REQ
- struct esis_indication {
- short ei_type; /* type of indication */
- union {
- struct ? config_resp
- struct ? redir_req
- char pdu[0]
- } ei_u;
- }
-- no checks will be made on the pdu format
-- addr_snpa is the source (from)
-.sh 4 "Addressing"
-- ES-IS PDUs are sent to SNPA.
-- addresses used are SN addresses, not NSAP addresses
-- format of msg_name (part of msghdr) struct sockaddr_iso
- afi = 0 /* means special snpa address */
- isoa_u is struct addr_snpa
- struct addr_snpa {
- char sn_addr[7]; /* snpa addr */
- }
- isoa_len is number of bytes of sn_addr that are valid
-
-- sn_addr may be a unicast or multicast address
-- multicast addresses will be faked via broadcast addresses
-.sh 3 "NSAP to SNPA translation"
-- translation from NSAP to SNAP required for every CLNP PDU sent
-- function provided by iso_nsap_to_snpa
-
- iso_nsap_to_snpa(ifp, m, nsap, snpa)
- struct ifnet *ifp; /* outgoing interface */
- struct mbuf *m; /* pkt */
- struct sockaddr_iso *nsap; /* destination address */
- char *snpa; /* RESULT: snpa address */
- {
- if (nsap.afi == AFI_SNPAADDR) {
- copy snpa addr from nsap into snpa
- return SUCCESS
- } else {
- scan RIB for (RIB.nsap == nsap)
- if (found) {
- copy RIB.snpa into snpa
- return SUCCESS
- }
- scan RIB for (RIB.type == IS) && (RIB.ifp = ifp)
- if (found) {
- copy RIB.snpa into snpa
- return SUCCESS
- }
- if (ifp allows multicast) {
- /* invoke query configuration function */
- copy ifp.ifaddr.ifa_all_es into snpa
- return SUCCESS
- }
-
- return FAILURE
- }
- }
-
-- NSAP to SNPA table resides in kernel so CLNP has quick access
-- entries added/timed-out of table via user level ES-IS daemon
-.sh 3 "Query Configuration Functon"
-- invoked when iso_nsap_to_snpa
- - requires snpa, but
- - does not find a match for dest nsap, and
- - does not find a match for Any IS.
-- clnp packet is sent to address "all ES" as specified in ifnet structure
- (for now, this is just the broadcast address)
-.sh 3 "Configuration Response Function"
-- invoked by clnp_input(), after determining that the packet received is
- destined for one of its NSAPs
-- checks if sn_dst == "all ES" (for now, this is all hex ffs)
-- if true, a copy of packet is made, and passed up to esis_input()
diff --git a/share/doc/iso/wisc/figs/CONS_primitives.nr b/share/doc/iso/wisc/figs/CONS_primitives.nr
deleted file mode 100644
index 16dc3e0..0000000
--- a/share/doc/iso/wisc/figs/CONS_primitives.nr
+++ /dev/null
@@ -1,77 +0,0 @@
-.(b
-.TS
-tab(+) center expand box;
-c c
-a | a .
-service primitive & arguments+provided by
-=
-N_CONNECT.request+cons_openvc(... faddr, ...)
-called address+argument faddr
-calling address+not implemented
-receipt confirmation+not implemented
-expedited data+not implemented
-quality of service+not implemented
-NS-user data+not implemented
-_
-N_CONNECT.indication+not implemented
-_
-N_CONNECT.response+cons_netcmd( CONN_REFUSE )
-+ or cons_netcmd( CONN_CONFIRM )
-+ however, net connection has already
-+ been accepted. If REFUSE, it will
-+ be cleared with E_CO_HLI_REJT
-+ (higher layer rejects connection)
-responding address+not implemented
-receipt confirmation+not implemented
-expedited data+not implemented
-quality of service+not implemented
-NS-user data+not implemented
-_
-N_CONNECT.confirm+not implemented
-=
-N_DATA.request+cons_output(... m, ...)
-+and cosns_output(... m, ...)
-confirmation+not implemented
-data+mbuf chain m
-_
-N_DATA.indication+pr_input( m, ... )
-+or software interrupt
-confirmation+not implemented
-data+mbuf chain
-_
-N_DATA_ACKNOWLEDGE.request+not implemented
-_
-N_DATA_ACKNOWLEDGE.indication+not implemented
-_
-N_EXPEDITED_DATA.request+not implemented
-_
-N_EXPEDITED_DATA.indication+not implemented
-=
-N_RESET.request+not implemented
-N_RESET.indication+socket->so_error = reason
-+or pr_ctlinput( PRC_ROUTEDEAD )
-originator+not implemented
-reason+from X.25 packet or ecn driver
-N_RESET.response+not implemented
-N_RESET.confirm+not implemented
-=
-N_DISCONNECT.request+cons_netcmd( CONN_CLOSE )
-reason+uses E_CO_HLI_DISCN (normal
-+disconnect from higher layer)
-responding address+not implemented
-NS_user data+not implemented
-_
-N_DISCONNECT.indication+socket->so_error = reason
-+or pr_ctlinput( PRC_ROUTEDEAD )
-originator+not implemented
-reason+from X.25 packet or ecn driver
-responding address+not implemented
-NS_user data+not implemented
-.TE
-.(c
-\fBFigure \n+(FG\fR: Transport Service Primitives
-.)c
-.)b
-.(f
-\** data on disconnect is not supported at this time.
-.)f
diff --git a/share/doc/iso/wisc/figs/Makefile b/share/doc/iso/wisc/figs/Makefile
deleted file mode 100644
index 2562b0b..0000000
--- a/share/doc/iso/wisc/figs/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# $Id$
-#
-.SUFFIXES: .nr .grn
-
-PRINTER = ba
-
-ALL = \
- func_units.nr unix_ipc.nr osi_addr.nr trans_flow.nr clnp_output.nr\
- clnp_input.nr mbufsnd.nr mbufrcv.nr\
- ecn_vc.nr ecn_network.nr ecn_queue.nr tppt.nr
-
-all: $(ALL)
-
-clean:
- rm -f $(ALL)
-
-.grn.nr:
- grn -P$(PRINTER) $*.grn > $*.nr
diff --git a/share/doc/iso/wisc/figs/NS_primitives.nr b/share/doc/iso/wisc/figs/NS_primitives.nr
deleted file mode 100644
index 20dc226..0000000
--- a/share/doc/iso/wisc/figs/NS_primitives.nr
+++ /dev/null
@@ -1,69 +0,0 @@
-.(b
-.TS
-tab(+) center box;
-c c
-a | a .
-service primitive & arguments+kernel procedure call & arguments
-=
-N_CONNECT.request+\fIcons_openvc(copcb,dstaddr,so)\fR
-called address+argument \fIdstaddr\fR
-calling address, expedited data selection+not implemented
-receipt confirmation selection+not implemented
-quality of service, NS-user data+not implemented
-_
-N_CONNECT.indication+not implemented
-_
-N_CONNECT.response+not implemented
-_
-N_CONNECT.confirm+return from \fIcons_openvc()\fR
-responding address, quality of service+not implemented
-receipt confirmation selection+not implemented
-expedited data selection, NS-user data+not implemented
-=
-N_DATA.request+\fIcons_output(isop,m,len,isdgm)\fR, and
- +\fIcosns_output(ifp,m,dstaddr)\fR
-NS-user data+argument m (mbuf chain)
-confirmation request+not implemented
-_
-N_DATA.indication+software interrupt (CLNP), procedure
-+call to \fItp_input()\fR
-NS-user data+mbuf chain on \fIclnlintrq\fR or
-+argument to \fItp_input()\fR
-confirmation request+not implemented
-=
-N_DATA_ACKNOWLEDGE.request+not implemented
-_
-N_DATA_ACKNOWLEDGE.indication+not implemented
-=
-N_EXPEDITED_DATA.request+not implemented
-_
-N_EXPEDITED_DATA.indication+not implemented
-=
-N_RESET.request+not implemented
-_
-N_RESET.response+not implemented
-_
-N_RESET.indication+higher layer \fIpr_ctlinput(
-+PRC_ROUTEDEAD, faddr, copcb)\fR
-originator+argument \fIfaddr\fR
-reason+implemented with so->so_errno for sockets
-+that are attached to CONS PCBs
-_
-N_RESET.confirm+not implemented
-=
-N_DISCONNECT.request+\fIcons_netcmd(CONN_CLOSE,
-+isop, channel, isdgm)\fR
-reason, NS-user data, responding address+not implemented
-_
-N_DISCONNECT.indication+higher layer \fIpr_ctlinput(
-+PRC_ROUTEDEAD, faddr, copcb)\fR
-originator+argument \fIfaddr\fR
-reason+implemented with so->so_errno for sockets
-+that are attached to CONS PCBs
-NS-user data, responding address+not implemented
-.TE
-.(c
-\fBFigure \n+(FG\fR: Network Service Primitives
-.\")
-.)c
-.)b
diff --git a/share/doc/iso/wisc/figs/TS_primitives.nr b/share/doc/iso/wisc/figs/TS_primitives.nr
deleted file mode 100644
index 3d27df3..0000000
--- a/share/doc/iso/wisc/figs/TS_primitives.nr
+++ /dev/null
@@ -1,60 +0,0 @@
-.(b
-.TS
-center expand box;
-c c
-a | a .
-service primitive & arguments Unix system calls & arguments
-=
-T_CONNECT.request \fIsocket(), connect(), setsockopt()\fR
-called address \fIconnect()\fR argument
-calling address \fIconnect()\fR argument
-quality of service not implemented
-buffer management \fIsetsockopt()\fR argument
-security not implemented
-data \fIsetsockopt(), getsockopt()\fR
-_
-T_CONNECT.indication return from \fIaccept(); getsockopt()\fR
-called address \fIaccept()\fR argument
-calling address \fIaccept()\fR argument
-quality of service not implemented
-security not implemented
-data \fIsetsockopt(), getsockopt()\fR
-_
-T_CONNECT.response no applicable system calls
-_
-T_CONNECT.confirm return from \fIconnect()\fR
-quality of service \fIgetsockopt()\fR argument
-data \fIsetsocktopt, getsockopt()\fR
-=
-T_DATA.request \fIrecvv(), sendv()\fR
-_
-T_DATA.indication return from \fIrecvv()\fR, \fIsendv()\fR, or \fIselect()\fR;
- or signal SIGIO
- ioctl(FIONREAD) tells how much has been
- queued to read
-=
-T_EXPEDITED_DATA.request \fIsendv()\fR with MSG_OOB flag
-_
-T_EXPEDITED_DATA.indication SIGURG, \fIgetsockopt()\fR with TPFLAG_XPD,
- return from \fIselect()\fR with exceptional
- conditions mask
-=
-T_DISCONNECT.request \fIclose()\fR
-data \fIsetsockopt()\fR
-_
-T_DISCONNECT.indication SIGURG,
- error return on other primitives
-reason errno
-data \fIgetsockopt()\**\fR
-=
-T_STATUS.request \fIgetsockopt()\fR, \fItpstat\fR utility program
-_
-T_STATUS.indication \fIgetsockopt()\fR, \fIselect()\fR, \fItpstat\fR
-.TE
-.(c
-\fBFigure \n+(FG\fR: Transport Service Primitives
-.)c
-.)b
-.(f
-\** data on disconnect is not supported at this time.
-.)f
diff --git a/share/doc/iso/wisc/figs/addrfmt.nr b/share/doc/iso/wisc/figs/addrfmt.nr
deleted file mode 100644
index 195a46e..0000000
--- a/share/doc/iso/wisc/figs/addrfmt.nr
+++ /dev/null
@@ -1,22 +0,0 @@
-.TS
-center,expand,box,tab(+);
-c s|c
-c|c|c.
-T{
-.na
-IDP: initial domain part
-T}+T{
-.na
-DSP: domain spedific part
-T}
-_+_+
-T{
-.na
-AFI: authority and format identifier
-T}+T{
-.na
-IDI: initial domain identifier
-T}+
-.TE
-.ce
-\fB Figure \n+(FG\fR: Format of OSI addresses
diff --git a/share/doc/iso/wisc/figs/clnp_input.grn b/share/doc/iso/wisc/figs/clnp_input.grn
deleted file mode 100644
index f217b94..0000000
--- a/share/doc/iso/wisc/figs/clnp_input.grn
+++ /dev/null
@@ -1,18 +0,0 @@
-.(z
-.GS C
-width 6.0
-high 7.0
-1 8
-2 10
-3 12
-4 14
-sc 0.4
-narrow 1
-medium 3
-thick 7
-pointscale off
-file clnp_input.gsrc
-.GE
-.ce
-\fB Figure \n+(FG:\fR Flow of control for processing CLNP NPDUs
-.)z
diff --git a/share/doc/iso/wisc/figs/clnp_input.gsrc b/share/doc/iso/wisc/figs/clnp_input.gsrc
deleted file mode 100644
index 0c0852e..0000000
--- a/share/doc/iso/wisc/figs/clnp_input.gsrc
+++ /dev/null
@@ -1,338 +0,0 @@
-gremlinfile
-0 424.00 24.00
-3
-424.00 696.00
-424.00 704.00
--1.00 -1.00
-5 0
-0
- 3
-312.00 416.00
-560.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 696.00
-125.00 701.00
-128.00 699.00
-131.00 701.00
-128.00 696.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 264.00
-560.00 264.00
-560.00 704.00
-128.00 704.00
-128.00 696.00
--1.00 -1.00
-5 0
-0
- 3
-424.00 648.00
-427.00 643.00
-424.00 645.00
-421.00 643.00
-424.00 648.00
--1.00 -1.00
-4 0
-0
- 3
-232.00 672.00
-288.00 672.00
-288.00 632.00
-424.00 632.00
--1.00 -1.00
-4 0
-0
- 3
-232.00 608.00
-424.00 608.00
--1.00 -1.00
-4 0
-0
- 3
-232.00 544.00
-424.00 544.00
--1.00 -1.00
-4 0
-0
- 3
-232.00 480.00
-424.00 480.00
--1.00 -1.00
-4 0
-0
- 3
-232.00 352.00
-424.00 352.00
-424.00 648.00
--1.00 -1.00
-4 0
-0
- 3
-351.00 689.00
-351.00 656.00
-528.00 656.00
-528.00 689.00
-351.00 689.00
--1.00 -1.00
-5 0
-0
- 0
-360.00 664.00
-360.00 679.00
-360.00 679.00
-360.00 679.00
--1.00 -1.00
-1 2
-14 Discard Packet
- 3
-136.00 320.00
-141.00 323.00
-139.00 320.00
-141.00 317.00
-136.00 320.00
--1.00 -1.00
-5 0
-0
- 3
-136.00 384.00
-240.00 384.00
-240.00 320.00
-136.00 320.00
--1.00 -1.00
-5 0
-0
- 0
-56.00 280.00
-56.00 295.00
-56.00 295.00
-56.00 295.00
--1.00 -1.00
-1 2
-12 Process NPDU
- 3
-48.00 304.00
-48.00 271.00
-225.00 271.00
-225.00 304.00
-48.00 304.00
--1.00 -1.00
-5 0
-0
- 0
-56.00 600.00
-56.00 615.00
-56.00 615.00
-56.00 615.00
--1.00 -1.00
-1 2
-18 Consistency Checks
- 3
-47.00 498.00
-47.00 465.00
-224.00 465.00
-224.00 498.00
-47.00 498.00
--1.00 -1.00
-5 0
-0
- 0
-56.00 344.00
-56.00 359.00
-56.00 359.00
-56.00 359.00
--1.00 -1.00
-1 2
-20 Reassemble Fragments
- 3
-168.00 432.00
-168.00 400.00
--1.00 -1.00
-5 0
-0
- 3
-48.00 432.00
-48.00 400.00
-304.00 400.00
-304.00 432.00
-48.00 432.00
--1.00 -1.00
-5 0
-0
- 0
-200.00 408.00
-200.00 423.00
-200.00 423.00
-200.00 423.00
--1.00 -1.00
-1 2
-12 Forward NPDU
- 0
-56.00 408.00
-56.00 423.00
-56.00 423.00
-56.00 423.00
--1.00 -1.00
-1 2
-9 Keep NPDU
- 0
-56.00 472.00
-56.00 487.00
-56.00 487.00
-56.00 487.00
--1.00 -1.00
-1 2
-15 Process Options
- 0
-56.00 536.00
-56.00 551.00
-56.00 551.00
-56.00 551.00
--1.00 -1.00
-1 2
-19 Extract Information
- 0
-56.00 664.00
-56.00 679.00
-56.00 679.00
-56.00 679.00
--1.00 -1.00
-1 2
-14 Dequeue Packet
- 3
-131.00 311.00
-128.00 316.00
-131.00 314.00
-134.00 316.00
-131.00 311.00
--1.00 -1.00
-5 0
-0
- 3
-131.00 329.00
-131.00 310.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 332.00
-130.00 332.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 373.00
-127.00 378.00
-130.00 376.00
-133.00 378.00
-130.00 373.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 394.00
-130.00 373.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 460.00
-130.00 439.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 439.00
-127.00 444.00
-130.00 442.00
-133.00 444.00
-130.00 439.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 501.00
-127.00 506.00
-130.00 504.00
-133.00 506.00
-130.00 501.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 522.00
-130.00 501.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 588.00
-128.00 567.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 567.00
-125.00 572.00
-128.00 570.00
-131.00 572.00
-128.00 567.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 631.00
-125.00 636.00
-128.00 634.00
-131.00 636.00
-128.00 631.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 652.00
-128.00 631.00
--1.00 -1.00
-5 0
-0
- 3
-48.00 368.00
-48.00 335.00
-225.00 335.00
-225.00 368.00
-48.00 368.00
--1.00 -1.00
-5 0
-0
- 3
-47.00 562.00
-47.00 529.00
-224.00 529.00
-224.00 562.00
-47.00 562.00
--1.00 -1.00
-5 0
-0
- 3
-47.00 626.00
-47.00 593.00
-224.00 593.00
-224.00 626.00
-47.00 626.00
--1.00 -1.00
-5 0
-0
- 3
-47.00 689.00
-47.00 656.00
-224.00 656.00
-224.00 689.00
-47.00 689.00
--1.00 -1.00
-5 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/clnp_input.nr b/share/doc/iso/wisc/figs/clnp_input.nr
deleted file mode 100644
index 01f6468..0000000
--- a/share/doc/iso/wisc/figs/clnp_input.nr
+++ /dev/null
@@ -1,188 +0,0 @@
-.(z
-.br
-.nr g1 3456u
-.nr g2 2964u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-\D't 1u'
-.sp -1
-.sp 101u
-\D'l 0u 223u'\D'l 1193u 0u'\D'l 0u -223u'\D'l -1193u 0u'
-.sp -1
-.sp 425u
-\D'l 0u 222u'\D'l 1193u 0u'\D'l 0u -222u'\D'l -1193u 0u'
-.sp -1
-.sp 431u
-\D'l 0u 222u'\D'l 1193u 0u'\D'l 0u -222u'\D'l -1193u 0u'
-.sp -1
-.sp 1306u
-\h'7u'\D'l 0u 222u'\D'l 1192u 0u'\D'l 0u -222u'\D'l -1192u 0u'
-.sp -1
-.sp -1912u
-\h'546u'\D'l 0u 141u'
-.sp -1
-.sp 141u
-\h'546u'\D'l -20u -34u'\D'l 20u 14u'\D'l 20u -14u'\D'l -20u 34u'
-.sp -1
-.sp 431u
-\h'546u'\D'l -20u -33u'\D'l 20u 13u'\D'l 20u -13u'\D'l -20u 33u'
-.sp -1
-.sp -141u
-\h'546u'\D'l 0u 141u'
-.sp -1
-.sp 444u
-\h'559u'\D'l 0u 141u'
-.sp -1
-.sp 141u
-\h'559u'\D'l -20u -34u'\D'l 20u 14u'\D'l 21u -14u'\D'l -21u 34u'
-.sp -1
-.sp 418u
-\h'559u'\D'l -20u -34u'\D'l 20u 13u'\D'l 21u -13u'\D'l -21u 34u'
-.sp -1
-.sp -142u
-\h'559u'\D'l 0u 142u'
-.sp -1
-.sp 445u
-\h'559u'\D'l 0u 141u'
-.sp -1
-.sp 141u
-\h'559u'\D'l -20u -33u'\D'l 20u 13u'\D'l 21u -13u'\D'l -21u 33u'
-.sp -1
-.sp 276u
-\h'559u'\D'l 0u 0u'
-.sp -1
-.sp 21u
-\h'566u'\D'l 0u 128u'
-.sp -1
-.sp 121u
-\h'566u'\D'l -20u -34u'\D'l 20u 14u'\D'l 20u -14u'\D'l -20u 34u'
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Dequeue Packet
-.sp -2377u
-\h'61u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Extract Information
-.sp -1515u
-\h'61u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Process Options
-.sp -1085u
-\h'61u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Keep NPDU
-.sp -654u
-\h'61u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Forward NPDU
-.sp -654u
-\h'1031u'\&\*(g9
-.sp |\n(g8u
-.sp -815u
-\h'7u'\D'l 0u 215u'\D'l 1725u 0u'\D'l 0u -215u'\D'l -1725u 0u'
-.sp -1
-\h'815u'\D'l 0u 215u'
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Reassemble Fragments
-.sp 593u
-\h'61u'\&\*(g9
-.sp |\n(g8u
-.sp -445u
-\D'l 0u 222u'\D'l 1193u 0u'\D'l 0u -222u'\D'l -1193u 0u'
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Consistency Checks
-.sp -686u
-\h'61u'\&\*(g9
-.sp |\n(g8u
-.sp 1307u
-\h'7u'\D'l 0u 222u'\D'l 1192u 0u'\D'l 0u -222u'\D'l -1192u 0u'
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Process NPDU
-.sp 162u
-\h'61u'\&\*(g9
-.sp |\n(g8u
-.sp -539u
-\h'600u'\D'l 700u 0u'\D'l 0u 431u'\D'l -700u 0u'
-.sp -1
-.sp 431u
-\h'600u'\D'l 33u -20u'\D'l -13u 20u'\D'l 13u 20u'\D'l -33u -20u'
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Discard Packet
-.sp -2316u
-\h'2109u'\&\*(g9
-.sp |\n(g8u
-.sp -2485u
-\h'2048u'\D'l 0u 223u'\D'l 1193u 0u'\D'l 0u -223u'\D'l -1193u 0u'
-.sp -1
-\D's 16u'
-.sp -1
-.sp 2270u
-\h'1246u'\D'l 1294u 0u'\D'l 0u -1993u'
-.sp -1
-.sp -863u
-\h'1246u'\D'l 1294u 0u'
-.sp -1
-.sp -430u
-\h'1246u'\D'l 1294u 0u'
-.sp -1
-.sp -431u
-\h'1246u'\D'l 1294u 0u'
-.sp -1
-.sp -431u
-\h'1246u'\D'l 378u 0u'\D'l 0u 269u'\D'l 916u 0u'
-.sp -1
-.sp 162u
-\h'2540u'\D'l 20u 33u'\D'l -20u -13u'\D'l -20u 13u'\D'l 20u -33u'
-.sp -1
-\D's -1u'
-.sp -1
-.sp 2586u
-\h'546u'\D'l 2910u 0u'\D'l 0u -2964u'\D'l -2910u 0u'\D'l 0u 54u'
-.sp -1
-.sp -2910u
-\h'546u'\D'l -20u -34u'\D'l 20u 14u'\D'l 20u -14u'\D'l -20u 34u'
-.sp -1
-.sp 1886u
-\h'1785u'\D'l 1671u 0u'
-.sp -1
-.sp -1886u
-\h'2540u'\D'l 0u -54u'
-.sp -1
-.sp 2910u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fB Figure \n+(FG:\fR Flow of control for processing CLNP NPDUs
-.)z
diff --git a/share/doc/iso/wisc/figs/clnp_output.grn b/share/doc/iso/wisc/figs/clnp_output.grn
deleted file mode 100644
index 5025eee..0000000
--- a/share/doc/iso/wisc/figs/clnp_output.grn
+++ /dev/null
@@ -1,18 +0,0 @@
-.(z
-.GS C
-width 6.0
-high 7.0
-1 8
-2 10
-3 12
-4 14
-sc 0.4
-narrow 1
-medium 3
-thick 7
-pointscale off
-file clnp_output.gsrc
-.GE
-.ce
-\fB Figure \n+(FG:\fR Flow of control for emitting CLNP NPDUs
-.)z
diff --git a/share/doc/iso/wisc/figs/clnp_output.gsrc b/share/doc/iso/wisc/figs/clnp_output.gsrc
deleted file mode 100644
index 49a0186..0000000
--- a/share/doc/iso/wisc/figs/clnp_output.gsrc
+++ /dev/null
@@ -1,376 +0,0 @@
-gremlinfile
-0 528.00 32.00
-3
-528.00 688.00
-531.00 683.00
-528.00 685.00
-525.00 683.00
-528.00 688.00
--1.00 -1.00
-5 0
-0
- 3
-176.00 160.00
-176.00 144.00
-528.00 144.00
-528.00 688.00
--1.00 -1.00
-5 0
-0
- 0
-272.00 672.00
-272.00 685.00
-272.00 685.00
-272.00 685.00
--1.00 -1.00
-2 2
-6 EINVAL
- 3
-240.00 672.00
-528.00 672.00
--1.00 -1.00
-4 0
-0
- 3
-128.00 652.00
-128.00 631.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 631.00
-125.00 636.00
-128.00 634.00
-131.00 636.00
-128.00 631.00
--1.00 -1.00
-5 0
-0
- 0
-64.00 672.00
-64.00 687.00
-64.00 687.00
-64.00 687.00
--1.00 -1.00
-1 2
-15 Examine Options
- 3
-47.00 689.00
-47.00 656.00
-224.00 656.00
-224.00 689.00
-47.00 689.00
--1.00 -1.00
-5 0
-0
- 0
-64.00 608.00
-64.00 623.00
-64.00 623.00
-64.00 623.00
--1.00 -1.00
-1 2
-15 Check Addresses
- 0
-64.00 546.00
-64.00 561.00
-64.00 561.00
-64.00 561.00
--1.00 -1.00
-1 2
-20 Allocate Header mbuf
- 0
-64.00 481.00
-64.00 496.00
-64.00 496.00
-64.00 496.00
--1.00 -1.00
-1 2
-17 Create Fixed Part
- 0
-64.00 417.00
-64.00 432.00
-64.00 432.00
-64.00 432.00
--1.00 -1.00
-1 2
-12 Route Packet
- 0
-64.00 352.00
-64.00 367.00
-64.00 367.00
-64.00 367.00
--1.00 -1.00
-1 2
-19 Append Address Part
- 0
-64.00 290.00
-64.00 305.00
-64.00 305.00
-64.00 305.00
--1.00 -1.00
-1 2
-19 Append Options Part
- 0
-64.00 225.00
-64.00 240.00
-64.00 240.00
-64.00 240.00
--1.00 -1.00
-1 2
-13 Transmit NPDU
- 0
-192.00 224.00
-192.00 239.00
-192.00 239.00
-192.00 239.00
--1.00 -1.00
-1 2
-13 Fragment NPDU
- 3
-47.00 625.00
-47.00 592.00
-224.00 592.00
-224.00 625.00
-47.00 625.00
--1.00 -1.00
-5 0
-0
- 3
-47.00 562.00
-47.00 529.00
-224.00 529.00
-224.00 562.00
-47.00 562.00
--1.00 -1.00
-5 0
-0
- 3
-47.00 498.00
-47.00 465.00
-224.00 465.00
-224.00 498.00
-47.00 498.00
--1.00 -1.00
-5 0
-0
- 3
-48.00 433.00
-48.00 400.00
-225.00 400.00
-225.00 433.00
-48.00 433.00
--1.00 -1.00
-5 0
-0
- 3
-47.00 368.00
-47.00 335.00
-224.00 335.00
-224.00 368.00
-47.00 368.00
--1.00 -1.00
-5 0
-0
- 3
-48.00 304.00
-48.00 271.00
-225.00 271.00
-225.00 304.00
-48.00 304.00
--1.00 -1.00
-5 0
-0
- 3
-49.00 240.00
-49.00 209.00
-306.00 209.00
-306.00 240.00
-49.00 240.00
--1.00 -1.00
-5 0
-0
- 3
-167.00 239.00
-167.00 209.00
--1.00 -1.00
-1 0
-0
- 3
-128.00 588.00
-128.00 567.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 567.00
-125.00 572.00
-128.00 570.00
-131.00 572.00
-128.00 567.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 503.00
-125.00 508.00
-128.00 506.00
-131.00 508.00
-128.00 503.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 524.00
-128.00 503.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 458.00
-130.00 437.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 437.00
-127.00 442.00
-130.00 440.00
-133.00 442.00
-130.00 437.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 375.00
-127.00 380.00
-130.00 378.00
-133.00 380.00
-130.00 375.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 396.00
-130.00 375.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 330.00
-130.00 309.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 309.00
-127.00 314.00
-130.00 312.00
-133.00 314.00
-130.00 309.00
--1.00 -1.00
-5 0
-0
- 3
-130.00 268.00
-130.00 268.00
--1.00 -1.00
-5 0
-0
- 3
-131.00 265.00
-131.00 246.00
--1.00 -1.00
-5 0
-0
- 3
-131.00 247.00
-128.00 252.00
-131.00 250.00
-134.00 252.00
-131.00 247.00
--1.00 -1.00
-5 0
-0
- 3
-146.00 320.00
-242.00 320.00
-242.00 255.00
-146.00 255.00
--1.00 -1.00
-5 0
-0
- 3
-146.00 255.00
-151.00 258.00
-149.00 255.00
-151.00 252.00
-146.00 255.00
--1.00 -1.00
-5 0
-0
- 0
-272.00 608.00
-272.00 621.00
-272.00 621.00
-272.00 621.00
--1.00 -1.00
-2 2
-12 ENAMETOOLONG
- 0
-273.00 545.00
-273.00 558.00
-273.00 558.00
-273.00 558.00
--1.00 -1.00
-2 2
-7 ENOBUFS
- 0
-272.00 417.00
-272.00 430.00
-272.00 430.00
-272.00 430.00
--1.00 -1.00
-2 2
-25 ENETUNREACH, EHOSTUNREACH
- 0
-272.00 289.00
-272.00 302.00
-272.00 302.00
-272.00 302.00
--1.00 -1.00
-2 2
-7 ENOBUFS
- 3
-241.00 601.00
-529.00 601.00
--1.00 -1.00
-4 0
-0
- 3
-240.00 536.00
-530.00 536.00
--1.00 -1.00
-4 0
-0
- 3
-241.00 413.00
-527.00 413.00
--1.00 -1.00
-4 0
-0
- 3
-233.00 288.00
-529.00 288.00
--1.00 -1.00
-4 0
-0
- 0
-152.00 175.00
-152.00 190.00
-152.00 190.00
-152.00 190.00
--1.00 -1.00
-1 2
-7 SUCCESS
- -1
diff --git a/share/doc/iso/wisc/figs/clnp_output.nr b/share/doc/iso/wisc/figs/clnp_output.nr
deleted file mode 100644
index b11d465..0000000
--- a/share/doc/iso/wisc/figs/clnp_output.nr
+++ /dev/null
@@ -1,233 +0,0 @@
-.(z
-.br
-.nr g1 3456u
-.nr g2 3891u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "SUCCESS
-.sp 3670u
-\h'750u'\&\*(g9
-.sp |\n(g8u
-\D's 16u'\D't 1u'
-.sp -1
-.sp 2863u
-\h'1328u'\D'l 2114u 0u'
-.sp -1
-.sp -893u
-\h'1385u'\D'l 2043u 0u'
-.sp -1
-.sp -877u
-\h'1378u'\D'l 2071u 0u'
-.sp -1
-.sp -464u
-\h'1385u'\D'l 2057u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "ENOBUFS
-.sp 2227u
-\h'1607u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "ENETUNREACH, EHOSTUNREACH
-.sp 1313u
-\h'1607u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "ENOBUFS
-.sp 400u
-\h'1614u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "ENAMETOOLONG
-.sp -50u
-\h'1607u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp 2469u
-\h'707u'\D'l 36u -21u'\D'l -15u 21u'\D'l 15u 22u'\D'l -36u -22u'
-.sp -1
-.sp -464u
-\h'707u'\D'l 686u 0u'\D'l 0u 464u'\D'l -686u 0u'
-.sp -1
-.sp 522u
-\h'600u'\D'l -22u -36u'\D'l 22u 14u'\D'l 21u -14u'\D'l -21u 36u'
-.sp -1
-.sp -129u
-\h'600u'\D'l 0u 136u'
-.sp -1
-.sp -21u
-\h'593u'\D'l 0u 0u'
-.sp -1
-.sp -293u
-\h'593u'\D'l -22u -36u'\D'l 22u 14u'\D'l 21u -14u'\D'l -21u 36u'
-.sp -1
-.sp -150u
-\h'593u'\D'l 0u 150u'
-.sp -1
-.sp -471u
-\h'593u'\D'l 0u 150u'
-.sp -1
-.sp 150u
-\h'593u'\D'l -22u -36u'\D'l 22u 14u'\D'l 21u -14u'\D'l -21u 36u'
-.sp -1
-.sp -443u
-\h'593u'\D'l -22u -36u'\D'l 22u 14u'\D'l 21u -14u'\D'l -21u 36u'
-.sp -1
-.sp -150u
-\h'593u'\D'l 0u 150u'
-.sp -1
-.sp -470u
-\h'578u'\D'l 0u 149u'
-.sp -1
-.sp 149u
-\h'578u'\D'l -21u -36u'\D'l 21u 14u'\D'l 22u -14u'\D'l -22u 36u'
-.sp -1
-.sp -456u
-\h'578u'\D'l -21u -36u'\D'l 21u 14u'\D'l 22u -14u'\D'l -22u 36u'
-.sp -1
-.sp -150u
-\h'578u'\D'l 0u 150u'
-.sp -1
-\D's 4u'
-.sp -1
-.sp 2491u
-\h'857u'\D'l 0u 214u'
-.sp -1
-\D's -1u'
-.sp -1
-.sp -7u
-\h'14u'\D'l 0u 221u'\D'l 1835u 0u'\D'l 0u -221u'\D'l -1835u 0u'
-.sp -1
-.sp -457u
-\h'7u'\D'l 0u 235u'\D'l 1264u 0u'\D'l 0u -235u'\D'l -1264u 0u'
-.sp -1
-.sp -457u
-\D'l 0u 235u'\D'l 1264u 0u'\D'l 0u -235u'\D'l -1264u 0u'
-.sp -1
-.sp -465u
-\h'7u'\D'l 0u 236u'\D'l 1264u 0u'\D'l 0u -236u'\D'l -1264u 0u'
-.sp -1
-.sp -464u
-\D'l 0u 236u'\D'l 1264u 0u'\D'l 0u -236u'\D'l -1264u 0u'
-.sp -1
-.sp -456u
-\D'l 0u 236u'\D'l 1264u 0u'\D'l 0u -236u'\D'l -1264u 0u'
-.sp -1
-.sp -450u
-\D'l 0u 236u'\D'l 1264u 0u'\D'l 0u -236u'\D'l -1264u 0u'
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Fragment NPDU
-.sp 2863u
-\h'1035u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Transmit NPDU
-.sp 2856u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Append Options Part
-.sp 2392u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Append Address Part
-.sp 1949u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Route Packet
-.sp 1485u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Create Fixed Part
-.sp 1028u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Allocate Header mbuf
-.sp 565u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Check Addresses
-.sp 122u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.sp -457u
-\D'l 0u 236u'\D'l 1264u 0u'\D'l 0u -236u'\D'l -1264u 0u'
-.sp -1
-.ft R
-.ps 10
-.nr g8 \n(.d
-.ds g9 "Examine Options
-.sp 122u
-\h'121u'\&\*(g9
-.sp |\n(g8u
-.sp 415u
-\h'578u'\D'l -21u -36u'\D'l 21u 14u'\D'l 22u -14u'\D'l -22u 36u'
-.sp -1
-.sp -150u
-\h'578u'\D'l 0u 150u'
-.sp -1
-\D's 16u'
-.sp -1
-.sp -143u
-\h'1378u'\D'l 2057u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "EINVAL
-\h'1607u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp 3655u
-\h'921u'\D'l 0u 114u'\D'l 2514u 0u'\D'l 0u -3883u'
-.sp -1
-.sp -3769u
-\h'3435u'\D'l 21u 35u'\D'l -21u -14u'\D'l -22u 14u'\D'l 22u -35u'
-.sp -1
-.sp 3883u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fB Figure \n+(FG:\fR Flow of control for emitting CLNP NPDUs
-.)z
diff --git a/share/doc/iso/wisc/figs/ecn_network.grn b/share/doc/iso/wisc/figs/ecn_network.grn
deleted file mode 100644
index d58c5d8..0000000
--- a/share/doc/iso/wisc/figs/ecn_network.grn
+++ /dev/null
@@ -1,19 +0,0 @@
-.(z
-.hl
-.GS C
-width 6.0
-high 4.0
-1 6
-2 8
-3 10
-4 12
-sc 0.5
-narrow 1
-medium 3
-thick 7
-pointscale off
-file ecn_network.gsrc
-.GE
-.ce
-\fBFigure \n+(FG:\fR The X.25 Network Interface
-.)z
diff --git a/share/doc/iso/wisc/figs/ecn_network.gsrc b/share/doc/iso/wisc/figs/ecn_network.gsrc
deleted file mode 100644
index 1772b1d..0000000
--- a/share/doc/iso/wisc/figs/ecn_network.gsrc
+++ /dev/null
@@ -1,288 +0,0 @@
-gremlinfile
-0 370.00 354.00
-0
-370.00 346.00
-370.00 361.00
-370.00 361.00
-370.00 361.00
--1.00 -1.00
-1 2
-10 (/dev/bus)
- 0
-360.00 361.00
-360.00 376.00
-360.00 376.00
-360.00 376.00
--1.00 -1.00
-1 2
-13 X.25 download
- 0
-558.00 524.00
-558.00 539.00
-558.00 539.00
-558.00 539.00
--1.00 -1.00
-1 2
-13 configuration
- 0
-558.00 534.00
-558.00 549.00
-558.00 549.00
-558.00 549.00
--1.00 -1.00
-1 2
-8 updated
- 0
-358.00 459.00
-358.00 474.00
-358.00 474.00
-358.00 474.00
--1.00 -1.00
-1 2
-12 (/dev/kmem1)
- 0
-362.00 474.00
-362.00 489.00
-362.00 489.00
-362.00 489.00
--1.00 -1.00
-1 2
-13 configuration
- 0
-248.00 399.00
-248.00 414.00
-248.00 414.00
-248.00 414.00
--1.00 -1.00
-1 2
-22 Data Area on the board
- 0
-248.00 409.00
-248.00 424.00
-248.00 424.00
-248.00 424.00
--1.00 -1.00
-1 2
-22 to and from the Common
- 0
-245.00 507.00
-245.00 522.00
-245.00 522.00
-245.00 522.00
--1.00 -1.00
-1 2
-10 ecnioctl()
- 0
-245.00 516.00
-245.00 531.00
-245.00 531.00
-245.00 531.00
--1.00 -1.00
-1 2
-12 ecnrestart()
- 0
-245.00 524.00
-245.00 539.00
-245.00 539.00
-245.00 539.00
--1.00 -1.00
-1 2
-13 ecnshutdown()
- 0
-176.00 419.00
-176.00 434.00
-176.00 434.00
-176.00 434.00
--1.00 -1.00
-1 2
-34 INTERFACES: the NCB command loaded
- 0
-175.00 532.00
-175.00 547.00
-175.00 547.00
-175.00 547.00
--1.00 -1.00
-1 2
-23 INTERFACES: ecnoutput()
- 0
-42.00 415.00
-42.00 430.00
-42.00 430.00
-42.00 430.00
--1.00 -1.00
-1 2
-15 COMMANDS: NCB_*
- 0
-42.00 527.00
-42.00 542.00
-42.00 542.00
-42.00 542.00
--1.00 -1.00
-1 2
-15 COMMANDS: ECN_*
- 3
-546.00 511.00
-553.00 494.00
-560.00 511.00
--1.00 -1.00
-5 0
-0
- 3
-287.00 364.00
-270.00 357.00
-287.00 348.00
--1.00 -1.00
-5 0
-0
- 3
-287.00 477.00
-271.00 469.00
-287.00 461.00
--1.00 -1.00
-5 0
-0
- 3
-151.00 397.00
-159.00 382.00
-167.00 398.00
--1.00 -1.00
-5 0
-0
- 3
-151.00 431.00
-159.00 445.00
-167.00 431.00
--1.00 -1.00
-5 0
-0
- 3
-153.00 510.00
-160.00 494.00
-168.00 510.00
--1.00 -1.00
-5 0
-0
- 3
-152.00 540.00
-160.00 558.00
-167.00 540.00
--1.00 -1.00
-5 0
-0
- 3
-272.00 469.00
-492.00 469.00
--1.00 -1.00
-5 0
-0
- 3
-271.00 357.00
-552.00 357.00
-552.00 446.00
--1.00 -1.00
-5 0
-0
- 3
-553.00 557.00
-553.00 494.00
--1.00 -1.00
-5 0
-0
- 3
-159.00 445.00
-159.00 381.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 557.00
-160.00 494.00
--1.00 -1.00
-5 0
-0
- 0
-517.00 458.00
-517.00 472.00
-517.00 472.00
-517.00 472.00
--1.00 -1.00
-1 3
-8 %ecnload
- 0
-514.00 570.00
-514.00 584.00
-514.00 584.00
-514.00 584.00
--1.00 -1.00
-1 3
-8 %ecnconf
- 0
-115.00 347.00
-115.00 366.00
-115.00 366.00
-115.00 366.00
--1.00 -1.00
-1 4
-11 EICON Board
- 0
-114.00 458.00
-114.00 477.00
-114.00 477.00
-114.00 477.00
--1.00 -1.00
-1 4
-11 UNIX Driver
- 0
-133.00 569.00
-133.00 588.00
-133.00 588.00
-133.00 588.00
--1.00 -1.00
-1 4
-4 CONS
- 3
-493.00 445.00
-493.00 493.00
-608.00 493.00
-608.00 445.00
-493.00 445.00
--1.00 -1.00
-5 0
-0
- 3
-493.00 557.00
-493.00 605.00
-608.00 605.00
-608.00 557.00
-493.00 557.00
--1.00 -1.00
-5 0
-0
- 3
-63.00 332.00
-63.00 381.00
-272.00 381.00
-272.00 332.00
-63.00 332.00
--1.00 -1.00
-5 0
-0
- 3
-63.00 445.00
-63.00 494.00
-272.00 494.00
-272.00 445.00
-63.00 445.00
--1.00 -1.00
-5 0
-0
- 3
-63.00 557.00
-63.00 606.00
-272.00 606.00
-272.00 557.00
-63.00 557.00
--1.00 -1.00
-5 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/ecn_network.nr b/share/doc/iso/wisc/figs/ecn_network.nr
deleted file mode 100644
index e69de29..0000000
--- a/share/doc/iso/wisc/figs/ecn_network.nr
+++ /dev/null
diff --git a/share/doc/iso/wisc/figs/ecn_queue.grn b/share/doc/iso/wisc/figs/ecn_queue.grn
deleted file mode 100644
index 5a9824d..0000000
--- a/share/doc/iso/wisc/figs/ecn_queue.grn
+++ /dev/null
@@ -1,19 +0,0 @@
-.(z
-.hl
-.GS C
-width 6.0
-high 3.0
-1 5
-2 7
-3 9
-4 12
-sc 0.5
-narrow 1
-medium 3
-thick 7
-pointscale off
-file ecn_queue.gsrc
-.GE
-.ce
-\fBFigure \n+(FG:\fR Queue Placement Strategy
-.)z
diff --git a/share/doc/iso/wisc/figs/ecn_queue.gsrc b/share/doc/iso/wisc/figs/ecn_queue.gsrc
deleted file mode 100644
index 81e3e07..0000000
--- a/share/doc/iso/wisc/figs/ecn_queue.gsrc
+++ /dev/null
@@ -1,371 +0,0 @@
-gremlinfile
-0 98.00 422.00
-3
-98.00 278.00
-562.00 278.00
--1.00 -1.00
-4 0
-0
- 3
-425.00 557.00
-577.00 557.00
--1.00 -1.00
-4 0
-0
- 3
-341.00 528.00
-425.00 528.00
--1.00 -1.00
-5 0
-0
- 0
-457.00 536.00
-457.00 549.00
-457.00 549.00
-457.00 549.00
--1.00 -1.00
-2 3
-10 ECN driver
- 0
-321.00 419.00
-321.00 432.00
-321.00 432.00
-321.00 432.00
--1.00 -1.00
-2 2
-20 Driver->CONS replies
- 0
-356.00 584.00
-356.00 599.00
-356.00 599.00
-356.00 599.00
--1.00 -1.00
-1 2
-8 x25intrq
- 0
-457.00 253.00
-457.00 266.00
-457.00 266.00
-457.00 266.00
--1.00 -1.00
-2 3
-16 EICON X.25 board
- 0
-457.00 285.00
-457.00 298.00
-457.00 298.00
-457.00 298.00
--1.00 -1.00
-2 3
-10 ECN driver
- 0
-457.00 563.00
-457.00 576.00
-457.00 576.00
-457.00 576.00
--1.00 -1.00
-2 3
-11 CONS module
- 3
-217.00 557.00
-340.00 557.00
--1.00 -1.00
-4 0
-0
- 3
-90.00 556.00
-131.00 556.00
--1.00 -1.00
-4 0
-0
- 3
-375.00 222.00
-381.00 209.00
-389.00 222.00
--1.00 -1.00
-5 0
-0
- 3
-168.00 222.00
-174.00 209.00
-182.00 222.00
--1.00 -1.00
-5 0
-0
- 3
-165.00 615.00
-171.00 602.00
-179.00 615.00
--1.00 -1.00
-5 0
-0
- 3
-166.00 421.00
-172.00 408.00
-180.00 421.00
--1.00 -1.00
-5 0
-0
- 3
-173.00 392.00
-189.00 371.00
--1.00 -1.00
-1 0
-0
- 3
-173.00 348.00
-172.00 392.00
-273.00 360.00
--1.00 -1.00
-1 0
-0
- 3
-306.00 361.00
-382.00 414.00
--1.00 -1.00
-1 0
-0
- 3
-266.00 228.00
-273.00 243.00
-280.00 228.00
--1.00 -1.00
-5 0
-0
- 0
-201.00 197.00
-201.00 210.00
-201.00 210.00
-201.00 210.00
--1.00 -1.00
-2 2
-23 Driver<->Board commands
- 3
-273.00 246.00
-273.00 214.00
--1.00 -1.00
-1 0
-0
- 0
-223.00 295.00
-223.00 308.00
-223.00 308.00
-223.00 308.00
--1.00 -1.00
-2 2
-15 posted commands
- 3
-111.00 402.00
-131.00 402.00
--1.00 -1.00
-5 0
-0
- 3
-376.00 459.00
-383.00 474.00
-390.00 459.00
--1.00 -1.00
-5 0
-0
- 3
-364.00 363.00
-383.00 416.00
-387.00 357.00
--1.00 -1.00
-1 0
-0
- 3
-383.00 437.00
-383.00 473.00
--1.00 -1.00
-1 0
-0
- 3
-172.00 411.00
-172.00 474.00
--1.00 -1.00
-1 0
-0
- 0
-8.00 401.00
-8.00 416.00
-8.00 416.00
-8.00 416.00
--1.00 -1.00
-1 2
-15 ecn_pending_req
- 0
-109.00 653.00
-109.00 666.00
-109.00 666.00
-109.00 666.00
--1.00 -1.00
-2 2
-20 CONS->Driver command
- 0
-357.00 570.00
-357.00 585.00
-357.00 585.00
-357.00 585.00
--1.00 -1.00
-1 2
-5 QUEUE
- 0
-151.00 569.00
-151.00 584.00
-151.00 584.00
-151.00 584.00
--1.00 -1.00
-1 2
-5 QUEUE
- 3
-340.00 315.00
-340.00 298.00
-422.00 298.00
-422.00 315.00
-340.00 315.00
--1.00 -1.00
-6 0
-0
- 3
-235.00 347.00
-235.00 330.00
-317.00 330.00
-317.00 347.00
-235.00 347.00
--1.00 -1.00
-6 0
-0
- 3
-232.00 262.00
-232.00 245.00
-314.00 245.00
-314.00 262.00
-232.00 262.00
--1.00 -1.00
-6 0
-0
- 3
-133.00 329.00
-133.00 312.00
-215.00 312.00
-215.00 329.00
-133.00 329.00
--1.00 -1.00
-6 0
-0
- 3
-133.00 409.00
-133.00 392.00
-215.00 392.00
-215.00 409.00
-133.00 409.00
--1.00 -1.00
-6 0
-0
- 3
-340.00 547.00
-426.00 547.00
--1.00 -1.00
-5 0
-0
- 3
-340.00 509.00
-425.00 509.00
--1.00 -1.00
-5 0
-0
- 3
-340.00 491.00
-424.00 491.00
--1.00 -1.00
-5 0
-0
- 3
-340.00 602.00
-340.00 473.00
-425.00 473.00
-425.00 601.00
--1.00 -1.00
-6 0
-0
- 3
-132.00 547.00
-218.00 547.00
--1.00 -1.00
-5 0
-0
- 3
-133.00 528.00
-217.00 528.00
--1.00 -1.00
-5 0
-0
- 3
-132.00 509.00
-217.00 509.00
--1.00 -1.00
-5 0
-0
- 3
-132.00 491.00
-216.00 491.00
--1.00 -1.00
-5 0
-0
- 3
-132.00 602.00
-132.00 473.00
-217.00 473.00
-217.00 601.00
--1.00 -1.00
-6 0
-0
- 3
-125.00 410.00
-132.00 402.00
-125.00 395.00
--1.00 -1.00
-5 0
-0
- 3
-174.00 211.00
-174.00 312.00
--1.00 -1.00
-1 0
-0
- 3
-381.00 210.00
-381.00 298.00
--1.00 -1.00
-1 0
-0
- 3
-374.00 282.00
-381.00 297.00
-388.00 282.00
--1.00 -1.00
-5 0
-0
- 3
-167.00 297.00
-174.00 312.00
-181.00 297.00
--1.00 -1.00
-5 0
-0
- 0
-156.00 583.00
-156.00 598.00
-156.00 598.00
-156.00 598.00
--1.00 -1.00
-1 2
-6 ecn_if
- 3
-171.00 604.00
-171.00 648.00
--1.00 -1.00
-1 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/ecn_queue.nr b/share/doc/iso/wisc/figs/ecn_queue.nr
deleted file mode 100644
index c6c0ce1..0000000
--- a/share/doc/iso/wisc/figs/ecn_queue.nr
+++ /dev/null
@@ -1,262 +0,0 @@
-.(z
-.hl
-.br
-.nr g1 2156u
-.nr g2 1727u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-\D's 4u'\D't 1u'
-.sp -1
-.sp 186u
-\h'617u'\D'l 0u -167u'
-.sp -1
-.ft R
-.ps 7
-.nr g8 \n(.d
-.ds g9 "ecn_if
-.sp 80u
-\h'561u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp 1162u
-\h'602u'\D'l 27u -56u'\D'l 26u 56u'
-.sp -1
-.sp 57u
-\h'1387u'\D'l 26u -57u'\D'l 27u 57u'
-.sp -1
-\D's 4u'
-.sp -1
-.sp 273u
-\h'1413u'\D'l 0u -333u'
-.sp -1
-.sp -4u
-\h'629u'\D'l 0u -382u'
-.sp -1
-\D's -1u'
-.sp -1
-.sp -754u
-\h'443u'\D'l 27u 31u'\D'l -27u 26u'
-.sp -1
-\D't 3u'
-.sp -1
-.sp -726u
-\h'470u'\D'l 0u 487u'\D'l 322u 0u'\D'l 0u -484u'
-.sp -1
-\D't 1u'
-.sp -1
-.sp 419u
-\h'470u'\D'l 318u 0u'
-.sp -1
-.sp -68u
-\h'470u'\D'l 322u 0u'
-.sp -1
-.sp -71u
-\h'473u'\D'l 319u 0u'
-.sp -1
-.sp -72u
-\h'470u'\D'l 326u 0u'
-.sp -1
-\D't 3u'
-.sp -1
-.sp -208u
-\h'1258u'\D'l 0u 487u'\D'l 322u 0u'\D'l 0u -484u'
-.sp -1
-\D't 1u'
-.sp -1
-.sp 419u
-\h'1258u'\D'l 318u 0u'
-.sp -1
-.sp -68u
-\h'1258u'\D'l 322u 0u'
-.sp -1
-.sp -143u
-\h'1258u'\D'l 326u 0u'
-.sp -1
-\D't 3u'
-.sp -1
-.sp 522u
-\h'473u'\D'l 0u 64u'\D'l 311u 0u'\D'l 0u -64u'\D'l -311u 0u'
-.sp -1
-.sp 303u
-\h'473u'\D'l 0u 65u'\D'l 311u 0u'\D'l 0u -65u'\D'l -311u 0u'
-.sp -1
-.sp 254u
-\h'849u'\D'l 0u 64u'\D'l 310u 0u'\D'l 0u -64u'\D'l -310u 0u'
-.sp -1
-.sp -322u
-\h'860u'\D'l 0u 64u'\D'l 311u 0u'\D'l 0u -64u'\D'l -311u 0u'
-.sp -1
-.sp 121u
-\h'1258u'\D'l 0u 65u'\D'l 311u 0u'\D'l 0u -65u'\D'l -311u 0u'
-.sp -1
-.ft R
-.ps 7
-.nr g8 \n(.d
-.ds g9 "QUEUE
-.sp -961u
-\h'542u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 7
-.nr g8 \n(.d
-.ds g9 "QUEUE
-.sp -965u
-\h'1322u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 7
-.nr g8 \n(.d
-.ds g9 "CONS->Driver command
-.sp -1280u
-\h'383u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 7
-.nr g8 \n(.d
-.ds g9 "ecn_pending_req
-.sp -326u
-\&\*(g9
-.sp |\n(g8u
-\D's 4u'\D't 1u'
-.sp -1
-.sp -364u
-\h'621u'\D'l 0u -238u'
-.sp -1
-.sp -98u
-\h'1421u'\D'l 0u -137u'
-.sp -1
-.sp 280u
-\h'1349u'\D'l 72u -201u'\D'l 15u 224u'
-.sp -1
-\D's -1u'
-.sp -1
-.sp -363u
-\h'1394u'\D'l 27u -57u'\D'l 26u 57u'
-.sp -1
-.sp 216u
-\h'390u'\D'l 76u 0u'
-.sp -1
-.ft I
-.ps 7
-.nr g8 \n(.d
-.ds g9 "posted commands
-.sp 405u
-\h'815u'\&\*(g9
-.sp |\n(g8u
-\D's 4u'
-.sp -1
-.sp 591u
-\h'1004u'\D'l 0u 121u'
-.sp -1
-.ft I
-.ps 7
-.nr g8 \n(.d
-.ds g9 "Driver<->Board commands
-.sp 185u
-\h'731u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp 68u
-\h'977u'\D'l 27u -57u'\D'l 27u 57u'
-.sp -1
-\D's 4u'
-.sp -1
-.sp -504u
-\h'1129u'\D'l 288u -201u'
-.sp -1
-.sp 49u
-\h'625u'\D'l -4u -167u'\D'l 383u 122u'
-.sp -1
-.sp -167u
-\h'625u'\D'l 61u 80u'
-.sp -1
-\D's -1u'
-.sp -1
-.sp -109u
-\h'599u'\D'l 22u 49u'\D'l 31u -49u'
-.sp -1
-.sp -735u
-\h'595u'\D'l 22u 50u'\D'l 31u -50u'
-.sp -1
-.sp 1489u
-\h'606u'\D'l 23u 49u'\D'l 30u -49u'
-.sp -1
-\h'1391u'\D'l 22u 49u'\D'l 31u -49u'
-.sp -1
-\D's 16u'
-.sp -1
-.sp -1265u
-\h'311u'\D'l 155u 0u'
-.sp -1
-.sp -4u
-\h'792u'\D'l 466u 0u'
-.sp -1
-.ft I
-.ps 9
-.nr g8 \n(.d
-.ds g9 "CONS module
-.sp -23u
-\h'1701u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 9
-.nr g8 \n(.d
-.ds g9 "ECN driver
-.sp 1030u
-\h'1701u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 9
-.nr g8 \n(.d
-.ds g9 "EICON X.25 board
-.sp 1151u
-\h'1701u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 7
-.nr g8 \n(.d
-.ds g9 "x25intrq
-.sp -102u
-\h'1319u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 7
-.nr g8 \n(.d
-.ds g9 "Driver->CONS replies
-.sp 522u
-\h'1186u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 9
-.nr g8 \n(.d
-.ds g9 "ECN driver
-.sp 80u
-\h'1701u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp 110u
-\h'1262u'\D'l 318u 0u'
-.sp -1
-\D's 16u'
-.sp -1
-.sp -110u
-\h'1580u'\D'l 576u 0u'
-.sp -1
-.sp 1056u
-\h'341u'\D'l 1758u 0u'
-.sp -1
-.sp 307u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fBFigure \n+(FG:\fR Queue Placement Strategy
-.)z
diff --git a/share/doc/iso/wisc/figs/ecn_vc.grn b/share/doc/iso/wisc/figs/ecn_vc.grn
deleted file mode 100644
index b1c93ed..0000000
--- a/share/doc/iso/wisc/figs/ecn_vc.grn
+++ /dev/null
@@ -1,19 +0,0 @@
-.(z
-.hl
-.GS C
-width 6.0
-high 4.0
-1 8
-2 10
-3 12
-4 14
-sc 0.5
-narrow 1
-medium 3
-thick 7
-pointscale off
-file ecn_vc.gsrc
-.GE
-.ce
-\fBFigure \n+(FG:\fR Virtual Circuit State Diagram
-.)z
diff --git a/share/doc/iso/wisc/figs/ecn_vc.gsrc b/share/doc/iso/wisc/figs/ecn_vc.gsrc
deleted file mode 100644
index 9364ced..0000000
--- a/share/doc/iso/wisc/figs/ecn_vc.gsrc
+++ /dev/null
@@ -1,273 +0,0 @@
-gremlinfile
-0 184.00 269.00
-0
-184.00 431.00
-184.00 441.00
-184.00 441.00
-184.00 441.00
--1.00 -1.00
-2 1
-23 SEND/RECEIVE completion
- 0
-110.00 358.00
-110.00 368.00
-110.00 368.00
-110.00 368.00
--1.00 -1.00
-2 1
-10 completion
- 0
-99.00 368.00
-99.00 378.00
-99.00 378.00
-99.00 378.00
--1.00 -1.00
-2 1
-11 CLEAR/ABORT
- 0
-366.00 360.00
-366.00 370.00
-366.00 370.00
-366.00 370.00
--1.00 -1.00
-2 1
-6 issued
- 0
-359.00 373.00
-359.00 383.00
-359.00 383.00
-359.00 383.00
--1.00 -1.00
-2 1
-11 CLEAR/ABORT
- 0
-210.00 445.00
-210.00 455.00
-210.00 455.00
-210.00 455.00
--1.00 -1.00
-2 1
-9 0x0a from
- 0
-206.00 495.00
-206.00 505.00
-206.00 505.00
-206.00 505.00
--1.00 -1.00
-2 1
-22 CALL/LISTEN completion
- 0
-264.00 523.00
-264.00 533.00
-264.00 533.00
-264.00 533.00
--1.00 -1.00
-2 1
-10 completion
- 0
-240.00 533.00
-240.00 543.00
-240.00 543.00
-240.00 543.00
--1.00 -1.00
-2 1
-13 RECEIVE/RESET
- 0
-379.00 575.00
-379.00 585.00
-379.00 585.00
-379.00 585.00
--1.00 -1.00
-2 1
-10 completion
- 0
-345.00 589.00
-345.00 599.00
-345.00 599.00
-345.00 599.00
--1.00 -1.00
-2 1
-22 0x18 from SEND/RECEIVE
- 0
-394.00 602.00
-394.00 612.00
-394.00 612.00
-394.00 612.00
--1.00 -1.00
-2 1
-6 - or -
- 0
-367.00 613.00
-367.00 623.00
-367.00 623.00
-367.00 623.00
--1.00 -1.00
-2 1
-12 RESET issued
- 3
-319.00 359.00
-311.00 340.00
-329.00 349.00
--1.00 -1.00
-5 0
-0
- 3
-361.00 520.00
-367.00 503.00
-351.00 508.00
--1.00 -1.00
-5 0
-0
- 3
-143.00 391.00
-138.00 409.00
-154.00 401.00
--1.00 -1.00
-5 0
-0
- 3
-328.00 582.00
-323.00 600.00
-339.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-163.00 420.00
-152.00 427.00
-163.00 435.00
--1.00 -1.00
-5 0
-0
- 3
-350.00 485.00
-361.00 492.00
-350.00 500.00
--1.00 -1.00
-5 0
-0
- 3
-312.00 341.00
-375.00 407.00
--1.00 -1.00
-4 0
-0
- 3
-135.00 410.00
-202.00 343.00
--1.00 -1.00
-4 0
-0
- 3
-320.00 601.00
-408.00 529.00
--1.00 -1.00
-4 0
-0
- 3
-293.00 563.00
-368.00 503.00
--1.00 -1.00
-4 0
-0
- 3
-150.00 428.00
-358.00 428.00
--1.00 -1.00
-4 0
-0
- 3
-148.00 492.00
-363.00 492.00
--1.00 -1.00
-4 0
-0
- 0
-226.00 309.00
-226.00 319.00
-226.00 319.00
-226.00 319.00
--1.00 -1.00
-1 1
-8 VC_CLEAR
- 0
-372.00 455.00
-372.00 465.00
-372.00 465.00
-372.00 465.00
--1.00 -1.00
-1 1
-12 VC_DATA_XFER
- 0
-25.00 458.00
-25.00 468.00
-25.00 468.00
-25.00 468.00
--1.00 -1.00
-1 1
-16 VC_NO_CONNECTION
- 0
-218.00 293.00
-218.00 303.00
-218.00 303.00
-218.00 303.00
--1.00 -1.00
-1 1
-11 IN_PROGRESS
- 0
-222.00 618.00
-222.00 628.00
-222.00 628.00
-222.00 628.00
--1.00 -1.00
-1 1
-11 IN_PROGRESS
- 0
-228.00 634.00
-228.00 644.00
-228.00 644.00
-228.00 644.00
--1.00 -1.00
-1 1
-8 VC_RESET
- 4
-423.00 459.00
-429.00 390.00
-423.00 528.26
-423.00 389.74
-353.74 459.00
-492.26 459.00
--1.00 -1.00
-5 0
-0
- 4
-89.00 459.00
-83.00 390.00
-89.00 528.26
-89.00 389.74
-158.26 459.00
-19.74 459.00
--1.00 -1.00
-5 0
-0
- 4
-256.00 299.00
-250.00 230.00
-256.00 368.26
-256.00 229.74
-325.26 299.00
-186.74 299.00
--1.00 -1.00
-5 0
-0
- 4
-256.00 621.00
-250.00 690.00
-256.00 551.74
-256.00 690.26
-325.26 621.00
-186.74 621.00
--1.00 -1.00
-5 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/ecn_vc.nr b/share/doc/iso/wisc/figs/ecn_vc.nr
deleted file mode 100644
index ca2cec5..0000000
--- a/share/doc/iso/wisc/figs/ecn_vc.nr
+++ /dev/null
@@ -1,205 +0,0 @@
-.(z
-.hl
-.br
-.nr g1 2364u
-.nr g2 2303u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-\D't 1u'
-.sp -1
-.sp 346u
-\h'836u'\D'c 693u'
-.sp -1
-.sp 1610u
-\h'836u'\D'c 693u'
-.sp -1
-.sp -800u
-\D'c 693u'
-.sp -1
-\h'1671u'\D'c 693u'
-.sp -1
-.ft R
-.ps 8
-.nr g8 \n(.d
-.ds g9 "VC_RESET
-.sp -875u
-\h'1042u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 8
-.nr g8 \n(.d
-.ds g9 "IN_PROGRESS
-.sp -795u
-\h'1012u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 8
-.nr g8 \n(.d
-.ds g9 "IN_PROGRESS
-.sp 830u
-\h'992u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 8
-.nr g8 \n(.d
-.ds g9 "VC_NO_CONNECTION
-.sp 5u
-\h'27u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 8
-.nr g8 \n(.d
-.ds g9 "VC_DATA_XFER
-.sp 20u
-\h'1763u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 8
-.nr g8 \n(.d
-.ds g9 "VC_CLEAR
-.sp 750u
-\h'1032u'\&\*(g9
-.sp |\n(g8u
-\D's 16u'
-.sp -1
-.sp -165u
-\h'642u'\D'l 1076u 0u'
-.sp -1
-.sp 320u
-\h'652u'\D'l 1041u 0u'
-.sp -1
-.sp -675u
-\h'1367u'\D'l 376u 300u'
-.sp -1
-.sp -190u
-\h'1502u'\D'l 441u 360u'
-.sp -1
-.sp 955u
-\h'577u'\D'l 335u 335u'
-.sp -1
-.sp 345u
-\h'1462u'\D'l 316u -330u'
-.sp -1
-\D's -1u'
-.sp -1
-.sp -720u
-\h'1653u'\D'l 55u -35u'\D'l -55u -40u'
-.sp -1
-.sp 325u
-\h'717u'\D'l -55u -35u'\D'l 55u -40u'
-.sp -1
-.sp -810u
-\h'1542u'\D'l -25u -90u'\D'l 81u 40u'
-.sp -1
-.sp 955u
-\h'617u'\D'l -25u -90u'\D'l 80u 40u'
-.sp -1
-.sp -645u
-\h'1708u'\D'l 30u 85u'\D'l -80u -25u'
-.sp -1
-.sp 805u
-\h'1497u'\D'l -40u 95u'\D'l 91u -45u'
-.sp -1
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "RESET issued
-.sp -1270u
-\h'1738u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "- or -
-.sp -1215u
-\h'1873u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "0x18 from SEND/RECEIVE
-.sp -1150u
-\h'1628u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "completion
-.sp -1080u
-\h'1798u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "RECEIVE/RESET
-.sp -870u
-\h'1102u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "completion
-.sp -820u
-\h'1222u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "CALL/LISTEN completion
-.sp -680u
-\h'932u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "0x0a from
-.sp -430u
-\h'952u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "CLEAR/ABORT
-.sp -70u
-\h'1698u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "issued
-.sp -5u
-\h'1733u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "CLEAR/ABORT
-.sp -45u
-\h'397u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "completion
-.sp 5u
-\h'452u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 8
-.nr g8 \n(.d
-.ds g9 "SEND/RECEIVE completion
-.sp -360u
-\h'822u'\&\*(g9
-.sp |\n(g8u
-.sp 647u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fBFigure \n+(FG:\fR Virtual Circuit State Diagram
-.)z
diff --git a/share/doc/iso/wisc/figs/func_units.grn b/share/doc/iso/wisc/figs/func_units.grn
deleted file mode 100644
index 3c98567..0000000
--- a/share/doc/iso/wisc/figs/func_units.grn
+++ /dev/null
@@ -1,18 +0,0 @@
-.(z L
-.GS C
-width 6.0
-high 7.0
-1 8
-2 10
-3 12
-4 14
-sc 0.3
-narrow 1
-medium 3
-thick 7
-pointscale off
-file func_units.gsrc
-.GE
-.ce
-\fBFigure \n+(FG:\fR The major functional units of Unix 4.2A
-.)z
diff --git a/share/doc/iso/wisc/figs/func_units.gsrc b/share/doc/iso/wisc/figs/func_units.gsrc
deleted file mode 100644
index 29edd83..0000000
--- a/share/doc/iso/wisc/figs/func_units.gsrc
+++ /dev/null
@@ -1,603 +0,0 @@
-gremlinfile
-0 80.00 208.00
-0
-80.00 580.00
-80.00 596.00
-80.00 596.00
-80.00 596.00
--1.00 -1.00
-2 3
-6 kernel
- 0
-80.00 628.00
-80.00 644.00
-80.00 644.00
-80.00 644.00
--1.00 -1.00
-2 3
-4 user
- 3
-144.00 212.00
-141.00 217.00
-144.00 215.00
-147.00 217.00
-144.00 212.00
--1.00 -1.00
-6 0
-0
- 3
-184.00 340.00
-189.66 338.59
-186.12 337.88
-185.41 334.34
-184.00 340.00
--1.00 -1.00
-6 0
-0
- 3
-264.00 284.00
-258.34 285.41
-261.88 286.12
-262.59 289.66
-264.00 284.00
--1.00 -1.00
-6 0
-0
- 3
-320.00 324.00
-317.00 329.00
-320.00 327.00
-323.00 329.00
-320.00 324.00
--1.00 -1.00
-6 0
-0
- 3
-312.00 356.00
-315.00 351.00
-312.00 353.00
-309.00 351.00
-312.00 356.00
--1.00 -1.00
-6 0
-0
- 3
-536.00 548.00
-540.43 544.21
-536.95 545.15
-534.74 542.31
-536.00 548.00
--1.00 -1.00
-6 0
-0
- 3
-576.00 388.00
-573.00 393.00
-576.00 391.00
-579.00 393.00
-576.00 388.00
--1.00 -1.00
-6 0
-0
- 3
-544.00 380.00
-538.34 381.41
-541.88 382.12
-542.59 385.66
-544.00 380.00
--1.00 -1.00
-6 0
-0
- 3
-544.00 380.00
-541.00 385.00
-544.00 383.00
-547.00 385.00
-544.00 380.00
--1.00 -1.00
-6 0
-0
- 3
-560.00 292.00
-563.00 287.00
-560.00 289.00
-557.00 287.00
-560.00 292.00
--1.00 -1.00
-6 0
-0
- 3
-488.00 156.00
-487.55 161.81
-489.34 158.68
-492.92 159.13
-488.00 156.00
--1.00 -1.00
-6 0
-0
- 3
-456.00 164.00
-453.00 169.00
-456.00 167.00
-459.00 169.00
-456.00 164.00
--1.00 -1.00
-6 0
-0
- 3
-384.00 308.00
-385.41 313.66
-386.12 310.12
-389.66 309.41
-384.00 308.00
--1.00 -1.00
-6 0
-0
- 3
-360.00 420.00
-365.00 423.00
-363.00 420.00
-365.00 417.00
-360.00 420.00
--1.00 -1.00
-6 0
-0
- 3
-344.00 444.00
-345.41 449.66
-346.12 446.12
-349.66 445.41
-344.00 444.00
--1.00 -1.00
-6 0
-0
- 3
-456.00 556.00
-456.45 550.19
-454.66 553.32
-451.08 552.87
-456.00 556.00
--1.00 -1.00
-6 0
-0
- 3
-272.00 436.00
-266.34 437.41
-269.88 438.12
-270.59 441.66
-272.00 436.00
--1.00 -1.00
-6 0
-0
- 3
-184.00 404.00
-185.41 409.66
-186.12 406.12
-189.66 405.41
-184.00 404.00
--1.00 -1.00
-6 0
-0
- 3
-432.00 652.00
-427.00 649.00
-429.00 652.00
-427.00 655.00
-432.00 652.00
--1.00 -1.00
-6 0
-0
- 3
-352.00 676.00
-357.81 676.45
-354.68 674.66
-355.13 671.08
-352.00 676.00
--1.00 -1.00
-6 0
-0
- 3
-200.00 500.00
-205.66 498.59
-202.12 497.88
-201.41 494.34
-200.00 500.00
--1.00 -1.00
-6 0
-0
- 3
-208.00 548.00
-213.00 551.00
-211.00 548.00
-213.00 545.00
-208.00 548.00
--1.00 -1.00
-6 0
-0
- 3
-192.00 572.00
-193.41 577.66
-194.12 574.12
-197.66 573.41
-192.00 572.00
--1.00 -1.00
-6 0
-0
- 3
-272.00 660.00
-272.45 654.19
-270.66 657.32
-267.08 656.87
-272.00 660.00
--1.00 -1.00
-6 0
-0
- 3
-456.00 556.00
-344.00 444.00
--1.00 -1.00
-6 0
-0
- 3
-544.00 380.00
-520.00 412.00
--1.00 -1.00
-6 0
-0
- 3
-576.00 388.00
-536.00 548.00
--1.00 -1.00
-6 0
-0
- 3
-560.00 292.00
-488.00 156.00
--1.00 -1.00
-6 0
-0
- 3
-424.00 612.00
-568.00 612.00
--1.00 -1.00
-2 0
-0
- 0
-424.00 68.00
-424.00 84.00
-424.00 84.00
-424.00 84.00
--1.00 -1.00
-3 3
-7 drivers
- 0
-424.00 92.00
-424.00 108.00
-424.00 108.00
-424.00 108.00
--1.00 -1.00
-3 3
-9 interface
- 3
-480.00 404.00
-456.00 164.00
--1.00 -1.00
-6 0
-0
- 3
-464.00 412.00
-384.00 308.00
--1.00 -1.00
-6 0
-0
- 3
-448.00 436.00
-360.00 420.00
--1.00 -1.00
-6 0
-0
- 3
-312.00 356.00
-320.00 324.00
--1.00 -1.00
-6 0
-0
- 3
-200.00 500.00
-272.00 436.00
--1.00 -1.00
-6 0
-0
- 3
-184.00 340.00
-264.00 284.00
--1.00 -1.00
-6 0
-0
- 3
-144.00 324.00
-144.00 212.00
--1.00 -1.00
-6 0
-0
- 3
-440.00 564.00
-176.00 404.00
--1.00 -1.00
-6 0
-0
- 3
-424.00 588.00
-208.00 548.00
--1.00 -1.00
-6 0
-0
- 3
-352.00 676.00
-432.00 652.00
--1.00 -1.00
-6 0
-0
- 3
-272.00 660.00
-192.00 572.00
--1.00 -1.00
-6 0
-0
- 0
-120.00 132.00
-120.00 148.00
-120.00 148.00
-120.00 148.00
--1.00 -1.00
-3 3
-7 drivers
- 0
-120.00 156.00
-120.00 172.00
-120.00 172.00
-120.00 172.00
--1.00 -1.00
-3 3
-6 device
- 0
-120.00 180.00
-120.00 196.00
-120.00 196.00
-120.00 196.00
--1.00 -1.00
-3 3
-7 blocked
- 0
-424.00 116.00
-424.00 132.00
-424.00 132.00
-424.00 132.00
--1.00 -1.00
-3 3
-8 network
- 0
-560.00 332.00
-560.00 348.00
-560.00 348.00
-560.00 348.00
--1.00 -1.00
-3 3
-3 IPC
- 0
-304.00 212.00
-304.00 228.00
-304.00 228.00
-304.00 228.00
--1.00 -1.00
-3 3
-7 support
- 0
-304.00 236.00
-304.00 252.00
-304.00 252.00
-304.00 252.00
--1.00 -1.00
-3 3
-6 memory
- 0
-304.00 260.00
-304.00 276.00
-304.00 276.00
-304.00 276.00
--1.00 -1.00
-3 3
-7 virtual
- 0
-128.00 356.00
-128.00 372.00
-128.00 372.00
-128.00 372.00
--1.00 -1.00
-3 3
-6 system
- 0
-128.00 380.00
-128.00 396.00
-128.00 396.00
-128.00 396.00
--1.00 -1.00
-3 3
-4 file
- 0
-480.00 452.00
-480.00 468.00
-480.00 468.00
-480.00 468.00
--1.00 -1.00
-3 3
-5 clock
- 0
-288.00 380.00
-288.00 396.00
-288.00 396.00
-288.00 396.00
--1.00 -1.00
-3 3
-7 support
- 0
-288.00 404.00
-288.00 420.00
-288.00 420.00
-288.00 420.00
--1.00 -1.00
-3 3
-7 process
- 0
-448.00 572.00
-448.00 588.00
-448.00 588.00
-448.00 588.00
--1.00 -1.00
-3 3
-12 system calls
- 0
-456.00 628.00
-456.00 644.00
-456.00 644.00
-456.00 644.00
--1.00 -1.00
-3 3
-9 C library
- 0
-288.00 692.00
-288.00 708.00
-288.00 708.00
-288.00 708.00
--1.00 -1.00
-3 3
-4 user
- 0
-272.00 676.00
-272.00 692.00
-272.00 692.00
-272.00 692.00
--1.00 -1.00
-3 3
-7 program
- 0
-144.00 516.00
-144.00 532.00
-144.00 532.00
-144.00 532.00
--1.00 -1.00
-3 3
-3 tty
- 3
-568.00 612.00
-640.00 612.00
--1.00 -1.00
-6 0
-0
- 3
-424.00 612.00
-64.00 612.00
--1.00 -1.00
-6 0
-0
- 4
-496.00 612.00
-496.00 684.00
-496.00 540.00
-496.00 684.00
-568.00 612.00
-424.00 612.00
--1.00 -1.00
-6 0
-0
- 4
-456.00 100.00
-456.00 164.00
-456.00 36.00
-456.00 164.00
-520.00 100.00
-392.00 100.00
--1.00 -1.00
-6 0
-0
- 4
-336.00 244.00
-336.00 324.00
-336.00 164.00
-336.00 324.00
-416.00 244.00
-256.00 244.00
--1.00 -1.00
-6 0
-0
- 4
-144.00 164.00
-144.00 212.00
-144.00 116.00
-144.00 212.00
-192.00 164.00
-96.00 164.00
--1.00 -1.00
-6 0
-0
- 4
-144.00 372.00
-144.00 420.00
-144.00 324.00
-144.00 420.00
-192.00 372.00
-96.00 372.00
--1.00 -1.00
-6 0
-0
- 4
-576.00 340.00
-576.00 388.00
-576.00 292.00
-576.00 388.00
-624.00 340.00
-528.00 340.00
--1.00 -1.00
-6 0
-0
- 4
-496.00 452.00
-496.00 500.00
-496.00 404.00
-496.00 500.00
-544.00 452.00
-448.00 452.00
--1.00 -1.00
-6 0
-0
- 4
-312.00 404.00
-312.00 452.00
-312.00 356.00
-312.00 452.00
-360.00 404.00
-264.00 404.00
--1.00 -1.00
-6 0
-0
- 4
-160.00 532.00
-160.00 580.00
-160.00 484.00
-160.00 580.00
-208.00 532.00
-112.00 532.00
--1.00 -1.00
-6 0
-0
- 4
-304.00 692.00
-304.00 740.00
-304.00 644.00
-304.00 740.00
-352.00 692.00
-256.00 692.00
--1.00 -1.00
-6 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/func_units.nr b/share/doc/iso/wisc/figs/func_units.nr
deleted file mode 100644
index e69de29..0000000
--- a/share/doc/iso/wisc/figs/func_units.nr
+++ /dev/null
diff --git a/share/doc/iso/wisc/figs/link_to_CONS_primitives.NR.DONT_REMOVE b/share/doc/iso/wisc/figs/link_to_CONS_primitives.NR.DONT_REMOVE
deleted file mode 100644
index 16dc3e0..0000000
--- a/share/doc/iso/wisc/figs/link_to_CONS_primitives.NR.DONT_REMOVE
+++ /dev/null
@@ -1,77 +0,0 @@
-.(b
-.TS
-tab(+) center expand box;
-c c
-a | a .
-service primitive & arguments+provided by
-=
-N_CONNECT.request+cons_openvc(... faddr, ...)
-called address+argument faddr
-calling address+not implemented
-receipt confirmation+not implemented
-expedited data+not implemented
-quality of service+not implemented
-NS-user data+not implemented
-_
-N_CONNECT.indication+not implemented
-_
-N_CONNECT.response+cons_netcmd( CONN_REFUSE )
-+ or cons_netcmd( CONN_CONFIRM )
-+ however, net connection has already
-+ been accepted. If REFUSE, it will
-+ be cleared with E_CO_HLI_REJT
-+ (higher layer rejects connection)
-responding address+not implemented
-receipt confirmation+not implemented
-expedited data+not implemented
-quality of service+not implemented
-NS-user data+not implemented
-_
-N_CONNECT.confirm+not implemented
-=
-N_DATA.request+cons_output(... m, ...)
-+and cosns_output(... m, ...)
-confirmation+not implemented
-data+mbuf chain m
-_
-N_DATA.indication+pr_input( m, ... )
-+or software interrupt
-confirmation+not implemented
-data+mbuf chain
-_
-N_DATA_ACKNOWLEDGE.request+not implemented
-_
-N_DATA_ACKNOWLEDGE.indication+not implemented
-_
-N_EXPEDITED_DATA.request+not implemented
-_
-N_EXPEDITED_DATA.indication+not implemented
-=
-N_RESET.request+not implemented
-N_RESET.indication+socket->so_error = reason
-+or pr_ctlinput( PRC_ROUTEDEAD )
-originator+not implemented
-reason+from X.25 packet or ecn driver
-N_RESET.response+not implemented
-N_RESET.confirm+not implemented
-=
-N_DISCONNECT.request+cons_netcmd( CONN_CLOSE )
-reason+uses E_CO_HLI_DISCN (normal
-+disconnect from higher layer)
-responding address+not implemented
-NS_user data+not implemented
-_
-N_DISCONNECT.indication+socket->so_error = reason
-+or pr_ctlinput( PRC_ROUTEDEAD )
-originator+not implemented
-reason+from X.25 packet or ecn driver
-responding address+not implemented
-NS_user data+not implemented
-.TE
-.(c
-\fBFigure \n+(FG\fR: Transport Service Primitives
-.)c
-.)b
-.(f
-\** data on disconnect is not supported at this time.
-.)f
diff --git a/share/doc/iso/wisc/figs/link_to_TS_primitives.NR.DONT_REMOVE b/share/doc/iso/wisc/figs/link_to_TS_primitives.NR.DONT_REMOVE
deleted file mode 100644
index 3d27df3..0000000
--- a/share/doc/iso/wisc/figs/link_to_TS_primitives.NR.DONT_REMOVE
+++ /dev/null
@@ -1,60 +0,0 @@
-.(b
-.TS
-center expand box;
-c c
-a | a .
-service primitive & arguments Unix system calls & arguments
-=
-T_CONNECT.request \fIsocket(), connect(), setsockopt()\fR
-called address \fIconnect()\fR argument
-calling address \fIconnect()\fR argument
-quality of service not implemented
-buffer management \fIsetsockopt()\fR argument
-security not implemented
-data \fIsetsockopt(), getsockopt()\fR
-_
-T_CONNECT.indication return from \fIaccept(); getsockopt()\fR
-called address \fIaccept()\fR argument
-calling address \fIaccept()\fR argument
-quality of service not implemented
-security not implemented
-data \fIsetsockopt(), getsockopt()\fR
-_
-T_CONNECT.response no applicable system calls
-_
-T_CONNECT.confirm return from \fIconnect()\fR
-quality of service \fIgetsockopt()\fR argument
-data \fIsetsocktopt, getsockopt()\fR
-=
-T_DATA.request \fIrecvv(), sendv()\fR
-_
-T_DATA.indication return from \fIrecvv()\fR, \fIsendv()\fR, or \fIselect()\fR;
- or signal SIGIO
- ioctl(FIONREAD) tells how much has been
- queued to read
-=
-T_EXPEDITED_DATA.request \fIsendv()\fR with MSG_OOB flag
-_
-T_EXPEDITED_DATA.indication SIGURG, \fIgetsockopt()\fR with TPFLAG_XPD,
- return from \fIselect()\fR with exceptional
- conditions mask
-=
-T_DISCONNECT.request \fIclose()\fR
-data \fIsetsockopt()\fR
-_
-T_DISCONNECT.indication SIGURG,
- error return on other primitives
-reason errno
-data \fIgetsockopt()\**\fR
-=
-T_STATUS.request \fIgetsockopt()\fR, \fItpstat\fR utility program
-_
-T_STATUS.indication \fIgetsockopt()\fR, \fIselect()\fR, \fItpstat\fR
-.TE
-.(c
-\fBFigure \n+(FG\fR: Transport Service Primitives
-.)c
-.)b
-.(f
-\** data on disconnect is not supported at this time.
-.)f
diff --git a/share/doc/iso/wisc/figs/mbufrcv.grn b/share/doc/iso/wisc/figs/mbufrcv.grn
deleted file mode 100644
index 0f3fa52..0000000
--- a/share/doc/iso/wisc/figs/mbufrcv.grn
+++ /dev/null
@@ -1,13 +0,0 @@
-.(z
-.GS C
-width 5.0
-high 6.0
-narrow 1
-medium 3
-thick 7
-pointscale on
-file mbufrcv.gsrc
-.GE
-.ce
-\fB Figure \n+(FG\fR: \fImbuf\fR chains on socket receive buffer
-.)z
diff --git a/share/doc/iso/wisc/figs/mbufrcv.gsrc b/share/doc/iso/wisc/figs/mbufrcv.gsrc
deleted file mode 100644
index 1577804..0000000
--- a/share/doc/iso/wisc/figs/mbufrcv.gsrc
+++ /dev/null
@@ -1,1006 +0,0 @@
-gremlinfile
-0 328.00 496.00
-0
-328.00 224.00
-328.00 234.00
-328.00 234.00
-328.00 234.00
--1.00 -1.00
-1 1
-7 MT_DATA
- 0
-328.00 400.00
-328.00 410.00
-328.00 410.00
-328.00 410.00
--1.00 -1.00
-1 1
-7 MT_DATA
- 0
-328.00 576.00
-328.00 586.00
-328.00 586.00
-328.00 586.00
--1.00 -1.00
-1 1
-7 MT_DATA
- 0
-72.00 576.00
-72.00 586.00
-72.00 586.00
-72.00 586.00
--1.00 -1.00
-1 1
-7 MT_DATA
- 3
-384.00 256.00
-416.00 256.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 272.00
-416.00 240.00
--1.00 -1.00
-5 0
-0
- 3
-432.00 272.00
-432.00 240.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 240.00
-432.00 272.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 416.00
-432.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-432.00 448.00
-432.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 448.00
-416.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-384.00 432.00
-416.00 432.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 432.00
-160.00 432.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 448.00
-160.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-176.00 448.00
-176.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 416.00
-176.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 512.00
-288.00 512.00
--1.00 -1.00
-5 0
-0
- 3
-512.00 528.00
-512.00 496.00
-528.00 528.00
-528.00 496.00
--1.00 -1.00
-5 0
-0
- 3
-496.00 512.00
-512.00 512.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 320.00
-176.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-176.00 352.00
-176.00 320.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 352.00
-160.00 320.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 336.00
-160.00 336.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 144.00
-432.00 176.00
--1.00 -1.00
-5 0
-0
- 3
-512.00 592.00
-528.00 624.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 496.00
-304.00 528.00
--1.00 -1.00
-5 0
-0
- 3
-432.00 176.00
-432.00 144.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 176.00
-416.00 144.00
--1.00 -1.00
-5 0
-0
- 3
-384.00 160.00
-416.00 160.00
--1.00 -1.00
-5 0
-0
- 3
-304.00 528.00
-304.00 496.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 528.00
-288.00 496.00
--1.00 -1.00
-5 0
-0
- 3
-528.00 624.00
-528.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-512.00 624.00
-512.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-496.00 608.00
-512.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 272.00
-349.00 277.00
-352.00 275.00
-355.00 277.00
-352.00 272.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 288.00
-352.00 272.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 288.00
-352.00 288.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 336.00
-416.00 288.00
--1.00 -1.00
-5 0
-0
- 3
-384.00 336.00
-416.00 336.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 448.00
-349.00 453.00
-352.00 451.00
-355.00 453.00
-352.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 464.00
-352.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 464.00
-352.00 464.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 512.00
-416.00 464.00
--1.00 -1.00
-5 0
-0
- 3
-96.00 448.00
-93.00 453.00
-96.00 451.00
-99.00 453.00
-96.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-96.00 464.00
-96.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 464.00
-96.00 464.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 512.00
-160.00 464.00
--1.00 -1.00
-5 0
-0
- 3
-384.00 512.00
-416.00 512.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 512.00
-160.00 512.00
--1.00 -1.00
-5 0
-0
- 3
-432.00 608.00
-427.00 605.00
-429.00 608.00
-427.00 611.00
-432.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-384.00 608.00
-432.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 608.00
-315.00 605.00
-317.00 608.00
-315.00 611.00
-320.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-192.00 608.00
-187.00 605.00
-189.00 608.00
-187.00 611.00
-192.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 608.00
-320.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-128.00 608.00
-192.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-432.00 624.00
-432.00 496.00
-496.00 496.00
-496.00 624.00
-432.00 624.00
--1.00 -1.00
-5 0
-0
- 3
-432.00 592.00
-496.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-432.00 528.00
-432.00 528.00
-496.00 528.00
-496.00 528.00
-432.00 528.00
--1.00 -1.00
-5 0
-0
- 0
-448.00 512.00
-448.00 522.00
-448.00 522.00
-448.00 522.00
--1.00 -1.00
-1 1
-6 m_next
- 0
-448.00 608.00
-448.00 618.00
-448.00 618.00
-448.00 618.00
--1.00 -1.00
-1 1
-5 m_act
- 3
-432.00 576.00
-432.00 576.00
-496.00 576.00
-496.00 576.00
-432.00 576.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 224.00
-320.00 224.00
-384.00 224.00
-384.00 224.00
-320.00 224.00
--1.00 -1.00
-5 0
-0
- 0
-336.00 256.00
-336.00 266.00
-336.00 266.00
-336.00 266.00
--1.00 -1.00
-1 1
-5 m_act
- 0
-336.00 160.00
-336.00 170.00
-336.00 170.00
-336.00 170.00
--1.00 -1.00
-1 1
-6 m_next
- 3
-320.00 176.00
-320.00 176.00
-384.00 176.00
-384.00 176.00
-320.00 176.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 240.00
-384.00 240.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 272.00
-320.00 144.00
-384.00 144.00
-384.00 272.00
-320.00 272.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 448.00
-320.00 320.00
-384.00 320.00
-384.00 448.00
-320.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 416.00
-384.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 352.00
-320.00 352.00
-384.00 352.00
-384.00 352.00
-320.00 352.00
--1.00 -1.00
-5 0
-0
- 0
-336.00 336.00
-336.00 346.00
-336.00 346.00
-336.00 346.00
--1.00 -1.00
-1 1
-6 m_next
- 0
-336.00 432.00
-336.00 442.00
-336.00 442.00
-336.00 442.00
--1.00 -1.00
-1 1
-5 m_act
- 3
-320.00 400.00
-320.00 400.00
-384.00 400.00
-384.00 400.00
-320.00 400.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 576.00
-320.00 576.00
-384.00 576.00
-384.00 576.00
-320.00 576.00
--1.00 -1.00
-5 0
-0
- 0
-336.00 608.00
-336.00 618.00
-336.00 618.00
-336.00 618.00
--1.00 -1.00
-1 1
-5 m_act
- 0
-336.00 512.00
-336.00 522.00
-336.00 522.00
-336.00 522.00
--1.00 -1.00
-1 1
-6 m_next
- 3
-320.00 528.00
-320.00 528.00
-384.00 528.00
-384.00 528.00
-320.00 528.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 592.00
-384.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 624.00
-320.00 496.00
-384.00 496.00
-384.00 624.00
-320.00 624.00
--1.00 -1.00
-5 0
-0
- 3
-192.00 624.00
-192.00 496.00
-256.00 496.00
-256.00 624.00
-192.00 624.00
--1.00 -1.00
-5 0
-0
- 3
-192.00 592.00
-256.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-192.00 528.00
-192.00 528.00
-256.00 528.00
-256.00 528.00
-192.00 528.00
--1.00 -1.00
-5 0
-0
- 0
-208.00 512.00
-208.00 522.00
-208.00 522.00
-208.00 522.00
--1.00 -1.00
-1 1
-6 m_next
- 0
-208.00 608.00
-208.00 618.00
-208.00 618.00
-208.00 618.00
--1.00 -1.00
-1 1
-5 m_act
- 3
-192.00 576.00
-192.00 576.00
-256.00 576.00
-256.00 576.00
-192.00 576.00
--1.00 -1.00
-5 0
-0
- 3
-64.00 400.00
-64.00 400.00
-128.00 400.00
-128.00 400.00
-64.00 400.00
--1.00 -1.00
-5 0
-0
- 0
-80.00 432.00
-80.00 442.00
-80.00 442.00
-80.00 442.00
--1.00 -1.00
-1 1
-5 m_act
- 0
-80.00 336.00
-80.00 346.00
-80.00 346.00
-80.00 346.00
--1.00 -1.00
-1 1
-6 m_next
- 3
-64.00 352.00
-64.00 352.00
-128.00 352.00
-128.00 352.00
-64.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-64.00 416.00
-128.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-64.00 448.00
-64.00 320.00
-128.00 320.00
-128.00 448.00
-64.00 448.00
--1.00 -1.00
-5 0
-0
- 3
-64.00 576.00
-64.00 576.00
-128.00 576.00
-128.00 576.00
-64.00 576.00
--1.00 -1.00
-5 0
-0
- 0
-80.00 608.00
-80.00 618.00
-80.00 618.00
-80.00 618.00
--1.00 -1.00
-1 1
-5 m_act
- 0
-80.00 512.00
-80.00 522.00
-80.00 522.00
-80.00 522.00
--1.00 -1.00
-1 1
-6 m_next
- 3
-64.00 528.00
-64.00 528.00
-128.00 528.00
-128.00 528.00
-64.00 528.00
--1.00 -1.00
-5 0
-0
- 3
-64.00 592.00
-128.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-64.00 624.00
-64.00 496.00
-128.00 496.00
-128.00 624.00
-64.00 624.00
--1.00 -1.00
-5 0
-0
- 0
-74.00 401.00
-74.00 411.00
-74.00 411.00
-74.00 411.00
--1.00 -1.00
-1 1
-6 MT_EOT
- 0
-207.00 577.00
-207.00 587.00
-207.00 587.00
-207.00 587.00
--1.00 -1.00
-1 1
-6 MT_EOT
- 0
-446.00 575.00
-446.00 585.00
-446.00 585.00
-446.00 585.00
--1.00 -1.00
-1 1
-6 MT_EOT
- 3
-80.00 576.00
-80.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-72.00 576.00
-72.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-88.00 576.00
-88.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-96.00 576.00
-96.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-104.00 576.00
-104.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-112.00 576.00
-112.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-120.00 576.00
-120.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-80.00 400.00
-80.00 376.00
--1.00 -1.00
-1 0
-0
- 3
-72.00 400.00
-72.00 376.00
--1.00 -1.00
-1 0
-0
- 3
-88.00 400.00
-88.00 376.00
--1.00 -1.00
-1 0
-0
- 3
-96.00 400.00
-96.00 376.00
--1.00 -1.00
-1 0
-0
- 3
-104.00 400.00
-104.00 376.00
--1.00 -1.00
-1 0
-0
- 3
-112.00 400.00
-112.00 376.00
--1.00 -1.00
-1 0
-0
- 3
-120.00 400.00
-120.00 376.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 552.00
-336.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-328.00 552.00
-328.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-344.00 552.00
-344.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-352.00 552.00
-352.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-360.00 552.00
-360.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-368.00 552.00
-368.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-376.00 552.00
-376.00 528.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 400.00
-336.00 352.00
--1.00 -1.00
-1 0
-0
- 3
-328.00 400.00
-328.00 352.00
--1.00 -1.00
-1 0
-0
- 3
-344.00 400.00
-344.00 352.00
--1.00 -1.00
-1 0
-0
- 3
-352.00 400.00
-352.00 352.00
--1.00 -1.00
-1 0
-0
- 3
-360.00 400.00
-360.00 352.00
--1.00 -1.00
-1 0
-0
- 3
-368.00 400.00
-368.00 352.00
--1.00 -1.00
-1 0
-0
- 3
-376.00 400.00
-376.00 352.00
--1.00 -1.00
-1 0
-0
- 3
-328.00 208.00
-328.00 192.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 208.00
-336.00 192.00
--1.00 -1.00
-1 0
-0
- 3
-352.00 208.00
-352.00 192.00
--1.00 -1.00
-1 0
-0
- 3
-344.00 208.00
-344.00 192.00
--1.00 -1.00
-1 0
-0
- 3
-360.00 208.00
-360.00 192.00
--1.00 -1.00
-1 0
-0
- 3
-368.00 208.00
-368.00 192.00
--1.00 -1.00
-1 0
-0
- 3
-376.00 208.00
-376.00 192.00
--1.00 -1.00
-1 0
-0
- 0
-64.00 640.00
-64.00 650.00
-64.00 650.00
-64.00 650.00
--1.00 -1.00
-1 1
-10 first TSDU
- 0
-192.00 640.00
-192.00 650.00
-192.00 650.00
-192.00 650.00
--1.00 -1.00
-1 1
-11 second TSDU
- 0
-320.00 640.00
-320.00 650.00
-320.00 650.00
-320.00 650.00
--1.00 -1.00
-1 1
-9 last TSDU
- 0
-64.00 688.00
-64.00 698.00
-64.00 698.00
-64.00 698.00
--1.00 -1.00
-1 1
-16 so->so_rcv.sb_mb
- 3
-48.00 704.00
-48.00 672.00
-160.00 672.00
-160.00 704.00
-48.00 704.00
--1.00 -1.00
-5 0
-0
- 3
-48.00 688.00
-32.00 688.00
--1.00 -1.00
-5 0
-0
- 3
-32.00 688.00
-32.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-32.00 608.00
-64.00 608.00
--1.00 -1.00
-5 0
-0
- 3
-64.00 608.00
-59.00 605.00
-61.00 608.00
-59.00 611.00
-64.00 608.00
--1.00 -1.00
-5 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/mbufrcv.nr b/share/doc/iso/wisc/figs/mbufrcv.nr
deleted file mode 100644
index af35c70..0000000
--- a/share/doc/iso/wisc/figs/mbufrcv.nr
+++ /dev/null
@@ -1,504 +0,0 @@
-.(z
-.br
-.nr g1 2880u
-.nr g2 3250u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-\D't 1u'
-.sp -1
-.sp 557u
-\h'186u'\D'l -29u 18u'\D'l 12u -18u'\D'l -12u -17u'\D'l 29u 17u'
-.sp -1
-\D'l 186u 0u'
-.sp -1
-.sp -464u
-\D'l 0u 464u'
-.sp -1
-\h'93u'\D'l -93u 0u'
-.sp -1
-.sp -93u
-\h'93u'\D'l 0u 186u'\D'l 651u 0u'\D'l 0u -186u'\D'l -651u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "so->so_rcv.sb_mb
-.sp 93u
-\h'186u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "last TSDU
-.sp 371u
-\h'1673u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "second TSDU
-.sp 371u
-\h'929u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "first TSDU
-.sp 371u
-\h'186u'\&\*(g9
-.sp |\n(g8u
-\D's 4u'
-.sp -1
-.sp 2879u
-\h'1998u'\D'l 0u 93u'
-.sp -1
-\h'1951u'\D'l 0u 93u'
-.sp -1
-\h'1905u'\D'l 0u 93u'
-.sp -1
-\h'1812u'\D'l 0u 93u'
-.sp -1
-\h'1858u'\D'l 0u 93u'
-.sp -1
-\h'1765u'\D'l 0u 93u'
-.sp -1
-\h'1719u'\D'l 0u 93u'
-.sp -1
-.sp -1115u
-\h'1998u'\D'l 0u 279u'
-.sp -1
-\h'1951u'\D'l 0u 279u'
-.sp -1
-\h'1905u'\D'l 0u 279u'
-.sp -1
-\h'1858u'\D'l 0u 279u'
-.sp -1
-\h'1812u'\D'l 0u 279u'
-.sp -1
-\h'1719u'\D'l 0u 279u'
-.sp -1
-\h'1765u'\D'l 0u 279u'
-.sp -1
-.sp -882u
-\h'1998u'\D'l 0u 140u'
-.sp -1
-\h'1951u'\D'l 0u 140u'
-.sp -1
-\h'1905u'\D'l 0u 140u'
-.sp -1
-\h'1858u'\D'l 0u 140u'
-.sp -1
-\h'1812u'\D'l 0u 140u'
-.sp -1
-\h'1719u'\D'l 0u 140u'
-.sp -1
-\h'1765u'\D'l 0u 140u'
-.sp -1
-.sp 882u
-\h'511u'\D'l 0u 139u'
-.sp -1
-\h'465u'\D'l 0u 139u'
-.sp -1
-\h'418u'\D'l 0u 139u'
-.sp -1
-\h'372u'\D'l 0u 139u'
-.sp -1
-\h'325u'\D'l 0u 139u'
-.sp -1
-\h'233u'\D'l 0u 139u'
-.sp -1
-\h'279u'\D'l 0u 139u'
-.sp -1
-.sp -1021u
-\h'511u'\D'l 0u 279u'
-.sp -1
-\h'465u'\D'l 0u 279u'
-.sp -1
-\h'418u'\D'l 0u 279u'
-.sp -1
-\h'372u'\D'l 0u 279u'
-.sp -1
-\h'325u'\D'l 0u 279u'
-.sp -1
-\h'233u'\D'l 0u 279u'
-.sp -1
-\h'279u'\D'l 0u 279u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "MT_EOT
-.sp 6u
-\h'2404u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "MT_EOT
-.sp -6u
-\h'1016u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "MT_EOT
-.sp 1015u
-\h'244u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp -279u
-\h'186u'\D'l 0u 743u'\D'l 372u 0u'\D'l 0u -743u'\D'l -372u 0u'
-.sp -1
-.sp 186u
-\h'186u'\D'l 372u 0u'
-.sp -1
-.sp 372u
-\h'186u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 93u
-\h'279u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -465u
-\h'279u'\&\*(g9
-.sp |\n(g8u
-.sp -279u
-\h'186u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.sp 742u
-\h'186u'\D'l 0u 744u'\D'l 372u 0u'\D'l 0u -744u'\D'l -372u 0u'
-.sp -1
-.sp 186u
-\h'186u'\D'l 372u 0u'
-.sp -1
-.sp 372u
-\h'186u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 93u
-\h'279u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -465u
-\h'279u'\&\*(g9
-.sp |\n(g8u
-.sp -279u
-\h'186u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.sp -1021u
-\h'929u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -186u
-\h'1022u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 372u
-\h'1022u'\&\*(g9
-.sp |\n(g8u
-.sp 279u
-\h'929u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.sp -372u
-\h'929u'\D'l 372u 0u'
-.sp -1
-.sp -186u
-\h'929u'\D'l 0u 743u'\D'l 372u 0u'\D'l 0u -743u'\D'l -372u 0u'
-.sp -1
-\h'1673u'\D'l 0u 743u'\D'l 371u 0u'\D'l 0u -743u'\D'l -371u 0u'
-.sp -1
-.sp 186u
-\h'1673u'\D'l 371u 0u'
-.sp -1
-.sp 372u
-\h'1673u'\D'l 0u 0u'\D'l 371u 0u'\D'l 0u 0u'\D'l -371u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 93u
-\h'1765u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -465u
-\h'1765u'\&\*(g9
-.sp |\n(g8u
-.sp -279u
-\h'1673u'\D'l 0u 0u'\D'l 371u 0u'\D'l 0u 0u'\D'l -371u 0u'
-.sp -1
-.sp 1021u
-\h'1673u'\D'l 0u 0u'\D'l 371u 0u'\D'l 0u 0u'\D'l -371u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -186u
-\h'1765u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 372u
-\h'1765u'\&\*(g9
-.sp |\n(g8u
-.sp 279u
-\h'1673u'\D'l 0u 0u'\D'l 371u 0u'\D'l 0u 0u'\D'l -371u 0u'
-.sp -1
-.sp -372u
-\h'1673u'\D'l 371u 0u'
-.sp -1
-.sp -186u
-\h'1673u'\D'l 0u 744u'\D'l 371u 0u'\D'l 0u -744u'\D'l -371u 0u'
-.sp -1
-.sp 1022u
-\h'1673u'\D'l 0u 743u'\D'l 371u 0u'\D'l 0u -743u'\D'l -371u 0u'
-.sp -1
-.sp 186u
-\h'1673u'\D'l 371u 0u'
-.sp -1
-.sp 372u
-\h'1673u'\D'l 0u 0u'\D'l 371u 0u'\D'l 0u 0u'\D'l -371u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 93u
-\h'1765u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -465u
-\h'1765u'\&\*(g9
-.sp |\n(g8u
-.sp -279u
-\h'1673u'\D'l 0u 0u'\D'l 371u 0u'\D'l 0u 0u'\D'l -371u 0u'
-.sp -1
-.sp -2043u
-\h'2323u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -186u
-\h'2416u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 372u
-\h'2416u'\&\*(g9
-.sp |\n(g8u
-.sp 279u
-\h'2323u'\D'l 0u 0u'\D'l 372u 0u'\D'l 0u 0u'\D'l -372u 0u'
-.sp -1
-.sp -372u
-\h'2323u'\D'l 372u 0u'
-.sp -1
-.sp -186u
-\h'2323u'\D'l 0u 743u'\D'l 372u 0u'\D'l 0u -743u'\D'l -372u 0u'
-.sp -1
-.sp 93u
-\h'558u'\D'l 371u 0u'
-.sp -1
-\h'1301u'\D'l 372u 0u'
-.sp -1
-\h'929u'\D'l -29u 18u'\D'l 12u -18u'\D'l -12u -17u'\D'l 29u 17u'
-.sp -1
-\h'1673u'\D'l -29u 18u'\D'l 11u -18u'\D'l -11u -17u'\D'l 29u 17u'
-.sp -1
-\h'2044u'\D'l 279u 0u'
-.sp -1
-\h'2323u'\D'l -29u 18u'\D'l 11u -18u'\D'l -11u -17u'\D'l 29u 17u'
-.sp -1
-.sp 558u
-\h'558u'\D'l 186u 0u'
-.sp -1
-\h'2044u'\D'l 186u 0u'
-.sp -1
-\h'744u'\D'l 0u 277u'
-.sp -1
-.sp 277u
-\h'744u'\D'l -372u 0u'
-.sp -1
-\h'372u'\D'l 0u 93u'
-.sp -1
-.sp 93u
-\h'372u'\D'l -17u -29u'\D'l 17u 12u'\D'l 17u -12u'\D'l -17u 29u'
-.sp -1
-.sp -370u
-\h'2230u'\D'l 0u 277u'
-.sp -1
-.sp 277u
-\h'2230u'\D'l -372u 0u'
-.sp -1
-\h'1858u'\D'l 0u 93u'
-.sp -1
-.sp 93u
-\h'1858u'\D'l -17u -29u'\D'l 17u 12u'\D'l 18u -12u'\D'l -18u 29u'
-.sp -1
-.sp 651u
-\h'2044u'\D'l 186u 0u'
-.sp -1
-\h'2230u'\D'l 0u 278u'
-.sp -1
-.sp 278u
-\h'2230u'\D'l -372u 0u'
-.sp -1
-\h'1858u'\D'l 0u 93u'
-.sp -1
-.sp 93u
-\h'1858u'\D'l -17u -29u'\D'l 17u 12u'\D'l 18u -12u'\D'l -18u 29u'
-.sp -1
-.sp -1950u
-\h'2695u'\D'l 92u 0u'
-.sp -1
-.sp -93u
-\h'2787u'\D'l 0u 186u'
-.sp -1
-\h'2880u'\D'l 0u 186u'
-.sp -1
-.sp 558u
-\h'1487u'\D'l 0u 185u'
-.sp -1
-\h'1580u'\D'l 0u 185u'
-.sp -1
-.sp 2136u
-\h'2044u'\D'l 186u 0u'
-.sp -1
-.sp -93u
-\h'2230u'\D'l 0u 185u'
-.sp -1
-\h'2323u'\D'l 0u 185u'
-.sp -1
-.sp -1858u
-\h'1487u'\D'l 93u -185u'
-.sp -1
-.sp -557u
-\h'2787u'\D'l 93u -186u'
-.sp -1
-.sp 2600u
-\h'2230u'\D'l 93u -185u'
-.sp -1
-.sp -1114u
-\h'558u'\D'l 186u 0u'
-.sp -1
-.sp -93u
-\h'744u'\D'l 0u 186u'
-.sp -1
-\h'836u'\D'l 0u 186u'
-.sp -1
-.sp 186u
-\h'744u'\D'l 92u -186u'
-.sp -1
-.sp -1114u
-\h'2695u'\D'l 92u 0u'
-.sp -1
-.sp -93u
-\h'2787u'\D'l 0u 185u'\D'l 93u -185u'\D'l 0u 185u'
-.sp -1
-.sp 93u
-\h'1301u'\D'l 186u 0u'
-.sp -1
-.sp 556u
-\h'744u'\D'l 92u -186u'
-.sp -1
-.sp -186u
-\h'836u'\D'l 0u 186u'
-.sp -1
-\h'744u'\D'l 0u 186u'
-.sp -1
-.sp 93u
-\h'558u'\D'l 186u 0u'
-.sp -1
-\h'2044u'\D'l 186u 0u'
-.sp -1
-.sp -93u
-\h'2230u'\D'l 0u 186u'
-.sp -1
-\h'2323u'\D'l 0u 186u'
-.sp -1
-.sp 186u
-\h'2230u'\D'l 93u -186u'
-.sp -1
-.sp 1022u
-\h'2230u'\D'l 93u -186u'
-.sp -1
-.sp -186u
-\h'2323u'\D'l 0u 186u'
-.sp -1
-\h'2230u'\D'l 0u 186u'
-.sp -1
-.sp 93u
-\h'2044u'\D'l 186u 0u'
-.sp -1
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "MT_DATA
-.sp -1857u
-\h'233u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "MT_DATA
-.sp -1857u
-\h'1719u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "MT_DATA
-.sp -836u
-\h'1719u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 5
-.nr g8 \n(.d
-.ds g9 "MT_DATA
-.sp 186u
-\h'1719u'\&\*(g9
-.sp |\n(g8u
-.sp 650u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fB Figure \n+(FG\fR: \fImbuf\fR chains on socket receive buffer
-.)z
diff --git a/share/doc/iso/wisc/figs/mbufsnd.grn b/share/doc/iso/wisc/figs/mbufsnd.grn
deleted file mode 100644
index 9b7ac5e..0000000
--- a/share/doc/iso/wisc/figs/mbufsnd.grn
+++ /dev/null
@@ -1,13 +0,0 @@
-.(z
-.GS C
-width 5.0
-high 6.0
-narrow 1
-medium 3
-thick 7
-pointscale on
-file mbufsnd.gsrc
-.GE
-.ce
-\fB Figure \n+(FG\fR: \fImbuf\fR chains on socket send buffer
-.)z
diff --git a/share/doc/iso/wisc/figs/mbufsnd.gsrc b/share/doc/iso/wisc/figs/mbufsnd.gsrc
deleted file mode 100644
index 8e2f0a8..0000000
--- a/share/doc/iso/wisc/figs/mbufsnd.gsrc
+++ /dev/null
@@ -1,534 +0,0 @@
-gremlinfile
-0 124.00 410.00
-0
-124.00 310.00
-124.00 320.00
-124.00 320.00
-124.00 320.00
--1.00 -1.00
-1 1
-12 == user data
- 3
-71.00 343.00
-71.00 295.00
--1.00 -1.00
-1 0
-0
- 3
-79.00 343.00
-79.00 295.00
--1.00 -1.00
-1 0
-0
- 3
-87.00 343.00
-87.00 295.00
--1.00 -1.00
-1 0
-0
- 3
-95.00 343.00
-95.00 295.00
--1.00 -1.00
-1 0
-0
- 3
-103.00 343.00
-103.00 295.00
--1.00 -1.00
-1 0
-0
- 3
-111.00 343.00
-111.00 295.00
--1.00 -1.00
-1 0
-0
- 3
-119.00 343.00
-119.00 295.00
--1.00 -1.00
-1 0
-0
- 3
-160.00 688.00
-256.00 688.00
-160.00 688.00
-256.00 688.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 512.00
-352.00 512.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 528.00
-352.00 496.00
-368.00 528.00
-368.00 496.00
--1.00 -1.00
-5 0
-0
- 0
-264.00 656.00
-264.00 666.00
-264.00 666.00
-264.00 666.00
--1.00 -1.00
-1 1
-7 MT_DATA
- 3
-256.00 480.00
-320.00 480.00
--1.00 -1.00
-5 0
-0
- 0
-272.00 480.00
-272.00 490.00
-272.00 490.00
-272.00 490.00
--1.00 -1.00
-1 1
-6 MT_XPD
- 3
-312.00 304.00
-312.00 256.00
--1.00 -1.00
-1 0
-0
- 3
-304.00 304.00
-304.00 256.00
--1.00 -1.00
-1 0
-0
- 3
-296.00 304.00
-296.00 256.00
--1.00 -1.00
-1 0
-0
- 3
-288.00 304.00
-288.00 256.00
--1.00 -1.00
-1 0
-0
- 3
-280.00 304.00
-280.00 256.00
--1.00 -1.00
-1 0
-0
- 3
-264.00 304.00
-264.00 256.00
--1.00 -1.00
-1 0
-0
- 3
-272.00 304.00
-272.00 256.00
--1.00 -1.00
-1 0
-0
- 3
-256.00 304.00
-256.00 304.00
-320.00 304.00
-320.00 304.00
-256.00 304.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 256.00
-256.00 256.00
-320.00 256.00
-320.00 256.00
-256.00 256.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 352.00
-285.00 357.00
-288.00 355.00
-291.00 357.00
-288.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 416.00
-352.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 416.00
-352.00 368.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 352.00
-256.00 224.00
-320.00 224.00
-320.00 352.00
-256.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 368.00
-288.00 368.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 368.00
-288.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 704.00
-352.00 672.00
-368.00 704.00
-368.00 672.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 688.00
-352.00 688.00
--1.00 -1.00
-5 0
-0
- 0
-64.00 688.00
-64.00 698.00
-64.00 698.00
-64.00 698.00
--1.00 -1.00
-1 1
-16 so->so_snd.sb_mb
- 3
-256.00 688.00
-251.00 685.00
-253.00 688.00
-251.00 691.00
-256.00 688.00
--1.00 -1.00
-5 0
-0
- 3
-48.00 704.00
-48.00 672.00
-160.00 672.00
-160.00 704.00
-48.00 704.00
--1.00 -1.00
-5 0
-0
- 3
-312.00 656.00
-312.00 608.00
--1.00 -1.00
-1 0
-0
- 3
-304.00 656.00
-304.00 608.00
--1.00 -1.00
-1 0
-0
- 3
-296.00 656.00
-296.00 608.00
--1.00 -1.00
-1 0
-0
- 3
-288.00 656.00
-288.00 608.00
--1.00 -1.00
-1 0
-0
- 3
-280.00 656.00
-280.00 608.00
--1.00 -1.00
-1 0
-0
- 3
-264.00 656.00
-264.00 608.00
--1.00 -1.00
-1 0
-0
- 3
-272.00 656.00
-272.00 608.00
--1.00 -1.00
-1 0
-0
- 0
-271.00 305.00
-271.00 315.00
-271.00 315.00
-271.00 315.00
--1.00 -1.00
-1 1
-6 MT_EOT
- 3
-256.00 704.00
-256.00 576.00
-320.00 576.00
-320.00 704.00
-256.00 704.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 672.00
-320.00 672.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 608.00
-256.00 608.00
-320.00 608.00
-320.00 608.00
-256.00 608.00
--1.00 -1.00
-5 0
-0
- 0
-272.00 592.00
-272.00 602.00
-272.00 602.00
-272.00 602.00
--1.00 -1.00
-1 1
-6 m_next
- 0
-272.00 688.00
-272.00 698.00
-272.00 698.00
-272.00 698.00
--1.00 -1.00
-1 1
-5 m_act
- 3
-256.00 656.00
-256.00 656.00
-320.00 656.00
-320.00 656.00
-256.00 656.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 528.00
-256.00 400.00
-320.00 400.00
-320.00 528.00
-256.00 528.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 496.00
-320.00 496.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 432.00
-256.00 432.00
-320.00 432.00
-320.00 432.00
-256.00 432.00
--1.00 -1.00
-5 0
-0
- 0
-272.00 416.00
-272.00 426.00
-272.00 426.00
-272.00 426.00
--1.00 -1.00
-1 1
-6 m_next
- 0
-272.00 512.00
-272.00 522.00
-272.00 522.00
-272.00 522.00
--1.00 -1.00
-1 1
-5 m_act
- 3
-256.00 304.00
-256.00 304.00
-320.00 304.00
-320.00 304.00
-256.00 304.00
--1.00 -1.00
-5 0
-0
- 0
-272.00 336.00
-272.00 346.00
-272.00 346.00
-272.00 346.00
--1.00 -1.00
-1 1
-5 m_act
- 0
-272.00 240.00
-272.00 250.00
-272.00 250.00
-272.00 250.00
--1.00 -1.00
-1 1
-6 m_next
- 3
-256.00 256.00
-256.00 256.00
-320.00 256.00
-320.00 256.00
-256.00 256.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 320.00
-320.00 320.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 352.00
-256.00 224.00
-320.00 224.00
-320.00 352.00
-256.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 592.00
-352.00 592.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 592.00
-352.00 544.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 544.00
-288.00 544.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 544.00
-288.00 528.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 528.00
-285.00 533.00
-288.00 531.00
-291.00 533.00
-288.00 528.00
--1.00 -1.00
-5 0
-0
- 3
-320.00 240.00
-352.00 240.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 256.00
-352.00 224.00
--1.00 -1.00
-5 0
-0
- 3
-368.00 256.00
-368.00 224.00
--1.00 -1.00
-5 0
-0
- 3
-352.00 224.00
-368.00 256.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 472.00
-288.00 464.00
--1.00 -1.00
-5 0
-0
- 0
-72.00 480.00
-72.00 490.00
-72.00 490.00
-72.00 490.00
--1.00 -1.00
-1 1
-13 tpcb->tp_Xuna
- 0
-72.00 464.00
-72.00 474.00
-72.00 474.00
-72.00 474.00
--1.00 -1.00
-1 1
-18 sequence number of
- 0
-72.00 448.00
-72.00 458.00
-72.00 458.00
-72.00 458.00
--1.00 -1.00
-1 1
-8 XPD TPDU
- 3
-288.00 464.00
-208.00 456.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 472.00
-208.00 480.00
-208.00 480.00
--1.00 -1.00
-5 0
-0
- 3
-208.00 488.00
-184.00 472.00
-208.00 448.00
--1.00 -1.00
-5 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/mbufsnd.nr b/share/doc/iso/wisc/figs/mbufsnd.nr
deleted file mode 100644
index 4b38574..0000000
--- a/share/doc/iso/wisc/figs/mbufsnd.nr
+++ /dev/null
@@ -1,284 +0,0 @@
-.(z
-.br
-.nr g1 2304u
-.nr g2 3455u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-\D't 1u'
-.sp -1
-.sp 1554u
-\h'1152u'\D'l -173u 115u'\D'l 173u 173u'
-.sp -1
-.sp 115u
-\h'1728u'\D'l -576u -57u'\D'l 0u 0u'
-.sp -1
-.sp 58u
-\h'1728u'\D'l -576u 57u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "XPD TPDU
-.sp 115u
-\h'173u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "sequence number of
-\h'173u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "tpcb->tp_Xuna
-.sp -115u
-\h'173u'\&\*(g9
-.sp |\n(g8u
-.sp -58u
-\h'1728u'\D'l 0u 58u'
-.sp -1
-.sp 1786u
-\h'2189u'\D'l 115u -231u'
-.sp -1
-.sp -231u
-\h'2304u'\D'l 0u 231u'
-.sp -1
-\h'2189u'\D'l 0u 231u'
-.sp -1
-.sp 116u
-\h'1959u'\D'l 230u 0u'
-.sp -1
-.sp -2073u
-\h'1728u'\D'l -21u -36u'\D'l 21u 14u'\D'l 22u -14u'\D'l -22u 36u'
-.sp -1
-.sp -115u
-\h'1728u'\D'l 0u 115u'
-.sp -1
-\h'2189u'\D'l -461u 0u'
-.sp -1
-.sp -346u
-\h'2189u'\D'l 0u 346u'
-.sp -1
-\h'1959u'\D'l 230u 0u'
-.sp -1
-.sp 1727u
-\h'1498u'\D'l 0u 922u'\D'l 461u 0u'\D'l 0u -922u'\D'l -461u 0u'
-.sp -1
-.sp 231u
-\h'1498u'\D'l 461u 0u'
-.sp -1
-.sp 460u
-\h'1498u'\D'l 0u 0u'\D'l 461u 0u'\D'l 0u 0u'\D'l -461u 0u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 116u
-\h'1613u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -576u
-\h'1613u'\&\*(g9
-.sp |\n(g8u
-.sp -345u
-\h'1498u'\D'l 0u 0u'\D'l 461u 0u'\D'l 0u 0u'\D'l -461u 0u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -1497u
-\h'1613u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp -807u
-\h'1613u'\&\*(g9
-.sp |\n(g8u
-.sp -922u
-\h'1498u'\D'l 0u 0u'\D'l 461u 0u'\D'l 0u 0u'\D'l -461u 0u'
-.sp -1
-.sp -461u
-\h'1498u'\D'l 461u 0u'
-.sp -1
-.sp -229u
-\h'1498u'\D'l 0u 921u'\D'l 461u 0u'\D'l 0u -921u'\D'l -461u 0u'
-.sp -1
-.sp -922u
-\h'1498u'\D'l 0u 0u'\D'l 461u 0u'\D'l 0u 0u'\D'l -461u 0u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "m_act
-.sp -230u
-\h'1613u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "m_next
-.sp 461u
-\h'1613u'\&\*(g9
-.sp |\n(g8u
-.sp 346u
-\h'1498u'\D'l 0u 0u'\D'l 461u 0u'\D'l 0u 0u'\D'l -461u 0u'
-.sp -1
-.sp -461u
-\h'1498u'\D'l 461u 0u'
-.sp -1
-.sp -230u
-\h'1498u'\D'l 0u 922u'\D'l 461u 0u'\D'l 0u -922u'\D'l -461u 0u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "MT_EOT
-.sp 2872u
-\h'1606u'\&\*(g9
-.sp |\n(g8u
-\D's 4u'
-.sp -1
-.sp 345u
-\h'1613u'\D'l 0u 346u'
-.sp -1
-\h'1555u'\D'l 0u 346u'
-.sp -1
-\h'1670u'\D'l 0u 346u'
-.sp -1
-\h'1728u'\D'l 0u 346u'
-.sp -1
-\h'1786u'\D'l 0u 346u'
-.sp -1
-\h'1843u'\D'l 0u 346u'
-.sp -1
-\h'1901u'\D'l 0u 346u'
-.sp -1
-\D's -1u'
-.sp -1
-.sp -345u
-\D'l 0u 230u'\D'l 807u 0u'\D'l 0u -230u'\D'l -807u 0u'
-.sp -1
-.sp 115u
-\h'1498u'\D'l -36u 22u'\D'l 14u -22u'\D'l -14u -21u'\D'l 36u 21u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "so->so_snd.sb_mb
-\h'115u'\&\*(g9
-.sp |\n(g8u
-\h'1959u'\D'l 230u 0u'
-.sp -1
-.sp -115u
-\h'2189u'\D'l 0u 230u'\D'l 115u -230u'\D'l 0u 230u'
-.sp -1
-.sp 2418u
-\h'1728u'\D'l 0u 115u'
-.sp -1
-\h'2189u'\D'l -461u 0u'
-.sp -1
-.sp 115u
-\h'1498u'\D'l 0u 922u'\D'l 461u 0u'\D'l 0u -922u'\D'l -461u 0u'
-.sp -1
-.sp -461u
-\h'2189u'\D'l 0u 346u'
-.sp -1
-\h'1959u'\D'l 230u 0u'
-.sp -1
-.sp 461u
-\h'1728u'\D'l -21u -36u'\D'l 21u 15u'\D'l 22u -15u'\D'l -22u 36u'
-.sp -1
-.sp 691u
-\h'1498u'\D'l 0u 0u'\D'l 461u 0u'\D'l 0u 0u'\D'l -461u 0u'
-.sp -1
-.sp -345u
-\h'1498u'\D'l 0u 0u'\D'l 461u 0u'\D'l 0u 0u'\D'l -461u 0u'
-.sp -1
-\D's 4u'
-.sp -1
-\h'1613u'\D'l 0u 345u'
-.sp -1
-\h'1555u'\D'l 0u 345u'
-.sp -1
-\h'1670u'\D'l 0u 345u'
-.sp -1
-\h'1728u'\D'l 0u 345u'
-.sp -1
-\h'1786u'\D'l 0u 345u'
-.sp -1
-\h'1843u'\D'l 0u 345u'
-.sp -1
-\h'1901u'\D'l 0u 345u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "MT_XPD
-.sp -1267u
-\h'1613u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp -1267u
-\h'1498u'\D'l 461u 0u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "MT_DATA
-.sp -1267u
-\h'1555u'\&\*(g9
-.sp |\n(g8u
-.sp -345u
-\h'2189u'\D'l 0u 229u'\D'l 115u -229u'\D'l 0u 229u'
-.sp -1
-.sp 115u
-\h'1959u'\D'l 230u 0u'
-.sp -1
-.sp -1267u
-\h'807u'\D'l 691u 0u'\D'l -691u 0u'\D'l 691u 0u'
-.sp -1
-\D's 4u'
-.sp -1
-.sp 2483u
-\h'511u'\D'l 0u 346u'
-.sp -1
-\h'454u'\D'l 0u 346u'
-.sp -1
-\h'396u'\D'l 0u 346u'
-.sp -1
-\h'338u'\D'l 0u 346u'
-.sp -1
-\h'281u'\D'l 0u 346u'
-.sp -1
-\h'223u'\D'l 0u 346u'
-.sp -1
-\h'166u'\D'l 0u 346u'
-.sp -1
-.ft R
-.ps 6
-.nr g8 \n(.d
-.ds g9 "== user data
-.sp 238u
-\h'547u'\&\*(g9
-.sp |\n(g8u
-.sp 857u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fB Figure \n+(FG\fR: \fImbuf\fR chains on socket send buffer
-.)z
diff --git a/share/doc/iso/wisc/figs/osi_addr.grn b/share/doc/iso/wisc/figs/osi_addr.grn
deleted file mode 100644
index 333260b..0000000
--- a/share/doc/iso/wisc/figs/osi_addr.grn
+++ /dev/null
@@ -1,18 +0,0 @@
-.(z
-.GS C
-width 6.0
-high 7.0
-1 8
-2 10
-3 12
-4 14
-sc 0.4
-narrow 1
-medium 3
-thick 7
-pointscale off
-file osi_addr.gsrc
-.GE
-.ce
-\fB Figure \n+(FG\fR: Format of OSI addresses
-.)z
diff --git a/share/doc/iso/wisc/figs/osi_addr.gsrc b/share/doc/iso/wisc/figs/osi_addr.gsrc
deleted file mode 100644
index 0a69b96..0000000
--- a/share/doc/iso/wisc/figs/osi_addr.gsrc
+++ /dev/null
@@ -1,62 +0,0 @@
-gremlinfile
-0 87.01 78.31
-3
-87.01 641.69
-87.01 567.61
-349.25 567.61
-349.25 641.69
-87.01 641.69
--1.00 -1.00
-5 0
-0
- 0
-138.15 617.43
-138.15 636.43
-138.15 636.43
-138.15 636.43
--1.00 -1.00
-1 4
-3 IDP
- 3
-212.23 641.69
-212.23 567.61
--1.00 -1.00
-5 0
-0
- 3
-87.01 609.57
-212.23 609.57
--1.00 -1.00
-5 0
-0
- 0
-98.81 585.31
-98.81 604.31
-98.81 604.31
-98.81 604.31
--1.00 -1.00
-1 4
-3 AFI
- 3
-149.29 610.22
-149.29 567.61
--1.00 -1.00
-5 0
-0
- 0
-170.27 586.62
-170.27 605.62
-170.27 605.62
-170.27 605.62
--1.00 -1.00
-1 4
-3 IDI
- 0
-271.23 598.42
-271.23 617.42
-271.23 617.42
-271.23 617.42
--1.00 -1.00
-1 4
-3 DSP
- -1
diff --git a/share/doc/iso/wisc/figs/osi_addr.nr b/share/doc/iso/wisc/figs/osi_addr.nr
deleted file mode 100644
index f4c88fa..0000000
--- a/share/doc/iso/wisc/figs/osi_addr.nr
+++ /dev/null
@@ -1,59 +0,0 @@
-.(z
-.br
-.nr g1 3456u
-.nr g2 1722u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-.ft R
-.ps 14
-.nr g8 \n(.d
-.ds g9 "DSP
-.sp 570u
-\h'2428u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 14
-.nr g8 \n(.d
-.ds g9 "IDI
-.sp 726u
-\h'1097u'\&\*(g9
-.sp |\n(g8u
-\D't 1u'
-.sp -1
-.sp 415u
-\h'821u'\D'l 0u 561u'
-.sp -1
-.ft R
-.ps 14
-.nr g8 \n(.d
-.ds g9 "AFI
-.sp 328u
-\h'156u'\&\*(g9
-.sp |\n(g8u
-.sp 8u
-\D'l 1650u 0u'
-.sp -1
-.sp -423u
-\h'1650u'\D'l 0u 976u'
-.sp -1
-.ft R
-.ps 14
-.nr g8 \n(.d
-.ds g9 "IDP
-.sp 320u
-\h'674u'\&\*(g9
-.sp |\n(g8u
-\D'l 0u 976u'\D'l 3456u 0u'\D'l 0u -976u'\D'l -3456u 0u'
-.sp -1
-.sp 1722u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fB Figure \n+(FG\fR: Format of OSI addresses
-.)z
diff --git a/share/doc/iso/wisc/figs/tppt.grn b/share/doc/iso/wisc/figs/tppt.grn
deleted file mode 100644
index 649c3d9..0000000
--- a/share/doc/iso/wisc/figs/tppt.grn
+++ /dev/null
@@ -1,18 +0,0 @@
-.(z
-.GS C
-width 6.0
-high 7.0
-1 8
-2 10
-3 12
-4 14
-sc 0.4
-narrow 1
-medium 3
-thick 7
-pointscale off
-file tppt.gsrc
-.GE
-.ce
-\fB Figure \n+(FG\fR: Output of tppt(8)
-.)z
diff --git a/share/doc/iso/wisc/figs/tppt.gsrc b/share/doc/iso/wisc/figs/tppt.gsrc
deleted file mode 100644
index 5643940..0000000
--- a/share/doc/iso/wisc/figs/tppt.gsrc
+++ /dev/null
@@ -1,411 +0,0 @@
-gremlinfile
-0 352.00 352.00
-0
-352.00 368.00
-352.00 381.00
-352.00 381.00
-352.00 381.00
--1.00 -1.00
-2 2
-17 this is a CR TPDU
- 3
-256.00 384.00
-256.00 400.00
-368.00 400.00
-368.00 384.00
-256.00 384.00
--1.00 -1.00
-5 0
-0
- 0
-112.00 288.00
-112.00 302.00
-112.00 302.00
-112.00 302.00
--1.00 -1.00
-1 3
-59 +12: 0x02 0x00 0x07 0xc0 20: 0x01 0x08 0x00 0x00
- 0
-112.00 304.00
-112.00 318.00
-112.00 318.00
-112.00 318.00
--1.00 -1.00
-1 3
-59 + 8: 0x06 0x74 0x70 0x70 12: 0x69 0x6e 0xc7 0xc2
- 0
-112.00 320.00
-112.00 334.00
-112.00 334.00
-112.00 334.00
--1.00 -1.00
-1 3
-59 + 0: 0x15 0xe0 0x00 0x00 4: 0x00 0x03 0x00 0xc1
- 0
-160.00 208.00
-160.00 221.00
-160.00 221.00
-160.00 221.00
--1.00 -1.00
-2 2
-17 class and options
- 3
-112.00 208.00
-144.00 208.00
--1.00 -1.00
-6 0
-0
- 3
-336.00 320.00
-368.00 320.00
--1.00 -1.00
-6 0
-0
- 3
-80.00 352.00
-75.00 349.00
-77.00 352.00
-75.00 355.00
-80.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-96.00 288.00
-91.00 285.00
-93.00 288.00
-91.00 291.00
-96.00 288.00
--1.00 -1.00
-5 0
-0
- 3
-96.00 288.00
-48.00 288.00
-48.00 240.00
-96.00 240.00
--1.00 -1.00
-5 0
-0
- 0
-336.00 432.00
-336.00 445.00
-336.00 445.00
-336.00 445.00
--1.00 -1.00
-2 2
-22 indicates a TPDU event
- 0
-48.00 448.00
-48.00 461.00
-48.00 461.00
-48.00 461.00
--1.00 -1.00
-2 2
-18 TPDU was received;
- 0
-128.00 448.00
-128.00 461.00
-128.00 461.00
-128.00 461.00
--1.00 -1.00
-2 2
-28 its total length is 22 bytes
- 0
-48.00 432.00
-48.00 445.00
-48.00 445.00
-48.00 445.00
--1.00 -1.00
-2 2
-26 and its header is 22 bytes
- 0
-48.00 416.00
-48.00 429.00
-48.00 429.00
-48.00 429.00
--1.00 -1.00
-2 2
-15 (21 in the LI +
- 0
-112.00 416.00
-112.00 429.00
-112.00 429.00
-112.00 429.00
--1.00 -1.00
-2 2
-13 1 for the LI)
- 3
-112.00 240.00
-144.00 240.00
--1.00 -1.00
-1 0
-0
- 0
-160.00 240.00
-160.00 253.00
-160.00 253.00
-160.00 253.00
--1.00 -1.00
-2 2
-2 LI
- 3
-208.00 320.00
-336.00 320.00
--1.00 -1.00
-2 0
-0
- 3
-112.00 224.00
-144.00 224.00
--1.00 -1.00
-2 0
-0
- 0
-160.00 224.00
-160.00 237.00
-160.00 237.00
-160.00 237.00
--1.00 -1.00
-2 2
-16 dst-ref, src-ref
- 3
-304.00 240.00
-336.00 240.00
--1.00 -1.00
-3 0
-0
- 0
-352.00 240.00
-352.00 253.00
-352.00 253.00
-352.00 253.00
--1.00 -1.00
-2 2
-26 calling transport selector
- 3
-144.00 288.00
-224.00 288.00
--1.00 -1.00
-4 0
-0
- 3
-304.00 224.00
-336.00 224.00
--1.00 -1.00
-4 0
-0
- 0
-352.00 224.00
-352.00 237.00
-352.00 237.00
-352.00 237.00
--1.00 -1.00
-2 2
-25 called transport selector
- 3
-240.00 288.00
-336.00 288.00
--1.00 -1.00
-5 0
-0
- 3
-304.00 208.00
-336.00 208.00
--1.00 -1.00
-5 0
-0
- 0
-352.00 208.00
-352.00 221.00
-352.00 221.00
-352.00 221.00
--1.00 -1.00
-2 2
-9 TPDU size
- 3
-144.00 320.00
-192.00 320.00
--1.00 -1.00
-1 0
-0
- 0
-176.00 240.00
-176.00 253.00
-176.00 253.00
-176.00 253.00
--1.00 -1.00
-2 2
-11 , TPDU type
- 3
-400.00 432.00
-400.00 400.00
--1.00 -1.00
-5 0
-0
- 3
-400.00 400.00
-397.00 405.00
-400.00 403.00
-403.00 405.00
-400.00 400.00
--1.00 -1.00
-5 0
-0
- 3
-368.00 400.00
-368.00 384.00
-432.00 384.00
-432.00 400.00
-368.00 400.00
--1.00 -1.00
-5 0
-0
- 0
-384.00 384.00
-384.00 398.00
-384.00 398.00
-384.00 398.00
--1.00 -1.00
-1 3
-4 tpdu
- 3
-80.00 352.00
-48.00 352.00
-48.00 400.00
--1.00 -1.00
-5 0
-0
- 3
-96.00 336.00
-96.00 272.00
-416.00 272.00
-416.00 336.00
-96.00 336.00
--1.00 -1.00
-5 0
-0
- 3
-80.00 368.00
-80.00 336.00
-224.00 336.00
-224.00 368.00
-80.00 368.00
--1.00 -1.00
-5 0
-0
- 0
-96.00 352.00
-96.00 366.00
-96.00 366.00
-96.00 366.00
--1.00 -1.00
-1 3
-19 INPUT total len 22
- 0
-96.00 336.00
-96.00 350.00
-96.00 350.00
-96.00 350.00
--1.00 -1.00
-1 3
-13 HDRLEN: 21+1
- 3
-224.00 352.00
-224.00 336.00
-320.00 336.00
-320.00 352.00
-224.00 352.00
--1.00 -1.00
-5 0
-0
- 0
-240.00 336.00
-240.00 350.00
-240.00 350.00
-240.00 350.00
--1.00 -1.00
-1 3
-12 CR_TPDU_type
- 0
-336.00 336.00
-336.00 350.00
-336.00 350.00
-336.00 350.00
--1.00 -1.00
-1 3
-23 cdt 0(0x0) dref 0x0
- 3
-288.00 352.00
-285.00 357.00
-288.00 355.00
-291.00 357.00
-288.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 352.00
-288.00 368.00
-352.00 368.00
--1.00 -1.00
-5 0
-0
- 0
-80.00 144.00
-80.00 158.00
-80.00 158.00
-80.00 158.00
--1.00 -1.00
-1 3
-24 1a: Ref 22 arg 14(0xe)
- 0
-256.00 384.00
-256.00 398.00
-256.00 398.00
-256.00 398.00
--1.00 -1.00
-1 3
-22 @ 91990 : 0000.435125
- 3
-288.00 400.00
-285.00 405.00
-288.00 403.00
-291.00 405.00
-288.00 400.00
--1.00 -1.00
-5 0
-0
- 3
-288.00 400.00
-288.00 416.00
--1.00 -1.00
-5 0
-0
- 0
-240.00 416.00
-240.00 429.00
-240.00 429.00
-240.00 429.00
--1.00 -1.00
-2 2
-30 event # : time since 1st event
- 3
-368.00 320.00
-384.00 320.00
--1.00 -1.00
-3 0
-0
- 3
-144.00 304.00
-336.00 304.00
--1.00 -1.00
-3 0
-0
- 3
-336.00 304.00
-384.00 304.00
--1.00 -1.00
-4 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/tppt.gsrc.save b/share/doc/iso/wisc/figs/tppt.gsrc.save
deleted file mode 100644
index 3ad56ef..0000000
--- a/share/doc/iso/wisc/figs/tppt.gsrc.save
+++ /dev/null
@@ -1,335 +0,0 @@
-gremlinfile
-0 240.00 464.00
-0
-240.00 256.00
-240.00 269.00
-240.00 269.00
-240.00 269.00
--1.00 -1.00
-2 2
-11 , TPDU type
- 3
-208.00 320.00
-256.00 320.00
--1.00 -1.00
-1 0
-0
- 0
-224.00 192.00
-224.00 205.00
-224.00 205.00
-224.00 205.00
--1.00 -1.00
-2 2
-9 TPDU size
- 3
-176.00 192.00
-208.00 192.00
--1.00 -1.00
-5 0
-0
- 3
-304.00 288.00
-400.00 288.00
--1.00 -1.00
-5 0
-0
- 0
-224.00 208.00
-224.00 221.00
-224.00 221.00
-224.00 221.00
--1.00 -1.00
-2 2
-25 called transport selector
- 3
-176.00 208.00
-208.00 208.00
--1.00 -1.00
-4 0
-0
- 3
-208.00 288.00
-288.00 288.00
--1.00 -1.00
-4 0
-0
- 3
-432.00 304.00
-464.00 304.00
--1.00 -1.00
-4 0
-0
- 3
-160.00 336.00
-160.00 272.00
-480.00 272.00
-480.00 336.00
-160.00 336.00
--1.00 -1.00
-5 0
-0
- 0
-224.00 224.00
-224.00 237.00
-224.00 237.00
-224.00 237.00
--1.00 -1.00
-2 2
-26 calling transport selector
- 3
-176.00 224.00
-208.00 224.00
--1.00 -1.00
-3 0
-0
- 3
-208.00 304.00
-432.00 304.00
--1.00 -1.00
-3 0
-0
- 3
-432.00 320.00
-464.00 320.00
--1.00 -1.00
-3 0
-0
- 0
-224.00 240.00
-224.00 253.00
-224.00 253.00
-224.00 253.00
--1.00 -1.00
-2 2
-16 dst-ref, src-ref
- 3
-176.00 240.00
-208.00 240.00
--1.00 -1.00
-2 0
-0
- 3
-272.00 320.00
-400.00 320.00
--1.00 -1.00
-2 0
-0
- 0
-224.00 256.00
-224.00 269.00
-224.00 269.00
-224.00 269.00
--1.00 -1.00
-2 2
-2 LI
- 3
-176.00 256.00
-208.00 256.00
--1.00 -1.00
-1 0
-0
- 0
-48.00 416.00
-48.00 429.00
-48.00 429.00
-48.00 429.00
--1.00 -1.00
-2 2
-13 1 for the LI)
- 0
-48.00 432.00
-48.00 445.00
-48.00 445.00
-48.00 445.00
--1.00 -1.00
-2 2
-15 (21 in the LI +
- 0
-48.00 448.00
-48.00 461.00
-48.00 461.00
-48.00 461.00
--1.00 -1.00
-2 2
-26 and its header is 22 bytes
- 0
-48.00 464.00
-48.00 477.00
-48.00 477.00
-48.00 477.00
--1.00 -1.00
-2 2
-28 its total length is 22 bytes
- 0
-48.00 480.00
-48.00 493.00
-48.00 493.00
-48.00 493.00
--1.00 -1.00
-2 2
-18 TPDU was received;
- 0
-176.00 416.00
-176.00 429.00
-176.00 429.00
-176.00 429.00
--1.00 -1.00
-2 2
-17 TPDU is a CR TPDU
- 0
-368.00 432.00
-368.00 445.00
-368.00 445.00
-368.00 445.00
--1.00 -1.00
-2 2
-22 indicates a TPDU event
- 3
-160.00 304.00
-112.00 304.00
-112.00 256.00
-160.00 256.00
--1.00 -1.00
-5 0
-0
- 3
-160.00 304.00
-155.00 301.00
-157.00 304.00
-155.00 307.00
-160.00 304.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 352.00
-256.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-256.00 352.00
-253.00 357.00
-256.00 355.00
-259.00 357.00
-256.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-80.00 352.00
-48.00 352.00
-48.00 400.00
--1.00 -1.00
-5 0
-0
- 3
-80.00 352.00
-75.00 349.00
-77.00 352.00
-75.00 355.00
-80.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 384.00
-416.00 416.00
--1.00 -1.00
-5 0
-0
- 3
-416.00 384.00
-413.00 389.00
-416.00 387.00
-419.00 389.00
-416.00 384.00
--1.00 -1.00
-5 0
-0
- 3
-192.00 352.00
-192.00 336.00
-288.00 336.00
-288.00 352.00
-192.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-80.00 352.00
-80.00 336.00
-192.00 336.00
-192.00 352.00
-80.00 352.00
--1.00 -1.00
-5 0
-0
- 3
-80.00 368.00
-80.00 352.00
-208.00 352.00
-208.00 368.00
-80.00 368.00
--1.00 -1.00
-5 0
-0
- 3
-400.00 384.00
-400.00 368.00
-448.00 368.00
-448.00 384.00
-400.00 384.00
--1.00 -1.00
-5 0
-0
- 0
-96.00 288.00
-96.00 303.00
-96.00 303.00
-96.00 303.00
--1.00 -1.00
-1 2
-66 +16: 0x02 0x00 0x07 0xc0 20: 0x01 0x08 0x00 0x00
- 0
-96.00 304.00
-96.00 319.00
-96.00 319.00
-96.00 319.00
--1.00 -1.00
-1 2
-66 + 8: 0x06 0x74 0x70 0x70 12: 0x69 0x6e 0x67 0xc2
- 0
-96.00 320.00
-96.00 335.00
-96.00 335.00
-96.00 335.00
--1.00 -1.00
-1 2
-66 + 0: 0x15 0xe0 0x00 0x00 4: 0x00 0x03 0x00 0xc1
- 0
-96.00 336.00
-96.00 351.00
-96.00 351.00
-96.00 351.00
--1.00 -1.00
-1 2
-56 HDRLEN: 21+1 CR_TPDU_type cdt 0(0x0) dref 0x0
- 0
-96.00 352.00
-96.00 367.00
-96.00 367.00
-96.00 367.00
--1.00 -1.00
-1 2
-18 INPUT total len 22
- 0
-96.00 368.00
-96.00 383.00
-96.00 383.00
-96.00 383.00
--1.00 -1.00
-1 2
-60 1a: Ref 22 arg 14(0xe), @ 91990 : 0000.435125 tpdu
- -1
diff --git a/share/doc/iso/wisc/figs/tppt.nr b/share/doc/iso/wisc/figs/tppt.nr
deleted file mode 100644
index a6dcd18..0000000
--- a/share/doc/iso/wisc/figs/tppt.nr
+++ /dev/null
@@ -1,296 +0,0 @@
-.(z
-.br
-.nr g1 3456u
-.nr g2 2736u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-\D's 16u'\D't 1u'
-.sp -1
-.sp 1296u
-\h'2592u'\D'l 432u 0u'
-.sp -1
-\D's -1u'\D't 7u'
-.sp -1
-\h'864u'\D'l 1728u 0u'
-.sp -1
-.sp -144u
-\h'2880u'\D'l 144u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "event # : time since 1st event
-.sp -864u
-\h'1728u'\&\*(g9
-.sp |\n(g8u
-\D't 1u'
-.sp -1
-.sp -720u
-\h'2160u'\D'l 0u -144u'
-.sp -1
-\h'2160u'\D'l -27u -45u'\D'l 27u 18u'\D'l 27u -18u'\D'l -27u 45u'
-.sp -1
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "@ 91990 : 0000.435125
-.sp 144u
-\h'1872u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "1a: Ref 22 arg 14(0xe)
-.sp 2304u
-\h'288u'\&\*(g9
-.sp |\n(g8u
-.sp 432u
-\h'2160u'\D'l 0u -144u'\D'l 576u 0u'
-.sp -1
-\h'2160u'\D'l -27u -45u'\D'l 27u 18u'\D'l 27u -18u'\D'l -27u 45u'
-.sp -1
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "cdt 0(0x0) dref 0x0
-.sp 144u
-\h'2592u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "CR_TPDU_type
-.sp 144u
-\h'1728u'\&\*(g9
-.sp |\n(g8u
-\h'1584u'\D'l 0u 144u'\D'l 864u 0u'\D'l 0u -144u'\D'l -864u 0u'
-.sp -1
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "HDRLEN: 21+1
-.sp 144u
-\h'432u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "INPUT total len 22
-\h'432u'\&\*(g9
-.sp |\n(g8u
-.sp -144u
-\h'288u'\D'l 0u 288u'\D'l 1296u 0u'\D'l 0u -288u'\D'l -1296u 0u'
-.sp -1
-.sp 288u
-\h'432u'\D'l 0u 576u'\D'l 2880u 0u'\D'l 0u -576u'\D'l -2880u 0u'
-.sp -1
-.sp -144u
-\h'288u'\D'l -288u 0u'\D'l 0u -432u'
-.sp -1
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "tpdu
-.sp -288u
-\h'3024u'\&\*(g9
-.sp |\n(g8u
-.sp -432u
-\h'2880u'\D'l 0u 144u'\D'l 576u 0u'\D'l 0u -144u'\D'l -576u 0u'
-.sp -1
-\h'3168u'\D'l -27u -45u'\D'l 27u 18u'\D'l 27u -18u'\D'l -27u 45u'
-.sp -1
-.sp -288u
-\h'3168u'\D'l 0u 288u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 ", TPDU type
-.sp 1728u
-\h'1152u'\&\*(g9
-.sp |\n(g8u
-\D's 4u'
-.sp -1
-.sp 1008u
-\h'864u'\D'l 432u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "TPDU size
-.sp 1008u
-\h'2736u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp 1008u
-\h'2304u'\D'l 288u 0u'
-.sp -1
-.sp -720u
-\h'1728u'\D'l 864u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "called transport selector
-.sp 576u
-\h'2736u'\&\*(g9
-.sp |\n(g8u
-\D's 16u'
-.sp -1
-.sp 576u
-\h'2304u'\D'l 288u 0u'
-.sp -1
-.sp -576u
-\h'864u'\D'l 720u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "calling transport selector
-.sp 432u
-\h'2736u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'\D't 7u'
-.sp -1
-.sp 432u
-\h'2304u'\D'l 288u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "dst-ref, src-ref
-.sp 144u
-\h'1008u'\&\*(g9
-.sp |\n(g8u
-\D's 20u'\D't 1u'
-.sp -1
-.sp 144u
-\h'576u'\D'l 288u 0u'
-.sp -1
-.sp -864u
-\h'1440u'\D'l 1152u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "LI
-.sp 720u
-\h'1008u'\&\*(g9
-.sp |\n(g8u
-\D's 4u'
-.sp -1
-.sp 720u
-\h'576u'\D'l 288u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "1 for the LI)
-.sp -1584u
-\h'576u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "(21 in the LI +
-.sp -1584u
-\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "and its header is 22 bytes
-.sp -1728u
-\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "its total length is 22 bytes
-.sp -1872u
-\h'720u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "TPDU was received;
-.sp -1872u
-\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "indicates a TPDU event
-.sp -1728u
-\h'2592u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'
-.sp -1
-.sp -432u
-\h'432u'\D'l -432u 0u'\D'l 0u 432u'\D'l 432u 0u'
-.sp -1
-\h'432u'\D'l -45u 27u'\D'l 18u -27u'\D'l -18u -27u'\D'l 45u 27u'
-.sp -1
-.sp -576u
-\h'288u'\D'l -45u 27u'\D'l 18u -27u'\D'l -18u -27u'\D'l 45u 27u'
-.sp -1
-\D't 3u'
-.sp -1
-.sp 288u
-\h'2592u'\D'l 288u 0u'
-.sp -1
-.sp 1008u
-\h'576u'\D'l 288u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "class and options
-\h'1008u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "+ 0: 0x15 0xe0 0x00 0x00 4: 0x00 0x03 0x00 0xc1
-.sp -1008u
-\h'576u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "+ 8: 0x06 0x74 0x70 0x70 12: 0x69 0x6e 0xc7 0xc2
-.sp -864u
-\h'576u'\&\*(g9
-.sp |\n(g8u
-.ft R
-.ps 12
-.nr g8 \n(.d
-.ds g9 "+12: 0x02 0x00 0x07 0xc0 20: 0x01 0x08 0x00 0x00
-.sp -720u
-\h'576u'\&\*(g9
-.sp |\n(g8u
-\D't 1u'
-.sp -1
-.sp -1584u
-\h'1872u'\D'l 0u -144u'\D'l 1008u 0u'\D'l 0u 144u'\D'l -1008u 0u'
-.sp -1
-.ft I
-.ps 10
-.nr g8 \n(.d
-.ds g9 "this is a CR TPDU
-.sp 144u
-\h'2736u'\&\*(g9
-.sp |\n(g8u
-.sp 2160u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fB Figure \n+(FG\fR: Output of tppt(8)
-.)z
diff --git a/share/doc/iso/wisc/figs/trans_flow.grn b/share/doc/iso/wisc/figs/trans_flow.grn
deleted file mode 100644
index 4a45d91..0000000
--- a/share/doc/iso/wisc/figs/trans_flow.grn
+++ /dev/null
@@ -1,20 +0,0 @@
-.(z
-.GS C
-width 6.0
-high 7.0
-1 8
-2 10
-3 12
-4 14
-sc 0.4
-narrow 1
-medium 3
-thick 7
-pointscale off
-file trans_flow.gsrc
-.GE
-.ce
-\fB Figure \n+(FG\fR: Control flow (solid) and data flow (broken)
-.ce
-among the parts of the transport implementation.
-.)z
diff --git a/share/doc/iso/wisc/figs/trans_flow.gsrc b/share/doc/iso/wisc/figs/trans_flow.gsrc
deleted file mode 100644
index 1b96523..0000000
--- a/share/doc/iso/wisc/figs/trans_flow.gsrc
+++ /dev/null
@@ -1,567 +0,0 @@
-gremlinfile
-0 448.00 587.00
-3
-448.00 201.00
-450.69 206.18
-450.55 202.57
-453.83 201.07
-448.00 201.00
--1.00 -1.00
-6 0
-0
- 3
-549.00 260.00
-447.00 201.00
--1.00 -1.00
-6 0
-0
- 3
-582.00 238.00
-585.82 233.60
-582.52 235.05
-579.91 232.55
-582.00 238.00
--1.00 -1.00
-6 0
-0
- 3
-585.00 148.00
-583.00 239.00
--1.00 -1.00
-6 0
-0
- 3
-423.00 376.00
-428.82 375.64
-425.47 374.30
-425.42 370.70
-423.00 376.00
--1.00 -1.00
-6 0
-0
- 3
-542.00 322.00
-422.00 375.00
--1.00 -1.00
-6 0
-0
- 3
-393.00 246.00
-389.63 250.76
-392.77 248.99
-395.61 251.22
-393.00 246.00
--1.00 -1.00
-6 0
-0
- 3
-390.00 364.00
-392.00 244.00
--1.00 -1.00
-6 0
-0
- 3
-476.00 655.00
-481.66 653.59
-478.12 652.88
-477.41 649.34
-476.00 655.00
--1.00 -1.00
-6 0
-0
- 3
-540.00 577.00
-476.00 656.00
--1.00 -1.00
-6 0
-0
- 3
-138.00 209.00
-139.96 203.51
-137.41 206.06
-134.08 204.69
-138.00 209.00
--1.00 -1.00
-6 0
-0
- 3
-137.00 209.00
-124.00 149.00
--1.00 -1.00
-6 0
-0
- 3
-378.00 242.00
-375.00 247.00
-378.00 245.00
-381.00 247.00
-378.00 242.00
--1.00 -1.00
-1 0
-0
- 3
-376.00 364.00
-378.00 239.00
--1.00 -1.00
-1 0
-0
- 3
-441.00 215.00
-443.50 220.27
-443.50 216.66
-446.82 215.28
-441.00 215.00
--1.00 -1.00
-1 0
-0
- 3
-541.00 269.00
-438.00 214.00
--1.00 -1.00
-1 0
-0
- 3
-600.00 240.00
-603.25 235.16
-600.15 237.00
-597.25 234.86
-600.00 240.00
--1.00 -1.00
-1 0
-0
- 3
-599.00 242.00
-605.00 148.00
--1.00 -1.00
-1 0
-0
- 3
-497.00 138.00
-491.22 137.21
-494.24 139.18
-493.59 142.73
-497.00 138.00
--1.00 -1.00
-1 0
-0
- 3
-441.00 165.00
-495.00 138.00
--1.00 -1.00
-1 0
-0
- 3
-423.00 231.00
-423.07 236.83
-424.57 233.55
-428.18 233.69
-423.00 231.00
--1.00 -1.00
-1 0
-0
- 3
-563.00 479.00
-421.00 231.00
--1.00 -1.00
-1 0
-0
- 3
-433.00 394.00
-438.82 394.29
-435.65 392.59
-436.00 389.00
-433.00 394.00
--1.00 -1.00
-1 0
-0
- 3
-554.00 335.00
-434.00 391.00
--1.00 -1.00
-1 0
-0
- 3
-176.00 317.00
-178.50 322.27
-178.50 318.66
-181.82 317.28
-176.00 317.00
--1.00 -1.00
-1 0
-0
- 3
-325.00 413.00
-175.00 315.00
--1.00 -1.00
-1 0
-0
- 3
-343.00 378.00
-340.62 372.67
-340.54 376.28
-337.18 377.59
-343.00 378.00
--1.00 -1.00
-1 0
-0
- 3
-199.00 285.00
-342.00 377.00
--1.00 -1.00
-1 0
-0
- 3
-344.00 226.00
-338.60 228.20
-342.20 228.40
-343.40 231.80
-344.00 226.00
--1.00 -1.00
-1 0
-0
- 3
-197.00 458.00
-342.00 226.00
--1.00 -1.00
-1 0
-0
- 3
-523.00 513.00
-520.80 507.60
-520.60 511.20
-517.20 512.40
-523.00 513.00
--1.00 -1.00
-1 0
-0
- 3
-424.00 461.00
-522.00 512.00
--1.00 -1.00
-1 0
-0
- 3
-553.00 583.00
-547.45 584.79
-551.02 585.26
-551.97 588.74
-553.00 583.00
--1.00 -1.00
-1 0
-0
- 3
-491.00 657.00
-553.00 583.00
--1.00 -1.00
-1 0
-0
- 3
-235.00 559.00
-235.65 564.79
-236.82 561.38
-240.42 561.15
-235.00 559.00
--1.00 -1.00
-1 0
-0
- 3
-304.00 656.00
-233.00 556.00
--1.00 -1.00
-1 0
-0
- 4
-383.00 420.00
-354.00 467.00
-383.00 364.77
-383.00 475.23
-438.23 420.00
-327.77 420.00
--1.00 -1.00
-5 0
-0
- 4
-189.00 515.00
-160.00 562.00
-189.00 459.77
-189.00 570.23
-244.23 515.00
-133.77 515.00
--1.00 -1.00
-5 0
-0
- 4
-577.00 532.00
-548.00 579.00
-577.00 476.77
-577.00 587.23
-632.23 532.00
-521.77 532.00
--1.00 -1.00
-5 0
-0
- 4
-592.00 296.00
-563.00 343.00
-592.00 240.77
-592.00 351.23
-647.23 296.00
-536.77 296.00
--1.00 -1.00
-5 0
-0
- 4
-388.00 185.00
-359.00 232.00
-388.00 129.77
-388.00 240.23
-443.23 185.00
-332.77 185.00
--1.00 -1.00
-5 0
-0
- 4
-145.00 265.00
-116.00 312.00
-145.00 209.77
-145.00 320.23
-200.23 265.00
-89.77 265.00
--1.00 -1.00
-5 0
-0
- 3
-282.00 708.00
-282.00 658.00
-500.00 658.00
-500.00 708.00
-282.00 708.00
--1.00 -1.00
-5 0
-0
- 3
-384.00 660.00
-384.00 484.00
--1.00 -1.00
-6 0
-0
- 3
-384.00 484.00
-381.00 489.00
-384.00 487.00
-387.00 489.00
-384.00 484.00
--1.00 -1.00
-6 0
-0
- 3
-552.00 484.00
-408.00 236.00
--1.00 -1.00
-6 0
-0
- 3
-408.00 236.00
-408.28 241.82
-409.66 238.50
-413.27 238.50
-408.00 236.00
--1.00 -1.00
-6 0
-0
- 3
-432.00 452.00
-528.00 500.00
--1.00 -1.00
-6 0
-0
- 3
-528.00 500.00
-525.50 494.73
-525.50 498.34
-522.18 499.72
-528.00 500.00
--1.00 -1.00
-6 0
-0
- 3
-240.00 484.00
-328.00 444.00
--1.00 -1.00
-6 0
-0
- 3
-240.00 484.00
-245.69 485.26
-242.85 483.05
-243.79 479.57
-240.00 484.00
--1.00 -1.00
-6 0
-0
- 0
-320.00 668.00
-320.00 681.00
-320.00 681.00
-320.00 681.00
--1.00 -1.00
-3 2
-11 SOCKET CODE
- 0
-512.00 116.00
-512.00 129.00
-512.00 129.00
-512.00 129.00
--1.00 -1.00
-3 2
-13 NETWORK LEVEL
- 3
-496.00 148.00
-496.00 100.00
-704.00 100.00
-704.00 148.00
-496.00 148.00
--1.00 -1.00
-6 0
-0
- 0
-64.00 116.00
-64.00 129.00
-64.00 129.00
-64.00 129.00
--1.00 -1.00
-3 2
-5 CLOCK
- 3
-48.00 148.00
-48.00 100.00
-160.00 100.00
-160.00 148.00
-48.00 148.00
--1.00 -1.00
-6 0
-0
- 0
-160.00 500.00
-160.00 513.00
-160.00 513.00
-160.00 513.00
--1.00 -1.00
-3 2
-4 SEND
- 0
-544.00 524.00
-544.00 537.00
-544.00 537.00
-544.00 537.00
--1.00 -1.00
-3 2
-4 RECV
- 0
-352.00 421.00
-352.00 434.00
-352.00 434.00
-352.00 434.00
--1.00 -1.00
-3 2
-6 DRIVER
- 0
-105.00 264.00
-105.00 277.00
-105.00 277.00
-105.00 277.00
--1.00 -1.00
-3 2
-6 TIMERS
- 0
-560.00 276.00
-560.00 289.00
-560.00 289.00
-560.00 289.00
--1.00 -1.00
-3 2
-5 INPUT
- 0
-349.00 181.00
-349.00 194.00
-349.00 194.00
-349.00 194.00
--1.00 -1.00
-3 2
-6 OUTPUT
- 3
-192.00 292.00
-336.00 388.00
--1.00 -1.00
-6 0
-0
- 3
-336.00 388.00
-334.59 382.34
-333.88 385.88
-330.34 386.59
-336.00 388.00
--1.00 -1.00
-6 0
-0
- 3
-328.00 404.00
-184.00 308.00
--1.00 -1.00
-6 0
-0
- 3
-184.00 308.00
-187.13 312.92
-186.68 309.34
-189.81 307.55
-184.00 308.00
--1.00 -1.00
-6 0
-0
- 3
-208.00 460.00
-352.00 236.00
--1.00 -1.00
-6 0
-0
- 3
-352.00 236.00
-347.08 239.13
-350.66 238.68
-352.45 241.81
-352.00 236.00
--1.00 -1.00
-6 0
-0
- 3
-432.00 148.00
-496.00 116.00
--1.00 -1.00
-6 0
-0
- 3
-496.00 116.00
-491.00 113.00
-493.00 116.00
-491.00 119.00
-496.00 116.00
--1.00 -1.00
-6 0
-0
- 3
-224.00 564.00
-288.00 660.00
--1.00 -1.00
-6 0
-0
- 3
-288.00 660.00
-288.45 654.19
-286.66 657.32
-283.08 656.87
-288.00 660.00
--1.00 -1.00
-6 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/trans_flow.nr b/share/doc/iso/wisc/figs/trans_flow.nr
deleted file mode 100644
index 2b8061c..0000000
--- a/share/doc/iso/wisc/figs/trans_flow.nr
+++ /dev/null
@@ -1,274 +0,0 @@
-.(z
-.br
-.nr g1 3456u
-.nr g2 3202u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-.sp 253u
-\h'1265u'\D'l 2u 30u'\D'l -9u -16u'\D'l -19u 2u'\D'l 26u -16u'
-.sp -1
-.sp 505u
-\h'928u'\D'l 337u -505u'
-.sp -1
-.sp 2359u
-\h'2361u'\D'l -27u 16u'\D'l 11u -16u'\D'l -11u -15u'\D'l 27u 15u'
-.sp -1
-.sp -168u
-\h'2023u'\D'l 338u 168u'
-.sp -1
-.sp -464u
-\h'1602u'\D'l -26u -16u'\D'l 19u 2u'\D'l 9u -16u'\D'l -2u 30u'
-.sp -1
-.sp -1180u
-\h'843u'\D'l 759u 1180u'
-.sp -1
-.sp 801u
-\h'717u'\D'l 16u -26u'\D'l -2u 19u'\D'l 16u 9u'\D'l -30u -2u'
-.sp -1
-.sp -506u
-\h'1475u'\D'l -758u 506u'
-.sp -1
-.sp 84u
-\h'1518u'\D'l -8u 30u'\D'l -4u -18u'\D'l -18u -4u'\D'l 30u -8u'
-.sp -1
-.sp 506u
-\h'759u'\D'l 759u -506u'
-.sp -1
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "OUTPUT
-.sp 585u
-\h'1586u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "INPUT
-.sp 85u
-\h'2698u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "TIMERS
-.sp 148u
-\h'301u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "DRIVER
-.sp -679u
-\h'1602u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "RECV
-.sp -1221u
-\h'2613u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "SEND
-.sp -1096u
-\h'590u'\&\*(g9
-.sp |\n(g8u
-.sp 759u
-\D'l 0u 253u'\D'l 590u 0u'\D'l 0u -253u'\D'l -590u 0u'
-.sp -1
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "CLOCK
-.sp 168u
-\h'85u'\&\*(g9
-.sp |\n(g8u
-\h'2361u'\D'l 0u 253u'\D'l 1095u 0u'\D'l 0u -253u'\D'l -1095u 0u'
-.sp -1
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "NETWORK LEVEL
-.sp 168u
-\h'2445u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 10
-.nr g8 \n(.d
-.ds g9 "SOCKET CODE
-.sp -2739u
-\h'1433u'\&\*(g9
-.sp |\n(g8u
-.sp -1770u
-\h'1012u'\D'l 30u -7u'\D'l -15u 12u'\D'l 5u 18u'\D'l -20u -23u'
-.sp -1
-\h'1012u'\D'l 463u 210u'
-.sp -1
-.sp -85u
-\h'2529u'\D'l -13u 28u'\D'l 0u -19u'\D'l -18u -7u'\D'l 31u -2u'
-.sp -1
-.sp 253u
-\h'2023u'\D'l 506u -253u'
-.sp -1
-.sp 1138u
-\h'1897u'\D'l 1u -30u'\D'l 8u 17u'\D'l 19u 0u'\D'l -28u 13u'
-.sp -1
-.sp -1306u
-\h'2656u'\D'l -759u 1306u'
-.sp -1
-\h'1771u'\D'l -16u -27u'\D'l 16u 11u'\D'l 15u -11u'\D'l -15u 27u'
-.sp -1
-.sp -926u
-\h'1771u'\D'l 0u 926u'
-.sp -1
-\D't 1u'
-.sp -1
-.sp -253u
-\h'1233u'\D'l 0u 263u'\D'l 1149u 0u'\D'l 0u -263u'\D'l -1149u 0u'
-.sp -1
-.sp 2332u
-\h'220u'\D'c 581u'
-.sp -1
-.sp 422u
-\h'1501u'\D'c 581u'
-.sp -1
-.sp -585u
-\h'2575u'\D'c 581u'
-.sp -1
-.sp -1242u
-\h'2496u'\D'c 581u'
-.sp -1
-.sp 89u
-\h'452u'\D'c 581u'
-.sp -1
-.sp 500u
-\h'1474u'\D'c 581u'
-.sp -1
-\D's 4u'
-.sp -1
-.sp -1242u
-\h'1349u'\D'l -374u 526u'
-.sp -1
-.sp 511u
-\h'986u'\D'l 3u -31u'\D'l 6u 18u'\D'l 19u 1u'\D'l -28u 12u'
-.sp -1
-.sp -517u
-\h'2334u'\D'l 327u 390u'
-.sp -1
-.sp 390u
-\h'2661u'\D'l -29u -9u'\D'l 18u -3u'\D'l 5u -18u'\D'l 6u 30u'
-.sp -1
-.sp 642u
-\h'1981u'\D'l 517u -268u'
-.sp -1
-.sp -273u
-\h'2503u'\D'l -12u 27u'\D'l -1u -18u'\D'l -18u -6u'\D'l 31u -3u'
-.sp -1
-.sp 289u
-\h'785u'\D'l 764u 1222u'
-.sp -1
-.sp 1222u
-\h'1560u'\D'l -29u -12u'\D'l 19u -1u'\D'l 7u -18u'\D'l 3u 31u'
-.sp -1
-.sp -311u
-\h'796u'\D'l 753u -485u'
-.sp -1
-.sp -490u
-\h'1555u'\D'l -13u 28u'\D'l 0u -19u'\D'l -18u -7u'\D'l 31u -2u'
-.sp -1
-.sp -184u
-\h'1460u'\D'l -791u 516u'
-.sp -1
-.sp 506u
-\h'675u'\D'l 13u -28u'\D'l 0u 19u'\D'l 17u 7u'\D'l -30u 2u'
-.sp -1
-.sp -95u
-\h'2666u'\D'l -632u -295u'
-.sp -1
-.sp -311u
-\h'2029u'\D'l 30u -2u'\D'l -16u 9u'\D'l 1u 19u'\D'l -15u -26u'
-.sp -1
-.sp -448u
-\h'2714u'\D'l -749u 1307u'
-.sp -1
-.sp 1307u
-\h'1976u'\D'l 0u -31u'\D'l 8u 17u'\D'l 19u -1u'\D'l -27u 15u'
-.sp -1
-.sp 347u
-\h'2071u'\D'l 284u 143u'
-.sp -1
-.sp 143u
-\h'2366u'\D'l -31u 4u'\D'l 16u -11u'\D'l -3u -18u'\D'l 18u 25u'
-.sp -1
-.sp -548u
-\h'2903u'\D'l 32u 495u'
-.sp -1
-.sp 10u
-\h'2908u'\D'l 18u 26u'\D'l -17u -10u'\D'l -15u 11u'\D'l 14u -27u'
-.sp -1
-.sp -153u
-\h'2598u'\D'l -543u 290u'
-.sp -1
-.sp 285u
-\h'2071u'\D'l 13u -28u'\D'l 0u 19u'\D'l 17u 7u'\D'l -30u 2u'
-.sp -1
-.sp -785u
-\h'1728u'\D'l 11u 658u'
-.sp -1
-.sp 643u
-\h'1739u'\D'l -16u -27u'\D'l 16u 11u'\D'l 16u -11u'\D'l -16u 27u'
-.sp -1
-\D's -1u'\D't 3u'
-.sp -1
-.sp 174u
-\h'469u'\D'l -68u 316u'
-.sp -1
-\h'475u'\D'l 10u 28u'\D'l -14u -13u'\D'l -17u 7u'\D'l 21u -22u'
-.sp -1
-.sp -1938u
-\h'2592u'\D'l -337u -416u'
-.sp -1
-.sp -411u
-\h'2255u'\D'l 30u 7u'\D'l -19u 4u'\D'l -3u 19u'\D'l -8u -30u'
-.sp -1
-.sp 1532u
-\h'1802u'\D'l 11u 632u'
-.sp -1
-.sp 622u
-\h'1818u'\D'l -18u -25u'\D'l 17u 9u'\D'l 15u -12u'\D'l -14u 28u'
-.sp -1
-.sp -401u
-\h'2603u'\D'l -632u -279u'
-.sp -1
-.sp -284u
-\h'1976u'\D'l 31u 2u'\D'l -18u 7u'\D'l 0u 19u'\D'l -13u -28u'
-.sp -1
-.sp 1201u
-\h'2829u'\D'l -10u -480u'
-.sp -1
-.sp -474u
-\h'2814u'\D'l 20u 23u'\D'l -18u -8u'\D'l -13u 13u'\D'l 11u -28u'
-.sp -1
-.sp -116u
-\h'2640u'\D'l -538u 311u'
-.sp -1
-.sp 311u
-\h'2108u'\D'l 14u -28u'\D'l -1u 19u'\D'l 17u 8u'\D'l -30u 1u'
-.sp -1
-.sp 532u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fB Figure \n+(FG\fR: Control flow (solid) and data flow (broken)
-.ce
-among the parts of the transport implementation.
-.)z
diff --git a/share/doc/iso/wisc/figs/unix_ipc.grn b/share/doc/iso/wisc/figs/unix_ipc.grn
deleted file mode 100644
index 7c06d27..0000000
--- a/share/doc/iso/wisc/figs/unix_ipc.grn
+++ /dev/null
@@ -1,18 +0,0 @@
-.(z L
-.GS C
-width 6.0
-high 7.0
-1 8
-2 10
-3 12
-4 14
-sc 0.3
-narrow 1
-medium 3
-thick 7
-pointscale off
-file unix_ipc.gsrc
-.GE
-.ce
-\fBFigure \n+(FG\fR: IPC in 4.2 Unix
-.)z
diff --git a/share/doc/iso/wisc/figs/unix_ipc.gsrc b/share/doc/iso/wisc/figs/unix_ipc.gsrc
deleted file mode 100644
index cafe972..0000000
--- a/share/doc/iso/wisc/figs/unix_ipc.gsrc
+++ /dev/null
@@ -1,1041 +0,0 @@
-gremlinfile
-0 384.00 408.00
-3
-384.00 380.00
-387.00 375.00
-384.00 377.00
-381.00 375.00
-384.00 380.00
--1.00 -1.00
-6 0
-0
- 3
-392.00 612.00
-608.00 612.00
--1.00 -1.00
-6 0
-0
- 3
-248.00 612.00
-32.00 612.00
--1.00 -1.00
-6 0
-0
- 4
-176.00 692.00
-176.00 740.00
-176.00 644.00
-176.00 740.00
-224.00 692.00
-128.00 692.00
--1.00 -1.00
-6 0
-0
- 4
-160.00 532.00
-160.00 580.00
-160.00 484.00
-160.00 580.00
-208.00 532.00
-112.00 532.00
--1.00 -1.00
-6 0
-0
- 4
-528.00 340.00
-528.00 388.00
-528.00 292.00
-528.00 388.00
-576.00 340.00
-480.00 340.00
--1.00 -1.00
-6 0
-0
- 4
-544.00 124.00
-544.00 188.00
-544.00 60.00
-544.00 188.00
-608.00 124.00
-480.00 124.00
--1.00 -1.00
-6 0
-0
- 4
-320.00 604.00
-320.00 676.00
-320.00 532.00
-320.00 676.00
-392.00 604.00
-248.00 604.00
--1.00 -1.00
-6 0
-0
- 0
-144.00 676.00
-144.00 692.00
-144.00 692.00
-144.00 692.00
--1.00 -1.00
-3 3
-7 program
- 0
-152.00 700.00
-152.00 716.00
-152.00 716.00
-152.00 716.00
--1.00 -1.00
-3 3
-4 user
- 0
-288.00 628.00
-288.00 644.00
-288.00 644.00
-288.00 644.00
--1.00 -1.00
-3 3
-9 C library
- 0
-280.00 572.00
-280.00 588.00
-280.00 588.00
-280.00 588.00
--1.00 -1.00
-3 3
-12 system calls
- 0
-144.00 532.00
-144.00 548.00
-144.00 548.00
-144.00 548.00
--1.00 -1.00
-3 3
-5 clock
- 0
-512.00 132.00
-512.00 148.00
-512.00 148.00
-512.00 148.00
--1.00 -1.00
-3 3
-8 network
- 0
-512.00 108.00
-512.00 124.00
-512.00 124.00
-512.00 124.00
--1.00 -1.00
-3 3
-9 interface
- 0
-512.00 84.00
-512.00 100.00
-512.00 100.00
-512.00 100.00
--1.00 -1.00
-3 3
-7 drivers
- 0
-32.00 628.00
-32.00 644.00
-32.00 644.00
-32.00 644.00
--1.00 -1.00
-2 3
-4 user
- 0
-32.00 580.00
-32.00 596.00
-32.00 596.00
-32.00 596.00
--1.00 -1.00
-2 3
-6 kernel
- 3
-248.00 612.00
-392.00 612.00
--1.00 -1.00
-1 0
-0
- 0
-488.00 692.00
-488.00 708.00
-488.00 708.00
-488.00 708.00
--1.00 -1.00
-3 3
-7 network
- 0
-480.00 668.00
-480.00 684.00
-480.00 684.00
-480.00 684.00
--1.00 -1.00
-3 3
-10 management
- 4
-528.00 692.00
-528.00 756.00
-528.00 628.00
-528.00 756.00
-592.00 692.00
-464.00 692.00
--1.00 -1.00
-6 0
-0
- 4
-528.00 500.00
-528.00 548.00
-528.00 452.00
-528.00 548.00
-576.00 500.00
-480.00 500.00
--1.00 -1.00
-6 0
-0
- 0
-504.00 508.00
-504.00 524.00
-504.00 524.00
-504.00 524.00
--1.00 -1.00
-3 3
-7 routing
- 0
-504.00 484.00
-504.00 500.00
-504.00 500.00
-504.00 500.00
--1.00 -1.00
-3 3
-6 tables
- 4
-320.00 436.00
-320.00 516.00
-320.00 356.00
-320.00 516.00
-400.00 436.00
-240.00 436.00
--1.00 -1.00
-6 0
-0
- 0
-288.00 420.00
-288.00 436.00
-288.00 436.00
-288.00 436.00
--1.00 -1.00
-3 3
-7 sockets
- 3
-80.00 356.00
-80.00 100.00
-208.00 100.00
-208.00 356.00
-80.00 356.00
--1.00 -1.00
-6 0
-0
- 0
-112.00 292.00
-112.00 308.00
-112.00 308.00
-112.00 308.00
--1.00 -1.00
-3 3
-9 transport
- 0
-112.00 244.00
-112.00 260.00
-112.00 260.00
-112.00 260.00
--1.00 -1.00
-3 3
-8 protocol
- 0
-112.00 188.00
-112.00 204.00
-112.00 204.00
-112.00 204.00
--1.00 -1.00
-3 3
-6 switch
- 4
-448.00 228.00
-448.00 276.00
-448.00 180.00
-448.00 276.00
-496.00 228.00
-400.00 228.00
--1.00 -1.00
-6 0
-0
- 4
-288.00 292.00
-288.00 340.00
-288.00 244.00
-288.00 340.00
-336.00 292.00
-240.00 292.00
--1.00 -1.00
-6 0
-0
- 4
-288.00 132.00
-288.00 180.00
-288.00 84.00
-288.00 180.00
-336.00 132.00
-240.00 132.00
--1.00 -1.00
-6 0
-0
- 0
-504.00 340.00
-504.00 356.00
-504.00 356.00
-504.00 356.00
--1.00 -1.00
-3 3
-5 mbufs
- 0
-264.00 292.00
-264.00 308.00
-264.00 308.00
-264.00 308.00
--1.00 -1.00
-3 3
-7 proto 1
- 0
-264.00 124.00
-264.00 140.00
-264.00 140.00
-264.00 140.00
--1.00 -1.00
-3 3
-7 proto n
- 3
-208.00 660.00
-256.00 636.00
--1.00 -1.00
-6 0
-0
- 3
-480.00 652.00
-384.00 628.00
--1.00 -1.00
-6 0
-0
- 3
-384.00 564.00
-480.00 516.00
--1.00 -1.00
-6 0
-0
- 3
-304.00 532.00
-304.00 516.00
--1.00 -1.00
-6 0
-0
- 5
-240.00 420.00
-176.00 420.00
-144.00 404.00
-128.00 372.00
-128.00 356.00
--1.00 -1.00
-6 0
-0
- 3
-216.00 292.00
-240.00 292.00
--1.00 -1.00
-6 0
-0
- 3
-216.00 132.00
-240.00 132.00
--1.00 -1.00
-6 0
-0
- 3
-336.00 292.00
-368.00 292.00
--1.00 -1.00
-6 0
-0
- 3
-336.00 132.00
-368.00 132.00
--1.00 -1.00
-6 0
-0
- 3
-368.00 132.00
-368.00 324.00
--1.00 -1.00
-6 0
-0
- 3
-512.00 180.00
-488.00 196.00
--1.00 -1.00
-6 0
-0
- 5
-368.00 324.00
-368.00 356.00
-368.00 364.00
--1.00 -1.00
-6 0
-0
- 3
-328.00 268.00
-400.00 244.00
--1.00 -1.00
-6 0
-0
- 3
-328.00 164.00
-400.00 204.00
--1.00 -1.00
-6 0
-0
- 3
-208.00 660.00
-213.81 660.45
-210.68 658.66
-211.13 655.08
-208.00 660.00
--1.00 -1.00
-6 0
-0
- 3
-256.00 636.00
-250.34 637.41
-253.88 638.12
-254.59 641.66
-256.00 636.00
--1.00 -1.00
-6 0
-0
- 3
-384.00 628.00
-389.00 631.00
-387.00 628.00
-389.00 625.00
-384.00 628.00
--1.00 -1.00
-6 0
-0
- 3
-480.00 652.00
-475.00 649.00
-477.00 652.00
-475.00 655.00
-480.00 652.00
--1.00 -1.00
-6 0
-0
- 3
-384.00 564.00
-389.81 564.45
-386.68 562.66
-387.13 559.08
-384.00 564.00
--1.00 -1.00
-6 0
-0
- 3
-480.00 516.00
-475.00 513.00
-477.00 516.00
-475.00 519.00
-480.00 516.00
--1.00 -1.00
-6 0
-0
- 3
-304.00 532.00
-307.00 527.00
-304.00 529.00
-301.00 527.00
-304.00 532.00
--1.00 -1.00
-6 0
-0
- 3
-304.00 516.00
-301.00 521.00
-304.00 519.00
-307.00 521.00
-304.00 516.00
--1.00 -1.00
-6 0
-0
- 3
-128.00 356.00
-125.00 361.00
-128.00 359.00
-131.00 361.00
-128.00 356.00
--1.00 -1.00
-6 0
-0
- 3
-240.00 292.00
-235.00 289.00
-237.00 292.00
-235.00 295.00
-240.00 292.00
--1.00 -1.00
-6 0
-0
- 3
-240.00 132.00
-235.00 129.00
-237.00 132.00
-235.00 135.00
-240.00 132.00
--1.00 -1.00
-6 0
-0
- 3
-368.00 364.00
-371.00 359.00
-368.00 361.00
-365.00 359.00
-368.00 364.00
--1.00 -1.00
-6 0
-0
- 3
-328.00 268.00
-333.81 268.45
-330.68 266.66
-331.13 263.08
-328.00 268.00
--1.00 -1.00
-6 0
-0
- 3
-400.00 244.00
-395.00 241.00
-397.00 244.00
-395.00 247.00
-400.00 244.00
--1.00 -1.00
-6 0
-0
- 3
-400.00 204.00
-398.59 198.34
-397.88 201.88
-394.34 202.59
-400.00 204.00
--1.00 -1.00
-6 0
-0
- 3
-328.00 164.00
-331.13 168.92
-330.68 165.34
-333.81 163.55
-328.00 164.00
--1.00 -1.00
-6 0
-0
- 3
-488.00 196.00
-493.66 194.59
-490.12 193.88
-489.41 190.34
-488.00 196.00
--1.00 -1.00
-6 0
-0
- 3
-512.00 180.00
-506.34 181.41
-509.88 182.12
-510.59 185.66
-512.00 180.00
--1.00 -1.00
-6 0
-0
- 0
-416.00 228.00
-416.00 244.00
-416.00 244.00
-416.00 244.00
--1.00 -1.00
-3 3
-6 DoD IP
- 0
-368.00 20.00
-368.00 36.00
-368.00 36.00
-368.00 36.00
--1.00 -1.00
-2 3
-12 control flow
- 0
-144.00 20.00
-144.00 36.00
-144.00 36.00
-144.00 36.00
--1.00 -1.00
-2 3
-9 data flow
- 3
-304.00 36.00
-352.00 36.00
--1.00 -1.00
-6 0
-0
- 3
-80.00 36.00
-128.00 36.00
--1.00 -1.00
-1 0
-0
- 3
-224.00 676.00
-264.00 652.00
--1.00 -1.00
-1 0
-0
- 3
-464.00 676.00
-384.00 644.00
--1.00 -1.00
-1 0
-0
- 3
-392.00 580.00
-488.00 532.00
--1.00 -1.00
-1 0
-0
- 3
-200.00 500.00
-248.00 468.00
--1.00 -1.00
-1 0
-0
- 5
-120.00 500.00
-48.00 372.00
-48.00 276.00
-48.00 196.00
-48.00 84.00
-64.00 68.00
-144.00 68.00
-480.00 68.00
-496.00 76.00
--1.00 -1.00
-1 0
-0
- 3
-152.00 68.00
-152.00 100.00
--1.00 -1.00
-1 0
-0
- 3
-432.00 52.00
-432.00 180.00
--1.00 -1.00
-1 0
-0
- 3
-216.00 116.00
-240.00 116.00
--1.00 -1.00
-1 0
-0
- 3
-216.00 276.00
-240.00 276.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 276.00
-384.00 276.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 116.00
-384.00 116.00
--1.00 -1.00
-1 0
-0
- 3
-384.00 116.00
-384.00 388.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 148.00
-408.00 188.00
--1.00 -1.00
-1 0
-0
- 3
-328.00 252.00
-400.00 228.00
--1.00 -1.00
-1 0
-0
- 3
-472.00 180.00
-488.00 164.00
--1.00 -1.00
-1 0
-0
- 3
-504.00 300.00
-480.00 268.00
--1.00 -1.00
-1 0
-0
- 3
-480.00 340.00
-328.00 324.00
--1.00 -1.00
-1 0
-0
- 3
-400.00 420.00
-488.00 372.00
--1.00 -1.00
-1 0
-0
- 3
-544.00 292.00
-544.00 188.00
--1.00 -1.00
-1 0
-0
- 3
-528.00 452.00
-528.00 388.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 532.00
-336.00 516.00
--1.00 -1.00
-1 0
-0
- 3
-224.00 676.00
-229.66 674.59
-226.12 673.88
-225.41 670.34
-224.00 676.00
--1.00 -1.00
-1 0
-0
- 3
-264.00 652.00
-258.34 653.41
-261.88 654.12
-262.59 657.66
-264.00 652.00
--1.00 -1.00
-1 0
-0
- 3
-384.00 644.00
-387.13 648.92
-386.68 645.34
-389.81 643.55
-384.00 644.00
--1.00 -1.00
-1 0
-0
- 3
-464.00 676.00
-462.59 670.34
-461.88 673.88
-458.34 674.59
-464.00 676.00
--1.00 -1.00
-1 0
-0
- 3
-392.00 580.00
-397.81 580.45
-394.68 578.66
-395.13 575.08
-392.00 580.00
--1.00 -1.00
-1 0
-0
- 3
-488.00 532.00
-482.19 531.55
-485.32 533.34
-484.87 536.92
-488.00 532.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 532.00
-339.00 527.00
-336.00 529.00
-333.00 527.00
-336.00 532.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 516.00
-333.00 521.00
-336.00 519.00
-339.00 521.00
-336.00 516.00
--1.00 -1.00
-1 0
-0
- 3
-248.00 468.00
-242.19 467.55
-245.32 469.34
-244.87 472.92
-248.00 468.00
--1.00 -1.00
-1 0
-0
- 3
-152.00 100.00
-152.00 84.00
--1.00 -1.00
-1 0
-0
- 3
-240.00 116.00
-235.00 113.00
-237.00 116.00
-235.00 119.00
-240.00 116.00
--1.00 -1.00
-1 0
-0
- 3
-152.00 100.00
-155.00 95.00
-152.00 97.00
-149.00 95.00
-152.00 100.00
--1.00 -1.00
-1 0
-0
- 3
-432.00 180.00
-435.00 175.00
-432.00 177.00
-429.00 175.00
-432.00 180.00
--1.00 -1.00
-1 0
-0
- 3
-472.00 180.00
-477.66 178.59
-474.12 177.88
-473.41 174.34
-472.00 180.00
--1.00 -1.00
-1 0
-0
- 3
-496.00 156.00
-490.34 157.41
-493.88 158.12
-494.59 161.66
-496.00 156.00
--1.00 -1.00
-1 0
-0
- 3
-496.00 76.00
-494.59 70.34
-493.88 73.88
-490.34 74.59
-496.00 76.00
--1.00 -1.00
-1 0
-0
- 3
-408.00 188.00
-406.59 182.34
-405.88 185.88
-402.34 186.59
-408.00 188.00
--1.00 -1.00
-1 0
-0
- 3
-336.00 148.00
-339.13 152.92
-338.68 149.34
-341.81 147.55
-336.00 148.00
--1.00 -1.00
-1 0
-0
- 3
-328.00 252.00
-333.81 252.45
-330.68 250.66
-331.13 247.08
-328.00 252.00
--1.00 -1.00
-1 0
-0
- 3
-400.00 228.00
-395.00 225.00
-397.00 228.00
-395.00 231.00
-400.00 228.00
--1.00 -1.00
-1 0
-0
- 3
-544.00 292.00
-547.00 287.00
-544.00 289.00
-541.00 287.00
-544.00 292.00
--1.00 -1.00
-1 0
-0
- 3
-504.00 300.00
-502.59 294.34
-501.88 297.88
-498.34 298.59
-504.00 300.00
--1.00 -1.00
-1 0
-0
- 3
-480.00 268.00
-481.41 273.66
-482.12 270.12
-485.66 269.41
-480.00 268.00
--1.00 -1.00
-1 0
-0
- 3
-400.00 420.00
-405.81 420.45
-402.68 418.66
-403.13 415.08
-400.00 420.00
--1.00 -1.00
-1 0
-0
- 3
-488.00 372.00
-482.19 371.55
-485.32 373.34
-484.87 376.92
-488.00 372.00
--1.00 -1.00
-1 0
-0
- 3
-528.00 452.00
-531.00 447.00
-528.00 449.00
-525.00 447.00
-528.00 452.00
--1.00 -1.00
-1 0
-0
- 3
-528.00 388.00
-525.00 393.00
-528.00 391.00
-531.00 393.00
-528.00 388.00
--1.00 -1.00
-1 0
-0
- 3
-480.00 340.00
-475.00 337.00
-477.00 340.00
-475.00 343.00
-480.00 340.00
--1.00 -1.00
-1 0
-0
- 3
-328.00 324.00
-333.00 327.00
-331.00 324.00
-333.00 321.00
-328.00 324.00
--1.00 -1.00
-1 0
-0
- 5
-240.00 404.00
-176.00 404.00
-160.00 388.00
-152.00 372.00
-152.00 356.00
--1.00 -1.00
-1 0
-0
- 3
-152.00 356.00
-149.00 361.00
-152.00 359.00
-155.00 361.00
-152.00 356.00
--1.00 -1.00
-1 0
-0
- 5
-480.00 324.00
-448.00 308.00
-416.00 292.00
-400.00 276.00
-336.00 212.00
-320.00 196.00
-312.00 180.00
--1.00 -1.00
-1 0
-0
- 3
-312.00 180.00
-311.55 185.81
-313.34 182.68
-316.92 183.13
-312.00 180.00
--1.00 -1.00
-1 0
-0
- 3
-480.00 324.00
-476.87 319.08
-477.32 322.66
-474.19 324.45
-480.00 324.00
--1.00 -1.00
-1 0
-0
- -1
diff --git a/share/doc/iso/wisc/figs/unix_ipc.nr b/share/doc/iso/wisc/figs/unix_ipc.nr
deleted file mode 100644
index de24796..0000000
--- a/share/doc/iso/wisc/figs/unix_ipc.nr
+++ /dev/null
@@ -1,499 +0,0 @@
-.(z L
-.br
-.nr g1 3155u
-.nr g2 4031u
-.GS C
-.nr g3 \n(.f
-.nr g4 \n(.s
-\0
-.sp -1
-\D's 4u'\D't 1u'
-.sp -1
-.sp 2366u
-\h'2454u'\D'l -17u 27u'\D'l 2u -20u'\D'l -17u -10u'\D'l 32u 3u'
-.sp -1
-.sp 789u
-\h'1534u'\D'l -3u -32u'\D'l 10u 17u'\D'l 20u -2u'\D'l -27u 17u'
-.sp -1
-.sp -789u
-\h'2454u'\D'g -175u 88u -176u 87u -87u 88u -351u 350u -87u 88u -44u 88u'
-.sp -1
-.sp -175u
-\h'657u'\D'l -16u -28u'\D'l 16u 11u'\D'l 17u -11u'\D'l -17u 28u'
-.sp -1
-.sp -263u
-\h'1139u'\D'g -350u 0u -88u 87u -44u 88u 0u 88u'
-.sp -1
-.sp 438u
-\h'1621u'\D'l 28u -17u'\D'l -11u 17u'\D'l 11u 16u'\D'l -28u -16u'
-.sp -1
-.sp -88u
-\h'2454u'\D'l -27u 17u'\D'l 11u -17u'\D'l -11u -16u'\D'l 27u 16u'
-.sp -1
-.sp -263u
-\h'2717u'\D'l -16u -27u'\D'l 16u 11u'\D'l 16u -11u'\D'l -16u 27u'
-.sp -1
-.sp -350u
-\h'2717u'\D'l 16u 27u'\D'l -16u -11u'\D'l -16u 11u'\D'l 16u -27u'
-.sp -1
-.sp 438u
-\h'2498u'\D'l -32u 2u'\D'l 17u -9u'\D'l -2u -20u'\D'l 17u 27u'
-.sp -1
-.sp -263u
-\h'2016u'\D'l 32u -2u'\D'l -18u 9u'\D'l 3u 20u'\D'l -17u -27u'
-.sp -1
-.sp 833u
-\h'2454u'\D'l 8u -31u'\D'l 4u 19u'\D'l 19u 4u'\D'l -31u 8u'
-.sp -1
-.sp -176u
-\h'2586u'\D'l -8u 31u'\D'l -4u -19u'\D'l -19u -4u'\D'l 31u -8u'
-.sp -1
-.sp 44u
-\h'2805u'\D'l 16u 28u'\D'l -16u -11u'\D'l -17u 11u'\D'l 17u -28u'
-.sp -1
-.sp 351u
-\h'2016u'\D'l -28u 16u'\D'l 11u -16u'\D'l -11u -17u'\D'l 28u 17u'
-.sp -1
-.sp -132u
-\h'1621u'\D'l 32u -2u'\D'l -17u 10u'\D'l 3u 19u'\D'l -18u -27u'
-.sp -1
-.sp 570u
-\h'1665u'\D'l 17u -27u'\D'l -2u 20u'\D'l 17u 10u'\D'l -32u -3u'
-.sp -1
-.sp -219u
-\h'2060u'\D'l -8u 31u'\D'l -4u -19u'\D'l -19u -4u'\D'l 31u -8u'
-.sp -1
-.sp 614u
-\h'2542u'\D'l -8u 31u'\D'l -4u -20u'\D'l -19u -4u'\D'l 31u -7u'
-.sp -1
-.sp -439u
-\h'2542u'\D'l -31u -7u'\D'l 19u -4u'\D'l 4u -20u'\D'l 8u 31u'
-.sp -1
-.sp -131u
-\h'2410u'\D'l 31u 8u'\D'l -19u 3u'\D'l -4u 20u'\D'l -8u -31u'
-.sp -1
-\h'2191u'\D'l 17u 27u'\D'l -17u -11u'\D'l -16u 11u'\D'l 16u -27u'
-.sp -1
-.sp 438u
-\h'657u'\D'l 17u 27u'\D'l -17u -10u'\D'l -16u 10u'\D'l 16u -27u'
-.sp -1
-.sp -88u
-\h'1139u'\D'l -27u 17u'\D'l 11u -17u'\D'l -11u -16u'\D'l 27u 16u'
-.sp -1
-.sp 88u
-\h'657u'\D'l 0u 88u'
-.sp -1
-.sp -2016u
-\h'1183u'\D'l -32u 3u'\D'l 17u -10u'\D'l -2u -20u'\D'l 17u 27u'
-.sp -1
-.sp -262u
-\h'1665u'\D'l -16u -27u'\D'l 16u 11u'\D'l 17u -11u'\D'l -17u 27u'
-.sp -1
-.sp -88u
-\h'1665u'\D'l 17u 28u'\D'l -17u -11u'\D'l -16u 11u'\D'l 16u -28u'
-.sp -1
-\h'2498u'\D'l -32u 3u'\D'l 17u -10u'\D'l -2u -19u'\D'l 17u 26u'
-.sp -1
-.sp -262u
-\h'1972u'\D'l 32u -3u'\D'l -17u 10u'\D'l 2u 19u'\D'l -17u -26u'
-.sp -1
-.sp -526u
-\h'2366u'\D'l -7u 31u'\D'l -4u -20u'\D'l -20u -4u'\D'l 31u -7u'
-.sp -1
-.sp 175u
-\h'1928u'\D'l 17u -27u'\D'l -2u 20u'\D'l 17u 9u'\D'l -32u -2u'
-.sp -1
-.sp -44u
-\h'1271u'\D'l -31u -8u'\D'l 19u -4u'\D'l 4u -19u'\D'l 8u 31u'
-.sp -1
-.sp -131u
-\h'1052u'\D'l 31u 7u'\D'l -20u 4u'\D'l -4u 20u'\D'l -7u -31u'
-.sp -1
-.sp 788u
-\h'1665u'\D'l 0u 88u'
-.sp -1
-.sp 438u
-\h'2717u'\D'l 0u 350u'
-.sp -1
-.sp 876u
-\h'2805u'\D'l 0u 570u'
-.sp -1
-.sp -701u
-\h'2016u'\D'l 482u 263u'
-.sp -1
-.sp 438u
-\h'2454u'\D'l -833u 88u'
-.sp -1
-.sp 219u
-\h'2586u'\D'l -132u 176u'
-.sp -1
-.sp 658u
-\h'2410u'\D'l 88u 87u'
-.sp -1
-.sp -395u
-\h'1621u'\D'l 395u 132u'
-.sp -1
-.sp 570u
-\h'1665u'\D'l 395u -219u'
-.sp -1
-.sp 175u
-\h'1928u'\D'l 0u -1490u'
-.sp -1
-\h'1665u'\D'l 263u 0u'
-.sp -1
-.sp -876u
-\h'1665u'\D'l 263u 0u'
-.sp -1
-\h'1008u'\D'l 131u 0u'
-.sp -1
-.sp 876u
-\h'1008u'\D'l 131u 0u'
-.sp -1
-.sp 351u
-\h'2191u'\D'l 0u -701u'
-.sp -1
-.sp -88u
-\h'657u'\D'l 0u -175u'
-.sp -1
-.sp -2366u
-\h'482u'\D'g -395u 701u 0u 526u 0u 438u 0u 614u 88u 87u 438u 0u 1841u 0u 88u -43u'
-.sp -1
-\h'920u'\D'l 263u 175u'
-.sp -1
-.sp -437u
-\h'1972u'\D'l 526u 262u'
-.sp -1
-.sp -526u
-\h'2366u'\D'l -438u 175u'
-.sp -1
-\h'1052u'\D'l 219u 131u'
-.sp -1
-.sp 3505u
-\h'263u'\D'l 263u 0u'
-.sp -1
-\D's -1u'\D't 3u'
-.sp -1
-\h'1490u'\D'l 263u 0u'
-.sp -1
-.ft I
-.ps 12
-.nr g8 \n(.d
-.ds g9 "data flow
-.sp 87u
-\h'613u'\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 12
-.nr g8 \n(.d
-.ds g9 "control flow
-.sp 87u
-\h'1840u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "DoD IP
-.sp -1052u
-\h'2103u'\&\*(g9
-.sp |\n(g8u
-.sp -789u
-\h'2629u'\D'l -31u -8u'\D'l 20u -4u'\D'l 4u -19u'\D'l 7u 31u'
-.sp -1
-.sp -88u
-\h'2498u'\D'l 31u 8u'\D'l -19u 4u'\D'l -4u 19u'\D'l -8u -31u'
-.sp -1
-.sp 175u
-\h'1621u'\D'l 18u -26u'\D'l -3u 19u'\D'l 17u 10u'\D'l -32u -3u'
-.sp -1
-.sp -219u
-\h'2016u'\D'l -8u 31u'\D'l -4u -19u'\D'l -19u -4u'\D'l 31u -8u'
-.sp -1
-.sp -219u
-\h'2016u'\D'l -28u 17u'\D'l 11u -17u'\D'l -11u -16u'\D'l 28u 16u'
-.sp -1
-.sp -131u
-\h'1621u'\D'l 32u -3u'\D'l -17u 10u'\D'l 3u 20u'\D'l -18u -27u'
-.sp -1
-.sp -526u
-\h'1840u'\D'l 17u 27u'\D'l -17u -11u'\D'l -16u 11u'\D'l 16u -27u'
-.sp -1
-.sp 1271u
-\h'1139u'\D'l -27u 16u'\D'l 11u -16u'\D'l -11u -17u'\D'l 27u 17u'
-.sp -1
-.sp -877u
-\h'1139u'\D'l -27u 17u'\D'l 11u -17u'\D'l -11u -16u'\D'l 27u 16u'
-.sp -1
-.sp -350u
-\h'526u'\D'l -17u -28u'\D'l 17u 11u'\D'l 16u -11u'\D'l -16u 28u'
-.sp -1
-.sp -876u
-\h'1490u'\D'l -17u -27u'\D'l 17u 11u'\D'l 16u -11u'\D'l -16u 27u'
-.sp -1
-.sp -88u
-\h'1490u'\D'l 16u 28u'\D'l -16u -11u'\D'l -17u 11u'\D'l 17u -28u'
-.sp -1
-.sp 88u
-\h'2454u'\D'l -27u 17u'\D'l 11u -17u'\D'l -11u -16u'\D'l 27u 16u'
-.sp -1
-.sp -263u
-\h'1928u'\D'l 32u -2u'\D'l -17u 9u'\D'l 2u 20u'\D'l -17u -27u'
-.sp -1
-.sp -482u
-\h'2454u'\D'l -27u 17u'\D'l 11u -17u'\D'l -11u -16u'\D'l 27u 16u'
-.sp -1
-.sp 132u
-\h'1928u'\D'l 28u -17u'\D'l -11u 17u'\D'l 11u 16u'\D'l -28u -16u'
-.sp -1
-.sp -44u
-\h'1227u'\D'l -31u -8u'\D'l 19u -4u'\D'l 4u -19u'\D'l 8u 31u'
-.sp -1
-.sp -132u
-\h'964u'\D'l 32u -2u'\D'l -17u 10u'\D'l 2u 19u'\D'l -17u -27u'
-.sp -1
-.sp 2716u
-\h'1621u'\D'l 395u -219u'
-.sp -1
-.sp -569u
-\h'1621u'\D'l 395u 131u'
-.sp -1
-.sp -307u
-\h'1840u'\D'g 0u -175u 0u -44u'
-.sp -1
-.sp 789u
-\h'2629u'\D'l -131u -88u'
-.sp -1
-.sp 263u
-\h'1840u'\D'l 0u -1052u'
-.sp -1
-\h'1665u'\D'l 175u 0u'
-.sp -1
-.sp -877u
-\h'1665u'\D'l 175u 0u'
-.sp -1
-.sp 877u
-\h'1008u'\D'l 131u 0u'
-.sp -1
-.sp -877u
-\h'1008u'\D'l 131u 0u'
-.sp -1
-.sp -701u
-\h'1139u'\D'g -350u 0u -176u 88u -87u 175u 0u 88u'
-.sp -1
-.sp -613u
-\h'1490u'\D'l 0u 88u'
-.sp -1
-.sp -175u
-\h'1928u'\D'l 526u 263u'
-.sp -1
-.sp -482u
-\h'2454u'\D'l -526u 132u'
-.sp -1
-.sp -44u
-\h'964u'\D'l 263u 132u'
-.sp -1
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "proto n
-.sp 2936u
-\h'1271u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "proto 1
-.sp 2015u
-\h'1271u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "mbufs
-.sp 1752u
-\h'2586u'\&\*(g9
-.sp |\n(g8u
-.sp 2892u
-\h'1139u'\D'c 525u'
-.sp -1
-.sp -877u
-\h'1139u'\D'c 525u'
-.sp -1
-.sp 351u
-\h'2016u'\D'c 525u'
-.sp -1
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "switch
-.sp 219u
-\h'438u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "protocol
-.sp -88u
-\h'438u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "transport
-.sp -351u
-\h'438u'\&\*(g9
-.sp |\n(g8u
-.sp -701u
-\h'263u'\D'l 0u 1402u'\D'l 701u 0u'\D'l 0u -1402u'\D'l -701u 0u'
-.sp -1
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "sockets
-.sp -351u
-\h'1402u'\&\*(g9
-.sp |\n(g8u
-.sp -439u
-\h'1139u'\D'c 876u'
-.sp -1
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "tables
-.sp -263u
-\h'2586u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "routing
-.sp -394u
-\h'2586u'\&\*(g9
-.sp |\n(g8u
-.sp -350u
-\h'2454u'\D'c 525u'
-.sp -1
-.sp -1051u
-\h'2366u'\D'c 701u'
-.sp -1
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "management
-.sp 131u
-\h'2454u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "network
-\h'2498u'\&\*(g9
-.sp |\n(g8u
-\D's 4u'\D't 1u'
-.sp -1
-.sp 438u
-\h'1183u'\D'l 789u 0u'
-.sp -1
-.ft I
-.ps 12
-.nr g8 \n(.d
-.ds g9 "kernel
-.sp 176u
-\&\*(g9
-.sp |\n(g8u
-.ft I
-.ps 12
-.nr g8 \n(.d
-.ds g9 "user
-.sp -87u
-\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "drivers
-.sp 2892u
-\h'2629u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "interface
-.sp 2760u
-\h'2629u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "network
-.sp 2629u
-\h'2629u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "clock
-.sp 438u
-\h'613u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "system calls
-.sp 219u
-\h'1358u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "C library
-.sp -87u
-\h'1402u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "user
-.sp -482u
-\h'657u'\&\*(g9
-.sp |\n(g8u
-.ft B
-.ps 12
-.nr g8 \n(.d
-.ds g9 "program
-.sp -350u
-\h'613u'\&\*(g9
-.sp |\n(g8u
-\D's -1u'\D't 3u'
-.sp -1
-.sp 44u
-\h'1183u'\D'c 788u'
-.sp -1
-.sp 2629u
-\h'2454u'\D'c 701u'
-.sp -1
-.sp -1184u
-\h'2454u'\D'c 525u'
-.sp -1
-.sp -1051u
-\h'438u'\D'c 525u'
-.sp -1
-.sp -876u
-\h'526u'\D'c 525u'
-.sp -1
-.sp 438u
-\h'1183u'\D'l -1183u 0u'
-.sp -1
-\h'1972u'\D'l 1183u 0u'
-.sp -1
-.sp 1270u
-\h'1928u'\D'l 17u 28u'\D'l -17u -11u'\D'l -16u 11u'\D'l 16u -28u'
-.sp -1
-.sp 1972u
-\D't 3u'\D's -1u'
-.br
-.ft \n(g3
-.ps \n(g4
-.GE
-.ce
-\fBFigure \n+(FG\fR: IPC in 4.2 Unix
-.)z
diff --git a/share/doc/iso/wisc/intro.nr b/share/doc/iso/wisc/intro.nr
deleted file mode 100644
index 5e03515..0000000
--- a/share/doc/iso/wisc/intro.nr
+++ /dev/null
@@ -1,76 +0,0 @@
-.NC "Introduction"
-.sh 1 "Introduction"
-.pp
-This document describes the design and implementation of the ISO
-transport and network layers written for the ACIS Operating System,
-the IBM ACIS port of Berkeley 4.3 Unix\**
-.(f
-\** Unix is a registered trademark of AT&T.
-.)f
-for the IBM RT PC,
-hereafter called AOS.
-Collectively, this work is called the Wisconsin ARGO kernel.
-The ARGO kernel supports the
-the connection-oriented ISO transport service (COTS), the
-ISO connectionless network service (CLNS)
-and a
-connection-oriented network service (CONS).
-The COTS is provided by the ISO transport protocol TP,
-ISO 8073 Revised.
-The CLNS is provided by the connectionless network protocol,
-ISO 8473.
-The CONS is provided by the X.25 protocols.
-The ARGO implementation of the CONS is not a complete
-ISO CONS, but contains enough of the CONS to support
-the COTS and the CLNS (in the latter case, the CONS can be
-viewed as a subnetwork service).
-.pp
-The purposes of this document are
-.ip "1) "
-to describe the transport service and the software interface
-between the user and provider of this service,
-.ip "2) "
-to describe the network service and the software interface it
-provides,
-.ip "3) "
-to describe the design of the software which provides
-these services, and
-.ip "4) "
-to provide a guide for readers who are perusing or maintaining
-the ARGO kernel source code.
-.pp
-It is assumed that the reader is familiar with the \fBC\fR
-programming language,
-with Unix conventions, and with the ISO specifications listed in Appendix A.
-.sh 1 "Organization"
-.pp
-This document is composed of several chapters.
-Chapter One contains this introduction. Chapter Two presents a
-definition of terms and phrases used throughout the document.
-Chapter Three describes the transport service interface, which is
-the interface between the transport protocol implementation software and the transport user software.
-Chapter Four describes the network service interface, and the interface
-above and below the network layer.
-Chapter Five explains the format of an OSI address.
-Chapter Six describes the
-the architecture of the interprocess communication support in the
-kernel, which to a large degree mandates
-the design of a protocol implementation for a 4.3 Unix kernel.
-Chapter Seven describes the design of this transport
-protocol implementation,
-including descriptions of implementation options.
-Chapter Eight describes the design of the network layer implementation.
-Chapter Nine describes the way errors are handled in the system.
-Chapter Ten summarizes the methods used for
-testing and debugging the ARGO kernel.
-Appendix A is a list of the applicable ISO standards.
-.\" The manual pages relevant to the transport and network layers
-.\" are included as Appendix B.
-.pp
-Several conventions are followed in this document.
-All procedure names and system call names are followed
-by a pair of parentheses, for example,
-\fIread()\fR.
-References to manual pages consist of the name of the
-manual page, followed by the section in which
-the man page is found: \fIread(2)\fR.
diff --git a/share/doc/iso/wisc/ipc.nr b/share/doc/iso/wisc/ipc.nr
deleted file mode 100644
index 9f9d962..0000000
--- a/share/doc/iso/wisc/ipc.nr
+++ /dev/null
@@ -1,372 +0,0 @@
-.NC "The Design of Unix IPC"
-.sh 1 "General"
-.pp
-The ARGO implementation of
-TP and CLNP was designed to fit into the AOS
-kernel
-as easily as possible.
-All the standard protocol hooks are used.
-To understand the design, it is useful to have
-read
-Leffler, Joy, and Fabry:
-\*(lq4.2 BSD Networking Implementation Notes\*(rq July 1983.
-This section describes the
-design of the IPC support in the AOS kernel.
-.sh 1 "Functional Unit Overview"
-.pp
-The
-AOS
-kernel
-is a monolithic program of considerable size and complexity.
-The code can be separated into parts of distinct function,
-but there are no kernel processes per se.
-The kernel code is either executed on behalf of a user
-process, in which case the kernel was entered by a system call,
-or it is executed on behalf of a hardware or software interrupt.
-The following sections describe briefly the major functional units
-of the kernel.
-.\" FIGURE
-.so figs/func_units.nr
-.CF
-shows the arrangement of these kernel units and
-their interactions.
-.sh 2 "The file system."
-.pp
-.sh 2 "Virtual memory support."
-.pp
-This includes protection, swapping, paging, and
-text sharing.
-.sh 2 "Blocked device drivers (disks, tapes)."
-.pp
-All these drivers share some minor functional units,
-such as buffer management and bus support
-for the various types of busses on the machine.
-.sh 2 "Interprocess communication (IPC)."
-.pp
-This includes
-support for various protocols,
-buffer management, and a standard interface for inter-protocol
-communication.
-.sh 2 "Network interface drivers."
-.pp
-These drivers are closely tied to the IPC support.
-They use the IPC's buffer management unit rather
-than the buffers used by the blocked device drivers.
-The interface between these drivers and the rest of the kernel
-differs from the interface used by the blocked devices.
-.sh 2 "Tty driver"
-.pp
-This is terminal support, including the user interface
-and the device drivers.
-.sh 2 "System call interface."
-.pp
-This handles signals, traps, and system calls.
-.sh 2 "Clock."
-.pp
-The clock is used in various forms by many
-other units.
-.sh 2 "User process support (the rest)."
-.pp
-This includes support for accounting, process creation,
-control, scheduling, and destruction.
-.pp
-.sh 2 "IPC"
-.pp
-The major functional unit that supports IPC
-can be divided into the following smaller functional
-units.
-.sh 3 "Buffer management."
-.pp
-All protocols share a pool of buffers called \fImbufs\fR:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct mbuf {
-.T&
-l l l l.
-+struct mbuf+*m_next;+/* next buffer in chain */
-+u_long+m_off;+/* offset of data */
-+short+m_len;+/* amount of data */
-+short+m_type;+/* mbuf type (0 == free) */
-+u_char+m_dat[MLEN];+/* data storage */
-+struct mbuf+*m_act;+/* link in 2-d structure */
-};
-.TE
-\fR
-.)b
-.pp
-There are two forms of mbufs - small ones and large ones.
-Small ones are 128 octets in
-AOS
-and 256 octets
-in the ARGO release. Small mbufs are copied by byte-to-byte
-copies.
-The data in these mbufs are kept in the character
-array field \fIm_dat\fR in the mbuf structure
-itself.
-For this type of mbuf, the field \fIm_off\fR is positive,
-and is the offset to the beginning of the data from
-the beginning of the mbuf structure itself.
-Large mbufs, called \fIclusters\fR, are page-sized
-and page-aligned.
-They may be \*(lqcopied\*(rq by multiply mapping the pages they occupy.
-They consist of a page of memory plus a small mbuf structure
-whose fields are used
-to link clusters into chains, but whose \fIm_dat\fR array is
-not used.
-The \fIm_off\fR field of the structure
-is the offset (positive or negative) from the
-beginning of the mbuf structure to the beginning
-of the data page part of the cluster.
-In the case of clusters, the offset is always out of the
-bounds of the \fIm_dat\fR array and so it is alway possible
-to tell from the \fIm_off\fR field whether an mbuf structure
-is part of a cluster or is a small mbuf.
-All mbufs permanently reside in memory.
-The mbuf management unit manages its own page table.
-The mbuf manager keeps limited statistics on the quantities and
-types of buffers in use.
-Mbufs are used for many purposes, and most of these purposes
-have a type associated with them.
-Some of the types that buffers may take are
-MT_FREE (not allocated), MT_DATA,
-MT_HEADER, MT_SOCKET (socket structure),
-MT_PCB (protocol control block),
-MT_RTABLE (routing tables),
-and
-MT_SOOPTS (arguments passed to \fIgetsockopt()\fR and
-\fIsetsockopt()\fR.
-Data are passed among functional units by means
-of queues, the contents of which are
-either chains of mbufs or groups of chains of mbufs.
-Mbufs are linked into chains with the \fIm_next\fR field.
-Chains of mbufs are linked into groups with the \fIm_act\fR
-field.
-The \fIm_act\fR field allows a protocol to retain packet
-boundaries in a queue of mbufs.
-.sh 3 "Routing."
-.pp
-Routing decisions in the kernel are made by the procedure \fIrtalloc()\fR.
-This procedure will scan the kernel routing tables (stored in mbufs)
-looking for a route. A route is represented by
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct rtentry {
-.T&
-l l l l.
-+u_long+rt_hash;+/* to speed lookups */
-+struct sockaddr+rt_dst;+/* key */
-+struct sockaddr+rt_gateway;+/* value */
-+short+rt_flags;+/* up/down?, host/net */
-+short+rt_refcnt;+/* # held references */
-+u_long+rt_use;+/* raw # packets forwarded */
-+struct ifnet+*rt_ifp;+/* interface to use */
-}
-.TE
-\fR
-.)b
-When looking for a route, \fIrtalloc()\fR will first hash the entire destination
-address, and scan the routing tables looking for a complete route. If a route
-is not found, then \fIrtalloc()\fR will rescan the table looking for a route
-which matches the \fInetwork\fR portion of the address. If a route is still
-not found, then a default route is used (if present).
-.pp
-If a route is found, the entity which called \fIrtalloc()\fR can use information
-from the \fIrtentry\fR structure to dispatch the datagram. Specifically, the
-datagram is queued on the interface identified by the interface
-pointer \fIrt_ifp\fR.
-.sh 3 "Socket code."
-.pp
-This is the protocol-independent part of the IPC support.
-Each communication endpoint (which may or may not be associated
-with a connection) is represented by the following structure:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct socket {
-.T&
-l l l l.
-+short+so_type;+/* type, e.g. SOCK_DGRAM */
-+short+so_options;+/* from socket call */
-+short+so_linger;+/* time to linger @ close */
-+short+so_state;+/* internal state flags */
-+caddr_t+so_pcb;+/* network layer pcb */
-+struct protosw+*so_proto;+/* protocol handle */
-+struct socket+*so_head;+/* ptr to accept socket */
-+struct socket+*so_q0;+/* queue of partial connX */
-+short+so_q0len;+/* # partials on so_q0 */
-+struct socket+*so_q;+/* queue of incoming connX */
-+short+so_qlen;+/* # connections on so_q */
-+short+so_qlimit;+/* max # queued connX */
-+struct sockbuf+{
-++short+sb_cc;+/* actual chars in buffer */
-++short+sb_hiwat;+/* max actual char count */
-++short+sb_mbcnt;+/* chars of mbufs used */
-++short+sb_mbmax;+/* max chars of mbufs to use */
-++short+sb_lowat;+/* low water mark (not used yet) */
-++short+sb_timeo;+/* timeout (not used ) */
-++struct mbuf+*sb_mb;+/* the mbuf chain */
-++struct proc+*sb_sel;+/* process selecting */
-++short+sb_flags;+/* flags, see below */
-+} so_rcv, so_snd;
-+short+so_timeo;+/* connection timeout */
-+u_short+so_error;+/* error affecting connX */
-+short+so_oobmark;+/* oob mark (TCP only) */
-+short+so_pgrp;+/* pgrp for signals */
-}
-.TE
-\fR
-.)b
-.pp
-The socket code maintains a pair of queues for each socket,
-\fIso_rcv\fR and \fIso_snd\fR.
-Each queue is associated with a count of the number of characters
-in the queue, the maximum number of characters allowed to be put
-in the queue, some status information (\fIsb_flags\fR), and
-several unused fields.
-For a send operation, data are copied from the user's address space
-into chains of mbufs.
-This is done by the socket module, which then calls the underlying
-transport protocol module to place the data
-on the send queue.
-This is generally done by
-appending to the chain beginning at \fIsb_mb\fR.
-The socket module copies data from the \fIso_rcv\fR queue
-to the user's address space to effect a receive operation.
-The underlying transport layer is expected to have put incoming
-data into \fIso_rcv\fR by calling procedures in this module.
-.in -5
-.sh 3 "Transport protocol management."
-.pp
-All protocols and address types must be \*(lqregistered\*(rq in a
-common way in order to use the IPC user interface.
-Each protocol must have an entry in a protocol switch table.
-Each entry takes the form:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct protosw {
-.T&
-l l l l.
-+short+pr_type;+/* socket type used for */
-+short+pr_family;+/* protocol family */
-+short+pr_protocol;+/* protocol # from the database */
-+short+pr_flags;+/* status information */
-+++/* protocol-protocol hooks */
-+int+(*pr_input)();+/* input (from below) */
-+int+(*pr_output)();+/* output (from above) */
-+int+(*pr_ctlinput)();+/* control input */
-+int+(*pr_ctloutput)();+/* control output */
-+++/* user-protocol hook */
-+int+(*pr_usrreq)();+/* user request: see list below */
-+++/* utility hooks */
-+int+(*pr_init)();+/* initialization hook */
-+int+(*pr_fasttimo)();+/* fast timeout (200ms) */
-+int+(*pr_slowtimo)();+/* slow timeout (500ms) */
-+int+(*pr_drain)();+/* free some space (not used) */
-}
-.TE
-\fR
-.)b
-.pp
-Associated with each protocol are the types of socket
-abstractions supported by the protocol (\fIpr_type\fR), the
-format of the addresses used by the protocol (\fIpr_family\fR),
-the routines to be called to perform
-a standard set of protocol functions (\fIpr_input\fR,...,\fIpr_drain\fR),
-and some status information (\fIpr_flags\fR).
-The field pr_flags keeps such information as
-SS_ISCONNECTED (this socket has a peer),
-SS_ISCONNECTING (this socket is in the process of establishing
-a connection),
-SS_ISDISCONNECTING (this socket is in the process of being disconnected),
-SS_CANTSENDMORE (this socket is half-closed and cannot send),
-SS_CANTRCVMORE (this socket is half-closed and cannot receive).
-There are some flags that are specific to the TCP concept
-of out-of-band data.
-A flag SS_OOBAVAIL was added for the ARGO implementation, to support
-the TP concept of out-of-band data (expedited data).
-.sh 3 "Network Interface Drivers"
-.pp
-The drivers for the devices attaching a Unix machine to a network
-medium share a common interface to the protocol
-software.
-There is a common data structure for managing queues,
-not surprisingly, a chain of mbufs.
-There is a set of macros that are used to enqueue and
-dequeue mbuf chains at high priority.
-A driver
-delivers an indication to a protocol entity when
-an incoming packet has been placed on a queue by
-issuing a
-software
-interrupt.
-.sh 3 "Support for individual protocols."
-.pp
-Each protocol is written as a separate functional unit.
-Because all protocols share the clock and the mbuf pool, they
-are not entirely insulated from each other.
-The details of TP are described in a section that
-follows.
-.\"*****************************************************
-.\" FIGURE
-.so figs/unix_ipc.nr
-.pp
-.CF
-shows the arrangement of the IPC support.
-.pp
-The AOS
-IPC was designed for DoD Internet protocols, all of
-which run over DoD IP.
-The assumptions that DoD Internet is the domain
-and that DoD IP is the network layer
-appear in the code and data structures in numerous places.
-For example, it is assumed that addresses can be compared
-by a bitwise comparison of 4 octets.
-Another example is that the transport protocols all directly call
-IP routines.
-There are no hooks in the data structures through
-which the transport layer can choose a network level protocol.
-A third example is that the host's local addresses
-are stored in the network interface drivers and the drivers
-have only one address - an Internet address.
-A fourth example is that headers are assumed to
-fit in one small mbuf (112 bytes for data in AOS).
-A fifth example is this:
-It is assumed in many places that buffer space is managed
-in units of characters or octets.
-The user data are copied from user address space into the kernel mbufs
-amorphously
-by the socket code, a protocol-independent part of the kernel.
-This is fine for a stream protocol, but it means that a
-packet protocol, in order to \*(lqpacketize\*(rq the data,
-must perform a memory-to-memory copy
-that might have been avoided had the protocol layer done the original
-copy from user address space.
-Furthermore, protocols that count credit in terms of packets or
-buffers rather than characters do not work efficiently because
-the computation of buffer space is not in the protocol module,
-but rather it is in the socket code module.
-This list of examples is not complete.
-.pp
-To summarize, adding a new transport protocol to the kernel consists of
-adding entries to the tables in the protocol management
-unit,
-modifying the network interface driver(s) to recognize
-new network protocol identifiers,
-adding the
-new system calls to the kernel and to the user library,
-and
-adding code modules for each of the protocols,
-and correcting deficiencies in the socket code,
-where the assumptions made about the nature of
-transport protocols do not apply.
diff --git a/share/doc/iso/wisc/macros.nr b/share/doc/iso/wisc/macros.nr
deleted file mode 100644
index a3624c9..0000000
--- a/share/doc/iso/wisc/macros.nr
+++ /dev/null
@@ -1,50 +0,0 @@
-.\"
-.\" Macro to initialize chapter macros
-.\"
-.de IC
-.nr CN 0 1
-..
-.\"
-.\" Macro to begin new chapter
-.\"
-.de NC
-.he 'ARGO Kernel Programmer\'s Guide''Chapter \\n+(CN'
-.bp
-.sh 0 "_" 1 1 1 1 1 1
-.sz +2
-.(l C
-CHAPTER \\n(CN
-
-\fB\\$1\fR
-.)l
-.sp 1
-.(x
-Chapter \\n(CN \\$1
-.)x
-.sz -2
-..
-.\"
-.\" Figure conventions:
-.\" 1) do .so of figure source - figure reg incremented here
-.\" 2) make references to figure via CF
-.\"
-.\"
-.\" Macro to initialize figure register
-.\"
-.de IF
-.nr FG 0 1
-..
-.\"
-.\" Macro for current figure number
-.\"
-.de CF
-Figure \\n(FG
-..
-.\"
-.\" Define this macro to include section headings in table of contents
-.\"
-.de $0
-.(x
-Section \\$2 \\$1
-.)x
-..
diff --git a/share/doc/iso/wisc/net_design.nr b/share/doc/iso/wisc/net_design.nr
deleted file mode 100644
index d066f8e..0000000
--- a/share/doc/iso/wisc/net_design.nr
+++ /dev/null
@@ -1,1139 +0,0 @@
-.NC "The Design of the ARGO Network Layer"
-.sh 1 "Connectionless Network Layer
-.pp
-The following sections describe the design of the ARGO
-connectionless network layer (CLNL).
-The connectionless network service is provided by several
-network-layer protocols: ES-IS (ISO 9542),
-CLNP (ISO 8348), and (ISO 8208) X.25.
-The protocol CLNP is the primary connectionless network layer
-protocol.
-It is supported by X.25 when X.25 is used as a subnetwork layer.
-X.25 can also be viewed as a link layer protocol in this context.
-The ES-IS protocol supports CLNP by providing the following functions:
-.ip \(bu 5
-automatic mapping of NSAP-addresses to SNPA addresses,
-.ip \(bu 5
-automatic configuration of networks of end systems and intermediate
-systems, and
-.ip \(bu 5
-redirection of network-layer traffic in response to
-configuration changes.
-.pp
-The rest of this chapter describes the design of
-CLNP, the design of ES-IS,
-and the design of the connection-oriented
-network layer, including the connection-oriented subnetwork service (X.25).
-.pp
-CLNP has two subsets defined: the Inactive Network Layer
-protocol subset and the Non-Segmenting protocol subset.
-The Inactive Network Layer subset is a null-function subset
-in which the CLNP is not needed, and the
-protocol consists of sending
-a 1-byte header containing the value zero.
-This "subset" is not supported in ARGO.
-.pp
-The Non-Segmenting protocol subset permits simplification of the DT NPDU
-header when it is known that segmentation of the DT NPDU is not required.
-ARGO supports this subset.
-When this subset is used,
-the segmentation part of the DT NPDU (data packet) header is not present,
-and the \fIdon't segment\fR bit is set in the
-fixed part of the header.
-This subset is chosen by setting the bit
-\fICLNP_NO_SEG\fR in the \fIflags\fR argument to \fIclnp_output()\fR.
-.pp
-Throughout the remainder of this
-document,
-following definitions apply:
-.(b
-\(bu DT NPDU: data transfer NPDU.
-\(bu ER NPDU: error report NPDU.
-\(bu NPDU: either an ER or DT NPDU.
-.)b
-.sh 2 "DT NPDU Output"
-.pp
-A CLNP DT NPDU is transmitted by calling \fIclnp_output()\fR.
-.so figs/clnp_output.nr
-.\" FIGURE
-.CF
-outlines the sequence of steps taken by \fIclnp_output()\fR when
-transmitting an NPDU.
-The solid lines indicate normal flow of control. The
-dashed lines indicate possible error returns (with associated
-error code).
-.pp
-\fIClnp_output()\fR will automatically cache (in the \fIisopcb\fR)
-the header of each packet it sends. This cached copy of the header
-is used on subsequent sends reducing the amount of time spent generating
-the header. Therefore, the first action \fIclnp_output()\fR takes is to
-examine the cached header (if any). If the header is still valid (see below)
-then it is used. Otherwise, a new header is built.
-.sh 3 "When The Cached Header Is Invalid"
-.pp
-Before any resources are allocated, the options to be sent with the packet
-are examined. If any unsupported options are present, the error \fIEINVAL\fR
-is returned.
-Next, the length of the source and destination
-NSAP addresses (taken from the \fIisopcb\fR)
-are checked. The source address length may be zero. This
-indicates that \fIclnp_output()\fR should compute the source address based upon
-the route taken, in which case CLNP calls
-the function \fIclnp_srcroute()\fR.
-Source routing
-will be discussed in detail later in this section.
-If, in the process of checking
-the address lengths, an invalid length is detected, the error
-\fIENAMETOOLONG\fR is returned.
-.pp
-After checking the lengths of the addresses,
-CLNP allocates an \fImbuf\fR in which the DT NPDU header will be constructed.
-If an \fImbuf\fR cannot be found, the error
-\fIENOBUFS\fR is returned. Once the \fImbuf\fR is allocated,
-the fixed part of the DT NPDU header is copied into the \fImbuf\fR.
-.pp
-The next step is to route the DT NPDU. This is accomplished by the
-\fIclnp_route()\fR function.
-It is necessary to route the datagram early in the output process because
-in many cases, the source address will not be known until the route
-has been created.
-When a system is multi-homed it has several source addresses.
-The source address to choose depends on the
-network interface (thus, the route) used.
-.pp
-The address part of the DT NPDU follows the fixed part.
-Since appending the address part is the next task,
-the source address must be determined.
-Therefore the route must be determined.
-.pp
-After appending the address part to the fixed part of the
-NPDU header, CLNP
-appends any options given in the arguments to
-\fIclnp_output()\fR.
-The options are specified in a
-separate \fImbuf\fR stored in the \fIiso_pcb\fR.
-If this \fImbuf\fR
-pointer is not null, a copy of the \fImbuf\fR is made, and this copy is
-chained (appended) to the
-\fImbuf\fR in which the
-NPDU header resides. The options \fImbuf\fR linked in with the DT packet
-must be a copy of the options \fImbuf\fR passed to \fIclnp_output()\fR. If
-this was not done, then
-the options \fImbuf\fR passed would be freed by the interface
-driver after the NPDU had been transmitted.
-Since a copy must be made, it is possible for \fIclnp_output()\fR to
-return \fIENOBUFS\fR at this time.
-A later section of this chapter describes
-the handling of options in greater detail.
-.pp
-User data for the packet are passed to
-\fIclnp_output()\fR as an \fImbuf\fR chain.
-This \fImbuf\fR chain is appended to the DT NPDU header chain.
-At this point, the DT NPDU is ready for transmission.
-If header caching has not been disabled, a cache entry is made in the
-\fIisopcb\fR.
-If the size of the entire packet
-is less than the maximum transmission unit (MTU) of the
-network interface to be used,
-the packet is placed on the queue for that network interface,
-otherwise \fIclnp_fragment()\fR is invoked to
-break up the packet into smaller packets, called
-"derived NPDUs", and transmit the derived NPDUs.
-.sh 3 "When A Cached Header Exists"
-.pp
-In this case, \fIclnp_output()\fR updates the segmentation part of the
-header (if segmenting is permitted), computes the checksum, and transmits
-(or fragments) the packet.
-.pp
-The cached CLNP header is stored in the \fIstruct isopcb\fR. The field
-\fIisop_clnpcache\fR within the \fIisopcb\fR points to an \fImbuf\fR
-which contains a \fIstruct clnp_cache\fR:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-struct clnp_cache {
-.T&
-l l l l.
-+u_short+cni_securep;+/* ptr to security option */
-+struct iso_addr+clc_dst;+/* destination of packet */
-+struct mbuf+*clc_options;+/* ptr to options mbuf */
-+int+clc_flags;+/* flags passed to clnp_output */
-+int+clc_segoff;+/* offset of seg part of header */
-+struct sockaddr+*clc_firsthop;+/* first hop of packet */
-+struct ifnet+*clc_ifp;+/* ptr to interface */
-+struct mbuf+*clc_hdr;+/* cached pkt hdr (finally)! */
-};
-.TE
-\fR
-.)b
-The first three fields \fIclc_dst, clc_options\fR and \fIclc_flags\fR
-are used to check the validity of the cache entry. The cache is considered
-valid if:
-.ip \(bu 5
-The options mbuf has not changed.
-.ip \(bu 5
-The destination of the packet has not changed.
-.ip \(bu 5
-The route still exists and is up.
-.ip \(bu 5
-The flags have not changed.
-.pp
-If all these conditions are met, then the bulk of the \fIclnp_output()\fR
-processing is avoided. The fields \fIclc_segoff, clc_firsthop,\fR
-and \fIclc_ifp\fR are used by \fIclnp_output()\fR to transmit the packet.
-The field \fIclc_ifp\fR contains the actual cached header which is copied
-and then enqueued on the outgoing interface.
-.sh 2 "NPDU Input"
-.pp
-.\" FIGURE
-.so figs/clnp_input.nr
-All CLNP NPDUs are processed by \fIclnp_input()\fR.
-.CF
-outlines
-the flow of control within \fIclnlintr()\fR and \fIclnp_input()\fR.
-The solid lines
-indicate normal flow of control. The dashed lines indicate
-possible error returns.
-.pp
-\fIClnlintr()\fR is invoked by a software interrupt.
-This interrupt is posted by a device driver whenever a
-packet is placed in CLNL's input queue
-\fIclnlintrq()\fR, and the queue is empty.
-It is the responsibility of \fIclnlintr()\fR, when invoked,
-to process all packets present on the input queue.
-Thus, to begin the task of processing a packet, \fIclnlintr()\fR
-removes the next packet from the queue.
-When an error is discovered during processing, the packet is discarded and
-\fIclnlintr()\fR begins afresh.
-.pp
-Once removed, the type of the NPDU is checked. If the NPDU is an
-ES-IS packet, then \fIesis_input()\fR is called. If the NPDU is a CLNP
-packet, then \fIclnp_input()\fR is called. Other packets are silently
-discarded.
-The function \fIclnp_hdr_ck()\fR checks the NPDU for consistency.
-Before checking consistency, \fIclnp_hdr_ck()\fR insures
-that the entire NPDU header is located
-contigiously in a single \fImbuf\fR (\fIm_pullup()\fR\** performs this task).
-.(f
-\** If the NPDU header is larger than \fIMLEN\fR (currently 256), then
-\fIm_pullup()\fR will allocate a cluster \fImbuf\fR.
-.)f
-After "pulling" the header into a single \fImbuf\fR, \fIclnp_hdr_ck()\fR
-checks for the proper CLNP version and protocol identification.
-It also checks that the lifetime field is greater than zero.
-After checking header consistency, the NPDU checksum is computed.\**
-.(f
-\** If the checksum value is zero, the checksum is not computed.
-The value zero is reserved to mean \*(lqdo not use checksum\*(rq.
-.)f
-If the checksum is valid, \fIclnp_data_ck()\fR is called to insure
-that the amount of data in the \fImbuf\fR chain corresponds to the
-amount indicated in the NPDU header.
-.pp
-Once the consistency of the NPDU has been assured, the various parts of the
-packet are extracted.
-Care is taken with each extraction to insure that an attempt is not made
-to address data that does not really exist. (Such an attempt could
-result in a kernel trap).
-.pp
-Next, the options part of the NPDU, if present, is checked for validity.
-If unsupported options are found, the packet is discarded.
-See the section \*(lqNPDU options\*(rq for details of options processing.
-.pp
-Finally, after the preceding checks and extractions have been made, the
-destination address is examined.
-If the address indicates that the packet's destination is not this
-system, the packet is forwarded by calling \fIclnp_forward()\fR.
-See the section \*(lqDT NPDU Forwarding\*(rl for details of packet forwarding.
-If this end system is the
-packet's destination, processing continues.
-.pp
-If the packet is not complete, it is passed to \fIclnp_reass()\fR for
-reassembly.
-See the section \*(lqDT NPDU Reassembly\*(rq
-for details of packet reassembly.
-.pp
-At this point, a complete NPDU is in hand.
-If the NPDU is a DT NPDU, it is given to the transport layer
-by calling the TP input routine.
-Otherwise, it is give to the ER NPDU processing function,
-\fIclnp_er_input()\fR.
-.sh 3 "DT NPDU Forwarding"
-.pp
-Packet forwarding is accomplished by \fIclnp_forward()\fR.
-This is performed regardless of the system's type (end or intermediate).
-The task of
-forwarding a packet is fairly straight-forward. First, the lifetime
-field of the datagram is decremented.
-If this operation changes the value to zero, the packet is discarded.
-.pp
-If the source route option is present, and the address at the top of the list
-matches an address of one of the system's network interfaces, then
-the next-source-route-to-be-used offset is adjusted in the option.
-Next, the packet is routed by \fIclnp_route()\fR
-or \fIclnp_srcroute()\fR.
-If the record route option is present, the address of the outgoing
-network interface is recorded by \fIclnp_dooptions()\fR.
-.pp
-Finally the packet is dispatched.
-If the size of the entire packet is less than the MTU of the output
-network interface, the packet is enqueued for that interface,
-otherwise \fIclnp_fragment()\fR is invoked to
-fragment the packet and enqueue the derived NPDUs.
-.sh 2 "NPDU Options"
-.pp
-The options section of an NPDU consists of a series of triplets:
-\fIoption identification\fR, \fIoption length\fR,
-and \fIoption value\fR.
-These triplets are checked each time the options are examined or changed.
-To avoid repeated parsing of the options, the ARGO CLNP
-maintains an index.
-This index is organized as a \fIclnp_optidx\fR structure.
-This structure is shown below.
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-struct clnp_optidx {
-.T&
-l l l l.
-+u_short+cni_securep;+/* ptr to security option */
-+char+cni_secure_len;+/* length of security option */
-+u_short+cni_srcrt_s;+/* offset of src rt option */
-+u_short+cni_srcrt_len;+/* length of src rt option */
-+u_short+cni_recrtp;+/* ptr to head of recrt option */
-+char+cni_recrt_len;+/* length of recrt option */
-+char+cni_priorp;+/* ptr to priority option */
-+u_short+cni_qos_formatp;+/* ptr to format of qos option */
-+char+cni_qos_len;+/* length of qos option */
-+char+cni_er_reason;+/* reason from ER pdu option */
-};
-.TE
-.)b
-This index allows CLNP quickly to discover the existence
-and value of an option.
-For example, if a security option is present, the \fIcni_securep\fR
-field of the option index is non-zero and the value of
-\fIcni_securep\fR is an offset to the beginning of the
-security option.
-The function \fIclnp_opt_sanity()\fR
-parses the options and computes the index.
-While parsing, it also verifies that the
-options are valid and correctly structured.
-If an error occurs while parsing an option,
-\fIclnp_opt_sanity()\fR returns an error code.
-The following sections describe how options are processed
-during the send, forward and receive operations.
-.sh 3 "Sending Options"
-.pp
-Options to be sent with a datagram are passed to \fIclnp_output()\fR as
-two arguments. An option index is passed along with an \fImbuf\fR
-containing the options.
-The options in the \fImbuf\fR must be formatted
-exactly as specified by CLNP.
-If the security, quality of service, or
-priority options are specified, \fIclnp_output()\fR will not transmit the
-datagram and \fIEINVAL\fR is returned.
-The system call \fIsetsockopt()\fR is used to set the CLNP options
-to be sent on a datagram.
-See \fIclnp(4)\fR for more information about setting CLNP options.
-.pp
-If a source route is specified,
-the normal CLNP routing function \fIclnp_route()\fR is not used, and
-\fIclnp_srcroute()\fR is invoked.
-.pp
-When the DECBIT config option is specified, \fIclnp_output\fR will
-automatically add the globally unique quality of service option to the packet.
-The sequencing preferred and low delay bits in this option are set.
-.sh 3 "Forwarding Options"
-.pp
-During packet forwarding, the padding, security,
-and priority options are ignored. If record route is selected, the
-function \fIclnp_dooptions()\fR logs the current network
-interface address in the record route list.
-.pp
-If a source route is specified,
-the normal CLNP routing function \fIclnp_route()\fR is not used, and
-\fIclnp_srcroute()\fR is invoked.
-.sh 4 "The Congestion Experienced Bit"
-.pp
-If a packet is forwarded containing the globally unique quality of
-service option, and the interface through which the packet will be
-transmitted has a queue length greater than \fIcongest_threshold\fR,
-then the congestion experienced bit is set in the quality of service option.
-.pp
-The threshold value stored in \fIcongest_threshold\fR may be changed
-with the \fIclnlutil\fR utility.
-.sh 3 "Receiving Options"
-.pp
-On receipt, all CLNP options are ignored except the security
-and globally unique quality of service option.
-If the security option is found, the packet is discarded.
-If the globally unique quality of service option is present, and the
-congestion experienced bit is set, then the transport congestion
-control function \fItpclnp_ctlinput(PRC_QUENCH2, addr)\fR is called.
-The following table summarizes the CLNP option processing.
-.(b
-.TS
-allbox, tab(+);
-l l l l.
-Option+Send+Forward+Receive
-=
-Padding+may be set+-+-
-Security+reject+ignore+discard
-Source Route+\fIclnp_srcroute()\fR+\fIclnp_srcroute()\fR+-
-Record Route+-+\fIclnp_dooptions()\fR+-
-QOS+added+congestion bit set+tpclnp_ctlinput()
-Priority+reject+ignore+-
-.TE
-.)b
-.sh 2 "DT NPDU Segmentation"
-.pp
-Segmentation is the process by which initial NPDUs are segmented into
-smaller derived NPDUs when the initial NPDU is too large for transmission
-on a network interface.
-Segmentation is accomplished by \fIclnp_fragment()\fR.
-This function chops the NPDU into pieces and individually places the pieces
-in the appropriate network interface's output queue.
-Each piece is made as large as possible.
-Note: The phrase "fragmentation" is used synonymously with "segmentation"
-throughout this prose and the CLNP fragmentation code. This is due to
-this author's familiarity with the DoD Internet Protocol which uses
-the term "fragment."
-.sh 2 "DT NPDU Reassembly"
-.pp
-Derived NPDUs are put back together by the process called
-reassembly.
-Reassembly is performed only at the destination end system.
-When a derived NPDU arrives, it is passed to \fIclnp_reass()\fR.
-This function scans a linked list of NPDUs awaiting reassembly.
-Each packet in the list is represented by a fragment list
-descriptor, which is stored in an \fImbuf\fR:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct clnp_fragl {
-.T&
-l l l l.
-+struct iso_addr+cfl_src;+/* source */
-+struct iso_addr+cfl_dst;+/* destination */
-+u_short+cfl_id;+/* id of the pkt */
-+u_char+cfl_ttl;+/* time to live */
-+u_short+cfl_last;+/* offset of last
-+++byte of packet */
-+struct mbuf +*cfl_orighdr;+/* ptr to
-+++original header */
-+struct clnp_frag+*cfl_frags;+/* linked list
-+++of fragments */
-+struct clnp_fragl+*cfl_next;+/* next pkt be-
-+++ing reassembled */
-};
-.TE
-\fR
-.)b
-The fields \fIcfl_src\fR, \fIcfl_dst\fR, and \fIcfl_id\fR are used to
-match an incoming derived NPDU with a fragment list.
-\fICfl_orighdr\fR contains a copy of the NPDU header of the first fragment received.
-The linked list of fragments pertaining to the packet is stored in the
-\fIcfl_frags\fR field.
-Each NPDU fragment represented by a \fIclnp_frag\fR structure,
-stored in an \fImbuf\fR:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct clnp_frag {
-.T&
-l l l l.
-+u_int+cfr_first;+/* offset of
-+++first byte of this frag */
-+u_int+cfr_last;+/* offset of last
-+++byte of this frag */
-+u_int+cfr_bytes;+/* bytes to shave */
-+struct mbuf+*cfr_data;+/* ptr to data */
-+struct clnp_frag+*cfr_next;+/* next frag */
-};
-.TE
-\fR
-.)b
-The fields \fIcfr_first\fR and \fIcfr_last\fR indicate the first and
-last octet of the fragment.
-\fICfr_data\fR points to an mbuf chain
-which contains the data for the fragment.
-.pp
-If \fIclnp_reass()\fR finds a \fIclnp_fragl\fR structure matching the
-incoming derived NPDU, \fIclnp_insert_frag()\fR is called to create
-a \fIclnp_frag\fR structure and insert it in the linked list of
-packet fragments.
-If no \fIclnp_fragl\fR structure is found,
-\fIclnp_newpkt()\fR is invoked to create a new fragment list structure.
-.pp
-The last task \fIclnp_reass()\fR performs is to check if the fragment
-that just arrived completes the reassembly of the initial NPDU.
-If it does, the reassembled NPDU is rearranged to
-look like it just arrived intact.
-It accomplishes this by linking the \fImbuf\fRs holding
-the fragments into one \fImbuf\fR chain that represents the initial
-NPDU.
-A pointer to this \fImbuf\fR chain is returned by \fIclnp_reass()\fR.
-.pp
-If the newly arrived fragment does not complete an initial NPDU,
-\fIclnp_reass()\fR returns NULL.
-.sh 3 "Reassembly Lifetime Control"
-.pp
-One function of the CLNP is to prevent
-a proliferation of fragments awaiting reassembly from
-consuming buffers in an end system for indefinite periods of time.
-This function is called reassembly lifetime control.
-It is accomplished by
-periodic traversal of
-the list of \fIclnp_fragl\fR structures, decrementing the
-\fIcfl_ttl\fR field.
-This field is a copy of the NPDU time-to-live
-field. If \fIcfl_ttl\fR reaches zero, all resources associated with the
-fragment are released.
-The procedure
-\fIclnp_slowtimo()\fR, which is called by the system
-clock every 500 milliseconds (every half-second),
-performs the CLNP reassembly lifetime control.
-.sh 2 "ER NPDU"
-.pp
-An ER NPDU is sent to the originator of a packet when a DT NPDU is
-discarded and the error report function is not suppressed. Suppression
-of the error report function is accomplished by setting the "no ER"
-bit in the CLNP header.
-A packet is discarded by \fIclnp_discard()\fR.
-Before it
-returns the \fImbufs\fR used to store the
-the discarded packet to the \fImbuf\fR free list,
-\fIclnp_discard()\fR
-determines if the error report function is suppressed.
-If not,
-an ER NPDU will be sent to the originator of the discarded packet by
-calling \fIclnp_emit_er()\fR.
-.pp
-\fIClnp_emit_er()\fR will create an ER NPDU, address it to the
-originator of the discarded packet, route the NPDU,
-and transmit it, sending the header of the discarded NPDU as data.
-ER NPDUs may not be segmented.
-If the ER NPDU is too large for the outgoing network interface,
-the packet is truncated.
-.sh 2 "Raw CLNP"
-.pp
-In order to test CLNP in isolation from higher layer
-protocols, ARGO provides a \*(lqraw\*(rq interface to CLNP.
-This raw interface is selected with the \fISOCK_RAW\fR parameter to
-the
-\fIsocket()\fR
-system call.
-When a \*(rqraw\*(rq socket is open,
-and CLNP receives an NPDU,
-CLNP must determine whether the incoming NPDU is destined for
-the
-\*(rqraw\*(rq interface or for the interface to the
-OSI transport protocol entity.
-ARGO addresses this problem by using non-standard NPDU types
-for packets sent on \*(rqraw\*(rq sockets.
-The type field in the CLNP NPDU header
-is set to \fICLNP_RAW\fR (hex 1d) rather than \fICLNP_DT\fR
-in NPDUs that originate from
-\*(rqraw\*(rq sockets.
-This non-standard type value is used by \fIclnp_input()\fR
-to decide which upper layer protocol should receive the packet.
-See \fIclnptest(8)\fR for more information about the.
-\*(rqraw\*(rq CLNP interface.
-.sh 2 "CLNP Echo"
-.pp
-In the DoD world, ICMP supports an \fIecho\fR service.
-This allows one to \*(lqping\*(rq a distant gateway and
-to receive an echo response (a packet in return) if the gateway is working.
-There is no counterpart to \*(lqecho\*(rq in ISO 8473 (CLNP).
-ARGO provides this non-standard feature in its connectionless
-network layer.
-.pp
-Like raw CLNP, implementing an echo function requires a non-standard
-NPDU type value to allow
-\fIclnp_input()\fR to differentiate between a DT NPDU to be forwarded
-or passed to a higher layer protocol, and an NPDU that is to be echoed.
-When requesting an echo,
-the CLNP type field is set to \fICLNP_EC\fR (hex 1E) rather
-than CLNP_DT.
-When \fIclnp_input()\fR receives a packet with type
-\fICLNP_EC\fR,
-it swaps the source and destination addresses, sets the
-type field to \fICLNP_ECR\fR (hex 1F) and forwards
-the packet back to the sender.
-See also \fIclnpping(8)\fR.
-.sh 2 "Timers"
-.pp
-The only timer used by CLNP is the
-500 millisecond timer, which is
-user for reassembly lifetime control.
-See the section \*(lqReassembly Lifetime Control.\*(rq
-.sh 1 "End System to Intermediate System Routing Protocol (ES-IS)"
-.\" ROB
-.sh 2 "Overview"
-.pp
-This section describes the implementation of the ES-IS routing protocol.
-This protocol is used primarily to resolve NSAP address to SNPA address
-translations. It is also used to identify end systems
-and intermediate systems on
-the local subnetwork.
-All of this work is accomplished by transmitting
-packets of the type End System Hello (ESH), Intermediate System Hello (ISH)
-and Request Redirect (RD).
-.pp
-For the purpose of this section, the following definitions of end system (ES)
-and intermediate system (IS) apply.
-.ip \(bu 5
-An \fIend system\fR is an open system that
-is an OSI end system in the standard OSI sense
-(that it supports a full OSI protocol suite in addition to the network layer)
-and that
-implements the functions of the
-the ES-IS protocol that are mandatory for end systems,
-such as the Query Configuration function and the Record Redirect
-function,
-but that does not implement
-the functions of the ES-IS protocol that are for intermediate systems.
-.ip \(bu 5
-An \fIintermediate system\fR is an open system that
-is an OSI intermediate system in the standard OSI sense
-(that it performs packet routing in the network layer)
-and that
-implements the functions of the
-the ES-IS protocol that are mandatory for intermediate systems,
-such as the Request Redirect function,
-but not the functions of the ES-IS protocol that are for end systems.
-.pp
-While system may be an ES or an IS or both according to the
-standard OSI definitions, this is not the case in the context of
-the ES-IS protocol.
-.pp
-An ARGO system is by default an end system, by the definitions given above.
-An ARGO system can be made to function as an intermediate system
-instead of an end system with the \fIclnlutil\fR program.
-See \fIclnlutil(8)\fR for more information.
-.sh 2 "Report Configuration Function"
-.pp
-The report configuration function is used by end systems and intermediate
-systems to inform each other of their reachability and current subnetwork
-addresses.
-This function is invoked whenever the configuration timer
-expires.
-This timer fires at a frequency of once every
-\fIesis_config_time\fR seconds.
-By default, this value is 60 (seconds),
-but it may be changed with the \fIclnlutil\fR program.
-.pp
-The report configuration function is contained in the C function
-\fIesis_config()\fR. Called every \fIesis_config_time\fR seconds,
-\fIesis_config()\fR searches the list of active network interfaces
-calling \fIesis_shoutput\fR for each interface that is up, has
-broadcast ability and has an ISO address configured.
-.pp
-The function \fIesis_shoutput()\fR has the responsibility of building and
-transmitting ESH and ISH packets.
-It takes several arguments, including a pointer to a network interface
-and
-a packet type (ESH or ISH).
-If the packet type is ESH, then
-each NSAP address configured on the specified interface is added to
-the ESH NPDU. ISH NPDUs may only contain a single NSAP address\**.
-.(f
-\** Actually, ISH packets contain Network Entity Titles (NETs). ARGO
-does not make a distinction between NETs and NSAPs.
-.)f
-After the packet is built, it is transmitted on the subnetwork. ESH packets
-are sent to the multicast address \fIall intermediate systems\fR, whereas
-ISH packets are sent to the multicast address \fIall end systems\fR.
-.pp
-Each ISH and ESH NPDU contains
-a holding timer setting. This setting (specified
-in seconds) is used by the receiver of the NPDU to set its
-holding timer. When its holding timer expires, the information from
-the NPDU is erased. The holding timer value sent on each ISH and ESH NPDU
-is contained in the variable \fIesis_holding_time\fR. By default, this
-timer setting is 120 seconds. This value may be changed with the
-\fIclnlutil\fR utility program.
-.sh 2 "Record Configuration Function"
-.pp
-The Record Configuration function receives ESH or ISH NPDUs, extracts the
-configuration information, and updates kernel-resident tables.
-The two functions \fIesis_eshinput()\fR and \fIesis_ishinput()\fR
-process incoming ESH and ISH NPDUs, respectively.
-.pp
-The ES-IS entity maintains a table that
-associates a SNPA-addresses with NSAP-addresses.
-This table is called the \fISNPA cache\fR.
-.pp
-Whenever an ESH or ISH NPDU is received,
-an entry is made in the SNPA cache
-via the \fIsnpac_add()\fR function.
-This entry is kept in the cache until the holding timer expires.
-In addition to adding an entry to the SNPA cache, \fIsnpac_add()\fR creates
-a default ISO route toward the sender of the ISH.
-One such route is kept so that the ES-IS entity has at most one
-route to an IS at any time.
-Note that ISHs from different sources will
-cause the route to the source of the earlier ISH to be
-overwritten.
-The default route
-will be removed when the ISH holding timer expires.
-.pp
-If, at the time an ESH or ISH NPDU is received, the SNPA cache
-contains no entry for the NSAP address in the NPDU just received,
-an ESH or ISH (depending on the system type) NPDU is
-transmitted to the sender of the NPDU just received.
-.sh 2 "Resolving NSAP addresses to SNPA addresses: Query Configuration Function"
-.pp
-Whenever a device driver needs to resolve an NSAP address to
-an SNPA address, it calls \fIiso_snparesolve()\fR. This function first looks
-up the NSAP address in the SNPA cache. If a match is found, the
-corresponding SNPA address is returned. If a match is not found and the
-system is an end system, and there is a known intermediate system, then
-the SNPA address of the intermediate system is returned. It is assumed that
-the intermediate system will forward the packet and transmit a redirect back
-(see "Redirection Generation", below).
-If a match is not found and the system is an end system, but there is no
-known intermediate system, then \fIiso_snparesolve()\fR will return
-the multicast address \fIall end systems\fR.
-In all other cases, \fIiso_snparesolve()\fR will return an error.
-This is known as the query configuration function.
-.sh 3 "Configuration Response Function"
-.pp
-In order for the query configuration function to be effective, the network
-entity that receives a CLNP DT sent to the \fIall end system\fR
-multicast address must transmit an ESH back to the sender of the DT.
-This is called the configuration response function and is accomplished by
-calling \fIsh_output()\fR from within \fIclnp_input()\fR.
-.sh 2 "Redirection Generation"
-.pp
-When an intermediate system forwards a packet onto the same interface
-upon which
-the packet arrived, a redirect (RD) NPDU is generated. This NPDU is
-transmitted by calling \fIesis_rdoutput()\fR from within \fIclnp_forward()\fR.
-Note that end systems may forward packets but they do not generate RD PDUs.
-.sh 2 "Redirection Receipt"
-.pp
-RD NPDUs direct an end system to create an SNPA cache entry
-for an NSAP address, or, if such an entry exists, to change
-the SNPA address associated with the NSAP address.
-The receipt of RD NPDUs is handled by \fIesis_rdinput()\fR.
-This function
-parses the RD NPDU and adds an entry to the SNPA cache for the corresponding
-destination NSAP address.
-If the redirect is toward an intermediate system,
-meaning that the RD NPDU contains an SNPA address
-of an intermediate system (gateway),
-a route is created for the destination NSAP with the intermediate system as
-the first hop, or gateway, in the route.
-.sh 2 "Multicast Addresses"
-.pp
-As specified by the December 1987 NBS agreements, the address
-\fIall end systems\fR is {0x09, 0x00, 0x2B, 0x00, 0x00, x04} and the address
-\fIall intermediate systems\fR is {0x09, 0x00, x02B, 0x00, 0x00, 0x05}.
-These multicast addresses are only used on the 802.3 subnetwork (baseband).
-Broadcast addresses are used on the 802.5 subnetwork (token ring). See
-the comment in \fC/sys/netargo/iso_snpac.c\fR for more information on
-multicast addresses.
-.sh 1 "Connection Oriented Network Service and Subnetwork Service"
-.pp
-The following sections describe the design of the Connection Oriented
-Network Service (CONS) and the Connection Oriented Subnetwork Service
-(COSNS).
-The CONS and COSNS are provided by two functionally separate but related
-modules, a connection manager and the ISO 8208 (X.25) protocols.
-The connection manager is also known in OSI terminology as a
-subnetwork dependent convergence function, or SNDCF.
-In ARGO it is used for more than an SNDCF, and it is a sort of
-"glue" that binds a transport service, a network service, a
-subnetwork service, and a device driver together, so
-hereinafter it is called "the glue".
-This code performs the some of the functions of ISO 8878,
-which specifies how ISO 8208 (X.25) can be used to provide the OSI
-connection oriented network service.
-The X.25 protocols are implemented in a coprocessor
-made by Eicon Technology, Inc.
-The device driver \fBecn\fR is the Unix kernel interface to this
-coprocessor.
-The sections that follow describe the glue and the \fBecn\fR device
-driver.
-.sh 2 "The Glue"
-.pp
-The glue provides
-services to several modules in the kernel:
-.ip "Subnetwork service" 5
-is provided to other network layer protocols, such as CLNP (ISO 8473).
-The ARGO CLNP uses this service.
-The Internet IP could be made to use this service with
-minimal effort, because this service interface is made to look
-like a standard Unix BSD link layer service (it has
-a device driver interface).
-.ip "Network service" 5
-is provided to transport layer protocols, such as TP (ISO 8073).
-This service interface looks like a standard Unix BSD
-network service (a procedure call interface).
-.ip "Transport service" 5
-could be provided to the socket module.
-While this is not provided with the ARGO software, the glue
-is designed to permit
-such a service to be provided with little additional programming effort.
-.pp
-Higher layer protocols
-that use a connection-oriented
-network or subnetwork service need to manage virtual
-circuits in a similar fashion.
-Rather than put connection management functions into each higher
-layer protocol (HLP) entity
-that uses the CONS or COSNS,
-in ARGO the connection management is in one module, the glue.
-Other alternatives exist, for example in the OSI world,
-one may place in the TP entity the function of connection management for TP,
-and implement a network connection management subprotocol
-of the transport layer (ISO 8073 DAD1, NCMS).
-In addition, connection management for CLNP may be implemented as part of
-the CLNP entity.
-A subnetwork dependent convergence protocol (ISO 8878/A) may
-be implemented to support connection management for CLNP.
-The approach taken in ARGO is different from those suggested in ISO
-for two reasons.
-First, ARGO aims to minimize the amount of code written to perform a given
-task.
-Second, ARGO has several coexisting paths through the network layer,
-which the ISO approach does not address.
-For example, in both ISO 8878/A and in NCMS it is assumed that if
-an incoming call arrives from NSAP \(*b
-while a call to NSAP \(*b is being placed,
-the two calls are resolved to one virtual circuit.
-This is not feasible in the ARGO scenario, since it may not be known
-until after
-the calls are established and higher level packets are exchanged
-whether the two calls are to be used
-for the same path and for the same higher layer protocols.
-A possible alternative approach is to use an NSAP-address for each path
-through the network layer
-(or protocol suite).
-This was rejected in the ARGO design because it puts the burden
-on the calling application entity or network entity to
-determine the proper NSAP-address to use to determine the protocol
-suite to be used to reach the destination end system.
-For this reason, none of the approaches suggested in ISO is adopted
-here.
-.pp
-The glue provided in the ARGO
-kernel does not provide the full OSI network service.
-It provides that subset of the network service that is used
-by ARGO TP and by ARGO CLNP.
-The OSI connection-oriented network service elements that are
-are provided are described in Chapter Four,
-in the section titled "Connection Oriented Network Service".
-.pp
-Each module using the glue has its own service
-interface to the glue.
-.\" When X.25 is used as a
-.\"transport service, the standard protocol switch table is used, and the procedure
-.\"\fIcons_usrreq()\fR is the protosw entry for a
-.\"service in the iso protosw table that provides the
-.\"SOCK_STREAM abstraction in the AF_ISO address family,
-.\"with protocol ISOPROTO_X25.
-.\"This service is called XTS in the glue code and hereafter
-.\"in this document.
-.\".pp
-When the transport layer uses the glue as a network service,
-the interface is the procedure
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-error = cons_output( isop, m, len, isdgm )
-.T&
-l l l.
- +struct isopcb +*isop;
- +struct mbuf +*m;
- +int+error, len, isdgm;
-.TE
-\fR
-.)b
-.pp
-When the network layer uses the glue as a subnetwork service
-the interface is the device driver-like procedure
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-error = cosns_output( ifp, m, dst )
-.T&
-l l l.
- +struct ifnet +*ifp;
- +struct mbuf +*m;
- +struct sockaddr_iso +*dst;
- +int+error;
-.TE
-\fR
-.)b
-.pp
-When the glue is used as a connection-oriented service
-(i.e., by TP 0, and by TP 4 during the transport
-connection establishment phase, during which
-it is not yet known whether class 0 or class 4 will be used)
-the following procedures are used:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-error = cons_openvc( copcb, dstaddr, so )
-.T&
-l l l.
- +struct cons_pcb +*copcb;
- +struct sockaddr_iso +*dstaddr;
- +struct socket+*so;
-.T&
-l s s s.
- +++
-error = cons_netcmd( cmd, isop, vc, isdgm )
-.T&
-l l l.
- +int+cmd;
- +struct isopcb +*isop;
- +int+channel, isdgm;
-.TE
-\fR
-.)b
-.pp
-The procedure \fIcons_openvc()\fR places a call.
-The procedure \fIcons_netcmd()\fR accepts, rejects, or clears
-a call.
-There is no incoming call indication, because
-the glue uses the passive open model for accepting calls.
-The HLP simply sees a new incoming packet, and is given
-a virtual circuit number (channel) along with the incoming packet.
-If the HLP chooses to reject the call
-it may do so, which will cause the virtual circuit (VC) to be cleared.
-.pp
-The glue may reject (clear) an incoming call for its own reasons.
-The following table lists the reasons that the glue may
-clear a call and the ISO 8208 diagnostic code used on the X.25 clear packet
-in each case.
-For a complete list of the permissible diagnostic codes, see
-Figure 14-B of ISO 8208.
-.in -5
-.(b
-.TS
-center expand box tab(+);
-l l.
-Reason+Diagnosic code
-=
-The VC was opened for use with CLNP +Higher level initiated reset
-or TP 4 and has been idle for the +user resynchronization
-maximum inactivity time. +(0xfa)
-_
-The HLP closed +Higher level initiated disconnection
-this network connection. +- normal (0xf1)
-_
-The HLP rejected +Higher level initiated connection
-this network connection. +rejection - transient condition (0xf4)
-_
-The X.25 call packet contained +Higher level initiated connection
-facilities that are not supported +rejection - incompatible
-by the glue, or did not contain +information in user data (0xf8)
-necessary information, e.g. calling +
-or called DTE address. +
-_
-The X.25 call packet contained +Higher level initiated connection
-call user data that does not +rejection - unrecognizable protocol
-indicate any HLP supported by ARGO +identifier in user data
-HLP supported by ARGO +(0xf9)
-_
-The given destination +OSI Network service problem: NSAP
-NSAP-address is not supported +address unknown (permanent
- +condition) (0xeb)
-_
-The X.25 packet or a facility +Packet not allowed-
-therein was too long +packet too long. (0x27)
-.TE
-.)b
-.in +5
-.pp
-The glue provides several functions common to all
-modules (HLPs) that use the glue.
-Regardless of the HLP,
-the DTE addresses and NSAP addresses are associated in the same
-manner.
-One same network layer protocol identification scheme
-(ISO PDTR 9577) for all HLPs.
-Several different HLPs need to close inactive X.25
-virtual circuits after a timer expires.
-The glue insulates the
-device driver interface to the X.25 coprocessor
-from the HLP.
-.pp
-TP class 0 connections
-.\" and the X.25 "transport service"
-do not share X.25 VCs
-.\" with each other or among transport service-level circuits (sockets),
-so
-.\" these two modules need to keep X.25
-the glue needs to maintain
-a 1-1 correspondence between VCs
-and sockets.
-.\" For use by TP 0 and XTS,
-For use by TP 0,
-one network-level pcb is needed for each socket, and that is a
-\fIcons_pcb\fR, described below.
-.pp
-TP class 4 connections may share VCs,
-and TP 4 makes no correspondence between sockets and VCs.
-CLNP regards VCs similarly to TP 4.
-A given VC may be used simultaneously for many higher level connections,
-but all higher level connections using a given VC must use the same
-path or protocol suite.
-In other words, a TP4 connection running over CONS may not share a
-VC with a TP4 connection running over CLNS/COSNS.
-.pp
-To manage VCs and to maintain the separation of sharable and non-sharable
-VCs, the glue uses the following protocol control block:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct cons_pcb {
-.T&
-l l l.
- +struct isopcb+_co_isopcb;
-+u_short+co_state;
-+u_char+co_flags;
-+u_short+co_ttl;
-+u_short+co_init_ttl;
-+int+co_channel;
-+struct ifnet+*co_ifp;
-+struct protosw+*co_proto;
-+struct dte_addr+co_peer_dte;
-+struct ifqueue+co_pending;
-};
-.T&
-l l s.
-#define co_next+_co_isopcb.isop_next
-#define co_prev+_co_isopcb.isop_prev
-#define co_head+_co_isopcb.isop_head
-#define co_laddr+_co_isopcb.isop_laddr
-#define co_faddr+_co_isopcb.isop_faddr
-#define co_lport+_co_isopcb.isop_laddr.siso_tsuffix
-#define co_fport+_co_isopcb.isop_faddr.siso_tsuffix
-#define co_route+_co_isopcb.isop_route
-#define co_socket+_co_isopcb.isop_socket
-}+
-.TE
-\fR
-.)b
-.pp
-The \fIcons_pcb\fR contains
-an \fIisopcb\fR so that TP 0
-.\" and XTS
-may use the routines that manipulate \fIisopcb\fR structures for allocating
-and
-deallocating PCBs, binding addresses to PCBs,
-and finding routes.
-.pp
-A CONS PCB has states CLOSED, LISTENING, CLOSING,
-CONNECTING, ACKWAIT, and OPEN.
-This represents the state of the VC to the degree necessary to the glue.
-The glue uses the passive open model for opening VCs.
-The coprocessor device driver always accepts
-incoming calls and passes an indication to the glue when
-a call is accepted by the coprocessor.
-If the user of the glue (the HLP) or the glue itself decides
-that the VC is not desired, the VC is cleared.
-.pp
-The \fIcons_pcb\fR contains a bit mask, \fIco_flags\fR, with values:
-.(b
-\fC
-.TS
-tab(+);
-l l l l.
-#define+CONSF_OCRE+0x40+/* created on OUTPUT */
-#define+CONSF_ICRE+0x20+/* created on INPUT */
-#define+CONSF_DGM+0x04+/* for datagram use only */
-.TE
-\fR
-.)b
-.pp
-The flag
-CONSF_DGM means that the VC is being used to provide a
-datagram (connectionless, unreliable, unsequenced)
-service to the higher layer, and that requests for additional VCs
-from the same higher layer entity
-may be served by this VC, effectively
-multiplexing higher layer connections on this VC.
-When this flag is set in a \fIcons_pcb\fR, there is no associated
-\fIco_socket\fR pointer.
-When CONSF_DGM is not set, there is an associated
-\fIco_socket\fR pointer, and the VC is being used for
-TP 0.
-.pp
-The flag
-CONSF_ICRE means that the VC was created by
-and incoming call indication.
-The flag
-CONSF_OCRE means that the VC was created
-on behalf of an outgoing call request.
-.pp
-The \fIstruct dte_addr\fR field, \fIco_peer_dte\fR,
-contains the peer's DTE address.
-The glue locates VCs by searching the list of protocol control
-blocks for a PCB with a DTE matching that desired.
-.pp
-The glue is given an NSAP-address by the HLP entity.
-The glue finds the desired DTE address by searching the
-ES-IS SNPA cache for an SNPA-address (DTE address) associated
-with the NSAP-address given by the HLP entity.
-This means that to use the CONS, an entry for each desired
-peer must appear in the SNPA cache.
-ARGO does not provide the ES-IS protocol for use with ISO 8208, so
-"permanent" or static entries must be placed in this cache by hand,
-using the utility program \fIclnlutil\fR.
-.pp
-When an incoming call is accepted, the peer's DTE address is
-placed in the SNPA cache along with
-an NSAP address generated as follows:
-.np
-If the incoming call contained the peer's NSAP-address
-in an Address Extension Facility (AEF, available with 1984 X.25),
-this NSAP-address is used, otherwise
-.np
-the glue creates a "type-37" address (the format defined by AFI 37
-in ISO 8348/AD 2).
-.pp
-TP 4 can have its outgoing packets sent on more than one VC.
-The glue presently contains no mechanism for fanning outgoing
-packets onto several VCs, however,
-it does not prohibit packets arriving for TP 4 on any VC that
-opened with the protocol identifier for TP.
-.pp
-The glue has the ability to generate AEFs on outgoing calls, but
-this ability is turned off,
-since the public data network on which ARGO runs at Wisconsin
-does not support 1984 X.25, and so it rejects packets containing
-AEFs.
-The use of AEFs can be reinstated by making a kernel with the
-option \fBX25_1984\fR or by adding the line
-.nf
-.in +5
-\fC
-#define X25_1984
-\fR
-.in -5
-.fi
-at the top of the file
-\fC/sys/netargo/if_cons.c\fR
-and rebuilding the kernel.
diff --git a/share/doc/iso/wisc/net_serv.nr b/share/doc/iso/wisc/net_serv.nr
deleted file mode 100644
index 4608f01..0000000
--- a/share/doc/iso/wisc/net_serv.nr
+++ /dev/null
@@ -1,163 +0,0 @@
-.NC "Network Service Interface"
-.sh 1 "Connectionless Network Service"
-.pp
-This section describes the interface to the ISO connectionless network service.
-There are really two interfaces to the CLNS: the internal interface
-and the IPC interface.
-The internal interface is based on
-procedure calls. It is used only within the kernel. The IPC interface
-allows a user process to access the CLNS directly. This is used only
-for testing and debugging purposes.
-.sh 2 "Primitives"
-.pp
-The CLNS is, by definition, connectionless. Therefore, there are no
-primitives associated with connection establishment or connection release.
-There is one primitive associated with data transfer: N-UNITDATA.
-The parameters to a N-UNITDATA request are: source NSAP address,
-destination NSAP address, quality of service, and user data.
-The parameters of a N-UNITDATA indication are identical to those of the
-request.
-In this implementation, the quality of service parameter is not supported.
-.sh 2 "Internal Interface"
-.pp
-Within the kernel, an N-UNITDATA request is effected by the procedure
-\fIclnp_output()\fR:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-clnp_output(m0, isop, datalen, flags)
-.T&
-l l l.
- +struct mbuf+*m0;+/* data */
- +struct isopcb+*isop;+/* ISO protocol control block */
- +int+datalen;+
- +int+flags;+/* flags */
-.TE
-\fR
-.)b
-This procedure will construct a DT NPDU, route it, and transmit it on
-the appropriate subnetwork. \fIM0\fR is an mbuf chain containing the
-user data portion of the N-UNITDATA request. \fIIsopcb\fR is the iso protocol
-control block previously allocated. \fIClnp_output\fR will use the following
-fields: \fIisop_laddr\fR, isop_faddr, isop_route, isop_options,
-isop_optindex, \fI and \fRisop_clnpcache\fR.
-\fIDatalen\fR specifies the number of bytes of user data.
-The \fIflags\fR parameter will be discussed in a subsequent chapter.
-.pp
-A N-UNITDATA indication occurs when a DT NPDU arrives. The indication is
-generated by calling the appropriate upper layer protocol input routine.
-In the case of TP, the procedure \fItpclnp_input()\fR is called:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-tpclnp_input(m, src, dst, len)
-.T&
-l l l.
- +struct mbuf+*m;+/* DT NPDU */
- +struct iso_addr+*src;+/* source of packet */
- +struct iso_addr+*dst;+/* destination of packet */
- +int+len;+/* length of clnp header */
-.TE
-\fR
-.)b
-\fIM\fR contains the entire DT NPDU packet. \fILen\fR indicates the size
-of the CLNP header. In other words, the user data of the DT NPDU begins
-\fIlen\fR bytes into \fIm\fR. \fISrc\fR and \fIdst\fR indicate the
-source and destination NSAP addresses of the packet.
-.sh 3 "CLNP/Subnetwork Interface"
-.pp
-The design of the interface between the subnetwork and the CLNP is
-determined by the design of the Unix network interface drivers. CLNP
-follows the conventional mechanisms for exchanging packets with a network
-interface. See the section on Network Interface Drivers in Chapter Five
-for more information on these conventions.
-.sh 2 "IPC (\*(lqRaw\*(rq) Interface"
-.pp
-The IPC interface to the CLNS allows direct (called \*(lqraw\*(rq)
-access to CLNP.
-This interface is intended for testing and debugging only.
-Its use results in the
-transmission of CLNP datagrams with nonstandard identification fields.
-These raw packets may be rejected by a system not employing the same
-convention. See the section on network implementation for more information
-about the conventions.
-.pp
-In order to gain access to the raw interface
-a \fIsocket\fR, with address family AF_ISO and type SOCK_RAW must be created.
-With this socket in hand,
-the system calls \fIsendto()\fR and \fIrecvfrom()\fR can be used to
-transmit and receive raw CLNP datagrams.
-.sh 3 "Sending raw datagrams"
-.pp
-The format of the \fIsendto()\fR system call is:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-cc = sendto(s, msg, len, flags, to, tolen)
-.T&
-l l l.
-int+cc,s;
-char+*msg;
-int+len,flags;
-struct sockaddr+*to;
-int+to;
-.TE
-\fR
-.)b
-\f\fIS\fR is the socket previously created. \fIMsg\fR is a pointer to
-the data for the NPDU. CLNP will prepend a header to this data before
-transmission. \fILen\fR specifies the number of bytes of data. The
-\fIflags\fR parameter is unused and should be zero. \fITo\fR specifies the
-NSAP address to be used as the destination address. The size (in bytes)
-of \fIto\fR is given in \fItolen\fR. CLNP will automatically insert
-the source address based upon the route taken by the packet. The number of
-user data bytes transmitted is returned as \fIcc\fR. See \fIsendto(2)\fR
-for more information on this system call.
-.sh 3 "Receiving raw datagrams"
-.pp
-The format of the \fIrecvfrom()\fR system call is:
-.(b
-\fC
-.TS
-tab(+);
-l s s.
-cc = recvfrom(s, buf, len, flags, from, fromlen)
-.T&
-l l l.
-int+cc,s;
-char+*buf;
-int+len,flags;
-struct sockaddr+*from;
-int+*fromlen;
-.TE
-\fR
-.)b
-When used with a CLNP raw socket \fIs\fR, \fIrecvfrom()\fR will read a
-NPDU from the CLNS. If no packet is available, the call will block.
-\fIBuf\fR specifies a buffer of \fIlen\fR bytes into which the NPDU will
-be read. The entire packet, including the header, will be read into the
-buffer. The \fIflags\fR parameter is unused, and should be zero. If
-\fIfrom\fR is non-zero, the source address of the NPDU is filled in.
-\fIFromlen\fR is a value-result parameter, initialized to the size of
-the buffer associated with \fIfrom\fR, and modified on return to
-indicate the actual size of the address stored there. The total number
-of bytes received (header and data) is returned as \fIcc\fR.
-See \fIrecvfrom(2)\fR for more information about this system call.
-.sh 1 "Connection Oriented Network Service"
-.pp
-The ARGO Connection Oriented Network Service (CONS) is not a complete
-implementation of the
-OSI network service.
-It is that subset of the OSI network service that is used
-by ARGO Transport and by ARGO CLNP.
-.\" FIGURE
-.so figs/NS_primitives.nr
-.pp
-.CF
-shows which CONS service elements are provided.
diff --git a/share/doc/iso/wisc/parts.nr b/share/doc/iso/wisc/parts.nr
deleted file mode 100644
index 1cd70b1..0000000
--- a/share/doc/iso/wisc/parts.nr
+++ /dev/null
@@ -1,39 +0,0 @@
-.\"$Header: parts.nr,v 1.1 88/12/05 18:10:50 nhall Exp $
-.\"$Source: /usr/argo/doc/kernel/RCS/parts.nr,v $
-.\"
-.\"
-.\" LOOK FOR ALL CASES OF 'writing' (as in, "at this writing")
-.\" to be sure you've updated everything before distributing this!
-.\"
-.\"This file uses -me and tbl macros.
-.so macros.nr
-.pn 1
-.IC
-.IF
-.(l C
-.sz 16
-Wisconsin ARGO Kernel Programmer's Guide for
-Academic Information Systems 4.3
-
-Current source: argo:/usr/argo/doc/kernel
-.sz 8
-.)l
-.so ../icon/ARGO.nr
-.he 'ARGO Kernel Programmer\'s Guide'''
-.fo '%''\*(td'
-.bp
-.\".so intro.nr
-.\".so def.nr
-.\".so trans_serv.nr
-.\".so net_serv.nr
-.\".so ipc.nr
-.\".so addr.nr
-.so trans_design.nr
-.\".so net_design.nr
-.\".so errors.nr
-.\".so debug.nr
-.\".so appendix_a.nr
-.\".so appendix_b.nr
-.\".fo ''Table of Contents''
-.bp
-.xp
diff --git a/share/doc/iso/wisc/preview b/share/doc/iso/wisc/preview
deleted file mode 100755
index 6069d4e..0000000
--- a/share/doc/iso/wisc/preview
+++ /dev/null
@@ -1,7 +0,0 @@
-#! /bin/csh -f
-echo $argv
-set dev=fa
-foreach m ($argv)
- grn -P$dev $m.grn > $m.nr
- ditroff -P$dev $m.nr
-end
diff --git a/share/doc/iso/wisc/program.nr b/share/doc/iso/wisc/program.nr
deleted file mode 100644
index dfb3305..0000000
--- a/share/doc/iso/wisc/program.nr
+++ /dev/null
@@ -1,51 +0,0 @@
-.\"$Header: program.nr,v 1.1 88/12/05 18:10:57 nhall Exp $
-.\"$Source: /usr/argo/doc/kernel/RCS/program.nr,v $
-.\"
-.\"
-.\" FONT CONVENTIONS
-.\"
-.\" \fIprocedure()\fR
-.\" \fIsyscall()\fR
-.\" \fImanpage(3)\fR
-.\" \fIdata_structure_name\fR
-.\" \fC/file/or/directory/name\fR
-.\" \fC
-.\" section of code
-.\" \fR
-.\"
-.\"
-.\" LOOK FOR ALL CASES OF 'writing' (as in, "at this writing")
-.\" to be sure you've updated everything before distributing this!
-.\"
-.\"This file uses -me and tbl macros.
-.so macros.nr
-.pn 1
-.IC
-.IF
-.(l C
-.sz 16
-Wisconsin ARGO 1.0 Kernel Programmer's Guide for
-Academic Operating Systems 4.3
-.sz 8
-.)l
-.so ../icon/ARGO.nr
-.he 'ARGO 1.0 Kernel Programmer\'s Guide'''
-.fo '%''December 9, 1988'
-.bp
-.so intro.nr
-.so def.nr
-.so trans_serv.nr
-.so net_serv.nr
-.so ipc.nr
-.so addr.nr
-.so trans_design.nr
-.so net_design.nr
-.so eicon.nr
-.so errors.nr
-.so debug.nr
-.so appendix_a.nr
-.\" Leave manual pages out!
-.\".so appendix_b.nr
-.fo ''Table of Contents''
-.bp
-.xp
diff --git a/share/doc/iso/wisc/trans_design.nr b/share/doc/iso/wisc/trans_design.nr
deleted file mode 100644
index f0f8095..0000000
--- a/share/doc/iso/wisc/trans_design.nr
+++ /dev/null
@@ -1,1468 +0,0 @@
-.\" $Id$
-.\"
-.NC "The Design of the ARGO Transport Entity"
-.sh 1 "Protocol Hooks"
-.pp
-The design of the AOS kernel IPC support to some
-extent mandates the
-design of protocols.
-Each protocol must provide the following
-protocol hooks, which are procedures called through a
-protocol switch table
-(an array of type \fIprotosw\fR as described in
-Chapter Five.
-.ip "pr_input()" 5
-Called when data are to be passed up from a lower layer.
-.ip "pr_output()" 5
-Called when data are to be passed down from a higher layer.
-.ip "pr_init()" 5
-Called when the system is brought up.
-.ip "pr_fasttimo()" 5
-Called every 200 milliseconds by the clock functional unit.
-.ip "pr_slowtimo()" 5
-Called every 500 milliseconds by the clock functional unit.
-.ip "pr_drain()" 5
-This is meant to be called when buffer space is low.
-Each protocol is expected to provide this routine to free
-non-critical buffer space.
-This is not yet called anywhere.
-.ip "pr_ctlinput()" 5
-Used for exchanging information between
-protocols, such as notifying a transport protocol of changes
-in routing or configuration information.
-.ip "pr_ctloutput()" 5
-Supports the protocol-dependent
-\fIgetsockopt()\fR
-and
-\fIsetsockopt()\fR
-options.
-.ip "pr_usrreq()" 5
-Called by the socket code to pass along a \*(lquser request\*(rq -
-in other words a service primitive.
-This call is also used for other protocol functions.
-The functions served by the \fIpr_usrreq()\fR routine are:
-.ip " PRU_ATTACH" 10
-Creates a protocol control block and attaches it to a given socket.
-Called as a result of a \fIsocket()\fR system call.
-.ip " PRU_DISCONNECT" 10
-Called as a result of a
-\fIclose()\fR system call.
-Initiates disconnection.
-.ip " PRU_DETACH" 10
-Disassociates a protocol control block from a socket and recycles
-the buffer space used for the protocol control block.
-Called after PRU_DISCONNECT.
-.ip " PRU_SHUTDOWN" 10
-Called as a result of a
-\fIshutdown()\fR system call.
-If the protocol supports the notion of half-open connections,
-this closes the connection in one direction or both directions,
-depending on the arguments passed to
-\fIshutdown\fR.
-.ip " PRU_BIND" 10
-Gives an address to a socket.
-Called as a result of a
-\fIbind()\fR system call, also
-when
-socket without a bound address is used.
-In the latter case, an unused transport suffix is located and
-bound to the socket.
-.ip " PRU_LISTEN" 10
-Called as a result of a
-\fIlisten()\fR system call.
-Marks the socket as willing to queue incoming connection
-requests.
-.ip " PRU_CONNECT" 10
-Called as a result of a
-\fIconnect()\fR system call.
-Initiates a connection request.
-.ip " PRU_ACCEPT" 10
-Called as a result of an
-\fIaccept()\fR system call.
-Dequeues a pending connection request, or blocks waiting for
-a connection request to arrive.
-In the latter case, it marks the socket as willing to accept
-connections.
-.ip " PRU_RCVD" 10
-The protocol module is expected to have put incoming data
-into the socket's receive buffer, \fIso_rcv\fR.
-When a receive primitive is used
-(\fIrecv(), recvmsg(), recvfrom(),
-read(), readv(), \fRand
-\fIrecvv()\fR system calls)
-the socket code module copies data from the
-\fIso_rcv\fR to the user's
-address space.
-The protocol module may arrange to be informed each time the socket code
-does this, in which case the socket code calls \fIpr_usrreq\fR(PRU_RCVD)
-after the data were copied to the user.
-.ip " PRU_SEND" 10
-This performs the protocol-dependent part of a send primitive
-(\fIsend(), sendmsg(), sendto(), write(), writev(),
-\fRand \fIsendv()\fR system calls).
-The socket code
-(procedures \fIsendit() and \fIsosend()\fR)
-moves outgoing data from the user's
-address space into a chain of \fImbufs\fR.
-The socket code takes as much data from the user as it
-determines will fit into the outgoing socket buffer, so_snd.
-It passes this much data in the form of an mbuf chain to the protocol
-via \fIpr_usrreq\fR(PRU_SEND).
-If there are more data than
-the so_snd can accommodate,
-the socket code, which is running on behalf of a user process,
-puts the user process to sleep.
-The protocol module is expected to wake up the user process when
-more room appears in so_snd.
-.ip " PRU_ABORT" 10
-Called when a socket is closed and that socket
-is accepting connections and has
-queued pending
-connection requests or
-partially open connections.
-.ip " PRU_CONTROL" 10
-Called as a result of an
-\fIioctl()\fR system call.
-.ip " PRU_SENSE" 10
-Called as a result of an
-\fIfstat()\fR system call.
-.ip " PRU_RCVOOB" 10
-Performs the work of receiving \*(lqout-of-band\*(rq data.
-The socket module has already allocated an mbuf into which
-the protocol module is expected to put the incoming
-\*(lqout-of-band\*(rq data.
-The socket code will then move the data from this mbuf
-to the user's address space.
-.ip " PRU_SENDOOB" 10
-Performs the work of sending \*(lqout-of-band\*(rq data.
-The socket module has already moved the data
-from the user's address space into a chain of mbufs,
-which it now passes to the protocol module.
-.ip " PRU_SOCKADDR" 10
-Supports the system call
-\fIgetsockname()\fR.
-Puts the socket's bound address into an mbuf.
-.ip " PRU_PEERADDR" 10
-Supports the system call
-\fIgetpeername\fR().
-Puts the peer's address into an mbuf.
-.ip " PRU_CONNECT2" 10
-This is used in the Unix domain to support pipes.
-It is not generally supported by transport protocols.
-.ip " PRU_FASTTIMO, PRU_SLOWTIMO" 10
-These are superfluous.
-None of the transport protocols uses them.
-.ip " PRU_PROTORCV, PRU_PROTOSEND" 10
-None of the transport protocols uses these.
-.ip " PRU_SENDEOT" 10
-This was added to support TP.
-This indicates that the end of the data sent in this
-send primitive should
-be marked by the protocol as the end of the TSDU.
-.sh 1 "The Interface Between the Transport Entity and Lower Layers"
-.pp
-The transport layer may run over a network layer such as IP
-or the ISO connectionless network layer,
-or it may run over a multi-purpose layer such as the service
-provided by X.25.
-X.25 is viewed as a network layer when
-TP runs over X.25, and as a
-subnetwork layer
-when IP is running over X.25.
-The software interface between data link and network layers differs
-considerably from the software interface between transport and network
-layers in AOS.
-For this reason some modification of the transport-to-lower-layer
-interface is necessary to support the suite of protocols included in
-ARGO.
-.pp
-In AOS it is assumed that the transport layer will run over one
-and only one network layer, and therefore it may call the
-network layer output procedure directly.
-In order to allow TP to run over a set of lower layers,
-all domain-specific functions have been put into a set of routines
-that are called indirectly through a domain-specific switch table.
-The primary reason for this is that the transport and network
-layers share information, mostly information pertaining to addresses.
-The protocol control blocks for different network layers
-differ, so the transport layer cannot just directly
-access the network layer's pcb.
-Similarly, a network layer may not directly access the transport
-pcb because a multitude of transport protocols can run over each
-of the network protocols.
-.pp
-To permit different network-layer protocol control blocks to coexist
-under one transport layer, all transport-dependent control
-information was put into a transport-specific protocol control block.
-A new field, \fIso_tpcb\fR,
-was added to the \fIsocket\fR structure to hold a pointer to
-the transport-layer protocol control block.
-The existing
-field \fCso_pcb\fR is used for the network layer pcb.
-.pp
-The following structure was added to allow domain-specific
-functions to be called indirectly.
-All these functions operate on a network-layer pcb.
-.pp
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct nl_protosw {
-.T&
-l l l l.
-+int+nlp_afamily;+/* address family */
-+int+(*nlp_putnetaddr)();+/* puts addrs in pcb */
-+int+(*nlp_getnetaddr)();+/* gets addrs from pcb */
-+int+(*nlp_putsufx)();+/* transp suffix -> pcb */
-+int+(*nlp_getsufx)();+/* gets t-suffix */
-+int+(*nlp_recycle_suffix)();+/* zeroes suffix */
-+int+(*nlp_mtu)();+/* get maximum
-+++transmission unit size */
-+int+(*nlp_pcbbind)();+/* bind to pcb */
-+int+(*nlp_pcbconn)();+/* connect */
-+int+(*nlp_pcbdisc)();+/* disconnect */
-+int+(*nlp_pcbdetach)();+/* detach pcb */
-+int+(*nlp_pcballoc)();+/* allocate a pcb */
-+int+(*nlp_output)();+/* emit packet */
-+int+(*nlp_dgoutput)();+/* emit datagram */
-+caddr_t+nlp_pcblist;+/* list of pcbs
-+++for management
-+++of connections */
-};
-.TE
-\fR
-.)b
-.lp
-The switch is based on the address family chosen when the
-\fIsocket()\fR system call is made prior to connection establishment.
-This unfortunately ties the address family to the domain,
-but the only alternative is to add an argument to the \fIsocket()\fR
-system call to let the user specify the desired network layer.
-In the case of a connection oriented environment with no multi-homing,
-it would be possible to determine which network layer is to be
-used
-from routing
-information, but to do this requires unrealistic assumptions
-about the environment.
-For these reasons, linking the address family to the network
-layer protocol is seen as the least of the evils.
-The transport suffixes are kept in the network layer's pcb
-as well as in the transport layer because
-full transport address pairs are used to identify a connection
-in the Internet domain.
-.sh 1 "The Architecture of the Transport Protocol Entity"
-.pp
-A set of protocol hooks is required
-by the AOS IPC architecture.
-These hooks are used by the protocol-independent parts of the kernel
-to gain entry to protocol-specific code.
-The protocol code can be entered in one of the following ways:
-.ip "1) " 5
-at boot time, when autoconfiguration
-initializes each protocol through
-the
-\fIpr_init()\fR
-hook,
-.ip "2) " 5
-from above, either
-a user program making a system call, through
-the \fIpr_usrreq()\fR or \fIpr_ctloutput()\fR hooks, or
-from a higher layer protocol using the
-\fIpr_output()\fR hook,
-.ip "3) " 5
-from below, a device interrupt servicing an incoming packet
-through the \fIpr_input()\fR and \fIpr_ctlinput()\fR hooks, and
-.ip "4) " 5
-from a clock interrupt through the \fIpr_slowtimo()\fR
-or the
-\fIpr_fasttimo()\fR hook.
-.\" FIGURE
-.so figs/trans_flow.nr
-.\".so figs/trans_flow.grn
-.pp
-The protocol code can be divided into
-the following modules, which are described in more detail below.
-.CF
-shows the flow of data and control
-among these modules.
-.in +5
-.ip "Timers and References:" 5
-The code executed on behalf of \fIpr_slowtimo()\fR.
-The fast timeout is not used by TP.
-.ip "Driver:" 5
-This is the finite state machine for TP.
-.ip "Input: " 5
-This is the module that decodes incoming packets,
-identifies or creates the pcb for which
-the packet is destined, and creates an "event" to
-pass to the driver.
-.ip "Output:" 5
-This is the module that creates a packet header of a given type
-with fields containing
-values that are appropriate to the connection
-on which the packet is being sent, appends data if necessary,
-and hands a packet
-to the lower layer, according to the transport-to-lower-layer
-interface.
-.ip "Send: " 5
-This module packetizes data from the outbound
-socket buffer, \fIso_snd\fR,
-handles retransmissions of packetized data, and
-drops packetized data from the retransmission queue.
-.ip "Receive:" 5
-This module reorders packets if necessary,
-depacketizes data, passes it to the socket code module,
-and determines when acknowledgments should be sent.
-.in -5
-.sh 1 "Timers and References"
-.pp
-TP identifies sockets by \fIreference numbers\fR, or
-\fIreferences\fR,
-which are \*(lqfrozen\*(rq (may not be reassigned)
-until some locally defined time after
-a connection is broken and its protocol control block
-is discarded.
-An array of \fIreference blocks\fR is maintained by TP.
-The reference number of a reference block is its
-offset in the array.
-When a reference block is in use it contains
-a pointer to the pcb for the socket to which the
-reference applies.
-.pp
-The system clock calls the \fIpr_slowtimo()\fR and
-\fIpr_fasttimo()\fR hooks for each protocol in the protocol switch table
-every 500 and 200 microseconds, respectively.
-Each protocol handles its own timers its own way.
-The timers in TP take two forms
-- those that typically are cancelled and
-those that usually expire.
-The latter form may have more than one instantiation at any given
-time.
-The former may not.
-The two are implemented slightly
-differently for the sake of performance.
-.pp
-The timers that normally expire
-are kept in a queue, their values all relative
-to the value of preceding timer.
-Thus all timer values are decremented by a single
-operation on the value of the first timer.
-The timer is represented by the Ecallout structure:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct Ecallout {
-.T&
-l l l l.
-+int+c_time;+/* incremental time */
-+int+c_func;+/* function to call */
-+u_int+c_arg1;+/* argument to routine */
-+u_int+c_arg2;+/* argument to routine */
-+int+c_arg3;+/* argument to routine */
-+struct Ecallout+*c_next;
-};
-.TE
-\fR
-.)b
-.lp
-When an Ecallout structure migrates to the head
-of the E timer list, and its \fIc_time\fR
-field is decremented to zero,
-the function stored in \fIc_func\fR is
-called, with \fIc_arg1, c_arg2\fR, and \fIc_arg3\fR
-as arguments.
-Setting and cancelling these timers
-are accomplished by a linear search and one
-insertion or deletion from the timer queue.
-This queue is linked to the
-reference block associated with a communication endpoint.
-This form used for the reference timer
-and for the retransmission timers for data TPDUs.
-.pp
-The second form of timer, the type that
-typically is cancelled, is used for several
-timers - the inactivity timer, the sendack timer,
-and the retransmission
-timer for all types of TPDUs except data TPDUs.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct Ccallout {
-.T&
-l l l l.
-+int+c_time;+/* incremental time */
-+int+c_active;+/* this timer is active? */
-};
-.TE
-\fR
-.)b
-.lp
-All of these timers are stored
-directly
-in the reference block.
-These timers are decremented in one linear scan of
-the reference blocks.
-Cancelling, setting, and both
-cancelling and resetting one of these timers is accomplished by a
-single assignment to an array element.
-.sh 1 "Driver"
-.pp
-This is the finite state machine for TP.
-A connection is managed by the finite state machine (fsm).
-All events that pertain to a connection cause the
-finite state machine driver to be called.
-The driver takes two arguments - the pcb for the connection
-and an event structure.
-The event structure contains a field that discriminates
-the different types of events, and a union of
-structures that are specific to the event types.
-The driver evaluates a set of predicates based on the current
-state of the finite state machine (which is kept in the pcb) and the event type.
-The result of the predicate evaluation determines
-a set of actions to take and a state transition.
-The driver takes the actions and if they complete
-without errors, the driver makes the state transition.
-.pp
-The states, event types, predicates, actions, and state transitions are all
-specified as a \fIxebec transition file\fR.
-\fIXebec\fR is a utility that takes a human-readable description
-of a finite state machine
-and produces a set of tables and C source code for the driver.
-The driver procedure is called \fItp_driver()\fR.
-It is located in a file generated by xebec,
-\fCtp_driver.c\fR.
-For more details about xebec, see the manual page \fIxebec(1)\fR.
-.pp
-The transition file for TP is \fCtp.trans\fR,
-and it is a good place to begin a perusal of the TP
-source code.
-.sh 1 "Input"
-.pp
-This is the module that decodes an incoming packet,
-locates or creates the pcb for which
-the packet is destined, and creates an event to
-pass to the driver.
-The network layer passes a packet up to the appropriate
-transport layer by indirectly calling a transport input
-routine through the protocol switch table for the network
-domain.
-There is one protocol switch entry for TP for each domain in which
-TP will run (Internet, ISO).
-In the Internet domain, the protocol switch field \fIpr_input()\fR
-takes the value \fItpip_input()\fR.
-This procedure accepts a packet from IP, with the IP header
-still intact.
-It extracts the network addresses from the IP header,
-strips the IP header, and calls the domain-independent
-input procedure for TP,
-\fItp_input()\fR.
-\fITp_input()\fR
-decodes a TPDU.
-The multitude of options, the variable-length
-nature of the options, the semantics of the
-options, and the possible combinations of concatenated
-TPDUs make this a
-complex procedure.
-It is sensitive to changes, and from
-the point of view of a software maintenance, it is a
-potential hazard.
-Because it is in the
-critical path of TP however, some compromise
-was made between maintainability and efficiency.
-Multiple copies of sections of code were avoided as much as
-possible,
-not for the sake of saving space, but rather for the sake
-of maintainability.
-Ironically,
-this detracts somewhat from the readability of the code.
-.pp
-Once a TPDU has been decoded and a pcb has been
-identified for the TPDU,
-the appropriate fields of the TPDU
-are extracted and their values are placed in
-an event structure.
-Finally, \fItp_driver()\fR is called with
-the event structure and the pcb as parameters.
-.sh 1 "Output"
-.pp
-This module creates a TPDU header of a given type
-with field values that are appropriate to the connection
-on which the TPDU is being sent, appends data if necessary,
-and hands a TPDU
-to the lower layer according to the transport-to-lower-layer
-interface.
-Whenever a TPDU is to be sent to the peer or prospective peer,
-the function \fItp_emit()\fR
-is called, passing as arguments the pcb a TPDU type and several miscellaneous
-other type-specific arguments, possibly including some data.
-The data are in the form of an mbuf chain.
-\fITp_emit()\fR prepends to the data an mbuf containing a TP header,
-fills in the fields of the header according to the parameters
-given, performs the checksum if appropriate, and
-calls a domain-specific output routine.
-For the Internet domain, this output routine is
-\fItpip_output()\fR, which takes
-as arguments the mbuf chain representing the TPDU,
-and a network level pcb.
-Some protocol errors cannot be associated with
-a connection
-but require that TP issue
-an ER TPDU or a DR TPDU.
-When these errors occur the routine
-\fItp_error_emit()\fR is called.
-This procedure creates the appropriate type of TPDU
-and passes it to a domain-dependent routine for transmitting datagrams.
-In the Internet domain,
-\fItpip_output_dg()\fR is called.
-This takes as arguments an mbuf chain representing the TPDU,
-a source network address, and a destination network address.
-.sh 1 "Send"
-.\" FIGURE
-.so figs/mbufsnd.nr
-.\".so figs/mbufsnd.grn
-.pp
-This module packetizes data from the outbound
-socket buffer, \fIso_snd\fR,
-handles retransmissions of packetized data, and
-drops packetized data from the retransmission queue.
-The major routine in this module is \fItp_send()\fR, which
-takes a range of sequence numbers as arguments.
-For each sequence number in the range,
-it packetizes the an appropriate amount
-of outbound data, and places the resulting TPDU on
-a retransmission control queue subject to the
-constraints imposed by the rules of expedited data,
-maximum packet sizes, and end-of-TSDU markers.
-.pp
-The most complicating factor is that of managing
-expedited data.
-A normal datum may not be sent (for its first time) before the
-acknowledgment of any expedited datum
-that was received from the user after the
-normal datum was received.
-In order to enforce this rule,
-each TPDU must be marked in some way
-so that it will be known which expedited datum
-must be delivered and acknowledged by the peer before this TPDU may be transmitted
-for the first time.
-Markers are placed in \fIso_snd\fR
-when an
-outgoing expedited datum arrives from the user.
-A marker is an mbuf structure with an \fIm_len\fR
-of zero, but with the data area nevertheless containing
-the sequence number of an expedited data TPDU.
-The \fIm_type\fR of a marker is a new type, MT_XPD.
-.pp
-\fITp_send()\fR stops packetizing data when it encounters a marker
-for an unacknowledged expedited datum.
-If it encounters a marker for an expedited TPDU that has already
-been acknowledged, the marker is jettisoned.
-.CF
-illustrates the structure of the sending socket buffer used
-for normal data.
-.pp
-When \fItp_send()\fR moves data from mbufs on \fIso_snd\fR to the retransmission
-control queue, it needs to know
-how many octets of data can be placed in each TPDU.
-The appropriate amount depends on, among other things,
-the maximum transmission unit of the network layer
-on the route the packet will take.
-To determine the maximum transmission unit,
-TP queries the network layer through
-the domain-dependent switch table's field, \fInl_mtu\fR.
-In the Internet domain, this resolves to \fItp_inmtu()\fR.
-The header sizes for the network and transport layers
-also affect the amount of data that can go into a packet,
-and these sizes depend on the connection's characteristics.
-.pp
-Once the maximum amount of data per TPDU is determined,
-\fItp_send()\fR can pull this amount off the \fIso_snd\fR queue to form
-a TPDU,
-assign a TPDU sequence number,
-and place the new TPDU on the
-retransmission control queue.
-The retransmission control queue is a list of mbuf chains.
-Each mbuf chain represents one TPDU, preceded by an
-\fIrtc structure\fR:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct tp_rtc {
-.T&
-l l l l.
-+struct tp_rtc+*tprt_next;+/* next rtc struct in list */
-+SeqNum+tprt_seq;+/* seq # of this TPDU */
-+int+tprt_eot;+/* end of TSDU? */
-+int+tprt_octets;+/* # octets in this TPDU */
-+struct mbuf+*tprt_data;+/* ptr to the octets of data */
-.\"/* Performance measurment info: */
-.\"int tprt_window; /* in which call to tp_send() was
-.\" * this TPDU formed?
-.\" */
-.\"struct timeval tprt_sess_time; /* time session received the
-.\" * majority of the data for this packet on send;
-.\" * on recv, this is the time it's given to session
-.\" */
-.\"struct timeval tprt_net_time; /* time first copy was given to net layer
-.\" * on send; on receive it's the time received from
-.\" * the network
-.\" */
-};
-.TE
-\fR
-.)b
-.lp
-Once TPDUs are on the retransmission control queue,
-they are retransmitted or dropped by the actions
-of timers.
-The procedure \fItp_sbdrop()\fR
-removes the TPDUs from the retransmission queue.
-It takes a sequence number as an argument and drops
-all TPDUs up to and including the TPDU with that sequence number.
-.pp
-When an AK TPDU arrives, the values from
-its credit and sequence number fields
-are passed to \fItp_goodack()\fR, which
-determines whether or not the AK brought any news with it,
-and therefore whether TP can send more data
-or expedited data.
-If this AK acknowledges something heretofore unacknowledged,
-\fItp_goodack()\fR drops the appropriate TPDU(s) from the retransmission
-control list, computes the smoothed average round trip time
-and standard deviation of the round trip time,
-and updates
-the retransmission timer based on these statistics.
-It sets a flag in the pcb if the TP entity is obliged to
-send the flow control confirmation parameter on its next
-AK TPDU.
-\fITp_goodack()\fR returns true if the AK brought some news with it,
-either with respect to a change in credit or with respect to
-new acknowledgments.
-.pp
-The function \fItp_goodXack()\fR is called when an XAK TPDU
-arrives.
-It takes the XAK sequence number as an argument and
-determines if the XAK acknowledges the last XPD TPDU sent.
-If so, it drops the expedited data from the outgoing
-expedited data buffer.
-By its definition in the TP specification,
-the expedited data stream has a window
-of size 1,
-that is,
-only one expedited datum (packet) can be buffered
-at a time.
-\fITp_goodXack()\fR returns true if the XAK acknowledged
-the last XPD TPDU sent and the data were dropped,
-and it returns false if the acknowledgment caused no action to be taken.
-.\" NEXT FIGURE
-.so figs/mbufrcv.nr
-.\".so figs/mbufrcv.grn
-.sh 1 "Receive"
-.pp
-This module reorders incoming TPDUs if necessary,
-depacketizes data, passes it to the socket code module,
-and determines when acknowledgments should be sent.
-The function
-\fItp_stash()\fR
-takes an DT TPDU as an argument, and if the TPDU is not in
-sequence, it saves the TPDU in a \fItp_rtc\fR structure in
-a list, with the TPDUs
-kept in order.
-When the next expected TPDU arrives, the
-list of out-of-order TPDUs is scanned for
-more TPDUs in sequence, updating
-a field in the pcb, \fItp_rcvnxt\fR which
-always contains the sequence
-number of
-the next expected TPDU.
-If an acknowledgment is to be generated
-at any time, the value of tp_rcvnxt goes into the
-\fIYR-TU-NR\fR\** field of the acknowledgment TPDU.
-.(f
-\**
-This is the name used in ISO 8073 for the field
-which indicates the sequence number of the next expected DT TPDU.
-.)f
-.pp
-\fITp_stash()\fR returns true if an acknowledgment needs to be generated
-immediately, false not.
-The acknowledgment strategy is therefore implemented in this routine.
-Acknowledgments may be generated for one or more of several reasons,
-listed below.
-\fITp_stash()\fR increments a counter for each of these reasons
-for which an acknowledgment is generated, and a counter for TPDUs
-that are not acknowledged immediately.
-.ip "ACK_STRAT_EACH" 5
-The acknowledgment strategy in use calls for acknowledging each
-data packet with an AK TPDU.
-.ip "ACK_STRAT_FULLWIN" 5
-The acknowledgment strategy in use calls for acknowledging
-upon receiving the DT TPDU that represents the upper window
-edge of the last advertised window.
-.ip "ACK_DUP" 5
-A duplicate data TPDU was received.
-.ip "ACK_REORDER" 5
-A DT TPDU arrived in the window but out of order.
-.ip "ACK_EOT" 5
-A DT TPDU arrived, and it had the end-of-TSDU flag set.
-.pp
-Upon receipt of a DT TPDU that is in order, and upon reordering
-DT TPDUs,
-\fItp_stash()\fR
-places the TSDUs into the socket's receive
-socket buffer, \fIso->so_rcv\fR in mbuf chains, with
-TSDUs delimited by mbufs of the \fIm_type\fR MT_EOT,
-which is a new type with the ARGO kernel.
-.CF
-illustrates the structure of the receiving socket buffer used
-for normal data.
-.pp
-A separate socket buffer, \fItpcb->tp_Xrcv\fR,
-is used for
-buffering expedited data.
-Only one expedited data packet may reside in this buffer at a time
-because the TP standard limits the size of the window on expedited flow
-to be 1.
-This means the data structures are straightforward;
-there is no need to distinguish between separate TSDUs in this socket buffer.
-.pp
-Credit is determined
-by dividing the total amount of available
-space in the receive buffer
-by the negotiated maximum TPDU size.
-TP can often offer a larger credit than this if it uses
-an average of the measured actual TPDU sizes.
-This strategy was once an option in the ARGO kernel,
-but it was removed because unless the actual TPDU size
-is constant, it leads to reneging of credit,
-retransmissions, and decreased performance.
-It does not work well when there is any fluctuation in the sizes
-of TPDUs and it carries the penalty of lengthening the critical path
-of the TP entity.
-.sh 1 "Major Data Structures and Types"
-.pp
-In addition to the types commonly used in the kernel,
-such as
-.(b
-\fC
-.TS
-tab(+);
-l l l l.
- +typedef+unsigned char+u_char;
- +typedef+unsigned int+u_int;
- +typedef+unsigned short+u_short;
-.TE
-\fR
-.)b
-TP uses the following types:
-.(b
-\fC
-.TS
-tab(+);
-l l l l.
- +typedef+unsigned int+SeqNum
- +typedef+unsigned short+RefNum;
- +typedef+int+ProtoHook;
-.TE
-\fR
-.)b
-.pp
-Sequence numbers can be either 7 or 31 bits.
-An unsigned integer is used in all cases, and the proper type
-of arithmetic is performed with bit masks.
-Reference numbers are 16 bits.
-ProtoHook is the type of the procedures that are in switch
-tables, which,
-although they are not functions,
-are declared \fIint\fR rather than \fIvoid\fR
-to be consistent with the rest of the kernel.
-.pp
-The following structures are fundamental
-types used throughout TP,
-in addition to those already described in the
-section,
-"The Design of the Transport Entity".
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct tp_ref {
-.T&
-l l l l.
-+u_char+tpr_state;+/* REF_FROZEN...*/
-+struct Ccallout+tpr_callout[N_CTIMERS];+/* C timers */
-+struct Ecallout+tpr_calltodo;+/* E timers list */
-+struct tp_pcb+*tpr_pcb;+/* --> PCB */
-};
-.TE
-\fR
-.)b
-.lp
-The reference structure is logically a part of the protocol
-control block and it is linked to a pcb, but it may outlive
-a pcb.
-When a connection is dissolved, the pcb may be recycled
-but the reference structure must remain until the reference
-timer goes off.
-The field \fItpr_state\fR takes the values
-REF_FROZEN (a reference timer is ticking),
-REF_OPEN (in use, has timers and an associated pcb),
-REF_OPENING (has a pcb but no timers), and
-REF_FREE (free to reallocate).
-.pp
-The TP protocol control block is too large to fit into
-one mbuf structure so it comprises two structures
-linked together, the
-\fItp_pcb\fR structure and the.
-\fItp_pcb_aux\fR structure.
-The \fItp_pcb_aux\fR structure contains
-items that are used less frequently than those in
-the former structure, since each access to these
-items requires a second pointer dereference.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct tp_pcb_aux {
-.T&
-l l l s.
- +struct sockbuf+tpa_Xsnd;+/* for expedited data */
-+struct sockbuf+tpa_Xrcv;+/* for expedited data */
-+u_char +tpa_vers;+/* protocol version */
-+u_char +tpa_peer_acktime;+/* to compute DT TPDU
-+++retrans timer value */
-+SeqNum+tpa_Xsndnxt;+/* seq # of
-+++next XPD to send */
-+SeqNum+tpa_Xuna;+/* seq # of
-+++unacked XPD */
-+SeqNum+tpa_Xrcvnxt;+/* next XPD seq #
-+++expect to recv */
-+/* addressing */
-+u_short+tpa_domain;+/* domain AF_ISO,...*/
-+u_short+tpa_fsuffixlen;+/* foreign suffix */
-+u_char+tpa_fsuffix[MAX_TSAP_SEL_LEN];+
-+u_short+tpa_lsuffixlen;+/* local suffix */
-+u_char+tpa_lsuffix[MAX_TSAP_SEL_LEN];+
-.T&
-l s s s.
- +/* AK subsequencing */
-.T&
-l l l s.
- +u_short+tpa_s_subseq;+/* next subseq to send */
-+u_short+tpa_r_subseq;+/* highest recv subseq */
-};
-.TE
-\fR
-.)b
-.pp
-The major portion of the protocol control block is in the
-\fItp_pcb\fR structure:
-.(b
-\fC
-.TS
-tab(%);
-l s s s.
-struct tp_pcb {
-.\" ***************************************
-.T&
-l l l l.
-.\" The next line sets the spacing for the table: 1+3 17+3 17+3 13+3
- % % %
-.\"456789 123456789- 123456789 123456-789 123456789 1234567890
-.\"
- %struct tp_ref%*tp_refp;%
-.T&
-l l l s.
-%%/* reference structure */%
-.\" ***************************************
-.T&
-l l l l.
- %struct tp_pcb_aux%*tp_aux;%
-.T&
-l l l s.
- %%/*rest of tpcb (auxiliary struct)*/%
-.\" ***************************************
-.T&
-l l l l.
- %caddr_t%tp_npcb;%/* to ll pcb */
-%struct nl_protosw%*tp_nlproto;%
-.T&
-l l l s.
- % %/* domain-dependent routines */%
-.\" ***************************************
-.T&
-l l l l.
- %struct socket%*tp_sock;%/* back ptr */
-.\" ***************************************
-.T&
-l s s s.
-
-/* local and foreign reference numbers: */
-.T&
-l l l l.
- %RefNum%tp_lref;%
-%RefNum%tp_fref;%
-.\" ***************************************
-.T&
-l s s s.
-.\"456789 123456789 123456789 123456789 123456789 1234567890
-
-/* Stuff for sequence space arithmetic:
- * Maintaining 2 sequence spaces is a pain so we set these
- * values once at connection establishment time. Sequence
- * number arithmetic is a set of macros which uses these.
- * Sequence numbers are stored as 32 bits.
- * tp_seqmask tells which of the 32 bits is used.
- * tp_seqibt is the lsb that is not used. When set,
- * it indicates wraparound has occurred.
- * tp_seqhalf is the value that is half the sequence space.
- * (or half plus one).
- */
-.T&
-l l l l.
-%u_int%tp_seqmask;%/* mask */
-%u_int%tp_seqbit;%/* wraparound */
-%u_int%tp_seqhalf;%/* half space */
-.\" ***************************************
-.T&
-l s s s.
-
-/* flags: values are defined in tp_user.h.
- * Here we keep such info as which options
- * are in use: checksum, extended format,
- * flow control in class 2, etc.
- * See tp(4p) man page.
- */
-.\" ***************************************
-.T&
-l l l l.
- %u_short%tp_state;%/* fsm */
-%short%tp_retrans;%
-.T&
-l l l s.
- % % /* # times to retransmit */%
-.\" ***************************************
-.T&
-l s s s.
-
-/* credit & sequencing info for SENDING: */
-.T&
-l l l s.
- %u_short%tp_fcredit;%
- % %/* remote real window */%
- %u_short%tp_cong_win;%
- % %/* remote congestion window */%
-.\" ***************************************
-%SeqNum%tp_snduna;%
-.T&
-l l l s.
- % %/* seq # of lowest unacked DT */%
-.\" ***************************************
-.T&
-l l l l.
- %struct tp_rtc %*tp_snduna_rtc;%
-.T&
-l l l s.
- % %/* ptr to mbufs containing lowest%
-%% * unacked TPDUs sent so far%
-%% */%
-.\" ***************************************
-.T&
-l l l l.
- %SeqNum%tp_sndhiwat;%
-.T&
-l l l s.
- % %/* highest DT sent yet */%
-.\" ***************************************
-.T&
-l l l l.
- %struct tp_rtc%*tp_sndhiwat_rtc;%
-.T&
-l l l s.
- % %/* ptr to mbufs containing the last%
-%% * DT sent - this is the last item %
-%% * on the list that starts%
-%% * at tp_snduna_rtc%
-%% */%
-.\" ***************************************
-.T&
-l l l l.
- %int %tp_Nwindow;%/* for perf. measmt */
-.\" ***************************************
-.T&
-l s s s.
-
-/* credit & sequencing info for RECEIVING: */
-.\" ***************************************
-.T&
-l l l s.
- %SeqNum%tp_sent_lcdt;%
- %%/* cdt according to last AK sent */%
- %SeqNum%tp_sent_uwe;%
- % %/* upper window edge, according to%
-%% * the last AK sent %
-%% */*
- %SeqNum%tp_sent_rcvnxt;%
- % %/* rcvnxt, according to%
-%% * the last AK sent%
-%% */*
-.\" ***************************************
-.T&
-l l l l.
- %short%tp_lcredit;%/* local */
-.\" ***************************************
-.T&
-l l l l.
- %SeqNum%tp_rcvnxt;%
-.T&
-l l l s.
- % %/* next DT seq# we expect to recv */%
-.\" ***************************************
-.T&
-l l l l.
- %struct tp_rtc%*tp_rcvnxt_rtc;%
-.T&
-l l l s.
- % %/* ptr to mbufs containing unacked %
-%% * DTs received out of order, and %
-%% * which we haven't acknowledged%
-%% */%
-.\" ***************************************
-.TE
-.TS
-tab(%);
-l s s s.
-/* Items kept in the aux structure: */
-
-.\" ***************************************
-.T&
-l s s l.
-#define tp_vers%tp_aux->tpa_vers
-#define tp_peer_acktime%tp_aux->tpa_peer_acktime
-#define tp_Xsnd%tp_aux->tpa_Xsnd
-#define tp_Xrcv%tp_aux->tpa_Xrcv
-#define tp_Xrcvnxt%tp_aux->tpa_Xrcvnxt
-#define tp_Xsndnxt%tp_aux->tpa_Xsndnxt
-#define tp_Xuna%tp_aux->tpa_Xuna
-#define tp_domain%tp_aux->tpa_domain
-#define tp_fsuffixlen%tp_aux->tpa_fsuffixlen
-#define tp_fsuffix%tp_aux->tpa_fsuffix
-#define tp_lsuffixlen%tp_aux->tpa_lsuffixlen
-#define tp_lsuffix%tp_aux->tpa_lsuffix
-#define tp_s_subseq%tp_aux->tpa_s_subseq
-#define tp_r_subseq%tp_aux->tpa_r_subseq
-.\" ***************************************
-.T&
-l s s s.
- % % %
-/* parameters per-connection controllable by user: */
-.\" ***************************************
-.T&
-l l l l.
- %struct%tp_conn_param%_tp_param;
- % % %
-.\" ***************************************
-.T&
-l s s l.
-#define tp_Nretrans%_tp_param.p_Nretrans
-#define tp_dr_ticks%_tp_param.p_dr_ticks
-#define tp_cc_ticks%_tp_param.p_cc_ticks
-#define tp_dt_ticks%_tp_param.p_dt_ticks
-#define tp_xpd_ticks%_tp_param.p_x_ticks
-#define tp_cr_ticks%_tp_param.p_cr_ticks
-#define tp_keepalive_ticks%_tp_param.p_keepalive_ticks
-#define tp_sendack_ticks%_tp_param.p_sendack_ticks
-#define tp_refer_ticks%_tp_param.p_ref_ticks
-#define tp_inact_ticks%_tp_param.p_inact_ticks
-#define tp_xtd_format%_tp_param.p_xtd_format
-#define tp_xpd_service%_tp_param.p_xpd_service
-#define tp_ack_strat%_tp_param.p_ack_strat
-#define tp_rx_strat%_tp_param.p_rx_strat
-#define tp_use_checksum%_tp_param.p_use_checksum
-#define tp_tpdusize%_tp_param.p_tpdusize
-#define tp_class%_tp_param.p_class
-#define tp_winsize%_tp_param.p_winsize
-#define tp_netservice%_tp_param.p_netservice
-#define tp_no_disc_indications%_tp_param.p_no_disc_indications
-#define tp_dont_change_params%_tp_param.p_dont_change_params
-.\" ***************************************
-.TE
-.\" ***************************************
-.\" ***************************************
-.\" ***************************************
-.TS
-tab(%);
-l l l l.
-.\" The next line sets the spacing for the table: 1+3 17+3 17+3 13+3
-.\"456789 123456789- 123456789 123456-789 123456789 1234567890
-.\"
-.T&
-l l l s.
- %%/* log2(the negotiated max size) */%
-.T&
-l l l l.
- %int%tp_l_tpdusize;%/* # bytes */
-.\" ***************************************
- %struct timeval%tp_rtt;%
-.T&
-l l l s.
- % %/* smoothed avg round-trip time */%
- %struct timeval%tp_rtv;%
- % %/* std deviation of round-trip time */%
-%struct timeval%tp_rttemit[ TP_RTT_NUM + 1 ];%
-%%/* times that the last TP_RTT_NUM %
-%% * DT_TPDUs were transmitted %
-%% */%
-.\" ***************************************
- %unsigned % %
-% tp_sendfcc:1,%/* shall next ack %
-% %include flow control conf. param? */%
-.\" ***************************************
-.T&
-l l l s.
- % tp_trace:1,%/* is this pcb being traced?%
-%% * (not used yet) %
-%% */%
-.\" ***************************************
-% tp_perf_on:1,%/* statistics being kept? */%
-.\" ***************************************
-% tp_reneged:1,%/* have we reneged on credit%
-%% * since the last AK TPDU was sent? %
-%% */%
-% tp_decbit:4,%/* congestion experienced? */%
-% tp_flags:8,%/* see #defines below */%
-.\" ***************************************
-% tp_unused:16;%%
-.T&
-l s s l.
-#define TPF_XPD_PRESENT%TPFLAG_XPD_PRESENT
-#define TPF_NLQOS_PDN%TPFLAG_NLQOS_PDN
-#define TPF_PEER_ON_SAMENET%TPFLAG_PEER_ON_SAMENET
-%%%
-.\" ***************************************
-.T&
-l l l l.
- %struct tp_pmeas%*tp_p_meas;%
-.T&
-l l l s.
- % %/* ptr to mbuf to hold the perf.%
-%% * statistics structure %
-%% */%
-.\" ***************************************
-};
-.TE
-\fR
-.\"
-.\" end of tpcb structure (thank you)
-.\"
-.)b
-.fi
-.sh 1 "Sequence Number Arithmetic"
-.pp
-Sequence numbers in TP can be either 7 bits
-(\*(lqnormal format\*(rq)
-or 31 bits
-(\*(lqextended format\*(rq).
-Sequence numbers are unsigned integers,
-regardless of their format.
-Three fields are kept in the pcb to manage the sequence
-number arithmetic:
-.(b
-\fC
-.TS
-tab(+);
-l l l l.
- +u_int+tp_seqmask;+/* mask for seq space */
- +u_int+tp_seqbit;+/* bit for seq # wraparound */
- +u_int+tp_seqhalf;+/* half the seq space */
-.TE
-\fR
-.)b
-.lp
-\fITp_seqmask\fR
-is a bit mask indicating which bits are legitimate
-for a sequence number of either format.
-It takes the value 0x7f if 7-bit sequence numbers are in use,
-and 0x7fffffff if 31-bit sequence numbers are in use.
-\fITp_seqbit\fR
-is the bit that becomes set when a sequence number wraps around
-while being incremented.
-Its value is 0x80 for normal format, 0x80000000 for extended format.
-\fITp_seqhalf\fR
-takes the value which is in the middle of the sequence space,
-0x40 for normal format,
-and
-0x40000000 for extended format.
-.(b
-.nf
-The macro
-.fi
-\fC
-.TS
-tab(+);
-l l l l.
- SEQ(tpcb, x)
-.TE
-\fR
-.)b
-.lp
-extracts a sequence number from the location
-in which it is stored.
-.pp
-The macros
-.(b
-\fC
-.TS
-tab(+);
-l l s s l.
- +SEQ_GT(tpcb, seq, t)+is seq > t?
- +SEQ_GEQ(tpcb, seq, t)+is seq >= t?
- +SEQ_LT(tpcb, seq, t)+is seq < t?
- +SEQ_LEQ(tpcb, seq, t)+is seq <= t?
- +SEQ_INC(tpcb, seq)+seq\+\+
- +SEQ_DEC(tpcb, seq)+seq--
- +SEQ_SUB(tpcb, seq, amt)+seq -= amt
- +SEQ_ADD(tpcb, seq, amt)+seq \+= amt
-.TE
-\fR
-.)b
-.lp
-perform the indicated comparisons and arithmetic
-on their arguments.
-.pp
-An example of how these macros
-are used is as follows.
-To determine if a sequence
-number \fIseq\fR is in a receive window
-bounded by
-\fIlwe\fR and \fIuwe\fR,
-we define the
-macro
-.(b
-\fC
-.TS
-tab(+);
-l l.
-#define+IN_RWINDOW(tpcb, seq, lwe, uwe)\\
-+( SEQ_GEQ(tpcb, seq, lwe) && SEQ_LT(tpcb, seq, uwe) )
-.TE
-\fR
-.)b
-.sh 1 "TP Implementation Options"
-.pp
-The transport protocol specification leaves several
-things to the discretion of the implementor,
-some of which may affect the performance
-of individual connections and
-aggregate performance.
-Wherever different strategies are likely to favor
-the performance of
-individual connections to the detriment of aggregate performance
-or vice versa, the
-various strategies are under the control of options via the
-\fIgetsockopt()\fR and
-\fIsetsockopt()\fR system calls (see the manual pages
-\fIgetsockopt(2)\fR,
-\fIsetsockopt(2)\fR
-and
-\fItp(4p)\fR
-for details).
-In some cases the preferred strategies differ for the different
-subnetworks, so the strategies chosen will be determined
-by the subnetwork in use.
-.sh 2 "TPDU size"
-.pp
-The limitation of the maximum TPDU size to a power of two is
-unfortunate in the LAN environment.
-For example, if the maximum NSDU size is around 1500, as in the case of an
-Ethernet,
-using a maximum TPDU size of 1024 reduces
-the possible throughput by approximately 30%.
-TP negotiates a maximum TPDU size of 2048 and
-generates TPDUs of size around 1500.
-Obviously this works well only when the peer is known to be
-using the same scheme (so that the peer
-doesn't send TPDUs of size 2048 and cause its
-network layer to fragment the TPDUs).
-This is likely to be the case in a LAN where
-all protocol entities are under the same administrative
-control.
-The maximum TPDU size negotiated is under the control of the user,
-so
-it is possible to prevent this scheme from being used
-by default
-when the peer is not on the same LAN, by
-setting the \fItp.tpdusize\fR parameter in the ARGO directory service
-file to
-something less than the network's maximum transmission
-unit.
-.\"***********************************************************
-.sh 2 "Congestion Window Strategy"
-.pp
-The congestion window strategy from the
-DoD Internet
-was adapted for use with TP.
-The strategy is intended to minimize the
-adverse effect
-of transport's retransmission on an
-already congested network.
-.pp
-A TP entity keeps two notions of the peer's window:
-the real window, which is that advertised by the peer
-in AK TPDUs, and the congestion window, which is a locally
-controlled window.
-TP uses the smaller of the two windows when transmitting.
-The congestion window starts small, which keeps a
-new connection from overloading the network with a sudden
-burst of packets
-immediately after connection establishement.
-This is called \fIslow start\fR.
-For each successful acknowledgment received, the congestion
-window grows by one, until eventually the real window
-is the one in use.
-If a retransmission timer expires, the congestion window
-is reset to size one.
-.pp
-The congestion window strategy is used for class 4 unless
-the transport user requests that it not be used.
-The slow start strategy is used for traffic over a PDN
-unless
-the transport user requests that it not be used.
-Slow start is not used for traffic over a LAN unless
-its use is requested by the transport user.
-.\"***********************************************************
-.sh 2 "Retransmission strategies"
-.pp
-A retransmission timer is invoked for each set of DT TPDUs
-sent in one send operation (call to \fItp_send()\fR).
-This set of packets is called the \fIsend window\fR for the purpose
-of this discusssion.
-.pp
-The number of TPDUs
-in a send window
-depends on the remote credit and the amount of data
-in the local send buffers.
-When a retransmission timer goes off, the lower
-window edge
-is reevaluated but the upper window edge is not reevaluated.
-.pp
-There are several retransmission strategies implemented in
-ARGO TP.
-The choice of strategies is the user's, and is made with the
-\fIsetsockopt()\fR system call.
-The strategies are summarized here:
-.ip "Retransmit LWE TPDU only:" 5
-Only the TPDU representing the new lower window edge
-is retransmitted.
-This is the default retransmission strategy.
-.ip "Retransmit whole send window:" 5
-Retransmission begins with the new lower window edge
-and continues up to the old upper window edge.
-.pp
-The value of the data retransmission timer
-adapts to the average round trip time and the standard deviation of
-the round trip time.
-A round trip time is the time that passes between
-the moment of a packet's first transmission and
-the moment it is first acknowledged.
-The average round trip time
-is kept by the sending side of TP, using
-a formula for
-smoothing the average:
-.(b
-\fC
-.TS
-tab(+);
-l l l l.
-#define+TP_RTT_ALPHA+3
-#define+TP_RTV_ALPHA+2
-+++
-#define+SMOOTH(alpha, old, new) \\
-+(((new-old) >> alpha ) \+ (old) )
-.TE
-\fR
-.)b
-.lp
-The times included in the average are chosen as follows.
-The time of
-each packet's initial transmission is kept (for the last
-\fIN\fR packets, where \fIN\fR is a defined constant).
-When an AK TPDU arrives, ARGO TP subtracts the initial transmission
-time for the lowest unacknowledged sequence number that was
-acknowledged by this AK TPDU from the current time,
-and apply the resulting time to the average.
-Hence, not all packets are included in this average,
-which is as it should be since
-the purpose of this measurement is
-to find a good value for the retransmission timer.
-.pp
-Each time part of a window is retransmitted,
-the retransmission timer for that window is increased.
-This does not affect the retransmission timers for other windows.
-.\"***********************************************************
-.sh 2 "Acknowledgment strategies"
-.pp
-The transport protocol specification
-requires acknowledgments to be sent immediately
-upon receipt
-of CC TPDUs (in class 4), XPD TPDUs, and DT TPDUs containing an
-EOT marker, and at other times as required for flow control,
-otherwise acknowledgments may be delayed.
-In addition to the times when an acknowledgment is required,
-ARGO TP transmits an AK TPDU whenever the user receives some data,
-thereby increasing the size of the window.
-For those times when
-immediate acknowledgment is optional,
-ARGO TP offers two acknowledgment strategies:
-.ip " Acknowledge each TPDU" 10
-Upon receipt of a DT TPDU and AK TPDU is sent.
-.ip " Acknowledge full window" 10
-Acknowledgment is issued
-upon receipt of enough data to
-consume the last advertised credit.
-.pp
-The latter strategy
-requires a timer to trigger an acknowledgment
-in case the peer doesn't send the entire window
-quickly.
-This timer is called the
-\fIsendack timer\fR.
-The upper bound on the value of this timer
-is called the \fIlocal acknowledgment time\fR.
-The local acknowledgment time may be "advertised" to the
-peer during connection establishment, and the
-peer may choose to use this value to
-adjust its retransmission timers.
-The ARGO TP entity advertises its local acknowledgment time
-on a CR TPDU, but it is not
-constrained by
-the remote acknowledge time, should the peer
-advertise it.
-Instead,
-ARGO TP adapts its sendack timer
-to the behavior of the connection.
-.pp
-Under the assumption that the round trip time is
-often
-symmetric,
-and lacking
-a method to measure
-the round trip time in the other direction,
-ARGO TP uses the measured average round trip time
-to adjust the sendack timer.
-.pp
-The choice of strategies is made with the
-\fIsetsockopt()\fR system call.
-The default strategy is
-to
-delay acknowledgments until the most recently advertised window is filled.
diff --git a/share/doc/iso/wisc/trans_serv.nr b/share/doc/iso/wisc/trans_serv.nr
deleted file mode 100644
index 462186e..0000000
--- a/share/doc/iso/wisc/trans_serv.nr
+++ /dev/null
@@ -1,692 +0,0 @@
-.NC "Transport Service Interface"
-.sh 1 "General"
-.pp
-It is assumed that the reader is acquainted with the
-set of system calls and library routines that
-compose the
-Berkeley
-Unix interprocess communication service (IPC).
-To every extent possible
-the ARGO transport service is provided by the same IPC mechanisms
-that support
-the transport-level services
-included in the
-AOS distribution.
-In some instances, the interface
-provided by AOS does not support
-the services required by ISO 8073,
-so system calls were added to support these services.
-It is felt that this is superior to modifying
-existing system calls, in order to avoid the
-recoding of existing Unix utilities.
-.pp
-What follows is a description of the system calls
-that are used to provide the transport service.
-According to Unix custom,
-the return value of a system call is 0
-if the call succeeds and -1 if
-the call fails for any reason.
-In the latter case,
-the global variable
-\fIerrno\fR contains more information
-about the error that caused the failure.
-In the descriptions of all the system calls for which
-this custom is followed,
-the return value is named
-\fIstatus\fR.
-.sh 1 "Connection establishment"
-.pp
-Establishing a TP connection is similar to
-establishing a connection using any other
-transport protocol supported by Unix.
-The same system calls are used, and the passive open
-is required.
-Some of the parameters to the system calls differ.
-.pp
-The following call creates a communication endpoint called a
-\fIsocket\fR.
-It returns
-a positive integer called a
-\fIsocket descriptor\fR,
-which
-will be a parameter in all communication primitives.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-s = socket( af, type, protocol )
-.T&
-l l l.
- +int+s,af,type,protocol;
-.TE
-\fR
-.)b
-.pp
-The \fIaf\fR parameter describes the format of addresses
-used in this communication.
-Existing formats include AF_INET (DoD Internet addresses),
-AF_PUP (Xerox PUP-I Internet addresses), and AF_UNIX
-(addresses are Unix file names, for intra-machine IPC only).
-TP runs in either the Internet domain or the ISO domain (AF_ISO).
-When using the Internet domain, the network layer is the DoD Internet IP
-with Internet-style addresses. The ISO domain uses the ISO
-network service and ISO-style addresses\**.
-.(f
-\**ISO/DP 8348/DAD2 Addendum to the Network
-Service Definition Covering Network Layer Addressing.
-.)f
-Regardless of the address family used, an address takes the
-general form,
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct sockaddr {
-.T&
-l l l l.
- +short+sa_family;+/* address family */
- +char+sa_data[14];+/* space for an address */
-}+
-.TE
-\fR
-.)b
-.sp 1
-When viewed as an Internet address, it takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct sockaddr_in {
-.T&
-l l l l.
- +short+sin_family;+/* address family */
- +u_short+sin_port;+/* internet port */
- +struct in_addr+sin_addr;+/* network addr A.B.C.D */
- +char+sin_zero[8];+/* unused */
-}
-.TE
-\fR
-.)b
-.sp 1
-When viewed as an ISO address, it takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-struct sockaddr_iso {
-.T&
-l l l l.
- +short+siso_family;+/* address family */
- +u_short+siso_tsuffix;+/* transport suffix */
- +struct iso_addr+siso_addr;+/* ISO NSAP addr */
- +char+siso_zero[2];+/* unused */
-}
-.TE
-\fR
-.)b
-The address described by a \fIsockaddr_iso\fR structure
-is a TSAP-address (transport service access point address).
-It is made of an NSAP-address (network service access point address)
-and a TSAP selector (also called a transport suffix or
-transport selector, hereafter called a TSEL).
-The structure \fIsockaddr_iso\fR contains a 2-byte TSEL.
-This is for compatibility with Internet addressing.
-ARGO supports
-TSELs of length 1-64 bytes.
-TSELs of any length other than 2
-are called \*(lqextended TSELs\*(rq.
-They are described in detail in the section \fB\*(lqExtended TSELs\*(rq\fR.
-If extended TSELs are not requested, 2-byte TSELs are used by default.
-.pp
-Refer to Chapter Five for more information about ISO NSAP-addresses.
-.pp
-The \fItype\fR parameter in the \fIsocket()\fR call
-distinguishes
-datagram protocols, stream protocols, sequenced
-packet protocols, reliable datagram protocols, and
-"raw" protocols (in other words, the absence of a transport protocol).
-Unix provides manifest named constants for each of these types.
-TP supports the sequenced packet protocol abstraction, to which
-the manifest constant SOCK_SEQPACKET applies.
-.pp
-The \fIprotocol\fR
-parameter is an integer that identifies the protocol to be used.
-Unix provides a database of protocol names and their associated
-protocol numbers.
-Unix also provides user-level tools
-for searching the database.
-The tools take the form of library routines.
-A protocol number for TP has been chosen
-by the Internet NIC to allow TP to run in the Internet domain, and this
-has been added to the Unix network protocol database.
-The standard Internet database tools that serve TCP users
-can
-also serve user of TP
-in the Internet domain, if the TP protocol number is added to the
-proper Internet database file,
-\fC/etc/protocols\fR.
-This change must be made for TP to run in either the Internet or
-in the ISO domain.
-The ARGO package contains a set of tools and a database
-for use with TP in the ISO domain.
-This set of tools is described in the manual pages
-\fIisodir(5)\fR and
-\fIisodir(3)\fR.
-.pp
-When a socket is created, it is not given an address.
-Since a socket cannot be reached by a remote entity unless it has an address,
-the user must request that a socket be given an address by
-using the \fIbind()\fR system call:
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = bind( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-The address is expected to be in the format specified by the
-\fIaf\fR parameter to the \fIsocket()\fR
-call that yielded the socket descriptor \fIs\fR.
-If the user
-passes an address parameter with a zero-valued transport suffix,
-the transport layer
-assigns an unused 2-byte transport selector.
-This is a 4.3 Unix convention; it is not part of any ISO standard.
-.pp
-The \fIconnect()\fR system call effects an active open.
-It is used to establish a connection with an entity that is
-passively waiting for connection requests, and whose
-transport address is known.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = connect( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-The first parameter is a socket descriptor.
-The \fIaddr\fR parameter is a transport address in the format
-specified by the \fIaf\fR parameter to the \fIsocket()\fR
-call that yielded the socket descriptor \fIs\fR.
-.pp
-A passive open is accomplished with two system calls,
-\fIlisten()\fR followed by \fIaccept()\fR.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = listen( s, queuelen )
-.T&
-l l l.
- +int+s;
- +int+queuelen;
-.TE
-\fR
-.)b
-.pp
-The \fIqueuelen\fR argument specifies the maximum
-number of pending connection
-requests that will be queued for acceptance by this user.
-Connections are then accepted by the
-system call \fIaccept()\fR.
-There is no way to refuse connections.
-The functional equivalent of connection
-refusal is accomplished by accepting a connection and immediately
-disconnecting.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-new_s = accept( s, addr, addrlen )
-.T&
-l l l.
- +int+new_s, s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-The \fIaccept()\fR call completes the connection
-establishment. If a connection request from a prospective peer
-is pending on the socket described by \fIs\fR, it is removed and
-a new socket is created for use with this connection.
-A socket descriptor for the new socket is returned by the
-system call.
-If no connection requests are pending, this call blocks.
-If the \fIaccept()\fR call fails, -1 is returned.
-The transport address of the entity requesting the connection
-is returned in the \fIaddr\fR parameter, and the length
-of the address is returned in the \fIaddrlen\fR parameter.
-The address associated with the new socket is inherited
-from the socket on which the \fIlisten()\fR and \fIaccept()\fR were performed.
-.pp
-It is possible for the \fIaccept()\fR call to be interrupted
-by an asynchronous event such as the arrival of expedited
-data.
-When system calls are interrupted, Unix returns the value -1
-to the caller and puts the constant
-EINTR in the global variable \fIerrno\fR.
-This can create problems with the system call \fIaccept()\fR.
-In the case of incoming expedited data, the interruption does
-not indicate a problem, but the data may have arrived before
-the caller has received the new socket descriptor, which is the
-socket descriptor on which the expedited data are to be received.
-In order to prevent this problem from occurring, the caller must
-prevent the issuance of asynchronous indications until the
-\fIaccept()\fR
-call has returned.
-Asynchronous indications are discussed below, in
-the section titled
-"Indications from the transport layer to the transport user".
-.pp
-It is possible to discover the
-address bound to a
-socket with the
-\fIgetsockname()\fR system call.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = getsockname( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.pp
-If the socket has a peer, that is, it is connected,
-the system call
-\fIgetpeername()\fR
-is used to discover the peer's address.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = getpeername( s, addr, addrlen )
-.T&
-l l l.
- +int+s;
- +struct sockaddr+*addr;
- +int+addrlen;
-.TE
-\fR
-.)b
-.lp
-The names returned by
-\fIgetsockname()\fR and \fIgetpeername()\fR
-do not contain extended TSELs.
-Extended TSELs can be retrieved with
-the \fIgetsockopt()\fR and
-\fIsetsockopt()\fR system calls, described below.
-.pp
-Unix supports several protocol-independent options
-and protocol-specific options
-associated with sockets.
-These options can be inspected and changed by using
-the \fIgetsockopt()\fR and
-\fIsetsockopt()\fR system calls.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = getsockopt( s, level, option, value, valuelen )
-.T&
-l l l.
- +int+s, level, option;
- +char+*value;
- +int+*valuelen;
-.TE
-\fR
-.)b
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = setsockopt( s, level, option, value, valuelen )
-.T&
-l l l.
- +int+s, level, option;
- +char+*value;
- +int+valuelen;
-.TE
-\fR
-.)b
-.pp
-The \fIlevel\fR argument may indicate
-either
-that this option applies to sockets or that it applies to
-a specific protocol.
-The constants SOL_SOCKET, SOL_TRANSPORT, and SOL_NETWORK
-are possible values for the \fIlevel\fR argument.
-The \fIoption\fR argument is an integer that identifies
-the option chosen.
-.\" LIST THE OPTIONS HERE
-The options available to TP users provide the
-user with the ability to control various TP protocol options
-including but not limited to
-TP class, TPDU size negotiated, TPDU format used,
-acknowledgment and retransmission strategies.
-For a detail list of the options, see the manual page \fItp(4p)\fR.
-.sh 1 "Extended TSELs"
-.pp
-ARGO supports TSELs
-of length 1 byte - 64 bytes for sockets bound to addresses in the
-AF_ISO address family.
-The ARGO user program uses the
-\fIgetsockopt()\fR
-and
-\fIsetsockopt()\fR
-system calls to
-discover and assign extended TSELs.
-.pp
-To create a socket with an extended TSEL,
-the process
-.ip \(bu 5
-opens a socket with \fCsocket(AF_ISO, SOCK_SEQPACKET, ISOPROTO_TP)\fR
-.ip \(bu 5
-binds an NSAP-address to the socket with \fIbind()\fR.
-The address bound may contain a 2-byte selector (\fIiso_tsuffix\fR).
-.ip \(bu 5
-uses \fIsetsockopt()\fR with the command TPOPT_MY_TSEL,
-to assign a TSEL to the socket.
-.ip \(bu 5
-calls \fIlisten(), connect()\fR, or any other appopriate system calls
-to use the socket as desired.
-.lp
-To connect to a transport entity that is bound to a TSAP-address with
-an extended TSEL, the
-process
-.ip \(bu 5
-opens a socket with \fCsocket(AF_ISO, SOCK_SEQPACKET, ISOPROTO_TP)\fR
-.ip \(bu 5
-uses \fIsetsockopt()\fR, with the command TPOPT_PEER_TSEL,
-to assign a PEER TSEL to the socket.
-This TSEL is used by the transport entity
-for all subsequent connect requests made on this socket,
-unless the peer TSEL is changed by another call to
-\fIsetsockopt()\fR employing the command TPOPT_PEER_TSEL.
-.lp
-To discover the TSEL of the peer of a connected socket,
-the process
-.ip \(bu 5
-uses \fIgetsockopt()\fR with the command TPOPT_PEER_TSEL.
-.lp
-To discover the TSEL of socket's own address,
-the process
-.ip \(bu 5
-uses \fIgetsockopt()\fR with the command TPOPT_MY_TSEL.
-.sh 1 "Data transfer"
-.pp
-The system calls provided by AOS for data transfer have
-semantics that are unsuitable for TP,
-and in fact they are seriously deficient for the correct
-operation of any user program that uses out-of-band or expedited
-data in any way except to cause the program to abort.
-The problem lies in the manner in which the kernel
-handles interrupted system calls.
-The send and receive primitives
-may be interrupted by signals.
-A signal is the mechanism used to indicate
-the presence of expedited data or out-of-band data.
-If the send or receive primitive is interrupted before completion,
-the user needs to know how many octets of data were sent or received.
-The existing system call interface does not provide this
-information, nor does it permit TP to provide
-this information.
-All forms of the existing interface
-(\fIsend()\fR,
-\fIrecv()\fR,
-\fIsendmsg()\fR,
-\fIrecvmsg()\fR,
-\fIsendto()\fR,
-\fIrecvfrom()\fR,
-\fIwrite()\fR,
-\fIread\fR,
-\fIwritev()\fR,
-and \fIreadv()\fR system calls)
-return an octet count
-when the system call completes, and return an error
-indication (-1, \fIerrno\fR == EINTR) if the system call is interrupted.
-To change the semantics
-of these calls would create havoc with existing user-level software.
-Instead two new system calls are provided to support data transfer.
-(The existing interface may be used if the user does not need the additional
-service provided by the new system calls.)
-.pp
-The two new system calls are patterned after
-\fIreadv()\fR and \fIwritev()\fR,
-the scatter-gather or "vectored"
-versions of \fIread()\fR and \fIwrite()\fR.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-cc = sendv( s, iov, iovlen, flags )
-.T&
-l l l.
- +int+s:
- +io_vector+iov;
- +int+iovlen;
- +unsigned int+*flags;
-.TE
-\fR
-.)b
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-cc = recvv( s, iov, iovlen, flags )
-.T&
-l l l.
- +int+s:
- +io_vector+iov;
- +int+iovlen;
- +unsigned int+*flags;
-.TE
-\fR
-.)b
-.pp
-The \fIiov\fR argument is an \fIio_vector\fR,
-an array of pointers and lengths that
-describe the areas from (or to) which the data will be gathered (or scattered).
-The \fIiovlen\fR argument is an integer that tells how many parts are in
-the io_vector.
-The \fIflags\fR parameter serves several purposes.
-The TP specification requires that TSDUs be unlimited in size.
-System calls cannot pass unlimited amounts of data between the user
-and the kernel, so
-there cannot be a one-to-one correspondence between TSDUs and
-system calls.
-The \fIflags\fR
-parameter is used to mark the end-of-TSDU on both sending and
-receiving.
-This way one TSDU can span several system calls.
-When sending,
-the user sets
-this flag
-to indicate that this request completes a TSDU.
-When receiving,
-TP sets this flag when
-the end of a TSDU is reached.
-In the latter case, the end of the data received by the transport user
-with a given system call
-coincides with the end of the TSDU
-if
-the TP has set the end-of-TSDU bit
-in the \fIflags\fR parameter of the \fIrecv()\fR system call.
-It is possible for the peer to send an empty TPDU with the end-of-TSDU
-flag set, in which case the transport user
-may receive zero octets with the end-of-TSDU flag set.
-See the manual pages
-\fIrecvv(2)\fR
-and
-\fIsendv(2)\fR
-for details.
-.pp
-The \fIflags\fR parameter also serves to distinguish data transfer primitives
-from expedited data transfer primitives.
-The flag bit MSG_OOB is provided for "out of band data" in the
-DoD Internet protocols. It is also used to provide the expedited data service
-of the ISO protocols.
-The transport layer will deliver one expedited datum (there will be a
-one-to-one correspondence between expedited TSDUs and XPD TPDUs)
-at a time.
-The user must receive the datum before the transport
-layer will accept more expedited data.
-Each expedited datum my contain up to 16 octets.
-.pp
-.sh 1 "Disconnection"
-.pp
-The \fIclose\fR system call will disconnect any association
-between two TP entities.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-status = close( s )
-.T&
-l l l.
- +int+s;
-.TE
-\fR
-.)b
-.pp
-The argument \fIs\fR is a socket descriptor.
-If a Unix user process terminates, Unix will close all files and
-sockets associated with the process, which means all transport
-connections associated with the process will be disconnected.
-.sh 1 "Indications from the transport layer to the transport user"
-.pp
-While the above set of system calls allows you to establish
-a connection, transfer data, and disconnect,
-several elements of the transport service are not supported
-by these system calls alone.
-These system calls do not support
-any way to indicate to the
-to the transport user
-the
-presence of expedited data or
-a disconnection initiated by the peer or by one of the
-cooperating TP entities.
-.pp
-The Unix signal mechanism is used to provide these
-service elements.
-When an expedited data TSDU arrives, the TP interrupts
-the user with a SIGURG signal ("urgent condition present on socket").
-The user must have previously registered a procedure to handle
-the signal by using the \fIsigvec()\fR system call or the
-\fIsignal()\fR library routine provided for that purpose.
-The signal handler takes the form
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-int sighandler( signal_number)
-.T&
-l l l.
- +int+signal_number;
-.TE
-\fR
-.)b
-.pp
-The \fIsignal_number\fR argument will be the well-known constant SIGURG.
-There are two reasons for
-the transport layer to issue
-a SIGURG:
-expedited data
-are present or
-disconnection was initiated by a transport entity or by the peer.
-Should the user have more than one transport connection open,
-another system call is used to determine to which socket(s)
-the urgent condition applies.
-This is the \fIselect()\fR system call, described below.
-.pp
-When the SIGURG indicates a disconnection, there may be
-user data from the peer present.
-TP
-discards all queued normal data and expedited data.
-It saves the disconnect data for the user to receive via the
-\fIgetsockopt()\fR system call.
-Unfortunately, the socket is already considered closed
-by the kernel, so there is no way
-for the user to read the incoming disconnect data, so receipt
-of disconnect data is not supported.
-.\"
-.\"If the user does not receive the disconnect data before the
-.\"reference timer expires, the data will be discarded and the
-.\"socket will be closed.
-.pp
-Transport service users may use more than one transport
-connection at a time.
-The \fIselect()\fR system call facilitates this.
-.(b
-\fC
-.TS
-tab(+);
-l s s s.
-#include <sys/types.h>
-+
-nfound = select( num_to_scan, recvmask, sendmask,
-+exceptmask, timeout )
-.T&
-l l l.
- +int+nfound, num_to_scan;
- +fd_set+*recvmask, *sendmask, *exceptmask;
- +time+timeout;
-.TE
-\fR
-.)b
-.pp
-This system call takes as parameters a set of masks
-that specify a subset of the socket descriptors that are in
-use by the user program.
-\fISelect()\fR inspects the sockets to see if they have data
-to be received, can service a send without blocking, or
-have an exceptional condition pending, respectively.
-The masks will be set upon return to indicate the socket descriptors
-for which the respective conditions exist.
-The \fInum_to_scan\fR argument limits the number of sockets that are
-inspected.
-The call will return within the amount of time given in the
-\fItimeout\fR parameter, or, if the parameter is zero, \fIselect()\fR
-will block indefinitely.
-.\" FIGURE
-.so figs/TS_primitives.nr
-.pp
-.CF
-summarizes the mapping of the transport service primitives
-to Unix facilities.
diff --git a/share/doc/iso/wiscman/arp.4p b/share/doc/iso/wiscman/arp.4p
deleted file mode 100644
index f0fe2a0..0000000
--- a/share/doc/iso/wiscman/arp.4p
+++ /dev/null
@@ -1,118 +0,0 @@
-.\" Copyright (c) 1983 Regents of the University of California.
-.\" All rights reserved. The Berkeley software License Agreement
-.\" specifies the terms and conditions for redistribution.
-.\"
-.\" @(#)arp.4p 6.2 (Berkeley) 5/15/86
-.\"
-.TH ARP 4P "May 15, 1986"
-.UC 5
-.SH NAME
-arp \- Address Resolution Protocol
-.SH SYNOPSIS
-.B "pseudo-device ether"
-.SH DESCRIPTION
-ARP is a protocol used to dynamically map between DARPA Internet
-and 10Mb/s Ethernet addresses. It is
-used by all the 10Mb/s Ethernet interface drivers.
-It is not specific to Internet protocols or to 10Mb/s Ethernet,
-but this implementation currently supports only that combination.
-.PP
-ARP caches Internet-Ethernet address mappings. When an interface
-requests a mapping for an address not in the cache, ARP queues the
-message which requires the mapping and broadcasts
-a message on the associated network requesting the address mapping.
-If a response is provided, the new mapping is cached and any pending
-message is transmitted.
-ARP will queue
-at most one packet while waiting for a mapping request to be responded to;
-only the most recently ``transmitted'' packet is kept.
-.PP
-To facilitate communications with systems which do not use ARP,
-.IR ioctl \^s
-are provided to enter and delete entries in the Internet-to-Ethernet tables.
-Usage:
-.LP
-.nf
-.ft B
- #include <sys/ioctl.h>
- #include <sys/socket.h>
- #include <net/if.h>
- struct arpreq arpreq;
-
- ioctl(s, SIOCSARP, (caddr_t)&arpreq);
- ioctl(s, SIOCGARP, (caddr_t)&arpreq);
- ioctl(s, SIOCDARP, (caddr_t)&arpreq);
-.fi
-.ft R
-Each ioctl takes the same structure as an argument.
-SIOCSARP sets an ARP entry, SIOCGARP gets an ARP entry, and SIOCDARP
-deletes an ARP entry. These ioctls may be applied to any socket descriptor
-.I s,
-but only by the super-user.
-The
-.I arpreq
-structure contains:
-.LP
-.RS
-.ta \w'#define\ \ 'u +\w'ATF_USETRAILERS\ \ 'u +\w'0x08\ \ \ \ 'u
-.nf
-/*
- * ARP ioctl request
- */
-struct arpreq {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
-};
-/* arp_flags field values */
-#define ATF_COM 0x02 /* completed entry (arp_ha valid) */
-#define ATF_PERM 0x04 /* permanent entry */
-#define ATF_PUBL 0x08 /* publish (respond for other host) */
-#define ATF_USETRAILERS 0x10 /* send trailer packets to host */
-.fi
-.RE
-.LP
-The address family for the
-.I arp_pa
-sockaddr must be AF_INET; for the
-.I arp_ha
-sockaddr it must be AF_UNSPEC.
-The only flag bits which may be written are ATF_PERM, ATF_PUBL
-and ATF_USETRAILERS.
-ATF_PERM causes the entry to be permanent if the ioctl call succeeds.
-The peculiar nature of the ARP tables may cause the ioctl to fail if more
-than 8 (permanent) Internet host addresses hash to the same slot.
-ATF_PUBL specifies that the ARP code should respond to ARP requests for the
-indicated host coming from other machines. This allows a host to act as an
-``ARP server,'' which may be useful in convincing an ARP-only machine to talk
-to a non-ARP machine.
-.PP
-ARP is also used to negotiate the use of trailer IP encapsulations;
-trailers are an alternate encapsulation used to allow efficient packet
-alignment for large packets despite variable-sized headers.
-Hosts which wish to receive trailer encapsulations so indicate
-by sending gratuitous ARP translation replies along with replies
-to IP requests; they are also sent in reply to IP translation replies.
-The negotiation is thus fully symmetrical, in that either or both hosts
-may request trailers.
-The ATF_USETRAILERS flag is used to record the receipt of such a reply,
-and enables the transmission of trailer packets to that host.
-.PP
-ARP watches passively for hosts impersonating the local host (i.e. a host
-which responds to an ARP mapping request for the local host's address).
-.SH DIAGNOSTICS
-.B "duplicate IP address!! sent from ethernet address: %x:%x:%x:%x:%x:%x."
-ARP has discovered another host on the local network which responds to
-mapping requests for its own Internet address.
-.SH SEE ALSO
-ec(4), de(4), il(4), inet(4F), arp(8C), ifconfig(8C)
-.br
-``An Ethernet Address Resolution Protocol,'' RFC826, Dave Plummer,
-Network Information Center, SRI.
-.br
-``Trailer Encapsulations,'' RFC893, S.J. Leffler and M.J. Karels,
-Network Information Center, SRI.
-.SH BUGS
-ARP packets on the Ethernet use only 42 bytes of data; however, the smallest
-legal Ethernet packet is 60 bytes (not including CRC).
-Some systems may not enforce the minimum packet size, others will.
diff --git a/share/doc/iso/wiscman/clnp.4p b/share/doc/iso/wiscman/clnp.4p
deleted file mode 100644
index 07efd1a..0000000
--- a/share/doc/iso/wiscman/clnp.4p
+++ /dev/null
@@ -1,91 +0,0 @@
-.TH CLNP 4P "9 December 1988"
-.ds ]W Wisconsin ARGO 1.0
-.UC 4
-.SH NAME
-clnp \- Connectionless-Mode Network Protocol
-.SH SYNOPSIS
-.B #include <sys/socket.h>
-.br
-.B #include <netargo/iso.h>
-.br
-.B #include <netargo/clnp.h>
-.PP
-.B s = socket(AF_ISO, SOCK_RAW, 0);
-.SH DESCRIPTION
-CLNP is the connectionless-mode network protocol used by the
-connectionless-mode network service. This protocol is specified in
-ISO 8473.
-It may be accessed
-through a \*(lqraw socket\*(rq for debugging purposes only.
-CLNP sockets are connectionless,
-and are normally used with the
-.I sendto
-and
-.I recvfrom
-calls, though the
-.IR connect (2)
-call may also be used to fix the destination for future
-packets (in which case the
-.IR read (2)
-or
-.IR recv (2)
-and
-.IR write (2)
-or
-.IR send (2)
-system calls may be used).
-.PP
-Outgoing packets automatically have a CLNP header prepended to
-them. Incoming packets received by the user contain the full CLNP header.
-The following \fIsetsockopt\fR options apply to CLNP:
-.TP
-CLNPOPT_FLAGS
-Sets the flags which are passed to clnp when sending a datagram.
-Valid flags are:
-.nf
-.br
-CLNP_NO_SEG-Do not allow segmentation
-CLNP_NO_ER-Suppress ER pdus
-CLNP_NO_CKSUM-Do not generate the CLNP checksum
-.br
-.fi
-.TP
-CLNPOPT_OPTS
-Sets CLNP options. The options must be formatted exactly as specified by
-ISO 8473, section 7.5 "Options Part." Once an option has been set, it will
-be sent on all packets until a different option is set.
-.SH DIAGNOSTICS
-A socket operation may fail with one of the following errors returned:
-.TP 15
-[EISCONN]
-when trying to establish a connection on a socket which
-already has one, or when trying to send a datagram with the destination
-address specified and the socket is already connected;
-.TP 15
-[ENOTCONN]
-when trying to send a datagram, but
-no destination address is specified, and the socket hasn't been
-connected;
-.TP 15
-[ENOBUFS]
-when the system runs out of memory for
-an internal data structure;
-.TP 15
-[EADDRNOTAVAIL]
-when an attempt is made to create a
-socket with a network address for which no network interface
-exists;
-.TP 15
-[EHOSTUNREACH]
-when trying to send a datagram, but no route to the destination
-address exists.
-.TP 15
-[EINVAL]
-when specifying unsupported options.
-.SH SEE ALSO
-send(2), recv(2), intro(4N), iso(4F)
-.SH BUGS
-Packets are sent with the type code of 0x1d (technically an invalid
-packet type) for lack of a better way to identify raw CLNP packets.
-.PP
-No more than MLEN bytes of options can be specified.
diff --git a/share/doc/iso/wiscman/cons.4 b/share/doc/iso/wiscman/cons.4
deleted file mode 100644
index 73bd3fc..0000000
--- a/share/doc/iso/wiscman/cons.4
+++ /dev/null
@@ -1,241 +0,0 @@
-.\"
-.\" 5799-WZQ (C) COPYRIGHT IBM CORPORATION 1986,1987,1988
-.\" LICENSED MATERIALS - PROPERTY OF IBM
-.\" REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083
-.\"
-.\"$Header:cons.4_ca 11.3$
-.\"$ACIS:cons.4_ca 11.3$
-.\"$Source: /ibm/acis/usr/man/man4/RCS/cons.4_ca,v $
-.\" This file uses -man macros.
-.TH CONS 4 "Sept 1988" "Space overwritten by .AC macro" " "
-.AC 1 0
-.SH NAME
-cons \- keyboard and console display interface
-.SH DESCRIPTION
-The keyboard and various possible displays combine to
-provide a terminal-like
-interface to the system. Internally, these are separate devices which
-software combines to emulate a normal terminal. See the appropriate manual
-pages for information about each display and the keyboard.
-.PP
-The keyboard adapter also supports the speaker, which is activated
-when the ASCII character \fBbel\fP (\fB^G\fP)
-is sent to the display with software.
-For additional information on speaker control, see \fIspeaker\fP(4).
-.PP
-.B Console Device Control
-.PP
-The display devices,
-\fI/dev/ttyaed\fR, \fI/dev/ttyap16\fR, \fI/dev/ttyap8c\fR,
-\fI/dev/ttyapa8\fR, \fI/dev/ttyega\fR, \fI/dev/ttymono\fR,
-\fI/dev/ttympel\fR, \fI/dev/ttyvga\fR, and \fI/dev/tty8514\fR are all
-minor devices under
-\fI/dev/console\fR, and are all capable of displaying console output.
-Unique to this system is the fact that you may have one or more of these
-displays on your workstation at a time and any one can act as a console.
-With only one keyboard and system mouse, the console driver
-multiplexes these input devices to the many displays.
-All of the displays may have simultaneous logins and the user
-can ``hot key'' between each display.
-At first, this
-``input focus''
-is on
-the first device in the above sequence to
-be found at initialization time. The input focus
-can be manually switched to the next available display by pressing the
-default ``hot key'' <Alt><Scroll Lock>.
-When the
-input focus
-is on a display, all keyboard and mouse data are sent to the process(es)
-that read from that display.
-.PP
-If no other console tty device is open, and only the default input
-emulator is used (see \fIkbdemul\fP(4)), the input focus is set to
-\fI/dev/console\fP. In this case, <Alt><Scroll Lock> only switches
-which display gets console output.
-In the case where one or more tty devices are open, or the default input
-emulator changes, \fI/dev/console\fP gets no input. It tries to send output
-to the currently focused device. A user can redirect these console messages
-to any tty devices with the TIOCCONS ioctl.
-.PP
-To support the many displays and the multiplexing between them, an
-emulator package was developed to work with the console driver.
-This package allows different types of emulation on input and output to
-be written independently of device.
-.PP
-The display devices \fI/dev/aed\fP, \fI/dev/apa16\fP, \fI/dev/apa8c\fP,
-\fI/dev/apa8\fP, \fI/dev/ega\fR, \fI/dev/mono\fP,
-\fI/dev/mpel\fR, \fI/dev/vga\fR, and \fI/dev/ibm8514\fR
-are also minor devices to
-\fI/dev/console\fP. They are typically used by window managers and other
-graphic applications. When the focus is pointed to one of these display
-devices, the console messages are put in a circular buffer
-(see \fIbufemul\fP(4))
-unless redirected with the TIOCCONS ioctl.
-The buffer is flushed to the screen upon closing the display device.
-.PP
-The following are generic console \fIioctls\fP defined in \fIscreen_cousf.u\fP:
-.TP 20
-CON_SELECT_SCREEN
-Output focus is set to display number (arg > 0) or
-to next display in list (arg < 0). Previous display number is returned.
-.TP 20
-CON_GET_SCREEN
-Just returns the current output focus display number.
-.TP 20
-EIGETD
-Gets the number of the current input emulator for this display.
-.TP 20
-EOGETD
-Gets the number of the current output emulator for this display.
-.TP 20
-EISETD
-Sets the input emulator and returns the previous for this display.
-.TP 20
-EOSETD
-Sets the output emulator and returns the previous for this display.
-.TP 20
-CON_INIT_SCREEN
-Initializes the specified display (arg >=0) or this display
-(arg < 0).
-.TP 20
-CON_GET_FOCUS_CODE
-Gets the current keyboard code for setting the console
-focus (affects xemul only).
-.TP 20
-CON_SET_FOCUS_CODE
-Sets the current keyboard code for setting the console
-focus (affects xemul only), and return the previous code.
-.PP
-All of the above commands take integer arguments.
-.PP
-The following are generic console \fIioctls\fP defined in \fIconsio.h\fP:
-.TP 20
-SCRIOCGETF
-Gets the screen control flags for the given display number.
-.TP 20
-SCRIOCSETC
-Sets the screen control flags for the given display number.
-.PP
-.in +10
-SCRIOCGETF and SCRIOCSETC use the following structure:
-.DT
-.nf
-struct screen_control {
- int device; /* which screen/display to control */
- int switches; /* Flags for this screen */
-};
-.fi
-.sp 2
-.RS 6
-.TP 20
-CONSDEV_PRESENT
-Display is present on this system.
-This bit cannot be changed by SCRIOSETC.
-.TP 20
-CONSDEV_KERNEL
-Display is available to the kernel.
-.TP 20
-CONSDEV_USER
-Display is available to the user.
-.TP 20
-CONSDEV_INIT
-Display has been initialized for output.
-.TP 20
-CONSDEV_TTY
-Diplay has been initialuzed for output.
-This bit cannot be changed by SCRIOSETC.
-.TP 20
-CONSDEV_GRA
-Graphics display has been opened directly by minor device number.
-This bit cannot be changed by SCRIOSETC.
-.TP 20
-CONSDEV_NOINPUT
-Prevents the "round-robin" console focus-switching from finding this
-display. This flag is cleared when \fIbuf_emul\fP is closed.
-.TP 20
-SCRSETNIP
-Sets the no-input bit in the screen control flags for the
-display's current file description.
-.TP 20
-SCRCLRNIP
-Clears the no-input bit in the screen control flags for the
-display's current file description.
-.RE
-.PP
-The following \fIioctl\fP is defined in \fIbufemul.h\fP:
-.TP 20
-BUFDISPINFO
-\fIArg\fP returns the following information about the display:
-.PP
-.RS 6
-.TP 20
-BUF_IS_ATR(arg)
-True when the CPU is an IBM 6152 Academic System.
-.TP 20
-BUF_IS_RTPC(arg)
-True when the CPU is an IBM RT PC.
-.TP 20
-BUF_GET_PCCODE(x)
-Get PC-Code version/type byte (IBM 6152 only).
-.bp
-.TP 20
-BUF_GET_VGA(arg)
-Get the type of display connected to the VGA.
-0=none, 1=color, 2=gray. Valid only for the IBM 6152 Academic System.
-.TP 20
-BUF_GET_8514(arg)
-Get the type of display connected to the IBM 8514/A.
-0=none, 1=color, 2=gray. Valid only for the IBM 6152 Academic System.
-.TP 20
-BUF_GET_EGA(arg)
-Returns the value of the switches on the EGA display. Valid only for the IBM RT PC with an EGA card installed.
-.RE
-.PP
-All of the above \fIioctl\fP system calls are device-independent controls
-for dealing with the emulators.
-.PP
-Each emulator has its own set of \fIioctls\fP for its own emulation purposes.
-These other \fIiotls\fP are used in window-manager emulators for operations
-such as passing/positioning the mouse locator for/on the display.
-See the man page for any particular emulator for more information.
-.PP
-.SH NOTE
-On the IBM RT PC, the kernel flashes ``98'' on the LEDs if it cannot find any
-configured display during initialization, and then proceeds.
-.SH DIAGNOSTICS
-None.
-.SH FILES
-.PP
-For the IBM RT PC:
-.br
-/dev/console
-.br
-/dev/aed
-.br
-/dev/apa16
-.br
-/dev/apa8c
-.br
-/dev/apa8
-.br
-/dev/ega
-.br
-/dev/mono
-.br
-/dev/mpel
-.br
-.PP
-For the IBM 6152 Academic System:
-.br
-/dev/vga
-.br
-/dev/ibm8514
-.SH "SEE ALSO"
-bufemul(4), bus(4), ibm5081(4), ibm5151(4), ibm6153(4), ibm6154(4),
-ibm6155(4), ibm8514(4), ibmaed(4), ibmemul(4), kbdemul(4),
-speaker(4), stdemul(4), tty(4), vga(4), xemul(4), setscreen(8)
-.br
-``IBM/4.3 Console Emulators'', in Volume II, Supplementary Documents
-
-
diff --git a/share/doc/iso/wiscman/cons.4p b/share/doc/iso/wiscman/cons.4p
deleted file mode 100644
index a233eac..0000000
--- a/share/doc/iso/wiscman/cons.4p
+++ /dev/null
@@ -1,198 +0,0 @@
-.\" $Id$
-.\"
-.TH CONS 4P "9 December 1988"
-.ds ]W Wisconsin ARGO 1.0
-.UC 4
-.SH NAME
-CONS \- Connection Oriented Network Service
-.SH SYNOPSIS
-For use as a network service (CONS):
-.nf
-.sp
-\fB#include <sys/socket.h>\fR
-\fB#include <sys/mbuf.h>\fR
-\fB#include <netargo/iso.h>\fR
-\fB#include <netargo/cons.h>\fR
-\fB#include <netargo/iso_errno.h>\fR
-.sp
-\fBint cons_output(isop, m, len, isdatagram)\fR
-.sp
-or for use as a subnetwork service (COSNS):
-.sp
-\fB#include <sys/socket.h>\fR
-\fB#include <sys/mbuf.h>\fR
-\fB#include <netargo/iso.h>\fR
-\fB#include <net/if.h>\fR
-\fB#include <netargo/cons.h>\fR
-\fB#include <netargo/iso_errno.h>\fR
-.sp
-\fBint cosns_output(ifp, m, dst)
-.fi
-.SH DESCRIPTION
-.PP
-The Connection Oriented Network Service (CONS) implemented for the AOS R2
-at the University of Wisconsin - Madison
-supports transport protocols, acting as a network service,
-and it also supports other network protocols, acting as a subnetwork
-service or link-layer service.
-Several software modules are combined to provide these services.
-.TP 10
-X.25
-The CCITT X.25 packet layer and link layer protocols run on
-a coprocessor (the EICON Network Adapter), which serves as a DTE.
-.TP 10
-Ecn driver
-A device driver manages the interaction between
-the coprocessor and the PC/RT.
-.TP 10
-CONS "glue"
-A software module implements portions of the OSI CONS (ISO 8878),
-which describes a way to use the X.25 protocols to support the
-OSI connection-oriented network service.
-.PP
-The OSI CONS contains several "service elements"
-that ARGO does not use or support.
-Expedited data,
-quality of service maintenance,
-call collision resolution,
-permanent virtual circuits,
-user data on connect and release,
-user-level acknowledgement
-("receipt confirmation" in CCITT/ISO argot), and reset/resynchronize
-are not supported.
-Several of the service primitives for connection establishment
-and release are not supported, and
-numerous parameters to other primitives specified in the OSI CONS
-are not supported.
-The CONS glue does provide all the support necessary to run
-ISO transport classes 0 and 4 over X.25, and ISO CLNP (also called
-ISO IP) over X.25.
-The subnetwork dependent convergence functions implemented in the glue
-permit interoperability with
-OSINET and EAN at this writing.
-Interoperability with other networks will be established in the future.
-.PP
-The coprocessor that implements the X.25 link and packet layers
-is the Eicon Technologies Access/X.25 Stand-Alone Network Adaper
-(see \fIecn(4)\fR).
-.PP
-The glue module provides two interfaces to higher layers:
-a "subnetwork service" (COSNS) used by network layer protocols, which
-has a typical BSD kernel device driver interface
-and
-a "network service" (CONS) used by transport protocols, which has
-a procedure call interface similar to that of IP and CLNP.
-.PP
-The network service is reliable and sequenced but does not
-provide a graceful close service; it provides only an abort service.
-.PP
-The subnetwork service is neither reliable nor sequenced.
-The subnetwork service implemented by the glue hides the
-connection-oriented aspects of the protocols; nevertheless,
-we call it the "connection-oriented subnetwork service" (COSNS)
-here, for lack of a better name.
-.SS "LIBRARIES
-No libraries are needed to use the CONS, however,
-the numerous error values returned by X.25 cannot be accommodated
-by the standard \fIperror()\fR in the C library.
-The ISO library
-.nf
-.sp
-.in +5
-\fC/usr/argo/lib/libisodir.a\fR
-.in -5
-.sp
-.fi
-provides an expanded perror() to handle the additional error return codes.
-.SS "ERROR VALUES
-.PP
-The error codes returned by the CONS are taken from
-the diagnostic code of the X.25 level 3 packets, as
-descibed in figure 14-B of ISO 8208 (the ISO standard which
-is equivalent to CCITT X.25).
-The actual error value returned in
-\fIerrno\fR
-is the X.25 diagnostic code in the lower 10 bits
-logically "or"ed with the hexadecimal value 0x8400 (bits
-10 and 15 set, counting from zero at the least significant bit).
-The error values can be found in
-the file
-.nf
-.in +5
-.sp
-\fC<netargo/iso_errno.h>\fR
-.sp
-.in -5
-.fi
-.SS "PROTOCOL IDENTIFICATION
-.PP
-The purpose of this section is to describe how incoming packets
-are forwarded from the glue to the various higher
-layers (ISO transport, CLNP), how
-routes are chosen from the higher layers to the glue, and
-how NSAP-addresses are related to all this.
-.SS Outgoing path:
-The ARGO transport entity routes packets either to
-the CONS glue, to the CLNP module, or to the DARPA Internet IP
-module, based on the value of the network service parameter
-given to the transport layer by the user.
-The \fInetserv\fR property of records in the ARGO
-directory service database
-can be used to determine the network service to be used by the
-transport layer. See also \fIisodir(5)\fR and \fIisodir(3)\fR.
-.PP
-The connectionless network layer entity routes packets to the
-COSNS based on the routing table entries in the connectionless network layer.
-This means that any type of NSAP-address supported by the kernel
-may be used with a CLNP packet
-that is routed over X.25.
-.PP
-When the glue creates an X.25 Call Request packet, it
-places an X.121 address (DTE address)
-in both the Calling and Called DTE address fields.
-The X.121 addresses are extracted from the \fISNPA cache\fR,
-a table that maps NSAP-addresses to SNPA-addresses, and
-is maintained by the ES-IS protocol module of the OSI network layer.
-In addition to placing a DTE address in the X.25 packet,
-the "glue" may
-uses the 1984 Called Address Extension facility to convey the
-NSAP-addresses.
-Whether or not this is done depends on the compile-time option -DX25_1984.
-.SS Incoming path:
-The X.25 Call Request User Data field and the
-1984 X.25 Address Extension Facility are used
-to determing the incoming path through the network layer.
-The NSAP addresses passed up along with the packet are taken from the
-Address Extension facility, if present.
-If the facility is absent, the glue creates two type-37 NSAP-addresses,
-filling in the X.121 address from the called and
-calling DTE-addresses on the Call Request packet, if present.
-The glue then requests of the ES-IS module to add an entry to the
-SNPA cache to associate the calling DTE address with its
-derived NSAP-address.
-These cache entries have a holding of 5 minutes, and get
-refreshed as long as there is activity on the virtual circuit
-resulting from the call request.
-.PP
-If a Call Request packet contains a protocol identifier
-as described in ISO PTDR 9577, this protocol identifier is used
-to route the packet to the higher layers.
-If there is no protocol identifier, the higher layer is assumed to be ISO
-transport.
-.SH "BUGS
-.PP
-If an incoming X.25 Call Request contains no DTE-addresses and
-no NSAP-addresses (in the Address Extension facility)
-the kernel panics.
-.SH "SEE ALSO
-.PP
-isodir(3),
-ecn(4),
-clnp(4),
-tp(4),
-isodir(5),
-isoroute(8),
-ifconfig(8),
-netstat(1),
-xstat(8),
-"ARGO 1.0 Kernel Programmer's Manual"
diff --git a/share/doc/iso/wiscman/if.4n b/share/doc/iso/wiscman/if.4n
deleted file mode 100644
index ca6884c..0000000
--- a/share/doc/iso/wiscman/if.4n
+++ /dev/null
@@ -1,136 +0,0 @@
-#
-# 5799-WZQ (C) COPYRIGHT IBM CORPORATION 1988
-# LICENSED MATERIALS - PROPERTY OF IBM
-# REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083
-#
-.\"# $Header:if.4n_ca 1.5$
-.\"# $ACIS:if.4n_ca 1.5$
-.\"# $Source: /ibm/acis/usr/man/man4/RCS/if.4n_ca,v $
-.\" @(#)if.4n 1.2 87/08/23 3.2/4.3NFSSRC
-.\" @(#)if.4n 1.2 87/02/10 NFSSRC
-.\" @(#)if.4n 1.1 86/09/25 SMI;
-.TH IF 4N "Sept 1988" "Space overwritten" " "
-.AC 1 0
-.SH NAME
-if \- general properties of network interfaces (NFS only)
-.SH DESCRIPTION
-.IX "if device" "" "\fLif\fP \(em network interface general properties" "" PAGE START
-Each network interface in a system corresponds to a
-path through which messages may be sent and received. A network
-interface usually has a hardware device associated with it, but
-certain interfaces, such as the loopback interface
-.IR lo (4),
-do not.
-.LP
-At boot time each interface which has underlying hardware support
-makes itself known to the system during the autoconfiguration
-process. Once the interface has acquired its address it is
-expected to install a routing table entry so that messages may
-be routed through it. Most interfaces require some part of
-their address specified with an SIOCSIFADDR ioctl before they
-will allow traffic to flow through them. On interfaces where
-the network-link layer address mapping is static, only the
-network number is taken from the ioctl; the remainder is found
-in a hardware specific manner. On interfaces which provide
-dynamic network-link layer address mapping facilities (for example,
-10Mb/s Ethernets using
-.IR arp (4P),),
-the entire address specified in the ioctl is used.
-.LP
-The following
-.I ioctl
-calls may be used to manipulate network interfaces. Unless
-specified otherwise, the request takes an
-.I ifreq
-structure as its parameter. This structure has the form
-.RS
-.nf
-struct ifreq {
- char ifr_name[16]; /* name of interface (e.g. "ec0") */
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- short ifru_flags;
- } ifr_ifru;
-#define ifr_addr ifr_ifru.ifru_addr /* address */
-#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */
-#define ifr_flags ifr_ifru.ifru_flags /* flags */
-};
-.fi
-.RE
-.IP SIOCSIFADDR 5
-.IX "ioctls for sockets" "SIOCSIFADDR" "\fLioctl\fP's for sockets" "\fLSIOCSIFADDR\fP \(em set ifnet address"
-.IX "SIOCSIFADDR set ifnet address" "" "\fLSIOCSIFADDR\fP \(em set ifnet address"
-.IX set "ifnet address ioctl \(em \fLSIOCSIFADDR\fP"
-.IX "network interface ioctls" SIOCSIFADDR "network interface \fLioctl\fP's" "\fLSIOCSIFADDR\fP \(em set ifnet address"
-Set interface address. Following the address
-assignment, the ``initialization'' routine for
-the interface is called.
-.IP SIOCGIFADDR
-.IX "ioctls for sockets" "SIOCGIFADDR" "\fLioctl\fP's for sockets" "\fLSIOCGIFADDR\fP \(em get ifnet address"
-.IX "SIOCGIFADDR get ifnet address" "" "\fLSIOCGIFADDR\fP \(em get ifnet address"
-.IX get "ifnet address \fLioctl\fP \(em \fLSIOCGIFADDR\fP"
-.IX "network interface ioctls" SIOCGIFADDR "network interface \fLioctl\fP's" "\fLSIOCGIFADDR\fP \(em get ifnet address"
-Get interface address.
-.IP SIOCSIFDSTADDR
-.IX "ioctls for sockets" "SIOCSIFDSTADDR" "\fLioctl\fP's for sockets" "\fLSIOCSIFDSTADDR\fP \(em set p-p address"
-.IX "SIOCSIFDSTADDR set p-p address" "" "\fLSIOCSIFDSTADDR\fP \(em set p-p address"
-.IX set "p-p address ioctl \(em \fLSIOCSIFDSTADDR\fP"
-.IX "network interface ioctls" SIOCSIFDSTADDR "network interface \fLioctl\fP's" "\fLSIOCSIFDSTADDR\fP \(em set p-p address"
-Set point to point address for interface.
-.IP SIOCGIFDSTADDR
-.IX "ioctls for sockets" "SIOCGIFDSTADDR" "\fLioctl\fP's for sockets" "\fLSIOCGIFDSTADDR\fP \(em get p-p address"
-.IX "SIOCGIFDSTADDR get p-p address" "" "\fLSIOCGIFDSTADDR\fP \(em get p-p address"
-.IX get "p-p address \fLioctl\fP \(em \fLSIOCGIFDSTADDR\fP"
-.IX "network interface ioctls" SIOCGIFDSTADDR "network interface \fLioctl\fP's" "\fLSIOCGIFDSTADDR\fP \(em get p-p address"
-Get point to point address for interface.
-.IP SIOCSIFFLAGS
-.IX "ioctls for sockets" "SIOCSIFFLAGS" "\fLioctl\fP's for sockets" "\fLSIOCSIFFLAGS\fP \(em set ifnet flags"
-.IX "SIOCSIFFLAGS set ifnet flags" "" "\fLSIOCSIFFLAGS\fP \(em set ifnet flags"
-.IX set "ifnet flags ioctl \(em \fLSIOCSIFFLAGS\fP"
-.IX "network interface ioctls" SIOCSIFFLAGS "network interface \fLioctl\fP's" "\fLSIOCSIFFLAGS\fP \(em set ifnet flags"
-Set interface flags field. If the interface is marked down,
-any processes currently routing packets through the interface
-are notified.
-.IP SIOCGIFFLAGS
-.IX "ioctls for sockets" "SIOCGIFFLAGS" "\fLioctl\fP's for sockets" "\fLSIOCGIFFLAGS\fP \(em get ifnet flags"
-.IX "SIOCGIFFLAGS get ifnet flags" "" "\fLSIOCGIFFLAGS\fP \(em get ifnet flags"
-.IX get "ifnet flags \fLioctl\fP \(em \fLSIOCGIFFLAGS\fP"
-.IX "network interface ioctls" SIOCGIFFLAGS "network interface \fLioctl\fP's" "\fLSIOCGIFFLAGS\fP \(em get ifnet flags"
-Get interface flags.
-.IP SIOCGIFCONF
-.IX "ioctls for sockets" "SIOCGIFCONF" "\fLioctl\fP's for sockets" "\fLSIOCGIFCONF\fP \(em get ifnet list"
-.IX "SIOCGIFCONF get ifnet list" "" "\fLSIOCGIFCONF\fP \(em get ifnet list"
-.IX get "ifnet list \fLioctl\fP \(em \fLSIOCGIFCONF\fP"
-.IX "network interface ioctls" SIOCGIFCONF "network interface \fLioctl\fP's" "\fLSIOCGIFCONF\fP \(em get ifnet list"
-Get interface configuration list. This request takes an
-.I ifconf
-structure (see below) as a value-result parameter. The
-.I ifc_len
-field should be initially set to the size of the buffer
-pointed to by
-.IR ifc_buf .
-On return it will contain the length, in bytes, of the
-configuration list.
-.RS
-.nf
-/*
- * Structure used in SIOCGIFCONF request.
- * Used to retrieve interface configuration
- * for machine (useful for programs which
- * must know all networks accessible).
- */
-struct ifconf {
- int ifc_len; /* size of associated buffer */
- union {
- caddr_t ifcu_buf;
- struct ifreq *ifcu_req;
- } ifc_ifcu;
-#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
-#define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */
-};
-.RE
-.fi
-.IX "if device" "" "\fLif\fP \(em network interface general properties" "" PAGE END
-.SH "SEE ALSO
-arp(4P), ec(4S), lo(4)
diff --git a/share/doc/iso/wiscman/iso.4f b/share/doc/iso/wiscman/iso.4f
deleted file mode 100644
index 5e7ca88..0000000
--- a/share/doc/iso/wiscman/iso.4f
+++ /dev/null
@@ -1,87 +0,0 @@
-.TH ISO 4F "9 December 1988"
-.ds ]W Wisconsin ARGO 1.0
-.UC 4
-.SH NAME
-iso \- ISO protocol family
-.SH SYNOPSIS
-.B #include <sys/types.h>
-.br
-.B #include <netargo/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),
-and for the SOCK_RAW abstraction
-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
-Sockets bound to the OSI protocol family use
-the following address structure:
-.sp 1
-.nf
-._f
-struct sockaddr_iso {
- short siso_family;
- u_short siso_tsuffix;
- struct iso_addr siso_addr;
-};
-.sp 1
-.fi
-.PP
-This fields of this structure are:
-.TP 10
-\fIsiso_family:\fR
-Identifies the domain: AF_ISO or AF_INET.
-.TP 10
-\fIsiso_tsuffix:\fR
-The transport part of the address, described below.
-.TP 10
-\fIsiso_addr:\fR
-The network part of the address, described below.
-.SS TRANSPORT ADDRESSING
-.PP
-The above structure describes a simple form of
-ISO \fItransport\fR addresses.
-An 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.
-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).
-While ports are always 16 bits,
-transport selectors may be
-of (almost) arbitrary size.
-ARGO supports two forms of transport selectors:
-"normal" or 16-bit selectors, and
-"extended" selectors, or selectors that may be from 1-64 bytes
-in length.
-The default mode of operation is to use 16-bit transport selectors.
-These addresses can be represented with the above structure.
-When transport selectors of any other size are used, the transport
-selector is kept in a separate structure.
-See the manual page \fItp(4p)\fR.
-.SS NETWORK ADDRESSING
-.PP
-ISO network addresses are limited to 20 bytes in length.
-ISO network addresses can take any format.
-ARGO 1.0 supports three formats.
-See \fIisodir(3)\fR and \fIisodir(5)\fR.
-.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
-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(4P), cons(4p), clnp(4P), isodir(3), iso(4f), isodir(5),
-"The ARGO 1.0 Kernel Programmer's Guide",
-"Installing ARGO 1.0 on Academic Operating Systems 4.3 Release 2"
diff --git a/share/doc/iso/wiscman/rvd.4p b/share/doc/iso/wiscman/rvd.4p
deleted file mode 100644
index 44d7e84..0000000
--- a/share/doc/iso/wiscman/rvd.4p
+++ /dev/null
@@ -1,90 +0,0 @@
-.\"
-.\" 5799-WZQ (C) COPYRIGHT IBM CORPORATION 1986,1987,1988
-.\" LICENSED MATERIALS - PROPERTY OF IBM
-.\" REFER TO COPYRIGHT INSTRUCTIONS FORM NUMBER G120-2083
-.\"
-.\"$Header:rvd.4p_ca 11.0$
-.\"$ACIS:rvd.4p_ca 11.0$
-.\"$Source: /ibm/acis/usr/man/man4/RCS/rvd.4p_ca,v $
-.\"This file contains -man macros.
-.TH RVD 4P "July 1987" "Space overwritten by .AC macro" " "
-.AC 1 0
-.SH NAME
-rvd \- Remote Virtual Disk protocol
-.SH DESCRIPTION
-RVD
-is a network service which allows several
-physical machines to share one
-physical mass storage device such as a hard disk. The basic
-concept is to have the machine to which the device is physically attached
-act as a server to read and write blocks for all the other
-machines desiring use of the resource.
-.PP
-The server program apportions the
-physical blocks into \*(lqvirtual disk packs\*(rq based on a
-table maintained with
-.IR vddb (8).
-The packs can then be used separately by clients. There are
-three modes of use: read-only, shared, and exclusive.
-Exclusive mode is used for
-read-write access, while read-only mode is as it sounds.
-Shared mode is not supported under IBM/4.3.
-If a disk pack is \*(lqspun up\*(rq in read-only mode,
-several clients may share the pack and read its information. In
-exclusive mode, one client has exclusive use of the disk pack.
-.PP
-Packs are \*(lqspun up\*(rq and \*(lqspun down\*(rq with the
-.I up
-and
-.I down
-commands (see
-.IR up (1)).
-This can be done
-at reboot time within
-.I /etc/rc.local
-(see
-.IR rc (8))
-or
-at login time within
-.I ~/.login
-(see
-.IR csh (1)).
-Once a pack is spun up, it behaves like a disk physically attached to
-the local machine (excepting network latency).
-The client can do anything desired with the pack;
-both MS-DOS and UNIX operating system file systems have
-been used on the same physical
-drive at the same time (on separate packs, of course).
-.PP
-RVD
-is implemented in two parts: server code and client code. The server
-code is written as a
-.IR "user process" ,
-i.e. it does not require any special
-privileges beyond read/write access to the disks it manages. The server
-opens a network socket and listens for UDP connections. It also accepts
-all
-RVD
-packets and acts on them.
-RVD is a protocol different from both
-UDP and TCP,
-although similar in nature to the former.
-.PP
-The client code is implemented as a pseudo-device and corresponding
-device driver in the kernel. It can handle up to 10
-remote virtual disks
-simultaneously, which are associated with the pseudo-devices below.
-.SH FILES
-.DT
-/dev/vd[0-9]a block special file pseudo-device
-.br
-/dev/rvd[0-9]a character special file pseudo-device
-.SH "SEE ALSO"
-up(1), rvddb(5), rvdtab(5),
-rvdflush(8), rvdchlog(8), rvddown(8),
-rvdexch(8), rvdflush(8), rvdlog(8), rvdsend(8), rvdshow(8),
-rvdshut(8), rvdsrv(8), savervd(8),
-spinup(8), vddb(8), vdstats(8)
-.br
-``The Remote Virtual Disk System'' in Volume II, Supplementary Documents
-
diff --git a/share/doc/iso/wiscman/tp.4p b/share/doc/iso/wiscman/tp.4p
deleted file mode 100644
index e82cfef..0000000
--- a/share/doc/iso/wiscman/tp.4p
+++ /dev/null
@@ -1,611 +0,0 @@
-.\" $Id$
-.\"
-.TH TP 4P "9 December 1988"
-.ds ]W Wisconsin ARGO 1.0
-.UC 4
-.SH NAME
-TP \- ISO Transport Protocol
-.SH SYNOPSIS
-.nf
-\fB#include <sys/socket.h>\fR
-\fB#include <netargo/iso_errno.h>\fR
-\fB#include <netargo/tp_param.h>\fR
-\fB#include <netargo/tp_user.h>\fR
-.PP
-\fBs = socket( [ AF_INET, AF_ISO ] , SOCK_SEQPACKET, 0);\fR
-.SH DESCRIPTION
-.PP
-The ISO Transport Protocol implemented for AOS R2
-at the University of Wisconsin - Madison
-includes classes 0 and 4
-of the ISO transport protocols
-as specified in
-the September 1984 version of DIS 8073.
-Class 4 of the protocol provides reliable, sequenced,
-flow-controlled, two-way
-transmission of data packets with an alternate stop-and-wait data path called
-the "expedited data" service.
-Class 0 is essentially a null transport protocol, which is used
-when the underlying network service provides reliable, sequenced,
-flow-controlled, two-way data transmission.
-Class 0 does not provide the expedited data service.
-The protocols are implemented as a single transport layer entity
-that coexists with the Internet protocol suite.
-Class 0 may be used only in the ISO domain.
-Class 4 may be used in the Internet domain as well as in the ISO domain.
-.PP
-The user interface to this protocol is the Berkeley interprocess communication
-interface (see \fIsocket(2)\fR.)
-Two new system calls for sending and receiving
-were added to this interface to
-to permit the support the end-of-transport-service-data-unit (EOTSDU)
-indication.
-See \fIsendv(2)\fR and \fIrecvv(2)\fR.
-If the EOTSDU is not needed, the Berkeley 4.3BSD interface
-can be used.
-See \fIsend(2)\fR and \fIrecv(2)\fR.
-.PP
-Through the
-\fIgetsockopt\fR and \fIsetsockopt\fR
-system calls,
-TP supports several options
-to control such things as negotiable options
-in the protocol and protocol strategies.
-.\"These system calls are used
-.\"to submit data for inclusion on connect and disconnect TPDUs.
-The options are defined in \fB<netargo/tp_user.h>\fR,
-and are described below.
-.\".PP
-.\"The options marked with a percent sign ( \fB%\fR )
-.\"are limited to use by the super-user.
-.PP
-In the tables below,
-the options marked with a pound sign ( \fB#\fR )
-may be used
-with \fIsetsockopt()\fR
-after a connection is established.
-Others must be used before the connection
-is established, in other words,
-before calling
-\fIconnect()\fR or
-\fIaccept()\fR.
-All options may be used
-with \fIgetsockopt()\fR
-before or
-after a connection is established.
-.\"
-.\" .PP
-.\" The options marked with an exclamation point ( \fB!\fR )
-.\" may be used after a connection is released,
-.\" but before
-.\" the TP reference timer (which generally
-.\" has a value in minutes) expires, and before
-.\" a \fIclose()\fR system call.
-.\" In other words, these commands may be used when the peer closes
-.\" a connection (possibly causing a disconnect indication), as long as the command
-.\" is issued "soon" after the disconnection occurred.
-.\" Disconnect data may be sent by the side initiating the close
-.\" but not by the passive side ("passive" with respect to the closing
-.\" of the connection), so there is no need to read disconnect data
-.\" after calling \fIclose()\fR.
-.\" .PP
-.\" The implementation of data on connect and disconnect is incomplete
-.\" and is not supported.
-.sp 1
-.TP 25
-\fBName\fR
-\fBValue [default]\fR
-.IP
-\fBDescription\fR
-.\".TP 25
-.\"TPOPT_CONN_DATA
-.\"(char *) [none]
-.\".IP
-.\"Data to send on \fIconnect()\fR.
-.\".TP 25
-.\"TPOPT_DISC_DATA\fB # !\fR
-.\"(char *) [none]
-.\".IP
-.\"Data to send on \fIclose()\fR.
-.\".TP 25
-.\"TPOPT_CDDATA_CLEAR\fB #\fR
-.\"No associated value.
-.\".IP
-.\"Erase outgoing connect or disconnect data.
-.TP 25
-TPOPT_MY_TSEL\fB \fR
-1-64 bytes.
-.IP
-An "extended" transport selector (tsel) for this socket.
-This option is used to set or get the local tsel.
-When this option is used to set a tsel,
-the default the 2-byte tsel
-that may have been allocated by \fIbind()\fR
-is retained, but this "extended" tsel is the
-tsel that is transmitted in a connection request
-When this option is used to get a tsel,
-it will return whatever transport tsel exists;
-if no "extended" tsel was given to this socket,
-the 2-byte tsel is returned.
-.TP 25
-TPOPT_PEER_TSEL\fB \fR
-1-64 bytes.
-.IP
-An "extended" transport selector (tsel) for the
-peer transport entity.
-This option is used to get the peer's tsel after
-a connection is established.
-When used before a connection
-is established, this option can set the tsel that
-will be transmitted as the "called" tsel
-in a connection request.
-.TP 25
-TPOPT_PERF_MEAS\fB #\fR
-Boolean.
-.IP
-When \fBtrue\fR, performance measurements will be kept
-for this connection.
-When set before a connection is established, the
-active side will use a locally defined parameter on the
-connect request packet; if the peer is another ARGO
-implementation, this will cause performance measurement to be
-turned on
-on the passive side as well.
-See \fItpperf(8)\fR.
-.TP 25
-TPOPT_PSTATISTICS\fB\fR
-No associated value on input.
-On output, struct tp_pmeas.
-.IP
-This command is used to read the performance statistics accumulated
-during a connection's lifetime.
-It can only be used with \fIgetsockopt()\fR.
-The structure it returns is described in \fB<netargo/tp_stat.h>\fR.
-See \fItpperf(8)\fR.
-.TP 25
-TPOPT_FLAGS
-unsigned integer. [ 0x0 ]
-.IP
-This command can only be used with \fIgetsockopt()\fR.
-See the description of the flags below.
-.TP 25
-TPOPT_PARAMS\fB\fR
-struct tp_conn_param.
-.IP
-Used to get or set a group parameters for a connection.
-The struct tp_conn_param is the argument used with the
-\fIgetsockopt()\fR or \fIsetsockopt()\fR system call.
-It is described in
-\fB<netargo/tp_user.h>\fR.
-.PP
-The fields of the \fItp_conn_param\fR structure are
-described below.
-.nf
-.sp 1
-\fIValues for TPOPT_PARAMS:\fR
-.fi
-.TP 25
-\fBField\fR
-\fBValue [default]\fR
-.IP
-\fBDescription\fR
-.\" ******************8
-.TP 25
-p_Nretrans
-nonzero short integer [ 1 ]
-.IP
-Number of times a TPDU will be retransmitted before the
-local TP entity closes a connection.
-.\" ******************8
-.TP 25
-p_dr_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks between retransmissions of disconnect request TPDUs.
-.\" ******************8
-.TP 25
-p_dt_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks between retransmissions of data TPDUs.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_cr_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks between retransmissions of connection request TPDUs.
-.\" ******************8
-.TP 25
-p_cc_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks between retransmissions of connection confirm TPDUs.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_x_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks between retransmissions of expedited data TPDUs.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_sendack_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks that the local TP entity
-will wait before sending an acknowledgment for normal data
-(not applicable if the acknowlegement strategy is TPACK_EACH).
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_ref_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks for which a reference will
-be considered frozen after the connection to which
-it applied is closed.
-This parameter applies to classes 4 and 0 in the
-ARGO implementation, despite the fact that
-the frozen reference function is required only for
-class 4.
-.\" ******************8
-.TP 25
-p_inact_ticks
-nonzero short integer [ various ]
-.IP
-Number of clock ticks without an incoming packet from the peer after which
-TP close the connection.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_keepalive_ticks
-nonzero short integer [ various ]
-.IP
-nonzero short integer [ various ]
-Number of clock ticks between acknowledgments that are sent
-to keep an inactive connection open (to prevent the peer's
-inactivity control function from closing the connection).
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_winsize
-short integer between 128 and 16384. [4096 bytes]
-.IP
-The buffer space limits in bytes for incoming and outgoing data.
-There is no way to specify different limits for incoming and outgoing
-paths.
-The actual window size at any time
-during the lifetime of a connection
-is a function of the buffer size limit, the negotiated
-maximum TPDU size, and the
-rate at which the user program receives data.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_tpdusize
-unsigned char between 0x7 and 0xd.
-[ 0xc for class 4 ] [ 0xb for class 0 ]
-.IP
-Log 2 of the maximum TPDU size to be negotiated.
-The TP standard (ISO 8473) gives an upper bound of
-0xd for class 4 and 0xb for class 0.
-The ARGO implementation places upper bounds of
-0xc on class 4 and 0xb on class 0.
-.\" ******************8
-.TP 25
-p_ack_strat
-TPACK_EACH or TPACK_WINDOW. [ TPACK_WINDOW ]
-.IP
-This parameter applies only to class 4.
-Two acknowledgment strategies are supported:
-.IP
-TPACK_EACH means that each data TPDU is acknowledged
-with an AK TPDU.
-.IP
-TPACK_WINDOW
-means that upon receipt of the packet that represents
-the high edge of the last window advertised, and AK TPDU is generated.
-.\" ******************8
-.TP 25
-p_rx_strat
-4 bit mask
-[ TPRX_USE_CW | TPRX_FASTSTART over
-connectionless network protocols ]
-[ TPRX_USE_CW over
-connection-oriented network protocols ]
-.IP
-This parameter applies only to class 4.
-The bit mask may include the following values:
-.IP
-TPRX_EACH: When a retransmission timer expires, retransmit
-each packet in the send window rather than
-just the first unacknowledged packet.
-.IP
-TPRX_USE_CW: Use a "congestion window" strategy borrowed
-from Van Jacobson's congestion window strategy for TCP.
-The congestion window size is set to one whenever
-a retransmission occurs.
-.IP
-TPRX_FASTSTART: Begin sending the maximum amount of data permitted
-by the peer (subject to availability).
-The alternative is to start sending slowly by
-pretending the peer's window is smaller than it is, and letting
-it slowly grow up to the real peer's window size.
-This is to smooth the effect of new connections on a congested network
-by preventing a transport connection from suddenly
-overloading the network with a burst of packets.
-This strategy is also due to Van Jacobson.
-.\" ******************8
-.TP 25
-p_class
-5 bit mask
-[ TP_CLASS_4 | TP_CLASS_0 ]
-.IP
-Bit mask including one or both of the values TP_CLASS_4 and TP_CLASS_0.
-The higher class indicated is the preferred class.
-If only one class is indicated, negotiation will not occur
-during connection establishment.
-.\" ******************8
-.TP 25
-p_xtd_format
-Boolean.
-[ false ]
-.IP
-Boolean indicating that extended format shall be negotiated.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_xpd_service
-Boolean.
-[ true ]
-.IP
-Boolean indicating that
-the expedited data transport service will be negotiated.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_use_checksum
-Boolean.
-[ true ]
-.IP
-Boolean indicating the use of checksums will be negotiated.
-This parameter applies only to class 4.
-.\" ******************8
-.TP 25
-p_use_nxpd
-Reserved for future use.
-.\" ******************8
-.TP 25
-p_use_rcc
-Reserved for future use.
-.\" ******************8
-.TP 25
-p_use_efc
-Reserved for future use.
-.\" ******************8
-.TP 25
-p_no_disc_indications
-Boolean.
-[ false ]
-.IP
-Boolean indicating that the local TP entity shall not issue
-indications (signals) when a TP connection is disconnected.
-.\" ******************8
-.TP 25
-p_dont_change_params
-Boolean.
-[ false ]
-.IP
-If \fBtrue\fR the TP entity will not override
-any of the other values given in this structure.
-If the values cannot be used, the TP entity will drop, disconnect,
-or refuse to establish the connection to which this structure pertains.
-.\" ******************8
-.TP 25
-p_netservice
-One of { ISO_CLNS, ISO_CONS, ISO_COSNS, IN_CLNS }.
-[ ISO_CLNS ]
-.IP
-Indicates which network service is to be used.
-.IP
-ISO_CLNS indicates the connectionless network service provided
-by CLNP (ISO 8473).
-.IP
-ISO_CONS indicates the connection-oriented network service provided
-by X.25 (ISO 8208) and ISO 8878.
-.IP
-ISO_COSNS indicates the
-connectionless network service running over a
-connection-oriented subnetwork service : CLNP (ISO 8473) over X.25 (ISO 8208).
-.IP
-IN_CLNS indicates the
-DARPA Internet connectionless network service provided by IP (RFC 791).
-.\" ******************8
-.TP 25
-p_dummy
-Reserved for future use.
-.sp 1
-.PP
-The TPOPT_FLAGS option is used for obtaining
-various boolean-valued options.
-Its meaning is as follows.
-The bit numbering used is that of the PC/RT, which means that bit
-0 is the most significant bit, while bit 8 is the least significant bit.
-.nf
-.sp 1
-\fIValues for TPOPT_FLAGS:\fR
-.fi
-.TP 10
-\fBBits\fR
-\fBDescription [Default]\fR
-.TP 10
-0
-TPFLAG_NLQOS_PDN : set when the quality of the
-network service is
-similar to that of a public data network.
-.TP 10
-1
-TPFLAG_PEER_ON_SAMENET : set when the peer TP entity
-is considered to be on the same network as the local
-TP entity.
-.TP 10
-2
-Not used.
-.TP 10
-3
-TPFLAG_XPD_PRES : set when expedited data are present
-[ 0 ]
-.TP 10
-4..7
-Reserved.
-.\".TP 10
-.\"4
-.\"Reserved.
-.\".TP 10
-.\"5
-.\"TPFLAG_DISC_DATA_IN : read only flag, if set indicates that
-.\"data from a disconnect TPDU are present.
-.\".TP 10
-.\"6
-.\"Reserved.
-.\".TP 10
-.\"7
-.\"TPFLAG_CONN_DATA_IN : read only flag, if set indicates that
-.\"data from a connect TPDU are present.
-.SH "LIBRARIES
-.PP
-The new system calls \fIrecvv\fR and \fIsendv\fR are supported by a
-library, \fIlibtp.a\fR (rather than a modified C library).
-Also in this
-library are new optional interfaces to the \fIconnect\fR and \fIaccept\fR
-system calls. See LIBTP(3).
-.SH FILES
-.PP
-The following files in have entries necessary for the correct operation
-of the TP utilities.
-.nf
-\fC
- /etc/isodir
- /etc/protocols
-\fR
-.fi
-.PP
-The symbolic link is needed for users to write programs using IPC
-with TP:
-.nf
-\fC
- /usr/include/netargo@ -> /sys/netargo
-\fR
-.fi
-.PP
-The following utilities have changed:
-.nf
- netstat
- ifconfig
- config
-.fi
-.PP
-The following are new utilities and daemons:
-.nf
- isoroute
- rlogin.iso, rcp.iso, rsh.iso, isod, rlogind
- tpdiscard
- tpping
- tppt (for maintenance and debugging)
- bark (for maintenance and debugging)
- tpfileget, tpfileput (for debugging)
- tpstat, tpmon
- tpset
- tppkt
- viid
-.fi
-.PP
-In the kernel source, many files have changed or been added.
-For a list of these, see the installation guide,
-"Installing Wisconsin ARGO 1.0 on Academic Operating System 4.3
-Release 2".
-.SH "ERROR VALUES
-.PP
-The TP entity returns \fIerrno\fR error values as defined in
-\fB<sys/errno.h>\fR
-and
-\fB<netargo/iso_errno.h>\fR.
-User programs may print messages associated with these value by
-using an expanded version of \fIperror()\fR
-found in the ISO library, \fIlibisodir.a\fR.
-.PP
-If the TP entity encounters asynchronous events
-that will cause a transport connection to be closed,
-such as
-timing out while retransmitting a connect request TPDU,
-or receiving a DR TPDU,
-the TP entity issues a SIGURG signal, indicating that
-disconnection has occurred.
-If the signal is issued during a
-a system call, the system call may be interrupted,
-in which case the
-\fIerrno\fR value upon return from the system call is EINTR.
-If the signal SIGURG
-is being handled by reading
-from the socket, and it was a \fIaccept()\fR that
-timed out, the read may result in ENOTSOCK,
-because the \fIaccept()\fR call had not yet returned a
-legitimate socket descriptor when the signal was handled.
-ETIMEDOUT (or a some other errno value appropriate to the
-type of error) is returned if SIGURG is blocked
-for the duration of the system call.
-A user program should take one of the following approaches:
-.IP "Block SIGURG." 5
-If the program is servicing
-only one connection, it can block or ignore SIGURG during connection
-establishment.
-The advantage of this is that the \fIerrno\fR value
-returned is somewhat meaningful.
-The disadvantage of this is that
-if ignored, disconnection and expedited data indications could be
-missed.
-For some programs this is not a problem.
-.IP "Handle SIGURG." 5
-If the program is servicing more than one connection at a time
-or expedited data may arrive or both, the program must
-service SIGURG.
-It can use the \fIgetsockopt(...TPOPT_FLAGS...)\fR system
-call to see if the signal
-was due to the arrival of expedited data or due to a disconnection.
-In the latter case,
-\fIgetsockopt()\fR
-will return ENOTCONN.
-.SH BUGS
-.PP
-When running TP over the token ring, if checksumming
-is NOT used, the TP entity sents packets to the lan driver faster than
-the driver can reasonably handle them.
-A bug in the lan driver causes it to reorder the packets in this
-situation, causing an overall degradation of TP performance.
-In general, this is not a problem because very few applications
-will actually be able to send packets this fast.
-Nevertheless,
-in order to prevent this reordering,
-one may induce a delay in the TP entity by setting the 1-byte
-value
-\fItp_delay\fR
-to 1
-using the debugger.
-Hit the <pause> key, then
-type \fB/b tp_delay\fR followed by the <enter key>.
-The debugger will print the value 00.
-You then type \fB1\fR followed by the <enter key>.
-Then type \fBend\fR <enter key>.
-Then type \fBgo\fR <enter key>.
-.SH SEE ALSO
-.PP
-tcp(4P), sendv(2), recvv(2), libtp(3),
-isodir(3), isodir(5), netstat(1),
-iso(4F), clnp(4P), viid(8)
-tppt(8), tpstat(8), bark(8), tppkt(8), tpset(8), tpperf(8)
-isoroute(8), ifconfig(8), isod(8), rlogin.iso(1),
-"Installing Wisconsin ARGO 1.0 on Academic Operating System 4.3
-Release 2",
-"ARGO 1.0 Kernel Programmer's Manual"
OpenPOWER on IntegriCloud