summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc216.txt
blob: a092b9dbb2611e08f6767a66aaede8da70385dab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
Network Working Group                                           J. White
Request for Comments: 216                     UCSB Computer Research Lab
Categories: D.3, G.3                                      September 1971
NIC: 7546


                 Telnet Access To UCSB's Online System

Contents

   I.      Motivation .................................................1
   II.     Limitations ................................................2
   III.    System Documentation .......................................2
   IV.     System Access ..............................................3
   V.      Software Structure .........................................3
   VI.     Virtual OLS Keyboard .......................................4
   VII.    NETOLS Commands ...........................................10
           A. HELP ...................................................10
           B. PREFIX .................................................10
           C. SHIFT and UNSHIFT ......................................10
           D. FULLDUPLEX and HALFDUPLEX ..............................10
           E. STATE ..................................................11
           F. LOGOUT .................................................11
   VIII.   OLS Display ...............................................11
   IX.     Instructing User Telnet ...................................12
   X.      Examples ..................................................14
           A. Logon ..................................................14
           B. Newton-Raphson Square Root Approximation ...............15
           C. Remote Job Entry .......................................16

   Figures

   Figure 1. OLS Keyboard .............................................2
   Figure 2. Keys With One-for-One Mappings ...........................6
   Figure 3. Keys Represented as Strings ..............................7
   Figure 4. Characters With One-for-One Mappings ....................12
   Figure 5. Characters Which Map Into Strings .......................13

I.  Motivation

   A teletype-compatible interface to UCSB's Online System (OLS) has
   been implemented in accordance with the Telnet protocol adopted by
   the NWG.  This Server Telnet is responsive to connection requests
   directed by User Telnet's to socket number 1, host address 3.
   Although OLS is not a teletype system and although much of its power
   as mathematical tool rests in its graphical display capabilities,
   enough of the System survives the Telnet transformation to justify
   such an implementation.



White                                                           [Page 1]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


II.  Limitations

   In this Telnet-style implementation of OLS, all curvilinear display
   generated by the user on Levels II and III, Real and Complex, is
   disregarded by the System and hence not returned to the user through
   the Net.  The same is true of the display of special, user-created
   characters.  Although special characters may be constructed and
   stored, their display will be suppressed, both during the process of
   construction and later when they are invoked from the Type level.
   All other display generated by the System will be relayed to the user
   intact, in some cases with stylistic transformation having first been
   applied.  For example, Greek characters are displayed as lower-case
   a-z.  All such transformations are described in detail in this
   document.  Finally, those elements of the System (the operators which
   edit user programs are prime examples) which assume a fixed-screen
   display device function abnormally in a Telnet environment.  For such
   a device, the System can "remember" the position on the screen of a
   previously displayed segment of text and return to that position to,
   for example, underscore it.  But when the "screen" marches forward --
   relentlessly -- through a continuous medium, as it does with Telnet's
   virtual teletype, that kind of strategy fails.  Hence, the
   underscoring is not relocated, but rather appears on the current
   line, beginning in the next available character frame.

   OLS assumes, normally, that the user is equipped with the specially-
   designed double keyboard depicted in Figure 1.  Conventions are
   defined in this document, which enable a Telnet user to simulate that
   keyboard; in particular, a means is provided for designating keys on
   the upper, or operator keyboard.

III.  System Documentation

   This document has three purposes:

   Figure 1. OLS Keyboard. [Please view the PDF version of this RFC.]

   (1) to describe the means by which a Telnet user simulates an OLS
       keyboard,

   (2) to describe the transformations applied to output generated by
       the System, and

   (3) to enumerate those aspects of the System, which are unique to or
       behave differently for Network (Telnet) users.

   In particular, this document is not a user's manual for OLS.  Such a
   manual is available and on file with the NIC.  In addition, a copy
   should exist at each Network site in its NIC collection; the user



