/ / / FIRST PRINTING, FEBRUARY 1974 / / THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO / CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED / AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPON- / SIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS / DOCUMENT. / / THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FUR- / NISHED TO THE PURCHASER UNDER A LICENSE FOR USE ON / A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH / INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR / USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PRO- / VIDED IN WRITING BY DIGITAL. / / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY / FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIP- / MENT THAT IS NOT SUPPLIED BY DIGITAL. / / COPYRIGHT (C) 1974, BY DIGITAL EQUIPMENT CORPORATION / / .EJECT / EDIT #5 / / COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. / / MCR FUNCTION -- CANCEL 25 MAR 71 R. MCLEAN / / TASK NAME "...CAN" TO CANCEL A TASK THAT HAS BEEN SCHEDULED. / / THE FIRST LINE OF THE COMMAND INPUT FOR ANY MCR / FUNCTION IS READ BY THE RESIDENT MCR TASK ("...MCR"). / FOR THE "CANCEL" FUNCTION, THERE IS ONLY ONE LINE OF / COMMAND INPUT, AND IT'S SYNTAX IS AS FOLLOWS: / / SYNTAX = 'CAN'$ / (/) / = " "/"," / = 1-6 ALPHANUMERIC CHARACTERS / = CAR RTN / = ALTMODE / = NON BREAK CHARACTER / $ -- " ANY NUMBER OF "INCLUDING ZERO " / / THE RESIDENT MCR READS A LINE, FETCHES THE / FIRST THREE CHARACTERS TO FORM THE MCR FUNCTION TASK / NAME ("...CAN"), FLUSHES CHARACTERS THRU THE FIRST / BREAK CHARACTER, REQUESTS "...CAN", AND EXITS / THE TASK "...CAN " PROCESSES THE REMAINDER OF THE LINE / AND IF THE REQUEST IS VALID, ISSUES AN APPROPRIATE "CANCEL" / DIRECTIVE. / / IF THE COMMAND INPUT LINE IS TERMINATED BY A CAR RTN, / THE RESIDENT MCR TASK IS REQUESTED, AND THE FUNCTION TASK / EXITS. / / IF THE COMMAND INPUT LINE IS TERMINATED BY AN ALTMODE, THE / FUNCTION TASK EXITS WITHOUT REQUESTING "...MCR". A ^C TYPEIN / IS THEN NECESSARY TO RE-ESTABLISH MCR DIALOGUE. .TITLE *** MCR FUNCTION 'CANCEL' / MCRRI=171 FAC=174 X10=10 / CAN LAW -7 /SET UP TO FETCH TASK NAME AND STORE DAC CNT /SIX CHARACTERS (ZERO RIGHT FILL) IN LAC (CANCPB+1) /CANCEL CAL PARAMETER BLOCK DAC* (X10) / CANN1 JMS* (FAC) /FETCH A CHARACTER SAD (054) / IS IT A COMMA? JMP ERR1 /YES -- ERROR IN SYNTAX SAD (040) /NO -- BLANK? JMP ERR1 /YES -- ERROR IN SYNTAX SAD (015) /NO -- CAR RTN? JMP ENDCRA /YES-- END OF REQUEST SAD (175) /NO -- ALTMODE? JMP ENDCRA /YES-- END OF REQUEST DAC* X10 /NO -- STORE CHARACTER ISZ CNT /LAST CHARACTER OF TASK NAME? JMP CANN1 /NO -- GET NEXT CHARACTER / ERR1 LAC (MES2) /GET SYNTAX ERROR MESSAGE ADDRESS DAC TYPCPB+4 /PUT IT IN TYPE REQUEST JMP ERRTY /REQUEST MCR AND RETURN / ENDCRA DAC SVBKCH /SAVE CAR RTN OR ALTMODE CANN2 DZM* X10 /FILL REMAINING CHARACTERS WITH ZERO ISZ CNT JMP CANN2 / LAC CANCPB+4 /FORM FIRST HALF OF TASK NAME LRS 6 LAC CANCPB+3 LRS 6 LAC CANCPB+2 SNA /IS THIS A NULL NAME? JMP ERR1 /YES EXIT WITH ERROR LLS 14 DAC CANCPB+2 /STORE FIRST HALF OF WORD IN CANCPB LAC CANCPB+7 /FORM SECOND HALF OF TASK NAME LRS 6 LAC CANCPB+6 LRS 6 LAC CANCPB+5 LLS 14 DAC CANCPB+3 CAL CANCPB /ISSUE CANCEL DIRECTIVE CAL WAITF /WAIT FOR CANCEL TO COMPLETE LAC EV /GET EVENT VARIABLE SMA /REJECTED? JMP EXT1A /NO -- EXIT CODE LAC (MES3) /YES -- TYPE ERR MESSAGE DAC TYPCPB+4 / ERRTY CAL TYPCPB /MAKE TYPE CPB REQUEST WAITEV CAL WAITF JMP EXT2 /FINISHED EXIT EXT1A LAC SVBKCH /GET TERMINATION CHARACTER SAD (15) /SKIP IF ALTMODE EXT2 CAL REQMCR /REQUEST MCR TASK SAD (175) /IF ALTMODE DON'T CLEAR MCRRI DZM* (MCRRI) /CLEAR ^C SWITCH CAL (10) /RETURN / WAITF 20 /WAIT FOR REQUEST EV /EVENT VARIABLE ADDRESS / REQMCR 1 /CALL MCR DIRECTIVE 0 .SIXBT "..." .SIXBT "MCR" 0 / CANCPB 4 /FUNCTION CODE EV /EVENT VARIABLE ADR 0 /TASK NAME (FIRST HALF) 0 /TASK NAME (SECOND HALF) 0 0 0 0 0 / TYPCPB 2700 /WRITE EV /EVENT VARIABLE 3 /LUN NUMBER 2 /IOPS ASCII MES3 EV 0 / MES2 2; 0; .ASCII "CAN-SYNTAX ERR"<15> MES3 2; 0; .ASCII "CAN-TASK NOT IN SYSTEM"<15> / SVBKCH 0 CNT 0 .END CAN