Table of Contents

0DQ

Table Of Contents

  • [00007] 0DQ - DEQUEUE FILE.
  • [00009] DROP QUEUE FILE.
  • [00069] MAIN ROUTINE.
  • [00070] DQF - MAIN ROUTINE.
  • [00133] SUBROUTINES.
  • [00135] DDS - DROP QUEUE FILE DISK SPACE.
  • [00179] IQF - SET OR CLEAR QFT INTERLOCK.
  • [00200] RSS - READ QUEUE FILE SYSTEM SECTOR.
  • [00251] SGQ - SEARCH GLOBAL QUEUE.

Source Code

0DQ.txt
  1. IDENT 0DQ,DQFX
  2. PERIPH J
  3. BASE MIXED
  4. SST
  5. *COMMENT 0DQ - DEQUEUE FILE.
  6. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  7. TITLE 0DQ - DEQUEUE FILE.
  8. SPACE 4,10
  9. *** 0DQ - DROP QUEUE FILE.
  10. *
  11. * D. R. HILGREN. 79/10/30.
  12. * R. M. DESSEL. 81/03/26.
  13. * P. D. HAAS. 81/06/18.
  14. SPACE 4,10
  15. *** *0DQ* IS A LOCATION-FREE ROUTINE USED TO DROP
  16. * A QFT ENTRY. *0DQ* PERFORMS THE FOLLOWING -
  17. * 1. SEARCH FOR QFT ENTRY.
  18. * 2. CLEAR QFT ENTRY.
  19. * 3. DROP DISK SPACE IF REQUESTED.
  20. * 4. INCREMENT MASS STORAGE PRU COUNTER IF DISK SPACE DROPPED.
  21. * 5. ISSUE ACCOUNT FILE MESSAGE IF FILE REMOVED FROM QUEUE.
  22. SPACE 4,15
  23. *** ENTRY CONDITIONS.
  24. *
  25. * (QA) = 0. USE EQUIPMENT AND FIRST TRACK TO FIND QFT ENTRY.
  26. * THE QFT ENTRY WILL BE INTERLOCKED BY *0DQ* PRIOR TO
  27. * DELETION FOR FUNCTIONS 0 AND 1.
  28. * (QA) = QFT ORDINAL. USE QFT ORDINAL TO FIND ENTRY. THE
  29. * CALLER OF *0DQ* MUST INTERLOCK THE QFT ENTRY PRIOR TO
  30. * CALLING *0DQ*.
  31. * ((LA)-1) = 0 RELEASE QFT ENTRY AND DISK SPACE.
  32. * = 1 RELEASE QFT ENTRY ONLY.
  33. * = 2 RELEASE DISK SPACE ONLY (FILE NOT IN QFT).
  34. * (FS - FS+4) = FST INFORMATION.
  35. SPACE 4,10
  36. *** EXIT CONDITIONS.
  37. *
  38. * (A) = 0 IF REQUESTED DEQUEUEING OPERATION PERFORMED.
  39. * .LT. 0 IF QUEUE FILE DEVICE INACCESSIBLE.
  40. * (T5) = QUEUE FILE DEVICE EST ORDINAL, IF DEVICE INACCESSIBLE.
  41. *
  42. * (QA) = QFT ORDINAL, IF QFT ENTRY FOUND AND DEQUEUED.
  43. * (QA) = 0, IF QFT ENTRY NOT FOUND.
  44. *
  45. * THE QUEUED FILE SYSTEM SECTOR WILL BE READ ON A RELEASE QFT
  46. * ONLY REQUEST (((LA)-1) =1) ONLY IF CREATION MODE IS NOT SET
  47. * IN THE QFT ENTRY.
  48. SPACE 4,10
  49. *** USES.
  50. *
  51. * USES CM - CM+4, T1 - T7.
  52. SPACE 4,10
  53. * COMMON DECK MACROS AND DEFINITIONS.
  54.  
  55.  
  56. *CALL COMPMAC
  57. *CALL COMPREL
  58. *CALL COMSCPS
  59. *CALL COMSSSE
  60. *CALL COMSZOL
  61. SPACE 4,10
  62. **** DIRECT LOCATION ASSIGNMENTS.
  63.  
  64.  
  65. FS EQU 20 - 24 FST INFORMATION (5 LOCATIONS)
  66. QA EQU 26 QFT ORDINAL
  67.  
  68. ****
  69. TITLE MAIN ROUTINE.
  70. ** DQF - MAIN ROUTINE.
  71.  
  72.  
  73. ORG 5
  74. DQF SUBR ENTRY/EXIT
  75. UJN DQF2 CHECK CALL PARAMETERS
  76.  
  77. DQF1 RJM. EXR CALL *0QM* TO ISSUE ACCOUNTING MESSAGE
  78. LDN 0 SET OPERATION COMPLETE
  79. UJN DQFX RETURN
  80.  
  81. VFD 24/0LAEQP *AEQP* MESSAGE IDENTIFIER
  82. OVLA EQU * *0QM* LOAD ADDRESS
  83.  
  84. DQF2 LDD FS+1
  85. STD T6 SET FIRST TRACK
  86. ADD QA
  87. ZJN DQFX IF FILE UNUSED/NULL REQUEST
  88. LDD FS
  89. STD T5 SET EST ORDINAL
  90. LDM -1
  91. STI LA PRESERVE DEQUEUE OPTION
  92. SBN 2
  93. ZJN DQF3 IF FILE NOT IN QFT
  94. RJM IFP INITIALIZE QFT PROCESSOR
  95. RJM SGQ SEARCH GLOBAL QUEUE
  96. ZJN DQFX IF FILE NOT FOUND
  97. LDD T4
  98. LPN 4
  99. DQF3 NJN DQF4 IF CREATION MODE
  100. RJM RSS READ QUEUE FILE SYSTEM SECTOR
  101. MJN DQF6 IF RECOVERABLE MASS STORAGE ERROR
  102. NJN DQF4 IF ERROR IN SYSTEM SECTOR
  103. LDI LA
  104. SBN 1
  105. ZJN DQF4 IF NOT TO DROP DISK SPACE
  106. RJM DDS DROP DISK SPACE
  107. MJN DQF6 IF DEVICE INACCESSIBLE
  108. DQF4 LDI LA
  109. SBN 2
  110. ZJN DQF5 IF FILE NOT IN QFT
  111. LDD QA
  112. STD CM+1
  113. LDN PQFT
  114. STD CM+2
  115. MONITOR MTRM RELEASE QFT ENTRY
  116. DQF5 LDM FIQF
  117. ZJN DQF8 IF FILE NOT QUEUED
  118. LDN OVLA SET *0QM* LOAD ADDRESS
  119. RAD LA
  120. EXECUTE 0QM,*
  121. LJM DQF1-OVLA CALL *0QM* TO ISSUE ACCOUNTING MESSAGE
  122.  
  123. DQF6 LDM QFIF
  124. ZJN DQF7 IF QFT INTERLOCK NOT SET BY *0DQ*
  125. LDN CFIN SET CLEAR INTERLOCK FUNCTION
  126. RJM IQF CLEAR QFT INTERLOCK
  127. DQF7 LCN 0 SET DEVICE INACCESSIBLE
  128. DQF8 LJM DQFX RETURN
  129.  
  130.  
  131. FIQF CON 0 FILE QUEUED FLAG
  132. QFIF CON 0 QFT INTERLOCK SET BY *0DQ* FLAG
  133. TITLE SUBROUTINES.
  134. DDS SPACE 4,15
  135. ** DDS - DROP QUEUE FILE DISK SPACE.
  136. *
  137. * ENTRY (FIQF) .NE. 0 IF FILE QUEUED.
  138. *
  139. * EXIT (A) .GE. 0 IF DISK SPACE DROPPED.
  140. * (A) .LT. 0 IF DEVICE INACCESSIBLE.
  141. * MASS STORAGE SECTOR LIMIT INCREMENTED IF FILE NOT
  142. * QUEUED.
  143. *
  144. * USES (CM - CM+2).
  145. *
  146. * MACROS MONITOR.
  147.  
  148.  
  149. DDS SUBR ENTRY/EXIT
  150. LDD T6
  151. STD CM+2
  152. LDD T5 RELEASE TRACK CHAIN
  153. LMC 5000 CHECKPOINT / RETURN ON INACCESSIBLE DEVICE
  154. STD CM+1
  155. MONITOR DTKM
  156. LDD CM+1
  157. SHN 21-11
  158. MJN DDSX IF DEVICE INACCESSIBLE
  159. LDM FIQF
  160. NJN DDSX IF FILE QUEUED
  161.  
  162. * ACTUAL COUNT OF SECTORS RETURNED VIA *DTKM* IS IN CM+3 - CM+4.
  163.  
  164. LDN CICS INCREMENT CP AREA FIELD FUNCTION CODE
  165. STD CM
  166. LDK ACLW ADDRESS OF MASS STORAGE SECTOR LIMIT
  167. STD CM+1
  168. LDN 0D*100+18D POSISTION AND WIDTH OF LIMIT FIELD
  169. STD CM+2
  170. LDD MA UADM FUNCTION MESSAGE BUFFER CONTENTS
  171. CWD CM
  172. LDN 1 SET UADM REQUEST COUNT AND NO DROP OF PPU
  173. STD CM+1
  174. STD CM+2
  175. MONITOR UADM INCREMENT MASS STORAGE SECTOR LIMIT
  176. * LDN 0
  177. LJM DDSX RETURN
  178. IQF SPACE 4,15
  179. ** IQF - SET OR CLEAR QFT INTERLOCK.
  180. *
  181. * ENTRY (A) = FUNCTION CODE FOR *SFI*.
  182. * (QA) = QFT ORDINAL.
  183. *
  184. * EXIT (A) = 0 IF OPERATION COMPLETE.
  185. * (A) .NE. 0 IF ERROR (OPERATOR OVERRIDE).
  186. *
  187. * USES T1.
  188. *
  189. * CALLS SFI.
  190. *
  191. * MACROS SFA.
  192.  
  193.  
  194. IQF SUBR ENTRY/EXIT
  195. STD T1 SET FUNCTION CODE
  196. SFA QFT,QA SET QFT ADDRESS
  197. RJM SFI INTERLOCK QFT ENTRY
  198. UJN IQFX RETURN
  199. RSS SPACE 4,20
  200. ** RSS - READ QUEUE FILE SYSTEM SECTOR.
  201. *
  202. * ENTRY (A) = 0.
  203. * (T5) = EST ORDINAL OF QUEUE FILE.
  204. * (T6) = FIRST TRACK OF QUEUE FILE.
  205. *
  206. * EXIT (A) = 0 IF NO ERROR.
  207. * (A) .LT. 0 IF RECOVERABLE MASS STORAGE ERROR.
  208. * (A) .GT. 0 IF UNRECOVERABLE MASS STORAGE ERROR OR
  209. * ERROR IN SYSTEM SECTOR.
  210. * (FIQF) .NE. 0 IF FILE QUEUED.
  211. * (FIQF) = 0 IF FILE NOT QUEUED.
  212. *
  213. * USES T7.
  214. *
  215. * CALLS RDS.
  216. *
  217. * MACROS ENDMS, SETMS.
  218.  
  219.  
  220. RSS3 LMC 2000
  221. SHN 21-12 (A) .LT. 0 IF ERROR RECOVERABLE
  222.  
  223. RSS SUBR ENTRY/EXIT
  224. STD T7 SET SYSTEM SECTOR READ
  225. SETMS IO
  226. LDC BFMS READ SYSTEM SECTOR
  227. RJP RDS
  228. MJN RSS3 IF READ ERROR
  229. ENDMS
  230. LDP BFMS+1
  231. LMN 77
  232. NJN RSSX IF NOT SYSTEM SECTOR LINKAGE
  233. LDP BFMS
  234. LMC 3777
  235. NJN RSSX IF NOT SYSTEM SECTOR LINKAGE
  236. LDP FTSS
  237. LMD T6
  238. RSS1 NJN RSSX IF INCORRECT SYSTEM SECTOR
  239. LDP FNSS+4 CHECK FILE TYPE
  240. SHN -6
  241. LMN QFFT
  242. ZJN RSS2 IF QUEUE FILE
  243. LMN INFT&QFFT
  244. NJN RSS1 IF NOT QUEUE FILE
  245. RSS2 LDP FGSS SET FILE QUEUED STATUS
  246. LPN 1
  247. STM FIQF
  248. LDN 0 SET NO ERROR
  249. LJM RSSX RETURN WITH ERROR STATUS
  250. SGQ SPACE 4,25
  251. ** SGQ - SEARCH GLOBAL QUEUE.
  252. *
  253. * ENTRY (QA) = 0 IF QFT SEARCH REQUIRED.
  254. * = QFT ORDINAL IF SPECIFIED.
  255. * (FS - FS+4) = FST INFORMATION.
  256. * QFT INTERLOCKED IF (QA) .NE. 0.
  257. *
  258. * EXIT (A) = 0, IF QFT ENTRY NOT FOUND OR ERROR IN
  259. * INTERLOCKING QFT ENTRY (OPERATOR OVERRIDE).
  260. * (QA) = QFT ORDINAL, IF ENTRY FOUND.
  261. * (T4) = CREATION MODE FLAG.
  262. * (T5) = EST ORDINAL.
  263. * (T6) = FIRST TRACK.
  264. * (QFIF) .NE. 0 IF QFT ENTRY INTERLOCKED BY *0DQ*.
  265. *
  266. * USES QA, CM - CM+4, T0 - T7.
  267. *
  268. * CALLS IQF.
  269. *
  270. * MACROS ISTORE, SFA.
  271.  
  272.  
  273. SGQ1 LDN QFTP READ QFT POINTERS
  274. CRD CM
  275. SGQ2 AOD QA ADVANCE ORDINAL
  276. LMD CM+2
  277. ZJN SGQX IF END OF QFT
  278. SGQ3 SFA QFT,QA SET QFT ADDRESS
  279. ADK JSNQ READ CREATION MODE FLAG
  280. CRD T0
  281. ADN ENTQ-JSNQ READ MASS STORAGE PARAMETERS
  282. CRD T5
  283. SGQA LDD T6 COMPARE FIRST TRACK
  284. * UJN SGQX (QFT ORDINAL SPECIFIED)
  285. LMD FS+1
  286. NJN SGQ2 IF NO MATCH
  287. LDD T5
  288. LMD FS
  289. NJN SGQ2 IF NOT SAME EQUIPMENT
  290. LDN SFIN SET INTERLOCK FUNCTION
  291. RJM IQF INTERLOCK QFT ENTRY
  292. ZJN SGQ4 IF ENTRY INTERLOCKED
  293. LDN 1
  294. SGQ4 LMN 1
  295. STM QFIF SET INTERLOCK FLAG
  296.  
  297. SGQ SUBR ENTRY/EXIT
  298. LDD QA
  299. ZJN SGQ1 IF QFT ORDINAL NOT SPECIFIED
  300. ISTORE SGQA,(UJN SGQX) BYPASS QFT SEARCH
  301. UJN SGQ3 FETCH MASS STORAGE PARAMETERS
  302. SPACE 4,10
  303. ** COMMON DECKS.
  304.  
  305.  
  306. QFT$ EQU 1 ASSEMBLE QFT PROCESSOR
  307. IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION CODE
  308. *CALL COMPGFP
  309. *CALL COMPSFI
  310.  
  311.  
  312. IFP HERE *COMPGFP* INITIALIZATION
  313.  
  314.  
  315. RSTR
  316. SPACE 4,10
  317. ERRNG ZDQL-OVLA-ZQML *0QM* OVERFLOWS *0DQ*
  318.  
  319. OVERFLOW 5,ZDQL
  320. SPACE 4,10
  321. END