White                                                           [Page 2]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


   should consult his Station Agent.  This document is titled "UCSB On-
   Line System Manual" [NIC 5748]; its contents are current as of 1
   January 71.  A revision to the manual is currently in preparation and
   will be distributed when available.  In addition, tutorial manuals
   for two of the subsystems available under OLS-MOLSF (Mathematically-
   Oriented Language Single-Precision Floating-Point) and COL (Card
   Oriented Language) -- will soon be made available.  The latter has
   already been published and is being transmitted to the NIC for
   distribution, while the former is nearing completion.

   Documentation of the third subsystem of OLS--NET-- has already been
   distributed through the NIC as two RFC's: "Network On-Line Operators"
   [21 April 71, RFC 121, NIC 5833] and "A User Telnet--Description of
   an Initial Implementation" [9 August 71, RFC 206, NIC 7176].  Net
   currently houses a set of operators for system-call-level interaction
   with UCSB's NCP, a User Telnet, and an operator (invoked by ID on
   Level II), which returns the status of Network hosts.

   Staff members at the Computer Center will be happy to field questions
   about OLS from Network users.  In particular, an OLS consultant is
   available for such purposes at (805) 961-4044.  Questions about OLS,
   including those specific to use of the System through the Network,
   may also be addressed to Jim White, UCSB's Technical Liaison, at
   (805) 961-3454 (if necessary, messages can be left at the Computer
   Center Office, (805) 961- 2261).

IV.  System Access

   The Network user is encouraged to explore the System and is invited
   to do so with the following accounting parameters:

   User Number: 196
   Id Number: 57372
   User Name: ARPA
   Problem Name: (affiliation)-(name)
                   in 16 characters or less
                   (e.g., UCSB-White)

   Such use of the System will not be billed.  Production users are
   asked to establish their own accounts with the Computer Center ((805)
   961-2261), the use of which will be billed in accordance with the
   then-current rate structure.

V.  Software Structure

   This document is the description of a Network front-end to the Online
   System, logically distinct from OLS itself.  This front-end is
   hereafter referred to as NETOLS.  NETOLS is always responsive to



White                                                           [Page 3]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


   connection requests direct4ed to socket 1.  When contacted by a
   Network user, NTCLS performs the Network functions required to
   establish a duplex connection to him.  The number of such duplex
   connections (and hence the number of Network users) is bounded by an
   assembly parameter whose current value is five.

   Before the Network connection is established, NETOLS secures for the
   user a port into OLS.  Sixty-four such ports exist and are shared by
   local, dial-up, and Network users.  Should none be available, NETOLS
   will abort the connection sequence.

   Once a port has been secured and a Network connection established,
   NETOLS will effectively push the _SYST_ key for the user by
   transmitting to OLS the 8-bit code representing that key.  A login
   sequence is thus initiated and the user is transmitted the lines:

      UCSB ON-LINE SYSTEM
      ENTER USER NUBMER

   to which he should respond with his user number.  Beginning at this
   point in time and continuing for the life of the Network connection,
   NETOLS's sole function is that of interpreter--interpreting input
   from the user and making it meaningful to the user (it is at this
   point, for example, that curvilinear and special-character display
   are discarded).

   When the user breaks his Network connection to NETOLS, if eh hasn't
   logged out of OLS already, NETOLS performs that function for him by
   pushing_ SYST_ _DOWN_, just as it pushed the initial _SYST_.  The OLS
   port acquired for the user is then released, and hence available for
   use by other users.  It should be noted that the user can log out of
   OLS and back on again without the Network connection's being broken,
   since that action is transparent to NETOLS, who attaches no special
   significance to the Key sequence, which accomplishes it.

VI.  Virtual OLS Keyboard

   A major function of NETOLS is to provide a mapping between elements
   of the Telnet character set and the keys on an OLS keyboard (Figure
   1).  The lower, or operand portion of that keyboard is fairly easily
   represented, since it's similar to a standard typewriter keyboard.
   Most of the keys on the lower keyboard are mapped on a one-for-one
   basis from elements of the Telnet character set.  Upper-case
   alphabetics are mapped into the alphabetics, lower-case, and
   miscellany of punctuation into itself.  All such one-for-one mappings
   are depicted in Figure 2.  A line of that figure reads as follows:

      For ['half arrow' - see the PDF version of this RFC]:



White                                                           [Page 4]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


      The key labeled ['half arrow'] (meaning logical not) on the lower
      portion of an OLS keyboard is struck by causing the user's User
      Telnet to transmit '~' (tilde).

   Those lower-keyboard keys not listed in Figure 2, and _all_ the keys
   on the upper- keyboard (hereafter referred to collectively as _non-
   standard_ keys), are represented by the Telnet user in the following
   manner.  For each such key, a character string has been defined; the
   string is called the _name_ of the key.  In most cases, the name of a
   key is identical to its label in Figure 1.  The name of the _SIN_
   key, for example, is 'SIN (in the Online System User's Manual,
   upper-keyboard keys are denoted by underscoring their labels, to
   distinguish, for example, the key _SIN_ from the three keys 'SIN').

      Every non-standard key on the OLS keyboard is struck by typing its
      name (or any unique abbreviation thereof), preceded by a special
      _prefix_ character and followed by a space.

   NETOLS interprets the prefix, name, and space from them generates a
   single, 8-bit code, which forwards to OLS.

   The default prefix character is semi-colon (';'), chosen simply
   because for touch typists it's one of the home keys.  The prefix can
   be changed by the user to any character listed in Figure 2.  The
   procedure for so doing is described in Section VII-B. To send the
   prefix character through NETOLS to OLS, type it twice in succession.
   Thus, if the default prefix is in effect, ';;' is mapped into a
   single semi-colon and relayed to OLS.

   The names of all non-standard keys are listed in Figure 3.  A line of
   that figure reads as follows:

      For _SIN_:

      They key denoted _SIN_ in the OLS User's Manual (the trigonometric
      function sine) is named 'SIN', and hence is struck by typing
      'SIN', preceded by the prefix and followed by a space.

   Assuming, then, that the default prefix ';' is in effect, SIN is
   struck by ';SIN_' ('_' is used here and in following examples to
   denote a space).  Furthermore, if the user chooses, he may abbreviate
   that as ';SI_', since the key desired remains uniquely identified.
   Further abbreviation (to ';S_') is unsatisfactory and hence
   disallowed since the single character 'S' is insufficient to
   distinguish between a number of keys whose names begin with that
   character.  Key names may be typed by the user in either upper- or
   lower-case.




White                                                           [Page 5]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


   As each character of a non-standard key's name is typed by the user,
   NETOLS consults it table of key names.  If the character string so
   far specified cannot possibly lead to a valid name, the most recent
   character is ignored ('?' echoed).  Hence, typing ';SJIN_' will be
   accepted as _SIN_, the erroneous 'J' being ignored (and a question
   mark echoed), and the subsequent 'JN_' accepted.  If when the
   terminating space is typed, no single key is uniquely identified a
   '?'  is echoed and the space ignored.  Thus, ';S_I_' will be
   recognized as _SIN_; the first space is

To Push         (OLS Explanation)        Send      (Telnet Explanation)

