/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:24:22 by OpenVMS SDL EV3-3 */ /* Source: 19-MAY-1993 09:30:16 $1$DGA7274:[LIB_H.SRC]MBADEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $MBADEF ***/ #ifndef __MBADEF_LOADED #define __MBADEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /*+ */ /* MASSBUS ADAPTER REGISTER OFFSET DEFINITIONS */ /*- */ #define MBA$M_CSR_OT 0x200000 #define MBA$M_CSR_PU 0x400000 #define MBA$M_CSR_PD 0x800000 #define MBA$M_CSR_XMFLT 0x4000000 #define MBA$M_CSR_MT 0x8000000 #define MBA$M_CSR_URD 0x20000000 #define MBA$M_CSR_WS 0x40000000 #define MBA$M_CSR_PE 0x80000000 #define MBA$M_CR_INIT 0x1 #define MBA$M_CR_ABORT 0x2 #define MBA$M_CR_IE 0x4 #define MBA$M_SR_RDTO 0x1 #define MBA$M_SR_ISTO 0x2 #define MBA$M_SR_RDS 0x4 #define MBA$M_SR_ERCONF 0x8 #define MBA$M_SR_INVMAP 0x10 #define MBA$M_SR_MAPPE 0x20 #define MBA$M_SR_MDPE 0x40 #define MBA$M_SR_MBEXC 0x80 #define MBA$M_SR_MXF 0x100 #define MBA$M_SR_WCKLWR 0x200 #define MBA$M_SR_WCKUPR 0x400 #define MBA$M_SR_DLT 0x800 #define MBA$M_SR_DTABT 0x1000 #define MBA$M_SR_DTCOMP 0x2000 #define MBA$M_SR_SPE 0x4000 #define MBA$M_SR_ATTN 0x10000 #define MBA$M_SR_MCPE 0x20000 #define MBA$M_SR_NED 0x40000 #define MBA$M_SR_PGE 0x80000 #define MBA$M_SR_CBHUNG 0x800000 #define MBA$M_SR_CRD 0x20000000 #define MBA$M_SR_NRCONF 0x40000000 #define MBA$M_SR_DTBUSY 0x80000000 #define MBA$M_ERROR 942079 /* PROGRAM ERROR */ #define MBA$S_MBADEF 3072 /* Old size name - synonym */ typedef struct _mba { __union { unsigned int mba$l_csr; /*CONFIGURATION STATUS REGISTER */ __struct { unsigned mba$v_csr_adcod : 8; /* ADAPTER CODE FIELD */ unsigned mbadef$$_fill_1 : 13; /* RESERVED BITS */ unsigned mba$v_csr_ot : 1; /* OVER TEMPERATURE */ unsigned mba$v_csr_pu : 1; /* ADAPTER POWER UP */ unsigned mba$v_csr_pd : 1; /* ADAPTER POWER DOWN */ unsigned mbadef$$_fill_2 : 2; /* RESERVED BITS */ unsigned mba$v_csr_xmflt : 1; /* TRANSMITTER FAULT */ unsigned mba$v_csr_mt : 1; /* MULTIPLE TRANSMITTERS */ unsigned mbadef$$_fill_3 : 1; /* RESERVED BIT */ unsigned mba$v_csr_urd : 1; /* UNEXPECTED READ DATA */ unsigned mba$v_csr_ws : 1; /* WRITE SEQUENCE DATA */ unsigned mba$v_csr_pe : 1; /* SBI PARITY ERROR */ } mba$r_csr_bits; } mba$r_csr_overlay; __union { unsigned int mba$l_cr; /*CONTROL REGISTER */ __struct { unsigned mba$v_cr_init : 1; /* ADAPTER INITIALIZATION */ unsigned mba$v_cr_abort : 1; /* ABORT OPERATION */ unsigned mba$v_cr_ie : 1; /* INTERRUPT ENABLE */ unsigned mba$v_fill_0_ : 5; } mba$r_cr_bits; } mba$r_cr_overlay; __union { unsigned int mba$l_sr; /*STATUS REGISTER */ __struct { unsigned mba$v_sr_rdto : 1; /* READ DATA TIMEOUT */ unsigned mba$v_sr_isto : 1; /* INTERFACE SEQUENCE TIMEOUT */ unsigned mba$v_sr_rds : 1; /* READ DATA SUBSTITUTE */ unsigned mba$v_sr_erconf : 1; /* ERROR CONFIRMATION */ unsigned mba$v_sr_invmap : 1; /* INVALID MAP REGISTER */ unsigned mba$v_sr_mappe : 1; /* MAP PARITY ERROR */ unsigned mba$v_sr_mdpe : 1; /* MASSBUS DATA PARITY ERROR */ unsigned mba$v_sr_mbexc : 1; /* MASSBUS EXCEPTION */ unsigned mba$v_sr_mxf : 1; /* MISSED TRANSFER ERROR */ unsigned mba$v_sr_wcklwr : 1; /* WRITE CHECK ERROR LOWER BYTE */ unsigned mba$v_sr_wckupr : 1; /* WRITE CHECK ERROR UPPER BYTE */ unsigned mba$v_sr_dlt : 1; /* DATA LATE ERROR */ unsigned mba$v_sr_dtabt : 1; /* DATA TRANSFER ABORTED */ unsigned mba$v_sr_dtcomp : 1; /* DATA TRANSFER COMPLETE */ unsigned mba$v_sr_spe : 1; /* SILO PARITY ERROR */ unsigned mbadef$$_fill_4 : 1; /* RESERVED BITS */ unsigned mba$v_sr_attn : 1; /* MASSBUS ATTENTION */ unsigned mba$v_sr_mcpe : 1; /* MASSBUS COMTROL PARITY ERROR */ unsigned mba$v_sr_ned : 1; /* NONEXISTENT DRIVE */ unsigned mba$v_sr_pge : 1; /* PROGRAM ERROR */ unsigned mbadef$$_fill_5 : 3; /* RESERVED BITS */ unsigned mba$v_sr_cbhung : 1; /* CB HUNG */ unsigned mbadef$$_fill_6 : 5; /* RESERVED BITS */ unsigned mba$v_sr_crd : 1; /* CORRECTED READ DATA */ unsigned mba$v_sr_nrconf : 1; /* NO RESPONSE CONFIRMATION */ unsigned mba$v_sr_dtbusy : 1; /* DATA TRANSFER BUSY */ } mba$r_sr_bits; /* ERROR BITS */ } mba$r_sr_overlay; void *mba$l_var; /*VIRTUAL ADDRESS REGISTER */ unsigned int mba$l_bcr; /*BYTE COUNT REGISTER */ unsigned int mba$l_dr; /*DIAGNOSTIC REGISTER */ unsigned int mba$l_selmr; /*SELECTED MAP REGISTER */ char mbadef$$_fill_7 [996]; /* VALUE IS 1024-<4*7> */ __union { void *mba$l_erb; /*BASE ADDRESS OF EXTERNAL REGISTERS */ __struct { unsigned mbadef$$_fill_8 : 7; /* REGISTER OFFSET ADDRESS BITS */ unsigned mba$v_erb_unit : 3; /* DRIVE UNIT NUMBER */ unsigned mba$v_fill_1_ : 6; } mba$r_erb_bits; } mba$r_erb_overlay; char mbadef$$_fill_9 [12]; /* DRIVE REGISTER ADDRESS SPACE */ unsigned int mba$l_as; /*ATTENTION SUMMARY REGISTER */ char mbadef$$_fill_10 [1004]; /* VALUE IS 2048-. */ /* TO POSITION TO 2048 */ unsigned int mba$l_map [256]; /*MAP REGISTERS */ } MBA; #if !defined(__VAXC) #define mba$l_csr mba$r_csr_overlay.mba$l_csr #define mba$v_csr_adcod mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_adcod #define mba$v_csr_ot mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_ot #define mba$v_csr_pu mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_pu #define mba$v_csr_pd mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_pd #define mba$v_csr_xmflt mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_xmflt #define mba$v_csr_mt mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_mt #define mba$v_csr_urd mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_urd #define mba$v_csr_ws mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_ws #define mba$v_csr_pe mba$r_csr_overlay.mba$r_csr_bits.mba$v_csr_pe #define mba$l_cr mba$r_cr_overlay.mba$l_cr #define mba$v_cr_init mba$r_cr_overlay.mba$r_cr_bits.mba$v_cr_init #define mba$v_cr_abort mba$r_cr_overlay.mba$r_cr_bits.mba$v_cr_abort #define mba$v_cr_ie mba$r_cr_overlay.mba$r_cr_bits.mba$v_cr_ie #define mba$l_sr mba$r_sr_overlay.mba$l_sr #define mba$v_sr_rdto mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_rdto #define mba$v_sr_isto mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_isto #define mba$v_sr_rds mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_rds #define mba$v_sr_erconf mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_erconf #define mba$v_sr_invmap mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_invmap #define mba$v_sr_mappe mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_mappe #define mba$v_sr_mdpe mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_mdpe #define mba$v_sr_mbexc mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_mbexc #define mba$v_sr_mxf mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_mxf #define mba$v_sr_wcklwr mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_wcklwr #define mba$v_sr_wckupr mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_wckupr #define mba$v_sr_dlt mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_dlt #define mba$v_sr_dtabt mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_dtabt #define mba$v_sr_dtcomp mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_dtcomp #define mba$v_sr_spe mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_spe #define mba$v_sr_attn mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_attn #define mba$v_sr_mcpe mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_mcpe #define mba$v_sr_ned mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_ned #define mba$v_sr_pge mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_pge #define mba$v_sr_cbhung mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_cbhung #define mba$v_sr_crd mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_crd #define mba$v_sr_nrconf mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_nrconf #define mba$v_sr_dtbusy mba$r_sr_overlay.mba$r_sr_bits.mba$v_sr_dtbusy #define mba$l_erb mba$r_erb_overlay.mba$l_erb #define mba$v_erb_unit mba$r_erb_overlay.mba$r_erb_bits.mba$v_erb_unit #endif /* #if !defined(__VAXC) */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __MBADEF_LOADED */