*%;/* 00200002 MACRO 00600002 IHAICB &DSECT=YES 00610002 .* /* START OF SPECIFICATIONS **** 00650002 .* 00700002 .*01 MODULE-NAME = IHAICB 00750002 .* 00770002 .*01 COPYRIGHT = NONE 00780002 .* 00790002 .*01 STATUS = VS2 RELEASE 2 LEVEL 2 00792002 .* 00794002 .*01 CHANGE-ACTIVITY = ICBINDIC OFFSET FOR PLS 00796002 .* 00798002 .*01 DESCRIPTIVE-NAME = INTERRUPT CONTROL BLOCK 00798402 .* 00798802 .*01 FUNCTION = BSAM AND QSAM CHAINED SCHEDULING. 00799202 .* SIMILAR TO IOB, BUT KNOWN ONLY TO ACCESS METHOD. 00799302 .* ONE ICB IS PROVIDED FOR EACH BLOCK CONCURRENTLY PROCESSIBLE 00799402 .* CHANNEL PROGRAM SEGMENTS FOLLOWING ICBS ARE DYNAMICALLY 00799502 .* CHAINED TOGETHER, AND CHAINED FROM SEGMENT FOLLOWING IOB 00799602 .* 00799702 .*01 MODULE-TYPE = MACRO 00898302 .* 00898902 .*02 MACRO-SIZE = 375 STATEMENTS 00899302 .* 00899402 .*02 PARAMETER-RECEIVED = DSECT 00899502 .* 00930602 .*03 TYPE = CHARACTER STRING 00932602 .* 00933602 .*04 VALUE = YES OR NO 00933702 .* 00962102 .*01 TABLES = NONE 00964102 .* 00966202 .*01 INNER-MACROS = NONE 00966302 .* 00974802 .*01 SYSTEM-MACROS = NONE 00976802 .* 00980802 .* 00983202 .**** END OF SPECIFICATIONS ***/ 00991602 * /* MACCOMP Y-2 SC1D0/SJD48 */ 01001602 * /* MACSTAT Y-2 73124/021160 */ 01011602 */********************************************************************/ 01041602 */* INTERRUPTION CONTROL BLOCK */ 01400002 */* */ 02000002 */* METHOD OF ACCESS */ 02200002 */* BAL - DSECT IS PRODUCED UNLESS DSECT=NO IS SPECIFIED. */ 02400002 */* USING ON ICB GIVES ADDRESSABILITY FOR ALL SYMBOLS. */ 02600002 */* PL/S - DCL ICBPTR AS A BASE FOR THE ICB */ 02800002 */* */ 02850002 */* USE OF ICB */ 02902002 */* THIS CONTROL BLOCK IS USED BY BSAM AND QSAM WITH */ 02904002 */* CHAINED SCHEDULING. THE NUMBER OF ICBS IS CONTROLLED */ 02906002 */* BY NCP (BSAM) OR BUFNO (QSAM). EACH ICB IS FOLLOWED */ 02908002 */* BY A CHANNEL PROGRAM SEGMENT SIMILAR TO THE NORMAL */ 02910002 */* CHANNEL PROGRAM FOR THE DEVICE, EXCEPT THAT FOR DASD */ 02912002 */* DEVICES IT HAS NO SEEK/SEARCH LOGIC. THE CHANNEL */ 02914002 */* PROGRAM SEGMENTS TERMINATE WITH A NOP/TIC COMMAND */ 02916002 */* POINTING TO THE NEXT ICB CHANNEL PROGRAM SEGMENT. */ 02918002 */* THE ICBS ARE USED BY THE ACCESS METHOD AS IF THEY WERE */ 02920002 */* IOBS, BUT THEY ARE NEVER PASSED TO EXCP. */ 02922002 */* */ 02924002 */* ________________________________________________ */ 02926002 */* 0 (00) | | | */ 02928002 */* | ICBNFLG1 | ICBNICBB | */ 02930002 */* |___________|___________________________________| */ 02932002 */* 4 (04) | | */ 02934002 */* | ICBNECB | */ 02936002 */* |_______________________________________________| */ 02938002 */* 8 (08) | | | | | */ 02940002 */* | ICBFLAG1 | ICBFLAG2 | ICBSENS0 | ICBSENS1 | */ 02942002 */* |___________|___________|___________|___________| */ 02944002 */* 12 (0C) | | */ 02946002 */* | ICBECBPT | */ 02948002 */* |_______________________________________________| */ 02950002 */* 16 (10) | | | */ 02952002 */* | ICBECBCC | | */ 02954002 */* |___________| ICBCSW | */ 02956002 */* 20 (14) | | */ 02958002 */* | | */ 02960002 */* |_______________________________________________| */ 02962002 */* 24 (18) | | */ 02964002 */* | ICBSTART | */ 02966002 */* |_______________________________________________| */ 02968002 */* 28 (1C) | ICBINCAM | | | */ 02970002 */* | ICBCRDCC | ICBCRILC | ICBINDIC | * | */ 02972002 */* |___________|___________|___________|___________| */ 02974002 */* 32 (20) | | */ 02976002 */* | | */ 02978002 */* | ICBSEEK | */ 02980002 */* 36 (24) | | */ 02982002 */* | | */ 02984002 */* |_______________________________________________| */ 02986002 */* 40 (28) | | */ 02996002 */* | ICBDACCW | */ 02998002 */* */ 03000002 */********************************************************************/ 03050002 *%/* 03100002 SPACE 1 03400002 AIF ('&DSECT' EQ 'NO').NODSCT 03600002 ICB DSECT 03800002 AGO .CONT 04000002 .NODSCT ANOP 04200002 DS 0D 04400002 ICB EQU * 04600002 .CONT ANOP 04800002 *********************************************************************** 04850002 * 04900002 * ICB SECTION 1 -- EQUIVALENT TO 04950002 * IOB NORMAL PREFIX 05000002 * 05050002 *********************************************************************** 05100002 * 05150002 ICBNICBA DS 0A ------ ADDR.NEXT ICB ON CHAIN 05200002 ICBNFLG1 DS B - FLAG BYTE 05400002 ICBPRTOV EQU X'80' --- 'PRTOV' HAS OCCURRED 05600002 ICBWRITE EQU X'40' --- 'WRITE' OPERATION IN PROCESS 05800002 ICBREAD EQU X'20' --- 'READ' OPERATION IN PROCESS 06000002 ICBUPDAT EQU X'10' --- BLOCK IS TO BE UPDATED 06200002 ICBBKSPC EQU X'08' --- ICB BEING USED FOR BACKSPACE,CONTROL,NOTE/PT. 06400002 ICBSPAN EQU X'04' --- THIS RECORD IS A SPANNED RECORD 06600002 ICBRSV06 EQU X'02',,C'X' RESERVED 06800002 ICBFIRST EQU X'01' --- THIS IS FIRST ICB ON CHAIN 07000002 ICBNICBB DS AL3 ----- ADDR.NEXT ICB ON CHAIN 07200002 ICBNECB DS F ------- EVENT CONTROL BLOCK 07400002 SPACE 3 07450002 *********************************************************************** 07500002 * 07550002 * ICB SECTION 2 -- EQUIVALENT TO 07600002 * FIRST PART OF IOB STANDARD SECTION 07650002 * 07700002 *********************************************************************** 07750002 * 07760002 ICBFLAG1 DS B - FLAG BYTE 07800002 ICBDATCH EQU X'80' --- DATA CHAINING USED IN CHANNEL PROGRAM 08000002 ICBCMDCH EQU X'40' --- COMMAND CHAINING USED IN CHANNEL PROGRAM 08200002 ICBERRTN EQU X'20' --- ERROR ROUTINE IS IN CONTROL 08400002 ICBRPSTN EQU X'10' --- DEVICE IS TO BE REPOSITIONED 08600002 ICBCYCCK EQU X'08' --- CYCLIC REDUNDANCY CHECK NEEDED(TAPE ONLY) 08800002 ICBFCREX EQU X'08' --- FETCH COMMAND RETRY EXIT (DIRECT ACCESS ONLY) 09000002 ICBIOERR EQU X'04' --- I/O ERROR HAS OCCURRED 09200002 ICBUNREL EQU X'02' --- THIS I/O REQUEST IS UNRELATED(NON-SEQUENTIAL) 09400002 ICBRSTRT EQU X'01' --- RESTART ADDR.IN ICB TO BE USED 09600002 ICBFLAG2 DS B - FLAG BYTE 09800002 ICBHALT EQU X'80' --- HALT I/O HAS BEEN ISSUED BY SVC PURGE ROUTINE 10000002 ICBSENSE EQU X'40' --- ISSUE SENSE COMMAND AFTER DEVICE END OCCURS 10200002 ICBPURGE EQU X'20' --- ICB HAS BEEN PURGED *ALLOW I/O TO QUIESCE 10400002 ICBRDHA0 EQU X'10' --- HOME ADDRESS TO BE READ * NO SEEK NEEDED 10600002 ICBALTTR EQU X'08' --- NO TEST FOR OUT-OF-EXTENT * AN ALTERNATE TRACK 10800002 * IS IN USE 11000002 ICBSKUPD EQU X'04' --- SEEK ADDRESS IS BEING UPDATED -CYLINDER END 11200002 * OR FILE MASK VIOLATION HAS OCCURRED 11400002 ICBSTATO EQU X'02' --- DEVICE END STATUS HAS BEEN ORED WITH 11600002 * CHANNEL END STATUS - GRAPHICS DEVICE 11800002 ICBPNCH EQU X'01' --- TURNED ON BY QSAM WHEN ERROR RECOVERY IS TO 12000002 * BE PROVIDED FOR THE 2540 CARD PUNCH 12200002 ICBSENS0 DS B ------- FIRST SENSE BYTE 12400002 ICBS0B0 EQU X'80' --- BIT 0 (DEVICE DEPENDENT) 12600002 ICBS0B1 EQU X'40' --- BIT 1 (DEVICE DEPENDENT) 12800002 ICBS0B2 EQU X'20' --- BIT 2 (DEVICE DEPENDENT) 13000002 ICBS0B3 EQU X'10' --- BIT 3 (DEVICE DEPENDENT) 13200002 ICBS0B4 EQU X'08' --- BIT 4 (DEVICE DEPENDENT) 13400002 ICBS0B5 EQU X'04' --- BIT 5 (DEVICE DEPENDENT) 13600002 ICBS0B6 EQU X'02' --- BIT 6 (DEVICE DEPENDENT) 13800002 ICBS0B7 EQU X'01' --- BIT 7 (DEVICE DEPENDENT) 14000002 ICBSNSC9 EQU X'01' --- CHANNEL 9 SENSED IN CARRIAGE TAPE 14200002 ICBSENS1 DS B ------- SECOND SENSE BYTE 14400002 ICBS1B0 EQU X'80' --- BIT 0 (DEVICE DEPENDENT) 14600002 ICBS1B1 EQU X'40' --- BIT 1 (DEVICE DEPENDENT) 14800002 ICBS1B2 EQU X'20' --- BIT 2 (DEVICE DEPENDENT) 15000002 ICBS1B3 EQU X'10' --- BIT 3 (DEVICE DEPENDENT) 15200002 ICBS1B4 EQU X'08' --- BIT 4 (DEVICE DEPENDENT) 15400002 ICBS1B5 EQU X'04' --- BIT 5 (DEVICE DEPENDENT) 15600002 ICBS1B6 EQU X'02' --- BIT 6 (DEVICE DEPENDENT) 15800002 ICBS1B7 EQU X'01' --- BIT 7 (DEVICE DEPENDENT) 16000002 ICBECBPT DS 0A ------ ADDRESS OF ECB TO BE POSTED ON I/O COMPLETION 16200002 ICBECBCC DS CL1 ---- COMPLETION CODE FOR THIS I/O REQUEST 16400002 ICBECBPB DS AL3 ----- ADDRESS OF ECB TO BE POSTED ON I/O COMPLETION 16600002 ICBFLAG3 DS B ------- ERROR ROUTINE FLAG BYTE 16800002 ICBCSW DS CL7 ----- LOW ORDER 7 BYTES OF CSW AT CHANNEL END 17000002 ICBSTART DS 0A ------ ADDRESS OF CHANNEL PROGRAM 17200002 ICBSIOCC DS B ------- BITS 2 AND 3 = C.C. FROM SIO 17400002 ICBSTRTB DS AL3 ----- ADDRESS OF CHANNEL PROGRAM 17600002 * 17650002 *********************************************************************** 17700002 * EQUIVALENCE WITH IOB IS LOST AT THIS POINT, SINCE THE 17750002 * TWO IOB WORDS IOBDCBPT AND IOBRESTR ARE NOT IN THE ICB 17760002 *********************************************************************** 17770002 * 17780002 ICBINCAM DS 0H ------ VALUE USED TO INCREMENT BLOCK COUNT ON TAPE 17800002 ICBCRDCC DS CL1 ----- OPTICAL READER: DATA CHECK ERROR COUNT 18000002 ICBCRILC DS CL1 ----- OPTICAL READER: INCORRECT LENGTH ERROR COUNT 18200002 SPACE 2 18400002 ICBINDIC DS BL1 ----- SPECIAL CONDITION INDICATORS 18600002 ICBVOLFL EQU X'80' --- END OF VOLUME WITH READ/WRITE ERROR 18800002 ICBRSV07 DS BL1 ----- RESERVED 19000002 SPACE 3 19200002 *********************************************************************** 19400002 * * 19600002 * EXTENSION SECTIONS OF THE ICB * 19800002 * * 20000002 *********************************************************************** 20200002 SPACE 1 20400002 ICBEXTEN DS 0D 20600002 SPACE 1 20800002 * ****************************************** 21000002 * * * 21200002 * * DIRECT ACCESS EXTENSION *** 8 BYTES * 21400002 * * * 21600002 * ****************************************** 21800002 SPACE 1 22000002 ICBSEEK DS 0CL8 ---- 22200002 ICBM DS CL1 ----- RELATIVE EXTENT NUMBER FOR THIS REQUEST(0-15) 22400002 ICBBB DS 0CL2 ---- BIN NUMBER(DATA CELL) 22600002 ICBBB1 DS CL1 22800002 ICBBB2 DS CL1 23000002 ICBCC DS 0CL2 ---- CYLINDER NUMBER 23200002 ICBCC1 DS CL1 23400002 ICBCC2 DS CL1 23600002 ICBHH DS 0CL2 ---- TRACK NUMBER 23800002 ICBHH1 DS CL1 24000002 ICBHH2 DS CL1 24200002 ICBR DS CL1 ----- RECORD NUMBER 24400002 ICBDACCW DS 0D ------ CHANNEL PROGRAM SEGMENT START 24450002 MEND 24600002 **/; 24800002 * 25000002 * DECLARE 25200002 * 1 ICB BASED(ICBPTR), 25400002 * 25600002 * /* *************************************************************** */ 25800002 * /* */ 26000002 * /* ICB SECTION 1 -- EQUIVALENT TO */ 26200002 * /* IOB NORMAL PREFIX */ 26250002 * /* */ 26400002 * /* *************************************************************** */ 26600002 * 32800002 * 2 ICBNICBA PTR(31), /* ADDR.NEXT ICB ON CHAIN */ 34000002 * 3 ICBNFLG1 BIT(8), /* FLAG BYTE */ 34200002 * 4 ICBPRTOV BIT(1), /* 'PRTOV' HAS OCCURRED */ 34400002 * 4 ICBWRITE BIT(1), /* 'WRITE' OPERATION IN PROCESS */ 34600002 * 4 ICBREAD BIT(1), /* 'READ' OPERATION IN PROCESS */ 34800002 * 4 ICBUPDAT BIT(1), /* BLOCK IS TO BE UPDATED */ 35000002 * 4 ICBBKSPC BIT(1), /* ICB BEING USED FOR 35200002 * BACKSPACE,CONTROL,NOTE/PT. */ 35400002 * 4 ICBSPAN BIT(1), /* THIS RECORD IS A SPANNED 35600002 * RECORD */ 35800002 * 4 ICBRSV06 BIT(1), /* RESERVED */ 36000002 * 4 ICBFIRST BIT(1), /* THIS IS FIRST ICB ON CHAIN */ 36200002 * 36250002 * 3 ICBNICBB PTR(24), /* ADDR.NEXT ICB ON CHAIN */ 36400002 * 36450002 * 2 ICBNECB FIXED(31), /* EVENT CONTROL BLOCK */ 36600002 * 43200002 * /* *************************************************************** */ 43400002 * /* */ 43600002 * /* ICB SECTION 2 -- EQUIVALENT TO */ 43650002 * /* FIRST PART OF IOB STANDARD SECTION */ 43800002 * /* */ 44000002 * /* *************************************************************** */ 44200002 * 44400002 * 2 ICBFLAG1 BIT(8), /* FLAG BYTE */ 45000002 * 3 ICBDATCH BIT(1), /* DATA CHAINING USED IN 45200002 * CHANNEL PROGRAM */ 45400002 * 3 ICBCMDCH BIT(1), /* COMMAND CHAINING USED IN 45600002 * CHANNEL PROGRAM */ 45800002 * 3 ICBERRTN BIT(1), /* ERROR ROUTINE IS IN CONTROL */ 46000002 * 3 ICBRPSTN BIT(1), /* DEVICE IS TO BE REPOSITIONED */ 46200002 * 3 ICBCYCCK BIT(1), /* CYCLIC REDUNDANCY CHECK 46400002 * NEEDED(TAPE ONLY) */ 46600002 * 4 ICBFCREX BIT(1), /* FETCH COMMAND RETRY EXIT 46800002 * (DIRECT ACCESS ONLY) */ 47000002 * 3 ICBIOERR BIT(1), /* I/O ERROR HAS OCCURRED */ 47200002 * 3 ICBUNREL BIT(1), /* THIS I/O REQUEST IS 47400002 * UNRELATED(NON-SEQUENTIAL) */ 47600002 * 3 ICBRSTRT BIT(1), /* RESTART ADDR.IN ICB TO BE 47800002 * USED */ 48000002 * 2 ICBFLAG2 BIT(8), /* FLAG BYTE */ 48200002 * 3 ICBHALT BIT(1), /* HALT I/O HAS BEEN ISSUED BY 48400002 * SVC PURGE ROUTINE */ 48600002 * 3 ICBSENSE BIT(1), /* ISSUE SENSE COMMAND AFTER 48800002 * DEVICE END OCCURS */ 49000002 * 3 ICBPURGE BIT(1), /* ICB HAS BEEN PURGED *ALLOW 49200002 * I/O TO QUIESCE */ 49400002 * 3 ICBRDHA0 BIT(1), /* HOME ADDRESS TO BE READ * NO 49600002 * SEEK NEEDED */ 49800002 * 3 ICBALTTR BIT(1), /* NO TEST FOR OUT-OF-EXTENT * 50000002 * AN ALTERNATE TRACKIS IN USE */ 50200002 * 3 ICBSKUPD BIT(1), /* SEEK ADDRESS IS BEING 50400002 * UPDATED -CYLINDER END OR 50600002 * FILE MASK VIOLATION HAS 50800002 * OCCURRED */ 51000002 * 3 ICBSTATO BIT(1), /* DEVICE END STATUS HAS BEEN 51200002 * ORED WITH CHANNEL END STATUS 51400002 * - GRAPHICS DEVICE */ 51600002 * 3 ICBPNCH BIT(1), /* TURNED ON BY QSAM WHEN ERROR 51800002 * RECOVERY IS TO BE PROVIDED 52000002 * FOR THE 2540 CARD PUNCH */ 52200002 * 2 ICBSENS0 CHAR(1), /* FIRST SENSE BYTE */ 52400002 * 3 ICBS0B0 BIT(1), /* BIT 0 (DEVICE DEPENDENT) */ 52600002 * 3 ICBS0B1 BIT(1), /* BIT 1 (DEVICE DEPENDENT) */ 52800002 * 3 ICBS0B2 BIT(1), /* BIT 2 (DEVICE DEPENDENT) */ 53000002 * 3 ICBS0B3 BIT(1), /* BIT 3 (DEVICE DEPENDENT) */ 53200002 * 3 ICBS0B4 BIT(1), /* BIT 4 (DEVICE DEPENDENT) */ 53400002 * 3 ICBS0B5 BIT(1), /* BIT 5 (DEVICE DEPENDENT) */ 53600002 * 3 ICBS0B6 BIT(1), /* BIT 6 (DEVICE DEPENDENT) */ 53800002 * 3 ICBS0B7 BIT(1), /* BIT 7 (DEVICE DEPENDENT) */ 54000002 * 4 ICBSNSC9 BIT(1), /* CHANNEL 9 SENSED IN 54200002 * CARRIAGE TAPE */ 54400002 * 2 ICBSENS1 CHAR(1), /* SECOND SENSE BYTE */ 54600002 * 3 ICBS1B0 BIT(1), /* BIT 0 (DEVICE DEPENDENT) */ 54800002 * 3 ICBS1B1 BIT(1), /* BIT 1 (DEVICE DEPENDENT) */ 55000002 * 3 ICBS1B2 BIT(1), /* BIT 2 (DEVICE DEPENDENT) */ 55200002 * 3 ICBS1B3 BIT(1), /* BIT 3 (DEVICE DEPENDENT) */ 55400002 * 3 ICBS1B4 BIT(1), /* BIT 4 (DEVICE DEPENDENT) */ 55600002 * 3 ICBS1B5 BIT(1), /* BIT 5 (DEVICE DEPENDENT) */ 55800002 * 3 ICBS1B6 BIT(1), /* BIT 6 (DEVICE DEPENDENT) */ 56000002 * 3 ICBS1B7 BIT(1), /* BIT 7 (DEVICE DEPENDENT) */ 56200002 * 56250002 * 2 ICBECBPT PTR(31), /* ADDRESS OF ECB TO BE POSTED 56400002 * ON I/O COMPLETION */ 56600002 * 3 ICBECBCC CHAR(1), /* COMPLETION CODE FOR THIS I/O 56800002 * REQUEST */ 57000002 * 3 ICBECBPB PTR(24), /* ADDRESS OF ECB TO BE POSTED 57200002 * ON I/O COMPLETION */ 57400002 * 2 ICBFLAG3 CHAR(1), /* ERROR ROUTINE FLAG BYTE */ 57600002 * 2 ICBCSW CHAR(7), /* LOW ORDER 7 BYTES OF CSW AT 57800002 * CHANNEL END */ 58000002 * 2 ICBSTART PTR(31), /* ADDRESS OF CHANNEL PROGRAM */ 58200002 * 3 ICBSIOCC CHAR(1), /* BITS 2 AND 3 = C.C. FROM SIO */ 58400002 * 3 ICBSTRTB PTR(24), /* ADDRESS OF CHANNEL PROGRAM */ 58600002 * 58610002 * /* *************************************************************** */ 58650002 * /* EQUIVALENCE WITH THE IOB IS LOST AT THIS POINT, SINCE THE */ 58700002 * /* TWO IOB WORDS IOBDCBPT AND IOBRESTR ARE NOT IN THE ICB */ 58750002 * /* *************************************************************** */ 58800002 * 58850002 * 2 ICBINCAM FIXED(15), /* VALUE USED TO INCREMENT 61000002 * BLOCK COUNT ON TAPE */ 61200002 * 3 ICBCRDCC FIXED(8), /* OPTICAL READER:DATA CHECK ERROR COUNT */ 64600002 * 3 ICBCRILC FIXED(8), /* OPTICAL RDR:INCORRECT LENGTH ERROR CT.*/ 64800002 * 64810002 * 2 ICBINDIC BIT(8), /* SPECIAL CONDITION INDICATORS */ 64850002 * 3 ICBVOLFL BIT(1), /* EOV WITH READ/WRITE ERROR */ 64900002 * 2 ICBRSV07 CHAR(1), /* RESERVED */ 64950002 * 65000002 * 65200002 * /* *************************************************************** */ 65400002 * /* */ 65600002 * /* EXTENSION SECTIONS OF THE ICB */ 65800002 * /* */ 66000002 * /* *************************************************************** */ 66200002 * 66400002 * 2 ICBEXTEN BDY(DWORD), 66450002 * /* **************************************** */ 66600002 * /* DIRECT ACCESS EXTENSION *** 8 BYTES */ 66800002 * /* **************************************** */ 67000002 * 67200002 * 3 ICBSEEK CHAR(8), 67800002 * 4 ICBM CHAR(1), /* RELATIVE EXTENT NUMBER FOR 68000002 * THIS REQUEST(0-15) */ 68200002 * 4 ICBBB CHAR(2), /* BIN NUMBER(DATA CELL) */ 68400002 * 5 ICBBB1 CHAR(1), 68600002 * 5 ICBBB2 CHAR(1), 68800002 * 68850002 * 4 ICBCC CHAR(2), /* CYLINDER NUMBER */ 69000002 * 5 ICBCC1 CHAR(1), 69200002 * 5 ICBCC2 CHAR(1), 69400002 * 69450002 * 4 ICBHH CHAR(2), /* TRACK NUMBER */ 69600002 * 5 ICBHH1 CHAR(1), 69800002 * 5 ICBHH2 CHAR(1), 70000002 * 70050002 * 4 ICBR CHAR(1), /* RECORD NUMBER */ 70200002 * 3 ICBDACCW(*) CHAR(8) BDY(DWORD); 70250002