/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:38:16 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:21 _$11$DUA933:[BUILD.SDL]STARDEFQZ.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $XFDEF ***/ #ifndef __XFDEF_LOADED #define __XFDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #endif /*+ */ /* */ /* DR32 DEFINITIONS FOR COMMAND TABLE, PACKETS, AND CHARACTERISTICS */ /* */ /*- */ /* */ /* QIO COMMAND TABLE OFFSETS */ /* */ #define XF$M_IOS_SUCCES 0x1 #define XF$M_IOS_CMDSTD 0x2 #define XF$M_IOS_INVPTE 0x4 #define XF$M_IOS_FREQPK 0x8 #define XF$M_IOS_DDIDIS 0x10 #define XF$M_IOS_SLFTST 0x20 #define XF$M_IOS_RNGERR 0x40 #define XF$M_IOS_UNQERR 0x80 #define XF$M_IOS_INVPKT 0x100 #define XF$M_IOS_FREQMT 0x200 #define XF$M_IOS_RNDENB 0x400 #define XF$M_IOS_INVDDI 0x800 #define XF$M_IOS_LENERR 0x1000 #define XF$M_IOS_DRVABT 0x2000 #define XF$M_IOS_PARERR 0x4000 #define XF$M_IOS_BUSERR 0x8000000 #define XF$M_IOS_RDSERR 0x10000000 #define XF$M_IOS_WCSPE 0x20000000 #define XF$M_IOS_CIPE 0x40000000 #define XF$M_IOS_DIPE 0x80000000 #define XF$M_IOS_NEXREG 0x20 #define XF$M_IOS_LOG 0x40 #define XF$M_IOS_DDIERR 0x80 union xfdef { __struct { unsigned xf$v_ios_succes : 1; /* SUCCESS */ unsigned xf$v_ios_cmdstd : 1; /* COMMAND STARTED */ unsigned xf$v_ios_invpte : 1; /* INVALID PTE */ unsigned xf$v_ios_freqpk : 1; /* FREE QUEUE PACKET */ unsigned xf$v_ios_ddidis : 1; /* DDI DISABLE */ unsigned xf$v_ios_slftst : 1; /* SELF TEST */ unsigned xf$v_ios_rngerr : 1; /* RANGE ERROR */ unsigned xf$v_ios_unqerr : 1; /* UNALIGNED QUEUE ERROR */ unsigned xf$v_ios_invpkt : 1; /* INVALID COMMAND PACKET */ unsigned xf$v_ios_freqmt : 1; /* FREE QUEUE EMPTY */ unsigned xf$v_ios_rndenb : 1; /* RANDOM ENABLE */ unsigned xf$v_ios_invddi : 1; /* INVALID DDI COMMAND */ unsigned xf$v_ios_lenerr : 1; /* LENGTH ERROR */ unsigned xf$v_ios_drvabt : 1; /* DRIVER ABORT */ unsigned xf$v_ios_parerr : 1; /* PARITY ERROR (CI OR DI) */ unsigned xfdef$$_fill_7 : 1; /* RESERVED */ unsigned xf$v_ios_ddists : 8; /* DDI STATUS */ unsigned xfdef$$_fill_8 : 3; /* RESERVED */ unsigned xf$v_ios_buserr : 1; /* BUS ERROR */ unsigned xf$v_ios_rdserr : 1; /* READ DATA SUBSTITUTE ERROR */ unsigned xf$v_ios_wcspe : 1; /* WCS PARITY ERROR */ unsigned xf$v_ios_cipe : 1; /* CONTROL INTERCONNECT PARITY ERROR */ unsigned xf$v_ios_dipe : 1; /* DATA INTERCONNECT PARITY ERROR */ } xf$r_xfdef_bits0; __struct { unsigned xfdef$$_fill_9 : 5; /* SKIP OVER 5 BITS */ unsigned xf$v_ios_nexreg : 1; /* NON-EXISTENT REGISTER */ unsigned xf$v_ios_log : 1; /* LOG */ unsigned xf$v_ios_ddierr : 1; /* ERROR ON FAR-END DEVICE */ } xf$r_xfdef_bits1; } ; #if !defined(__VAXC) && !defined(VAXC) #define xf$v_ios_succes xf$r_xfdef_bits0.xf$v_ios_succes #define xf$v_ios_cmdstd xf$r_xfdef_bits0.xf$v_ios_cmdstd #define xf$v_ios_invpte xf$r_xfdef_bits0.xf$v_ios_invpte #define xf$v_ios_freqpk xf$r_xfdef_bits0.xf$v_ios_freqpk #define xf$v_ios_ddidis xf$r_xfdef_bits0.xf$v_ios_ddidis #define xf$v_ios_slftst xf$r_xfdef_bits0.xf$v_ios_slftst #define xf$v_ios_rngerr xf$r_xfdef_bits0.xf$v_ios_rngerr #define xf$v_ios_unqerr xf$r_xfdef_bits0.xf$v_ios_unqerr #define xf$v_ios_invpkt xf$r_xfdef_bits0.xf$v_ios_invpkt #define xf$v_ios_freqmt xf$r_xfdef_bits0.xf$v_ios_freqmt #define xf$v_ios_rndenb xf$r_xfdef_bits0.xf$v_ios_rndenb #define xf$v_ios_invddi xf$r_xfdef_bits0.xf$v_ios_invddi #define xf$v_ios_lenerr xf$r_xfdef_bits0.xf$v_ios_lenerr #define xf$v_ios_drvabt xf$r_xfdef_bits0.xf$v_ios_drvabt #define xf$v_ios_parerr xf$r_xfdef_bits0.xf$v_ios_parerr #define xf$v_ios_ddists xf$r_xfdef_bits0.xf$v_ios_ddists #define xf$v_ios_buserr xf$r_xfdef_bits0.xf$v_ios_buserr #define xf$v_ios_rdserr xf$r_xfdef_bits0.xf$v_ios_rdserr #define xf$v_ios_wcspe xf$r_xfdef_bits0.xf$v_ios_wcspe #define xf$v_ios_cipe xf$r_xfdef_bits0.xf$v_ios_cipe #define xf$v_ios_dipe xf$r_xfdef_bits0.xf$v_ios_dipe #define xf$v_ios_nexreg xf$r_xfdef_bits1.xf$v_ios_nexreg #define xf$v_ios_log xf$r_xfdef_bits1.xf$v_ios_log #define xf$v_ios_ddierr xf$r_xfdef_bits1.xf$v_ios_ddierr #endif /* #if !defined(__VAXC) && !defined(VAXC) */ #define XF$M_CMT_SETRTE 0x1 #define XF$M_CMT_DIPEAB 0x2 #define XF$K_CMT_LENGTH 32 /* LENGTH OF COMMAND TABLE */ #define XF$C_CMT_LENGTH 32 /* LENGTH OF COMMAND TABLE */ /* */ struct xfdef1 { unsigned int xf$l_cmt_cblksz; /* COMMAND BLOCK SIZE */ unsigned int xf$l_cmt_cblkad; /* COMMAND BLOCK ADDRESS */ unsigned int xf$l_cmt_bblksz; /* BUFFER BLOCK SIZE */ unsigned int xf$l_cmt_bblkad; /* BUFFER BLOCK ADDRESS */ unsigned int xf$l_cmt_pastad; /* PACKET AST ADDRESS */ unsigned int xf$l_cmt_pastpm; /* PACKET AST ADDRESS */ unsigned char xf$b_cmt_rate; /* DATA RATE */ __union { unsigned char xf$b_cmt_flags; /* FLAGS */ __struct { unsigned xf$v_cmt_setrte : 1; /* SET DATA RATE */ unsigned xf$v_cmt_dipeab : 1; /* DISABLE PARITY ERROR ABORT */ unsigned xf$v_fill_46 : 6; } xf$r_cmt_flags_bits; } xf$r_cmt_flags_overlay; short int xfdef$$_fill_1; /* SPARE */ unsigned int xf$l_cmt_gbitad; /* GO BIT ADDRESS */ /* COMMAND PACKET OFFSETS */ /* */ } ; #if !defined(__VAXC) && !defined(VAXC) #define xf$b_cmt_flags xf$r_cmt_flags_overlay.xf$b_cmt_flags #define xf$v_cmt_setrte xf$r_cmt_flags_overlay.xf$r_cmt_flags_bits.xf$v_cmt_setrte #define xf$v_cmt_dipeab xf$r_cmt_flags_overlay.xf$r_cmt_flags_bits.xf$v_cmt_dipeab #endif /* #if !defined(__VAXC) && !defined(VAXC) */ #define XF$K_PKT_RD 0 /* READ */ #define XF$K_PKT_RDCHN 1 /* READ CHAINED */ #define XF$K_PKT_WRT 2 /* WRITE */ #define XF$K_PKT_WRTCHN 3 /* WRITE CHAINED */ #define XF$K_PKT_WRTCM 4 /* WRITE CONTROL MESSAGE */ /* VALUE 5 IS RESERVED */ #define XF$K_PKT_SETTST 6 /* SET SELF TEST */ #define XF$K_PKT_CLRTST 7 /* CLEAR SELF TEST */ #define XF$K_PKT_NOP 8 /* NOP */ #define XF$K_PKT_DIAGRI 9 /* DIAGNOSTIC READ INTERNAL */ #define XF$K_PKT_DIAGWI 10 /* DIAGNOSTIC WRITE INTERNAL */ #define XF$K_PKT_DIAGRD 11 /* DIAGNOSTIC READ DDI */ #define XF$K_PKT_DIAGWC 12 /* WRITE CONTROL MESSAGE */ #define XF$K_PKT_SETRND 13 /* SET RANDOM ENABLE */ #define XF$K_PKT_CLRRND 14 /* CLEAR RANDOM ENABLE */ #define XF$K_PKT_HALT 15 /* HALT */ #define XF$M_PKT_SLNERR 0x20 #define XF$K_PKT_NOTRAN 0 /* NO TRANSMISSION */ #define XF$K_PKT_CB 1 /* COMMAND BYTE ONLY */ #define XF$K_PKT_CBDM 2 /* COMMAND BYTE AND DEVICE MESSAGE */ #define XF$K_PKT_CBDMBC 3 /* CMD. BYTE, DEV. MSG, AND BYTE COUNT */ /* VALUES FOR INTERRUPT CONTOL */ #define XF$K_PKT_UNCOND 0 /* UNCONDITIONAL INTERRUPT */ #define XF$K_PKT_TMQMT 1 /* INTERRUPT ON TERM. QUEUE EMPTY */ #define XF$K_PKT_NOINT 2 /* NO INTERRUPT */ #define XF$M_PKT_SUCCES 0x1 #define XF$M_PKT_CMDSTD 0x2 #define XF$M_PKT_INVPTE 0x4 #define XF$M_PKT_FREQPK 0x8 #define XF$M_PKT_DDIDIS 0x10 #define XF$M_PKT_SLFTST 0x20 #define XF$M_PKT_RNGERR 0x40 #define XF$M_PKT_UNQERR 0x80 #define XF$M_PKT_INVPKT 0x100 #define XF$M_PKT_FREQMT 0x200 #define XF$M_PKT_RNDENB 0x400 #define XF$M_PKT_INVDDI 0x800 #define XF$M_PKT_LENERR 0x1000 #define XF$M_PKT_DRVABT 0x2000 #define XF$M_PKT_PARERR 0x4000 #define XF$M_PKT_NEXREG 0x20 #define XF$M_PKT_LOG 0x40 #define XF$M_PKT_DDIERR 0x80 struct xfdef2 { unsigned int xf$l_pkt_flink; /* FORWARD LINK */ unsigned int xf$l_pkt_blink; /* BACKWARD LINK */ unsigned char xf$b_pkt_msglen; /* LENGTH OF DEVICE MESSAGE AREA */ unsigned char xf$b_pkt_loglen; /* LENGTH OF LOG AREA */ __union { unsigned char xf$b_pkt_cmdctl; /* COMMAND CONTROL */ __struct { unsigned xf$v_pkt_func : 4; /* FUNCTION CODE */ unsigned xfdef$$_fill_2 : 4; /* MUST BE ZERO */ } xf$r_pkt_cmdctl_bits; /* FUNCTION CODE VALUES */ } xf$r_pkt_cmdctl_overlay; __union { unsigned char xf$b_pkt_pktctl; /* PACKET CONTROL */ __struct { unsigned xfdef$$_fill_3 : 3; /* UNUSED */ unsigned xf$v_pkt_cisel : 2; /* CONTROL INTERCONNECT SELECT */ unsigned xf$v_pkt_slnerr : 1; /* SUPPRESS LENGTH ERROR */ unsigned xf$v_pkt_intctl : 2; /* INTERRUPT CONTROL */ } xf$r_pkt_pktctl_bits; /* VALUES FOR CONTROL INTERCONNECT SELECT */ } xf$r_pkt_pktctl_overlay; unsigned int xf$l_pkt_bfrsiz; /* BUFFER SIZE */ unsigned int xf$l_pkt_bfradr; /* BUFFER ADDRESS */ unsigned int xf$l_pkt_rmbcnt; /* RESIDUAL MEMORY BYTE COUNT */ unsigned int xf$l_pkt_rdbcnt; /* RESIDUAL DDI BYTE COUNT */ __union { unsigned int xf$l_pkt_dsl; /* DR32 STATUS LONGWORD */ __struct { unsigned xf$v_pkt_succes : 1; /* SUCCESS */ unsigned xf$v_pkt_cmdstd : 1; /* COMMAND STARTED */ unsigned xf$v_pkt_invpte : 1; /* INVALID PTE */ unsigned xf$v_pkt_freqpk : 1; /* FREE QUEUE PACKET */ unsigned xf$v_pkt_ddidis : 1; /* DDI DISABLE */ unsigned xf$v_pkt_slftst : 1; /* SELF TEST */ unsigned xf$v_pkt_rngerr : 1; /* RANGE ERROR */ unsigned xf$v_pkt_unqerr : 1; /* UNALIGNED QUEUE ERROR */ unsigned xf$v_pkt_invpkt : 1; /* INVALID COMMAND PACKET */ unsigned xf$v_pkt_freqmt : 1; /* FREE QUEUE EMPTY */ unsigned xf$v_pkt_rndenb : 1; /* RANDOM ENABLE */ unsigned xf$v_pkt_invddi : 1; /* INVALID DDI COMMAND */ unsigned xf$v_pkt_lenerr : 1; /* LENGTH ERROR */ unsigned xf$v_pkt_drvabt : 1; /* DRIVER ABORT */ unsigned xf$v_pkt_parerr : 1; /* PARITY ERROR */ unsigned xfdef$$_fill_4 : 1; /* RESERVED */ unsigned xf$v_pkt_ddists : 8; /* DDI STATUS */ unsigned xfdef$$_fill_5 : 8; /* RESERVED */ } xf$r_pkt_dsl_bits0; __struct { unsigned xfdef$$_fill_6 : 5; /* SKIP OVER 5 BITS */ unsigned xf$v_pkt_nexreg : 1; /* NON-EXISTENT REGISTER */ unsigned xf$v_pkt_log : 1; /* LOG */ unsigned xf$v_pkt_ddierr : 1; /* ERROR ON FAR-END DEVICE */ } xf$r_pkt_dsl_bits1; } xf$r_pkt_dsl_overlay; unsigned char xf$b_pkt_devmsg; /* START OF DEVICE MESSAGE */ /* */ /* SECOND LONGWORD OF I/O STATUS BLOCK DEFINITIONS */ /* */ } ; #if !defined(__VAXC) && !defined(VAXC) #define xf$b_pkt_cmdctl xf$r_pkt_cmdctl_overlay.xf$b_pkt_cmdctl #define xf$v_pkt_func xf$r_pkt_cmdctl_overlay.xf$r_pkt_cmdctl_bits.xf$v_pkt_func #define xf$b_pkt_pktctl xf$r_pkt_pktctl_overlay.xf$b_pkt_pktctl #define xf$v_pkt_cisel xf$r_pkt_pktctl_overlay.xf$r_pkt_pktctl_bits.xf$v_pkt_cisel #define xf$v_pkt_slnerr xf$r_pkt_pktctl_overlay.xf$r_pkt_pktctl_bits.xf$v_pkt_slnerr #define xf$v_pkt_intctl xf$r_pkt_pktctl_overlay.xf$r_pkt_pktctl_bits.xf$v_pkt_intctl #define xf$l_pkt_dsl xf$r_pkt_dsl_overlay.xf$l_pkt_dsl #define xf$v_pkt_succes xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_succes #define xf$v_pkt_cmdstd xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_cmdstd #define xf$v_pkt_invpte xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_invpte #define xf$v_pkt_freqpk xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_freqpk #define xf$v_pkt_ddidis xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_ddidis #define xf$v_pkt_slftst xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_slftst #define xf$v_pkt_rngerr xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_rngerr #define xf$v_pkt_unqerr xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_unqerr #define xf$v_pkt_invpkt xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_invpkt #define xf$v_pkt_freqmt xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_freqmt #define xf$v_pkt_rndenb xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_rndenb #define xf$v_pkt_invddi xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_invddi #define xf$v_pkt_lenerr xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_lenerr #define xf$v_pkt_drvabt xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_drvabt #define xf$v_pkt_parerr xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_parerr #define xf$v_pkt_ddists xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits0.xf$v_pkt_ddists #define xf$v_pkt_nexreg xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits1.xf$v_pkt_nexreg #define xf$v_pkt_log xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits1.xf$v_pkt_log #define xf$v_pkt_ddierr xf$r_pkt_dsl_overlay.xf$r_pkt_dsl_bits1.xf$v_pkt_ddierr #endif /* #if !defined(__VAXC) && !defined(VAXC) */ #ifdef __cplusplus } #endif #pragma standard #endif /* __XFDEF_LOADED */