User Tools

Site Tools


plato:source:plaopl:backlib

BACKLIB

Table Of Contents

  • [00010] PRODUCE BACKUP LIBRARY PRINTOUT
  • [00012] PRODUCE BACKUP LIBRARY PRINTOUT
  • [00055] COMMON DATA
  • [00088] MAIN PROGRAM.
  • [00103] SUBROUTINES
  • [00105] BUILDO - BUILD OUTPUT LINE
  • [00204] CKSTATS - CHECK FILE STATUS FOR BUSY
  • [00226] CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
  • [00238] INIT - INITIALIZE
  • [00274] GETAUT - GET AUDIT TRAIL
  • [00309] GETSL - GET SLOT ENTRY
  • [00335] RDSLOT - READ PARAMETER AND SLOT TABLES
  • [00344] END PROGRAM
  • [00346] END - END PROGRAM.

Source Code

BACKLIB.txt
  1. BACKLIB
  2. * /--- FILE TYPE = E
  3. * /--- BLOCK TAPE 00 000 81/05/07 06.52
  4. BACKLIB
  5. IDENT BACKLIB,BEGIN,BACKLIB
  6. ENTRY BACKLIB
  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. *** BACKLIB - PRODUCE BACKUP LIBRARY PRINTOUT
  13. * J. J. BUCHMANN. 80/11/15.
  14. *
  15. *FUNCTION;
  16. * THIS PROGRAM GIVES A LISTING OF THE AUDIT TRAIL ON THE
  17. * FILE NAMED OUTPUT. THE AUDIT TRAIL AND PARAMETERS
  18. * FILE ARE ATTACHED, THE CURRENT SLOT VALUE IS DISPLAYED
  19. * AND ALL AUDIT INFORMATION IS FORMATED FOR THE PRINTER.
  20. * WHEN AN ENTRY HAS A SLOT VALUE THAT IS THE SAME AS THE
  21. * CURRENT SLOT, A **NEXT** IS SHOWN IN THE LISTING TO
  22. * INDICATE THAT THIS TAPE WILL BE OBSOLETE WITH THE NEXT
  23. * DUMP AND THIS COULD BE REUSED.
  24. *
  25. *PARAMETERS;
  26. * SK (SKIP LISTING FOR **NEXT** TAPES)
  27. *
  28. *ERROR MESSAGES;
  29. * ERROR IN PARAMETERS
  30. * SLOT NUMBER OUT OF RANGE
  31. *
  32. *INTERNAL ERROR MESSAGES; NONE
  33. *
  34. *INFORMATION PASSED INTO THE OUTPUT FILE;
  35. * AUDIT TRAIL LISTING WITH NEXT TAPES TO USE
  36. SPACE 4
  37. *CALL COMCMAC
  38. *CALL COMCCMD
  39. SPACE 4
  40. **** ASSEMBLY CONSTANTS.
  41.  
  42. BLDA EQU 3 AUDIT TRAIL ENTRY LENGTH
  43. ABUFL EQU 2001B AFILE BUFFER LENGTH
  44. SBUFL EQU 2001B SFILE BUFFER LENGTH
  45. OUTBUFL EQU 2001B OUTPUT BUFFER LENGTH
  46. BLKSZE EQU 320 BLOCK SIZE (WORDS) FOR S0BACKC
  47. MBSLOT EQU 2 MAX NUM OF BLOCKS / SLOT TABLE
  48. MBLAB EQU 25 MAX NUM OF BLOCKS / LOOK ASIDE
  49. MBVSN EQU 25 MAX NUM OF BLOCKS / VSN TABLE
  50. REQPK EQU 50 REQUIRED PACK OFFSET IN PARAMS.
  51.  
  52.  
  53. ****
  54.  
  55. TITLE COMMON DATA
  56. BEGIN BSS 0
  57.  
  58.  
  59. FETS BSS 0
  60.  
  61. A BSS 0
  62. AUDIT RFILEB ABUF,ABUFL,(FET=13D),EPR
  63.  
  64. S BSS 0
  65. S0BACKC RFILEB SBUF,SBUFL,(FET=13D),EPR
  66.  
  67. OUT BSS 0
  68. OUTPUT RFILEB OUTBUF,OUTBUFL,(FET=8D)
  69. SPACE 4
  70. * DATA WORDS
  71. NFILE DATA 0 NUMBER OF FILES
  72. SLV DATA 0 SLOT VALUE
  73. VSV DATA 0 VSN ORDINAL
  74. VSNL VFD 60/MBVSN*BLKSZE VSN TABLE SIZE
  75. MASF DATA 0 MASTER FILE NAME
  76. CFILE DATA 0 CURRENT FILE NUMBER
  77. TFILE DATA 0 TOTAL FILES
  78. *
  79. * PERMANENT FILE PARAMETERS
  80. *
  81. PACK DATA 0 PACK NAME FOR ATTACHES
  82. APER DATA 5LAUDIT PERMANENT FILE FOR AUDIT
  83. SPER DATA 7LS0BACKC PERMANENT FILE FOR PARAMETERS
  84. SK DATA 0 SKIP PARAMETER
  85. ONE DATA 1 DEFAULT PARAM
  86. USERI EQU 377773B USER INDEX FOR FILES
  87. * /--- BLOCK TAPE 00 000 81/03/25 07.57
  88. TITLE MAIN PROGRAM.
  89. *** BACKLIB
  90.  
  91.  
  92. BACKLIB SB1 1 (B1) = 1
  93. RJ INIT INITIALIZE AND GET ARGS
  94. WRITEC OUT,PAGEJ PAGE EJECT
  95. SA1 SK SEE IF SKIP SLOT
  96. NZ X1,BKL1
  97. RJ RDSLOT READ PARAMETERS/SLOT TABLE
  98. RJ GETSL GET CURRENT SLOT NUMBER
  99. BKL1 RJ GETAUT GET AUDIT TRAIL
  100. WRITER OUT,R EOR ON OUTPUT
  101. ENDRUN
  102. * /--- BLOCK TAPE 00 000 80/11/12 07.00
  103. TITLE SUBROUTINES
  104. BUILDO SPACE 4
  105. ** BUILDO - BUILD OUTPUT LINE
  106. *
  107. * AUDIT INFO IN BUFA
  108. * BUILDS OUTPUT LINE FOR PRINTER IN BUILD
  109.  
  110. BUILDO DATA 0 ENTRY/EXIT
  111. SA1 BUFA MASTER FILE NAME
  112. MX7 42
  113. BX1 X7*X1
  114. RJ SFN
  115. LX6 54
  116. SA6 BUILD
  117. SA1 BUFA+1 PACKNAME
  118. MX7 42
  119. BX1 X7*X1
  120. RJ SFN
  121. SA6 BUILD+1
  122. SA1 BUFA NUMBER OF FILES
  123. SX1 X1
  124. RJ CDD
  125. MX7 -24
  126. BX6 -X7*X6
  127. LX6 36
  128. SA6 BUILD+2
  129. SA1 BUFA+1 SLOT NUMBER
  130. MX7 -7
  131. BX1 -X7*X1
  132. RJ CDD
  133. SA1 BUILD+2
  134. LX6 6
  135. MX7 -36
  136. BX6 -X7*X6
  137. IX6 X6+X1
  138. SA6 A1
  139. SA1 BUFA+2 VSN/PACK
  140. MX7 6 IF TAPE, ADD *
  141. BX7 X7*X1
  142. NZ X7,BUI1
  143. SX7 1R*
  144. LX7 54
  145. BX1 X1+X7
  146. BUI1 MX7 42
  147. BX1 X7*X1
  148. RJ SFN
  149. SA6 BUILD+3
  150. SA1 BUFA+1 EST
  151. MX7 -6
  152. AX1 7
  153. BX1 -X7*X1
  154. RJ WOD
  155. MX6 -12
  156. SA1 BUILD+3
  157. BX7 -X6*X7
  158. BX1 X6*X1
  159. IX6 X7+X1
  160. SA6 A1
  161. SA1 BUFA+2 YEAR
  162. AX1 14
  163. MX7 -4
  164. BX1 -X7*X1
  165. SX1 X1+96 CURRENT YEAR = YR+96 (BASE YR)
  166. RJ CDD
  167. MX7 -18
  168. BX6 -X7*X6
  169. LX6 42
  170. SA6 BUILD+4
  171. SA1 BUFA+2 MONTH
  172. AX1 10
  173. MX7 -4
  174. BX1 -X7*X1
  175. RJ CDD
  176. SA1 BUILD+4
  177. MX7 -18
  178. BX6 -X7*X6
  179. LX6 24
  180. IX6 X6+X1
  181. SA6 A1
  182. SA1 BUFA+2 DAY
  183. AX1 5
  184. MX7 -5
  185. BX1 -X7*X1
  186. RJ CDD
  187. SA1 BUILD+4
  188. LX6 6
  189. MX7 -24
  190. BX6 -X7*X6
  191. IX6 X6+X1
  192. SA6 A1
  193. SA1 BUFA+2 HOUR
  194. MX7 -5
  195. BX1 -X7*X1
  196. RJ CDD
  197. MX7 -12
  198. BX6 -X7*X6
  199. LX6 48
  200. SA6 BUILD+5
  201. EQ BUILDO
  202. * /--- BLOCK TAPE 00 000 81/03/27 07.54
  203. CKSTATS SPACE 4
  204. ** CKSTATS - CHECK FILE STATUS FOR BUSY
  205. * ROLLOUT FOR 64 SECONDS IF BUSY
  206. * ABORT IF ERROR
  207. *
  208. * ENTRY X1-FET STATUS WORD
  209. *
  210. * EXIT X2=0, NOT BUSY
  211.  
  212.  
  213. CKSTATS DATA 0 ENTRY/EXIT
  214. AX1 10
  215. MX7 -8
  216. BX2 -X7*X1 ISOLATE STATUS
  217. ZR X2,CKSTATS IF NOT BUSY AND NO ERROR
  218. SX2 X2-1
  219. NZ X2,ABORT ATTACH ERROR
  220. ROLLOUT CKSW
  221. SX2 1 BUSY STATUS
  222. EQ CKSTATS
  223.  
  224. CKSW DATA 7700000100B
  225. CLREPR SPACE 4
  226. ** CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
  227. *
  228. * ENTRY A1/X1=FET+1 AND CONTENTS
  229.  
  230.  
  231. CLREPR DATA 0 ENTRY/EXIT
  232. SX6 B1 MASK FOR EPR
  233. LX6 44
  234. BX6 -X6*X1
  235. SA6 A1
  236. EQ CLREPR
  237. INIT SPACE 4
  238. ** INIT - INITIALIZE
  239.  
  240.  
  241. INIT DATA 0 ENTRY/EXIT
  242. *
  243. * GET ARGUMENTS
  244. *
  245. SA1 ACTR ARGUMENT COUNT
  246. SB4 X1
  247. SA4 ARGR FIRST ARGUMENT
  248. SB5 ARGTBL ARGUMENT TABLE
  249. RJ ARG
  250. NZ X1,INITERR ERROR IN ARGUMENTS
  251. *
  252. * ATTACH PERMANENT FILES
  253. *
  254. SETUI USERI USER INDEX
  255. PACKNAM PACK SET PACKNAME
  256. INIT1 ATTACH A,APER,,,W
  257. SA1 A
  258. RJ CKSTATS
  259. NZ X2,INIT1 IF FILE WAS BUSY
  260. SA1 A+1
  261. RJ CLREPR CLEAR EPR
  262. INIT2 ATTACH S,SPER,,,W
  263. SA1 S
  264. RJ CKSTATS
  265. NZ X2,INIT2 IF FILE WAS BUSY
  266. SA1 S+1
  267. RJ CLREPR CLEAR EPR
  268. EQ INIT
  269.  
  270. INITERR MESSAGE INMSG
  271. EQ ABORT
  272. * /--- BLOCK TAPE 00 000 81/03/25 08.10
  273. GETAUT SPACE 4
  274. ** GETAUT - GET AUDIT TRAIL
  275. *
  276. * READS AUDIT TRAIL - SENDS OUTPUT LINE
  277.  
  278.  
  279. GETAUT DATA 0 ENTRY/EXIT
  280. RECALL A
  281. REWIND A,R
  282. READ A,R
  283. WRITEC OUT,LINE1
  284. WRITEC OUT,LINE2
  285. WRITEC OUT,SPACE
  286.  
  287. GETA1 READW A,BUFA,BLDA READ ONE ENTRY
  288. NZ X1,GETAUT IF EOR, EOF
  289. SA1 BUFA MASTER FILE NAME
  290. ZR X1,GETA1 IF EMPTY
  291. SA2 SLV GET CURRENT SLOT NUMBER
  292. MX7 -7
  293. SA1 A1+B1
  294. BX6 -X7*X1
  295. IX4 X6-X2
  296. ZR X4,GETA2 IF SLOTS MATCH
  297. RJ BUILDO OUTPUT INFO
  298. WRITEC OUT,BUILD
  299. EQ GETA1
  300.  
  301. GETA2 RJ BUILDO OUTPUT LINE
  302. SA1 =8R**NEXT**
  303. SA2 BUILD+5
  304. IX6 X1+X2
  305. SA6 A2
  306. WRITEC OUT,BUILD
  307. EQ GETA1
  308. GETSL SPACE 4
  309. ** GETSL - GET SLOT ENTRY
  310.  
  311.  
  312. GETSL DATA 0 ENTRY/EXIT
  313. SA1 SLOT GET SLOT POINTER
  314. SA1 SLOT+X1 GET SLOT NUMBER
  315. BX6 X1
  316. SA6 SLV
  317. ZR X6,SLERR
  318. NG X6,SLERR
  319. SX6 X6-31
  320. PL X6,SLERR
  321. RJ CDD
  322. SA6 SLMSG+1
  323. MESSAGE SLMSG OUTPUT SLOT MESSAGE
  324. WRITEC OUT,SLMSG
  325. WRITEC OUT,SPACE
  326. EQ GETSL
  327.  
  328. SLERR MESSAGE SMERR
  329. EQ ABORT
  330.  
  331. SLMSG DATA 10H SLOT =
  332. DATA 0
  333. DATA 0
  334. RDSLOT SPACE 4
  335. ** RDSLOT - READ PARAMETER AND SLOT TABLES
  336.  
  337.  
  338. RDSLOT DATA 0 ENTRY/EXIT
  339. REWIND S,R
  340. READ S,R
  341. READW S,PARAM,MBSLOT*BLKSZE+BLKSZE
  342. EQ RDSLOT
  343. * /--- BLOCK TAPE 00 000 81/04/29 08.44
  344. TITLE END PROGRAM
  345. END SPACE 4
  346. ** END - END PROGRAM.
  347.  
  348.  
  349. ABORT MESSAGE (=C* RUN ABORTED.*)
  350. ABORT
  351.  
  352. PAGEJ DIS ,*1* PAGE EJECT
  353. SPACE DIS ,* * BLANK LINE
  354. LINE1 DIS ,= MASTER- PACKNAME FILE SLOT VSN(*) EST YY MM DD HH=
  355. LINE2 DIS ,= FILE PACK=
  356. BUILD DATA 0,0,0,0,0,0 OUTPUT LINE BUILD AREA
  357. DATA 0 END OF LINE
  358. SMERR DIS ,* SLOT NUMBER OUT OF RANGE*
  359. *
  360. * ARGUMENT TABLE
  361. *
  362. INMSG DIS ,* ERROR IN PARAMETERS.*
  363. ARGTBL BSS 0
  364. VFD 12/2LSK,18/ONE,30/SK
  365. ARGTBLE DATA 0 END OF TABLE
  366. SPACE 4
  367. * COMMON DECKS.
  368.  
  369.  
  370. *CALL COMCCIO
  371. *CALL COMCRDS
  372. *CALL COMCRDW
  373. *CALL COMCSYS
  374. *CALL COMCWTS
  375. *CALL COMCWTW
  376. *CALL COMCCDD
  377. *CALL COMCSFN
  378. *CALL COMCWTC
  379. *CALL COMCARG
  380. *CALL COMCWOD
  381. *CALL COMCCPM
  382. *CALL COMCPFM
  383. SPACE 4
  384. ** BUFFERS.
  385.  
  386.  
  387. BUFFERS BSS 0
  388. BSS 1
  389. BUFA BSS BLDA
  390. ABUF BSS ABUFL
  391. SBUF BSS SBUFL
  392. OUTBUF BSS OUTBUFL
  393. PARAM BSSZ BLKSZE
  394. SLOT BSSZ BLKSZE*MBSLOT
  395. END BACKLIB
plato/source/plaopl/backlib.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator