Table of Contents

VMCBLOKS Source

References

Source Listing

VMCBLOKS.COPY.txt
  1. *COPY VMCBLOKS 00001000
  2. PUSH PRINT 00002000
  3. AIF ('&SYSPARM' NE 'SUP').VMCB01 00003000
  4. PRINT OFF,NOGEN 00004000
  5. .VMCB01 ANOP 00005000
  6. VMCBLOK DSECT 00006000
  7. SPACE 1 00007000
  8. *** VMCBLOK - VM COMMUNICATION BLOCK 00008000
  9. * 00009000
  10. * 0 +-----+-----+-----------+-----------------------+ 00010000
  11. * | V*1 | V*2 | VMCFUNC | VMCMID | 00011000
  12. * 8 +-----+-----+-----------+-----------------------+ 00012000
  13. * | VMCUSER | 00013000
  14. * 10 +-----------------------+-----------------------+ 00014000
  15. * | VMCVADA | VMCLENA | 00015000
  16. * 18 +-----------------------+-----------------------+ 00016000
  17. * | VMCVADB | VMCLENB | 00017000
  18. * 20 +-----------------------+-----------------------+ 00018000
  19. * | VMCUSE | 00019000
  20. * 28 +-----------------------+-----+-----+-----+-----+ 00020000
  21. * | VMCFPNT | V*3 | V*4 | V*5 | V*6 | 00021000
  22. * 30 +-----------------------+-----+-----+-----+-----+ 00022000
  23. * | VMCTOD | 00022300
  24. * 38 +-----------------------------------------------+ 00022600
  25. * 00023000
  26. *** VMCBLOK - VM COMMUNICATION BLOCK 00024000
  27. SPACE 1 00025000
  28. VMCSTAT DS 1X VMCBLOK USER STATUS (V*1) 00026000
  29. VMCEFLG DS 1X DATA TRANSFER RETURN CODE (V*2) 00027000
  30. VMCFUNC DS 1H SUB - FUNCTION CODE 00028000
  31. VMCMID DS 1F MESSAGE IDENTIFIER 00029000
  32. VMCUSER DS 1D SOURCE / SINK USERID (VMUSER) 00030000
  33. VMCVADA DS 1F VADDR OF MESSAGE BUFFER 00031000
  34. VMCLENA DS 1F LENGTH OF MESSAGE 00032000
  35. VMCVADB DS 1F VADDR OF REPLY BUFFER (SEND / 00033000
  36. * RECV ONLY) 00034000
  37. VMCLENB DS 1F LENGTH OF REPLY BUFFER (SEND / 00035000
  38. * RECV ONLY) 00036000
  39. VMCUSE DS 1D USER SUPPLIED DOUBLE-WORD 00037000
  40. VMCFPNT DS 1F ADDRESS OF NEXT VMCBLOK 00038000
  41. VMCKEY DS 1X USER PSW KEY (V*3) 00039000
  42. VMCCSTAT DS 1X VMCBLOK CONTROL STATUS (V*4) 00040000
  43. VMCASTAT DS 1X VMCBLOK AUTHORIZATION STATUS (V*5) 00041000
  44. VMCRSB1 DS 1X RESERVED BYTE (V*6) 00042000
  45. VMCTOD DS 1D TOD AT AUTH/BUILD 00042500
  46. SPACE 1 00043000
  47. VMCBSIZE EQU (*-VMCBLOK)/8 SIZE OF VMCBLOK (DOUBLEWORDS) 00044000
  48. SPACE 1 00045000
  49. * BITS DEFINED IN VMCSTAT (V*1) 00046000
  50. VMCRESP EQU X'80' FINAL RESPONSE INTERRUPT 00047000
  51. VMCRJCT EQU X'40' MESSAGE REJECTED 00048000
  52. VMCPRTY EQU X'20' PRIORITY MESSAGE 00049000
  53. SPACE 1 00050000
  54. * BITS DEFINED IN VMCCSTAT (V*4) 00051000
  55. VMCCXINT EQU X'80' EXTERNAL INTERRUPT VMCBLOK 00052000
  56. VMCCRECP EQU X'40' TRANSACTION PROCESSED 00053000
  57. VMCCBUSY EQU X'20' VMCBLOK BUSY 00053500
  58. SPACE 1 00054000
  59. * BITS DEFINED IN VMCASTAT (V*5) 00055000
  60. VMCAAUTS EQU X'80' AUTHORIZED SPECIFIC 00056000
  61. VMCAPRTY EQU X'40' AUTHORIZED PRIORITY 00057000
  62. VMCAQIES EQU X'20' USER QUIESCING 00058000
  63. SPACE 1 00059000
  64. * RE-DEFINITION FOR MASTER VMCBLOK 00060000
  65. VMCACNT EQU VMCFUNC ACTIVE MESSAGE COUNT 00061000
  66. EJECT 00062000
  67. VMCPARM DSECT 00063000
  68. SPACE 1 00064000
  69. *** VMCPARM - VM COMMUNICATION PARMLIST 00065000
  70. * 00066000
  71. * 0 +-----+-----+-----------+-----------------------+ 00067000
  72. * | V*1 | V*2 | VMCPFUNC | VMCPMID | 00068000
  73. * 8 +-----+-----+-----------+-----------------------+ 00069000
  74. * | VMCPUSER | 00070000
  75. * 10 +-----------------------+-----------------------+ 00071000
  76. * | VMCPVADA | VMCPLENA | 00072000
  77. * 18 +-----------------------+-----------------------+ 00073000
  78. * | VMCPVADB | VMCPLENB | 00074000
  79. * 20 +-----------------------+-----------------------+ 00075000
  80. * | VMCPUSE | 00076000
  81. * 28 +-----------------------------------------------+ 00077000
  82. * 00078000
  83. *** VMCPARM - VM COMMUNICATION PARMLIST 00079000
  84. SPACE 1 00080000
  85. VMCPFLG1 DS 1X VMCPARM FLAG BYTE (V*1) 00081000
  86. VMCPFLG2 DS 1X RESERVED BYTE (V*2) 00082000
  87. VMCPFUNC DS 1H SUB - FUNCTION CODE 00083000
  88. VMCPMID DS 1F MESSAGE IDENTIFIER 00084000
  89. VMCPUSER DS 1D TARGET USERID 00085000
  90. VMCPVADA DS 1F VADDR OF MESSAGE BUFFER 00086000
  91. VMCPLENA DS 1F LENGTH OF MESSAGE 00087000
  92. VMCPVADB DS 1F VADDR OF REPLY BUFFER (SEND / 00088000
  93. * RECV ONLY) 00089000
  94. VMCPLENB DS 1F LENGTH OF REPLY BUFFER (SEND / 00090000
  95. * RECV ONLY) 00091000
  96. VMCPUSE DS 1D USER SUPPLIED DOUBLE-WORD 00092000
  97. SPACE 1 00093000
  98. VMCPLEN EQU (*-VMCPARM) LENGTH OF VMCPARM (BYTES) 00094000
  99. SPACE 1 00095000
  100. * BITS DEFINED IN VMCPFLG1 (V*1) 00096000
  101. VMCPAUTS EQU X'80' AUTHORIZE SPECIFIC REQUEST 00097000
  102. VMCPPRTY EQU X'40' PRIORITY MESSAGE 00098000
  103. VMCPSMSG EQU X'20' RECEIVING SPECIAL MESSAGES 00098100
  104. SPACE 1 00099000
  105. * EQUATES FOR VMCPFUNC (SUB - FUNCTION CODE) 00100000
  106. VMCPAUTH EQU X'0000' AUTHORIZE 00101000
  107. VMCPUAUT EQU X'0001' UN-AUTHORIZE 00102000
  108. VMCPSEND EQU X'0002' SEND 00103000
  109. VMCPSENR EQU X'0003' SEND/RECV 00104000
  110. VMCPSENX EQU X'0004' SENDX 00105000
  111. VMCPRECV EQU X'0005' RECEIVE 00106000
  112. VMCPCANC EQU X'0006' CANCEL 00107000
  113. VMCPREPL EQU X'0007' REPLY 00108000
  114. VMCPQUIE EQU X'0008' QUIESCE 00109000
  115. VMCPRESM EQU X'0009' RESUME 00110000
  116. VMCPIDEN EQU X'000A' IDENTIFY 00111000
  117. VMCPRJCT EQU X'000B' REJECT 00112000
  118. EJECT 00113000
  119. VMCMHDR DSECT 00114000
  120. SPACE 1 00115000
  121. *** VMCMHDR - VM COMMUNICATION MSG HEADER 00116000
  122. * 00117000
  123. * 0 +-----+-----+-----------+-----------------------+ 00118000
  124. * | V*1 | V*2 | VMCMFUNC | VMCMMID | 00119000
  125. * 8 +-----+-----+-----------+-----------------------+ 00120000
  126. * | VMCMUSER | 00121000
  127. * 10 +-----------------------+-----------------------+ 00122000
  128. * | VMCMVADA | VMCMLENA | 00123000
  129. * 18 +-----------------------+-----------------------+ 00124000
  130. * | VMCMVADB | VMCMLENB | 00125000
  131. * 20 +-----------------------+-----------------------+ 00126000
  132. * | VMCMUSE | 00127000
  133. * 28 +-----------------------------------------------+ 00128000
  134. * | | 00129000
  135. * = VMCMBUF = 00130000
  136. * | OPTIONAL MESSAGE BUFFER | 00131000
  137. * | | 00132000
  138. * XX +-----------------------------------------------+ 00133000
  139. * 00134000
  140. *** VMCMHDR - VM COMMUNICATION MSG HEADER 00135000
  141. SPACE 1 00136000
  142. VMCMSTAT DS 1X MESSAGE STATUS BYTE (V*1) 00137000
  143. VMCMEFLG DS 1X DATA TRANSFER RETURN CODE (V*2) 00138000
  144. VMCMFUNC DS 1H SUB-FUNCTION CODE (ORIGINAL 00139000
  145. * REQUEST) 00140000
  146. VMCMMID DS 1F MESSAGE IDENTIFIER 00141000
  147. VMCMUSER DS 1D SOURCE / SINK USERID (VMUSER) 00142000
  148. VMCMVADA DS 1F VIRTUAL BUFFER ADDRESS 00143000
  149. VMCMLENA DS 1F MESSAGE LENGTH 00144000
  150. VMCMVADB DS 1F VIRTUAL REPLY BUFFER ADDRESS 00145000
  151. VMCMLENB DS 1F REPLY BUFFER LENGTH 00146000
  152. VMCMUSE DS 1D USER SUPPLIED DOUBLE-WORD 00147000
  153. VMCMBUF DS 0X OPTIONAL 'SENDX' DATA BUFFER 00148000
  154. SPACE 00149000
  155. VMCMLEN EQU (*-VMCMHDR) LENGTH OF VMCMHDR (BYTES) 00150000
  156. SPACE 00151000
  157. * BITS DEFINED IN 'VMCMSTAT'. (V*1) 00152000
  158. VMCMRESP EQU X'80' FINAL RESPONSE INTERRUPT 00153000
  159. VMCMRJCT EQU X'40' MESSAGE REJECTED 00154000
  160. VMCMPRTY EQU X'20' PRIORITY MESSAGE 00155000
  161. SPACE 00156000
  162. * CODES DEFINED WITHIN 'VMCMFUNC'. 00157000
  163. SPACE 00158000
  164. * CODE SUBFUNCTION 00159000
  165. SPACE 00160000
  166. * VMCPSEND SEND 00161000
  167. * VMCPSENR SEND/RECV 00162000
  168. * VMCPSENX SENDX 00163000
  169. * VMCPIDEN IDENTIFY 00164000
  170. EJECT 00165000
  171. * EQUATES FOR VM COMMUNICATION RETURN CODES *** 00166000
  172. SPACE 1 00167000
  173. VMC01 EQU 1 INVALID VIRTUAL ADDRESS 00168000
  174. VMC02 EQU 2 INVALID SUB-FUNCTION CODE 00169000
  175. VMC03 EQU 3 PROTOCOL VIOLATION 00170000
  176. VMC04 EQU 4 USER NOT AUTHORIZED (SOURCE) 00171000
  177. VMC05 EQU 5 USER NOT AVAILABLE 00172000
  178. VMC06 EQU 6 PROTECTION VIOLATION 00173000
  179. VMC07 EQU 7 SENDX DATA TOO LARGE 00174000
  180. VMC08 EQU 8 DUPLICATE MESSAGE 00175000
  181. VMC09 EQU 9 TARGET VM QUIESCING 00176000
  182. VMC10 EQU 10 MESSAGE LIMIT EXCEEDED 00177000
  183. VMC11 EQU 11 CANCEL - REPLY CANCELLED 00178000
  184. VMC12 EQU 12 MESSAGE NOT FOUND 00179000
  185. VMC13 EQU 13 SYNCHRONIZATION ERROR 00180000
  186. VMC14 EQU 14 CANCEL - TOO LATE 00181000
  187. VMC15 EQU 15 PAGING I/O ERROR 00182000
  188. VMC16 EQU 16 INCORRECT LENGTH 00183000
  189. VMC17 EQU 17 DESTRUCTIVE OVERLAP 00184000
  190. VMC18 EQU 18 USER NOT AUTHORIZED PRIORITY 00185000
  191. VMC19 EQU 19 DATA TRANSFER ERROR 00186000
  192. VMC20 EQU 20 CANCEL - BUSY 00186500
  193. SPACE 1 00187000
  194. * GENERAL VM COMMUNICATION EQUATES 00188000
  195. SPACE 1 00189000
  196. VMCSMAX EQU 50 MAXIMUM ACTIVE MESSAGE LIMIT 00190000
  197. VMCXCODE EQU X'4001' VMCF EXTERNAL INTERRUPT CODE 00191000
  198. VMCXMASK EQU X'0001' VMCF CR0 EXTERNAL INTERRUPT MASK 00192000
  199. EJECT 00193000
  200. POP PRINT 00194000
  201. SPACE 1 00195000