1000 ! XLOKS - Display System Locks Set With XLOCK.SBR 1005 1010 ! *** Written by Brion Norton 1/29/88 *** 1015 ! *** Seattle Refrigeration & Manufacturing Company *** 1020 1025 ! There are other methods for doing this same thing, but 1030 ! this program uses only utilities included with AMOS(L). 1035 1040 ! See the documentation for XLOCK.SBR for procedures to 1045 ! install the locking utility on your system. 1050 1055 ! Copy XLOKS.RUN to BAS: and XLOKS.CMD to CMD: 1060 1065 ! To use: At the AMOS(L) dot prompt, type "XLOKS" and 1070 ! press RETURN. 1075 1080 ! The JOB numbers displayed are the sequence numbers in 1085 ! the system job table, i.e. the order in which the job 1090 ! was allocated when the system was last booted. 1095 1100 MAP1 MODE,B,2 ! XLOCK process parameter 1105 MAP1 MYJOB,B,2 ! job number return variable 1110 MAP1 LISTARRAY ! array variable for locks set on system 1115 MAP2 LOCKENTRY(51) 1120 MAP3 JOB'NUM,B,2 ! number of job that set the lock 1125 MAP3 L1,B,2 ! first value of lock 1130 MAP3 L2,B,2 ! second value of lock 1135 1140 MAP1 MISCELLANY 1145 MAP2 C,F 1150 MAP2 J,F 1155 MAP2 R,F 1160 MAP2 X,F 1165 MAP2 Z,F 1170 MAP2 MASK5,S,5,"#####" 1175 1180 !========================[ BEGIN PROGRAM ]======================== 1185 1190 MODE = 3 ! tell XLOCK to return data on system locks 1195 XCALL XLOCK,MODE,MYJOB,LISTARRAY 1200 1205 PRINT TAB(-1,0); TAB(1,14); & "C U R R E N T X L O C K S Y S T E M L O C K S"; & TAB(1,67); TAB(-1,33); TAB(1,11); TAB(-1,32); ! reverse video 1210 PRINT TAB(3,31); "Called By Job #"; STR(MYJOB); 1215 FOR J = 1 TO 3 1220 C = 3 + (J-1)*27 ! calculate screen display column 1225 PRINT TAB(5,C); "Job # Lock-1 Lock-2"; 1230 PRINT TAB(5,C+21); TAB(-1,31); TAB(5,C+14); TAB(-1,30); & TAB(5,C+13); TAB(-1,31); TAB(5,C+6); TAB(-1,30); & TAB(5,C+5); TAB(-1,31); TAB(5,C-1); TAB(-1,30); 1235 NEXT J 1240 Z = 0 1245 FOR J = 1 TO 51 1250 IF (JOB'NUM(J) < 1) THEN GOTO SKIP'JOB 1255 X = INT((J-1)/17) ! set column shift factor 1260 R = 5 + J - 17*X ! calculate screen row 1265 C = 5 + 27*X ! calculate screen column 1270 PRINT TAB(R,C); STR(JOB'NUM(J)) USING "##"; ! job number 1275 PRINT TAB(R,C+5); STR(L1(J)) USING MASK5; ! first lock value 1280 PRINT TAB(R,C+13); STR(L2(J)) USING MASK5; ! second lock value 1285 Z = Z + 1 ! count # of locks set 1290 SKIP'JOB: 1295 NEXT J 1300 IF (Z < 1) THEN PRINT TAB(13,28); "<<<< No Locks Set >>>>"; 1305 PRINT TAB(23,1); "Finished "; 1310 END 1315 1320 ! End of Program