Table of Contents

CMSCB Source

References

Source Listing

CMSCB.MACRO.txt
  1. MACRO 00001000
  2. CMSCB 00002000
  3. PUSH PRINT 00002200
  4. AIF ('&SYSPARM' NE 'SUP').ACC01 00002400
  5. PRINT OFF,NOGEN 00002600
  6. .ACC01 ANOP 00002800
  7. * 00003000
  8. * SIMULATED OS CONTROL BLOCKS 00004000
  9. * 00005000
  10. FCBSECT DSECT 00006000
  11. FCBINIT DS 0X - INTERESTING TIDBITS 00007000
  12. FCBOPCB EQU X'08' - OPEN ACQUIRED THIS CMS BLOCK 00008000
  13. FCBPERM EQU X'04' - PERMANENT CONTROL BLOCK 00009000
  14. FCBBATCH EQU X'02' - SPECIAL BATCH DATA SET 00010000
  15. FCBCATML EQU X'01' - CONCATENATED MACLIB DATA SET 00011000
  16. FCBOS EQU X'10' FCB FOR OS FORMATTED DISK 00012000
  17. FCBDOSL EQU X'20' CONCATENATED DOSLIB DATA SET 00012100
  18. FCBNEXT DS A - AL3(NEXT CMSCB) 00013000
  19. FCBPROC DS A - A(SPECIAL PROCESSING ROUTINE) 00014000
  20. FCBDD DS CL8 - DATA DEFINITION NAME 00015000
  21. FCBOP DS CL8 - CMS OPERATION 00016000
  22. IHAJFCB DS 0D - *** JOB FILE CONTROL BLOCK *** 00017000
  23. JFCBDSNM DS 0X - 44 BYTES, DATA SET NAME 00018000
  24. FCBTAPID DS 0X - TAPE IDENTIFICATION 00019000
  25. FCBDSNAM DS CL8 - DATA SET NAME 00020000
  26. FCBDSTYP DS CL8 - DATA SET TYPE 00021000
  27. FCBPRPU EQU FCBDSTYP+4 - PRINTER/PUNCH COMMAND LIST 00022000
  28. FCBTBSP DS 0X 2 BYTES, TAPE BACKSPCE COUNT @VA04853 00022500
  29. FCBDSMD DS CL2 - DATA SET MODE 00023000
  30. FCBITEM DS H - ITEM IDENTIFICATION NUMBER 00024000
  31. FCBBUFF DS F - A(INPUT-OUTPUT BUFFER) 00025000
  32. FCBBYTE DS F - DATA COUNT 00026000
  33. FCBFORM DS CL2 - FILE FORMAT: FIXED/VARIABLE RECORDS 00027000
  34. FCBCOUT DS H - RECORDS PER CMS PHYSICAL BLOCK 00028000
  35. FCBREAD DS F - N'BYTES ACTUALLY READ 00029000
  36. FCBDEV DS X - DEVICE TYPE CODE 00030000
  37. FCBDUM EQU 0 - DUMMY DEVICE 00031000
  38. FCBPTR EQU 4 - PRINTER 00032000
  39. FCBRDR EQU 8 - READER 00033000
  40. FCBCON EQU 12 - CONSOLE TERMINAL 00034000
  41. FCBTAP EQU 16 - TAPE 00035000
  42. FCBDSK EQU 20 - DISK 00036000
  43. FCBPCH EQU 24 - PUNCH 00037000
  44. FCBCRT EQU 28 - CRT 00038000
  45. FCBMODE DS X - MODE: 1,2,3,4,5 00039000
  46. FCBXTENT DS H - NUMBER OF ITEMS IN EXTENT 00040000
  47. FCBRECL DS H - DCB LRECL AT OPEN TIME 00041000
  48. IOBIOFLG DS X - I/O FLAGS 00042000
  49. FCBDCBCT DS X - NO. OF DCB'S USING THIS FCB 00043000
  50. FCBMEMBR DS 2F OS PDS MEMBER NAME 00044000
  51. FCBOSFST DS F POINTER TO OS FST 00045000
  52. FCBOSDSN DS F POINTER TO OS DSNAME BLOCK 00046000
  53. FCBR13 DS F - SAVEAREA VECTOR R13 00047000
  54. FCBKEYS DS A - A(DDS IN'CORE KEY TABLE) 00048000
  55. FCBPDS DS A - A(PDS IN-CORE DIRECTORY) 00049000
  56. JFCBMASK DS 8X - VARIOUS MASK BITS 00050000
  57. JFCBCRDT DS 3C - DATA SET CREATION DATE (YDD) 00051000
  58. JFCBXPDT DS 3C - DATA SET EXPIRATION DATE (YDD) 00052000
  59. JFCBIND1 DS X - INDICATOR ONE 00053000
  60. JFCBIND2 DS X - INDICATOR TWO 00054000
  61. JFCBUFNO DS X - NUMBER OF BUFFERS 00055000
  62. JFCBFTEK DS 0X - BUFFERING TECHNIQUE 00056000
  63. JFCBFALN DS X - BUFFER ALIGNMENT 00057000
  64. JFCBUFL DS H - BUFFER LENGTH 00058000
  65. JFCEROPT DS X - ERROR OPTION 00059000
  66. JFCKEYLE DS X - KEYLENGTH 00060000
  67. DS X - ---NOT USED--- 00061000
  68. JFCLIMCT DS 3X - BDAM SEARCH LIMIT 00062000
  69. FCBDSORG DS 0X - DATA SET ORGANIZATION 00063000
  70. JFCDSORG DS 2X - 00064000
  71. FCBRECFM DS 0X - RECORD FORMAT 00065000
  72. JFCRECFM DS X - 00066000
  73. JFCOPTCD DS X - OPTION CODES 00067000
  74. FCBBLKSZ DS 0H - BLOCK SIZE 00068000
  75. JFCBLKSI DS H - 00069000
  76. FCBLRECL DS 0H - LOGICAL RECORD LENGTH 00070000
  77. JFCLRECL DS H - 00071000
  78. FCBIOSW DS X - I/O OPERATION INDICATOR 00072000
  79. FCBCLOSE EQU X'80' - DURING "CLOSE" 00073000
  80. FCBCLEAV EQU X'40' - DISP = LEAVE DURING CLOSE 00074000
  81. FCBPROCC EQU X'20' - GOTO FCBPROC DURING CLOSE 00075000
  82. FCBPROCO EQU X'10' - GOTO FCBPROC DURING OPEN 00076000
  83. FCBCASE EQU X'08' - ON=LOWER CASE CONSOLE I/O 00077000
  84. FCBPVMB EQU X'04' - PUT-MOVE-VAR-BLK 00078000
  85. FCBIOWR EQU X'02' - WRITE/PUT 00079000
  86. FCBIORD EQU X'01' - READ/GET 00080000
  87. FCBIOSW2 DS 1X - I/O OPERATION INDICATORS 00081000
  88. FCBMVPDS EQU X'01' - SW FOR MOVEFILE WITH PDS OPTION 00082000
  89. FCBMMV EQU X'02' MOVE PDS SWITCH FOR FIND @VA03059 00082100
  90. FCBMVFIL EQU X'08' MOVE FILE IS ACTIVE 00082200
  91. DEBLNGTH DS 0X - L'DEB IN DBLW WORDS 00083000
  92. FCBTCLOS EQU X'40' A CLOSE TYPE T WAS DONE @VA08024 00083500
  93. DS F - ---NOT USED--- 00084000
  94. IHADEB DS 0D - *** DATA EXTENT BLOCK *** 00085000
  95. DEBTCBAD DS A - A(MOVE-MODE USER BUFFER) 00086000
  96. SEBSAV DS F DYNAMIC SAVE FOR RET ADDR FOR @VM02691 00087000
  97. * SEB (OS I/O SIM) 00087100
  98. DEBOFLGS DS 4X - DATA SET STAUS FLAGS 00088000
  99. DEBOPATB DS 4X - OPEN/CLOSE OPTION BYTE 00089000
  100. IOBFLG DS 0X - (START OF IOBPREFIX FOR NORMAL SCH) 00090000
  101. IOBBFLG EQU 0 - DISPLACEMENT OF IOB FLAG IN IOB 00091000
  102. IOBOUT EQU X'40' - "WRITE,PUT" IN PROGRESS 00092000
  103. IOBIN EQU X'20' - "READ,GET" IN PROGRESS 00093000
  104. IOBUPD EQU X'10' - "QSAM PUTX" IN PROCESS 00094000
  105. IOBNXTAD DS A - A(NEXT BUFFER TO BE USED) 00095000
  106. IOBECB DS F - ECB FOR QSAM NORMAL SCHEDULING 00096000
  107. IHAIOB DS 0F - *** INPUT/OUTPUT BLOCK *** 00097000
  108. DEBDEBID DS 0X - DEB IDENTIFICATION 00098000
  109. DEBDCBAD DS A - A(DATA CONTROL BLOCK) 00099000
  110. IOBECBCC DS 0X - ECB COMPLETION CODE 00100000
  111. IOBBECBC EQU 12 - DISPLACEMENT OF ECB CODE IN IOB 00101000
  112. IOBBECBP EQU 12 - DISPLACEMENT OF ECB PTR IN IOB 00102000
  113. IOBECBPT DS A - A(EVENT CONTROL BLOCK) 00103000
  114. IOBFLAG3 DS 0X - I/O ERROR FLAG 00104000
  115. IOBBCSW EQU 16 - DISPLACEMENT OF CSW IN IOB 00105000
  116. IOBCSW DS 8X - LAST CCW STORED(I.E., RESIDUAL COUNT) 00106000
  117. IOBSTART DS A - X'ID-NEXT BUFFER',AL3(INITIAL BUFFER) 00107000
  118. IOBDCBPT DS A - A(DATA CONTROL BLOCK) 00108000
  119. IOBEND DS 0X - END-OF-INPUT/OUTPUT BLOCK 00109000
  120. FCBEND DS 0D - END-OF FCB,JFCB,DEB,IOB BLOCKS 00110000
  121. FCBENSIZ EQU (*-FCBSECT)/8 - SIZE OF FCB ENTRY, DOUBLEWORDS 00111000
  122. SPACE 3 00112000
  123. ORG FCBDSTYP+4 00113000
  124. FCBIOOUT DS CL8 - SPECIAL I/O COMMAND LIST 00114000
  125. FCBIOBUF DS A - A(DATA BUFFER) 00115000
  126. FCBCONCR DS C - CONSOLE COLOR CODE 00116000
  127. FCBCONMS DS X - CONSOLE MISCELLANEOUS INFO 00117000
  128. FCBIOCNT DS H - L'DATA BUFFER 00118000
  129. SPACE 3 00119000
  130. * 00120000
  131. * DATA EVENT CONTROL BLOCK 00121000
  132. * 00122000
  133. IHADECB DSECT 00123000
  134. DECSDECB DS F - EVENT CONTROL BLOCK 00124000
  135. DECTYPE DS H - TYPE OF I/O REQUEST 00125000
  136. DECBRD EQU X'80' - READ SF 00126000
  137. DECBWR EQU X'20' - WRITE SF 00127000
  138. DECLNGTH DS H - LENGTH OF KEY & DATA 00128000
  139. DECDCBAD DS A - V(DATA CONTROL BLOCK) 00129000
  140. DECAREA DS A - V(KEY & DATA, BUFFER) 00130000
  141. DECIOBPT DS A - V(IOB) 00131000
  142. * BDAM EXTENSION 00132000
  143. DECKYADR DS A - V(KEY) 00133000
  144. DECRECPT DS A - V(BLOCK REFERENCE FIELD) 00134000
  145. SPACE 3 00135000
  146. * 00136000
  147. * SOME FREQUENTLY USED EQUATES 00137000
  148. * 00138000
  149. DDNAM EQU FCBDSTYP - FILETYPE = DATA SET NAME 00139000
  150. BLK EQU X'10' - RECFM=BLOCKED RECORDS 00140000
  151. BS EQU X'20' - MACRF=BSAM 00141000
  152. DA EQU X'20' - DSORG=DIRECT ACCESS 00142000
  153. FXD EQU X'80' - RECFM=FIXED LENGTH RECORDS 00143000
  154. IS EQU X'80' - DSORG=INDEXED SEQUENTIAL 00144000
  155. LOC EQU X'08' - MACRF=LOCATE MODE 00145000
  156. MOV EQU X'10' - MACRF=MOVE MODE 00146000
  157. PS EQU X'40' - DSORG=PHYSICAL SEQUENTIAL 00147000
  158. POU EQU X'03' - DSORG=PARTITIONED UNMOVEABLE 00147500
  159. PO EQU X'02' - DSORG=PARTIONED ORGANIZATION 00148000
  160. PREVIOUS EQU X'80' - OFLGS=PREVIOUS I/O OPERATION 00149000
  161. QS EQU X'40' - MACRF=QSAM 00150000
  162. UND EQU X'C0' - RECFM=UNDEFIN FORMAT RECORDS 00151000
  163. VAR EQU X'40' - RECFM=VARIABLE LENGTH RECORDS 00152000
  164. EJECT 00153000
  165. POP PRINT 00153100
  166. MEND 00154000