MACRO 00001000
CMSCB 00002000
PUSH PRINT 00002200
AIF ('&SYSPARM' NE 'SUP').ACC01 00002400
PRINT OFF,NOGEN 00002600
.ACC01 ANOP 00002800
* 00003000
* SIMULATED OS CONTROL BLOCKS 00004000
* 00005000
FCBSECT DSECT 00006000
FCBINIT DS 0X - INTERESTING TIDBITS 00007000
FCBOPCB EQU X'08' - OPEN ACQUIRED THIS CMS BLOCK 00008000
FCBPERM EQU X'04' - PERMANENT CONTROL BLOCK 00009000
FCBBATCH EQU X'02' - SPECIAL BATCH DATA SET 00010000
FCBCATML EQU X'01' - CONCATENATED MACLIB DATA SET 00011000
FCBOS EQU X'10' FCB FOR OS FORMATTED DISK 00012000
FCBDOSL EQU X'20' CONCATENATED DOSLIB DATA SET 00012100
FCBNEXT DS A - AL3(NEXT CMSCB) 00013000
FCBPROC DS A - A(SPECIAL PROCESSING ROUTINE) 00014000
FCBDD DS CL8 - DATA DEFINITION NAME 00015000
FCBOP DS CL8 - CMS OPERATION 00016000
IHAJFCB DS 0D - *** JOB FILE CONTROL BLOCK *** 00017000
JFCBDSNM DS 0X - 44 BYTES, DATA SET NAME 00018000
FCBTAPID DS 0X - TAPE IDENTIFICATION 00019000
FCBDSNAM DS CL8 - DATA SET NAME 00020000
FCBDSTYP DS CL8 - DATA SET TYPE 00021000
FCBPRPU EQU FCBDSTYP+4 - PRINTER/PUNCH COMMAND LIST 00022000
FCBTBSP DS 0X 2 BYTES, TAPE BACKSPCE COUNT @VA04853 00022500
FCBDSMD DS CL2 - DATA SET MODE 00023000
FCBITEM DS H - ITEM IDENTIFICATION NUMBER 00024000
FCBBUFF DS F - A(INPUT-OUTPUT BUFFER) 00025000
FCBBYTE DS F - DATA COUNT 00026000
FCBFORM DS CL2 - FILE FORMAT: FIXED/VARIABLE RECORDS 00027000
FCBCOUT DS H - RECORDS PER CMS PHYSICAL BLOCK 00028000
FCBREAD DS F - N'BYTES ACTUALLY READ 00029000
FCBDEV DS X - DEVICE TYPE CODE 00030000
FCBDUM EQU 0 - DUMMY DEVICE 00031000
FCBPTR EQU 4 - PRINTER 00032000
FCBRDR EQU 8 - READER 00033000
FCBCON EQU 12 - CONSOLE TERMINAL 00034000
FCBTAP EQU 16 - TAPE 00035000
FCBDSK EQU 20 - DISK 00036000
FCBPCH EQU 24 - PUNCH 00037000
FCBCRT EQU 28 - CRT 00038000
FCBMODE DS X - MODE: 1,2,3,4,5 00039000
FCBXTENT DS H - NUMBER OF ITEMS IN EXTENT 00040000
FCBRECL DS H - DCB LRECL AT OPEN TIME 00041000
IOBIOFLG DS X - I/O FLAGS 00042000
FCBDCBCT DS X - NO. OF DCB'S USING THIS FCB 00043000
FCBMEMBR DS 2F OS PDS MEMBER NAME 00044000
FCBOSFST DS F POINTER TO OS FST 00045000
FCBOSDSN DS F POINTER TO OS DSNAME BLOCK 00046000
FCBR13 DS F - SAVEAREA VECTOR R13 00047000
FCBKEYS DS A - A(DDS IN'CORE KEY TABLE) 00048000
FCBPDS DS A - A(PDS IN-CORE DIRECTORY) 00049000
JFCBMASK DS 8X - VARIOUS MASK BITS 00050000
JFCBCRDT DS 3C - DATA SET CREATION DATE (YDD) 00051000
JFCBXPDT DS 3C - DATA SET EXPIRATION DATE (YDD) 00052000
JFCBIND1 DS X - INDICATOR ONE 00053000
JFCBIND2 DS X - INDICATOR TWO 00054000
JFCBUFNO DS X - NUMBER OF BUFFERS 00055000
JFCBFTEK DS 0X - BUFFERING TECHNIQUE 00056000
JFCBFALN DS X - BUFFER ALIGNMENT 00057000
JFCBUFL DS H - BUFFER LENGTH 00058000
JFCEROPT DS X - ERROR OPTION 00059000
JFCKEYLE DS X - KEYLENGTH 00060000
DS X - ---NOT USED--- 00061000
JFCLIMCT DS 3X - BDAM SEARCH LIMIT 00062000
FCBDSORG DS 0X - DATA SET ORGANIZATION 00063000
JFCDSORG DS 2X - 00064000
FCBRECFM DS 0X - RECORD FORMAT 00065000
JFCRECFM DS X - 00066000
JFCOPTCD DS X - OPTION CODES 00067000
FCBBLKSZ DS 0H - BLOCK SIZE 00068000
JFCBLKSI DS H - 00069000
FCBLRECL DS 0H - LOGICAL RECORD LENGTH 00070000
JFCLRECL DS H - 00071000
FCBIOSW DS X - I/O OPERATION INDICATOR 00072000
FCBCLOSE EQU X'80' - DURING "CLOSE" 00073000
FCBCLEAV EQU X'40' - DISP = LEAVE DURING CLOSE 00074000
FCBPROCC EQU X'20' - GOTO FCBPROC DURING CLOSE 00075000
FCBPROCO EQU X'10' - GOTO FCBPROC DURING OPEN 00076000
FCBCASE EQU X'08' - ON=LOWER CASE CONSOLE I/O 00077000
FCBPVMB EQU X'04' - PUT-MOVE-VAR-BLK 00078000
FCBIOWR EQU X'02' - WRITE/PUT 00079000
FCBIORD EQU X'01' - READ/GET 00080000
FCBIOSW2 DS 1X - I/O OPERATION INDICATORS 00081000
FCBMVPDS EQU X'01' - SW FOR MOVEFILE WITH PDS OPTION 00082000
FCBMMV EQU X'02' MOVE PDS SWITCH FOR FIND @VA03059 00082100
FCBMVFIL EQU X'08' MOVE FILE IS ACTIVE 00082200
DEBLNGTH DS 0X - L'DEB IN DBLW WORDS 00083000
FCBTCLOS EQU X'40' A CLOSE TYPE T WAS DONE @VA08024 00083500
DS F - ---NOT USED--- 00084000
IHADEB DS 0D - *** DATA EXTENT BLOCK *** 00085000
DEBTCBAD DS A - A(MOVE-MODE USER BUFFER) 00086000
SEBSAV DS F DYNAMIC SAVE FOR RET ADDR FOR @VM02691 00087000
* SEB (OS I/O SIM) 00087100
DEBOFLGS DS 4X - DATA SET STAUS FLAGS 00088000
DEBOPATB DS 4X - OPEN/CLOSE OPTION BYTE 00089000
IOBFLG DS 0X - (START OF IOBPREFIX FOR NORMAL SCH) 00090000
IOBBFLG EQU 0 - DISPLACEMENT OF IOB FLAG IN IOB 00091000
IOBOUT EQU X'40' - "WRITE,PUT" IN PROGRESS 00092000
IOBIN EQU X'20' - "READ,GET" IN PROGRESS 00093000
IOBUPD EQU X'10' - "QSAM PUTX" IN PROCESS 00094000
IOBNXTAD DS A - A(NEXT BUFFER TO BE USED) 00095000
IOBECB DS F - ECB FOR QSAM NORMAL SCHEDULING 00096000
IHAIOB DS 0F - *** INPUT/OUTPUT BLOCK *** 00097000
DEBDEBID DS 0X - DEB IDENTIFICATION 00098000
DEBDCBAD DS A - A(DATA CONTROL BLOCK) 00099000
IOBECBCC DS 0X - ECB COMPLETION CODE 00100000
IOBBECBC EQU 12 - DISPLACEMENT OF ECB CODE IN IOB 00101000
IOBBECBP EQU 12 - DISPLACEMENT OF ECB PTR IN IOB 00102000
IOBECBPT DS A - A(EVENT CONTROL BLOCK) 00103000
IOBFLAG3 DS 0X - I/O ERROR FLAG 00104000
IOBBCSW EQU 16 - DISPLACEMENT OF CSW IN IOB 00105000
IOBCSW DS 8X - LAST CCW STORED(I.E., RESIDUAL COUNT) 00106000
IOBSTART DS A - X'ID-NEXT BUFFER',AL3(INITIAL BUFFER) 00107000
IOBDCBPT DS A - A(DATA CONTROL BLOCK) 00108000
IOBEND DS 0X - END-OF-INPUT/OUTPUT BLOCK 00109000
FCBEND DS 0D - END-OF FCB,JFCB,DEB,IOB BLOCKS 00110000
FCBENSIZ EQU (*-FCBSECT)/8 - SIZE OF FCB ENTRY, DOUBLEWORDS 00111000
SPACE 3 00112000
ORG FCBDSTYP+4 00113000
FCBIOOUT DS CL8 - SPECIAL I/O COMMAND LIST 00114000
FCBIOBUF DS A - A(DATA BUFFER) 00115000
FCBCONCR DS C - CONSOLE COLOR CODE 00116000
FCBCONMS DS X - CONSOLE MISCELLANEOUS INFO 00117000
FCBIOCNT DS H - L'DATA BUFFER 00118000
SPACE 3 00119000
* 00120000
* DATA EVENT CONTROL BLOCK 00121000
* 00122000
IHADECB DSECT 00123000
DECSDECB DS F - EVENT CONTROL BLOCK 00124000
DECTYPE DS H - TYPE OF I/O REQUEST 00125000
DECBRD EQU X'80' - READ SF 00126000
DECBWR EQU X'20' - WRITE SF 00127000
DECLNGTH DS H - LENGTH OF KEY & DATA 00128000
DECDCBAD DS A - V(DATA CONTROL BLOCK) 00129000
DECAREA DS A - V(KEY & DATA, BUFFER) 00130000
DECIOBPT DS A - V(IOB) 00131000
* BDAM EXTENSION 00132000
DECKYADR DS A - V(KEY) 00133000
DECRECPT DS A - V(BLOCK REFERENCE FIELD) 00134000
SPACE 3 00135000
* 00136000
* SOME FREQUENTLY USED EQUATES 00137000
* 00138000
DDNAM EQU FCBDSTYP - FILETYPE = DATA SET NAME 00139000
BLK EQU X'10' - RECFM=BLOCKED RECORDS 00140000
BS EQU X'20' - MACRF=BSAM 00141000
DA EQU X'20' - DSORG=DIRECT ACCESS 00142000
FXD EQU X'80' - RECFM=FIXED LENGTH RECORDS 00143000
IS EQU X'80' - DSORG=INDEXED SEQUENTIAL 00144000
LOC EQU X'08' - MACRF=LOCATE MODE 00145000
MOV EQU X'10' - MACRF=MOVE MODE 00146000
PS EQU X'40' - DSORG=PHYSICAL SEQUENTIAL 00147000
POU EQU X'03' - DSORG=PARTITIONED UNMOVEABLE 00147500
PO EQU X'02' - DSORG=PARTIONED ORGANIZATION 00148000
PREVIOUS EQU X'80' - OFLGS=PREVIOUS I/O OPERATION 00149000
QS EQU X'40' - MACRF=QSAM 00150000
UND EQU X'C0' - RECFM=UNDEFIN FORMAT RECORDS 00151000
VAR EQU X'40' - RECFM=VARIABLE LENGTH RECORDS 00152000
EJECT 00153000
POP PRINT 00153100
MEND 00154000