ibm:vm370-lib:copy:msscom.copy_src
Table of Contents
MSSCOM Source
References
- Fixes Applied : 4
- This Source Date : Friday, December 8, 1978
- Last Fix ID : [R11344DK]
Source Listing
- MSSCOM.COPY.txt
- *COPY MSSCOM 00001000
- *%GOTO MSSCOM1; /* MAPPING MACRO 00002000
- MACRO 00003000
- &NAME MSSCOM 00004000
- PUSH PRINT 00005000
- AIF ('&SYSPARM' NE 'SUP').MSSCM1 00006000
- PRINT OFF,NOGEN 00007000
- .MSSCM1 ANOP 00008000
- **/ 00009000
- *% MSSCOM1:; 00010000
- */* ***************************************************************** 00011000
- ** 00012000
- ** 00013000
- ** THE MSSCOM MACRO IS USED TO MAP A CONTROL BLOCK 00014000
- ** FOR COMMUNICATION BETWEEN THE CONTROL PROGRAM 00015000
- ** COMPONENT OF VM/370 AND AN OS/VS SYSTEM RUNNING 00016000
- ** IN A VIRTUAL MACHINE. 00017000
- ** 00018000
- ** THE CONTROL BLOCK CONTAINS TWO TYPES OF DATA: 00019000
- ** 1. DATA THAT IS CONSTRUCTED BY VM/370 00020000
- ** AND PASSED TO OS/VS TO REQUEST AN 00021000
- ** MSS OPERATION. 00022000
- ** 2. DATA THAT IS SAVED BY VM/370 WHILE 00023000
- ** AN MSS OPERATION IS IN PROCESS SO 00024000
- ** THAT, WHEN THE OPERATION IS COMPLETE, 00025000
- ** THE CORRECT VM/370 USER CAN BE 00026000
- ** DISPATCHED. 00027000
- ** 00028000
- ************** MSS COMMUNICATION CONTROL BLOCK 00029000
- ** 00030000
- ** 00 +---------------------------------+-----------+ 00031000
- ** | MSSSER | MSSVUA | 00032000
- ** 08 +----------------------+----------+-----------+ 00033000
- ** | MSSTASKD | MSSTASK1 | 00034000
- ** 10 +----------------------+----------------------+ 00035000
- ** | MSSTASK2 | MSSTASK3 | 00036000
- ** 18 +----------------------+----------------------+ 00037000
- ** | MSSNEXT | MSSUSER | 00038000
- ** 20 +----------------------+-----+----+-----------+ 00039000
- ** | MSSUSER | M*1 | M*2| MSSRC | 00039110
- ** +----------------------+-----+----+-----------+ 00039190
- ** 00043000
- ** 00044000
- ********************************************************************/ 00045000
- *%GOTO MSSCOM2; /* 00046000
- &NAME DSECT MAP VM/370 TO OS/VS COMMUNICATIONS AREA 00047000
- MSSSER DS CL6 3330V VOLUME SERIAL NUMBER 00048000
- MSSVUA DS XL2 VIRTUAL UNIT ADDRESS FOR THE VOLUME 00049000
- MSSTASKD DS F ADDRESS OF CPEXBLOK USED FOR @VA09302 00050000
- * DUPLICATE 00050100
- * MOUNT REQUESTS 00050200
- MSSTASK1 DS F ADDRESS OF VM'S CPEXBLOK REPRESENTING 00051000
- * A TASK WAITING FOR A MOUNT 00052000
- MSSTASK2 DS F POINTER TO CPEXBLOK REPRESENTING A 00053000
- * CP TASK WAITING FOR MSC COMMUNICATION 00054000
- MSSTASK3 DS F POINTER TO A CPEXBLOK FOR A CP TASK 00055000
- * WAITING FOR I/O TO A 3330V BEING MOUNTED 00056000
- MSSNEXT DS F POINTER TO NEXT COMMUNICATION AREA, 00057000
- * OR ZERO IF THIS IS THE LAST 00058000
- MSSUSER DS CL8 NAME OF THE VIRTUAL MACHINE INITIATING 00059000
- * THIS REQUEST 00060000
- MSSFLAG1 DS XL1 M*1 BINARY FLAGS DESCRIBING THE @VA09302 00061000
- * SPECIFIC 00061100
- * TYPE OF REQUEST 00062000
- MSSFLAG2 DS XL1 M*2 BINARY FLAG INDICATING THE @VA09302 00062100
- * CURRENT STATUS 00062200
- * OF AN MSS REQUEST 00062300
- MSSRC DS 1H REASON CODE @VA11320 00063100
- SPACE 00064000
- MSSSIZE EQU (*-MSSSER)/8 MSSCOM SIZE IN DOUBLE WORDS 00065000
- SPACE 00066000
- * 00067000
- * THE FOLLOWING ARE POSSIBLE SETTINGS FOR THE MSSFLAG1 FIELD 00068000
- * 00069000
- MOUNT EQU X'80' MOUNT THE 3330V SPECIFIED BY 'SERIAL' 00070000
- * ON THE DEVICE 'VUA' 00071000
- * 00072000
- DEMOUNT EQU X'20' DEMOUNT THE 3330V SPECIFIED BY 'SERIAL' 00073000
- * WHICH IS ON DEVICE 'VUA' 00074000
- * 00075000
- RELINQSH EQU X'10' MOUNTED BY VM/370 CP 00075300
- * 00075600
- INUSE EQU X'08' THIS VSCOM CONTROL BLOCK IS IN USE; 00076000
- * THAT IS, IT REPRESENTS A REQUEST 00077000
- * CURRENTLY BEING PROCESSED BY OS/VS 00078000
- * 00079000
- MSSERR EQU X'04' THIS REQUEST HAS BEEN PROCESSED BY THE 00080000
- * MSC, BUT AN ERROR WAS INDICATED - 00081000
- * NO FURTHER MSS ACTION WILL OCCUR 00082000
- MSSSAVE EQU X'01' SAVE AREA IS NOT TO BE RETURNED @VA10862 00082010
- * 00082025
- * THE FOLLOWING ARE POSSIBLE SETTINGS FOR THE MSSFLAG2 FIELD 00082050
- * 00082075
- MSGPROC EQU X'10' WHEN THE 'MOUNT PROCEEDING' @VA09302 00082100
- * MSG. IS ISSUED 00082125
- * THIS FLAG IS SET TO PREVENT ANY OTHER 00082150
- * TASK FROM GETTING CONTROL BEFORE THE 00082175
- * MODULE REQUESTING A MOUNT IS INFORMED 00082200
- * THE MSS HAS ACKNOWLEDGED ITS REQUEST 00082225
- INPROC EQU X'20' WHEN THIS BIT IS SET, IT @VA09302 00082250
- * INDICATES THAT THE 00082275
- * MSS HAS ACCEPTED A REQUEST FOR A MOUNT OR 00082300
- * DEMOUNT AND IS IN THE PROCESS OF COMPLETE 00082325
- * THAT REQUEST. 00082350
- MQENT EQU X'40' INDICATES THAT THIS IS A Q @VA09302 00082375
- * ENTRY WAITING FOR 00082400
- * A RESPONSE FROM THE APPLICATION PROGRAM 00082425
- * DMKMSS RUNNING IN THE VIRTUAL VS MACH. 00082450
- RQENT EQU X'80' INDICATES THAT THIS IS A @VA09302 00082475
- * REQUEST WAITING 00082500
- * FOR MOUNT TO BE STARTED. THAT IS; THIS 00082525
- * IS A VALID REQUEST 00082550
- POP PRINT 00083000
- MEND */ 00084000
- * 00085000
- * /***********************************************************/ 00086000
- * /* PLS2 VERSION OF THE MSSCOM MAPPING MACRO */ 00087000
- * /***********************************************************/ 00088000
- *% MSSCOM2:; 00089000
- * DECLARE 00090000
- * 1 OSMSCOMM BASED(COMMPTR) BDY(WORD), 00091000
- * 2 MSSSER CHAR (6), /*3330 VOL SERIAL NO. */ 00092000
- * 2 MSSVUA CHAR(2), /*VIRTUAL UNIT ADDRESSS FOR VOL */ 00093000
- * 2 MSSTASKD CHAR(4), /*ADDR. CPEXBLOK FOR DUPLICATE REQ*/ 00094000
- * 2 MSSTASK1 FIXED(32), /*ADDR. CPEXBLOK WAITING FOR MOUNT*/ 00095000
- * 2 MSSTASK2 FIXED(32), /*ADDR. CPEXBLOK WAITING FOR MSC */ 00096000
- * 2 MSSTASK3 FIXED(32), /*ADDR. CPEXBLOK WAIT I/O TO 3330V*/ 00097000
- * 2 MSSNEXT FIXED(32), /*PTR. TO NEXT COMMUNICATION AREA */ 00098000
- * 2 MSSUSER CHAR(8), /*NAME OF VIRTUAL MACH. WITH REQST*/ 00099000
- * 2 MSSFLAG1 CHAR(1), /*FLAGS REPRESENTING REQUEST TYPE */ 00100000
- * 3 MOUNT BIT(1), /*MOUNT THE 3330V 'SERIAL' ON VUA */ 00101000
- * 3 * BIT(1), 00102000
- * 3 DEMOUNT BIT(1),/*DEMOUNT VOL 'SERIAL' ON VUA */ 00103000
- * 3 RELINQSH BIT(1),/*RELINQUISH VOL 'SERIAL' ON VUA */ 00104000
- * 3 INUSE BIT(1), /*MSSCOM CONTROL BLOCK IN USE */ 00105000
- * 3 MSSERR BIT(1), /*MSS ERROR HAS OCCURED */ 00106000
- * 3 * BIT(2), 00107000
- * 2 MSSFLAG2 CHAR(1), /*FLAGS INDICATING MSS STATUS */ 00107100
- * 3 RQENT BIT(1), /*REQUEST WAITING FOR MOUNT|DEMOUNT*/ 00107200
- * 3 MQENT BIT(1), /*REQUEST WAITING FOR DMKMSS */ 00107300
- * 3 INPROC BIT(1), /*MSS MOUNT IN PROCESS THIS BLOK */ 00107400
- * 3 MSGPROC BIT(1),/*MOUNT MSG. WRITTEN.WAIT COMPLETE*/ 00107500
- * 3 * BIT(4), 00107610
- * 2 MSSRC FIXED(15);/*REASON CODE */ 00107620
ibm/vm370-lib/copy/msscom.copy_src.txt ยท Last modified: 2023/08/06 13:36 by Site Administrator