Table of Contents

BACKLST

Table Of Contents

  • [00010] PRODUCE BACKUP LIBRARY PRINTOUT
  • [00012] PRODUCE BACKUP LIBRARY PRINTOUT
  • [00054] COMMON DATA
  • [00081] MAIN PROGRAM.
  • [00092] SUBROUTINES
  • [00094] BUILDO - BUILD OUTPUT LINE
  • [00141] CKSTATS - CHECK FILE STATUS FOR BUSY
  • [00163] CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
  • [00175] GTW - GET WORD
  • [00224] INIT - INITIALIZE
  • [00277] PRA - EXTRACT PARAMETERS BEYOND PERIOD
  • [00329] READDMP - READ DUMP DIRECTORY
  • [00365] WRITEO - WRITE OUTPUT
  • [00382] ZERO - ZERO BUFFER

Source Code

BACKLST.txt
  1. BACKLST
  2. * /--- FILE TYPE = E
  3. * /--- BLOCK BLIST 00 000 81/05/07 06.52
  4. BACKLST
  5. IDENT BACKLST,BEGIN,BACKLST
  6. ENTRY BACKLST
  7. SYSCOM B1 DEFINE (B1) = 1
  8. *COMMENT PRODUCE BACKUP LIBRARY PRINTOUT
  9. COMMENT COPYRIGHT CONTROL DATA CORP. 1980.
  10. TITLE PRODUCE BACKUP LIBRARY PRINTOUT
  11. SPACE 4
  12. *** BACKLST - PRODUCE BACKUP LIBRARY PRINTOUT
  13. * J. J. BUCHMANN. 80/11/15.
  14. *
  15. *FUNCTION;
  16. * THIS PROGRAM EXTRACTS DATA FROM THE DUMP DIRECTORY.
  17. * THIS IS INTENDED MOSTLY WHEN A FILE NEEDS TO BE
  18. * RECOVERED BUT ITS ACCOUNT IS UNKNOWN, BUT OTHER
  19. * INFORMATION CAN BE EXTRACTED ALSO.
  20. *
  21. *PARAMETERS;
  22. * Z EXTENDED PARAMETER FLAG(PARAMETERS LONGER
  23. * THAN 7 CHARACTERS PASSED BEHIND TRAILING
  24. * DELIMITER
  25. * FN=FFFF LIST FILENAMES WITH *FFFF* ONLY
  26. * AN=AAAA LIST FILENAMES UNDER ACCOUNT *AAAA* ONLY
  27. * TY=T LIST FILES OF TYPE *T* ONLY(ONE CHARACTER
  28. * FILE TYPE)
  29. * SL SHORT LISTING(60 CHARACTER MAXIMUM OUTPUT
  30. * LINE SUITABLE TO BEING DISPLAYED ON PLATO
  31. * SCREEN)
  32. *
  33. *ERROR MESSAGES;
  34. * ERROR IN PARAMETERS
  35. *
  36. *INTERNAL ERROR MESSAGES; NONE
  37. *
  38. *INFORMATION PASSED INTO THE OUTPUT FILE;
  39. * ACCOUNT NAME, FILE NAME, FILE SIZE/TYPE OF SELECTED
  40. * ENTRIES.
  41. SPACE 4
  42. *CALL COMCMAC
  43. *CALL COMCCMD
  44. SPACE 4
  45. **** ASSEMBLY CONSTANTS.
  46.  
  47. BLDD EQU 10 DUMP DIRECTORY LENGTH
  48. DBUFL EQU 2001B DFILE BUFFER LENGTH
  49. OUTBUFL EQU 2001B OUTPUT BUFFER LENGTH
  50.  
  51.  
  52. ****
  53.  
  54. TITLE COMMON DATA
  55. BEGIN BSS 0
  56.  
  57.  
  58. FETS BSS 0
  59.  
  60. D BSS 0
  61. BACKDIR RFILEB DBUF,DBUFL,(FET=13D),EPR
  62.  
  63. OUT BSS 0
  64. OUTPUT RFILEB OUTBUF,OUTBUFL,(FET=8D)
  65. SPACE 4
  66. * PERMANENT FILE PARAMETERS
  67. *
  68. PACK DATA 0 PACK NAME FOR ATTACHES
  69. DPER DATA 7LBACKDIR PERMANENT FILE FOR DUMP DIRECT.
  70. FILEN DATA 0 FILE NAME
  71. ACCTN DATA 0 ACCOUNT NAME
  72. TYPE DATA 0 TYPE
  73. Z DATA 0 Z FLAG
  74. SL DATA 0 SHORT LISTING FLAG
  75. ONE DATA 1 CONSTANT ONE
  76.  
  77. USERI EQU 377773B USER INDEX FOR FILES
  78. TIMEL EQU 7777B TIME LIMIT
  79. PRIOR EQU 41B PRIORITY
  80. * /--- BLOCK BLIST 00 000 80/11/24 07.53
  81. TITLE MAIN PROGRAM.
  82. *** BACKLST
  83.  
  84.  
  85. BACKLST SB1 1 (B1) = 1
  86. RJ INIT INITIALIZE AND GET ARGS
  87. WRITEC OUT,PAGEJ PAGE EJECT
  88. RJ READDMP READ DUMP DIRECTORY
  89. RJ WRITEO OUTPUT LAST LINE IF ANY
  90. WRITER OUT,R EOR ON OUTPUT
  91. ENDRUN
  92. TITLE SUBROUTINES
  93. BUILDO SPACE 4
  94. ** BUILDO - BUILD OUTPUT LINE
  95.  
  96.  
  97. BUILDO DATA 0 ENTRY/EXIT
  98. SA1 OLDACC
  99. SA2 BUFD
  100. IX6 X1-X2 COMPARE OLD AND NEW ACCOUNTS
  101. ZR X6,BUI1 IF THE SAME
  102. BX6 X2 SAVE THIS NAME
  103. SA6 A1
  104. RJ WRITEO WRITE CURRENT LINE
  105. BUI1 SA1 BUILDP GET POINTER
  106. SB7 X1+
  107. NZ B7,BUI2 IF LINE ALREADY STARTED
  108. SA1 BUFD ACCOUNT NAME
  109. RJ SFN
  110. LX6 54
  111. SA6 B7+BUILD
  112. SB7 B1
  113. BUI2 SA1 BUFD+1
  114. RJ SFN
  115. SA6 B7+BUILD
  116. SA1 BUFD+2 SIZE
  117. MX6 -6
  118. LX1 12
  119. BX1 -X6*X1
  120. RJ CDD
  121. SA1 BUFD+2
  122. LX6 42
  123. MX7 6
  124. BX1 X7*X1
  125. LX1 6
  126. SA1 X1+FTYPE-1
  127. MX7 24
  128. BX6 X7*X6
  129. BX6 X6+X1 ADD IN TYPE
  130. SA6 B7+BUILD+1
  131. SA1 SL
  132. SB6 X1+ LINE LIMIT
  133. SB7 B7+2
  134. SX7 B7
  135. SA7 BUILDP
  136. LT B7,B6,BUILDO
  137. RJ WRITEO WRITE OUTPUT LINE
  138. EQ BUILDO
  139. * /--- BLOCK BLIST 00 000 80/11/19 13.17
  140. CKSTATS SPACE 4
  141. ** CKSTATS - CHECK FILE STATUS FOR BUSY
  142. * ROLLOUT FOR 64 SECONDS IF BUSY
  143. * ABORT IF ERROR
  144. *
  145. * ENTRY X1-FET STATUS WORD
  146. *
  147. * EXIT X2=0, NOT BUSY
  148.  
  149.  
  150. CKSTATS DATA 0 ENTRY/EXIT
  151. AX1 10
  152. MX7 -8
  153. BX2 -X7*X1 ISOLATE STATUS
  154. ZR X2,CKSTATS IF NOT BUSY AND NO ERROR
  155. SX2 X2-1
  156. NZ X2,ABORT ATTACH ERROR
  157. ROLLOUT CKSW
  158. SX2 1 BUSY STATUS
  159. EQ CKSTATS
  160.  
  161. CKSW DATA 7700000100B
  162. CLREPR SPACE 4
  163. ** CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
  164. *
  165. * ENTRY A1/X1=FET+1 AND CONTENTS
  166.  
  167.  
  168. CLREPR DATA 0 ENTRY/EXIT
  169. SX6 B1 MASK FOR EPR
  170. LX6 44
  171. BX6 -X6*X1
  172. SA6 A1
  173. EQ CLREPR
  174. GTW SPACE 4
  175. ** GTW - GET WORD
  176. *
  177. * THIS ROUTINE EXTRACTS UP TO TEN CHARACTERS FROM
  178. * A CONTROL CARD AREA. 'ALL WORDS ARE SEPARATED
  179. * BY DELIMITERS (ANY CHARACTER .GT. 9).
  180. *
  181. * ENTRY B1 = 1
  182. * A4/X4 = CHARACTERS TO BE EXTRACTED FROM
  183. * B6 = SHIFT COUNT (INITIALLY 0)
  184. *
  185. * EXIT X1 = WORD THAT WAS EXTRACTED
  186. * X2 = DELIMITER
  187. * IF X2 .LT. 0 - MORE THAN 10 CHARS IN WORD
  188. * IF X2 .EQ. 0 - END OF CARD
  189. * B5 = 60-(N*6) WHERE N IS THE NUMBER OF
  190. * CHARACTERS FOUND IN THE WORD
  191. * A4/X4/B6 SET FOR NEXT WORD
  192. *
  193. * USES A-4
  194. * X-1,2,3,4
  195. * B-5,6,7
  196.  
  197.  
  198. GTW DATA 0 ENTRY/EXIT
  199. MX1 0 INITIAL SETTINGS
  200. SB5 60
  201. SB7 B5
  202. GTW1 SB6 B6+6 NEXT CHARACTER
  203. GT B6,B7,GTW2 IF NEW WORD NEEDED
  204. MX2 -6 CHARACTER MASK
  205. LX4 6 SHIFT TO NEXT CHARACTER
  206. BX2 -X2*X4
  207. ZR X2,GTW END OF CARD
  208. SX3 X2-1R9-1
  209. PL X3,GTW IF DELIMITER
  210. SB5 B5-6 DECREASE CHARACTER SHIFT COUNT
  211. NG B5,GTW3 IF MORE THAN 10 CHARS.
  212. LX2 X2,B5 SHIFT TO PROPER LOCATION
  213. BX1 X1+X2 MERGE
  214. EQ GTW1 GET NEXT CHARACTER
  215.  
  216. GTW2 SA4 A4+B1 GET NEXT WORD
  217. SB6 B0
  218. EQ GTW1
  219.  
  220. GTW3 BX2 -X2 ERROR FLAG
  221. EQ GTW EXIT
  222. * /--- BLOCK BLIST 00 000 80/11/25 06.48
  223. INIT SPACE 4
  224. ** INIT - INITIALIZE
  225.  
  226.  
  227. INIT DATA 0 ENTRY/EXIT
  228. SETTL TIMEL SET TIME LIMIT
  229. SETPR PRIOR SET PRIORITY
  230. *
  231. * GET ARGUMENTS
  232. *
  233. SA1 ACTR ARGUMENT COUNT
  234. SB4 X1
  235. SA4 ARGR FIRST ARGUMENT
  236. SB5 ARGTBL ARGUMENT TABLE
  237. RJ ARG
  238. NZ X1,INITERR ERROR IN ARGUMENTS
  239. SA1 INITM MODIFY COMCARG FOR 10 CHARS
  240. BX6 X1
  241. SA6 ARG5
  242. SA1 Z SEE IF EXTENDED PARAMETERS
  243. ZR X1,INIT1
  244. SX5 CCDR CONTROL CARD AREA
  245. RJ PRA EXTRACT EXTENDED PARAMETERS
  246. NZ X6,INITERR IF ERROR IN CARD
  247. SB5 ARGTBL ARG TABLE ADDRESS
  248. RJ ARG
  249. NZ X1,INITERR ERROR IN ARGUMENTS
  250. *
  251. * ATTACH PERMANENT FILES
  252. *
  253. INIT1 SETUI USERI USER INDEX
  254. PACKNAM PACK SET PACKNAME
  255. INIT2 ATTACH D,DPER,,,R
  256. SA1 D
  257. RJ CKSTATS
  258. NZ X2,INIT2 IF FILE WAS BUSY
  259. SA1 D+1
  260. RJ CLREPR CLEAR EPR
  261. SX6 13 DEFAULT LISTING LENGTH
  262. SA1 SL
  263. ZR X1,INIT3
  264. SX6 5
  265. INIT3 SA6 A1
  266. MX7 0
  267. SA7 X6+LINE1
  268. EQ INIT
  269.  
  270. INITM BX7 X3+X6 INSTRUCTIONS MODIFIED AT ARG5
  271. SA7 B2+
  272. SB3 B2-B3
  273.  
  274. INITERR MESSAGE INMSG
  275. EQ ABORT
  276. PRA SPACE 4
  277. ** PRA - EXTRACT PARAMETERS BEYOND PERIOD
  278. *
  279. * EXTRACT PARAMETERS FROM CONTROL CARD AREA
  280. *
  281. * ENTRY B1 = 1
  282. * X5 = ADDRESS OF CONTROL CARD
  283. *
  284. * EXIT X6 = 0 ALL OK, -1 IF ERROR
  285. * ARGUMENTS AT ARGR
  286. * A4/X4 = FIRST ARGUMENT
  287. * B4 = NUMBER OF ARGUMENTS
  288. *
  289. * USES A-4
  290. * X-1,2,3,4,6,7
  291. * B-3,4,5,6,7
  292. *
  293. * CALLS GTW
  294.  
  295.  
  296. PRA DATA 0 ENTRY/EXIT
  297. SA4 X5 CONTROL CARD AREA
  298. SB6 0 INITIAL SHIFT COUNT
  299. PRA1 RJ GTW GET NEXT WORD
  300. NG X2,PRAX ERROR - MORE THAN 10 CHARS.
  301. ZR X2,PRAX ERROR - NULL WORD
  302. SX7 X2-1R.
  303. ZR X7,PRA2 IF PERIOD
  304. SX7 X2-1R)
  305. NZ X7,PRA1 IF NOT )
  306. * /--- BLOCK BLIST 00 000 80/11/25 06.49
  307. PRA2 SB3 ARGR LOCATION TO STORE ARGS
  308. PRA3 RJ GTW GET NEXT WORD
  309. NG X2,PRAX ERROR - MORE THAN 10 CHARS
  310. ZR X1,PRA5 IF END OF CARD
  311. SX7 X2-1R= SEE IF = IS DELIMITER
  312. SX6 0
  313. NZ X7,PRA4 IF NOT =
  314. SB4 48
  315. LT B5,B4,PRA4 IF NOT 1 OR 2 CHARACTERS
  316. SX6 1R= ADD = CHARACTER TO WORD
  317. PRA4 BX6 X6+X1 MERGE
  318. SA6 B3 STORE ARGUMENT
  319. SB3 B3+B1 ADVANCE ARG POINTER
  320. NZ X2,PRA3 IF NOT END OF CARD
  321. PRA5 SB4 B3-ARGR NUMBER OF ARGUMENTS
  322. SA4 ARGR FIRST ARGUMENT
  323. MX6 0 OK EXIT
  324. EQ PRA
  325.  
  326. PRAX MX6 59 ERROR EXIT
  327. EQ PRA
  328. READDMP SPACE 4
  329. ** READDMP - READ DUMP DIRECTORY
  330. *
  331. * READS DUMP DIRECTORY - BUILDS OUTPUT
  332.  
  333.  
  334. READDMP DATA 0 ENTRY/EXIT
  335. RECALL D
  336. REWIND D,R
  337. READ D,R
  338. WRITEC OUT,LINE1
  339. WRITEC OUT,SPACE
  340.  
  341. RDD1 READW D,BUFD,BLDD READ ONE ENTRY
  342. NZ X1,READDMP IF EOR, EOF
  343. SA1 FILEN SEE IF FILE NAME SPECIFIED
  344. ZR X1,RDD2 IF NONE
  345. SA2 BUFD+1 GET THIS FILE NAME
  346. IX6 X1-X2
  347. NZ X6,RDD1 NOT PROPER FILE NAME
  348. RDD2 SA1 ACCTN SEE IF ACCOUNT NAME SPECIFIED
  349. ZR X1,RDD3 IF NONE
  350. SA2 BUFD
  351. MX6 36
  352. BX1 X6*X1
  353. IX6 X1-X2
  354. NZ X6,RDD1 NOT PROPER ACCOUNT NAME
  355. RDD3 SA1 TYPE SEE IF TYPE SPECIFIED
  356. ZR X1,RDD4
  357. SA2 BUFD+2
  358. MX6 6
  359. BX2 X6*X2
  360. IX6 X1-X2
  361. NZ X6,RDD1 IF WRONG TYPE
  362. RDD4 RJ BUILDO BUILD OUTPUT LINE
  363. EQ RDD1
  364. WRITEO SPACE 4
  365. ** WRITEO - WRITE OUTPUT
  366. *
  367. * WRITE OUTPUT LINE IF ANY
  368. * ZERO BUFFER
  369.  
  370.  
  371. WRITEO DATA 0 ENTRY/EXIT
  372. SA1 BUILD
  373. ZR X1,WRITEO EXIT IF NOTHING TO WRITE
  374. WRITEC OUT,BUILD WRITE OUTPUT LINE
  375. SB6 BUILD
  376. SB7 13
  377. RJ ZERO ZERO BUILD BUFFER
  378. SA7 BUILDP AND POINTER
  379. EQ WRITEO
  380. * /--- BLOCK BLIST 00 000 80/11/25 06.50
  381. ZERO SPACE 4
  382. ** ZERO - ZERO BUFFER
  383. *
  384. * ENTRY B1=1
  385. * B6=FWA
  386. * B7=NUMBER OF WORDS TO ZERO
  387. *
  388. * EXIT X7=0
  389. * BUFFER ZEROED
  390. *
  391. * USES A-7
  392. * X-7
  393. * B-6,7
  394.  
  395. ZERO DATA 0 EMTRY/EXIT
  396. MX7 0
  397. SB7 B7-B1
  398. NG B7,ZERO
  399. ZRO1 SA7 B6+B7
  400. SB7 B7-B1
  401. PL B7,ZRO1
  402. EQ ZERO
  403.  
  404. ABORT MESSAGE (=C* RUN ABORTED.*)
  405. ABORT
  406.  
  407. PAGEJ DIS ,*1* PAGE EJECT
  408. SPACE DIS ,* * BLANK LINE
  409. LINE1 DATA 30H ACCOUNT FILE NAME SZ TYPE
  410. DATA 20HFILE NAME SZ TYPE
  411. DATA 20HFILE NAME SZ TYPE
  412. DATA 20HFILE NAME SZ TYPE
  413. DATA 20HFILE NAME SZ TYPE
  414. DATA 20HFILE NAME SZ TYPE
  415. DATA 0
  416. OLDACC DATA 0 OLD ACCOUNT NAME
  417. BUILDP DATA 0 POINTER TO BUILD BUFFER
  418. BUILD DATA 0,0,0,0,0,0 OUTPUT LINE BUILD AREA
  419. DATA 0,0,0,0,0,0,0,0
  420.  
  421. FTYPE DATA 6RTUTOR FILE TYPES
  422. DATA 6RBINAR
  423. DATA 6RCURRI
  424. DATA 6RDATA
  425. DATA 6RCOMPA
  426. DATA 6RGROUP
  427. DATA 6RDATAS
  428. DATA 6RPLMC
  429. DATA 6RGNOTE
  430. DATA 6RU(10)
  431. DATA 6RNAMES
  432. DATA 6RACCOU
  433. DATA 6RCATAL
  434. DATA 6RU(14)
  435. DATA 6RMODUL
  436. DATA 6RPNOTE
  437. DATA 6RDOCUM
  438. DATA 6RU(18)
  439. DATA 6RU(19)
  440. DATA 6RU(20)
  441. DATA 6RU(21)
  442. DATA 6RU(22)
  443. DATA 6RU(23)
  444. DATA 6RU(24)
  445. DATA 6RU(25)
  446. DATA 6RU(26)
  447. DATA 6RU(27)
  448. DATA 6RU(28)
  449. DATA 6RU(29)
  450. DATA 6RU(30)
  451. DATA 6RU(31)
  452. DATA 6RU(32)
  453. DATA 6RU(33)
  454. DATA 6RU(34)
  455. DATA 6RU(35)
  456. DATA 6RU(36)
  457. DATA 6RU(37)
  458. DATA 6RU(38)
  459. DATA 6RU(39)
  460. DATA 6RU(40)
  461. DATA 6RU(41)
  462. DATA 6RU(42)
  463. DATA 6RU(43)
  464. DATA 6RU(44)
  465. DATA 6RU(45)
  466. DATA 6RU(46)
  467. DATA 6RU(47)
  468. DATA 6RU(48)
  469. DATA 6RU(49)
  470. DATA 6RU(50)
  471. DATA 6RU(51)
  472. DATA 6RU(52)
  473. DATA 6RU(53)
  474. DATA 6RU(54)
  475. DATA 6RU(55)
  476. DATA 6RU(56)
  477. DATA 6RU(57)
  478. DATA 6RU(58)
  479. DATA 6RU(59)
  480. DATA 6RU(60)
  481. DATA 6RU(61)
  482. DATA 6RU(62)
  483. DATA 6RU(63)
  484. * /--- BLOCK BLIST 00 000 81/04/29 08.45
  485. *
  486. * ARGUMENT TABLE
  487. *
  488. INMSG DIS ,* ERROR IN PARAMETERS.*
  489. ARGTBL BSS 0
  490. * VFD 12/2LSP,18/PACK,30/PACK
  491. * VFD 12/2LDP,18/DPER,30/DPER
  492. VFD 12/1LZ,18/ONE,30/Z
  493. VFD 12/2LSL,18/ONE,30/SL
  494. VFD 12/2LFN,18/FILEN,30/FILEN
  495. VFD 12/2LAN,18/ONE,30/ACCTN
  496. VFD 12/2LTY,18/TYPE,30/TYPE
  497. ARGTBLE DATA 0 END OF TABLE
  498. ****
  499. CDDX DATA 0
  500. RJ CDD
  501. SA6 DBUG
  502. MESSAGE DBUG
  503. EQ CDDX
  504. SHOW DATA 0
  505. BX6 X1
  506. SA6 DBUG
  507. RJ WOD
  508. SA6 OCT
  509. SA7 OCT+B1
  510. MESSAGE OCT
  511. EQ SHOW
  512. OCT DATA 0
  513. DATA 0
  514. DBUG DATA 0
  515. DATA 0
  516. ****
  517. SPACE 4
  518. * COMMON DECKS.
  519.  
  520.  
  521. *CALL COMCCIO
  522. *CALL COMCRDS
  523. *CALL COMCRDW
  524. *CALL COMCSYS
  525. *CALL COMCWTS
  526. *CALL COMCWTW
  527. *CALL COMCCDD
  528. *CALL COMCSFN
  529. *CALL COMCWTC
  530. *CALL PLACARG
  531. *CALL COMCWOD
  532. *CALL COMCCPM
  533. *CALL COMCPFM
  534. SPACE 4
  535. ** BUFFERS.
  536.  
  537.  
  538. BUFFERS BSS 0
  539. BSS 1
  540. BUFD BSS BLDD
  541. DBUF BSS DBUFL
  542. OUTBUF BSS OUTBUFL
  543. END BACKLST