User Tools

Site Tools


cdc:nos2.source:opl871:pfdm

Table of Contents

PFDM

Table Of Contents

  • [00002] PFDM - PERMANENT FILE DISK MANAGEMENT UTILITIES.
  • [00010] PERMANENT FILE DISK MANAGEMENT UTILITIES.
  • [00124] PROGRAM CONSTANT SECTION.
  • [00153] MAIN ROUTINES.
  • [00195] PCT - PROCESS CATALOG TRACK.
  • [00276] PFREL ROUTINES.
  • [00278] CRC - CHECK RELEASE CRITERIA.
  • [00348] GENERAL SUBROUTINES.
  • [00350] APR - ABORT PROCESSOR.
  • [00368] IFM - ISSUE FILE COUNT MESSAGES.
  • [00409] RIP - REPRIEVE INTERRUPT PROCESSOR.
  • [00420] COMMON DECKS.
  • [00461] GLOBAL DATA AREA.
  • [00500] PRESET.
  • [00502] PRS - PRESET PROGRAM.
  • [00590] BUFFER ALLOCATION.

Source Code

PFDM.txt
  1. IDENT PFDM1,/COMSPFS/OVLA,PFD,01,00
  2. TITLE PFDM - PERMANENT FILE DISK MANAGEMENT UTILITIES.
  3. ABS
  4. SST
  5. SYSCOM B1
  6. SPACE 4,10
  7. *COMMENT PFDM - PERM FILE DISK MANAGEMENT UTILITIES.
  8. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9. SPACE 4,10
  10. *** PFDM - PERMANENT FILE DISK MANAGEMENT UTILITIES.
  11. *
  12. * G. S. YODER 86/09/01.
  13. SPACE 4,10
  14. *** *PFDM* CONTAINS UTILITIES FOR MANAGING DISK RESIDENT PERMANENT
  15. * FILES AND PERMANENT FILE CATALOGS. THESE UTILITIES MAY BE
  16. * CALLED THROUGH THE *PFS* COMMAND OR DIRECTLY BY UTILITY NAME.
  17. *
  18. * THE FOLLOWING UTILITIES RESIDE IN *PFDM* -
  19. *
  20. * PFCAT - CATALOG PERMANENT FILE DEVICE.
  21. * PFREL - RELEASE DISK SPACE OF FILES RESIDING ON ALTERNATE
  22. * STORAGE MEDIA.
  23. SPACE 4,30
  24. *** MESSAGE LEGEND.
  25. *
  26. * THE FOLLOWING LEGEND DEFINES PARAMETERS THAT ARE USED IN MANY
  27. * OF THE UTILITY ERROR MESSAGES. THE DESCRIPTIVE CHARACTER
  28. * STRINGS DEFINED HERE ARE REPLACED BY THEIR ACTUAL VALUE WHEN
  29. * A PARTICULAR MESSAGE IS ISSUED. THE _ CHARACTER DOES NOT
  30. * APPEAR IN ACTUAL MESSAGES BUT IS USED IN THE DOCUMENTATION AS
  31. * A DELIMITER TO AVOID AMBIGUITIES.
  32. *
  33. * DD = DEVICE NUMBER.
  34. * EEE = EST ORDINAL.
  35. * MMMMM = NUMBER OF FILES.
  36. * NNNNNNN = PERMANENT FILE NAME.
  37. * UUUUUU = USER INDEX.
  38. SPACE 4,40
  39. *** INFORMATIVE DAYFILE MESSAGES.
  40. *
  41. * * ERROR FLAG TERMINATION.*
  42. * AN EXTERNAL ERROR FLAG WAS DETECTED.
  43. *
  44. * * MMMMMM FILES CATALOGED.*
  45. * THE NUMBER OF FILES CATALOGED BY *PFCAT*.
  46. *
  47. * * MMMMMM FILES RELEASED.*
  48. * THE NUMBER OF FILES RELEASED BY *PFREL*.
  49. *
  50. * * MMMMMM FILES SELECTED FOR RELEASE.*
  51. * THE NUMBER OF FILES SELECTED FOR RELEASE BY *PFREL*.
  52. *
  53. * * PFCAT COMPLETE.*
  54. * *PFCAT* TERMINATED.
  55. *
  56. * * PFREL COMPLETE.*
  57. * *PFREL* TERMINATED.
  58. SPACE 4,20
  59. *** INFORMATIVE OPERATOR MESSAGES.
  60. *
  61. * * WAIT FOR CATALOG INTERLOCK.*
  62. * THE UTILITY IS WAITING FOR *PFU* TO SET A CATALOG
  63. * TRACK INTERLOCK BEFORE PROCESSING FILES CATALOGED ON
  64. * THAT TRACK.
  65. *
  66. * * CLEARING PF ACTIVITY COUNT.*
  67. * THE UTILITY IS WAITING FOR *PFU* TO DECREMENT THE
  68. * PERMANENT FILE ACTIVITY COUNT WHEN PROCESSING HAS BEEN
  69. * COMPLETED.
  70. *
  71. * * SETTING PF ACTIVITY COUNT.*
  72. * THE UTILITY IS WAITING FOR FOR *PFU* TO INCREMENT THE
  73. * PERMANENT FILE ACTIVITY COUNT BEFORE PROCESSING A
  74. * DEVICE.
  75. SPACE 4,15
  76. *** SYSTEM ERROR MESSAGES THAT ARE FATAL.
  77. *
  78. * THESE ERRORS RESULT IN THE UTILITY ABORTING.
  79. *
  80. * * SELECTED MASTER OR TRUE DEVICE NOT FOUND.*
  81. * THE DEVICE SPECIFIED WITH THE *DN* OR *TD* PARAMETER
  82. * WAS NOT FOUND.
  83. *
  84. * * NO FILES SELECTED.*
  85. * THE FILE SELECTION PARAMETERS SPECIFIED FOR PROCESSING
  86. * WERE SUCH THAT NO DEVICES IN THE SYSTEM COULD CONTAIN
  87. * THE SPECIFIED FILES. THIS MAY BE CAUSED BY
  88. * CONFLICTING SELECTION PARAMETERS.
  89. SPACE 4,40
  90. *** SYSTEM ERROR MESSAGES WHICH ARE NON FATAL.
  91. *
  92. * SEE *MESSAGE LEGEND* ABOVE FOR A DESCRIPTION OF PARAMETERS
  93. * APPEARING IN THESE MESSAGES.
  94. *
  95. * * CATALOG READ ERROR, UI=UUUUUU.
  96. * A MASS STORAGE ERROR OCCURRED WHILE READING THE
  97. * PERMANENT FILE CATALOG TRACK FOR THE INDICATED USER
  98. * INDEX. ANY REMAINING FILES CATALOGED ON THE AFFECTED
  99. * TRACK WILL NOT BE DUMPED.
  100. *
  101. * * DEVICE NOT FOUND, FN=NNNNNNN, UI=UUUUUU, DN=DD.*
  102. * THE SPECIFIED DIRECT ACCESS FILE, RESIDENT ON DEVICE
  103. * *DD*, WAS TO BE PROCESSED BUT DEVICE *DD* COULD NOT BE
  104. * FOUND IN THE SYSTEM.
  105. SPACE 4,10
  106. * COMMON DECKS
  107.  
  108.  
  109. *CALL COMCMAC
  110. *CALL COMCCMD
  111. *CALL COMSLFD
  112. *CALL COMSMLS
  113. *CALL COMSMMF
  114. *CALL COMSMST
  115. *CALL COMSPFM
  116. LIST X
  117. *CALL COMSPFS
  118. LIST *
  119. *CALL COMSPFU
  120. *CALL COMSPRD
  121. *CALL COMSRPV
  122. *CALL COMSSFM
  123. *CALL COMSVER
  124. TITLE PROGRAM CONSTANT SECTION.
  125. SPACE 4,10
  126. * MISCELLANEOUS CONSTANTS.
  127.  
  128. NWCP EQU 102B LENGTH OF PRU WITH *CIO* CONTROL WORDS
  129.  
  130. * BUFFER LENGTHS.
  131.  
  132. CATBL EQU 10*NWCP+1 CATALOG BUFFER LENGTH
  133. DBUFL EQU 101B GET DEVICE INFORMATION BUFFER
  134. MSFBL EQU 10001B *COMCMSF* SORT FILES BUFFER LENGTH
  135. OUTBL EQU 1001B OUTPUT FILE BUFFER LENGTH
  136. PFRBL EQU 101B *PFM* REQUEST FILE BUFFER LENGTH
  137. SABFL EQU 1000B SUMMARY FILE ASSEMBLY BUFFER LENGTH
  138. SRTBL EQU 20000B SORT BUFFER LENGTH
  139. PFLBL EQU 1001B PROCESSED FILES FILE BUFFER LENGTH
  140. SUMBL EQU 1001B SUMMARY FILE BUFFER LENGTH
  141.  
  142. * *SETPFP* OPTION CONSTANTS.
  143.  
  144. FMPR EQU 10B FAMILY NAME PARAMETER FLAG
  145. PKPR EQU 4 PACKNAME PARAMETER FLAG
  146. UNPR EQU 2 USER NAME PARAMETER FLAG
  147. UIPR EQU 1 USER INDEX PARAMETER FLAG
  148.  
  149. * *COMSPFS* EQUIVALENCES.
  150.  
  151. CPAR EQU /COMSPFS/CPL CONVERTED PARAMETER LIST
  152. IDSA EQU /COMSPFS/PADR
  153. TITLE MAIN ROUTINES.
  154. PFD SPACE 4,10
  155. ** MAIN PROGRAM.
  156. *
  157. * EXIT TO *END*.
  158. *
  159. * CALLS OCF, PCF, PCT, PFR, PRS, SNC, SND.
  160. *
  161. * MACROS RETURN, SETPFP.
  162.  
  163.  
  164. ORG /COMSPFS/OVLA
  165.  
  166.  
  167. PFD BSS 0 ENTRY
  168. RJ PRS PRESET PROGRAM
  169.  
  170. * PROCESS NEXT DEVICE.
  171.  
  172. PFD1 RETURN CATS RETURN OLD CATALOG FILE
  173. RJ SND SET NEXT DEVICE
  174. ZR X1,PFD4 IF NO MORE DEVICES
  175. RJ OCF OPEN CATALOG FILE
  176.  
  177. * PROCESS CATALOG TRACK.
  178.  
  179. PFD2 RJ SNC SET NEXT CATALOG TRACK
  180. RJ PCF POSITION CATALOG FILE
  181. NG X5,PFD1 IF END OF CATALOG TRACKS
  182. RJ PCT PROCESS CATALOG TRACK
  183. EQ PFD2 SET NEXT CATALOG TRACK
  184.  
  185. * PERFORM TERMINATION PROCESSING.
  186.  
  187. PFD4 RJ PSF PROCESS SORTED FILE OUTPUT
  188. SA1 /COMSPFS/UTLC
  189. SX1 X1-/COMSPFS/CAUT
  190. ZR X1,PFD5 IF *PFCAT*
  191. RJ PFR PROCESS *PFM* REQUESTS
  192. PFD5 SETPFP GPAR RESTORE PERMANENT FILE PARAMETERS
  193. EQ END TERMINATE
  194. PCT SPACE 4,20
  195. ** PCT - PROCESS CATALOG TRACK.
  196. *
  197. * EXIT ALL FILES ON CATALOG TRACK PROCESSED.
  198. *
  199. * USES X - 0, 1, 2, 4, 5, 6, 7.
  200. * A - 0, 1, 2, 3, 4, 5, 6, 7.
  201. * B - 4.
  202. *
  203. * CALLS CCH, CFP, CRC, CSC, RCS, SCA, SFL.
  204. *
  205. * MACROS READCW.
  206.  
  207.  
  208. PCT SUBR ENTRY/EXIT
  209.  
  210. * INITIALIZE CATALOG FILE FET AND INITIATE READ.
  211.  
  212. SA1 CATS+FTFT
  213. SX6 X1
  214. SA6 A1+B1 SET IN = FIRST
  215. SA6 A6+B1 SET OUT = FIRST
  216. READCW CATS,17B INITIATE CATALOG READ
  217.  
  218. * READ SECTOR OF CATALOG ENTRIES.
  219.  
  220. PCT1 SA0 CSBF INITIALIZE CATALOG ADDRESS
  221. SX2 CATS SET FET ADDRESS
  222. RJ RCS READ CATALOG SECTOR
  223. ZR X1,PCT2 IF READ COMPLETE
  224. PL X1,PCTX IF END OF CATALOG TRACK OR FATAL ERROR
  225. EQ PCT1 READ NEXT SECTOR
  226.  
  227. * CHECK CATALOG ENTRY.
  228.  
  229. PCT2 SA1 A0+FCUI
  230. SA3 CPAR+/COMSPFS/CPTD
  231. SA4 FLSF
  232. SX6 B0
  233. MX7 -6
  234. SA6 FLCF INITIALIZE FILE LENGTH CORRECT FLAG
  235. MX0 -18
  236. BX1 -X0*X1 USER INDEX
  237. ZR X1,PCT7 IF CATALOG HOLE
  238. ZR X3,PCT4 IF NO TRUE DEVICE SELECTION
  239. SA2 A0+FCDN
  240. SA1 CPAR+/COMSPFS/CPDN
  241. LX2 -36
  242. BX2 -X7*X2 RESIDENCY DEVICE
  243. BX1 X1-X3
  244. BX2 X2-X3
  245. ZR X1,PCT4 IF MASTER DEVICE IS TRUE DEVICE
  246. NZ X2,PCT7 IF FILE DOES NOT RESIDE ON TRUE DEVICE
  247. PCT4 ZR X4,PCT5 IF FILE LENGTH NOT REQUIRED FOR SELECTION
  248. RJ SFL SET FILE LENGTH IN ENTRY
  249. ZR X6,PCT7 IF DEVICE NOT FOUND ERROR
  250. PCT5 SB4 A0 SET CATALOG ADDRESS
  251. RJ CSC CHECK SELECTION CRITERIA
  252. ZR X6,PCT7 IF FILE NOT SELECTED
  253. SA1 /COMSPFS/UTLC
  254. SX1 X1-/COMSPFS/CAUT
  255. ZR X1,PCT6 IF *PFCAT*
  256.  
  257. * DETERMINE IF FILE CAN BE RELEASED.
  258.  
  259. RJ SCA SET CATALOG DISK ADDRESS
  260. RJ CRC CHECK RELEASE CRITERIA
  261. ZR X6,PCT7 IF FILE NOT TO BE RELEASED
  262.  
  263. * OUTPUT CATALOG DATA.
  264.  
  265. PCT6 RJ SFL INSURE FILE LENGTH CORRECT FOR OUTPUT
  266. RJ CFP OUTPUT CATALOG DATA AND UPDATE FILE COUNTS
  267.  
  268. * ADVANCE CATALOG ADDRESS.
  269.  
  270. PCT7 SA1 CSLW
  271. SA0 A0+NWCE ADVANCE CATALOG ADDRESS
  272. SX2 A0
  273. IX1 X2-X1
  274. NG X1,PCT2 IF MORE ENTRIES IN SECTOR
  275. EQ PCT1 READ NEXT CATALOG SECTOR
  276. TITLE PFREL ROUTINES.
  277. CRC SPACE 4,20
  278. ** CRC - CHECK RELEASE CRITERIA.
  279. *
  280. * ENTRY (A0) = ADDRESS OF CATALOG ENTRY.
  281. *
  282. * EXIT (X6) .NE. 0 IF DISK SPACE TO BE RELEASED.
  283. * (X6) = 0 IF DISK SPACE NOT TO BE RELEASED.
  284. * *DROPDS* ENTRY MADE IN *PFMREQ* FILE IF DISK SPACE TO
  285. * BE RELEASED.
  286. *
  287. * USES X - 0, 1, 2, 3, 5, 6, 7.
  288. * A - 1, 2, 3, 5, 6.
  289. * B - 3.
  290. *
  291. * CALLS CBR, CDS, WPR.
  292. *
  293. * MACROS GETDI.
  294.  
  295.  
  296. CRC5 SX6 B0+ SET FILE NOT SELECTED
  297.  
  298. CRC SUBR ENTRY/EXIT
  299. SA1 A0+FCRS CHECK PREFERRED RESIDENCE
  300. SA5 A0+FCBT CHECK ACTUAL RESIDENCE
  301. MX0 -3
  302. MX6 -12
  303. LX1 3
  304. LX5 -12
  305. BX1 -X0*X1
  306. BX6 -X6*X5
  307. SX1 X1-RSLK
  308. ZR X6,CRCX IF FILE NOT DISK RESIDENT
  309. ZR X1,CRC5 IF LOCKED TO DISK PREFERRED RESIDENCE
  310. RJ CBR CHECK BACKUP REQUIREMENT
  311. ZR B2,CRC5 IF NO ALTERNATE STORAGE COPIES OF FILE
  312. NZ X7,CRC2 IF FILE BACKED UP ON ALTERNATE STORAGE
  313. SA1 MAEQ EST ORDINAL OF MASTER DEVICE FOR THIS FILE
  314. SA2 CRCA EST ORDINAL FROM PREVIOUS *CRC* CALL
  315. SA3 CRCB
  316. BX6 X1-X2
  317. ZR X6,CRC1 IF INHIBIT DATE PRESENT FOR CURRENT DEVICE
  318. BX6 X1 SAVE EST ORDINAL
  319. SA6 CRCA
  320. GETDI DEVI,X1 GET INHIBIT DATE FOR CURRENT DEVICE
  321. SA3 DBUF+MDIT SAVE INHIBIT DATE
  322. BX6 X3
  323. SA6 CRCB
  324. CRC1 SA1 A0+FCUD GET UTILITY CONTROL DATE AND TIME
  325. MX6 -36
  326. BX3 -X6*X3
  327. BX1 -X6*X1
  328. IX1 X1-X3
  329. PL X1,CRC5 IF FILE MODIFIED SINCE LAST DUMP
  330. PL X5,CRC2 IF INDIRECT ACCESS FILE
  331. SA1 A0+FCDN GET RESIDENCY DEVICE
  332. MX6 -6
  333. LX1 -36
  334. BX1 -X6*X1
  335. ZR X1,CRC2 IF FILE RESIDES ON MASTER DEVICE
  336. RJ CDS CHECK DEVICE STATUS
  337. ZR X6,CRCX IF DEVICE NOT FOUND
  338. CRC2 SA1 CPAR+/COMSPFS/CPIP
  339. NZ X1,CRC4 IF PROCESSING INHIBITED
  340. SX7 B0 SET SPECIAL REQUEST BLOCK WORD 1
  341. RJ WPR WRITE *PFM* REQUEST
  342. CRC4 SX6 B1 SET FILE SELECTED FOR RELEASE
  343. EQ CRCX RETURN
  344.  
  345.  
  346. CRCA CON 0 RELEASE INHIBIT DATE EST ORDINAL
  347. CRCB CON 0 DEVICE RELEASE INHIBIT DATE AND TIME
  348. TITLE GENERAL SUBROUTINES.
  349. APR SPACE 4,10
  350. ** APR - ABORT PROCESSOR.
  351. *
  352. * EXIT CATALOG AND *PFM* REQUEST FILES RETURNED.
  353. * PERMANENT FILE ACTIVITY COUNT DECREMENTED.
  354. * PERMANENT FILE PARAMETERS RESTORED.
  355. *
  356. * CALLS CAC.
  357. *
  358. * MACROS RETURN, SETPFP.
  359.  
  360.  
  361. APR SUBR ENTRY/EXIT
  362. RETURN CATS RETURN CATALOG FILE
  363. RETURN PFMREQ
  364. RJ CAC CLEAR PERMANENT FILE ACTIVITY COUNT
  365. SETPFP GPAR RESTORE PERMANENT FILE PARAMETERS
  366. EQ APRX RETURN
  367. IFM SPACE 4,10
  368. ** IFM - ISSUE FILE COUNT MESSAGES.
  369. *
  370. * EXIT FILE COUNT MESSAGES ISSUED TO DAYFILE.
  371. *
  372. * USES X - 1, 2, 5, 6.
  373. * A - 1, 2, 5, 6.
  374. *
  375. * CALLS IFC.
  376.  
  377.  
  378. IFM SUBR ENTRY/EXIT
  379. SA1 /COMSPFS/UTLC
  380. SA5 IFMA
  381. SX1 X1-/COMSPFS/CAUT
  382. ZR X1,IFM1 IF *PFCAT*
  383. SA5 IFMB
  384. RJ IFC ISSUE *PFREL* FILES SELECTED MESSAGES
  385. SA1 CPAR+/COMSPFS/CPIP
  386. NZ X1,IFMX IF PROCESSING INHIBITED
  387. SA1 PRFC
  388. SA2 PPFC
  389. IX6 X1-X2
  390. SA6 NPFC SET FILES NOT POST PROCESSED
  391. SA5 IFMC
  392. IFM1 RJ IFC ISSUE FILE COUNT MESSAGES
  393. EQ IFMX RETURN
  394.  
  395.  
  396. IFMA BSS 0 *PFCAT* MESSAGE TABLE
  397. VFD 1/1,22/0,1/0,18/MSFC,18/PRFC
  398. CON 0 END OF TABLE
  399.  
  400. IFMB BSS 0 *PFREL* FILES SELECTED MESSAGE TABLE
  401. VFD 1/1,22/0,1/0,18/MSSR,18/PRFC
  402. CON 0 END OF TABLE
  403.  
  404. IFMC BSS 0 *PFREL* FILES RELEASED MESSAGE TABLE
  405. VFD 1/1,22/0,1/0,18/MSRL,18/PPFC
  406. VFD 1/0,22/0,1/0,18/MSNR,18/NPFC
  407. CON 0 END OF TABLE
  408. RIP SPACE 4,10
  409. ** RIP - REPRIEVE INTERRUPT PROCESSOR.
  410. *
  411. * EXIT BUSY FETS SET COMPLETE TO ALLOW TERMINATION
  412. * PROCESSING.
  413. *
  414. * MACROS COMPFET.
  415.  
  416.  
  417. RIP SUBR ENTRY/EXIT
  418. COMPFET (CATS,O,SU)
  419. EQ RIPX RETURN
  420. TITLE COMMON DECKS.
  421. SPACE 4,10
  422. * COMMON DECKS.
  423.  
  424.  
  425. *CALL COMCCDD
  426. ERP1$ SET 0 SELECT *COMCCIO* ERROR PROCESSING OPTION
  427. *CALL COMCCIO
  428. *CALL COMCCOD
  429. *CALL COMCCPM
  430. *CALL COMCDXB
  431. *CALL COMCEDT
  432. FCE$ SET 0 SELECT *COMCFCE* UTILITY FORMAT OPTION
  433. *CALL COMCFCE
  434. GMS$ EQU 1 USE SORT KEY MASK
  435. MWK$ EQU 1 ALLOW MULTIPLE WORD SORT KEYS
  436. *CALL COMCGMS
  437. *CALL COMCJCR
  438. *CALL COMCLFM
  439. *CALL COMCMSF
  440. *CALL COMCMVE
  441. *CALL COMCPFM
  442. PFD$ EQU 1 ASSEMBLE DEVICE ACCESS ROUTINES
  443. DVA$ EQU 1 ASSEMBLE DEVICE ACCESS ROUTINES
  444. PFC$ EQU 1 ASSEMBLE *PFCAT* ROUTINES
  445. LIST X
  446. *CALL COMCPFS
  447. LIST *
  448. *CALL COMCPFU
  449. *CALL COMCRDO
  450. *CALL COMCRDW
  451. *CALL COMCSCB
  452. *CALL COMCSFM
  453. *CALL COMCSFN
  454. *CALL COMCSNM
  455. *CALL COMCSYS
  456. *CALL COMCVLC
  457. *CALL COMCWTC
  458. *CALL COMCWTH
  459. *CALL COMCWTW
  460. *CALL COMCZTB
  461. TITLE GLOBAL DATA AREA.
  462. SPACE 4,10
  463. USE LITERALS
  464. SPACE 4,10
  465. ** STATUS MESSAGES.
  466.  
  467.  
  468. MSRE DATA 10HRELEASING
  469. SPACE 4,10
  470. ** FILE COUNT MESSAGES.
  471.  
  472.  
  473. MSFC DATA C* ?????? FILE! CATALOGED.*
  474. MSSR DATA C* ?????? FILE! SELECTED FOR RELEASE.*
  475. MSRL DATA C* ?????? FILE! RELEASED.*
  476. MSNR DATA C* ?????? SELECTED FILE! NOT RELEASED.*
  477. SPACE 4,10
  478. ** RESERVED LOCATIONS.
  479.  
  480.  
  481. FLSF BSSZ 1 FILE LENGTH REQUIRED FOR SELECTION FLAG
  482. NCAT BSSZ 1 NUMBER OF CATALOG TRACKS ON DEVICE
  483.  
  484. SPACE 4,10
  485. * FETS.
  486.  
  487.  
  488. CATS BSS 0 CATALOG TRACKS
  489. ZZZZZG1 FILEB CATB,CATBL,EPR,FET=10
  490.  
  491. PFMREQ BSS 0 POST-PROCESSING *PFM* REQUESTS
  492. ZZZZZG4 FILEB PFRB,PFRBL,FET=10
  493.  
  494. DEVI BSS 0 *GETDI* CALL FET
  495. FILEB DBUF,DBUFL,FET=10
  496.  
  497. STAT FILEB 0,0,FET=7 FILE STATUS
  498.  
  499. FWAB EQU * FWA OF BUFFERS
  500. TITLE PRESET.
  501. PRS SPACE 4,30
  502. ** PRS - PRESET PROGRAM.
  503. *
  504. * ENTRY (CPAR) = CRACKED PARAMETER ARRAY.
  505. * FILES *ZZZZZG0* THROUGH *ZZZZZG8* RETURNED BY *PFS*.
  506. * FILE *ZZZZZG9* RETURNED BY *PFS* IF NO FILE
  507. * SELECTIONS.
  508. * FILE *ZZZZZG9* CONTAINS FILE SELECTIONS IF PRESENT.
  509. *
  510. * EXIT (B1) = 1.
  511. * (MPFM) = FAMILY NAME PARAMETER.
  512. * (MPPN) = PACK NAME PARAMETER.
  513. * (FMPN) = FAMILY NAME OR PACK NAME.
  514. * (PFRI) = *PFM* PROCESSING PARAMETERS.
  515. * EXECUTION FIELD LENGTH SET.
  516. * DEVICE VALIDATION AND SELECTION PERFORMED.
  517. * ACCES LEVEL RANGE VALIDATED IF SECURE SYSTEM.
  518. *
  519. * USES X - 0, 1, 2, 5, 6, 7.
  520. * A - 0, 1, 2, 5, 6, 7.
  521. * B - 1.
  522. *
  523. * CALLS BMT, CAL, DSS, IFL, IOF, ODV, OSP, SBS, SFP, SSP.
  524. *
  525. * MACROS MEMORY, MOVE, REPRIEVE.
  526.  
  527.  
  528. PRS SUBR
  529. SB1 1
  530. MEMORY CM,,R,EBUF REQUEST REQUIRED MEMORY
  531. REPRIEVE RPVB,SET,277B SET EXTENDED REPRIEVE PROCESSING
  532.  
  533. * INITIALIZE DEVICE ENVIRONMENT. NOTE THAT *PRESET* BUFFERS
  534. * ARE NOT AVAILABLE AFTER THE CALL TO *RPS*.
  535.  
  536. RJ DSS DETERMINE SECURITY STATUS
  537. RJ BMT BUILD MASS STORAGE TABLE
  538. RJ CAL CHECK ACCESS LEVELS
  539. SX0 EMBUF SET SELECTIONS BUFFER ADDRESS
  540. RJ RPS READ FILE SELECTIONS
  541. RJ SMK SET FILE SELECTION MASK
  542. RJ SFP SET PERMANENT FILE PARAMETERS
  543.  
  544. * DETERMINE IF FILE LENGTH REQUIRED FOR SELECTION.
  545.  
  546. SA1 CPAR+/COMSPFS/CPLS
  547. SA2 CPAR+/COMSPFS/CPUS
  548. MX6 1
  549. BX6 -X6
  550. BX2 X6-X2
  551. NZ X1,PRS4 IF LOWER FILE SIZE LIMIT .NE. 0
  552. ZR X2,PRS5 IF UNLIMITED UPPER FILE SIZE LIMIT
  553. PRS4 SA6 FLSF SET FILE LENGTH REQUIRED FOR SELECTION
  554.  
  555. * INITIALIZE OUTPUT FILE AND SUMMARY FILE.
  556.  
  557. PRS5 RJ IOF INITIALIZE OUTPUT FILES
  558. RJ OSP OUTPUT SELECTION PARAMETERS
  559. SX6 DSTBUF SET DEVICE STATUS BUFFER ADDRESS
  560. RJ ODV OUTPUT DEVICE STATUS
  561. RJ IFL INITIALIZE FOR FILE PROCESSING
  562. SA1 /COMSPFS/UTLC
  563. SX1 X1-/COMSPFS/CAUT
  564. ZR X1,PRS6 IF *PFCAT*
  565.  
  566. * INITIALIZE *PFM* REQUEST FILE.
  567.  
  568. SA1 PRSA SET *PFM* PROCESSOR FOR *PFREL*
  569. BX6 X1
  570. SA6 PFRI
  571.  
  572. * REDUCE MEMORY, IF FILE SELECTION BUFFER NOT ALLOCATED.
  573.  
  574. PRS6 SA5 /COMSPFS/NFIS
  575. NZ X5,PRSX IF FILE SELECTION BUFFER ALLOCATED
  576. MEMORY CM,,R,EMBUF+4 REDUCE MEMORY
  577. EQ PRSX RETURN
  578.  
  579.  
  580. PRSA VFD 12/2000B+DDPP,30/0,18/MSRE
  581. COMMON SPACE 4,10
  582. * PRESET COMMON DECKS.
  583.  
  584.  
  585. LIST X
  586. *CALL COMCPFP
  587. LIST *
  588. *CALL COMCRSB
  589. *CALL COMCWTO
  590. TITLE BUFFER ALLOCATION.
  591.  
  592. EPRS EQU * END OF PRESET CODE
  593. SPACE 4,10
  594. * MAIN PROGRAM BUFFERS.
  595.  
  596.  
  597. CATB EQU FWAB CATALOG FILE BUFFER
  598. PFRB EQU CATB+CATBL *PFM* REQUEST FILE BUFFER
  599. PFLB EQU PFRB+PFRBL PROCESSED FILES FILE BUFFER
  600. MS1B EQU PFLB+PFLBL SORT FILE 1
  601. MS2B EQU MS1B+MSFBL SORT FILE 2
  602. MS3B EQU MS2B+MSFBL SORT FILE 3
  603. MS4B EQU MS3B+MSFBL SORT FILE 4
  604. SRTB EQU MS3B SORT BUFFER (OVERLAYS *MS3B* AND *MS4B*)
  605. ERRNG MSFBL*2-SRTBL SORT BUFFER OVERFLOW
  606. DBUF EQU MS4B+MSFBL DEVICE INFORMATION BUFFER
  607. SPACE 4,10
  608. * BUFFERS USED BY BOTH MAIN PROGRAM AND PRESET.
  609.  
  610.  
  611. .BUF MAX DBUF+DBUFL,EPRS START OF BUFFERS ALSO USED BY PRESET
  612. OUTB EQU .BUF OUTPUT FILE BUFFER
  613. SUMB EQU OUTB+OUTBL SUMMARY FILE BUFFER
  614. DSTBUF EQU SUMB+SUMBL DEVICE STATUS BUFFER
  615. EMBUF EQU DSTBUF+100B*2 END OF MAIN PROGRAM BUFFERS
  616. SPACE 4,10
  617. * PRESET BUFFERS OVERLAID BY FILE SELECTIONS.
  618.  
  619.  
  620. ESTADD EQU EMBUF *RSB* PARAMETER WORD FOR EST
  621. ESTBUF EQU ESTADD+1 EST BUFFER
  622. MSTADD EQU ESTBUF+ESMX*ESTE *RSB* PARAMETER WORD FOR MST
  623. MSTBUF EQU MSTADD+1 MST BUFFER
  624. EBUF EQU MSTBUF+MSTL END OF PRESET BUFFERS
  625.  
  626.  
  627. END
cdc/nos2.source/opl871/pfdm.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator