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