Table of Contents

0RP

Table Of Contents

  • [00003] 0RP - RELEASE PERMANENT FILE.
  • [00010] RELEASE PERMANENT FILE.
  • [00089] MAIN ROUTINE.
  • [00271] ITR - ISSUE TRACK REQUEST.
  • [00295] SUBROUTINES.
  • [00297] UAM - UPDATE ACCESS MODE AND COUNTS.

Source Code

0RP.txt
  1. IDENT 0RP,DRPX
  2. PERIPH J
  3. TITLE 0RP - RELEASE PERMANENT FILE.
  4. BASE MIXED
  5. SST
  6. QUAL$ EQU 1 DEFINE UNQUALIFIED COMMON DECKS
  7. *COMMENT 0RP - RELEASE PERMANENT FILE.
  8. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  9. SPACE 4
  10. *** 0RP - RELEASE PERMANENT FILE.
  11. * J. L. WARDELL 72/10/20.
  12. * S. L. KSANDER. 75/05/26.
  13. * W. E. GOEBEL. 77/01/14.
  14. * P. C. SMITH. 79/04/27.
  15. SPACE 4
  16. *** 0RP IS A LOCATION FREE ROUTINE TO BE USED FOR
  17. * RELEASING PERMANENT FILES.
  18. *
  19. * IF THE FILE IS ATTACHED IN WRITE MODE THE SYSTEM SECTOR
  20. * OF THE FILE WILL BE UPDATED TO CLEAR THE WRITE LOCKOUT
  21. * STATUS.
  22. *
  23. * IF THE FILE WAS ATTACHED IN READ MODE THE SYSTEM SECTOR OF
  24. * THE FILE WILL BE UPDATED TO REFLECT ONE LESS USER
  25. * ACCESSING THE FILE.
  26. *
  27. * IF THE PURGE BIT IS SET THE FILE WILL BE DROPPED IF THE
  28. * USER COUNT INDICATES NO OTHER USERS ACCESSING FILE.
  29. *
  30. * ACTIVE FILE COUNT FOR DEVICE WILL BE DECREMENTED.
  31. * MMF USER COUNTS IN THE SYSTEM SECTOR WILL BE UPDATED.
  32. *
  33. * AN EVENT WILL BE ISSUED TO ROLL IN USERS WAITING FOR
  34. * THE FILE.
  35. SPACE 4
  36. *** CALL.
  37. *
  38. * ENTRY ((LA)-1) = FILE STATUS.
  39. * 6/0,1/0,1/A/,1/M,1/E/,1/U,1/R
  40. * A = APPEND
  41. * M = MODIFY
  42. * E = EXECUTE
  43. * U = UTILITY ATTACH.
  44. * R = READ ONLY
  45. * (FS - FS+4) = FST INFORMATION.
  46. *
  47. * EXIT (A) .LT. 0 IF PERMANENT FILE DEVICE INACCESSIBLE.
  48. * (T5) = EST ORDINAL OF PERMANENT FILE DEVICE.
  49. * (T6) = FIRST TRACK OF PERMANENT FILE.
  50. SPACE 4
  51. *** DAYFILE MESSAGES.
  52. *
  53. * *EQXXX, TYYYY, SYSTEM SECTOR ERROR.*
  54. * THIS MESSAGE IS ISSUED FOR EITHER READ OR WRITE ERRORS OR
  55. * IF THE TRACK OR LINKAGE BYTES CONTAINED IN THE SYSTEM
  56. * SECTOR ARE NOT VALID.
  57. * EQ EQUIPMENT MNEMONIC.
  58. * XXX EST ORDINAL.
  59. * YYYY TRACK NUMBER.
  60. SPACE 4
  61. *** USES LOCATIONS 0 - 17, BFMS.
  62. *
  63. * MUST BE LOADED BELOW BFMS.
  64. SPACE 4
  65. *** ROUTINES USED.
  66. *
  67. * CALLS DFM, RDS, WDS.
  68. SPACE 4
  69. ** COMMON DECKS.
  70.  
  71.  
  72. *CALL COMPMAC
  73. *CALL COMSCPS
  74. QUAL EVENT
  75. *CALL COMSEVT
  76. QUAL *
  77. *CALL COMSPFM
  78. *CALL COMPREL
  79. *CALL COMSMSP
  80. *CALL COMSZOL
  81. SPACE 4,10
  82. **** DIRECT LOCATION ASSIGNMENTS.
  83.  
  84.  
  85. CF EQU 16 CHECKPOINT REQUEST FLAG
  86. FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS)
  87.  
  88. ****
  89. TITLE MAIN ROUTINE.
  90. ** DRP MAIN ROUTINE.
  91.  
  92.  
  93. ORG 5
  94. DRP SUBR ENTRY/EXIT
  95.  
  96. * INTERLOCK TRACK.
  97.  
  98. DRP1 LDD FS SET EST ORDINAL
  99. STD T5
  100. ADD TH IMMEDIATE RETURN ON INACCESSIBLE DEVICE
  101. STD CM+1
  102. LDD FS+1 SET FIRST TRACK
  103. STD T6
  104. ZJN DRPX IF NO TRACKS ASSIGNED
  105. STD CM+2
  106. LDN STIS SET TRACK INTERLOCK
  107. STD CM+3
  108. MONITOR STBM
  109. LDD CM+1
  110. ZJN DRP3 IF INTERLOCK SET
  111. SHN 21-11
  112. MJN DRPX IF DEVICE INACCESSIBLE
  113. LCN 77
  114. STD T1
  115.  
  116. * DELAY 1/2 SECOND AND RETRY.
  117.  
  118. DRP2 SOD T1
  119. ZJN DRP1 IF DELAY EXPIRED RETRY INTERLOCK
  120. PAUSE
  121. DELAY
  122. LDD CM+1
  123. LMN ORET
  124. NJN DRP2 IF NO OPERATOR OVERRIDE
  125. LJM DRP15 DECREMENT FILE COUNT AND EXIT
  126.  
  127. * READ SYSTEM SECTOR.
  128.  
  129. DRP3 STD T7
  130. STD CF CLEAR CHECKPOINT FLAG
  131. SETMS IO,RW
  132. LDD CM+3 SET EQUIPMENT IN ERROR MESSAGE
  133. LPC 3777
  134. STM DRPE
  135. LDC BFMS READ NEXT SECTOR
  136. RJM. RDS
  137. PJN DRP5 IF NO ERROR
  138. DRP4 SHN 21-12
  139. MJN DRP6 IF NON-RECOVERABLE ERROR
  140. RJM ITR CLEAR TRACK INTERLOCK
  141. LCN 0
  142. LJM DRPX RETURN
  143.  
  144. DRP5 LDM. BFMS+1
  145. LMN 77
  146. NJN DRP9 IF NOT SYSTEM SECTOR WORD COUNT
  147. LDM. BFMS CHECK NEXT SECTOR
  148. LMC 3777
  149. NJN DRP9 IF NOT SYSTEM SECTOR ID
  150. LDD T6 CHECK TRACK
  151. LMM. FTSS
  152. DRP6 NJN DRP9 IF ERROR IN SYSTEM SECTOR
  153. LDM. FISS
  154. NJN DRP8 IF FAST ATTACH ENTRY
  155.  
  156. * SET ACCESS AND USER COUNTS FOR NORMAL FILE.
  157.  
  158. RJM UAM UPDATE ACCESS MODE AND USER COUNTS
  159. ZJN DRP10 IF NO MORE USERS
  160. LMN 40 CHECK PURGE BIT
  161. NJN DRP10 IF USERS ACCESSING FILE
  162. LDM. CTSS+FCEF CHECK FOR BOI/EOI VERIFICATION ERROR
  163. SHN 0-13
  164. NJN DRP11 IF ERROR (LEAVE IN CURRENT STATE)
  165.  
  166. * DROP FILE BEING PURGED.
  167.  
  168. LCN STBM-DTKM CHANGE TO DROP FILE
  169. RAM ITRA
  170. AOD CF
  171. DRP8 UJN DRP11 RELEASE FILE
  172.  
  173. DRP9 ENDMS
  174. UJN DRP13 ISSUE ERROR MESSAGE
  175.  
  176. * ISSUE EVENT WHILE WAITING FOR DISK REVOLUTION.
  177.  
  178. DRP10 LDN 0 ISSUE EVENT
  179. STD CM+1
  180. LDD T6
  181. STD CM+4
  182. LDD T5
  183. STD CM+3
  184. MONITOR EATM
  185. LDC BFMS+WLSF REWRITE SYSTEM SECTOR
  186. RJM. WDS
  187. DRP11 PJN DRP14 IF NO WRITE ERROR
  188. LJM DRP4 CHECK ERROR STATUS
  189.  
  190. * ISSUE ERROR MESSAGE.
  191.  
  192. DRP13 LDD T5 CONVERT UPPER TWO DIGITS OF EST ORDINAL
  193. SHN -3
  194. RJM C2D
  195. STM DRPE+1
  196. LDD T5 CONVERT LOWER DIGIT OF EST ORDINAL
  197. LPN 7
  198. SHN 6
  199. RAM DRPE+2
  200. LDD T6 SET TRACK NUMBER IN ERROR MESSAGE
  201. SHN -6
  202. RJM C2D
  203. STM DRPE+4
  204. LDD T6
  205. RJM C2D
  206. STM DRPE+5
  207. LDC DRPE ISSUE DAYFILE MESSAGE
  208. ADD LA
  209. RJM. DFM
  210.  
  211. * CLEAR TRACK INTERLOCK / DROP TRACK.
  212.  
  213. DRP14 ENDMS
  214. RJM ITR ISSUE TRACK REQUEST
  215. LDD CF
  216. ZJN DRP15 IF *DTKM* NOT ISSUED
  217.  
  218. * INCREMENT PRU LIMIT FIELD IN CONTROL POINT AREA.
  219. * NUMBER OF SECTORS RETURNED BY *DTKM* IS IN (CM+3 - CM+4).
  220.  
  221. LDN CICS INCREMENT CP AREA FIELD FUNCTION CODE
  222. STD CM
  223. LDK ACLW ADDRESS OF MASS STORAGE PRU LIMIT
  224. STD CM+1
  225. LDN 0D*100+18D POSITION AND WIDTH OF LIMIT FIELD
  226. STD CM+2
  227. LDD MA WRITE *UADM* PARAMETERS TO MESSAGE BUFFER
  228. CWD CM
  229. LDN 1
  230. STD CM+1 REQUEST COUNT
  231. STD CM+2 DO NOT DROP PP
  232. MONITOR UADM
  233.  
  234. * UPDATE DEVICE STATUS.
  235.  
  236. DRP15 LDD T5 DECREMENT USER COUNT
  237. STD CM+1
  238. LDN DUCS
  239. STD CM+3
  240. MONITOR SMDM
  241.  
  242. * ISSUE OVERCOMMITMENT EVENT FOR AUXILIARY REMOVABLE
  243. * DEVICE WITH ZERO USER COUNT.
  244.  
  245. SFA EST,T5 CHECK FOR AUXILIARY REMOVABLE DEVICE
  246. ADK EQDE
  247. CRD CM
  248. LDD CM+4
  249. SHN 3
  250. ADN MDGL
  251. CRD CM
  252. ADN STLL-MDGL
  253. CRD T0 GET USER COUNT
  254. LDD CM
  255. SHN -12
  256. LMN 3
  257. NJN DRP16 IF FAMILY OR NON-REMOVABLE DEVICE
  258. LDD T0+3
  259. NJN DRP16 IF USERS
  260. STD CM+1 ISSUE OVERCOMMITMENT EVENT
  261. LDC /EVENT/OVRE
  262. STD CM+4
  263. SHN -14
  264. STD CM+3
  265. MONITOR EATM
  266. DRP16 LJM DRPX EXIT
  267.  
  268.  
  269. DRPE DATA C*EQ000, T0000, SYSTEM SECTOR ERROR.*
  270. ITR SPACE 4,10
  271. ** ITR - ISSUE TRACK REQUEST.
  272. *
  273. * ENTRY (CF) = CHECKPOINT REQUEST FLAG.
  274. * (T5) = EST ORDINAL.
  275. * (T6) = FIRST TRACK OF FILE.
  276. *
  277. * USES CM - CM+4.
  278. *
  279. * MACROS MONITOR.
  280.  
  281.  
  282. ITR SUBR ENTRY/EXIT
  283. LDD T6
  284. STD CM+2 SET FIRST TRACK
  285. LDD CF
  286. SHN 13-0 CHECKPOINT FLAG
  287. LMD T5
  288. STD CM+1 APPEND TO EST ORDINAL
  289. LDN CTIS
  290. STD CM+3 CLEAR TRACK INTERLOCK
  291. ITRA MONITOR STBM
  292. * MONITOR DTKM (FILE PURGED)
  293. * LDN 0
  294. UJN ITRX RETURN
  295. TITLE SUBROUTINES.
  296. UAM SPACE 4
  297. ** UAM - UPDATE ACCESS MODE AND COUNTS.
  298. *
  299. * ENTRY (CASS) = ACCESS MODE OF FILE.
  300. * BIT DESCRIPTION
  301. * 0 UNUSED.
  302. * 1 FILE MAY BE EXTENDED (W, M OR A MODE).
  303. * 2 UNUSED.
  304. * 3 FILE MAY BE REWRITTEN (W, M OR U MODE).
  305. * 4 FILE MAY BE SHORTENED (W MODE).
  306. * 5 FILE PURGED.
  307. * 6 FILE ATTACHED BY SYSTEM UTILITY.
  308. * (T5) = EST ORDINAL.
  309. *
  310. * EXIT (CASS) = NEW ACCESS MODE OF FILE.
  311. * (A) .NE. 0 IF OTHER USERS ACCESSING FILE OR FILE
  312. * PURGED.
  313. * (A) = 40 IF FILE PURGED.
  314. *
  315. * USES T2, T3, CM - CM+4.
  316. *
  317. * MACROS SFA.
  318. *
  319. * NOTES WHEN A FILE IS ATTACHED IN A READ MODE AND THE USER
  320. * COUNT IS TO BE DECREMENTED, IT IS DONE BY COMMON
  321. * CODE. THIS IS DUE TO THE CORRESPONDENCE BETWEEN THE
  322. * FILE STATUS VALUES FROM THE LOCAL FNT ENTRY FOR READ
  323. * MODES AND THE BYTE WHERE THE APPROPRIATE USER COUNT
  324. * IS LOCATED. ADDING ONE TO THE VALUE OF BITS 3-5 OF
  325. * THE STATUS WILL GIVE THE BYTE NUMBER.
  326.  
  327.  
  328. UAM4 SHN 1-3 DETERMINE USER COUNT OFFSET
  329. LPN 3
  330. STD T3
  331. RAD T2 ADD WORD OFFSET OF LOCAL COUNTS
  332. SOP UCSS+6,T2 DECREMENT LOCAL USER COUNT
  333. SOP UCSS+1,T3 DECREMENT GLOBAL USER COUNT
  334.  
  335. * RETURN FILE STATUS.
  336.  
  337. UAM5 LDM. UCSS+1
  338. ADM. UCSS+2
  339. ADM. UCSS+3
  340. ADM. UCSS+4
  341. SHN 6
  342. ADM. CASS
  343.  
  344. UAM SUBR ENTRY/EXIT
  345. SFA EST,T5 COMPUTE BASE ADDRESS OF LOCAL COUNTS
  346. ADK EQDE
  347. CRD CM
  348. LDD CM+4
  349. SHN 3
  350. ADN DULL GET MACHINE INDEX
  351. CRD CM
  352. LDD CM+2
  353. LPN 17
  354. STD T2
  355. SHN 2
  356. RAD T2
  357. LDM -1
  358. LPN 2
  359. ZJN UAM2 IF UTILITY ATTACH STATUS NOT SET
  360.  
  361. * CLEAR SYSTEM UTILITY ATTACH FLAGS.
  362.  
  363. LDC -100 CLEAR GLOBAL UTILITY ATTACH FLAG
  364. RAM. CASS
  365. LCN 2 CLEAR LOCAL UTILITY ATTACH FLAG
  366. RAP UCSS+5,T2
  367.  
  368. * WRITE MODE PROCESSOR.
  369.  
  370. UAM2 LDM -1
  371. SHN 21-0
  372. PJN UAM3 IF WRITABLE MODE
  373. LJM UAM4 PROCESS NON-WRITEABLE MODES
  374.  
  375. UAM3 LDM. CASS CLEAR ALL WRITE BITS
  376. SCN 32
  377. STM. CASS
  378. LDP UCSS+5,T2 CLEAR LOCAL WRITE FLAG
  379. SCN 1
  380. STP UCSS+5,T2
  381. LJM UAM5 RETURN FILE STATUS
  382. SPACE 4
  383. ** COMMON DECKS.
  384.  
  385.  
  386. *CALL COMPC2D
  387. SPACE 4
  388. OVERFLOW 5,ZRPL
  389. END