!*** MODULE $XFDEF *** CDEC$ OPTIONS /NOALIGN ! + ! ! DR32 DEFINITIONS FOR COMMAND TABLE, PACKETS, AND CHARACTERISTICS ! ! - ! ! QIO COMMAND TABLE OFFSETS ! PARAMETER XF$M_IOS_SUCCES = '00000001'X PARAMETER XF$M_IOS_CMDSTD = '00000002'X PARAMETER XF$M_IOS_INVPTE = '00000004'X PARAMETER XF$M_IOS_FREQPK = '00000008'X PARAMETER XF$M_IOS_DDIDIS = '00000010'X PARAMETER XF$M_IOS_SLFTST = '00000020'X PARAMETER XF$M_IOS_RNGERR = '00000040'X PARAMETER XF$M_IOS_UNQERR = '00000080'X PARAMETER XF$M_IOS_INVPKT = '00000100'X PARAMETER XF$M_IOS_FREQMT = '00000200'X PARAMETER XF$M_IOS_RNDENB = '00000400'X PARAMETER XF$M_IOS_INVDDI = '00000800'X PARAMETER XF$M_IOS_LENERR = '00001000'X PARAMETER XF$M_IOS_DRVABT = '00002000'X PARAMETER XF$M_IOS_PARERR = '00004000'X PARAMETER XF$M_IOS_BUSERR = '08000000'X PARAMETER XF$M_IOS_RDSERR = '10000000'X PARAMETER XF$M_IOS_WCSPE = '20000000'X PARAMETER XF$M_IOS_CIPE = '40000000'X PARAMETER XF$M_IOS_DIPE = '80000000'X PARAMETER XF$M_IOS_NEXREG = '00000020'X PARAMETER XF$M_IOS_LOG = '00000040'X PARAMETER XF$M_IOS_DDIERR = '00000080'X STRUCTURE /XFDEF/ UNION MAP PARAMETER XF$S_IOS_SUCCES = 1 PARAMETER XF$V_IOS_SUCCES = 0 ! SUCCESS PARAMETER XF$S_IOS_CMDSTD = 1 PARAMETER XF$V_IOS_CMDSTD = 1 ! COMMAND STARTED PARAMETER XF$S_IOS_INVPTE = 1 PARAMETER XF$V_IOS_INVPTE = 2 ! INVALID PTE PARAMETER XF$S_IOS_FREQPK = 1 PARAMETER XF$V_IOS_FREQPK = 3 ! FREE QUEUE PACKET PARAMETER XF$S_IOS_DDIDIS = 1 PARAMETER XF$V_IOS_DDIDIS = 4 ! DDI DISABLE PARAMETER XF$S_IOS_SLFTST = 1 PARAMETER XF$V_IOS_SLFTST = 5 ! SELF TEST PARAMETER XF$S_IOS_RNGERR = 1 PARAMETER XF$V_IOS_RNGERR = 6 ! RANGE ERROR PARAMETER XF$S_IOS_UNQERR = 1 PARAMETER XF$V_IOS_UNQERR = 7 ! UNALIGNED QUEUE ERROR PARAMETER XF$S_IOS_INVPKT = 1 PARAMETER XF$V_IOS_INVPKT = 8 ! INVALID COMMAND PACKET PARAMETER XF$S_IOS_FREQMT = 1 PARAMETER XF$V_IOS_FREQMT = 9 ! FREE QUEUE EMPTY PARAMETER XF$S_IOS_RNDENB = 1 PARAMETER XF$V_IOS_RNDENB = 10 ! RANDOM ENABLE PARAMETER XF$S_IOS_INVDDI = 1 PARAMETER XF$V_IOS_INVDDI = 11 ! INVALID DDI COMMAND PARAMETER XF$S_IOS_LENERR = 1 PARAMETER XF$V_IOS_LENERR = 12 ! LENGTH ERROR PARAMETER XF$S_IOS_DRVABT = 1 PARAMETER XF$V_IOS_DRVABT = 13 ! DRIVER ABORT PARAMETER XF$S_IOS_PARERR = 1 PARAMETER XF$V_IOS_PARERR = 14 ! PARITY ERROR (CI OR DI) PARAMETER XF$S_IOS_DDISTS = 8 PARAMETER XF$V_IOS_DDISTS = 16 ! DDI STATUS PARAMETER XF$S_IOS_BUSERR = 1 PARAMETER XF$V_IOS_BUSERR = 27 ! BUS ERROR PARAMETER XF$S_IOS_RDSERR = 1 PARAMETER XF$V_IOS_RDSERR = 28 ! READ DATA SUBSTITUTE ERROR PARAMETER XF$S_IOS_WCSPE = 1 PARAMETER XF$V_IOS_WCSPE = 29 ! WCS PARITY ERROR PARAMETER XF$S_IOS_CIPE = 1 PARAMETER XF$V_IOS_CIPE = 30 ! CONTROL INTERCONNECT PARITY ERROR PARAMETER XF$S_IOS_DIPE = 1 PARAMETER XF$V_IOS_DIPE = 31 BYTE %FILL (4) ! DATA INTERCONNECT PARITY ERROR END MAP MAP PARAMETER XF$S_IOS_NEXREG = 1 PARAMETER XF$V_IOS_NEXREG = 5 ! NON-EXISTENT REGISTER PARAMETER XF$S_IOS_LOG = 1 PARAMETER XF$V_IOS_LOG = 6 ! LOG PARAMETER XF$S_IOS_DDIERR = 1 PARAMETER XF$V_IOS_DDIERR = 7 BYTE %FILL (1) ! ERROR ON FAR-END DEVICE END MAP END UNION END STRUCTURE ! XFDEF PARAMETER XF$M_CMT_SETRTE = '00000001'X PARAMETER XF$M_CMT_DIPEAB = '00000002'X PARAMETER XF$K_CMT_LENGTH = '00000020'X ! LENGTH OF COMMAND TABLE PARAMETER XF$C_CMT_LENGTH = '00000020'X ! LENGTH OF COMMAND TABLE ! STRUCTURE /XFDEF1/ INTEGER*4 XF$L_CMT_CBLKSZ ! COMMAND BLOCK SIZE INTEGER*4 XF$L_CMT_CBLKAD ! COMMAND BLOCK ADDRESS INTEGER*4 XF$L_CMT_BBLKSZ ! BUFFER BLOCK SIZE INTEGER*4 XF$L_CMT_BBLKAD ! BUFFER BLOCK ADDRESS INTEGER*4 XF$L_CMT_PASTAD ! PACKET AST ADDRESS INTEGER*4 XF$L_CMT_PASTPM ! PACKET AST ADDRESS BYTE XF$B_CMT_RATE ! DATA RATE UNION MAP BYTE XF$B_CMT_FLAGS ! FLAGS END MAP MAP PARAMETER XF$S_CMT_SETRTE = 1 PARAMETER XF$V_CMT_SETRTE = 0 ! SET DATA RATE PARAMETER XF$S_CMT_DIPEAB = 1 PARAMETER XF$V_CMT_DIPEAB = 1 ! DISABLE PARITY ERROR ABORT BYTE %FILL (1) END MAP END UNION INTEGER*2 %FILL ! SPARE INTEGER*4 XF$L_CMT_GBITAD ! GO BIT ADDRESS ! COMMAND PACKET OFFSETS ! END STRUCTURE ! XFDEF1 PARAMETER XF$K_PKT_RD = '00000000'X ! READ PARAMETER XF$K_PKT_RDCHN = '00000001'X ! READ CHAINED PARAMETER XF$K_PKT_WRT = '00000002'X ! WRITE PARAMETER XF$K_PKT_WRTCHN = '00000003'X ! WRITE CHAINED PARAMETER XF$K_PKT_WRTCM = '00000004'X ! WRITE CONTROL MESSAGE ! VALUE 5 IS RESERVED PARAMETER XF$K_PKT_SETTST = '00000006'X ! SET SELF TEST PARAMETER XF$K_PKT_CLRTST = '00000007'X ! CLEAR SELF TEST PARAMETER XF$K_PKT_NOP = '00000008'X ! NOP PARAMETER XF$K_PKT_DIAGRI = '00000009'X ! DIAGNOSTIC READ INTERNAL PARAMETER XF$K_PKT_DIAGWI = '0000000A'X ! DIAGNOSTIC WRITE INTERNAL PARAMETER XF$K_PKT_DIAGRD = '0000000B'X ! DIAGNOSTIC READ DDI PARAMETER XF$K_PKT_DIAGWC = '0000000C'X ! WRITE CONTROL MESSAGE PARAMETER XF$K_PKT_SETRND = '0000000D'X ! SET RANDOM ENABLE PARAMETER XF$K_PKT_CLRRND = '0000000E'X ! CLEAR RANDOM ENABLE PARAMETER XF$K_PKT_HALT = '0000000F'X ! HALT PARAMETER XF$M_PKT_SLNERR = '00000020'X PARAMETER XF$K_PKT_NOTRAN = '00000000'X ! NO TRANSMISSION PARAMETER XF$K_PKT_CB = '00000001'X ! COMMAND BYTE ONLY PARAMETER XF$K_PKT_CBDM = '00000002'X ! COMMAND BYTE AND DEVICE MESSAGE PARAMETER XF$K_PKT_CBDMBC = '00000003'X ! CMD. BYTE, DEV. MSG, AND BYTE COUNT ! VALUES FOR INTERRUPT CONTOL PARAMETER XF$K_PKT_UNCOND = '00000000'X ! UNCONDITIONAL INTERRUPT PARAMETER XF$K_PKT_TMQMT = '00000001'X ! INTERRUPT ON TERM. QUEUE EMPTY PARAMETER XF$K_PKT_NOINT = '00000002'X ! NO INTERRUPT PARAMETER XF$M_PKT_SUCCES = '00000001'X PARAMETER XF$M_PKT_CMDSTD = '00000002'X PARAMETER XF$M_PKT_INVPTE = '00000004'X PARAMETER XF$M_PKT_FREQPK = '00000008'X PARAMETER XF$M_PKT_DDIDIS = '00000010'X PARAMETER XF$M_PKT_SLFTST = '00000020'X PARAMETER XF$M_PKT_RNGERR = '00000040'X PARAMETER XF$M_PKT_UNQERR = '00000080'X PARAMETER XF$M_PKT_INVPKT = '00000100'X PARAMETER XF$M_PKT_FREQMT = '00000200'X PARAMETER XF$M_PKT_RNDENB = '00000400'X PARAMETER XF$M_PKT_INVDDI = '00000800'X PARAMETER XF$M_PKT_LENERR = '00001000'X PARAMETER XF$M_PKT_DRVABT = '00002000'X PARAMETER XF$M_PKT_PARERR = '00004000'X PARAMETER XF$M_PKT_NEXREG = '00000020'X PARAMETER XF$M_PKT_LOG = '00000040'X PARAMETER XF$M_PKT_DDIERR = '00000080'X STRUCTURE /XFDEF2/ INTEGER*4 XF$L_PKT_FLINK ! FORWARD LINK INTEGER*4 XF$L_PKT_BLINK ! BACKWARD LINK BYTE XF$B_PKT_MSGLEN ! LENGTH OF DEVICE MESSAGE AREA BYTE XF$B_PKT_LOGLEN ! LENGTH OF LOG AREA UNION MAP BYTE XF$B_PKT_CMDCTL ! COMMAND CONTROL END MAP MAP PARAMETER XF$S_PKT_FUNC = 4 PARAMETER XF$V_PKT_FUNC = 0 ! FUNCTION CODE BYTE %FILL (1) END MAP ! FUNCTION CODE VALUES END UNION UNION MAP BYTE XF$B_PKT_PKTCTL ! PACKET CONTROL END MAP MAP PARAMETER XF$S_PKT_CISEL = 2 PARAMETER XF$V_PKT_CISEL = 3 ! CONTROL INTERCONNECT SELECT PARAMETER XF$S_PKT_SLNERR = 1 PARAMETER XF$V_PKT_SLNERR = 5 ! SUPPRESS LENGTH ERROR PARAMETER XF$S_PKT_INTCTL = 2 PARAMETER XF$V_PKT_INTCTL = 6 BYTE %FILL (1) ! INTERRUPT CONTROL END MAP ! VALUES FOR CONTROL INTERCONNECT SELECT END UNION INTEGER*4 XF$L_PKT_BFRSIZ ! BUFFER SIZE INTEGER*4 XF$L_PKT_BFRADR ! BUFFER ADDRESS INTEGER*4 XF$L_PKT_RMBCNT ! RESIDUAL MEMORY BYTE COUNT INTEGER*4 XF$L_PKT_RDBCNT ! RESIDUAL DDI BYTE COUNT UNION MAP INTEGER*4 XF$L_PKT_DSL ! DR32 STATUS LONGWORD END MAP MAP PARAMETER XF$S_PKT_SUCCES = 1 PARAMETER XF$V_PKT_SUCCES = 0 ! SUCCESS PARAMETER XF$S_PKT_CMDSTD = 1 PARAMETER XF$V_PKT_CMDSTD = 1 ! COMMAND STARTED PARAMETER XF$S_PKT_INVPTE = 1 PARAMETER XF$V_PKT_INVPTE = 2 ! INVALID PTE PARAMETER XF$S_PKT_FREQPK = 1 PARAMETER XF$V_PKT_FREQPK = 3 ! FREE QUEUE PACKET PARAMETER XF$S_PKT_DDIDIS = 1 PARAMETER XF$V_PKT_DDIDIS = 4 ! DDI DISABLE PARAMETER XF$S_PKT_SLFTST = 1 PARAMETER XF$V_PKT_SLFTST = 5 ! SELF TEST PARAMETER XF$S_PKT_RNGERR = 1 PARAMETER XF$V_PKT_RNGERR = 6 ! RANGE ERROR PARAMETER XF$S_PKT_UNQERR = 1 PARAMETER XF$V_PKT_UNQERR = 7 ! UNALIGNED QUEUE ERROR PARAMETER XF$S_PKT_INVPKT = 1 PARAMETER XF$V_PKT_INVPKT = 8 ! INVALID COMMAND PACKET PARAMETER XF$S_PKT_FREQMT = 1 PARAMETER XF$V_PKT_FREQMT = 9 ! FREE QUEUE EMPTY PARAMETER XF$S_PKT_RNDENB = 1 PARAMETER XF$V_PKT_RNDENB = 10 ! RANDOM ENABLE PARAMETER XF$S_PKT_INVDDI = 1 PARAMETER XF$V_PKT_INVDDI = 11 ! INVALID DDI COMMAND PARAMETER XF$S_PKT_LENERR = 1 PARAMETER XF$V_PKT_LENERR = 12 ! LENGTH ERROR PARAMETER XF$S_PKT_DRVABT = 1 PARAMETER XF$V_PKT_DRVABT = 13 ! DRIVER ABORT PARAMETER XF$S_PKT_PARERR = 1 PARAMETER XF$V_PKT_PARERR = 14 ! PARITY ERROR PARAMETER XF$S_PKT_DDISTS = 8 PARAMETER XF$V_PKT_DDISTS = 16 ! DDI STATUS BYTE %FILL (3) END MAP MAP PARAMETER XF$S_PKT_NEXREG = 1 PARAMETER XF$V_PKT_NEXREG = 5 ! NON-EXISTENT REGISTER PARAMETER XF$S_PKT_LOG = 1 PARAMETER XF$V_PKT_LOG = 6 ! LOG PARAMETER XF$S_PKT_DDIERR = 1 PARAMETER XF$V_PKT_DDIERR = 7 BYTE %FILL (1) ! ERROR ON FAR-END DEVICE END MAP END UNION BYTE XF$B_PKT_DEVMSG ! START OF DEVICE MESSAGE ! ! SECOND LONGWORD OF I/O STATUS BLOCK DEFINITIONS ! END STRUCTURE ! XFDEF2 CDEC$ END OPTIONS