SSD & RSD# - DOCUMENTATION - FILE SSD.DOC SSD IS A PROGRAM WHICH ALLOWS A USER TO SEND PSEUDO DATA ENTRY SWITCHES AND A LITERAL STRING TO A SPECIFIC TASK. SSD AND ITS CORRESPONDING RECEIVING ROUTINES (RSD#) MAY BE USEFUL FOR PROGRAMS WHICH ARE DEVELOPMENTAL - OR THOSE FOR WHICH A GREATER DEGREE OF CONTROL IS DESIRED. RSD AND ASSOCIATED CODES ARE IN THE SYSTEM LIBRARY - [350,2] AUTHORS: R.A. BEDDINI AND A.J. BARR DATE: VS:1.1 MAR, 1978 SSD: --------- THE SENDING TASK IS SSD, WHICH MAY BE INVOKED FROM ANY PDS TERMINAL. ** DATA SHOULD BE SENT ONLY TO TASKS WHICH ARE CAPABLE OF RECEIVING VIA THE APPROPRIATE RSD ROUTINES. USAGE: PDS> SSD THE PROGRAM WILL PROMPT: /OPT TASK-NAME SWITCHES 'LITERAL (THESE PARAMETERS MAY BE ENTERED ON THE COMMAND LINE.) THE RECEIVING TASK NAME (1 - 6 CHARS) IS MANDATORY. UNDER PDS, THE TASK NAME FOR MOST USER CREATED TASKS IS JOBNNN, WHERE NNN IS ASSIGNED AT LOGIN FOR BATCH OR TIMESHARING JOBS. THE SWITCH FIELD IS SEPARATED FROM THE TASK NAME BY BLANKS . SWITCH VALUES ARE POSITIVE (TO TURN ON) OR NEGATIVE (TO TURN OFF) AND SHOULD LIE BETWEEN [-15,15]. NOTE THAT -0 IS LEGITIMATE. SWITCHES SHOULD BE SEPARATED BY COMMAS. THE RECEIVED SWITCHES WILL AUGMENT THOSE ALREADY SET UNLESS THE /CL OPTION IS USED. THE LITERAL IS SEPARATED FROM THE SWITCH FIELD BY A SINGLE QUOTE. THE NEXT 20 CHARACTERS ARE SENT. IF THIS FIELD IS ABSENT, A NULL STRING IS SENT. /OPTIONS: /CLEAR - CAUSES EXISTING SWITCHES TO BE SET OFF BEFORE SETTING NEW SWITCHES ON. EXAMPLES: JOB15 0,-15,2 'X.DAT;3 JOB252 0 , 3 /CL JOB33 5 --------------------------------------------------- RSD: --------- TO RECEIVE THE DATA , THE USER SHOULD IMPLEMENT THE APPROPRIATE ROUTINES FROM THE RSD(#) PACKAGE. AT THE PRESENT THERE IS ONLY ONE SET IN THE RSD PACKAGE - RSD1 RSD1: --------- USAGE: THIS SYSTEM IS INVOKED BY SIMPLY CALLING RSD1I IN THE INITIALI- ZATION SECTION OF THE RECEIVING PROGRAM. THIS SYSTEM MUST REMAIN IN THE TASK ROOT. E.G.: PROGRAM CALC COMMON /LSWCM/ LSW(16) LOGICAL LSW , LSWON ... CALL RSD1I ... IF (LSW(1) ) STOP 'PROGRAM TERMINATED BY SWITCH 0' ...OR .... IF (LSWON(0)) STOP 'PROGRAM TERMINATED BY SWITCH 0' ... END OPERATION: RSD1I INDIRECTLY DECLARES RSD1 TO BE AN ASYNCHRONOUS SYSTEM TRAP (AST). THAT IS, THE DATA IS RECEIVED AUTOMATICALLY IN THE BUFFER AREAS RSD1C AND LSWCM WITHOUT THE TASK REQUESTING IT APRIORI. LSWCM IS A 16 WORD COMMON BLOCK CONTAINING THE LOGICAL VALUES (T/F) OF THE 'SWITCHES' 0 - 15 IN WORDS 1 - 16, RESPECTIVELY. NOTE: THE ROUTINE LSWON (NOT PART OF THIS SYSTEM) UTILIZES THE SAME COMMON AND IS A DATA SWITCH INTERFACE. RSD1C IS AN 18 WORD COMMON BLOCK WHOSE CONTENTS ARE WORD# 1 ERROR INDICATOR: = 0 NO ERROR -1 ERROR DURING INITIALIZATION MAY BE CHECKED AFTER CALLING RSD1I -2 RECEIVE DIRECTIVE ERROR. SEE DSW (WORD 2) 2 DIRECTIVE STATUS WORD (DSW). SUPPLIED BY THE RSX11-D ROUTINE VRECEV. 3 THE DEVICE CODE OF THE SENDING TASK. 4&5 SENDING TASK'S NAME. 6 OPTIONS WORD FOR RSD1. BIT 0: /CL 7 COMPRESSED VALUES OF "ON" SWITCHES. 8 COMPRESSED VALUES OF "OFF" SWITCHES. 9-18 THE LITERAL DATA SENT BY SSD. WORDS 2 THROUGH 8 ARE NOT NORMALLY OF INTEREST TO THE USER. RESOURCES USED: A) APPROX. 230 WORDS OF CORE WILL BE ADDED TO THE ROOT SEGMENT. B) ASSOCIATED NAMED PSECTS: RSD1C; RECASI,C ; LSWCM C) THE ROUTINES VRECEV AND ISHFT FROM SYSLIB.OLB D) ALL NECESSARY NON-SYSTEM OBJECT CODE IS IN THE FILE RSD1O.OBJ, WHICH MAY BE REFERENCED FOR TASK BUILDING. WARNING: IF RSD1O IS NOT IN THE TASK ROOT, YOUR PROGRAM MAY HAVE A HORRIBLE DEATH. END