#!/bin/sh
# This is a shell archive (produced by shar 3.49)
# To extract the files from this archive, save it to a file, remove
# everything above the "!/bin/sh" line above, and type "sh file_name".
#
# made 08/10/1993 21:47 UTC by dragon@loki
# Source directory /tmp_mnt/home/tao/dragon/rockridge/susp
#
# existing files will NOT be overwritten unless -c is specified
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#   1122 -rw-r--r-- Makefile
#   1527 -rw-r--r-- format
#   1362 -rw-r--r-- title.nr
#   1023 -rw-r--r-- preface.nr
#    739 -rw-r--r-- overview.nr
#   1281 -rw-r--r-- desc.nr
#   3438 -rw-r--r-- susp.nr
#  13971 -rw-r--r-- fields.nr
#   2387 -rw-r--r-- api.nr
#    225 -rw-r--r-- bib.nr
#     10 -rw-r--r-- TOC
#
# ============= Makefile ==============
if test -f 'Makefile' -a X"$1" != X"-c"; then
	echo 'x - skipping Makefile (File already exists)'
else
echo 'x - extracting Makefile (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
# Makefile for CDROM / B1 IRS
# Written by Scott Norton
# 
SHELL=/bin/sh
# Delete all the built-in rules
#.SUFFIXES :
X
SOURCE = format title.nr preface.nr overview.nr desc.nr susp.nr fields.nr api.nr bib.nr TOC
X
TROFF = troff -Tpsc
X
irs:
X	cat $(SOURCE) | att tbl | $(TROFF) -mm
print:
X	dwb2 -mm $(SOURCE)	
# cat $(SOURCE) | att pic | att tbl | $(TROFF) -mm | psdit | lpr 
X
ps:
X	/usr/local/bin/pic $(SOURCE) | tbl | troff -mm | dpost > susp.ps
X
ci:
X	ci -l $(SOURCE)
X
shar:
X	shar Makefile $(SOURCE) > susp.shar
X
revision:
X	@echo "The current revision number is:"
X	@fgrep Revision title.nr
X
wc:
X	@echo "\tThe number of lines of source are:\c"
X	@cat $(SOURCE)  | wc -l
order:
X	@echo "The order of the files is ---"
X	@echo $(SOURCE) | tr " " "\012"
X
title:
X	cat format title.nr | tbl  | troff -mm
preface:
X	cat format preface.nr | tbl  | troff -mm
overview:
X	cat format overview.nr | tbl  | troff -mm
desc:
X	cat format desc.nr | tbl  | troff -mm
susp:
X	cat format susp.nr | tbl  | troff -mm
api:
X	cat format api.nr | tbl  | troff -mm
fields:
X	cat format fields.nr | tbl  | troff -mm
bib:
X	cat format bib.nr | tbl  | troff -mm
X
SHAR_EOF
chmod 0644 Makefile ||
echo 'restore of Makefile failed'
Wc_c="`wc -c < 'Makefile'`"
test 1122 -eq "$Wc_c" ||
	echo 'Makefile: original size 1122, current size' "$Wc_c"
fi
# ============= format ==============
if test -f 'format' -a X"$1" != X"-c"; then
	echo 'x - skipping format (File already exists)'
else
echo 'x - extracting format (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'format' &&
.nr O 1.2i
.nr W 6i
.PH ""		\" Supress the -1- page header on the first page
.\" The entire document uses fonts designated as numbers so the following
.\" three lines may be changed to change the "look" of the document.
.fp 1 R		\" This is the standard (i.e. non-Bold/Italic) font position
.fp 2 I		\"This is the Italic font position
.fp 3 B		\"This is the Bold font position
.fp 4 S		\"This is the HP logo
.nr P 0		\" Set first page to be page 1
.\" HF sets type for .H headings 3==bold, 2==italics for levels 1-7
.ds HF 3 3 3 3 3 3 3
.\" HF sets size for .H headings, for level 1-7
.ds HP 14 12 11 11 11 11 11
.nr Ej 1	\" Start level 1 headings on new page.
.nr Hb 6	\" Headings 7 & up are part of the following paragraph
.nr Hs 6	\" Headings 1-6 are automatically followed by blank line
.nr Hi 1	\" Indent text following heading like paragraph (default)
.nr Hc 0	\" No headings are centered (default)
.nr Hu 1	\" Unnumbered headings level 1 
.tr ~ 		\" Use ~ for unpaddable space character
.ad b		\" Right-justify on
.nr Hy 0	\" No hyphenation
.nr Pi 5	\" Indent paragraphs 5 spaces
.nr Pt 1	\" Indent paragraphs Pi spaces
.nr Cl 6	\" Save first 6 heading levels for table of contents
.\" Set up global formatting stuff
.in 0i
.ll 6i
.vs 12p
.pl 10.75i
.ps 10
.\" Set up the page count as if no coversheet will be added.  If there is
.\" one added, it will override .nr PC to be one more than the amount below.
.nr PC 17
.\" Set this flag to be 0 (no coversheet), if a coversheet is there, it
.\" will override it.
.nr CS 0
SHAR_EOF
chmod 0644 format ||
echo 'restore of format failed'
Wc_c="`wc -c < 'format'`"
test 1527 -eq "$Wc_c" ||
	echo 'format: original size 1527, current size' "$Wc_c"
fi
# ============= title.nr ==============
if test -f 'title.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping title.nr (File already exists)'
else
echo 'x - extracting title.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'title.nr' &&
~
.sp |2i
.ce 17
.ps 25
.ft 3
SYSTEM USE SHARING
X
X
PROTOCOL
.ps 20
.ft 3
X
X
VERSION 1
.sp 80p
.ps 20
.ft 3
A MECHANISM FOR EXTENSIBLE SHARING
X
OF ISO 9660:1988 SYSTEM USE AREAS
.sp 80p
.ps 16
.ft 3
IEEE CDROM FILE SYSTEMS 
X
WORKING GROUP
.ps 12
.ft 1
.sp 3v
Revision 1.10
.sp 3v
X
.sp 3v
.\" Put names of authors here, if any
cdfsf@ymi.COM
X
X
.ps 14
.sp 3v
DRAFT STANDARD
.bp
.\"
.\" If no coversheet, set up odd/even different headers & footers
.\" else set up the same headers & footers
.ie \n(CS \{\
.   OH "'IEEE CDFSF''System Use Sharing Protocol'" 
.   EH "'IEEE CDFSF''System Use Sharing Protocol'" 
.   bp
.   OF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'"
.   EF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'" \}
.el \{\
.   OH "'IEEE CDFSF''System Use Sharing Protocol'" 
.   EH "'System Use Sharing Protocol''IEEE CDFSF'"
.   bp
.   OF "'\\*(DT'                     'Page \\\\nP of \\\\n(PC'"
.   EF "'Page \\\\nP of \\\\n(PC'                     '\\*(DT'" \}
.rs
X
.ce
( Page 2 should be replaced with a blank page for back of page 1 )
.bp
X
.ce
( Page 3 should be replaced with the Table of Contents page 3 )
.bp
X
.ce
( Page 4 should be replaced with a blank page for back of page 3 )
.bp
X
.ce
( Page 5 should be replaced with the List of Tables page 5 )
.bp
X
.ce
( Page 6 should be replaced with a blank page for back of page 5 )
SHAR_EOF
chmod 0644 title.nr ||
echo 'restore of title.nr failed'
Wc_c="`wc -c < 'title.nr'`"
test 1362 -eq "$Wc_c" ||
	echo 'title.nr: original size 1362, current size' "$Wc_c"
fi
# ============= preface.nr ==============
if test -f 'preface.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping preface.nr (File already exists)'
else
echo 'x - extracting preface.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'preface.nr' &&
.pn 1
.sp
.H 1 "PREFACE"
.sp
.H 2 "Purpose and Scope"
.sp
The ISO 9660:1988 CD-ROM format provides System Use Areas within the
Directory Records to support convenient extensibility of the specification.
Unfortunately, no mechanism for coordinating shared use of these areas
was provided.
This has led to very restricted and non-standardized use of these areas.
It is desirable to develop the following proposed standard for shared
utilization of the System Use Areas provided by ISO 9660.
.sp
.H 2 "Summary of Sections"
.sp
.TS
center;
l l.
Section 1	Contains this preface.
Section 2	Contains an overview of the System Use Sharing Protocol.
Section 3	Contains an overview of the notation used in this document.
Section 4	Contains the System Use Sharing Protocol proposal.
Section 5	Contains the System Use Fields provided by the SUSP.
Section 6	Contains the SUSP Application Programming Interface.
Section 7	Contains the bibliography.
.TE
.bp
.\" Blank page for back of this chapter
.ce 
X       
X        
X       
X         
SHAR_EOF
chmod 0644 preface.nr ||
echo 'restore of preface.nr failed'
Wc_c="`wc -c < 'preface.nr'`"
test 1023 -eq "$Wc_c" ||
	echo 'preface.nr: original size 1023, current size' "$Wc_c"
fi
# ============= overview.nr ==============
if test -f 'overview.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping overview.nr (File already exists)'
else
echo 'x - extracting overview.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'overview.nr' &&
.sp
.H 1 "OVERVIEW"
.sp
The System Use Sharing Protocol (SUSP) specifies an extension to the
ISO 9660 format for CD-ROM which enables the shared utilization of the
System Use Areas provided by ISO 9660:1988 for recording
system-specific extensions to 
ISO 9660 defined by multiple independent parties.
.sp
The SUSP specifies the definition of a generic field format and a set
of generally applicable System Use Fields for recording:
.sp
.VL 15
.BL
.LI
Continuation Areas
.LI
Padding Areas
.LI
Identifier that the System Use Sharing Protocol is used
.LI
System Use Sharing Protocol Terminator
.LI
Identifier of system-specific extensions that are used
.LE
.bp
.\" Blank page for back of this chapter
.ce 
X       
X        
X       
X         
SHAR_EOF
chmod 0644 overview.nr ||
echo 'restore of overview.nr failed'
Wc_c="`wc -c < 'overview.nr'`"
test 739 -eq "$Wc_c" ||
	echo 'overview.nr: original size 739, current size' "$Wc_c"
fi
# ============= desc.nr ==============
if test -f 'desc.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping desc.nr (File already exists)'
else
echo 'x - extracting desc.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'desc.nr' &&
.bp
.sp
.H 1 "TERMINOLOGY AND NOTATION"
.sp
It is assumed that the SUSP is being utilized within an ISO 9660:1988
compliant volume. 
Unless defined herein, or otherwise specified, terms shall be as defined
in ISO 9660:1988.
.sp
The following notation is used in this document.
.sp
.H 2 "Decimal and Hexadecimal Notation"
.sp
Numbers in decimal notation are represented by decimal digits, namely
0 to 9.
.sp
Numbers in hexadecimal notation are represented by hexadecimal digits,
namely 0 to 9 and A to F, shown in parentheses. 
E.g. the hexadecimal number 7F will be written as (7F).
.sp
.H 2 "System Use Areas"
.sp
ISO 9660:1988 provides System Use Areas within Directory Records.
While a similar mechanism could be used in many other ways within the
ISO 9660 structure, this System Use Sharing Protocol addresses only
the System Use Areas within the Directory Records.
.sp
In the descriptions in this document, the phrase "System Use Area" shall
refer equally to the System Use Areas specified as well as any 
Continuation of the System Use Areas designated through the use of
"CE" System Use Fields (CE is described in the section titled
"SYSTEM USE FIELDS PROVIDED BY THIS SPECIFICATION").
.sp
.bp
.\" Blank page for back of this chapter
.ce 
X       
X        
X       
X         
SHAR_EOF
chmod 0644 desc.nr ||
echo 'restore of desc.nr failed'
Wc_c="`wc -c < 'desc.nr'`"
test 1281 -eq "$Wc_c" ||
	echo 'desc.nr: original size 1281, current size' "$Wc_c"
fi
# ============= susp.nr ==============
if test -f 'susp.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping susp.nr (File already exists)'
else
echo 'x - extracting susp.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'susp.nr' &&
.bp
.sp
.H 1 "SYSTEM USE SHARING PROTOCOL"
.sp
The System Use Sharing Protocol divides any System Use Area into a
number of variable length fields called System Use Fields.
There may be zero or more System Use Fields in each System Use Area.
Each System Use Field is identified by a System Use Field Signature
Word (described below).
.sp
More than one System Use Field with the same signature word is allowed,
unless otherwise specified in the definition of a specific System Use
Field.
If allowed, the significance of the order, if any, of the recording of
multiple System Use Fields with the same signature word shall be specified
in the definition of the particular System Use Field involved.
In all other situations, the order in which the System Use Fields
appear is not significant.
.sp
Unless otherwise specified in the definition of a specific
System Use Field, each System Use Field recorded in the System
Use Area of the last extent of a multi-extent file shall apply
to all extents of the file and shall override any System Use
Field with the same signature recorded for any other extent of
the file.
Thus, unless an alternate mechanism is provided in
the definition of a specific System Use Field, failure to record
a valid instance of the System Use Field for the final extent of
a multi-extent file shall be treated the same as if this field
had not been recorded for any extent of the file.
.sp
With the exception of the "SP" field, which is recorded as
specified in section 5.3, the first System Use Field
recorded in a System Use Area of any Directory Record shall begin
in byte LEN_SKP+1 of the System Use Area (see section 5.3 [5]).
The first System Use Field recorded in any Continuation
of a System Use Area shall begin in the first byte of the
Continuation.
If more than one System Use Field is to be
recorded in the same System Use Area or Continuation, they shall
be recorded contiguously.
.sp
If the remaining allocated space following the last recorded System
Use Field in a System Use Area is less than four bytes long, it
cannot be a System Use Field and shall be ignored. 
Otherwise the use of the System Use Sharing Protocol should be terminated 
by the "ST" field or filled with the "PD" field, which are described in 
Chapter 5.
.sp
.H 2 "System Use Field Format"
.sp
The System Use Field format is as follows:
.sp
.VL 10 5
.LI "[1]"
"BP 1 to BP 2 - Signature Word" shall specify an identification of a System
Use Field.
This field shall contain two bytes.
Each byte is recorded according to the ISO 9660:1988 Format Section 7.1.1.
.LI "[2]" 
"BP 3 - Length (LEN_SUF)" shall specify as an 8-bit number the
length in bytes of the System Use Field, including the
Signature Word, Length, Version and System Use content.
This field shall be recorded according to the ISO 9660
Format section 7.1.1.
.LI "[3]"
"BP 4 - System Use Field Version" shall specify as an 8-bit
number an identification of the version of the System Use
Field.  
This field shall be recorded according to ISO 9660
Format section 7.1.1.
.bp
.LI "[4]"
"BP 5 to LEN_SUF - Data" shall contain the content of
the System Use Field.
The format of this field depends on
the Signature Word and Version of the System Use Field.
The Data field is optional.
.LE
.sp
.sp
.TB "System Use Field Description - Version 1"
.TS
center,box;
c | c | c | c | c.
X
SIG1	SIG2	LENGTH	VERSION	      DATA      
(BP1)	(BP2)	(BP3)	(BP4)	(BP5 to LEN_SUF) 
X
.TE
.sp
.sp
SHAR_EOF
chmod 0644 susp.nr ||
echo 'restore of susp.nr failed'
Wc_c="`wc -c < 'susp.nr'`"
test 3438 -eq "$Wc_c" ||
	echo 'susp.nr: original size 3438, current size' "$Wc_c"
fi
# ============= fields.nr ==============
if test -f 'fields.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping fields.nr (File already exists)'
else
echo 'x - extracting fields.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'fields.nr' &&
.sp
.H 1 "SYSTEM USE FIELDS PROVIDED BY THIS SPECIFICATION"
.sp
The System Use Sharing Protocol defines the following fundamental System Use
Fields:
.sp
.TS
center;
l l.
"CE"	Continuation Area
"PD"	Padding Field
"SP"	System Use Sharing Protocol Indicator
"ST"	System Use Sharing Protocol Terminator
"ER"	Extensions Reference
.TE
.sp
.H 2 "Description of the CE System Use Field"
.sp
The purpose of the "CE" System Use Field is to extend the System Use Area
to store additional System Use Fields.
The "CE" System Use Field is optional.
There is at most one "CE" System Use Field in a System Use or Continuation Area.
.sp
The entire single Logical Sector which begins with the Logical Block referred
to by a "CE" System Use Field shall be used as an additional System Use
Area.
The recording in any Continuation of the System Use Area shall follow the
Format of the System Use Area as described in the previous section of this
document.
All Continuation Areas identified by "CE" fields must reside on
the same Volume as the "CE" field.
If additional space is needed, the Continuation of the System Use Area
identified by a "CE" System Use Field may contain another "CE" System Use
Field designating another Continuation of the System Use Area.
The "CE" System Use Field indicates a Continuation Area that should be
processed after the current System Use Area or Continuation Area is
processed.
.sp
Note: For maximum compatibility with pre-existing systems, system use
fields which predate this document should not be recorded within
Continuation Areas.
.sp
The format of the "CE" System Use Field is as follows:
.sp
.VL 10 5
.LI "[1]"
"BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
is a "CE" type System Use Field.
The bytes in this field shall be (43)(45) ("CE").
.LI "[2]"
"BP 3 - Length (LEN_SUF)" shall specify as an 8-bit number the length in
bytes of the "CE" System Use Field.
The number in this field shall be 28 for this version.
This field shall be recorded according to the ISO 9660:1988 Format 
section 7.1.1.
.LI "[3]"
"BP 4 - System Use Field Version" shall specify as an 8-bit number an
identification of the version of the "CE" System Use Field.
The number in this field shall be 1 for this version.
This field shall be recorded according to the ISO 9660:1988 Format
section 7.1.1.
.LI "[4]"
"BP 5 to BP 12 - Location of Continuation of System Use Area" shall specify
as a 32-bit number the Logical Block Number of the first Logical Block
of the Logical Sector that contains the start of this Continuation of
the Sytem Use Area.
This field shall be recorded according to the ISO 9660:1988 Format
section 7.3.3.
.LI "[5]"
"BP 13 to BP 20 - Offset to Start of Continuation" shall specify as a
32-bit number the offset, in bytes, from the start of the block
specified in [4] above to the start of the area that is to be used for this
Continuation of the System Use Area.
This field shall be recorded according to the ISO 9660:1988 Format
section 7.3.3.
.LI "[6]"
"BP 21 to BP 28 - Length of the Continuation" shall specify as a 32-bit
number the number of bytes that are to be used for this
Continuation of the System Use Area.
This field shall be recorded according to the ISO 9660:1988 Format
section 7.3.3.
.LE
.sp
.sp
.TB "CE System Use Field - Version 1"
.TS
center,box;
c | c | c | c | c | c | c.
X
'C'	'E'	28	1	LOCATION	OFFSET	LEN of CONTINUATION
(BP1)	(BP2)	(BP3)	(BP4)	(BP5 to BP12)	(BP13 to BP20)	(BP21 to BP28)
X
.TE
.sp
.sp
.sp
.H 2 "Description of the PD System Use Field"
.sp
The purpose of the "PD" System Use Field is to provide flexibility.
The "PD" System Use Field is optional.
There may be more than one "PD" System Use Field in a System Use Area.
The "PD" System Use Field(s) may appear anywhere in the System Use Area.
.sp
The format of the "PD" System Use Field is as follows:
.sp
.sp
.VL 10 5
.LI "[1]"
"BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
is a "PD" type System Use Field.
The bytes in this field shall be (50)(44) ("PD").
.LI "[2]"
"BP 3 - Length (LEN_PAD)" shall specify as an 8-bit number the length in
bytes of the "PD" System Use Field.
This field shall be recorded according to the ISO 9660:1988 Format 
Section 7.1.1.
.LI "[3]"
"BP 4 - System Use Field Version" shall specify as an 8-bit number an
identification of the version of the "PD" System Use Field.
The number in this field shall be 1 for this version.
This field shall be recorded according to the ISO 9660:1988 Format
section 7.1.1.
.LI "[4]"
"BP 5 to LEN_PAD - Padding Area" shall be ignored in interchange.
The contents are not restricted by this specification.
.LE
.sp
.sp
.TB "PD System Use Field - Version 1"
.TS
center,box;
c | c | c | c | c.
X
'P'	'D'	LENGTH	1	PADDING AREA
(BP1)	(BP2)	(BP3)	(BP4)	(BP5 to LEN_PAD)
X
.TE
.sp
.sp
.sp
.H 2 "Description of the SP System Use Field"
.sp
The purpose of the "SP" System Use Field is to provide an
identifier that the System Use Sharing Protocol is being used
within the given volume.
Additionally the "SP" System Use Field
specifies the number of bytes skipped within the System Use Area
of a Directory Record before recording System Use Fields 
(except the "." entry of the root directory).
.sp
The "SP" System Use Field is mandatory.
The "SP" System Use
Field must be recorded starting in byte position one (BP 1)
in the System Use Area
of the first Directory Record of the root directory of each
directory structure in which the System Use Sharing Protocol is
utilized, unless the disc is a CD-ROM XA disc, in which case 
the "SP" System Use Field shall be recorded starting in byte 
position 15 (BP 15).
Only one "SP" System Use Field should be recorded
within a single directory structure.
.sp
The format of the "SP" System Use Field is as follows:
.sp
.sp
.VL 10 5
.LI "[1]"
"BP 1 to BP 2 - Signature" shall indicate that the System Use
Field is a "SP" type System Use Field.  
The bytes in this field shall be (53)(50) ("SP").
.LI "[2]"
"BP 3 - Length" shall specify as an 8-bit number the length in
bytes of the "SP" System Use Field.  
The number in this field shall be 7 for this version.  
It shall be recorded according to ISO 9660 Format section 7.1.1.
.LI "[3]"
"BP 4 - System Use Field Version" shall specify as an 8-bit
number an identification of the version of the "SP" System
Use Field.  
The number in this field shall be 1 for this version.  
This field shall be recorded according to ISO 9660 Format section 7.1.1.
.LI "[4]"
"BP 5 to BP 6 - Check Bytes" shall contain two check bytes.  
The value of the bytes recorded in this field shall be verified
in interchange.  
The bytes in this field shall be (BE)(EF).
.LI "[5]"
"BP 7 - Bytes Skipped (LEN_SKP)" shall specify as an 8-bit
number the number of bytes to be skipped within the System
Use Area of each Directory Record (except the "." entry of the
root directory) before recording System Use
Fields other than the "SP" field.  
The number in this field shall be recorded according to ISO 9660 
Format section 7.1.1.
.LE
.sp
.sp
.TB "SP System Use Field - Version 1"
.TS
center,box;
c | c | c | c | c | c | c.
X
'S'	'P'	7	1	(BE)	(EF)	LEN_SKP
(BP1)	(BP2)	(BP3)	(BP4)	(BP5)	(BP6)	(BP7)
X
.TE
.sp
.sp
Note:  To allow compatibility with other uses of the System Use Area,
the contents of BP 1 to LEN_SKP of the System Use Area of each Directory
Record are not restricted by this specification.
.sp
.sp
.sp
.H 2 "Description of the ST System Use Field"
.sp
The purpose of the "ST" System Use Field is to provide a
terminator for the use of the System Use Sharing Protocol
for a particular System Use Area or Continuation Area.
The "ST" System Use Field indicates the completion of any information
that conforms to the System Use Sharing Protocol within the
particular System Use or Continuation Area.
The "ST" System Use Field is optional.
.sp
The format of the "ST" System Use Field is as follows:
.sp
.sp
.VL 10 5
.LI "[1]"
"BP 1 to BP 2 - Signature" shall indicate that the System Use
Field is a "ST" type System Use Field.  
The bytes in this field shall be (53)(54) ("ST").
.LI "[2]"
"BP 3 - Length" shall specify as an 8-bit number the length in
bytes of the "ST" System Use Field.  
The number in this field shall be 4 for this version.  
It shall be recorded according to ISO 9660 Format section 7.1.1.
.LI "[3]"
"BP 4 - System Use Field Version" shall specify as an 8-bit
number an identification of the version of the "ST" System
Use Field.  
The number in this field shall be 1 for this version.  
This field shall be recorded according to ISO 9660 Format section 7.1.1.
.LE
.sp
.sp
.TB "ST System Use Field - Version 1"
.TS
center,box;
c | c | c | c.
X
'S'	'T'	4	1
(BP1)	(BP2)	(BP3)	(BP4)
X
.TE
.sp
.sp
Note:  The Data field of the System Use Field is optional, thus it is
not used in the "ST" System Use Field.
.sp
.sp
.sp
.H 2 "Description of the ER System Use Field"
.sp
The purpose of the "ER" (Extension Reference) System Use Field is to store
information which (uniquely) identifies a specification of 
system-specific extensions utilized on a specific volume.
.sp
Whether this System Use Field is mandatory or optional shall be specified
by each complying system-specific extension specification.
Multiple copies of this System Use Field may occur specifying the
encoding of multiple collections of system-specific extensions used 
within a single directory structure.
.sp
This System Use Field, if recorded, must appear in the System Use Area
of the first ("dot" or (00)) Directory Record of the root directory
of the directory structure in which the system-specific extensions
to which this "ER" System Use Field refers are used.
.bp
.sp
It is the responsibility of the Publisher to avoid or resolve conflicts
between different system-specific extensions utilized on their publications.
.sp
Note that the instance of the root Directory Record that appears in
the Primary Volume Descriptor cannot contain a System Use Area, thus 
the root Directory Record as recorded in the "dot" entry of the root
directory must be used to record and retrieve this information.
.sp
The format of the "ER" System Use Field is as follows:
.sp
.sp
.VL 10 5
.LI "[1]"
"BP 1 to BP 2 - Signature Word" shall indicate that the System Use Field
is a "ER" type System Use Field.
The bytes in this field shall be (45)(52) ("ER").
.LI "[2]"
"BP 3 - Length (LEN_ER)" shall specify as an 8-bit number the length in
bytes of the "ER" System Use Field.
The number in this field shall be 8 + LEN_ID + LEN_DES + LEN_SRC for 
this version.
This field shall be recorded according to the ISO 9660:1988 Format 
Section 7.1.1.
.LI "[3]"
"BP 4 - System Use Field Version" shall specify as an 8-bit number an
identification of the version of the "ER" System Use Field.
The number in this field shall be 1 for this version.
This field shall be recorded according to the ISO 9660:1988 Format
section 7.1.1.
.LI "[4]"
"BP 5 - Identifier Length (LEN_ID)" shall specify as an 8-bit number the
length in bytes of the Extension Identifier recorded in this "ER" System
Use Field.
This field shall be recorded according to the ISO 9660:1988 Format
Section 7.1.1.
.LI "[5]"
"BP 6 - Descriptor Length (LEN_DES)" shall specify as an 8-bit number the
length in bytes of the Extension Descriptor recorded in this "ER" System 
Use Field.
This field shall be recorded according to the ISO 9660:1988 Format
Section 7.1.1.
.LI "[6]"
"BP 7 - Source Length (LEN_SRC)" shall specify as an 8-bit number the
length in bytes of the Extension Specification Source recorded in this
"ER" System Use Field..
This field shall be recorded according to the ISO 9660:1988 Format
Section 7.1.1.
.LI "[7]"
"BP 8 - Extension Version (EXT_VER)" Shall specify as an 8-bit number 
an identification
of the version of the system-specific extensions to which this "ER"
System Use Field refers.
The number in this field shall be specified by the organization which
defined the extensions to which this "ER" System Use Field refers.
This field shall be recorded according to the ISO 9660:1988 Format
Section 7.1.1.
.LI "[8]"
"BP 9 to 8 + LEN_ID - Extension Identifier (EXT_ID)" shall contain 
the content of the Extension Identifier.
The recording of this identifier shall use d-characters or d1-characters
as defined by ISO 9660:1988 section 7.4.
This field is mandatory.
The exact content of this field is specified by the organization which
defined the extensions to which this "ER" System Use Field refers.
.LI "[9]"
"BP 9 + LEN_ID to 8 + LEN_ID + LEN_DES - Extension Descriptor (EXT_DES)" shall
contain the content of the Extension Descriptor.
The recording of this descriptor shall use a-characters or a1-characters
as defined by ISO 9660:1988 section 7.4.
This field is optional.
The minimal content of this field may be specified or recommended by the
organization which defined the extensions to which this "ER" System Use
Field refers.
Recording of information in addition to any such minimal information
specified shall follow the recording of said information.
.bp
.LI "[10]"
"BP 9 + LEN_ID + LEN_DES to 8 + LEN_ID + LEN_DES + LEN_SRC - Extension
Source (EXT_SRC)" shall contain the content of the Extension Source.
The recording of this Source shall use a-characters or a1-characters
as defined by ISO 9660:1988 section 7.4.
This field is mandatory.
The minimal content of this field may be specified or recommended by the
organization which defined the extensions to which this "ER" System Use Field
refers.
Recording of information in addition to any such minimal information specified
shall follow the recording of said information.
.LE
.sp
.sp
.TB "ER System Use Field - Version 1"
.TS
center,box;
c | c | c | c | c | c | c | c.
X
'E'	'R'	LENGTH	1	LEN_ID	LEN_DES	LEN_SRC	EXT_VER
(BP1)	(BP2)	(BP3)	(BP4)	(BP5)	(BP6)	(BP7)	(BP8)
X
.TE
.sp
.TS
center,box;
c | c.
X
EXT_ID	EXT_DES	EXT_SRC
(BP9 to 8+LEN_ID)	(BP9+LEN_ID to 8+LEN_ID+LEN_DES)
X
.TE
.sp
.TS
center,box;
c.
X
EXT_SRC
(BP9+LEN_ID+LEN_DES to 8+LEN_ID+LEN_DES+LEN_SRC)
X
.TE
.sp
.sp
.sp
SHAR_EOF
chmod 0644 fields.nr ||
echo 'restore of fields.nr failed'
Wc_c="`wc -c < 'fields.nr'`"
test 13971 -eq "$Wc_c" ||
	echo 'fields.nr: original size 13971, current size' "$Wc_c"
fi
# ============= api.nr ==============
if test -f 'api.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping api.nr (File already exists)'
else
echo 'x - extracting api.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'api.nr' &&
.sp
.H 1 "REQUIREMENTS FOR SYSTEMS"
.sp
The System Use Sharing Protocol specifies that certain information 
shall be communicated between a user and an implementation.
.sp
An information processing system that conforms to this protocol shall
be the subject of a description which identifies the means by which 
the user may supply such information, or may obtain it when it is 
made available, as specified in this standard.
.sp
.H 2 "Requirements for an Originating System"
.sp
All originating systems which claim to implement the System Use Sharing
Protocol must comply with the protocol throughout each recorded System
Use Area.
.sp
The implementation shall be capable of recording a set of System
Use Fields in System Use Areas that are specified in this standard,
on a Volume Set in accordance with one of the interchange levels
specified in ISO 9660:1988.
.sp
The implementation shall allow the data preparer to supply the information
that is to be recorded in the System Use Area according to the 
System Use Sharing Protocol and shall supply the information for any
required fields if the data preparer does not supply it.
.sp
.H 2 "Requirements for a Receiving System"
.sp
All receiving systems which claim to implement the System Use Sharing
Protocol must implement the all System Use Fields as defined in this
specification.
.sp
Any System Use Field which the receiving system does not recognize is
to be ignored and skipped.
.sp
The implementation shall be capable of reading a set of System
Use Fields in System Use Areas that are specified in this standard
from a Volume Set in accordance with one of the interchange levels
specified in ISO 9660:1988.
.sp
.sp
.H 2 "Coexistence with other Extensions and SUSP Registry"
.sp
Adherence to the System Use Sharing Protocol provides for the
mutual coexistence of different system-specific extensions
to ISO 9660:1988 by defining System Use Fields to be recorded
in System Use Areas.
.sp
A registry system will be established to
monitor and record existing and new System Use Field specifications and
distribute this information to individuals or organizations pursuing
the implementation of new and/or compatible system-specific extensions.
.sp
.H 2 "Implementation Suggestions"
.sp
For special cases, receiving systems are encouraged to provide a mechanism
to optionally disable the System Use Sharing Protocol in its entirety.
SHAR_EOF
chmod 0644 api.nr ||
echo 'restore of api.nr failed'
Wc_c="`wc -c < 'api.nr'`"
test 2387 -eq "$Wc_c" ||
	echo 'api.nr: original size 2387, current size' "$Wc_c"
fi
# ============= bib.nr ==============
if test -f 'bib.nr' -a X"$1" != X"-c"; then
	echo 'x - skipping bib.nr (File already exists)'
else
echo 'x - extracting bib.nr (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'bib.nr' &&
.sp
.H 1 "BIBLIOGRAPHY"
.sp
.BL
.LI
ISO 9660:1988 - Information Processing - Volume and file structure of
CD-ROM for information interchange
.LI
Phillips Consumer Electronics B.V. March 1991. System Description CD-ROM XA
.LE
SHAR_EOF
chmod 0644 bib.nr ||
echo 'restore of bib.nr failed'
Wc_c="`wc -c < 'bib.nr'`"
test 225 -eq "$Wc_c" ||
	echo 'bib.nr: original size 225, current size' "$Wc_c"
fi
# ============= TOC ==============
if test -f 'TOC' -a X"$1" != X"-c"; then
	echo 'x - skipping TOC (File already exists)'
else
echo 'x - extracting TOC (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'TOC' &&
.TC 1 1 4
SHAR_EOF
chmod 0644 TOC ||
echo 'restore of TOC failed'
Wc_c="`wc -c < 'TOC'`"
test 10 -eq "$Wc_c" ||
	echo 'TOC: original size 10, current size' "$Wc_c"
fi
exit 0
