*COPY UDIRECT 00001000
PUSH PRINT 00001200
AIF ('&SYSPARM' NE 'SUP').UDI01 00001400
PRINT OFF,NOGEN 00001600
.UDI01 ANOP 00001800
LOCKBLOK DSECT 00005000
SPACE 00006000
*** LOCKBLOK - USERID LOCK CONTROL BLOCK 00007000
* 00008000
* 0 +-----------------------+-----------------------+ 00009000
* | LOCKNEXT | LOCKQUE | 00010000
* 8 +-----------------------+-----------------------+ 00011000
* | LOCKNAME | 00012000
* 10 +-----------------------------------------------+ 00013000
* 00014000
*** LOCKBLOK - USERID LOCK CONTROL BLOCK 00015000
SPACE 00018000
LOCKNEXT DS 1F POINTER TO THE NEXT LOCK BLOCK 00019000
LOCKQUE DS 1F POINTER TO CPEXBLOK QUEUE 00020000
LOCKNAME DS 1D THE NAME LOCKED 00021000
SPACE 00022000
LOCKSIZE EQU (*-LOCKBLOK)/8 LOCKBLOK SIZE IN DOUBLE WORDS 00023000
SPACE 2 00024000
UDIRBLOK DSECT 00025000
SPACE 00026000
*** UDIRBLOK - USER DIRECTORY CONTROL BLOCK 00027000
* 00028000
* 0 +-----------+-----------+-----------------------+ 00029000
* | UDIRRSV1 | UDIRDISP | UDIRDASD | 00030000
* 8 +-----------+-----------+-----------------------+ 00031000
* | UDIRUSER | 00032000
* 10 +-----------------------------------------------+ 00033000
* | UDIRPASS | 00034000
* 18 +-----------------------------------------------+ 00035000
* 00036000
*** UDIRBLOK - USER DIRECTORY CONTROL BLOCK 00037000
SPACE 00040000
UDIRRSV1 DS 1H RESERVED FOR FUTURE USE 00041000
UDIRDISP DS 1H DISPLACEMENT OF THE NEXT BLOCK 00042000
UDIRDASD DS 1F DASD ADDRESS OF THE NEXT BLOCK 00043000
UDIRUSER DS 1D USERID 00044000
UDIRPASS DS 1D USER PASSWORD 00045000
SPACE 00046000
UDIRSIZE EQU (*-UDIRBLOK)/8 UDIRBLOK SIZE IN DOUBLE WORDS 00047000
EJECT 00048000
UMACBLOK DSECT 00049000
SPACE 00050000
*** UMACBLOK - VIRTUAL MACHINE DIRECTORY BLOCK 00051000
* 00052000
* 0 +-----------+-----------+-----------------------+ 00053000
* | UMACDVCT | UMACDISP | UMACDASD | 00054000
* 8 +-----+-----+-----+-----+-----+-----+-----+-----+ 00055000
* | U*1 | U*2 | U*3 | U*4 | U*5 | U*6 | U*7 | U*8 | 00056000
* 10 +-----+-----+-----+-----+-----+-----+-----+-----+ 00057000
* | UMACCORE | UMACMCOR | 00058000
* 18 +-----------------------+-----------------------+ 00059000
* | UMACACCT | 00060000
* 20 +-----------------------------------------------+ 00061000
* | UMACDIST | 00062000
* 28 +-----------------------------------------------+ 00063000
* | UMACIPL | 00064000
* 30 +-----------------+-----+-----------------------+ 00065100
* | UMACPUID | U*9 | UMACRSV2 | 00065200
* 38 +-----------------+-----+-----------------------+ 00065300
* 00066000
*** UMACBLOK - VIRTUAL MACHINE DIRECTORY BLOCK 00067000
SPACE 00070000
UMACDVCT DS 1H NUMBER OF DEVICES 00071000
UMACDISP DS 1H DISPLACEMENT OF THE NEXT BLOCK 00072000
UMACDASD DS 1F DASD ADDRESS OF THE NEXT BLOCK 00073000
UMACCLEV DS 1X U*1 COMMAND LEVEL FLAGS 00074000
UMACPRIR DS 1X U*2 VIRTUAL MACHINE PRIORITY 00075000
UMACOPT DS 1X U*3 VIRTUAL MACHINE OPTION FLAGS 00076000
UMACOPT2 DS 1X U*4 VIRTUAL MACHINE OPTION FLAGS 00077000
UMACLEND DS 1C U*5 TERMINAL LINE END SYMBOL 00078000
UMACLDEL DS 1C U*6 TERMINAL LINE DELETE SYMBOL 00079000
UMACCDEL DS 1C U*7 TERMINAL CHARACTER DELETE SYMBOL 00080000
UMACES DS 1C U*8 TERMINAL ESCAPE CHARACTER 00081000
UMACCORE DS 1F VIRTUAL MEMORY SIZE IN BYTES 00082000
UMACMCOR DS 1F MAXIMUM VIRTUAL MEMORY SIZE IN BYTES 00083000
UMACACCT DS 1D ACCOUNTING INFORMATION 00084000
UMACDIST DS 1D USER MACHINE DISTRIBUTION INFORMATION 00085000
UMACIPL DS 1D NAME OF SYSTEM TO BE IPLED AT LOGON TIME 00086000
UMACPUID DS XL3 CPUID SERIAL IN BINARY 00086100
UMACAFF DS 1X U*9 AFFINITY AND CPU ADDRESS @V4075A0 00086200
UMACRSV2 DS 1F RESERVED FOR IBM USE 00086300
SPACE 00087000
UMACSIZE EQU (*-UMACBLOK)/8 UMACBLOK SIZE IN DOUBLE WORDS 00088000
SPACE 00089000
* BITS DEFINED IN UMACCLEV 00090000
UMACCLA EQU X'80' CLASS A FUNCTIONS 00091000
UMACCLB EQU X'40' CLASS B FUNCTIONS 00092000
UMACCLC EQU X'20' CLASS C FUNCTIONS 00093000
UMACCLD EQU X'10' CLASS D FUNCTIONS 00094000
UMACCLE EQU X'08' CLASS E FUNCTIONS 00095000
UMACCLF EQU X'04' CLASS F FUNCTIONS 00096000
UMACCLG EQU X'02' CLASS G FUNCTIONS 00097000
UMACCLH EQU X'01' CLASS H FUNCTIONS 00098000
EJECT 00099000
* BITS DEFINED IN UMACOPT 00100000
UMACISAM EQU X'80' ISAM CCW CHECKING OPTION 00101000
UMACECOP EQU X'40' EXTENDED CONTROL MODE OPTION 00102000
UMACRT EQU X'20' REAL TIMER OPTION 00103000
UMACVROP EQU X'10' VIRTUAL EQ REAL STORAGE OPTION 00104000
UMACACC EQU X'08' ACCOUNTING OPTION 00105000
UMACRSV4 EQU X'04' RESERVED 00106000
UMACNSVC EQU X'02' SVCS NOT HANDLED BY VM ASSIST 00106100
UMACBMX EQU X'01' VIRTUAL BLOCK MULTIPLEXER CHANNELS 00106110
SPACE 00106120
* BITS DEFINED IN UMACOPT2 00106130
UMACCPU EQU X'80' CPUID ON OPTION STATEMENT 00106140
UMADLNKN EQU X'40' LNKNOPAS OPTION STATEMENT HRC014DK 00106240
UMAST1ST EQU X'20' STFIRST OPTION STATEMENT HRC068DK 00106340
SPACE 1 @V4075A0 00106500
* DEFINITION OF UMACAFF @V4075A0 00106510
UMACFFON EQU X'40' AFFINITY IS SPECIFIED @V4075A0 00106520
UMACFFAD DS 0BL6 CPU ADDRESS FOR AFFINITY @V4075A0 00106530
SPACE 00107000
UDEVBLOK DSECT 00108000
SPACE 00109000
*** UDEVBLOK - VIRTUAL DEVICE DIRECTORY BLOCK (LONG) 00110000
* 00111000
* 0 +-----------+-----------+-----------------------+ 00112000
* | UDEVADD | UDEVDISP | UDEVDASD | 00113000
* 8 +-----+-----+-----+-----+-----+-----+-----------+ 00114000
* | U*1 | U*2 | U*3 | U*4 | U*5 | U*6 | UDEVNCYL | 00115000
* 10 +-----+-----+-----+-----+-----+-----+-----------+ 00116000
* | UDEVRELN | UDEVVSER | 00117000
* 18 +-----------+-----------------------------------+ 00118000
* | UDEVPASR | 00119000
* 20 +-----------------------------------------------+ 00120000
* | UDEVPASW | 00121000
* 28 +-----------------------------------------------+ 00122000
* | UDEVPASM | 00123000
* 30 +-----------------------------------------------+ 00124000
* 00125000
*** UDEVBLOK - VIRTUAL DEVICE DIRECTORY BLOCK (LONG) 00126000
SPACE 00129000
UDEVADD DS 1H VIRTUAL DEVICE ADDRESS 00130000
UDEVDISP DS 1H DISPLACEMENT OF THE NEXT BLOCK 00131000
UDEVDASD DS 1F DASD ADDRESS OF THE NEXT BLOCK 00132000
UDEVSTAT DS 1X U*1 DEVICE STATUS INFORMATION 00133000
UDEVMODE DS 1X U*2 ACCESS MODE INFORMATION 00134000
UDEVTYPC DS 1X U*3 VIRTUAL DEVICE CLASS 00135000
UDEVTYPE DS 1X U*4 VIRTUAL DEVICE TYPE 00136000
UDEVFTR DS 1X U*5 DEVICE FEATURE CODES 00137000
UDEVMDL DS 1X U*6 DEVICE MODEL NUMBER 00138000
UDEVNCYL DS 1H VIRTUAL DASD SIZE 00139000
UDEVRELN DS 1H VIRTUAL DASD CYLINDER RELOCATION 00140000
UDEVVSER DS 6C VOLUME SERIAL NUMBER 00141000
UDEVPASR DS 1D PASSWORD FOR READ ACCESS 00142000
UDEVPASW DS 1D PASSWORD FOR WRITE ACCESS 00143000
UDEVPASM DS 1D PASSWORD FOR MULTIPLE ACCESS 00144000
SPACE 00145000
UDEVSIZE EQU (*-UDEVBLOK)/8 UDEVBLOK SIZE IN DOUBLE WORDS 00146000
EJECT 00147000
* BITS DEFINED IN UDEVSTAT 00148000
UDEVDED EQU X'80' DEVICE TO BE DEDICATED TO THIS USER 00149000
UDEVTDSK EQU X'40' T-DISK TO BE ALLOCATED 00150000
UDEVLONG EQU X'20' DEVICE BLOCK IS FULL LENGTH (6 DBL WORDS) 00151000
UDEVLKDV EQU X'10' DEVICE TO BE LINKED (AT LOGON TIME) 00152000
UDEVSPOO EQU X'08' DEVICE IS A SPOOL DEVICE 00153000
UDEV3158 EQU X'04' DEVICE IS A 3158 CONSOLE @VA02100 00153050
UDEVVRR EQU X'02' VIRT. RESERVE RELEASE REQUESTED 00153055
UDEVRDEF EQU X'01' DEVICE IS REDEFINE, IF CLASURO @VA12263 00153100
SPACE 00154000
* BITS DEFINED IN UDEVMODE 00155000
UDEVLR EQU X'80' READ LINKS ALLOWED 00156000
UDEVLW EQU X'40' WRITE LINKS ALLOWED 00157000
UDEVLM EQU X'20' MULT-WRITE LINKS ALLOWED 00158000
* 00159000
UDEVR EQU 00 DEVICE TO BE IN 'R' LINK-MODE FOR OWNER 00160000
UDEVRR EQU 04 DEVICE TO BE IN 'RR' LINK-MODE FOR OWNER 00161000
UDEVW EQU 08 DEVICE TO BE IN 'W' LINK-MODE FOR OWNER 00162000
UDEVWR EQU 12 DEVICE TO BE IN 'WR' LINK-MODE FOR OWNER 00163000
UDEVM EQU 16 DEVICE TO BE IN 'M' LINK-MODE FOR OWNER 00164000
UDEVMR EQU 20 DEVICE TO BE IN 'MR' LINK-MODE FOR OWNER 00165000
UDEVMW EQU 24 DEVICE TO BE IN 'MW' LINK-MODE FOR OWNER 00166000
SPACE 00167000
ORG UDEVMDL USER DEVICE BLOCK (SHORT) 00168000
UDEVCLAS DS 1C U*6 SPOOL DEVICE OUTPUT CLASS 00169000
UDEVLINK DS 1H USER LINK TO DISK 00171000
UDEVNORA EQU X'80' INIT FOR DEDICATE WITH NO RDEV @VA11411 00171010
UDEVLKID DS 1D USER LINK TO USERID 00172000
SPACE 2 00173000
UDBFBLOK DSECT 00174000
SPACE 00175000
*** UDBFBLOK - USER DIRECTORY BUFFER BLOCK 00176000
* 00177000
* 0 +-----------------------------------------------+ 00178000
* | | 00179000
* = UDBFWORK = 00180000
* | | 00181000
* 38 +-----------------------+-----------------------+ 00182000
* | UDBFVADD | UDBFDASD | 00183000
* 40 +-----------------------+-----------------------+ 00184000
* 00185000
*** UDBFBLOK - USER DIRECTORY BUFFER BLOCK 00186000
SPACE 00189000
UDBFWORK DS 7D BUFFER WORK SPACE USED BY THE CALLER 00190000
UDBFVADD DS 1F VIRTUAL ADD OF THE LAST DIRECTORY PAGE 00191000
UDBFDASD DS 1F DASD ADD OF THE LAST DIRECTORY PAGE 00192000
SPACE 00193000
UDBFSIZE EQU (*-UDBFBLOK)/8 UDBFBLOCK SIZE IN DOUBLE WORDS 00194000
EJECT 00195000
POP PRINT 00196000
SPACE 00197000