cdc:nos2.source:nam5871:qtcmd
Table of Contents
QTCMD
Table Of Contents
- [00005] PROC QTCMD(CC,ADDR)
- [00092] PROC NP$ERR
Source Code
- QTCMD.txt
- *DECK QTCMD
- USETEXT AIPDEF
- USETEXT QTRMCOM
- USETEXT QTRMNIT
- PROC QTCMD(CC,ADDR);
- *IF DEF,IMS
- #
- *1DC QTCMD
- *
- * 1. PROC NAME AUTHOR DATE
- * QTCMD E. GEE 11/01/84
- *
- * 2. FUNCTION DESCRIPTION.
- * PROCESS COMMAND CODES FROM THE APPLICATION TO ALTER THE
- * EXECUTION OF QTRM.
- *
- * 3. METHOD USED.
- * IF QTOPEN NOT CALLED YET AND COMMAND CODE IS NOT 9,
- * CALL NP$ERR TO ISSUE DAYFILE MESSAGE AND ABORT APP.
- * IF COMMAND CODE VALID,
- * STORE NORMAL COMPLETION RETURN CODE FIELD IN NIT.
- * JUMP TO CODE TO PROCESS THE COMMAND CODE.
- * 1: SET NOTIFICATION OF BREAK INDICATOR FLAG.
- * CLEAR AUTOMATIC PROCESS OF USER BREAK FLAG.
- * 2: SET NOTIFICATION OF USER INTERRUPT FLAG.
- * 3: SET NOTIFICATION OF INACTIVE CONNECTION FLAG.
- * 4: SET SUPPORT NAM K-DISPLAY FLAG.
- * 5: SET NOTIFICATION OF INITIAL CONNECTION REQUEST FLAG.
- * 6: STORE ADDRESS IN PARM-ADDR FIELD OF NIT.
- * 7: SET AUTOMATIC PROCESS OF USER BREAK FLAG.
- * CLEAR NOTIFICATION OF BREAK INDICATOR FLAG.
- * 8: IF APP WANTS TO POLL INDIVIDUAL CONNECTIONS FOR DATA,
- * SET CONNECTION POLLING FLAG.
- * ELSE (APP WANTS TO REVERT TO POLLING ALL CONNECTIONS),
- * CLEAR CONNECTION POLLING FLAG.
- * 9: SET NO ABORT IF NETON REJECTED FLAG.
- * 10: SET NO ABORT IF ERR/LGL RECEIVED FLAG.
- * 11: SUPPORT ONLY SPECIFIED DEVICE TYPES.
- * 12: PROCESS PRU/ON SUP MSG ONLY FOR SPECIFIED DEVICE TYPES.
- * 13: CONVERT PM MESSAGES.
- * ELSE (INVALID COMMAND CODE VALUE),
- * STORE QTCMD REJECT RETURN CODE IN NIT.
- * STORE REASON FOR REJECT IN SEC-RETURN-CODE FIELD.
- * RETURN.
- *
- * 4. ENTRY CONDITIONS.
- * CC COMMAND CODE
- * ADDR ADDRESS TO STORE IN PARM-ADDR FIELD
- *
- * 5. NORMAL EXIT CONDITIONS.
- * NIT$RC OK RETURN CODE
- *
- * 6. ABNORMAL EXIT CONDITIONS.
- * NIT$RC QTCMD REJECT RETURN CODE
- * NIT$S$RC REASON FOR QTCMD REJECTING CALL
- *
- * 7. COMDECKS AND SYMPL TEXT USED.
- * AIPDEF AIP DEFINITIONS
- * NP$CRT CDC COPYRIGHT
- * QTRMCOM QTRM VARIABLES
- * QTRMNIT NIT
- *
- * 8. ROUTINES AND OVERLAYS CALLED.
- * NP$ERR ISSUE ERROR MESSAGE AND ABORT APP
- *
- * 9. DAYFILE MESSAGES OR OTHER IMPORTANT INFORMATION.
- * *** NETWORK APPLICATION ABORTED, RC = 75. ***
- * *** QTCMD: REQUEST INVALID BEFORE QTOPEN. ***
- *
- #
- *ENDIF
- # CONTROL DEFINITIONS
- #
- CONTROL PRESET;
- CONTROL PACK;
- CONTROL DISJOINT;
- CONTROL INERT;
- CONTROL FASTLOOP;
- *CALL NP$CRT
- #
- INPUT VARIABLES
- #
- ITEM ADDR; # ADDRESS TO STORE IN PARM-ADDR FIELD #
- ITEM CC; # COMMAND CODE #
- #
- ROUTINES CALLED
- #
- XREF
- BEGIN
- PROC NP$ERR; # DAYFILE ERROR MESSAGE AND ABORT APP #
- END
- #
- LOCAL VARIABLES
- #
- DEF MINCC#1#; # MINIMUM COMMAND CODE VALUE #
- DEF MAXCC#13#; # MAXIMUM COMMAND CODE VALUE #
- SWITCH SWTCH$CC ,CC$1,CC$2,CC$3,CC$4,CC$5,CC$6,CC$7,CC$8,
- CC$9,CC$10,CC$11,CC$12,CC$13
- ;
- #**********************************************************************#
- CONTROL EJECT;
- #
- EXECUTABLE CODE BEGINS HERE
- #
- BEGIN
- IF (NOT NETON$STATUS) AND # APP HAS NOT NETTED ON YET #
- (CC NQ 9 ) # COMMAND CODE IS NOT 9 #
- THEN # QTOPEN HAS NOT BEEN CALLED #
- BEGIN
- NP$ERR("75"); # ISSUE ERROR MESSAGE AND ABORT APP #
- END
- IF NETON$STATUS
- THEN # QTOPEN MUST ALREADY HAVE BEEN CALLED #
- BEGIN # SO NIT ADDRESS MUST ALREADY EXIST #
- P<NIT> = NIT$ADDR; # ADDRESS OF NETWORK INFORMATION TABLE #
- NIT$RC[0] = S"OK"; # INITIALIZE RETURN CODE TO SUCCESSFUL COM#
- END
- IF (CC GQ MINCC) AND
- (CC LQ MAXCC)
- THEN # VALID COMMAND CODE #
- BEGIN
- GOTO SWTCH$CC[CC];
- CC$1: # NOTIFICATION OF BREAK INDICATOR MARK #
- BEGIN
- BREAKMARK = TRUE; # SET FLAG TO NOTIFY APP ABOUT BI/MARK #
- AUTOBREAK = FALSE; # CLEAR AUTO BREAK PROCESSING FLAG #
- GOTO CC$END;
- END
- CC$2: # NOTIFICATION OF USER/APPL INTERRUPTS #
- BEGIN
- USERINTR = TRUE; # SET FLAG TO NOTIFY APP ABOUT INTR/USR #
- GOTO CC$END;
- END
- CC$3: # NOTIFICATION OF INACTIVE CONNECTIONS #
- BEGIN
- INACTIVE = TRUE; # SET FLAG TO NOTIFY APP ABOUT FC/INACT #
- GOTO CC$END;
- END
- CC$4: # APPLICATION SUPPORTS NAM K-DISPLAY #
- BEGIN
- KDISPLAY = TRUE; # SET FLAG FOR SUPPORTING NAM K-DISPLAY #
- GOTO CC$END;
- END
- CC$5: # NOTIFICATION OF CONNNECTION REQUESTS #
- BEGIN
- CONINIT = TRUE; # SET FLAG TO NOTIFYING APP ABOUT CON/REQ #
- GOTO CC$END;
- END
- CC$6: # STORE ADDRESS IN PARM-ADDR FIELD OF NIT #
- BEGIN
- NIT$PARMADR[0] = LOC(ADDR); # ADDR TO STORE IN PARM-ADDR #
- GOTO CC$END;
- END
- CC$7: # AUTOMATIC PROCESSING OF USER BREAKS #
- BEGIN
- AUTOBREAK = TRUE; # SET FLAG FOR AUTO USER BREAK PROCESSING #
- BREAKMARK = FALSE; # CLEAR NOTIFICATION OF BREAK MARK FLAG #
- GOTO CC$END;
- END
- CC$8: # SELECT CONNECTION FOR POLLING DATA #
- BEGIN
- IF ADDR EQ 1
- THEN # APP WANTS TO SELECT DATA FROM CONNECTION#
- BEGIN
- CONPOLL = TRUE; # SET FLAG FOR NETGET PROCESSING #
- END
- ELSE # APP WANTS TO REVERT BACK TO LIST PROCESS#
- BEGIN
- CONPOLL = FALSE; # CLEAR FLAG TO REVERT TO CALLING NETGETL #
- END
- GOTO CC$END;
- END
- CC$9: # DO NOT ABORT IF NETON IS REJECTED #
- BEGIN
- NOABTNETONA = TRUE; # SET FLAG TO NOT ABORT IF NETON REJECT #
- GOTO CC$END;
- END
- CC$10: # DO NOT ABORT IF ERR/LGL IS RECEIVED #
- BEGIN
- NOABTERRLGL = TRUE; # SET FLAG TO NOT ABT IF ERR/LGL RECEIVE#
- GOTO CC$END;
- END
- CC$11: # SUPPORT ONLY SPECIFIED DEVICE TYPES #
- BEGIN
- SUPDTW[0] = ADDR; # SET DEVICE TYPE FLAGS #
- GOTO CC$END;
- END
- CC$12: # PROCESS PRU/ON SUP MSG ONLY FOR #
- # SPECIFIED DEVICE TYPES. #
- BEGIN
- PRUDTW[0] = ADDR; # SET DEVICE TYPES FOR PRU/ON PROCESSING #
- PRUTRAA[0] = FALSE;# PRU INTERFACE NOT SUPPORTED FOR INTRAHST#
- PRUCON[0] = FALSE; # PRU INTERFACE NOT SUPPORTED FOR CONSOLE #
- GOTO CC$END;
- END
- CC$13: # CONVERT PM MESSAGES #
- BEGIN
- IF (ADDR LS 0) OR # MINIMUM CONVERSION CODE #
- (ADDR GR 2) # MAXIMUM CONVERSION CODE #
- THEN # INVALID CONVERSION CODE WAS SPECIFIED #
- BEGIN
- NIT$RC[0] = NITRTC"QTCMDREJ"; # QTCMD REJECT RETURN CODE #
- NIT$S$RC[00] = NITSRTC"BADCONVC"; # BAD CONVERSION CODE #
- END
- ELSE # VALID CONVERSION CODE WAS SPECIFIED #
- BEGIN
- PMCONV = ADDR; # SET TYPE OF CONVERSION FOR PM MESSAGES #
- END
- GOTO CC$END;
- END
- CC$END: # END OF CASE STATEMENT #
- END
- ELSE # BAD COMMAND CODE WAS SPECIFIED #
- BEGIN
- NIT$RC[0] = S"QTCMDREJ"; # QTCMD REJECT RETURN CODE #
- NIT$S$RC[0] = S"UNRECOG"; # BAD COMMAND CODE #
- END
- RETURN;
- END
- TERM
cdc/nos2.source/nam5871/qtcmd.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator