Ó 0 i I I I l i t l I t I I l t I S I l I 0 Ó S t l Ó l I I t 4 b Ó S g l l g B 6 i t T 0 C Ó I t I I 6 C t t l l I I 0 I I I I t i l I i J t l I i t 0 I t l 2 t t I 2 I t I 0 I C d t i l Ó t I 4 Ó q f j i i ¢ t 0 I i t I t l } t l S l $ J I l } i } 0 i 0 l j $ j t t I 0 I 0 1 i I t I I Ú 0 I t I 0 I t l I f 6 Ú I t I t t l g F 0 t t t Q I d $ i l f k { 6 l i t t I 0 t t 0 i I S l I ¶ f S t I t I t d i I l t l g t l l Ó l 0 t Ó l l l l Ó t 0 I I b i t I I I b Ü I $ b t t i f I l l I t t t I I t I t t g I 4 t 0 l g l I l i I 0 q q I I l ¶ I g J g J I J g g b q I $ I q t Q E q I I l ¢ I l l t t i 0 I Ó ¶ t t I S I 4 g l E g I t I i I l I g I b f 0 l 0 I S t l i t 0 I $ i q Ó C t I I t t t l t t l t l ] J $ j S ! i g g t ¢ I t I E i L I 6 i 0 t 6 Ó 0 J O l g i l I I t 0 I 6 l Ó Ó b d I t J l g l á t 0 t t 0 I 6 I S C t 0 I [ ( i 6 Ó I 6 g I ( t t i t i C I j j t I P } l t l J g j S g t J t t 1 0 t Ó t l I 0 t S I Ó I I q t 0 I l q C I Ó I t I l L 0 Ó ¢ Ü Ó Ó 0 t I f b I 6 ! I I t t I I 3 I I I S i f I f I ( t l i l 0 B 0 I t I b t I I 0 ¢ t t I I Ó d 6 á I E 4 j I i t q I l I I l J ¢ I t I t i i t I l ( t 0 i Í I t I I I l 6 t t t ? i I t t Ó t t 6 i l i y j t j 4 ) 4 t g t I t 6 l l I t I I I t l I I y 0 I t I C I t l Y I t 1 t I I $ t i 4 k I 0 4 Q 6 f i Ó I t h Ó t Ó ¶ I t ( C Q i C r e k t g t t J l l i t t t t I t Ó I P l J j I I g i t 6 I I t g l I t I I t t g l 6 I Ó 6 Ó } I t t l J t t t t t 0 t t I B 0 6 l S I q I g E l t l t Ó I P 0 Ó t { I Ó C t t t I t t I l t f I t l 0 I t t I t E I I I t l 6 4 I I I I 0 I t i b I I l I g I B 9 I S I g 0 t I t I t B g b I 6 I t y 6 I I 6 I I I 6 i l l $ j b I b l l l J l i j t i t q t 0 S Ó I $ ¶ t q t i Ó ¶ 0 I 0 t 6 t O I l 0 I I I Ó I g b O Ó b I l I i l 0 I ¢ I Ó E [ I E S 6 t Ó t C f 4 C t t E l t 0 t l Ó l t b J t l I I J t 4 b f b g j t I t t Q D j C I U I Ó q I I I I I I I I I q t O 0 I I 6 O 6 Ó I O I q t I i I I t 6 0 t 0 U g l 0 Ó f
TERM
III
A Ccmnunications Sy8tem
for
the ZCPR3 U8er
Written
byRichard Conn
Copyright 1985 Richard Conn
t á k i b S l g I 6 i 0 I I f Ó I Ó I 0 Ó 6 I 6 b I Ó I l t f 4 i Ó ¶ I C I ( f q C d f g f I I C t t t I l t t 6 l t } Ó l f g 0 I I ! ! I g I $ I t I y b I I 0 I E t 0 B I I I t a ) q t I E l l t l t b I l $ 0 t t t g I t t 0 3 t 0 l I I Ó ( ( f g t $ t C d q t S I i I t l t t D t l g I ¶ t S i J b i D i I Ó S C l 0 B I } 0 i 0 S I t I t t l 6 I i I I Q Ó 6 f t 0 I g I $ I I Ó I t I g I t t t l i I I 4 I C I f 4 ( 3 i 1 S l t i t 0 t t b 6 l l 0 t Ó l B l l Ó l I 4 6 t 6 i 0 I t g t t l I l I t f Ó I I I t I t l I f I i t k I i 4 j l I l i l l l I g b I t 6 I g b l b l g g l g I i l 0 t 0 I I E t t f t I I l ¢ q I I 0 I S I I I Ó I t I 0 t t t ( g l t Ó t 8 t 0 I I 6 t Ó i t t q t O I C t i t t l l l t l t t Ó e i J g J ! i g B $ l J t t t q t I G l l g S g 6 i I i l 0 I 0 I t i b l 6 I S i t I t I 6 I t I 6 á I I I ¢ E i 6 I ( J t C t f C i ( t C I g l t I t t t t I I t I l 0 l j l I 0 l l t Q t I I t Ó l Ó l S D Ó l 4 4 4 t 0 I t 4 0 Ó 4 y L I t g Ó 0 I 0 I t I I I 0 I I I l I Ó I Ó I f I t f t I f f ) 0 t 0 I l I 0 I S I 6 $ I I l I ¶ I 6 I t I S I I I t 6 t I t I $ { 0 I 4 t 0 E 0 I 0 t 0 j 0 l 0 I i I S l Ó I ¢ Ó t C t t l t t t t t I t l } l t } G t J 1 J l b D S J B i 4 t t I I g I t I f I ! l t I G I t t I 6 t I G l 0 I I I t L j l 6 g t i k I I t I Ó l Ó I Q I 6 f I Í $ t Ó I i i d l I C I t t t t t t I t l } l $ J g J g l J l f i t I t I I t I I t t t l I 6 i Ó I I I 4 i i t l 4 I I j I 0 I 0 I q l á t I g 0 Í l I t 0 b t I É I 0 i f I f f f ( S I C I 6 t t t I l C I 4 I b S ¿ i t I E Ó i 6 ? i I i t 0 I t t Ü t 0 l S t I t S I $ I l I Ó f I 6 I I ¶ S t I S l I 0 ¶ S I t ¶ t I q I i J S l l Ó B l l t I j l I q t t I l L t D i t g t t Ó t t 0 t S q I I i t l q I O t t t ¢ E q I i t t t I I b { l I I $ C i V I C t t t I I t t l l t l P i l I l f i j I J E J t 9 6 Ó I I 0 I I j I Ó l f I I b I 0 I t l E Q b I S I S I t l 0 I g I 0 I Ó I t b i t t I t g i 6 t t I t t ( I C t J t t t I t t I t l l l l I g l t l I I ] l g 6 g I I l I t I Ó I I l I I I I Q l 4 L I I g I j f I g I t I 4 I t I k I t 6 t ! I t b 0 I f I S I 6 I ¢ l g I I 0 I 0 I C t t t ¢ i i Q t l 3 t b b I g 6 I t I Ó l i 6 I C 1 6 ] t l Ó d i t Ó i l I I l 0 I t j 6 I t i t t i ! Ó l t 6 I I I I l t I i I l I I t á ! I i I t b J b t ) J t t 0 t t i l [ S I 0 t I t I l I t t I Ó t t t l f t I 4 I I I I b I t I t f I I b l t I ( I 3 I ¢ Q t I t l C 6 0 € 8 C O i t l t t t t Q V l t t } l g l ! t Ó } l I l I j l Ó I t I I t 0 L f t Q t I 6 I t I i 4 4 Ó 0 I Ó I ¢ i $ b i I i i l b I b l b g Ó l 0 I 0 t l l I Q ( 0 q t f C ( I C t I i t i l l t i t l l l t l } I I I t l Q I C I k l 0 I Ó l g I 0 ¢ I t i S t l O 0 8 t t 8 t t 6 I l t I t i g l I l i I 4 l t I i 0 b I I Ó I S l 0 f f l t E Ó 6 g l l t I l S I t 6 I l t I i t Ü t t t l Ó l l 6 $
»
0 I t f $ I 6 $ I I 0 I S i i t I t I b t Ó I 0 I g l l I S l t i a } t l l 0 j t g i 0 8 $ l B t I J L Ó I I t g t i I I t k t t q t f t q C l l I t i g t g I t I I t f I l S l j I I t 0 I I l 4 Ó t t t f 6 ( 8 [ C l C S C t i t C i l d t l 6 0 l D l j I 9 I S I 0 b I l l l t I I l I I l Ó l I t I ,' l O $ Q I Ó l t l t I g S l t I Ó t 0 t I l C t Q I t i l 6
Document and program Copyright 1985 Riehard L. Conn. No
part of
this
document inay be reproducedin
any manneror
by any meanswithout written
consentof
thepublisher.
Contact Echelon,Inc.,
P R E F A C E
This document describes the TERM
III
Communication System. Theoperational
conceptis overviewed herein,
andthe various
commands are described
in detail.
Theinitial
releaseof
the TERMIII
Systemdiffers
from theinformation
presentedin this
documentin
thefollowing
ways:o the T3FILER program
is
notyet
complete-
the TERMIII
protocol is
not implemented-
the KERMIT and CISprotocols
are notimplemented
-
the Batchtransfer option
under MODEM7is
not implemented
o the
following
programs are not provided and theinformation
presented on themis subject to
change (moreso than the other cormands):
-
T31XJ-
TM1ASTER-
T3SERVERo the
selection of
niodeins under T3SEI1MOD (thefile
T3MODCAP.MCP)is
notyet
completeA second release (phase 2)
of
the TERMIII
Systemis
plannedin
which thesefeatures
will
be included. Thisinitial
release(phase
I) is presented
dueto user desire,
and Echelonwill
distribute
the
secondrelease without
anyadditional
chargeto
all
users whoplaced
original
orders for the
TERMIII
System.The
documentation
on thesefeatures is subject to
changesince
design changes may be
later
made duringfinal
implementation andtesting.
Minor documentation changes andfeature
changes may be madeto
theother
TERMIII
System commands aswell.
The
creationof
theTERMIII
System has taken over ayear,
and
this effort
has been onthe order of the creation
of the
ZCPR3 System
itself.
Taketime to
study thoroughlythis
documentand the supplied examples before
installing
the TERMIII
Systemand adapting
it
to
yourapplications.
Thank you
for
yourinterest
and support.Richard Conn
I t k I t I L k t f i i ! i I I i t k I \ I É I t i É ( t ( I q i l I S t I l I E i l I I i ( 1 l ( ¢ Í f ¢ ( ¢ ( t i I i l I I \ l I É f ( É I t ¢ É I f l t I t l $ I i L i F i É S J t I t i g I ¢ 6 t i l l i á t t I ) I l I S I i ( [ É ( f 5 l F i É I P l I t ¢ i l i l I l t I i F t $ i I ( I t l l l l I 4 I L f l t I á I I K i i S I \ I i I t i ¢ { t S t i P I I ? I i I i h I t É I I i l Ó I i i 0 ( I l $ É l I ¶ l i I ? ( t I } \ 1 I t t t t t 1 t I l I t t L l l g l t l l l } I I ) l ) I I ¶ I I j : t I I t t t I t f t I I ! t k l t I S f L I t t I É l l t t É l 1 t I l I t I I t 4 É ( t t l l l I I I ) I l j ) ) F i t i t $ l i I q I ¢ I i I I i I S l t f I t t I t l l I t I l I I i b l | l i t ( I t ) I t t l l t I i I i I ) J i j g I t I 1 I k ) I ¢ } i t l f t 4 I l l l l l i I I 1 K I I i t I t 1 I ) I l t I I t i l k t l l t t l ? b l ¶ $ I g b J i I f É ) I t I I I $ t I I I É t I t ) I k t É l I t I I i t I l I I l l t k l ) l I } É I t t k t t t t t 1 l t l i ) ) ) t l t I ( t 4 t I t I f I l l l t l I i I I i t É k l t i I t t I t 4 I b I L I l l l L t t ( i ( I l t t t } I ) $ I i j ! ) 4 i t ) ¢ P t t I ¢ i l l l I t \ t \ l t l É t I t t t t i I b I ¶ i I t I t k f Í I { l r q i t t t t l l t l t l l k l I ) l É I k t I l I t L k t i t t l i l } t É I J i ) l ) É i I ( i i I { t É I t C S i I i l I : f t t t l l } t i ) ) ! t I i ) I ¶ ) l t t i I | I t I l I L I i t t I L l t I i k 1 t I t t I b i t ) i j i i ¢ ¢ ( ¢ I q ¢ l t t l t t } } l l ) l I I l J É t I i S l I I l I I l I l I t I 4 K { f I I I l t l I i k t t } j t t ( f ( f q i ( f t i t t I l t } I t t I l l l ) f t l k i ( I I $ t L l | t I ( t f I l I i l I l I I t h t I i } É I I t f { 4 I É { É i E ( ¢ t t t t { t t t b l 1 1 E t j l ¢ l i l K É t f P i \ ( I t É I l t t I I t I i k \ $ k É 1 t l t I t I ! I t ( 1 I i t i i ¢ l l ( ¢ t l t l ) l ¢ I t L É ) b l i l $ I I k b b É L f i I l t I ) I t i l I
TERM
III
A Communications System
for
the ZCPR3 User
Written
byRichard Conn
Copyright 1985 Richard Conn
I t t l l ( j t f t i L \ I I S i t i $ t I t f I I 1 I É i k ) t j g I ¥ I g i É ) t I l I t t t 4 I t t ¢ t l ! f i É l É t I I P I t á I t t i $ i I E | ¶ ) l 1 I I I l t t ¢ l l } J l l b l l ) l I g k I I i k t I l l t t I i h t I l i I l I ) i t ¢ É ¢ t { I l I t i ! t \ t I t t \ É 1 t I l 1 t i i t t l r l t l I l i P j } i t P I I I I Í i f t I t ¢ b I t I i I k f ) t l t I t l h t I l t h t l t t l l i É | t l t $ t t t i t } l t J } b i ) I I I I I I i I t ( t t É t i t t É I K I \ ¢ t I t t $ l ¢ $ l l i I t I t ¢ I i k I t t { C l l t t } t l l } i I $ t I l b I J l I I \ $ l i É $ I t g t i I t t i É k I I t ( \ I g I t k I I $ F t É i t I i t l t ( k t t t t l E l t t } g I t ) l E l t l i i j I l t t l l I t t I } I É I i i É 1 t Í i k l I L \ t Í t i 1 ¢ ¢ t t ¢ Ó i ¢ t t t l t C P I t I b l S l I ) I B l g t I
Marketed and
Distributed
by: ::::::::::::::::::::::::::::::
Echelon, Inc :
:::::::::::::::::::::::::::n
101
First Street
::::::::::::::::::::::::::::::
Los
Altos,
CA 94022 ::::m::::::::::::::::::n:::
415/948-3820 :
:::::::::::::::::::::::::::::
k I t t É t I i I 1 I I t t I t t \ l I i t t i I t É l l I i { t 3 l ¢ I S { ( F i { ¢ t i | i j t i t t t E t i t l l
Z-Node
Central:
:::::::::::::::::)::::::::::::
415/489-9005 :
:::::::::::::::::::)::::::)::
T A B L E O F C O N T E N T S
I.
The TERMIII
System...1-l
2. TERM
III
BasieConeepts...2-1
2.1.
Useof
Menus vs CommandLines...2-1
2.2. Applications
Environments...2-2
2.3.
Remote Access Systems andZCPR3...2-3
2.4. Input/Output
Packages on a Remote AccessSystem..2-4
2.4.1.
"Normal" UserEnvironment...2-4
2.4.2.
"Privileged"
UserEnvironment...2-6
2.4.3.
SYSOPEnvironment...2-6
2.4.4.
Booting
Environment...2-6
2.4.5.
User-to-üser
Environrnent...2-7
2.4.6.
Summaryof
ConsoleDevices...2-7
2.5.
Time Logging on a Remote AccessSystem...2-8
2.6.
CommSets...2-9
2.7. Result
Codes...2-10
3. Command
Summary...3-1
3.1.
Communication...3-3
3.1.1.
T3FILER...3-4
3.1.2.
T3FLUSH...3-7
3.1.3.
T3SEND...Á3-8
3.1.4.
T3TERM...Á3-9
3.1.5.
T3TERMB...3-10
3.1.6.
T3TEST...3-11
3.2.
TelephoneControi...3-12
3.2.1.
T3ANSWER"...3-12
3.2.2.
T3DIAL* 0 0 * 0 0 0 * * 0 0 0 6 0 e 0 0 0 0 0 e e 0 0 0 e » 0 0 © e . » O.3-13
3.2.3.
T3HANGUP*...3-14
3.2.4.
T3INIT*...3-15
3.3.
AccessControl...3-16
3.3.1.
T3LOGCHG...3-16
3.3.2.
T3LOGCK...3-17
3.3.3.
T3LOGIN...3-18
3.4.
CommandFile
Processing...3-23
3.4.1.
T3DO...3-23
3.4.2.
T3MONRPT...3-27
3.4.3.
T3VIEW...3-27
3.5.
CommunicationsServer...3-29
3.5.1.
T3MASTER...3-29
3.5.2.
T3SERVER...3-32
3.6.
Editors...3-33
3.6.1.
EDCST...3-33
3.6.2.
EDTMC...3-35
3.6.3.
EDTXD...3-35
3.6.4.
EDXLT...3-36
3.7.
Miscellaneous...3-38
3.7.1.
T3NOTE...3-38
4. Examples
of
Useof the
TERMIII
System...4-1
4.1.
Initia1ization...4-1
4.2. Calling
aComputer...4-1
4.3.
Answeringthe
Te.lephone...4-3
5.
Installation...5—1
5.1.
Installation
Instructions...5-1
5.2.
T3INS...5-2
5.2.1.
KeyVariables...5-3
5.2.2.
Variables
that modify the
CormSet...5-3
5.2.3.
Variables
for T3NOTE...5-4
5.2.4.
Variables
for T3LOGIN...5-5
5.3.
T3SELMOD...5-5
5.4. Discussion of
Sample ModemOverjay...5-6
5.5. Discussion of
Sample TelephoneInterface
Overlay.5-8
APPENDICES
A.
References...A—1
A.l.
ZCPR3 andZ-System...A-l
A.2.
CP/M...A-2
A.3.
Other...A-2
A.4.
Addressesof
SomePublishers...A-2
B. Devíces Supported by T3MODCAP
I.I...B-1
B.1.
AmproLittle
Bd...B-2
B.2.
Apple-Cat...B-2
B.3.
AppleMountain...B-2
B.4.
Big BoardI...B-2
B.5.
CCS2719...B-2
B.6. Datapoint
1560...B-3
B.7.
EpsonQX-1O...B-3
B.8.
HayesMM1OO...B-3
B.9.
HeathH89...B-3
B.1O. Heath
H1OO...B-3
B.1l.
Interfacer
3/4...B-3
B.12.
Kaypro...B-4
B.13.
MicroDecision,R1...B-4
B.14.
MicroDecision,R2...B-4
B.15.
Phillips
P200OC...B-4
B.l6.
SDSZ80-SIO...B-4
B.17. Seattle
SCP400/0...B-4
B.l8.
Seattle
SCP400/1...B-5
B.19. Seattle
SCP400/2...B-5
B.20. Seattle
SCP400/3...B-5
B.21.
SuperQuad/Six...B-5
B.22.
Superbrain...B-5
B.23.
System Support1...B-5
B.24. Televideo
TS-802...B-5
B.25.
TRS-80 ModelI...B-5
B.26.
TRS-80 ModelII...B-5
B.27.
TRS-80 ModelIII...B-5
B.28.
TRS-80 ModelIV...B-5
B.29.
USRobotics
S1OO...B-6
B.30.
ZORBA...B-6
C.
Listíngs
of
SampleOverlays...C-l
C.l.
Sample ModemOverlay...C-l
C.2. Sample Telephone
Interface
Overlay...C-4
D.
Distribution
Files...D-l
I
N D EX...Index-l
Introduction
TERMIII
I.
The TERMIII
SystemTERM
III
is
a communications system which runs underthe
Z-SYstem (the ZCPR3 command processor
with, optionally,
the ZRIXJSCP/M BDOS
replacement).
TERMIII
consists
of over twenty
programs which provide the
following capabilities:
o
interactive
communicationwith
remotecomputer systsm oreliable
file
transfer
between the user's computer andremoteeomputers
o
control of
anauto-dial/auto-answer
modemo access
control for
remote systemapplications
(the user'ssystem can be set up
to
bedialed into
by outside users)o
rapid
and easyreconfiguration of
the communicationsenvironment
for different
applications
TERM
III
is integrated with
ZCPR3 and provides the Z-Systemuser with
a communicationscapability
that
can be adaptedto
awide
variety
of
needs and can be usedin conjunction
with his
other
Z-Systemtools.
The TERMIII
programsreturn their result
codes (which
indicate
the success orfailure
of their
operation)in
a manner which can be examined using the IF command. TERMIII
programs can be employed
in
menus andaliases
that
provide
commands and
applications
environments which aretailored to
auser's
specific
needs.TERM
III
programsrely
upon the environment provided by aZ-System
for
support. Some aspectsof this
supportinclude:
o
All
screen-orienteddisplays obtain terminal-specific
information
from the ZCPR3 TCAP.o Many
of
the programsreturn result
codes (via the ProgramError
Messagein
most cases) through the ZCPR3 EnvironmentDescriptor.
o
File
references can beprefixed with
the ZCPR3directory
reference forms (DIR or DU).
o Path searches or
direct
ROOT accesses are employed asrequired.
o Messages and
other attributes
of
the ZCPR3 environmentare used
extensively.
A
large
numberof features
werebuilt
into the
TERMIII
System
inorder
to provide the user with
flexibility
of
use andIntroduction
TERMIII
use and
user-friendliness
arealso
key elementsof the design.
An
outline of
thefeatures of
the TERMIII
Systemfollows:
1.
Interactive
Comnunieationso
terminal
rnode-
the user"feels" like
heis direct}y
connected
to
the remote computervia
aterminal
o conversation rnode
-
the screenis divided, with
incoming characters
printed in
the tophalf
andoutgoing characters
printed in
the bottomhalf
o
translation
tables -
all
incoming and outgoingcharacters pass through
translation
tables,
supporting
parity
transmissions, maskingof
selected characters (such as escape sequences),
and using
different
character sets (such as EBCDIC)o macro
tables -
ten predefinedstrings
can betransmitted at
will
o
printer
output-
displayed characters can be queuedto
theprinter
o
buffer
load and dump-
displayed characters can bestored
in
a rrternorybuffer
and dumpedto disk,
printer,
or the remote computero XON/XOFF recording
-
displayed characters can bestored
in
adisk
file,
using XON/XOFF handshakingto
ensure no lossof
datao dynamic
setting
anddisplaying of
environmentvariables for
easeof selection of features
2.
File
Transfero several communications
protocols available,
including
XMODEM
with
Checksum, XMODEMwith crc,
and KERMITo batch
file
transfer
(sendinglists
of
files
usingwild
cards)available with
someprotocols
o comnunications server
-
remote system access andcontrol
from theuser's
systemwithout
the needfor
the userto
issue commandsto
the remotesystem
directly
3. Mod«n Control
o answer the telephone and drop
into
the Z-Systemenvironment
with
aresult
code (phone rang oruser
abort)
o
dial
the telephone based on mnemonics orspecific
telephone numbers
o
rotary dialing - dial
all
numbersin
adirectory
file
in
sequenceuntil
one answerso
multiple
telephone nuñberdirectories
Introduction
TERMIII
4. Access Control
o UJGIN program
o
selecting
theattributes
of
auser's
environmentbased on the
user's
ID;attributes
include:
-
command search path-
ZCPR3 System Segments loaded- startup
corrunandline
-
various EnvironmentDescriptor
data-
wheel byte andquiet flag
o loading a TCAP
entry
based on theuser's
ID5. Environment
Configuration
o use
of
Comm Sets (Ccmmunications Sets) whichdefine
the aspectsof
an environment and can bequickly
loaded as neededo screen-oriented
editors to
create andtailor
Corm Sets
easily
o automated program
installation
procedurewith
installation
configuration
files
The TERM
III
System was designedto
meet the communicationsneeds
of
the serious Z-System user, and knowledgeof
the Z-Systemis required to
makeeffective
useof
TERMIII.
Thereader
is
referred to
ZCPR3: The Manualfor
adetailed
discussionof
ZCPR3and
to
Echelon,Inc.,
andits
newsletters
andother supporting
activities
for information
on the Z-System. See the Referencesappendix
for
moreinformation.
This
documentis
designedto provide
the reader with
information
on howthe
programsin the
TERMIII
System areintended
to
be used under a Z-System.It
includesinformation
onthe basic
conceptsof the
TERMIII
System and how TERMIII
andZCPR3 can work
together.
Details
on each programin
the TERMIII
System are presented,
including details
oninstallation.
The
information
in
this
documentis presented with the
assumption that
the reader is currently
using
ZCPR3 andis
familiar
with
manyof
its
fundamentalconcepts.
The useof
aliases,
menus,flow control
commands(IF,
ELSE,FI),
andthe
command search path should be understood by the reader. See thereferences
for
help in finding
information
onthese
andother
Concepts TERM
III
2. TERM
III
Ba8ic ConceptsThis chapter discusses several concepts
that
are fundamentalto
the design of the
TERMIII
System. Thereader
must understandthese ideas
in
orderto
use TERMIII
effectively.
In
surnmary, these concepts are:o Use
of
Menus vs Command Lines oApplications
Environmentso Remote Access Systems and ZCPR3
o Input/Output Packages on a Remote Access System
o Time Logging on a Rernote Access System
o Comm Sets
o Result Codes
2.1. Use
of
Menus vs Command LinesMost
of the
TERMIII
programsprovide the
userwith the
option of issuing
commands from a menu ordirectly
from a commandline.
The keyfunctions
of these
programs can be invoked byeither
method, and the method employedgenerally
depends on theuser's application.
Command
lines
areuseful
when menus oraliases
are employed.For
instance,
the
TERMIII
System can beset
upto perform
operations
like this:
Dial
the Telephone Numberfor
System X(*)
If
answeredLog
into
it
(*)
Send
File
FIto
System X(*)
If
transfer failed
Note
failure
of transfer
(*)
end
if
Test System X
for File
F2(*)
If
File
F2available
Get
File
F2 from System X{*)
else
Note lack
of File
F2(*)
end
if
Hangup the Telephone
(*)
else
Note
failure
(*)
end
if
Each
line
of
pseudo-codelisted
above correspondsto
onecommand
to
ZCPR3. The Z-Systemis
used as the executivefor
theprocessing of
this
command stream. Thoselines
markedwith
anasterisk
(*) are performed by TERMIII
System commands.This
command sequencecould
have been invoked by a menu,alias,
or commandfile
(ZEX or SUB) under the Z-System. Commandlines
arealso
handy whenthe
user
is at
the ZCPR3command
level
and wantsto
issue a commandto
perform afunction
Concepts TERM
III
on the remote system
while staying at
the commandlevel for his
next
command. Thefojjowing
scenarios
illustrate this
(steps
done using TERM
III
System commands are markedwith
anasterisk):
Scenario
I:
User wantsto
sendfile
to
remote systemSend command
to display
dir
on remote system(*)
Look
at results (*)
Based on
results,
send commandto
change name(")
of
afile
on the remote systemif
it
duplicates
the name
of
thefile
to
be sentSend the
local
file
(*)
Scenario 2: User wants
to
get afile
from a remote systemSend command
to display
dir
on remote szsystem(")
Look
at results (*)
Look
for disk with
enough roomfor
file
Get the remote
file
to
thetarget disk (*)
2.2.
Applications
EnvirOnmentsThe TERM
III
System was designedwith
threeapplications in
mind:
o use as a Remote Access System (RAS)
-users
dial into this
system,interact
with
it,
andtransfer
progransinto
andout
of
it
o use as an
originating
Comrnuncations System-the user
dials
outto
other computers andcorrununicates
with
them, performingfunctions
which include
file
transfers
o use as a
Configuration
System-the user configures the
attributes
of
theother two types
of
systemsEach
type of
systemrequires only
someof the
files
that
make up
the
TERMIII
System. Theother
files
can beomitted,
resulting
in
a savingsin disk
space and an increasein security
(the users
of
the RAS cannot run programsthat
can do damage).Some
files
associatedwith
these systems are:Remote Access Systems (Z-NODES} T3ANSWER
- to
answer the telephoneT3HANGUP
- to
hang up the telephoneT3INIT
- (optional) to
init
theinterfaces
T3LCGCHG
- to allow
a userto
changehis
passwordor
terminal definition
T3IAGIN
- to
log usersin
T3NOTE
- to
logactivity
of
usersT3SERVER
- to
send and receivefiles
Systems Used
to Call
OutT3DIAL
- to dial
the telephone, answer thephone, and hang up the phone
Concepts TERM
III
T3TERM or
- to
communicateT3TERMB or T3FILER T3MASTER
- to
communicate(with
T3SERVER)Systems Used
to Establish
EnvironmentsT3INS
- to
install
Corm Setsin
programsT3LCGCK
- to
check syntaxof
IÁX3IN.TXTfiles
T3TEST
- to test
MODEM.BIN seginentsEDCST
-
Comn Seteditor
EDTMC
-
Macro NamesEditor
EDTXD
-
TelephoneDirectory Editor
EDXLT
- Translation
TableEditor
2.3.
Remote Access Systems and ZCPR3ZCPR3 and
the
TERMIII
System canintegrate
to create
asecure Remote Access System (RAS). The
aspects of
such anintegration
which enhanceits
security
include:o Path search can
restrict
the commands accessedby a user
o
Disallowing
the DU form andpermitting
the DIRform
of directory
reference onlyautomatically
provides password
protection
ondirectories
o Many ZCPR3 cormands pay
attention to
the Wheelbyte, and
privileged functions
are disabledif
the Wheel byteis
turnedoff
ZCPR3 commands are
resolved
bysearching
along a commandsearch
path.
Only those COMfiles
alongthe path
rnay beexecuted. Hence, by
carefully
placing
harmless commandsin
thedirectories
alongthe path, the user is not granted
accessto
commands which could do damage.
ZCPR3
allows the
userto
accessdirectories
bydisk-user
references
or
by name. Thedisk-user
referencesfeature
can bedisabled,
leaving only the
name.This presents the
SYSOPwith
two major advantages:
o named
directories
can have passwords associatedwith
them, and these passwords must be givenin
orderto
complete thedirectory
referenceo only
directories
which are named can be accessed;hence,
if
adirectory
containsfiles
but doesnot have a name, the
files
in
it
cannot beaccessed
The PATH and LDR commands are used
to
changethe
path andthe
load
different
nameddirectories
(or
environment
descriptors).
Accessto
these commands by a normal user has theEX)tential
of
causing damage. Consequently, the TERMIII
Systemprovides a program
called
T3IÁGIN which performs thesefunctions
and more
without requiring
a PATHor
LDR commandto
beavailable.
When T3LOGIN
executes,
its
only inputs
fromthe
user are auser
name and password.It
searchesthrough
a LOGIN.TXTfile,
processing environment
definition
commands and lookingfor
a username
-
password match. When a matchis
found, the environmentis
configured
by T3LOGIN asinstructed
fromthe
LOGIN.TXTfile.
Aspects
of the
ZCPR3environment
which can beconfigured
byT3LCGIN
include:
Concepts TERM
III
o the cormand search path
o which system segments
(including
nameddirectory
files,
RCPs, FCPs, and lOPs) are loadedin
the
user's
environrnento whether DU forms are allowed
o whether the Wheel byte
is
setConsequently, the user can
freely
access and run T3LCGINat
both
login
time and any time duringhis
session. Who he logsin
as determines the
attributes
of his
environment. Theother
ZCPR3programs
(with
the exceptionof
LDR, whichis
still
usedat cold
boot
time)
usedto manipulate the user's environment
can be remved.2.4. Input/Output Packages on a Remote Access System
Input/Output
Packages (lOPs) are segmentsof the
Z-Systemwhich
contain
groupsof Input/Output
device drivers
for the
Console, Reader, Punch, and
List logical
devices. A Z-System maybe implemented
with or without
lOPs. For a Remote AccesS System,lOPs
provide
aconvenient
mechanismto further
enhancethe
operation and
security of
the system as a whole.Different
I/O environments are requiredfor different
typesof
communicationsapplications of
a Z-System. Sorneof
the eotnrrionI/O
environments include:o the environtnent
of
a "normal" userof
a RASc) the environment
of
a"privileged"
userof
a RASo the environment
of
a SYSOPcalling
into his
RASo the
"booting"
environment when a RASis cold-booting
o theuser-to-user
environment when a personis dialing
into
a Z-Systemthat is
attended byits
owner,and the two people are going
to
worktogether
through the Z-System
2.4.1.
"Normal" User EnvironmentA "normal" user
is
one which should not be allowed accessto
commands
that
candisrupt
theoperation of
the Z-System. These"dangerous" corrtrnands may be
physieally
removed from the RAS, butcertain
classesof
users, such as a SYSOP whois dialing into his
system
to perform
maintenance, may need them. The Z-Systemprovides two convenient mechanisms which combine
to protect
the"dangerous" commands from execution by the "normal" user:
o the comtnand search path
for
a "normal" user can be set upin
such a waythat
it
does not include thedirectory
containing
the "dangerous" commandso the DU (Disk/User) form may be disabled, and the
"dangerous" comnands may be placed
in
adirectory
whichhas a name and password associated
with
it
or
adirectory
which does not have a nameThe TERM
III
program T3LOGIN hasthe
ability
to configure
Concepts TERM
III
T3LOGIN
accepts
as inputONLYauser
nameandpassword,
and,if
the pair is
verified,
then anenvironment
can beestablished.
Passwords can be
omitted
from user namesin
the LCGIN.TXTfile,
permitting
T3LOGINto support
commandslike
"T3LOGININIT."
T3LCGIN can be viewed not only as a program
to control
accessto
the system, but also as a general-purpose environment
controller,
where
operational
environments arerelated to
asingle
keyword.It
may bewise to employtwo copies of
T3LOGINfor
this
typeof
application
sothat
users cannotlog in using user
nameslike
INIT;
one T3LOGINcontrols
access,
and a second(under
adifferent
name)controls
the environmentvia
keywords.T3LOGIN has
the
ability
to
affect
the entire
Z-System,including
the
command searchpath
andthe
nameddirectory
segment. Consequently, T3LOGIN
is
intended to
be oneof the
first
programs run when a userdials into
a RAS andit
should beavailable
publically
to
all
users.
T3LOGINestablishes
the
user's environment, and the user can
later
changehis
environment(assuming
that
al!
of the
"dangerous" commands areproperly
protected)
only
by running T3IRGIN andproviding
adifferent
username and password.
The communications environment
of
the "normal" userof
a RASis
onein
which nodevice selection
onthe part of the
useris
allowed, the
printer
is
notavailable
(typing a ^P does nothing),and
the console is timed
andmonitored
for
loss of
carrier.
AnlOP can accomodate
this
bycontaining
a NULLdevice
(whichperforms a simple
return rather
thanoutputting
a character) as aprinter
and a console device(call
it
REMOTE) which monitors theuser's
carrier
detect line
and monitors an elapsed time counter.The
Input/Output
Package (lOP) cancontain
aList
device
named NULL and aconsole device
named REMOTE, and T3LOGIN hasthe
ability
to select
these devices by name.The
console device
REMOTE may be extendedto include
amonitor
for activity
from a CRT.This monitor
wouldlook
for
aspecial character to
comein
fromthe
CRT andswitch the
lOPconsole to another device.
This other console device, called
REMOTEM (forREMOTE
Monitor),
ties this
CRTto the
modembeing
used by
the
caller.
This
tie-in
could take
avariety
of forms,
with
two common forms being:1. the CRT and modem could share the
I/O; le, input
could come from
either
the CRT or the modem,and output would go
to
both the CRT and modemin parallel
2. the CRT could dominate the
I/O; le, input
couldcome only from the CRT and output would go
to
both the CRT and modem
As a
further
extension, REMOTE could lookfor
twodifferent
inputs
from the CRT, andselect
REMOTEM1, which providesfor
theshared I/O
of
thefirst
case (above), or REMOTEM2, which providesfor
the CRT-dominated í/Oof
the second case.Concepts TERM
III
2.4.2. "Privileged"
User EnvironmentT3LOGIN
is
flexible
to the point of allowing
the
SYSOPto
define
adifferent
environment for
EACH USER.Consequently,
there
can be as many classes ofprivileged
users as desired, eachclass having
different capabilities
and Z-Systemenvironments.
For example, one
class
can have command-search path A andnamed-directory
setl
while
anotherclass
can have command-search pathB and named-directory set 2. The SYSOP
himself
can have athird
comnand-search path and named-directory
set.
The lOP can
further
support
this
byproviding another type
of
REMOTEconsole device.
This console
(call
it
REMOTENTfor
Remote No Timeout)
is
like
the
onebefore,
except that
the
elapsed time
is
not monitored. Consequently, one or more classesof privileged
users can beestablished
which have notime
restriction
on the RAS.2.4.3.
SYSOP EnvironmentThe SYSOP can
enter the
system as a remoteor
alocal user
(call
in or
direct line).
It
is
alogical
extension of the
concepts
presented
aboveto allow
for
oneor
more SYSOPenvironments. As a minimum, the
local
SYSOP environment wouldassign the console to
adevice (call
it
CRT) which doesnot
monitor the
elapsedtime or
carrier
and havethe
ability
to
reboot the system. Also, the remote SYSOP environment would use
REMOTENT as
the console
sothat time
limits
would not be aproblem
for
the SYSOP.2.4.4.
Booting EnvironmentA good way
to
ensurethat
a Z-System environmentis properly
initialized
eachtime
auser logs in is to
havethe
Z-Systemenvironment cold boot
when auser
hangs up onit.
This
candisrupt
a modemin
the extreme, however,if
all
of
thetext
whichis normally
sent during the cold boot
processis sent to the
modem. For
this
reason,it
is
recommendedthat
the output
console driver
whichis
employedduring cold boot
be a NULLconsole
(like
the NULLprinter).
No outputis
sentto
the modem.The cold boot sequence could
consist of
thefollowing
steps:1. use BIOS console output
driver
whichis null
2. load system segments, and have the lOP come up
with
a NULL console outputdriver
3. set up environment
attributes
as desired andchange the path
to
not includedirectories
whichcontain "dangerous" cornmands (we are now
in
a "normal" user mode); T3IRGIN could be used
to
dothis
as an environmentcontroller
(like
"T3IÁJGIN INIT")
4. run T3ANSWER
to
answer the phone; the consoleinput driver
shouldallow
thelocal
CRTto abort
T3ANSWER so the SYSOP can takecontrol
Concepts TERM
III
5. run T3LCGIN
after
T3ANSWER terminates (even theSYSOP should log
in,
orthis
rriay be skippedfor
the SYSOP, but the environmentfor
theSYSOP may not be
properly established
if
T3IÁJGINis
skipped)6.
exit to
the Z-System from T3IEGIN or delay andthen reboot
if
login failed
(abort commandfrom T3LCGIN could be a
delay/reboot
sequence)The execution
of
T3LQGINin
step 5results in
the completeestablishment
of the user's environment
based onhis user
nameand password.
2.4.5.
User-to-User EnvironmentA
user
may wishto configure
his host
computerto allow
another
personto
call
in
andinteract
with
himthrough the
onesystem. An lOP console device
for this
scenario would besimilar
to
REMOTEMI (both consoles shareequally)
or REMOTEM2 (the user'sconsole only provides input
andboth consoles
viewthe output)
except that the modemcarrier wouldbe monitored
andoutput to
andinput from the
modem would be suspendedif
the
carrier
wasdropped. This prevents problems
with
modeminteraction
on lossof carrier
fromoccurring.
2.4.6.
Summaryof
Console DevicesThe lOP provides a
flexibility
not found under conventionalimplementations
of device I/O in the
BIOS.While designing
ZCPR3,
I
found the needfor
the lOPto
be pronounced. Relying onthe BIOS
for
all
the device I/O support was toorestrictive:
l.
the BIOS hadto
fit
on the systemtracks,
soit
wastight
on space2. the BIOS had no hooks
to
providefor
rnore thanfour
console,
four
reader,four
punch, andfour
list
devices
By
implementing the
lOPconcept, several
advantages wererealized:
1. a
buffer of
IK or 2k outside the BIOS which containedall
of
theI/O
devicedrivers
would remove thesedrivers
(orall
but the simplestof
them) from theBIOS, thereby
shrinking
the BIOS, and simultaneouslyprovide more space
in
whichto
implement more complexdevice
drivers
2. the I/O Byte
of
CP/M need no longer be employed; the lOPjump
table
can be amirror of
the BIOS jumptable with
extensions
to
providefor
other mechanismsto select
the devices (such as by NAME
rather
thanbit-field
in
a byte)
3. more than
four physical
devicedrivers
can be assignedto
eachlogical
deviceConcepts TERM
III
The lOP
conceptcanbeextendedand
employedina
Z-Systemwhich
supports
TERMIII.
Asoutlined
in
this
section,
the
lOPfor
such a system can support devices such as thefollowing:
NULL
printer
REMOTE consoleo monitors the
carrier detect line
and rebootsor
otherwiserestart8
the systemif
thecarrier
is lost
o monitors an elapsed time counter and reboots
or otherwise
restarts
the systemif
thetime elapses
o monitors the CRT
line for
one or more commandcharacters, and invokes one
or
moreother
devices based on these corrurands
REMOTEM1 con3ole
o ínonitors the
carrier detect line like
REMOTEc) may or may not monitor elapsed time
o
input
comes from the CRT and modemin
parallel
and goesto
the CRT and modemin parallel
REMOTEM2 console
o
like
REMOTEMI, butinput
comes only from the CRTREMOTEM3 console
o
like
RE6KYI'EM1, butif
carrier
drops,input
i
from and output
to
the modemis
s:unplyignored
(only
the CRTis active
whenthe modem
carrier
drops) REMOTENT consoleo
like
REMOTE, but does not monitor elapsedtine
CRT console
o no
monitoring;
CRTinput
and output onlyThis
list
is
by no meanscomplete, but
it
should serveto
give the reader
someinitial
ideas on whattypes of device
drivers
he wouldlike to
set upin his
lOP.2.5. Time Logging on a Remote Access System
The TERM
III
System programs serveto
replace BYE, a p©ptüarprogram used
to
run Remote Access Systems,in
its entirety.
Almost.
The oneaspect of
bye which hasnot
been addresseddirectly
by TERMIII
SYstem programsis that
of user time
logging.
It
is frequently desirable to track
the amountof
tirrte.a user spends on a system and
to kick
himoff
after
an hour.Concepts TERM
III
At user
login, start
thetimer
and resetit
to
zeroThroughout the session,
periodically
check thetimer
If
the user logsout, turn off
thetinier
If
thetimer expires,
break the connection,optionally
pausefor
a periodof tine, turn
off
thetimer
The
timer,
then,
must bepolled
throughout
the user's
session,
andthis
is best
done by some aspectof the resident
system or an executive (such as BYE). This segment
of
the systemshould
checkthe timer at quiescent
moments, such asduring
await for
output.The
solution
proposed
in this
document
for
the
implementation
of
thetimer is
as apart of
anI/O
Package. ThisI/O
Package (lOP) wouldprovide
adevice driver
which uses theModem as a
console
andmonitors the timer.
The REMOTEdevice
discussed above
is
one such implementation, butthere
are otherpossibilities.
Theconsole record function
(or
printer
record
function,
for
that matter) of the
lOP can be usedto turn the
timer
on andoff.
Hence, when a userlogs in,
apart of the
user's default
commandline
would beto turn
onthe timer
("RECORD CONSOLE ON" command) and
to select the correct
MODEMdevice ("DEV CONSOLE TMODEM" command, where TMODEM
is
the Modemwith
atimer controlled
by RECORD CONSOLEdirectives).
For thesake
of security,
T3L'CGIN can perform the samefunctions
as the DEV and RECORD commands.2.6. Comm Sets
All
programsin
the TERMIII
System which communicatewith
aremote computer use Comm Sets. At
installation
time,
eachprogram
is
loadedwith
a Comm Set(the
built-in
Comm Set)that
tells
it
what to
do whenit
is
invoked.
Theoptions
at
invocation
are:1. load the Corm Set named on the comnand
line
2. load a Comm Set from
disk
3. use the
built-in
Corm SetAl!
programs usedfor
communication,
such as T3FILER andT3TERM,
contain
a Comm Setwithin
themselves (thebuilt-in
CommSet).
Uponexecution,
these programs examinecertain
flags in
this
Comm Set, and mayperform
oneof the following
three
CommSet
selection functions:
1. load a Corm Set
specified
on the conunandline
2.
if
no Corm Setis specified
on the commandline,
load a Corm Set
specified in
thebuilt-in
CommSet
if
the IIDAD(Initial
Load)flag is
setin
the
built-in
Corm Set.
3. j-f no Comm Set l-S spec1f/ed on the command
líne,
use the
built-in
Comm Setif
the ILOADflag
is
not setAt
this
point,
the
Comm Set whichis present within
the
communication program
is
the Comm Set usedfor
the session. ThisComm Set