0-9             Decimal Digits           0-9         Decimal Digits
A-Z             Alphabetics              A-Z         UC Alphabetics
_-5             Greek Characters         a-z         LS Alphabetics
!               Exclamation Mark          !          Exclamation Mark
+               Plus Sign                 +          Plus Sign
_               Underscore                _          Underscore
-               Minus Sign                -          Minus Sign
@               Commercial At             @          Commercial At
/               Slash                     /          Slant
#               Number Sign               #          Number Sign
'               Apostrophe                '          Apostrophe
&               Ampersand                 &          Ampersand
$               Dollar Sign               $          Dollar Sign
*               Asterisk                  *          Asterisk
%               Percent                   %          Percent
=               Equal Sign                =          Equal Sign
TAB             Horizontal Tab           HT          Horiz. Tab. (_[)
:               Colon                     :          Colon
;               Semi-Colon                ;          Semi-Colon
[               Left Bracket              [          Left Bracket
]               Right Bracket             ]          Right Bracket
(               Left Parenthesis          (          Left Parenthesis
)               Right Parenthesis         )          Right Parenthesis
<               Less Than                 <          Less Than
>               Greater Than              >          Greater Than
,               Comma                     ,          Comma
"               Quotation Marks           "          Quotation Marks
?               Question Mark             ?          Question Mark
[half arrow]    Logical Not               ~          Tilde
|               Logical Or                |          Vertical Line
BACK            Backspace              BS, DEt       Backspace/Rubout
RETURN          Carriage Return           CR         Carr. Return (_M)
SPACE           Space                     SP         Space

                Figure 2. Keys With One-for-One Mappings




White                                                           [Page 6]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


To Push          (OLS Explanation)          The Key Name Is

[circle .]           Multiply                       *          1
[circle +]           Add                            +
[circle -]           Subtract                       -
RETURN               Carriage Return                .
[circle /]           Divide                         /
L0                   Level 0                        0
LI                   Level I                        1
L II                 Level II                       2
L III                Level III                      3
L IV                 Level IV                       4
L V                  Level V                        5
L VI                 Level VI                       6
L VII                Level VII                      7
[circle +]           Add                            ADD        2
ARC                  Argument                       ARG
ATAN                 Arc Tangent                    ATAN
BACK                 Backspace                      BACK       3
CASE                 Case                           CASE
[cent sign]          Cent                           SignCENT
CLR                  Clear Tab                      CLEAR
CMPLX                Complex                        CMPLX
CON                  Contract                       CON
CONJ                 Conjugate                      CONJ
CONV                 Convolve                       CONV
COS                  Cosine                         COS
CTX                  Context                        CTX
DEL                  Delta                          DEL
DIFF                 Forward Difference             DIFF
DISPLAY              Display                        DISPLAY
[circle /]           Divide                         DIV        4
DWN                  Down                           DOWN
ENL                  Enlarge                        ENL
ENTER                Enter                          ENTER
ERASE                Erase                          ERASE
ESCAPE               Escape                         ESCAPE
EVAL                 Evaluate                       EVAL
EXP                  Exponentiate                   EXP
                     NETOLS Command                 FULLDUPLEX 5
                     NETOLS Command                 HALFDUPLEX
                     NETOLS Command                 HELP
ID                   Identity                       ID
INV                  Invert                         INV
[down arrow]         Line Feed Down                 LFDN
[up arrow]           Line Feed Up                   LFUP

                 Figure 3. Keys Represented As Strings



White                                                           [Page 7]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


To Push           (OLS Explanation)        The Key Name Is

LIST                 List                         LIST
LOAD                 Load                         LOAD
LOG                  Logarithm                    LOG
                     NETOLS Command               LOGOUT
LS                   Left Shift                   LS
MAX                  Maximum                      MAX
MOD                  Modulus                      MOD
[circle .]           Multiply                     MULT         6
NEG                  Negate                       NEG
[half arrow]         Logical Not                  NOT          7
|                    Logical Or                   OR           8
PRED                 Predicate                    PRED
                     NETOLS Command               PREFIX
PROD                 Running Product              PROD
PT                   Point                        PT
PWR                  Power                        PWR
REAL                 Real                         REAL
REFL                 Reflect                      REFL
REPT                 Repeat                       REPT
RESET                Reset                        RESET
RETURN               Carriage Return              RETURN       9
RS                   Right Shift                  RS
0-9                  Superscript 0-9              S0-S9
SEL                  Select                       SELECT
SET                  Set Tab                      SET
                     NETOLS Command               SHIFT
SIN                  Sine                         SIN
SORT                 Sort                         SORT
SQ                   Square                       SQ
SQRT                 Square Root                  SQRT
                     NETOLS Command               STATE
STORE                Store                        STORE
SUB                  Substitute                   SUB
[circle -]           Subtract                     SUBTRACT     10
SUM                  Running Sum                  SUM
SYST                 System                       SYST
TEST                 Test                         TEST
TYPE                 Type                         TYPE
                     NETOLS Command               UNSHIFT
UP                   Up                           UP
USER                 User                         USER

             Figure 3 (cont'd) Keys Represented As Strings






White                                                           [Page 8]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


   1. Alternate names for [circle .], [circle +], [circle -], RETURN,
      and [circle /] are 'MULT', 'ADD', 'SUBTRACT', 'RETURN', and 'DIV',
      respectively. RETURN can also be represented as the single
      character CR (carriage return), as indicated in Figure 2.

   2. An alternate name for [circle +] is '+'

   3. Alternates for BACK are the single characters BS (backspace) and
      DEL (rubout), as indicated in Figure 2.

   4. An alternate name for [circle /] is 'DIV'.

   5. NETOLS commands are explained in Section VII.

   6. An alternate name for [circle .] is 'MULT'.

   7. An alternate for '[half arrow]' is the single character '~'
      (tilde), as indicated in Figure 2.

   8. An alternate for '|' is the single character '[2 vertical lines]'
      (vertical line), as indicated in Figure 2.

   9. An alternate name for RETURN is '.' RETURN can also be represented
      as the single character CR (carriage return), as indicated in
      Figure 2.

  10. An alternate name for [circle -] is '-'.

   Notes for Figure 3.

   Ignored (and a '?' echoed, indicating that 'S' alone is ambiguous).

   At any point in the entry of a key name, either Altmode (ESC) or '?'
   may be typed by the user.  NETOLS will then determine whether a key
   has been uniquely specified by the characters already typed.  If so,
   it will echo the remaining characters of the key's name, and consider
   them entered by the user.  A subsequent space from the user will
   cause the indicated key to be pushed.  If no single key is uniquely
   specified, NETOLS will echo Bel, causing a bell to be run on many
   terminals.  More of the key name is then expected from the user.

   If after at least one character of the key name has been entered by
   the user and accepted by NETOLS (and before the terminating space is
   typed) the prefix is typed a second time, all already entered
   characters of the name are discarded by NETOLS.  Thus ';CO;SIN_' is
   interpreted as _SIN_.  If a carriage return is typed in the same





White                                                           [Page 9]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


   context, the initial prefix will also be discarded.  Hence, ';CO%S'
   ('%' denotes carriage return) is interpreted as the lower-keyboard
   key 'S'.

VII.  NETOLS Commands

   A number of commands to LETOLS are defined and all are described in
   this section.  The format for each such command is the same as that
   for the non-standard keys, and hence the command keywords are
   included in Figure 3.  All of the conventions of Section VI apply as
   well to the entry of commands.  The user should understand, however,
   that such commands are processed by NETOLS, not OLS, and that they
   are defined only for Network users of OLS.

A.  HELP

   The HELP command (invoked with ';HELP_' if';' is the prefix)
   reproduces for the user the third column of Figure 3; the names of
   all non-standard keys and the keywords for all defined NEOLS commands
   are listed in their collating sequence on the user's virtual
   teletype.

B.  PREFIX

   Issuing the PREFIX command causes the next character typed to become
   the prefix, provided it is one of those listed in Figure 2.
   Consequently, ';PREFIX_@' makes '@' the prefix, '@PREFIX_;' restores
   the defaults situation.

C.  SHIFT and UNSHIFT

   The SHIFT command causes a perturbation of lines 2 and 3 of Figure 2.
   After SHIFT is issued, all subsequent upper-case alphabetics are
   mapped into the Greek characters (rather than into the alphabetics),
   and lower-case alphabetics into alphabetics (rather than into the
   Greek characters).  This convention change may be found convenient if
   the user's User Telnet sends lower-case alphabetics by default, and
   requires, for example, that a shift key be held down to send upper-
   case characters.

   The UNSHIFT command nullifies the effect of SHIFT.

D.  FULLDUPLEX and HALFDUPLEX

   Issuing the FULLDUPLEX command causes all subsequent characters typed
   by the user to be echoed by _NETOLS_.  HALFDUPLEX nullifies the
   effect of FULLDUPLEX, disabling echo by NETOLS.  Half-duplex is the
   default situation.



White                                                          [Page 10]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


E.  STATE

   The STATE command causes the current prefix, the mode of operation
   ('HALFDUPLX' or 'FULLDUPLEX'), and the case convention ('SHIFT IS ON'
   or 'SHIFT IS OFF') to be displayed on the user's virtual teletype in
   the following form:

      PREFIX IS;
      HALFDUPLEX
      SHIFT IS OFF

F.  LOGOUT

   Issuing the LOGOUT command causes the user to be logged out of OLS
   (i.e., _SYST_ _DOWN_ to be pushed) and his Network connection to
   NETOLS to be broken.  About three seconds elapse between the two
   events.

VIII.  OLS Display

   NETOLS suppresses all but alphameric display before it reaches the
   user.  Alphameric display is mapped into the Telnet character set
   according to Figures 4 and 5.  Figure 4 lists all those OLS display
   character, which have one-for-one mappings.  A line of that figure
   reads as follows:

      For '[half harrow]'

      The character logical not, displayed as '[half arrow]' on an OLS
      terminal, is represented in Telnet as '~' (tilde).

   Alphabetics are mapped into upper-case alphabetics and Greek
   characters into lower-case alphabetics.  Numerics are mapped into
   numerics, and a miscellany of punctuation into itself.  In addition a
   number of carriage control characters are appropriately mapped-- line
   feed down into LF, TAB into HT, BACK into BS, etc.; line feed up is
   suppressed.  ERASE is represented as Bel.

   Figure 5 lists those OLS display characters which are mapped into
   strings of Telnet characters.  In most cases, these character strings
   are stylistic representations of characters peculiar to OLS.  For
   example, the _ADD_ key is normally displayed in List mode as '[circle
   +]'.  In this Telnet implementation, '(+)' is an attempt to represent
   that graphic.  Superscripts are represented as underscored numerics.
   Carriage return is represented as CR LF.  No attempt is made to
   effectively represent RS which, on an OLS display device, repositions
   the beam to the upper left corner of the screen; it is made
   equivalent to carriage return.



White                                                          [Page 11]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


IX.  Instructing a User Telnet

   For local users, all echoing _that's done at all_

To Display       (OLS Explanation)  OLS Sends  (Telnet Explanation)
0-9                Decimal Digits     0-9        Decimal Digits
_-Z                Alphabetics        A-ZUC      Alphabetics
_-5                Greek Characters   a-z        LC Alphabetics
!                  Exclamation Mark   !          Exclamation Mark
+                  Plus Sign          +          Plus Sign
_                  Underscore         _          Underscore
-                  Minus Sign         -          Minus Sign
@                  Commercial At      @          Commercial At
/                  Slash              /          Slant
#                  Number Sign        #          Number Sign
'                  Apostrophe         '          Apostrophe
&                  Ampersand          &          Ampersand
$                  Dollar Sign        $          Dollar Sign
*                  Asterisk           *          Asterisk
%                  Percent            %          Percent
=                  Equal Sign         =          Equal Sign
TAB                Horizontal Tab.    HT.        Horiz. Tab (_I)
:                  Colon              :          Colon
;                  Semi-Colon         ;          Semi-Colon
[                  Left Bracket       [          Left Bracket
]                  Right Bracket      ]          Right Bracket
(                  Left Parenthesis   (          Left Parenthesis
)                  Right Parenthesis  )          Right Parenthesis
<                  Less Than          <          Less Than
>                  Greater Than       >          Greater Than
,                  Comma              ,          Comma
"                  Quotation Marks    "          Quotation Marks
?                  Question Mark      ?          Question Mark
[half arrow]       Logical Not        ~          Tilde
|                  Logical Or         |
                                      |          Vertical Line
BACK               Backspace          BS         Backspace
SPACE              Space              SP         Space
ENL/[up arrow]     Line Feed Up
CON/[down arrow]   Line Feed Down     LF         Line Feed ([up arrow]J)
_                  List Mode Space    _          Underscore
[shaded rectangle] List Mode Rubout   X          Upper-case X
_                  List Mode Pointer  _          Underscore
BREAK              Break              SP         Space
ERASE              Erase              BEL        Bell (_G)

             Figure 4. Characters With One-for-One Mappings




White                                                          [Page 12]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


To Display          (OLS Explanation)              OLS Sends

:                     Post List                  (:)
[circle +]            List Mode Add              (+)
[circle -]            List Mode Subtract         (-)
[circle .]            List Mode Multiply         (*)
[circle /]            List Mode Divide           (/)
[arrow]               List Carriage Return       ([2 vertical lines])
RETURN                Carriage Return            CR LF
RS                    Reset to Upper Left        CR LF
[cent sign]           Cent Sign                  C BS [2 vertical lines]
0-9                   Superscript 0-9            0 BS _
                                                  -
                                                 9 BS _

              Figure 5. Characters Which Map Into Strings

   is done by OLS; the terminal never echoes.  In general, OLS does not
   echo the user's input.  There are exceptions to this rule, but they
   are relatively few in number and occur primarily on the SYST level.
   In particular, upper keyboard keys are never echoed except in List
   mode.  The Network user is advised to instruct his telnet to operate
   in full-duplex mode, i.e., to echo nothing.  The FULLDUPLEX command
   provided by NETOLS is provided because it can be provided, but its
   use is not recommended.

   OLS is meant to be used in character-at-a-time mode, and the user
   should so instruct his User Telnet.  For those users provided with
   only a line-at-a-time mode, the end-of-line character should not be
   transmitted to NETOLS.

   NETOLS flushes without comment all Telnet control characters it
   detects in the input stream.  Characters in the Telnet character set
   which have no meaning to NETOLS are echoed as '?' and discarded.
   Exceptions are LF (line feed) and NUL, which are flushed without
   comment.















White                                                          [Page 13]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


X.  Examples

A.  LOGON

   The dialogue which logs a user onto OLS, assuming the user number of
   Section IV, is as followings:

   TELNET ENTRY            OLS QUERY/RESPONSE

                                   UCSB ONLINE SYSTEM
                                   ENTER USER NUBMER (196)
   196%                            ID NUMBER=
   57372%                  USER NAME= (ARPA)
   ARPA%                   JOB NAME= (UCSB-WHITE)
   UCSB-WHITE%             AUTOSAVE CODE = integer
   MOLSF %                 LOAD (MOLSF)
                                   FILE LOADED

   In this and succeeding examples, '%' denotes CR (carriage return).
   Entries echoed by OLS are enclosed in parentheses above.  The user
   should substitute for 'UCSB-WHITE' his own affiliation and name.  The
   procedure above loads the math subsystem of OLS.  To load instead
   either COL or NET, substitute its name for 'MOLSF'.  To load a
   different subsystem (say COL) after logging in:

   TELNET ENTRY                    OLS QUERY/RESPONSE
   ;SYST_                          WORK AREAS UPDATED
   ;LOAD _COL%                     LOAD (COL)
                                           FILE LOADED

   Again, '_' denotes a space, not an underscore.




















White                                                          [Page 14]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


B.  NEWTOWN-RAPHSON SQUARE ROOT APPROXIMATION

   A simple user program can be constructed to approximate the square
   root of a number N using the Newton-Rapshon iteration procedure,
   which derives the (k+1)th approximation from the kth by the following
   algorithm:

      X k+1= (xk+n/kk)/2

   The following entries construct the user program:

   ;LIST_)TYPE_%ENTER_N
   ;1_;REAL_;LOAD_;ENTER_;STORE_N
   ;TYPE_% ENTER_FIRST_GUESS
   ;1_;LOAD_;ENTER_;STORE_X
   ;TYPE_%#_OF_INTERATIONS?
   ;0_;LOAD_;ENTER_;STORE_N
   ;1_;REPT_(;LOAD_N ;/_X;+_X ;/_2
           ;STORE_X ; DISP_%/_X ;+_X ;/_2
   ;LIST_;STORE_;USER_;1_;SQRT_

   To display the user program, enter:

   ;USER_;DISP_;SQRT_

   When executed, the program obtains from the user the number N whose
   square root is sought, an initial guess, and the number of iterations
   to be performed.  The program then computes and displays the results
   of each iteration, and then calls itself, permitting a second square
   root to be computed.  The program is executed as follows:

   TELNET ENTRY                    OLS QUERY/RESPONSE

   ;USER_;1_;SQRT_                 ENTER N
   3 ;ENTER_                               ENTER FIRST GUESS
   1 ;ENTER_                               #OF ITERATIONS?
   4 ;ENTER_                               2.       +00
                                           1.75     +00
                                           1.73214+00
                                           1.73205+00

                                           ENTER N
                   etc.








White                                                          [Page 15]
^L
RFC 216          Telnet Access To UCSB's On-Line System   September 1971


C.  Remote Job Entry

   A file of card images can be constructed with the help of the COL
   subsystem of OLS ard submitted as a batch job.  Assuming COL has been
   loaded, the following entries construct a card file which invokes the
   Fortran compiler:

   ;2_//jobname_JOB_(acct#,name , , , , , ,T) ; STORE_
   //_EXEC_FORTGCLG ; STORE_
   //FORT.SYSIN_DD_* ; STORE_
   source-statement-1 ;STORE_

                   ...
   source-statement-N ; STORE_
   /* ; STORE_

   To display the completed file, type:

           ;3_;DISP_%

   To submit the file, type:

           ;4_;SUB_%

   To watch for it in execution, type:

           ;DISP_J%%%...

   When execution is complete, 'printed' output can be retrieved with
   the following dialogue:

   TELNET ENTRY                    OLS QUERY/RESPONSE

   ;CMPLX_;LOAD_                   UNIT = (2314)
   2314%                                   VOL=SER= (MVT180)
   MVT180%                         DSNAME= (RJEOUT)
   RJEOUT%                         MEMBER= (jobname)
   Jogname%                                NOW LOADING
                                           FILE LOADED

   The output can then be examined by entering:

      ;2_;DISP_1%%%...


   NOTE: Text within brackets describes non-ASCII characters that were
   part of the original document.  Please see the PDF file for the
   original representation.



White                                                          [Page 16]
^L