plato:source:plaopl:connc
Table of Contents
CONNC
Table Of Contents
- [00007] CONDENSOR OVERLAY FOR -CONNECT- COMMAND
Source Code
- CONNC.txt
- CONNC
- * /--- FILE TYPE = E
- * /--- BLOCK CONNECT 00 000 84/04/12 16.52
- IDENT CONNC
- LCC OVERLAY(1,1)
- TITLE CONDENSOR OVERLAY FOR -CONNECT- COMMAND
- CST
- CONNC$ OVFILE
- EJECT
- * /--- BLOCK CONNECT 00 000 84/04/12 16.53
- * CONNECT CONTINUE
- *
- * DISCARDS ANY PENDING NOS OUTPUT AND
- * CONTINUES EXECUTION
- * CONNECT HELLO;APPLICATION;FAMILY;USER;PASSWORD
- *
- * SIMILAR TO LOGIN, BUT PERMITS A SYSTEM
- * LESSON TO SPECIFY FAMILY AND USER NAMES
- * OTHER THAN THOSE STORED IN PLATO RECORD
- *
- * APPLICATION = 'N'O'S APPLICATION TO CONNECT TO
- * FAMILY = NOS FAMILY NAME
- * USER = NOS USER NAME
- * PASSWORD = INTERACTIVE PASSWORD
- * CONNECT LOGIN;APPLICATION;PASSWORD
- *
- * INITIATES CONNECTION BETWEEN A PLATO USER
- * AND A NOS APPLICATION
- *
- * APPLICATION = NOS APPLICATION TO CONNECT TO
- * PASSWORD = INTERACTIVE PASSWORD FOR USER
- * NUMBER IN PLATO RECORD
- * CONNECT LOGOUT
- *
- * TERMINATES CONNECTION BETWEEN PLATO USER
- * AND NOS APPLICATION.
- * CONNECT NOLOG
- *
- * SUSPENDS CONNECTION BETWEEN PLATO USER AND
- * NOS APPLICATION. APPLICATION MAY CONTINUE
- * TO EXECUTE. CONNECTION MAY BE RESTORED VIA
- * -CONNECT RECOVER-.
- * CONNECT RECEIVE;BUFFER;LENGTH;RETURNEDLENGTH
- *
- * RECEIVES OUTPUT FROM NOS APPLICATION. THE
- * OUTPUT IS PACKED 7.5 ASCII CHARS / 60 BIT
- * CM WORD.
- *
- * BUFFER = START OF AREA IN STUDENT, LOCAL
- * ROUTER, OR CM VARIABLES IN
- * WHICH OUTPUT WILL BE RECEIVED
- * LENGTH = MAXIMUM CHARS TO RECEIVE
- * RETURNEDLENGTH = CHARS ACTUALLY RECEIVED
- * /--- BLOCK CONNECT 00 000 84/04/12 16.56
- * CONNECT RECOVER
- *
- * RESTORES CONNECTION THAT WAS SUSPENDED VIA
- * -CONNECT NOLOG-.
- * CONNECT SELECT,CONNECTION
- *
- * PERMITS A SYSTEM LESSON TO SELECT WHICH OF
- * THREE CIDS IN THE STUDENT BANK WILL BE USED
- * FOR SUCCESSIVE -CONNECT- COMMANDS. THE
- * DEFAULT CID ORDINAL (AND THE ONLY ONE A
- * NON-SYSTEM LESSON CAN USE) IS 0.
- *
- * CONNECTION = CID ORDINAL (0..2)
- * CONNECT SEND;BUFFER;LENGTH
- *
- * SENDS OUTPUT TO NOS APPLICATION. THE
- * OUTPUT IS PACKED 7.5 ASCII CHARS / 60 BIT
- * CM WORD.
- *
- * BUFFER = START OF AREA IN STUDENT, LOCAL
- * ROUTER, OR CM VARIABLES FROM
- * WHICH OUTPUT WILL BE SENT
- * LENGTH = NUMBER OF CHARS TO SEND
- * CONNECT STATUS,STAT
- *
- * OBTAINS STATUS OF CONNECTION BETWEEN PLATO
- * USER AND NOS APPLICATION.
- *
- * STAT = STATUS OF CONNECTION
- * CONNECT STOP
- *
- * ABORTS CURRENT TASK.
- EJECT
- * /--- BLOCK CONNECT 00 000 84/04/12 16.51
- CONNCOV OVRLAY
- * /--- BLOCK CONNECT 00 000 84/04/10 03.01
- RJ =XSYSTEST SYSTEM LESSONS ONLY FOR NOW
- RJ =XNXTNAM (X6) = KEYWORD, (X1)= DELIMITER
- ZR X6,=XERR2FEW --- IF NO KEYWORD PRESENT
- SX7 X1+
- SA7 LASTKEY SAVE DELIMITER
- SA1 KEYWORDS-2 PRESET (A1) FOR KEYWORD SEARCH
- CONNECT1 SA1 A1+2 (X1) = NEXT KEYWORD
- ZR X1,=XERRNAME --- IF END OF TABLE REACHED
- BX2 X1-X6 COMPARE
- NZ X2,CONNECT1 --- IF NO MATCH
- SX6 A1-KEYWORDS+1 (X6) = KEYWORD INDEX
- SA6 VARBUF+1 SAVE KEYWORD INDEX
- SX6 1
- SA6 VARBUF INITIALIZE GETVAR COUNT
- SA1 A1+1 (X1) = 54/GETVAR INFO,6/SYSLESS
- MX0 -6
- BX2 -X0*X1 (X1) = 1 SYSLESS, 2 NOT READY
- SX3 X2-2 CHECK IF NOT YET IMPLEMENTED
- ZR X3,=XERRNAME --- IF NOT YET IMPLEMENTED
- BX6 X0*X1 SAVE GETVAR PARAMS
- SA6 GETVARS
- SX3 X2-1 CHECK IF SYSTEM LESSONS ONLY
- NZ X3,CONNECT2 --- IF OK IN ANY LESSON
- RJ =XSYSTEST SYSTEM LESSON CHECK
- CONNECT2 SA1 GETVARS (X1) = GETVARS LEFT TO DO
- LX1 6 POSITION NEXT GETVAR PARAM
- MX0 -6
- BX2 -X0*X1 (X2) = NEXT GETVAR PARAM
- SB2 X2+ (B2) = NEXT GETVAR PARAM
- ZR X2,CONNECT6 --- IF DONE WITH GETVARS
- BX6 X0*X1 CLEAR CURRENT GETVAR PARAM
- SA6 A1+
- SA1 LASTKEY (X1) = PREVIOUS DELIMITER
- ZR X1,ERR2FEW --- IF END OF LINE REACHED
- SX1 X1-KSEMIC CHECK IF SEMI-COLON DELIMITER
- NZ X1,=XERRTERM --- BAD TERMINATER
- JP *+B2 --- JUMP ON GETVAR/PUTVAR TYPE
- + EQ CONNECT3 1 = ANY GETVAR CODE
- + EQ CONNECT4 2 = STORABLE GETVAR
- + EQ CONNECT5 3 = PUTVAR CODE
- CONNECT3 RJ =XVARDO2 PROCESS NEXT GETVAR CODE
- EQ CONNECT2
- CONNECT4 RJ =XVARDO2 PROCESS NEXT GETVAR CODE
- SA1 VARBUF (X1) = PTR TO CURRENT GETVAR
- SA1 VARBUF+X1 (X1) = CURRENT GETVAR CODE
- PL X1,CONNECT2 --- OK IF STORABLE
- EQ =XERRSTOR --- ERROR IF NOT STORABLE
- CONNECT5 RJ =XPUTDO2 PROCESS NEXT PUTVAR CODE
- EQ CONNECT2
- CONNECT6 SA1 LASTKEY
- ZR X1,=XMRKLAST --- ALL DONE IF END OF LINE
- EQ =XERR2MNY --- ERROR IF HANGING *;*
- GETVARS BSS 1
- * /--- BLOCK CONNECT 00 000 84/04/03 16.32
- * THE MACRO BELOW DEFINES A TABLE OF PRIMARY
- * -CONNECT- KEYWORDS AND ATTRIBUTES. THERE ARE
- * TWO WORDS PER TABLE ENTRY. THE FIRST WORD
- * CONTAINS THE KEYWORD, AND THE SECOND WORD CONTAINS
- * 54 BITS OF GETVAR CODE PARAMETERS (6 BITS FOR EACH
- * OF 9 POSSIBLE GETVAR CODES), AND 6 BITS TO TELL
- * WHETHER OR NOT A PARTICULAR KEYWORD IS RESTRICTED
- * TO SYSTEM LESSONS AND/OR IS IMPLEMENTED YET.
- KEYWORD MACRO OPTION,USERSYS,GETVARS
- * OPTION = PRIMARY KEYWORD OPTION
- * USERSYS = *S* IF FOR SYSTEM LESSONS ONLY
- * = *N* IF NOT YET IMPLEMENTED
- * GETVAR = GETVAR/PUTVAR CODES NEEDED IN THE FORM
- * OF A STRING WHERE --
- *
- * *G* REPRESENTS ANY GETVAR CODE
- * *P* REPRESENTS ANY PUTVAR CODE
- * *S* REPRESENTS A STORABLE GETVAR CODE
- DATA 0L_OPTION
- NOREF .SYS
- .SYS SET 0
- .1 IFC EQ,*USERSYS*S*
- .SYS SET 1
- .1 ENDIF
- .2 IFC EQ,*USERSYS*N*
- .SYS SET 2
- .2 ENDIF
- * PUT THE GETVAR/PUTVAR CODES LIST INTO A MICRO
- * AND CHECK THAT ITS LENGTH DOESN'7T EXCEED 9.
- GETVAR$ MICRO 1,,*_GETVARS*
- LTH$ MICCNT GETVAR$
- ERRNG 9-LTH$ TOO MANY GETVAR/PUTVAR CODES
- * PRESET EACH POSSIBLE GETVAR/PUTVAR CODE TO
- * NULL (NOT PRESENT).
- ECHO 2,P=(1,2,3,4,5,6,7,8,9)
- NOREF .GV_P
- .GV_P SET 0
- * EXTRACT EACH CHARACTER FROM THE STRING AND CHECK
- * FOR ANY GETVAR CODE (*G*), STORABLE GETVAR CODE
- * (*S*), AND PUTVAR CODE (*P*), AND SET
- * .GV1, .GV2, ..., GV9 TO 1, 2 OR 3, RESPECTIVELY.
- .GV ECHO ,C=(1,2,3,4,5,6,7,8,9)
- NOREF .GV_C
- CHAR$ MICRO C,1,*"GETVAR$"*
- .C IFC EQ,*"CHAR$"**
- STOPDUP
- .C ELSE
- IFC EQ,*"CHAR$"*G*,1
- .GV_C SET 1
- IFC EQ,*"CHAR$"*S*,1
- .GV_C SET 2
- IFC EQ,*"CHAR$"*P*,1
- .GV_C SET 3
- ERRZR .GV_C BAD GETVAR/PUTVAR SPECIFICATION
- .C ENDIF
- .GV ENDD
- * DEFINE THE SECOND WORD OF THE TABLE ENTRY. THIS
- * WORD CONTAINS 6 BITS FOR EACH POSSIBLE GETVAR
- * CODE (0 = NOT PRESENT, 1 = ANY GETVAR, 2 =
- * STORABLE GETVAR, 3 = PUTVAR). THE WORD ENDS WITH
- * 6 BITS FOR THE SYSTEM LESSON FLAG (0 = OK IN ANY
- * LESSON, 1 = RESERVED FOR SYSTEM LESSONS).
- ECHO 1,P=(1,2,3,4,5,6,7,8,9)
- VFD 6/.GV_P
- VFD 6/.SYS
- ENDM
- * /--- BLOCK CONNECT 00 000 84/03/28 15.02
- KEYWORDS KEYWORD CONTINUE,N
- KEYWORD HELLO,N,GGGGG
- KEYWORD LOGIN,,GGG
- KEYWORD LOGOUT
- KEYWORD NOLOG,N
- KEYWORD RECEIVE,,SGP
- KEYWORD RECOVER,N
- KEYWORD SELECT,N,G
- KEYWORD SEND,,SG
- KEYWORD STATUS,,P
- KEYWORD STOP,N
- DATA 0 MARK END OF TABLE WITH 0 WORD
- * /--- BLOCK CONNECT 00 000 84/04/04 14.58
- ENDOV
- OVTABLE
- END CONNC$
plato/source/plaopl/connc.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator