% /************************************************************/ 00100006 /* */ 00200006 /* REPAIRV GLOBAL DATA AREAS - AMSDF65 */ 00300006 /* */ 00400006 /* 1) PLS/2 MACRO DEFINITIONS */ 00500006 /* 2) GLOBAL REPTBL - REPAIRV COMMUNICATIONS REGION */ 00600006 /* 3) DATA STRUCTURES */ 00700006 /* */ 00800006 /************************************************************/ 00900006 01000006 /************************************************************/ 01100006 /* */ 01200006 /* PLS/2 MACRO DEFINITONS(MUST PRECEDE OTHER DECLARES) */ 01300006 /* */ 01400006 /************************************************************/ 01500006 01600006 01700006 /************************************************************/ 01800006 /* FUNCTION - THESE MACROS ARE USED BY REPAIRV FOR ALL */ 01900006 /* CALLS TO IDCRDIO */ 02000006 /* */ 02100006 /* INVOCATION - ?FUNRCD DS(DSOPT) FOR(FOROPT); */ 02200006 /* */ 02300006 /* INPUT - */ 02400006 /* FUN = LOAD | ADD | GET | UPD | POS */ 02500006 /* DSOPT = IN | OUT */ 02600006 /* FOROPT = NUP | UPD */ 02700006 /* */ 02800006 /* OUTPUT - APPRORIATE BITS ARE SET IN WFREQ */ 02900006 /* */ 03000006 /* ERROR MESSAGES - ISSUED IF MACRO CALLED IMPROPERLY */ 03100006 /* */ 03200006 /* RETURN CODE - 0 = SUCCESSFUL EXPANSION */ 03300006 /* 4 = NO EXPANSION DUE TO ERROR */ 03400006 /* */ 03500006 /************************************************************/ 03600006 03700006 LOADRCD: ADDRCD: GETRCD: UPDRCD: POSRCD: 03800006 MACRO KEYS(DS,FOR); 03900006 DCL OP CHAR; 04000006 DCL RCODE FIXED; 04100006 OP = MACNAME(1:1); 04200006 RCODE = 4; 04300006 IF DS(1) = '' THEN RCODE = 0; 04400006 IF DS(1) = 'IN' THEN RCODE = 0; 04500006 IF DS(1) = 'OUT' THEN RCODE = 0; 04600006 IF RCODE = 4 THEN DO; 04700006 ANS MSG('DS OPTION UNRECOGNIZABLE'); 04800006 GOTO WFMOUT; 04900006 END; 05000006 RCODE = 4; 05100006 IF DS(1) = 'IN' THEN DO; 05200006 IF OP = 'P' THEN RCODE = 0; 05300006 IF OP = 'G' THEN RCODE = 0; 05400006 END; 05500006 ELSE RCODE = 0; 05600006 IF RCODE = 4 THEN DO; 05700006 ANS MSG('FUNCTION NOT VALID FOR INPUT DS'); 05800006 GOTO WFMOUT; 05900006 END; 06000006 RCODE = 4; 06100006 IF FOR(1) = '' THEN RCODE = 0; 06200006 IF FOR(1) = 'NUP' THEN RCODE = 0; 06300006 IF FOR(1) = 'UPD' THEN RCODE = 0; 06400006 IF RCODE = 4 THEN DO; 06500006 ANS MSG('FOR OPTION UNRECOGNIZABLE'); 06600006 GOTO WFMOUT; 06700006 END; 06800006 IF OP = 'G' THEN 06900006 IF DS(1) = '' THEN DO; 07000006 ANS MSG('DS OPTION MUST BE CODED FOR GETRCD'); 07100006 RCODE = 4; 07200006 GOTO WFMOUT; 07300006 END; 07400006 IF OP = 'G' THEN DO; 07500006 IF DS(1) = 'OUT' THEN IF FOR(1) = '' THEN RCODE = 4; 07600006 END; 07700006 IF RCODE = 4 THEN DO; 07800006 ANS MSG('FOR OPTION MUST BE CODED FOR GETRCD DS(OUT)'); 07900006 GOTO WFMOUT; 08000006 END; 08100006 ANS('DO;') SKIP COL(MACCOL); 08200006 ANS('WFREQ = ''''B;') SKIP COL(MACCOL+2); 08300006 /*************************************************************/08400006 /* DETERMINE IF ADDRCD,LOADRCD, OR GETCRD HAS BEEN REQUESTED */08500006 /*************************************************************/08600006 IF OP = 'L' THEN DO; 08700006 ANS('WFRLD = ON;') SKIP COL(MACCOL+2); 08800006 ANS('/* LOADRCD */') COL(MACCOL+20); 08900006 END; 09000006 IF OP = 'A' THEN DO; 09100006 ANS('WFRADD = ON;') SKIP COL(MACCOL+2); 09200006 ANS('/* ADDRCD */') COL(MACCOL+20); 09300006 END; 09400006 IF OP = 'G' THEN DO; 09500006 ANS('WFRGET = ON;') SKIP COL(MACCOL+2); 09600006 ANS('/* GETRCD */') COL(MACCOL+20); 09700006 IF DS(1) = 'IN' THEN DO; 09800006 ANS('WFRIN = ON;') SKIP COL(MACCOL+2); 09900006 ANS('/* INPUT DS */') COL(MACCOL+20); 10000006 END; 10100006 ELSE DO; 10200006 IF FOR(1) = 'UPD' THEN DO; 10300006 ANS('WFRUP = ON;') SKIP COL(MACCOL+2); 10400006 ANS('/* UPDATE */') COL(MACCOL+20); 10500006 END; 10600006 END; 10700006 END; 10800006 /*************************************************************/10900006 /* DETERMINE IF UPDRCD OR POSRCD FUNCTION WAS REQUESTED*/ 11000006 /*************************************************************/11100006 IF OP = 'U' THEN DO; 11200006 ANS('WFRUPD = ON;') SKIP COL(MACCOL+2); 11300006 ANS('/* UPDRCD */') COL(MACCOL+20); 11400006 ANS('WFRUP = ON;') SKIP COL(MACCOL+2); 11500006 ANS('/* UPDATE */') COL(MACCOL+20); 11600006 END; 11700006 IF OP = 'P' THEN DO; 11800006 ANS('WFRPOS = ON;') SKIP COL(MACCOL+2); 11900006 ANS('/* POSRCD */') COL(MACCOL+20); 12000006 IF DS(1) = 'IN' THEN DO; 12100006 ANS('WFRIN = ON;') SKIP COL(MACCOL+2); 12200006 ANS('/* INPUT DS */') COL(MACCOL+20); 12300006 END; 12400006 END; 12500006 ANS('CALL IDCRDIO;') SKIP COL(MACCOL+2); 12600006 ANS('RFY RTNREG RSTD;') SKIP COL(MACCOL+2); 12700006 ANS('TESTRC = RTNREG;') SKIP COL(MACCOL+2); 12800006 ANS('RFY RTNREG UNRSTD;') SKIP COL(MACCOL+2); 12900006 ANS('END;') SKIP COL(MACCOL); 13000006 WFMOUT: RETURN CODE(RCODE); 13100006 %END; 13200006 @EJECT; 13300006 % /************************************************************/ 13400006 /* FUNCTION - THIS MACRO IS USED BY REPAIRV FOR ALL */ 13500006 /* CALLS TO CKERR */ 13600006 /* */ 13700006 /* INVOCATION - ?CALLCKER(ERRNUM,MSGVARX,...); */ 13800006 /* */ 13900006 /* INPUT - */ 14000006 /* ERRNUM = ENTRY NUMBER FOR CKERR ACTION TABLE */ 14100006 /* MSGVARX = MESSAGE VARIABLES TO BE INSERTED */ 14200006 /* IN MESSAGE */ 14300006 /* */ 14400006 /* OUTPUT - APPRORIATE BITS ARE SET IN CKREQ */ 14500006 /* */ 14600006 /************************************************************/ 14700006 14800006 CALLCKER: 14900006 MACRO; 15000006 DCL INDEX1 FIXED; 15100006 DCL INDEX2 FIXED; 15200006 INDEX1 = 1; 15300006 INDEX2 = 2; 15400006 ANS('DO;') SKIP COL(MACCOL); 15500006 ANS('CKREQ = CKREQ && CKREQ;') SKIP COL(MACCOL+2); 15600006 ANS('CKRERN = '||MACLIST(1)||';') SKIP COL(MACCOL+2); 15700006 IF NUMBER(MACLIST) > 1 15800006 THEN 15900006 MVAR: DO; 16000006 ANS('CKRMVAR(INDEX1) = ADDR('||MACLIST(INDEX2)||');') 16100006 SKIP COL(MACCOL+2); 16200006 INDEX1 = INDEX1 + 1; 16300006 INDEX2 = INDEX2 + 1; 16400006 IF INDEX2 <= NUMBER(MACLIST) 16500006 THEN 16600006 GOTO MVAR; 16700006 END; 16800006 ANS('CALL IDCRDER;') SKIP COL(MACCOL+2); 16900006 ANS('END;') SKIP COL(MACCOL); 17000006 %END; 17100006 17200006 % /************************************************************/ 17300006 /* */ 17400006 /* FUNCTION - THIS MACRO SIMULATES THE MVCL ASSEMBLER */ 17500006 /* INSTRUCTION THUS ALLOWING MORE THAN 256 */ 17600006 /* BYTES TO BE MOVED AT A TIME. */ 17700006 /* */ 17800006 /* INVOCATION - ?MOVELONG TARGET(TARAREA,TARLENG) */ 17900006 /* SOURCE(SRCAREA,SRCLENG); */ 18000006 /* */ 18100006 /* INPUT - TARAREA = ADDRESS OF RECEIVING FIELD */ 18200006 /* TARLENG = LENGTH OF RECEIVING FIELD */ 18300006 /* SRCAREA = ADDRESS OF SOURCE FIELD */ 18400006 /* SRCLENG = LENGTH OF SOURCE FIELD */ 18500006 /* */ 18600006 /* OUTPUT - RECEIVING FIELD GETS THE STRING */ 18700006 /* OF THE SOURCE FIELD AS IN THE MVCL */ 18800006 /* ASSEMBLER INSTRUCTION. */ 18900006 /* */ 19000006 /************************************************************/ 19100006 19200006 MOVELONG: MACRO KEYS(TARGET,SOURCE); 19300006 ANS('RFY (REG2,REG3,REG4,REG5) RSTD;') 19400006 SKIP COL(MACCOL); 19500006 ANS('REG2 = '||TARGET(1)||';') SKIP COL(MACCOL); 19600006 ANS('REG3 = '||TARGET(2)||';') SKIP COL(MACCOL); 19700006 ANS('REG4 = '||SOURCE(1)||';') SKIP COL(MACCOL); 19800006 ANS('REG5 = '||SOURCE(2)||';') SKIP COL(MACCOL); 19900006 ANS('MVCL (REG2,REG4);') SKIP COL(MACCOL); 20000006 ANS('RFY(REG2,REG3,REG4,REG5) UNRSTD;') 20100006 SKIP COL(MACCOL); 20200006 %END; 20300006 20400006 /**********************************************************/ 20500006 /* */ 20600006 /* REPAIRV COMMUNICATIONS REGION */ 20700006 /* */ 20800006 /**********************************************************/ 20900006 DCL 1 REPTBL, 21000006 2 REPCB, 21100006 3 REPRESER CHAR(12), /*SPACE FOR IDENTIFER REPTBL*/ 21200006 3 REPARFIO PTR(31), /*PTR TO IOCSTR FOR 21300006 ALTERNATE REPORT FILE */ 21400006 3 REPIRWIO PTR(31), /*PTR TO IOCSTR FOR IN 21500006 REPAIR WORK FILE */ 21600006 3 REPORWIO PTR(31), /*PTR TO IOCSTR FOR OUT 21700006 REPAIR WORK FILE */ 21800006 3 REPIDSOP PTR(31), /*PTR TO IOCTLBK FOR IN FILE*/ 21900006 3 REPODSOP PTR(31), /*PTR TO IOCTLBK FOR OUT DS */ 22000006 3 REPIDSAR PTR(31), /*PTR TO UEXCP READ ARGUMENT 22100006 LIST FOR INPUT DATA SET */ 22200006 3 REPODSAR PTR(31), /*PTR TO UEXCP READ ARGUMENT 22300006 LIST FOR OUTPUT DATA SET*/ 22400006 3 REPSPRIT PTR(31), /*PTR TO IDCRDPT ARG LIST */ 22500006 3 REPIBFPT PTR(31), /*PTR TO IN BUFFER FOR FILE */ 22600006 3 REPOBFPT PTR(31), /*PTR TO OUT BUFFER FOR DS */ 22700006 3 REPBUFF0 PTR(31), /*PTR TO IN BUFFER FOR 22800006 REPAIR WORK FILE */ 22900006 3 REPBUFF1 PTR(31), /*PTR TO OUT BUFFER TO 23000006 REPAIR WORK FILE */ 23100006 3 REPRWHDI PTR(31), /*PTR TO INPUT REPAIR WORK 23200006 FILE HEADER RECORD */ 23300006 3 REPRWHDO PTR(31), /*PTR TO OUTPUT REPAIR WORK 23400006 FILE HEADER RECORD */ 23500006 3 REPINCL PTR(31), /*TO CLOSE INPUT */ 23600006 3 REPOUTCL PTR(31), /*TO CLOSE OUTPUT */ 23700006 3 REPIXTN2 PTR(31), /*ADDR OF INPUT XTNTTBL2 */ 23800006 3 REPIXTNT PTR(31), /*ADDR OF INPUT XTNTTBL */ 23900006 3 REPOXTN2 PTR(31), /*ADDR OF OUTPUT XTNTTBL2 */ 24000006 3 REPOXTNT PTR(31), /*ADDR OF OUTPUT XTNTTBL */ 24100006 3 REPIINFO PTR(31), /*ADDR OF INPUT UIOINFO AREA*/ 24200006 3 REPOINFO PTR(31), /*ADDR OF OUTPT UIOINFO AREA*/ 24300006 3 REPRWHAR PTR(31), /*ADDR OF REPAIR WORK FILE 24400006 HEADER INFORMATION AREA */ 24500006 3 REPRWINA PTR(31), /*ADDR OF REPAIR WORK FILE 24600006 INFORMATION AREA */ 24700006 3 REPISYSI PTR(31), /*INPUT USYSINFO AREA ADDR */ 24800006 3 REPOSYSI PTR(31), /*OUTPUT USYSINFO AREA ADDR */ 24900006 3 REPILCPT PTR(31), /*PTR TO LOCATION TABLE FOR 25000006 THE INPUT DATA SET */ 25100006 3 REPOLCPT PTR(31), /*PTR TO LOCATION TABLE FOR 25200006 THE OUTPUT DATA SET */ 25300006 3 REPIDEVA PTR(31), /* PTR TO INPUT DEVTYPE AREA*/ 25400006 3 REPODEVA PTR(31), /* PTR TO OPUT DEVTYPE AREA */ 25500006 3 REPQRPTR PTR(31), /* PTR TO QNAME AND RNAME */ 25600006 3 REPALLAG PTR(31), /* PTR TO SPACE FOR ALLAGL */ 25700006 3 REPEXOAR PTR(31), /* PTR TO SPACE FOR EXOARG */ 25800006 3 REPOPAGL PTR(31), /* PTR TO SPACE FOR OPNAGL */ 25900006 3 REPCPPTR PTR(31), /* PTR TO CATALOG PARM LIST */ 26000006 3 REPCDSOP PTR(31), /* IOCPTR FOR DS */ 26100006 /*****************************************************/ 26200006 /* */ 26300006 /* WORKING STORAGE FOR IDCRD02-IDCRD07 */ 26400006 /* */ 26500006 /*****************************************************/ 26600006 2 REPCBEXT, 26700006 3 REPR0LN FIXED(16), /* RWF RECORD 0 LENGTH */ 26800006 3 REPR1LN FIXED(16), /* RWF RECORD 1 LENGTH */ 26900006 3 REPSRPR, 27000006 4 REPSRPRT BIT(1), /*HEADER SWITCH FOR IDCRDPT */ 27100006 4 * BIT(7), 27200006 4 * CHAR(1), /*RESERVED */ 27300006 3 REPRC FIXED(16), /*RETURN CODE */ 27400006 3 REPRCDCT FIXED(31), /*RECORDS PROCESSED COUNTER */ 27500006 3 I FIXED(8), /* INDEX1 FOR TNTTBL PROCESS*/ 27600006 3 J FIXED(8), /* INDEX2 FOR TNTTBL PROCESS*/ 27700006 3 K FIXED(8), /* INDEX3 FOR TNTTBL PROCESS*/ 27800006 3 * FIXED(8), /* RESERVED */ 27900006 3 CKREQ BDY(WORD), /* CKERR PARM LIST */ 28000006 4 CKRERN FIXED(15), /* ERROR NUMBER */ 28100006 4 * FIXED(15), /* RESERVED */ 28200006 4 CKRMVAR (10) PTR(31), /* PTRS TO MSG VARIABLES*/ 28300006 3 RDCATRC FIXED(31), /* UCATLG RETURN CODE */ 28400006 3 WFIOGUK CHAR(11), /* GET UPDATE KEY */ 28500006 3 * CHAR(1), /* RESERVED */ 28600006 3 WFAREA BDY(WORD), /* WFIO ARGUEMENTS */ 28700006 4 WFIODAD PTR(31), /* DATA ADDRESS */ 28800006 4 WFIODLN FIXED(31), /* DATA LENGTH */ 28900006 4 WFIOKYA PTR(31), /* KEY ADDRESS */ 29000006 4 WFREQ BIT(16), /* FUNCTION FLAGS */ 29100006 5 WFRTYP BIT(8), /* FUNCTION TYPE */ 29200006 6 WFRADD BIT(1), /* ADDRCD */ 29300006 6 WFRLD BIT(1), /* LOADRCD */ 29400006 6 WFRGET BIT(1), /* GETRCD */ 29500006 6 WFRUPD BIT(1), /* UPDRCD */ 29600006 6 WFRPOS BIT(1), /* POSRCD */ 29700006 6 * BIT(3), /* RESERVED */ 29800006 5 WFROPT BIT(8), /* OPTIONS */ 29900006 6 WFRIN BIT(1), /* INPUT DS */ 30000006 6 WFRUP BIT(1), /* UPDATE */ 30100006 6 * BIT(6), /* RESERVED */ 30200006 3 REPENQSW FIXED(8); /* ENQUEUE SENSE SWITCH */ 30300006 30400006 /***********************************************************/ 30500006 /* */ 30600006 /* DATA STRUCTURES FOR REPAIRV */ 30700006 /* */ 30800006 /***********************************************************/ 30900006 31000006 /* REPAIR WORKFILE HEADER RECORD */ 31100006 31200006 DCL 1 RWFHDR BDY(WORD) BASED, 31300006 2 RWFHKEY CHAR(11), /* RWF KEY */ 31400006 2 RWFHDSNR CHAR(44), /* REPAIRWORKFILE */ 31500006 2 RWFHDSNU CHAR(44), /* DSNAME OF USER DATA SET */ 31600006 2 RWFHFM CHAR(4); /* INFO AREA - SEE RWDEF */ 31700006 /* ADDRESSABILITY TO INFORMATION AREA OF WORKFILE HDR REC */ 31800006 DCL 1 RWDEF DEFINED(RWFHDR) BDY(WORD), 31900006 2 * CHAR(89), /* SEE RWFHDR */ 32000006 2 RWFHFT CHAR(1), /* F MEANS FIXED RECORD 32100006 BLANK MEANS NOT FIXED */ 32200006 2 RWFHDLN FIXED(16), /* RCD LENGTH OR ZERO */ 32300006 2 RWFHKLN FIXED(8); /* KEY LENGTH OR ZERO */ 32400006 32500006 /* IDCRDPT ARGUMENT LIST */ 32600006 DCL 1 SRPRTARG BDY(WORD) BASED(REPSPRIT), 32700006 32800006 2 SRVRECL FIXED(31), /* VSAM REC LEN MINUS F + K */ 32900006 2 SRVREPTR PTR(31), /* PTR TO VSAM RECORD */ 33000006 2 SRDSNHDR PTR(31), /* PTR TO DSNAME IN RWF */ 33100006 2 SRVOLPTR PTR(31), /* PTR TO VOL SER NUMBER */ 33200006 2 SRRWFDSN PTR(31), /* PTR TO DSNAME OF RWF */ 33300006 2 SRRWFKEY PTR(31), /* PTR TO KEY OF RWF */ 33400006 2 SRERCODE PTR(31), /* PTR TO ERROR CODE */ 33500006 2 SRDSNPTR PTR(31), /* PTR TO DSNAME - DATA SET */ 33600006 2 SRSPRECL FIXED(31), /* KEY + DATA LEN STAGPACK */ 33700006 2 SRRECPTR PTR(31), /* PTR TO COUNT OF NON-VSAM */ 33800006 2 SRCCHHRP PTR(31); /* PTR TO CCHHR */ 33900006 34000006 /* REPAIR WORKFILE INFORMATION AREA */ 34100006 34200006 DCL 1 RWFINFO BASED(REPRWINA), 34300006 2 RWFDDN CHAR(8), /* DDNAME */ 34400006 2 RWFDSN CHAR(44), /* DSNAME */ 34500006 2 RWFVOL (5) CHAR(6), /* VOLSER */ 34600006 2 RWFKEY1, /* BEGINING RWF KEY */ 34700006 3 RWFKVOL1 CHAR(6), /* VOLSER */ 34800006 3 RWFKCHR1 CHAR(5), /* CCHHR */ 34900006 2 RWFKEY2, /* ENDING RWF KEY */ 35000006 3 RWFKVOL2 CHAR(6), /* VOLSER */ 35100006 3 RWFKCHR2 CHAR(5); /* CCHHR */ 35200006 35300006 /* RWF HEADER RECORD INFORMATION */ 35400006 35500006 DCL 1 RWHDRINF BASED(REPRWHAR), 35600006 2 RWHDRFIX CHAR(1), /* F FOR FBS RECORD FORMAT */ 35700006 /* 0 FOR OTHER RCD FORMATS */ 35800006 2 * CHAR(4), 35900006 2 RWHDRKLN FIXED(8), /* KEY LN IF RWHDRFIX = F */ 36000006 /* 0 IF RWHDRFIX ^= F */ 36100006 2 RWHDRDLN FIXED(16); /* DATA LN IF RWHDRFIX = F */ 36200006 /* 0 IF RWHDRFIX ^= F */ 36300006 36400006 /* IDCRDRD ARGUMENT LIST */ 36500006 36600006 DCL 1 RDARG BDY(WORD) BASED, 36700006 2 RDRES CHAR(8), /*RESERVED */ 36800006 2 RDCTLBK PTR(31), /*POINTER TO I/O CNTL BLK */ 36900006 2 RDIOAREA PTR(31), /*PTR TO RIOAREA */ 37000006 2 RDDARE PTR(31), /*PTR TO DATA READ */ 37100006 2 RDLOCPTR PTR(31), /*POINTER TO LOC TABLE */ 37200006 2 RDCCWCNT FIXED(15), /*NUM OF CCWS EXECUTED */ 37300006 2 RDCHR, 37400006 3 RDCC FIXED(16), /*CYLINDER NUMBER */ 37500006 3 RDHH FIXED(16), /*HEAD NUMBER */ 37600006 3 RDRECNUM FIXED(8), /*RECORD NUMBER */ 37700006 2 RDDS FIXED(8), /* ZERO FOR DATA SET */ 37800006 2 RDRWPKLN PTR(31), /* KEY LEN POINTER */ 37900006 2 RDSPACE, /* RESERVED FOR UEXCP */ 38000006 3 * FIXED(8), /* RESERVED */ 38100006 3 * PTR(24), /* RESERVED */ 38200006 3 * FIXED(15), /* RESERVED */ 38300006 3 * FIXED(15), /* RESERVED */ 38400006 3 * FIXED(15), /* RESERVED */ 38500006 2 RDFUNC FIXED(8), /* WRITE FUNCTION BYTE */ 38600006 2 RDSPKL FIXED(8), /* STAGING PACK KEY LENGTH */ 38700006 2 RDSPDL FIXED(15), /* STAGING PACK DATA LENGTH */ 38800006 2 RDLENTOT FIXED(15), /* NUM OF LENGTH ENTRIES */ 38900006 2 RDKLEN PTR(31), /* PTR LEN ENTRIES FOR KL */ 39000006 2 RDDLEN PTR(31); /* PTR LEN ENTRIES FOR DL */ 39100006 39200006 DCL RDSPKLDL CHAR(3) DEFINED(RDSPKL); 39300006 /* UIOINFO RETURN AREAS */ 39400006 39500006 DCL 1 INFOAREA BASED, 39600006 2 INFAREAL FIXED(16), /* LENGTH OF RETURN AREA */ 39700006 2 INFDATAL FIXED(16), /* LENGTH OF DATA RETURNED */ 39800006 2 INFAREA CHAR(*); 39900006 DCL 1 INFODSN BASED, 40000006 2 INFDSNID CHAR(2), /* IDENTIFIER - X'0001' */ 40100006 2 INFDSNLN FIXED(16), /* LENGTH OF DATA RETURNED */ 40200006 2 INFDSN CHAR(44); /* DATA SET NAME */ 40300006 DCL 1 INFOVOL BASED, 40400006 2 INFVOLID CHAR(2), /* IDENTIFIER - X'0002' */ 40500006 2 INFVOLLN FIXED(16), /* LENGTH OF DATA RETURNED */ 40600006 2 INFVOL(5) CHAR(6); /* VOLUME SERIAL NUMBER LIST*/ 40700006 40800006 /* DEVICE TYPE AREA DSECT */ 40900006 41000006 DCL 1 DEVAREA BDY(WORD) BASED, 41100006 2 DEVDEVTP, /* UCB DEVICE TYPE */ 41200006 3 DEVTBYT1 BIT(8), /* MODEL BITS */ 41300006 3 DEVTBYT2, /* OPTION FLAGS */ 41400006 4 * BIT(4), 41500006 4 DEVRVDEV BIT(1), /* 0 = REAL DEVICE */ 41600006 /* 1 = VIRTUAL DEVICE */ 41700006 4 * BIT(3), 41800006 3 DEVTBYT3 BIT(8), /* CLASS BITS */ 41900006 3 DEVTBYT4 BIT(8), /* DEVICE CODE */ 42000006 2 DEVMAXBK FIXED(32), /* MAXIMUM DEVICE BLOCKSIZE */ 42100006 2 *, 42200006 3 DEVMAXCC FIXED(16), /* MAXIMUM PHYSICAL CYLINDER*/ 42300006 3 DEVMAXHH FIXED(16), /* MAXIMUM PHYSICAL TRACKS */ 42400006 2 DEVWORD3, 42500006 3 DEVTC FIXED(16), /*TRACK CAPACITY */ 42600006 3 DEVBOH, 42700006 4 DEVBOH1 FIXED(8), /* BLOCK OVERHEAD 3330 */ 42800006 4 DEVBOH2 FIXED(8), /* THIS & ABOVE IS BLOCK */ 42900006 2 DEVWORD4, 43000006 3 DEVKC FIXED(8), /* KEY CONSTANT */ 43100006 3 DEV4B1, 43200006 4 * BIT(4), 43300006 4 INF4FLG BIT(1), /* ON INDICATES TWO BYTES 43400006 OF BLOCK OVERHEAD MUST BE HANDLED*/ 43500006 4 * BIT(3), 43600006 4 * CHAR(2), /* RESERVED */ 43700006 2 DEVWORD5 FIXED(32); 43800006 43900006 /* EXTENT TABLE 2: DATA SET DEB EXTENTS */ 44000006 44100006 DCL 1 XTNTTBL2 BASED, 44200006 2 XTN2ENT(140), 44300006 3 XTN2DSN CHAR(44), /* DATA SET NAME */ 44400006 3 XTN2CHR1, /* LOWER LIMIT CCHH */ 44500006 4 XTN2CC1 FIXED(16), 44600006 4 XTN2HH1 FIXED(16), 44700006 3 XTN2CHR2, /* UPPER LIMIT CCHH */ 44800006 4 XTN2CC2 FIXED(16), 44900006 4 XTN2HH2 FIXED(16); 45000006 45100006 /* EXTENT TABLE 3: USER SUPPLIED RANGE MERGED WITH XTNTTBL2*/ 45200006 45300006 DCL 1 XTNTTBL BASED, 45400006 2 XTNTHDR, /* EXTENT TABLE HEADER */ 45500006 3 XTNHDDN CHAR(8), /* DDNAME */ 45600006 3 XTNHDSN CHAR(44), /* DSNAME */ 45700006 3 XTNHVOLN CHAR(1), /* VOLUME COUNT OF 1 */ 45800006 3 XTNHVOL CHAR(6), /* VOLSER */ 45900006 3 * CHAR(1), 46000006 3 XTNHPWD CHAR(8), /* PASSWORD */ 46100006 3 XTNHCHR1, /* USER LOWER LIMIT CCHHR */ 46200006 4 XTNHCC1 FIXED(16), 46300006 4 XTNHHH1 FIXED(16), 46400006 4 XTNHR1 FIXED(8), 46500006 3 * CHAR(3), /* RESERVED */ 46600006 3 XTNHCHR2, /* USER UPPER LIMIT CCHHR */ 46700006 4 XTNHCC2 FIXED(16), 46800006 4 XTNHHH2 FIXED(16), 46900006 4 XTNHR2 FIXED(8), 47000006 3 * CHAR(3), /* RESERVED */ 47100006 3 XTNHMODE CHAR(1), /* I=INPUT,O=OUTPUT */ 47200006 3 * CHAR(3), 47300006 2 XTNTENT(140), /* EXTENT TABLE ENTRIES */ 47400006 3 XTNTDDN CHAR(8), /* DDNAME */ 47500006 3 XTNTDSN CHAR(44), /* DSNAME */ 47600006 3 XTNTVOLN CHAR(1), /* VOLUME COUNT OF 1 */ 47700006 3 XTNTVOL CHAR(6), /* VOLSER */ 47800006 3 * CHAR(3), /* RESERVED */ 47900006 3 XTNTCHR1, /* MERGED LOW LIM CCHHR */ 48000006 4 XTNTCC1 FIXED(16), 48100006 4 XTNTHH1 FIXED(16), 48200006 4 XTNTR1 FIXED(8), 48300006 3 * CHAR(3), /* RESERVED */ 48400006 3 XTNTCHR2, /* MERGED UPPER LIM CCHHR */ 48500006 4 XTNTCC2 FIXED(16), 48600006 4 XTNTHH2 FIXED(16), 48700006 4 XTNTR2 FIXED(8), 48800006 3 * CHAR(3); /* RESERVED */ 48900006 /* STRUCTURE TO REFERENCE 'RESERVE' QUEUE PARAMETERS */ 49000006 DCL 1 SPLIST BASED(REPQRPTR), 49100006 2 SPQNAME CHAR(8), /* QNAME */ 49200006 2 SPRNAME, /* RNAME */ 49300006 3 SPRLEN CHAR(1), /* RNAME LENGTH */ 49400006 3 SPRVOL CHAR(6); /* VOLSER */ 49500006 /* REPAIR WORKFILE DATA RECORD */ 49600006 DCL 1 RWFR BASED BDY(WORD), 49700006 2 RWFRKEY CHAR(11), /* RWF KEY */ 49800006 2 RWFRFLG CHAR(5), /* SEE RWFRDE */ 49900006 2 RWFRCNT, 50000006 3 RWFRCC FIXED(16), /* CC */ 50100006 3 RWFRHH FIXED(16), /* HH */ 50200006 3 RWFRR FIXED(8), /* R */ 50300006 3 RWFRKLN FIXED(8), /* RECORD KEY LENGTH */ 50400006 3 RWFRDLN FIXED(16), /* RECORD DATA LENGTH */ 50500006 2 RWFRKD CHAR(*); /* RECORD KEY/DATA */ 50600006 /* STRUCTURE TO ALLOW ADDRESSABILITY TO STATUS FIELDS OF 50700006 OF REPAIR WORKFILE DATA RECORD */ 50800006 DCL 1 RWFRDE DEFINED(RWFR), 50900006 2 * CHAR(11), /* SEE RWFR */ 51000006 2 RWFRF1 CHAR(1), /* 0 WHEN FILE CREATED */ 51100006 /* 1 WHEN FILE MODIFIED */ 51200006 /* 2 WHEN FILE DEBLOCKED */ 51300006 /* 3 WHEN DEBLOCKED AND */ 51400006 /* MODIFIED */ 51500006 /* DEBLOCKED */ 51600006 2 RWFRF2 FIXED(16), /* STATUS CODE */ 51700006 2 RWFROV FIXED(8), /* OVERFLOW RECORD */ 51800006 2 * CHAR(*); /* SEE RWFR */ 51900006 52000006 /***********************************************************/ 52100006 /* */ 52200006 /* END OF REPAIRV GLOBAL DECLARATIONS */ 52300006 /* */ 52400006 /***********************************************************/ 52500006