/**/ /***************************************************************************/ /** **/ /** © 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:26:32 by OpenVMS SDL EV3-3 */ /* Source: 26-MAR-2008 16:33:45 $1$DGA7274:[LIB_H.SRC]SHADDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $SHADDEF IDENT X-72 ***/ #ifndef __SHADDEF_LOADED #define __SHADDEF_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 /*++ */ /* VOLUME SHADOWING STRUCTURE DEFINITIONS */ /*-- */ /* Minimum number of devices */ #define SHAD$K_MINDEVS 1 #define SHAD$C_MINDEVS 1 /* Minimum number of members */ #define SHAD$K_MINMBRS 1 #define SHAD$C_MINMBRS 1 /* Maximum number of members in this version */ #define SHAD$K_MAXMBRS 3 #define SHAD$C_MAXMBRS 3 /* Duplicate the above */ /* for SDL local purposes */ /* Maximum number of members in this version */ #define SHAD$K_XMAXMBRS 16 #define SHAD$C_XMAXMBRS 16 /* Duplicate the above */ /* for SDL local purposes */ /* */ #define SHAD$K_MBRSIZ 16 #define SHAD$C_MBRSIZ 16 /* Number of seconds to wait between identical messages */ #define SHAD$K_MSGWAIT 60 #define SHAD$C_MSGWAIT 60 /* Number of I/Os to wait before blasting out an UPDATE_THRESHOLD */ #define SHAD$K_UPDATE_IO 10 #define SHAD$C_UPDATE_IO 10 /* Number of seconds to wait before blasting out an UPDATE_THRESHOLD */ #define SHAD$K_UPDATE_S 2 #define SHAD$C_UPDATE_S 2 /* Number of seconds to retry merge signal locking protocol */ #define SHAD$K_MRGSIG_RETRY 100 #define SHAD$C_MRGSIG_RETRY 100 /* */ /* For SHD_INIT use. */ /* */ /* $SET specified value for V.U. and the the members */ #define SHADIO$K_TIMEOUT 11181 #define SHADIO$C_TIMEOUT 11181 /* $SET specified value for the Virtual Unit */ #define SHADIO$K_WLG_STATE 43962 #define SHADIO$C_WLG_STATE 43962 /* $SET specified value intended for the Fibre Channel devices */ #define SHADIO$K_SITE_VALUE 44252 #define SHADIO$C_SITE_VALUE 44252 /* $SET specified value for Read Bias */ #define SHADIO$K_READ_BIAS 142 #define SHADIO$C_READ_BIAS 142 /* N.B. 143 through 147 are in use, see SHD_INIT module. */ /* $SET specified value for ODS5 VU */ #define SHADIO$K_ODS5_VU 242 #define SHADIO$C_ODS5_VU 242 /* $SET specified value for Force Removal */ #define SHADIO$K_FORCE_REMOVE 342 #define SHADIO$C_FORCE_REMOVE 342 /* $SET specified value for making a mix of DECram and non-DECram - VOLATILE */ #define SHADIO$K_VOLATILE 442 #define SHADIO$C_VOLATILE 442 /* $SET specified value for forcing copy operation to use master or specific member for read I/O */ #define SHADIO$K_COPY_SOURCE 542 #define SHADIO$C_COPY_SOURCE 542 /* */ #define SHADIO$K_ABORT_VU 642 #define SHADIO$C_ABORT_VU 642 /* */ #define SHADIO$K_USE_NCA 742 #define SHADIO$C_USE_NCA 742 /* */ #define SHADIO$K_LOCAL_DCD 842 #define SHADIO$C_LOCAL_DCD 842 /* */ #define SHADIO$K_REMOTE_DCD 942 #define SHADIO$C_REMOTE_DCD 942 /* */ #define SHADIO$K_THRESHOLD_BIAS 1042 #define SHADIO$C_THRESHOLD_BIAS 1042 /* */ #define SHADIO$K_THRESHOLD_SECONDS 1142 #define SHADIO$C_THRESHOLD_SECONDS 1142 /* */ #define SHADIO$K_THRESHOLD_IO_COUNT 1242 #define SHADIO$C_THRESHOLD_IO_COUNT 1242 /* */ #define SHADIO$K_STOP_MERGE_AT_LBN 1342 #define SHADIO$C_STOP_MERGE_AT_LBN 1342 /* */ #define SHADIO$K_DEMAND_MERGE 1442 #define SHADIO$C_DEMAND_MERGE 1442 /* */ #define SHADIO$K_NOSTALL_WRITES 1542 #define SHADIO$C_NOSTALL_WRITES 1542 /* */ #define SHADIO$K_STALL_WRITES 1642 #define SHADIO$C_STALL_WRITES 1642 /* */ #define SHADIO$K_TOGGLE_SPLIT_READS 1742 #define SHADIO$C_TOGGLE_SPLIT_READS 1742 /* */ #define SHADIO$K_UPDATE_SCB_LBA 1842 #define SHADIO$C_UPDATE_SCB_LBA 1842 /* */ #define SHADIO$K_MOUNT_DONE 1942 #define SHADIO$C_MOUNT_DONE 1942 /* */ #define SHADIO$K_LOAD_TRPRINT 2042 #define SHADIO$C_LOAD_TRPRINT 2042 /* $SET specified value for V.U. and the the members */ #define SHADIO$K_FCODE_21 2142 #define SHADIO$C_FCODE_21 2142 /* */ #define SHADIO$K_QTV_TESTING 2242 #define SHADIO$C_QTV_TESTING 2242 /* */ #define SHADIO$K_DSA_TRPRINT 2342 #define SHADIO$C_DSA_TRPRINT 2342 /* */ #define SHADIO$K_VUCHAR_SL2_HBMM 2442 #define SHADIO$C_VUCHAR_SL2_HBMM 2442 /* */ #define SHADIO$K_FCODE_25 2542 #define SHADIO$C_FCODE_25 2542 /* */ #define SHADIO$K_VU_PRIORITY_LEVEL 2642 #define SHADIO$C_VU_PRIORITY_LEVEL 2642 /* */ #define SHADIO$K_VU_DELAY 2742 #define SHADIO$C_VU_DELAY 2742 /* */ #define SHADIO$K_EVALUATE_RESOURCES 2842 #define SHADIO$C_EVALUATE_RESOURCES 2842 /* */ #define SHADIO$K_SRVED_PATH_SSM_DLY 2942 #define SHADIO$C_SRVED_PATH_SSM_DLY 2942 /* */ #define SHADIO$K_SRVED_PATH_SSM_DLY_ALL 3042 #define SHADIO$C_SRVED_PATH_SSM_DLY_ALL 3042 /* */ #define SHADIO$K_VUCHAR_SL2_AMCVP 3142 #define SHADIO$C_VUCHAR_SL2_AMCVP 3142 #define SHADIO$K_RESET_COUNTERS 3242 #define SHADIO$C_RESET_COUNTERS 3242 #define SHADIO$K_FCODE_33 3342 #define SHADIO$C_FCODE_33 3342 #define SHADIO$K_VUCHAR_SL2_HBMM_DMT 3442 #define SHADIO$C_VUCHAR_SL2_HBMM_DMT 3442 #define SHADIO$K_VUCHAR_SL2_XMBRS 3542 #define SHADIO$C_VUCHAR_SL2_XMBRS 3542 #define SH$C_TRANSIENT_STATE_MIGRATION 268435522 /* 10000042 */ #define SH$C_DSC_RECOVERY_PENDING 66 /* 00000042 */ #define SH$C_SEARCH_FOR_MM_VU 16962 /* 00004242 */ #define SH$C_SEARCH_FOR_ANY_VU 4342338 /* 00424242 */ #define SH$C_PLAY_IT_AGAIN_SAM 8 #define SH$C_PLAY_IT_ONCE_SAM 16 /* */ #define SHADIO$K_TRACE_1 4201 #define SHADIO$C_TRACE_1 4201 /* */ #define SHADIO$K_TRACE_2 4202 #define SHADIO$C_TRACE_2 4202 /* */ #define SHADIO$K_TRACE_3 4203 #define SHADIO$C_TRACE_3 4203 /* */ #define SHADIO$K_TRACE_4 4204 #define SHADIO$C_TRACE_4 4204 /* */ #define SHADIO$K_TRACE_5 4205 #define SHADIO$C_TRACE_5 4205 /* */ #define SHADIO$K_TRACE_6 4206 #define SHADIO$C_TRACE_6 4206 /* */ #define SHADIO$K_TRACE_7 4207 #define SHADIO$C_TRACE_7 4207 /* */ #define SHADIO$K_TRACE_8 4208 #define SHADIO$C_TRACE_8 4208 /* */ #define SHADIO$K_TRACE_9 4209 #define SHADIO$C_TRACE_9 4209 /* Number of bits in the member status */ /* fields used to determine copy type */ /* CLU$C_MAX_NODES */ /* For Alpha */ #define LOCK$M_DEQUEUE 0x1 #define LOCK$M_WATCHER 0x2 #define LOCK$M_VALUE_UPDATE 0x4 #define LOCK$M_MBR_CHANGE_HERE 0x8 #define LOCK$M_COPY_ACTIVE 0x10 #define LOCK$M_STALL 0x20 #define LOCK$M_STALL_IP 0x40 #define LOCK$M_LOCAL 0x80 #define LOCK$M_RELEASE_COPIER_LOCK 0x100 #define LOCK$M_WATCHR_DONE 0x200 #define LOCK$M_SSM_EXPELLED 0x400 #define LOCK$M_BIT11 0x800 #define LOCK$M_BIT12 0x1000 #define LOCK$M_WLG_FINI_RTN_NORMAL 0x2000 #define LOCK$M_HBMM_FINI_RTN_NORMAL 0x4000 #define LOCK$M_SKIP 0x8000 #define LOCK$M_OPTIMAL_HBMM_DELAY_DUE 0x1000000 #define LOCK$M_BIT25 0x2000000 #define LOCK$M_COPIER_LOCK_RELEASED 0x4000000 #define LOCK$M_DCL_DEMAND_MERGE 0x8000000 #define LOCK$M_REQUEST_VUCHAR_INQUIRY 0x10000000 #define LOCK$M_TRANSIENT_SET_DISMOUNTED 0x20000000 #define LOCK$M_EVALUATE_PRIORITY_QUEUE 0x40000000 #define LOCK$M_MERGE_SIGNAL_REQUEST 0x80000000 #define LOCK$K_LENGTH 136 /*Length of Structure */ #define LOCK$C_LENGTH 136 /*Length of Structure */ #ifdef __cplusplus /* Define structure prototypes */ struct _shad; struct _ctxb; #endif /* #ifdef __cplusplus */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _lock { /* Lock substructure */ #pragma __nomember_alignment unsigned char lock$b_resnam_str [32]; /* Resource name string */ unsigned __int64 lock$q_resnam; /* Resource name descriptor */ unsigned int lock$l_flink; /* CDRP queue Forward link */ unsigned int lock$l_blink; /* CDRP Queue Backward link */ unsigned int lock$l_blkadr; /* Blocking address for function */ unsigned int lock$l_lksb; /* Lock status block base */ unsigned int lock$l_lkid; /* Lock ID */ unsigned int lock$l_lkvalblk [16]; /* Lock value block */ __union { unsigned int lock$l_lock_state; /* */ unsigned char lock$b_state; /* Lock state semaphore */ } lock$r_lock_state_overlay; struct _shad *lock$l_shad; /* Points to the shad for this lock structure */ __union { struct _ctxb *lock$l_ctxb; /* Pointer to context block */ __struct { unsigned lock$v_dequeue : 1; /* DEQUEUE in progress */ unsigned lock$v_watcher : 1; /* Watcher node */ unsigned lock$v_value_update : 1; /* Watcher value update node */ unsigned lock$v_mbr_change_here : 1; /* Set change in progress */ unsigned lock$v_copy_active : 1; /* EX mode on copier lock */ unsigned lock$v_stall : 1; /* Lock does stalls */ unsigned lock$v_stall_ip : 1; /* Stall new requests until NL */ unsigned lock$v_local : 1; /* Local validation in progress */ /* */ unsigned lock$v_release_copier_lock : 1; /* Causes merge or copy thread to return _CANCEL to Shadow Server */ /* which will release the COPIER lock on this system */ unsigned lock$v_watchr_done : 1; /* */ unsigned lock$v_ssm_expelled : 1; /*( %X00000400 ) */ unsigned lock$v_bit11 : 1; /*( %X00000800 ) */ unsigned lock$v_bit12 : 1; /*( %X00001000 ) */ unsigned lock$v_wlg_fini_rtn_normal : 1; /*( %X00002000 ) Causes thread to return mini merge state,,SS$_NORMAL to Shado\ w Server */ /* which will release the _COPIER lock on this system */ unsigned lock$v_hbmm_fini_rtn_normal : 1; /*( %X00004000 ) Causes thread to return mini merge state,,SS$_NORMAL to Shad\ ow Server */ /* which will release the _COPIER lock on this system */ unsigned lock$v_skip : 1; /*( %X00008000 ) Skip tracing this lock */ unsigned lock$v_count_do_not_use : 8; /* Used to trace number of times a lock has called grant_lock */ unsigned lock$v_optimal_hbmm_delay_due : 1; /*( %X01000000 ) */ unsigned lock$v_bit25 : 1; /*( %X02000000 ) */ unsigned lock$v_copier_lock_released : 1; /* Tell other nodes copier lock has been released */ unsigned lock$v_dcl_demand_merge : 1; /* User requests a demand merge be done on a shadowset */ unsigned lock$v_request_vuchar_inquiry : 1; /* See if requested characteristic is possible */ unsigned lock$v_transient_set_dismounted : 1; /* Used by a system that is managing a VU in a transient state to */ /* notify other systems that they are DISMOUNTing it */ unsigned lock$v_evaluate_priority_queue : 1; /* Used by systems when they need to manage the priority queue */ unsigned lock$v_merge_signal_request : 1; /* Used by merge signal to request a VU be put into a merge */ /* transient state ... when they abort a VU */ } lock$r_lock_state_bits; } lock$r_state_overlay; } LOCK; #if !defined(__VAXC) #define lock$l_lock_state lock$r_lock_state_overlay.lock$l_lock_state #define lock$b_state lock$r_lock_state_overlay.lock$b_state #define lock$l_ctxb lock$r_state_overlay.lock$l_ctxb #define lock$v_dequeue lock$r_state_overlay.lock$r_lock_state_bits.lock$v_dequeue #define lock$v_watcher lock$r_state_overlay.lock$r_lock_state_bits.lock$v_watcher #define lock$v_value_update lock$r_state_overlay.lock$r_lock_state_bits.lock$v_value_update #define lock$v_mbr_change_here lock$r_state_overlay.lock$r_lock_state_bits.lock$v_mbr_change_here #define lock$v_copy_active lock$r_state_overlay.lock$r_lock_state_bits.lock$v_copy_active #define lock$v_stall lock$r_state_overlay.lock$r_lock_state_bits.lock$v_stall #define lock$v_stall_ip lock$r_state_overlay.lock$r_lock_state_bits.lock$v_stall_ip #define lock$v_local lock$r_state_overlay.lock$r_lock_state_bits.lock$v_local #define lock$v_release_copier_lock lock$r_state_overlay.lock$r_lock_state_bits.lock$v_release_copier_lock #define lock$v_watchr_done lock$r_state_overlay.lock$r_lock_state_bits.lock$v_watchr_done #define lock$v_ssm_expelled lock$r_state_overlay.lock$r_lock_state_bits.lock$v_ssm_expelled #define lock$v_bit11 lock$r_state_overlay.lock$r_lock_state_bits.lock$v_bit11 #define lock$v_bit12 lock$r_state_overlay.lock$r_lock_state_bits.lock$v_bit12 #define lock$v_wlg_fini_rtn_normal lock$r_state_overlay.lock$r_lock_state_bits.lock$v_wlg_fini_rtn_normal #define lock$v_hbmm_fini_rtn_normal lock$r_state_overlay.lock$r_lock_state_bits.lock$v_hbmm_fini_rtn_normal #define lock$v_skip lock$r_state_overlay.lock$r_lock_state_bits.lock$v_skip #define lock$v_optimal_hbmm_delay_due lock$r_state_overlay.lock$r_lock_state_bits.lock$v_optimal_hbmm_delay_due #define lock$v_bit25 lock$r_state_overlay.lock$r_lock_state_bits.lock$v_bit25 #define lock$v_copier_lock_released lock$r_state_overlay.lock$r_lock_state_bits.lock$v_copier_lock_released #define lock$v_dcl_demand_merge lock$r_state_overlay.lock$r_lock_state_bits.lock$v_dcl_demand_merge #define lock$v_request_vuchar_inquiry lock$r_state_overlay.lock$r_lock_state_bits.lock$v_request_vuchar_inquiry #define lock$v_transient_set_dismounted lock$r_state_overlay.lock$r_lock_state_bits.lock$v_transient_set_dismounted #define lock$v_evaluate_priority_queue lock$r_state_overlay.lock$r_lock_state_bits.lock$v_evaluate_priority_queue #define lock$v_merge_signal_request lock$r_state_overlay.lock$r_lock_state_bits.lock$v_merge_signal_request #endif /* #if !defined(__VAXC) */ /* For Alpha */ #define SH$M_SHADOW_SYSTEM_DISK 0x1 #define SH$M_MINI_MERGE_SYSTEM_DISK 0x2 #define SH$M_HOST_COMPARE_ALL_WRITES 0x4 #define SH$M_IF_3_IS_SET 0x8 #define SH$M_IF_4_IS_SET 0x10 #define SH$M_IF_5_IS_SET 0x20 #define SH$M_IF_6_IS_SET 0x40 #define SH$M_IF_7_IS_SET 0x80 #define SH$M_IF_8_IS_SET 0x100 #define SH$M_IF_9_IS_SET 0x200 #define SH$M_IF_10_IS_SET 0x400 #define SH$M_SYSGEN_DISABLE_WLG 0x800 #define SH$M_MINIMERGE_SYSTEM_DISK 0x1000 #define SH$M_NO_BAD_BLOCK_RECOVERY 0x2000 #define SH$M_ENABLE_LOG_IT 0x4000 #define SH$M_SET_INHIBIT_RETRY 0x8000 #define SH$M_ENFORCE_LOCAL_READ 0x10000 #define SH$M_DONOT_ENFORCE_MC 0x20000 #define SH$M_ENABLE_HBVSTRACE_ALL 0x40000 #define SH$M_USE_VU_UNIT_NUMBER 0x80000 #define SH$M_BIT20 0x100000 #define SH$M_BIT21 0x200000 #define SH$M_BIT22 0x400000 #define SH$M_BIT23 0x800000 #define SH$M_IF_24_IS_SET 0x1000000 #define SH$M_IF_25_IS_SET 0x2000000 #define SH$M_BUGCHECK_ABORT 0x4000000 #define SH$M_BUGCHECK_INCSHAMEM 0x8000000 #define SH$M_BUGCHECK_IF_28_IS_SET 0x10000000 #define SH$M_BUGCHECK_IF_29_IS_SET 0x20000000 #define SH$M_BUGCHECK_ABORT_VP 0x40000000 #define SH$M_BUGCHECK_NEG_RWAIT 0x80000000 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _sysdisk { /* SHADOW_SYS_DISK Bit Mask definitions */ #pragma __nomember_alignment __union { unsigned int sh$l_system_disk_mask; __struct { unsigned sh$v_shadow_system_disk : 1; /* ( %X00000001 ) The historical request */ unsigned sh$v_mini_merge_system_disk : 1; /* ( %X00000002 ) DOSD makes this possible new bit */ unsigned sh$v_host_compare_all_writes : 1; /* ( %X00000004 ) for the truly paranoid */ unsigned sh$v_if_3_is_set : 1; /* ( %X00000008 ) */ unsigned sh$v_if_4_is_set : 1; /* ( %X00000010 ) */ unsigned sh$v_if_5_is_set : 1; /* ( %X00000020 ) */ unsigned sh$v_if_6_is_set : 1; /* ( %X00000040 ) */ unsigned sh$v_if_7_is_set : 1; /* ( %X00000080 ) */ unsigned sh$v_if_8_is_set : 1; /* ( %X00000100 ) */ unsigned sh$v_if_9_is_set : 1; /* ( %X00000200 ) */ unsigned sh$v_if_10_is_set : 1; /* ( %X00000400 ) */ unsigned sh$v_sysgen_disable_wlg : 1; /* ( %X00000800 ) Don't allow phase 1 write logging on this system */ /* The next three bits MUST maintain these positions */ /* to maintain historical definitions */ unsigned sh$v_minimerge_system_disk : 1; /* ( %X00001000 ) DOSD makes this possible ... historical bit */ unsigned sh$v_no_bad_block_recovery : 1; /* ( %X00002000 ) Aggressive member removal */ unsigned sh$v_enable_log_it : 1; /* ( %X00004000 ) Enable LOG_IT macro */ unsigned sh$v_set_inhibit_retry : 1; /* ( %X00008000 ) For special application I/Os */ unsigned sh$v_enforce_local_read : 1; /* ( %X00010000 ) Force local reads, for FDDI clusters */ unsigned sh$v_donot_enforce_mc : 1; /* ( %X00020000 ) */ unsigned sh$v_enable_hbvstrace_all : 1; /* ( %X00040000 ) */ unsigned sh$v_use_vu_unit_number : 1; /* ( %X00080000 ) */ unsigned sh$v_bit20 : 1; /* ( %X00100000 ) */ unsigned sh$v_bit21 : 1; /* ( %X00200000 ) */ unsigned sh$v_bit22 : 1; /* ( %X00400000 ) */ unsigned sh$v_bit23 : 1; /* ( %X00800000 ) */ unsigned sh$v_if_24_is_set : 1; /* ( %X01000000 ) */ unsigned sh$v_if_25_is_set : 1; /* ( %X02000000 ) */ unsigned sh$v_bugcheck_abort : 1; /* ( %X04000000 ) On ss$_abort crash now */ unsigned sh$v_bugcheck_incshamem : 1; /* ( %X08000000 ) */ unsigned sh$v_bugcheck_if_28_is_set : 1; /* ( %X10000000 ) */ unsigned sh$v_bugcheck_if_29_is_set : 1; /* ( %X20000000 ) */ unsigned sh$v_bugcheck_abort_vp : 1; /* ( %X40000000 ) On ABORT_VP crash now */ unsigned sh$v_bugcheck_neg_rwait : 1; /* ( %X80000000 ) If RWAITCNT goes negative, crash now */ } sh$r_system_disk_mask_bits; } sh$r_system_disk_mask_overlay; } SYSDISK; #if !defined(__VAXC) #define sh$l_system_disk_mask sh$r_system_disk_mask_overlay.sh$l_system_disk_mask #define sh$v_shadow_system_disk sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_shadow_system_disk #define sh$v_mini_merge_system_disk sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_mini_merge_system_disk #define sh$v_host_compare_all_writes sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_host_compare_all_writes #define sh$v_if_3_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_3_is_set #define sh$v_if_4_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_4_is_set #define sh$v_if_5_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_5_is_set #define sh$v_if_6_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_6_is_set #define sh$v_if_7_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_7_is_set #define sh$v_if_8_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_8_is_set #define sh$v_if_9_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_9_is_set #define sh$v_if_10_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_10_is_set #define sh$v_sysgen_disable_wlg sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_sysgen_disable_wlg #define sh$v_minimerge_system_disk sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_minimerge_system_disk #define sh$v_no_bad_block_recovery sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_no_bad_block_recovery #define sh$v_enable_log_it sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_enable_log_it #define sh$v_set_inhibit_retry sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_set_inhibit_retry #define sh$v_enforce_local_read sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_enforce_local_read #define sh$v_donot_enforce_mc sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_donot_enforce_mc #define sh$v_enable_hbvstrace_all sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_enable_hbvstrace_all #define sh$v_use_vu_unit_number sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_use_vu_unit_number #define sh$v_bit20 sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bit20 #define sh$v_bit21 sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bit21 #define sh$v_bit22 sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bit22 #define sh$v_bit23 sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bit23 #define sh$v_if_24_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_24_is_set #define sh$v_if_25_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_if_25_is_set #define sh$v_bugcheck_abort sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bugcheck_abort #define sh$v_bugcheck_incshamem sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bugcheck_incshamem #define sh$v_bugcheck_if_28_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bugcheck_if_28_is_set #define sh$v_bugcheck_if_29_is_set sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bugcheck_if_29_is_set #define sh$v_bugcheck_abort_vp sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bugcheck_abort_vp #define sh$v_bugcheck_neg_rwait sh$r_system_disk_mask_overlay.sh$r_system_disk_mask_bits.sh$v_bugcheck_neg_rwait #endif /* #if !defined(__VAXC) */ /* */ /* Shadow set VU characteristics ($VUCHAR) lock value block definitions */ /* */ /* Each set bit represents a per-VU characteristic that is currently enabled */ /* on that VU. A cluster member is not allowed to MOUNT a VU unless it has */ /* support for all the currently enabled characteristics on that VU. */ /* The mask of characteristics that are supported by this node is in */ /* EXE$GQ_SHADOW_CAPABILITIES. */ /* */ /* Any change in the enabled VU characteristics on a mounted VU requires */ /* unanimous consent of all the nodes where the VU is mounted. This is obtained */ /* using the VU characteristics voting protocol. */ /* */ /* NOTE: Prior versions used the SHMASK$M_MINI_COPY, DVE_DDS, and HBMM bit */ /* masks to set the VU characteristics lock value block. Therefore, to maintain */ /* cluster compatibility, the definitions of each of the corresponding */ /* SHAD_VUCHAR$M_ bits must have the same value. */ /* */ #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT0 0x1 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT1 0x2 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT2 0x4 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT3 0x8 #define SHAD_VUCHAR$M_MINI_COPY 0x10 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT5 0x20 #define SHAD_VUCHAR$M_DVE_DDS 0x40 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT7 0x80 #define SHAD_VUCHAR$M_HBMM 0x100 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT9 0x200 #define SHAD_VUCHAR$M_AMCVP 0x400 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT11 0x800 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT12 0x1000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT13 0x2000 #define SHAD_VUCHAR$M_HBMM_DMT 0x4000 #define SHAD_VUCHAR$M_VERIFY_NEW_MBR 0x8000 #define SHAD_VUCHAR$M_XMBRS 0x10000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT17 0x20000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT18 0x40000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT19 0x80000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT20 0x100000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT21 0x200000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT22 0x400000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT23 0x800000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT24 0x1000000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT25 0x2000000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT26 0x4000000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT27 0x8000000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT28 0x10000000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT29 0x20000000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT30 0x40000000 #define SHAD_VUCHAR$M_SHADOW_CHAR_BIT31 0x80000000 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _shad_vuchar { #pragma __nomember_alignment __union { unsigned int shad_vuchar$l_shadow_char_mask; /* SHADOW_CHAR Bit Mask definitions */ __struct { unsigned shad_vuchar$v_shadow_char_bit0 : 1; /* ( %X00000001 ) */ unsigned shad_vuchar$v_shadow_char_bit1 : 1; /* ( %X00000002 ) */ unsigned shad_vuchar$v_shadow_char_bit2 : 1; /* ( %X00000004 ) */ unsigned shad_vuchar$v_shadow_char_bit3 : 1; /* ( %X00000008 ) */ unsigned shad_vuchar$v_mini_copy : 1; /* ( %X00000010 ) */ unsigned shad_vuchar$v_shadow_char_bit5 : 1; /* ( %X00000020 ) */ unsigned shad_vuchar$v_dve_dds : 1; /* ( %X00000040 ) */ unsigned shad_vuchar$v_shadow_char_bit7 : 1; /* ( %X00000080 ) */ unsigned shad_vuchar$v_hbmm : 1; /* ( %X00000100 ) */ unsigned shad_vuchar$v_shadow_char_bit9 : 1; /* ( %X00000200 ) */ unsigned shad_vuchar$v_amcvp : 1; /* ( %X00000400 ) */ unsigned shad_vuchar$v_shadow_char_bit11 : 1; /* ( %X00000800 ) */ unsigned shad_vuchar$v_shadow_char_bit12 : 1; /* ( %X00001000 ) */ unsigned shad_vuchar$v_shadow_char_bit13 : 1; /* ( %X00002000 ) */ unsigned shad_vuchar$v_hbmm_dmt : 1; /* ( %X00004000 ) */ unsigned shad_vuchar$v_verify_new_mbr : 1; /* ( %X00008000 ) */ unsigned shad_vuchar$v_xmbrs : 1; /* ( %X00010000 ) */ /* */ /* All of the rest of the character bits may already be used by */ /* SHD_RELEASE_FLAG.MAR - so use these carefully! */ /* */ unsigned shad_vuchar$v_shadow_char_bit17 : 1; /* ( %X00020000 ) */ unsigned shad_vuchar$v_shadow_char_bit18 : 1; /* ( %X00040000 ) */ unsigned shad_vuchar$v_shadow_char_bit19 : 1; /* ( %X00080000 ) */ unsigned shad_vuchar$v_shadow_char_bit20 : 1; /* ( %X00100000 ) */ unsigned shad_vuchar$v_shadow_char_bit21 : 1; /* ( %X00200000 ) */ unsigned shad_vuchar$v_shadow_char_bit22 : 1; /* ( %X00400000 ) */ unsigned shad_vuchar$v_shadow_char_bit23 : 1; /* ( %X00800000 ) */ unsigned shad_vuchar$v_shadow_char_bit24 : 1; /* ( %X01000000 ) */ unsigned shad_vuchar$v_shadow_char_bit25 : 1; /* ( %X02000000 ) */ unsigned shad_vuchar$v_shadow_char_bit26 : 1; /* ( %X04000000 ) */ unsigned shad_vuchar$v_shadow_char_bit27 : 1; /* ( %X08000000 ) */ unsigned shad_vuchar$v_shadow_char_bit28 : 1; /* ( %X10000000 ) */ unsigned shad_vuchar$v_shadow_char_bit29 : 1; /* ( %X20000000 ) */ unsigned shad_vuchar$v_shadow_char_bit30 : 1; /* ( %X40000000 ) */ unsigned shad_vuchar$v_shadow_char_bit31 : 1; /* ( %X80000000 ) */ } shad_vuchar$r_fill_1_; } shad_vuchar$r_fill_0_; } SHAD_VUCHAR; #if !defined(__VAXC) #define shad_vuchar$l_shadow_char_mask shad_vuchar$r_fill_0_.shad_vuchar$l_shadow_char_mask #define shad_vuchar$v_shadow_char_bit0 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit0 #define shad_vuchar$v_shadow_char_bit1 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit1 #define shad_vuchar$v_shadow_char_bit2 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit2 #define shad_vuchar$v_shadow_char_bit3 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit3 #define shad_vuchar$v_mini_copy shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_mini_copy #define shad_vuchar$v_shadow_char_bit5 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit5 #define shad_vuchar$v_dve_dds shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_dve_dds #define shad_vuchar$v_shadow_char_bit7 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit7 #define shad_vuchar$v_hbmm shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_hbmm #define shad_vuchar$v_shadow_char_bit9 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit9 #define shad_vuchar$v_amcvp shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_amcvp #define shad_vuchar$v_shadow_char_bit11 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit11 #define shad_vuchar$v_shadow_char_bit12 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit12 #define shad_vuchar$v_shadow_char_bit13 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit13 #define shad_vuchar$v_hbmm_dmt shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_hbmm_dmt #define shad_vuchar$v_verify_new_mbr shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_verify_new_mbr #define shad_vuchar$v_xmbrs shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_xmbrs #define shad_vuchar$v_shadow_char_bit17 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit17 #define shad_vuchar$v_shadow_char_bit18 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit18 #define shad_vuchar$v_shadow_char_bit19 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit19 #define shad_vuchar$v_shadow_char_bit20 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit20 #define shad_vuchar$v_shadow_char_bit21 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit21 #define shad_vuchar$v_shadow_char_bit22 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit22 #define shad_vuchar$v_shadow_char_bit23 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit23 #define shad_vuchar$v_shadow_char_bit24 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit24 #define shad_vuchar$v_shadow_char_bit25 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit25 #define shad_vuchar$v_shadow_char_bit26 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit26 #define shad_vuchar$v_shadow_char_bit27 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit27 #define shad_vuchar$v_shadow_char_bit28 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit28 #define shad_vuchar$v_shadow_char_bit29 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit29 #define shad_vuchar$v_shadow_char_bit30 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit30 #define shad_vuchar$v_shadow_char_bit31 shad_vuchar$r_fill_0_.shad_vuchar$r_fill_1_.shad_vuchar$v_shadow_char_bit31 #endif /* #if !defined(__VAXC) */ /* For NotVAX */ #define SHADD1$M_BIT0 0x1 #define SHADD1$M_BIT1 0x2 #define SHADD1$M_BIT2 0x4 #define SHADD1$M_BIT3 0x8 #define SHADD1$M_BIT4 0x10 #define SHADD1$M_BIT5 0x20 #define SHADD1$M_BIT6 0x40 #define SHADD1$M_BIT7 0x80 #define SHADD1$M_BIT8 0x100 #define SHADD1$M_BIT9 0x200 #define SHADD1$M_BIT10 0x400 #define SHADD1$M_BIT11 0x800 #define SHADD1$M_BIT12 0x1000 #define SHADD1$M_BIT13 0x2000 #define SHADD1$M_BIT14 0x4000 #define SHADD1$M_BIT15 0x8000 #define SHADD1$M_IF_16_IS_CLEAR 0x10000 #define SHADD1$M_IF_17_IS_CLEAR 0x20000 #define SHADD1$M_IF_18_IS_CLEAR 0x40000 #define SHADD1$M_IF_19_IS_CLEAR 0x80000 #define SHADD1$M_IF_20_IS_CLEAR 0x100000 #define SHADD1$M_IF_21_IS_CLEAR 0x200000 #define SHADD1$M_IF_22_IS_CLEAR 0x400000 #define SHADD1$M_IF_23_IS_CLEAR 0x800000 #define SHADD1$M_IF_24_IS_SET 0x1000000 #define SHADD1$M_IF_25_IS_SET 0x2000000 #define SHADD1$M_IF_26_IS_SET 0x4000000 #define SHADD1$M_IF_27_IS_SET 0x8000000 #define SHADD1$M_IF_28_IS_SET 0x10000000 #define SHADD1$M_IF_29_IS_SET 0x20000000 #define SHADD1$M_IF_30_IS_SET 0x40000000 #define SHADD1$M_IF_31_IS_SET 0x80000000 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _shadowd1 { /* SHADOW_D1 Bit Mask definitions */ #pragma __nomember_alignment __union { unsigned int shadd1$l_shadow_d1_mask; __struct { unsigned shadd1$v_bit0 : 1; /* ( %X00000001 ) */ unsigned shadd1$v_bit1 : 1; /* ( %X00000002 ) */ unsigned shadd1$v_bit2 : 1; /* ( %X00000004 ) */ unsigned shadd1$v_bit3 : 1; /* ( %X00000008 ) */ unsigned shadd1$v_bit4 : 1; /* ( %X00000010 ) */ unsigned shadd1$v_bit5 : 1; /* ( %X00000020 ) */ unsigned shadd1$v_bit6 : 1; /* ( %X00000040 ) */ unsigned shadd1$v_bit7 : 1; /* ( %X00000080 ) */ unsigned shadd1$v_bit8 : 1; /* ( %X00000100 ) */ unsigned shadd1$v_bit9 : 1; /* ( %X00000200 ) */ unsigned shadd1$v_bit10 : 1; /* ( %X00000400 ) */ unsigned shadd1$v_bit11 : 1; /* ( %X00000800 ) */ unsigned shadd1$v_bit12 : 1; /* ( %X00001000 ) */ unsigned shadd1$v_bit13 : 1; /* ( %X00002000 ) */ unsigned shadd1$v_bit14 : 1; /* ( %X00004000 ) */ unsigned shadd1$v_bit15 : 1; /* ( %X00008000 ) */ unsigned shadd1$v_if_16_is_clear : 1; /* ( %X00010000 ) */ unsigned shadd1$v_if_17_is_clear : 1; /* ( %X00020000 ) */ unsigned shadd1$v_if_18_is_clear : 1; /* ( %X00040000 ) */ unsigned shadd1$v_if_19_is_clear : 1; /* ( %X00080000 ) */ unsigned shadd1$v_if_20_is_clear : 1; /* ( %X00100000 ) */ unsigned shadd1$v_if_21_is_clear : 1; /* ( %X00200000 ) */ unsigned shadd1$v_if_22_is_clear : 1; /* ( %X00400000 ) */ unsigned shadd1$v_if_23_is_clear : 1; /* ( %X00800000 ) */ unsigned shadd1$v_if_24_is_set : 1; /* ( %X01000000 ) */ unsigned shadd1$v_if_25_is_set : 1; /* ( %X02000000 ) */ unsigned shadd1$v_if_26_is_set : 1; /* ( %X04000000 ) */ unsigned shadd1$v_if_27_is_set : 1; /* ( %X08000000 ) */ unsigned shadd1$v_if_28_is_set : 1; /* ( %X10000000 ) */ unsigned shadd1$v_if_29_is_set : 1; /* ( %X20000000 ) */ unsigned shadd1$v_if_30_is_set : 1; /* ( %X40000000 ) */ unsigned shadd1$v_if_31_is_set : 1; /* ( %X80000000 ) */ } shadd1$r_shadowd1_mask_bits; } shadd1$r_shadowd1_mask_overlay; } SHADOWD1; #if !defined(__VAXC) #define shadd1$l_shadow_d1_mask shadd1$r_shadowd1_mask_overlay.shadd1$l_shadow_d1_mask #define shadd1$v_bit0 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit0 #define shadd1$v_bit1 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit1 #define shadd1$v_bit2 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit2 #define shadd1$v_bit3 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit3 #define shadd1$v_bit4 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit4 #define shadd1$v_bit5 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit5 #define shadd1$v_bit6 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit6 #define shadd1$v_bit7 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit7 #define shadd1$v_bit8 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit8 #define shadd1$v_bit9 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit9 #define shadd1$v_bit10 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit10 #define shadd1$v_bit11 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit11 #define shadd1$v_bit12 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit12 #define shadd1$v_bit13 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit13 #define shadd1$v_bit14 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit14 #define shadd1$v_bit15 shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_bit15 #define shadd1$v_if_16_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_16_is_clear #define shadd1$v_if_17_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_17_is_clear #define shadd1$v_if_18_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_18_is_clear #define shadd1$v_if_19_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_19_is_clear #define shadd1$v_if_20_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_20_is_clear #define shadd1$v_if_21_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_21_is_clear #define shadd1$v_if_22_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_22_is_clear #define shadd1$v_if_23_is_clear shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_23_is_clear #define shadd1$v_if_24_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_24_is_set #define shadd1$v_if_25_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_25_is_set #define shadd1$v_if_26_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_26_is_set #define shadd1$v_if_27_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_27_is_set #define shadd1$v_if_28_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_28_is_set #define shadd1$v_if_29_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_29_is_set #define shadd1$v_if_30_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_30_is_set #define shadd1$v_if_31_is_set shadd1$r_shadowd1_mask_overlay.shadd1$r_shadowd1_mask_bits.shadd1$v_if_31_is_set #endif /* #if !defined(__VAXC) */ #define SHADD5$M_ENABLE_TRACING_BIT0 0x1 #define SHADD5$M_ENABLE_TRACING_BIT1 0x2 #define SHADD5$M_ENABLE_TRACING_BIT2 0x4 #define SHADD5$M_ENABLE_TRACING_BIT3 0x8 #define SHADD5$M_ENABLE_TRACING_BIT4 0x10 #define SHADD5$M_ENABLE_TRACING_BIT5 0x20 #define SHADD5$M_ENABLE_TRACING_BIT6 0x40 #define SHADD5$M_ENABLE_TRACING_BIT7 0x80 #define SHADD5$M_BIT8 0x100 #define SHADD5$M_BIT9 0x200 #define SHADD5$M_BIT10 0x400 #define SHADD5$M_BIT11 0x800 #define SHADD5$M_BIT12 0x1000 #define SHADD5$M_BIT13 0x2000 #define SHADD5$M_BIT14 0x4000 #define SHADD5$M_BIT15 0x8000 #define SHADD5$M_IF_16_IS_CLEAR 0x10000 #define SHADD5$M_IF_17_IS_CLEAR 0x20000 #define SHADD5$M_IF_18_IS_CLEAR 0x40000 #define SHADD5$M_IF_19_IS_CLEAR 0x80000 #define SHADD5$M_IF_20_IS_CLEAR 0x100000 #define SHADD5$M_IF_21_IS_CLEAR 0x200000 #define SHADD5$M_IF_22_IS_CLEAR 0x400000 #define SHADD5$M_IF_23_IS_CLEAR 0x800000 #define SHADD5$M_IF_24_IS_SET 0x1000000 #define SHADD5$M_IF_25_IS_SET 0x2000000 #define SHADD5$M_IF_26_IS_SET 0x4000000 #define SHADD5$M_IF_27_IS_SET 0x8000000 #define SHADD5$M_IF_28_IS_SET 0x10000000 #define SHADD5$M_IF_29_IS_SET 0x20000000 #define SHADD5$M_IF_30_IS_SET 0x40000000 #define SHADD5$M_IF_31_IS_SET 0x80000000 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _shadowd5 { /* SHADOW_D5 Bit Mask definitions */ #pragma __nomember_alignment __union { unsigned int shadd5$l_shadow_d5_mask; __struct { unsigned shadd5$v_enable_tracing_bit0 : 1; /* ( %X00000001 ) */ unsigned shadd5$v_enable_tracing_bit1 : 1; /* ( %X00000002 ) */ unsigned shadd5$v_enable_tracing_bit2 : 1; /* ( %X00000004 ) */ unsigned shadd5$v_enable_tracing_bit3 : 1; /* ( %X00000008 ) */ unsigned shadd5$v_enable_tracing_bit4 : 1; /* ( %X00000010 ) */ unsigned shadd5$v_enable_tracing_bit5 : 1; /* ( %X00000020 ) */ unsigned shadd5$v_enable_tracing_bit6 : 1; /* ( %X00000040 ) */ unsigned shadd5$v_enable_tracing_bit7 : 1; /* ( %X00000080 ) */ unsigned shadd5$v_bit8 : 1; /* ( %X00000100 ) */ unsigned shadd5$v_bit9 : 1; /* ( %X00000200 ) */ unsigned shadd5$v_bit10 : 1; /* ( %X00000400 ) */ unsigned shadd5$v_bit11 : 1; /* ( %X00000800 ) */ unsigned shadd5$v_bit12 : 1; /* ( %X00001000 ) */ unsigned shadd5$v_bit13 : 1; /* ( %X00002000 ) */ unsigned shadd5$v_bit14 : 1; /* ( %X00004000 ) */ unsigned shadd5$v_bit15 : 1; /* ( %X00008000 ) */ unsigned shadd5$v_if_16_is_clear : 1; /* ( %X00010000 ) */ unsigned shadd5$v_if_17_is_clear : 1; /* ( %X00020000 ) */ unsigned shadd5$v_if_18_is_clear : 1; /* ( %X00040000 ) */ unsigned shadd5$v_if_19_is_clear : 1; /* ( %X00080000 ) */ unsigned shadd5$v_if_20_is_clear : 1; /* ( %X00100000 ) */ unsigned shadd5$v_if_21_is_clear : 1; /* ( %X00200000 ) */ unsigned shadd5$v_if_22_is_clear : 1; /* ( %X00400000 ) */ unsigned shadd5$v_if_23_is_clear : 1; /* ( %X00800000 ) */ unsigned shadd5$v_if_24_is_set : 1; /* ( %X01000000 ) */ unsigned shadd5$v_if_25_is_set : 1; /* ( %X02000000 ) */ unsigned shadd5$v_if_26_is_set : 1; /* ( %X04000000 ) */ unsigned shadd5$v_if_27_is_set : 1; /* ( %X08000000 ) */ unsigned shadd5$v_if_28_is_set : 1; /* ( %X10000000 ) */ unsigned shadd5$v_if_29_is_set : 1; /* ( %X20000000 ) */ unsigned shadd5$v_if_30_is_set : 1; /* ( %X40000000 ) */ unsigned shadd5$v_if_31_is_set : 1; /* ( %X80000000 ) */ } shadd5$r_shadowd5_mask_bits; } shadd5$r_shadowd5_mask_overlay; } SHADOWD5; #if !defined(__VAXC) #define shadd5$l_shadow_d5_mask shadd5$r_shadowd5_mask_overlay.shadd5$l_shadow_d5_mask #define shadd5$v_enable_tracing_bit0 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit0 #define shadd5$v_enable_tracing_bit1 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit1 #define shadd5$v_enable_tracing_bit2 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit2 #define shadd5$v_enable_tracing_bit3 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit3 #define shadd5$v_enable_tracing_bit4 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit4 #define shadd5$v_enable_tracing_bit5 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit5 #define shadd5$v_enable_tracing_bit6 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit6 #define shadd5$v_enable_tracing_bit7 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_enable_tracing_bit7 #define shadd5$v_bit8 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit8 #define shadd5$v_bit9 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit9 #define shadd5$v_bit10 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit10 #define shadd5$v_bit11 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit11 #define shadd5$v_bit12 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit12 #define shadd5$v_bit13 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit13 #define shadd5$v_bit14 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit14 #define shadd5$v_bit15 shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_bit15 #define shadd5$v_if_16_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_16_is_clear #define shadd5$v_if_17_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_17_is_clear #define shadd5$v_if_18_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_18_is_clear #define shadd5$v_if_19_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_19_is_clear #define shadd5$v_if_20_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_20_is_clear #define shadd5$v_if_21_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_21_is_clear #define shadd5$v_if_22_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_22_is_clear #define shadd5$v_if_23_is_clear shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_23_is_clear #define shadd5$v_if_24_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_24_is_set #define shadd5$v_if_25_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_25_is_set #define shadd5$v_if_26_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_26_is_set #define shadd5$v_if_27_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_27_is_set #define shadd5$v_if_28_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_28_is_set #define shadd5$v_if_29_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_29_is_set #define shadd5$v_if_30_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_30_is_set #define shadd5$v_if_31_is_set shadd5$r_shadowd5_mask_overlay.shadd5$r_shadowd5_mask_bits.shadd5$v_if_31_is_set #endif /* #if !defined(__VAXC) */ #define SHADEN$M_NEW_WBM_NAMES_IN_USE 0x1 #define SHADEN$M_BIT1 0x2 #define SHADEN$M_BIT2 0x4 #define SHADEN$M_BIT3 0x8 #define SHADEN$M_BIT4 0x10 #define SHADEN$M_BIT5 0x20 #define SHADEN$M_BIT6 0x40 #define SHADEN$M_BIT7 0x80 #define SHADEN$M_BIT8 0x100 #define SHADEN$M_BIT9 0x200 #define SHADEN$M_BIT10 0x400 #define SHADEN$M_BIT11 0x800 #define SHADEN$M_BIT12 0x1000 #define SHADEN$M_BIT13 0x2000 #define SHADEN$M_BIT14 0x4000 #define SHADEN$M_BIT15 0x8000 #define SHADEN$M_BIT16 0x10000 #define SHADEN$M_BIT17 0x20000 #define SHADEN$M_BIT18 0x40000 #define SHADEN$M_BIT19 0x80000 #define SHADEN$M_BIT20 0x100000 #define SHADEN$M_BIT21 0x200000 #define SHADEN$M_BIT22 0x400000 #define SHADEN$M_BIT23 0x800000 #define SHADEN$M_BIT24 0x1000000 #define SHADEN$M_BIT25 0x2000000 #define SHADEN$M_BIT26 0x4000000 #define SHADEN$M_BIT27 0x8000000 #define SHADEN$M_BIT28 0x10000000 #define SHADEN$M_BIT29 0x20000000 #define SHADEN$M_BIT30 0x40000000 #define SHADEN$M_BIT31 0x80000000 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _shadowen { /* SHADOW_ENABLE Bit Mask definitions */ #pragma __nomember_alignment __union { unsigned int shaden$l_shadow_en_mask; __struct { unsigned shaden$v_new_wbm_names_in_use : 1; /* ( %X00000001 ) */ unsigned shaden$v_bit1 : 1; /* ( %X00000002 ) */ unsigned shaden$v_bit2 : 1; /* ( %X00000004 ) */ unsigned shaden$v_bit3 : 1; /* ( %X00000008 ) */ unsigned shaden$v_bit4 : 1; /* ( %X00000010 ) */ unsigned shaden$v_bit5 : 1; /* ( %X00000020 ) */ unsigned shaden$v_bit6 : 1; /* ( %X00000040 ) */ unsigned shaden$v_bit7 : 1; /* ( %X00000080 ) */ unsigned shaden$v_bit8 : 1; /* ( %X00000100 ) */ unsigned shaden$v_bit9 : 1; /* ( %X00000200 ) */ unsigned shaden$v_bit10 : 1; /* ( %X00000400 ) */ unsigned shaden$v_bit11 : 1; /* ( %X00000800 ) */ unsigned shaden$v_bit12 : 1; /* ( %X00001000 ) */ unsigned shaden$v_bit13 : 1; /* ( %X00002000 ) */ unsigned shaden$v_bit14 : 1; /* ( %X00004000 ) */ unsigned shaden$v_bit15 : 1; /* ( %X00008000 ) */ unsigned shaden$v_bit16 : 1; /* ( %X00010000 ) */ unsigned shaden$v_bit17 : 1; /* ( %X00020000 ) */ unsigned shaden$v_bit18 : 1; /* ( %X00040000 ) */ unsigned shaden$v_bit19 : 1; /* ( %X00080000 ) */ unsigned shaden$v_bit20 : 1; /* ( %X00100000 ) */ unsigned shaden$v_bit21 : 1; /* ( %X00200000 ) */ unsigned shaden$v_bit22 : 1; /* ( %X00400000 ) */ unsigned shaden$v_bit23 : 1; /* ( %X00800000 ) */ unsigned shaden$v_bit24 : 1; /* ( %X01000000 ) */ unsigned shaden$v_bit25 : 1; /* ( %X02000000 ) */ unsigned shaden$v_bit26 : 1; /* ( %X04000000 ) */ unsigned shaden$v_bit27 : 1; /* ( %X08000000 ) */ unsigned shaden$v_bit28 : 1; /* ( %X10000000 ) */ unsigned shaden$v_bit29 : 1; /* ( %X20000000 ) */ unsigned shaden$v_bit30 : 1; /* ( %X40000000 ) */ unsigned shaden$v_bit31 : 1; /* ( %X80000000 ) */ } shaden$r_shadowen_mask_bits; } shaden$r_shadowen_mask_overlay; } SHADOWEN; #if !defined(__VAXC) #define shaden$l_shadow_en_mask shaden$r_shadowen_mask_overlay.shaden$l_shadow_en_mask #define shaden$v_new_wbm_names_in_use shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_new_wbm_names_in_use #define shaden$v_bit1 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit1 #define shaden$v_bit2 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit2 #define shaden$v_bit3 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit3 #define shaden$v_bit4 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit4 #define shaden$v_bit5 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit5 #define shaden$v_bit6 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit6 #define shaden$v_bit7 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit7 #define shaden$v_bit8 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit8 #define shaden$v_bit9 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit9 #define shaden$v_bit10 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit10 #define shaden$v_bit11 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit11 #define shaden$v_bit12 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit12 #define shaden$v_bit13 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit13 #define shaden$v_bit14 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit14 #define shaden$v_bit15 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit15 #define shaden$v_bit16 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit16 #define shaden$v_bit17 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit17 #define shaden$v_bit18 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit18 #define shaden$v_bit19 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit19 #define shaden$v_bit20 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit20 #define shaden$v_bit21 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit21 #define shaden$v_bit22 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit22 #define shaden$v_bit23 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit23 #define shaden$v_bit24 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit24 #define shaden$v_bit25 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit25 #define shaden$v_bit26 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit26 #define shaden$v_bit27 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit27 #define shaden$v_bit28 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit28 #define shaden$v_bit29 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit29 #define shaden$v_bit30 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit30 #define shaden$v_bit31 shaden$r_shadowen_mask_overlay.shaden$r_shadowen_mask_bits.shaden$v_bit31 #endif /* #if !defined(__VAXC) */ /* For Alpha */ #define MC_WBM$C_HEADER 12 #define MC_WBM$C_DDS_SIZE 27 #define MC_WBM$C_I_LIST_BFR 128 #define MC_WBM$C_CONVERT_BUFFER 256 #define MC_WBM$K_LENGTH 512 /*Length of Structure */ #define MC_WBM$C_LENGTH 512 /*Length of Structure */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _mcwbm { #pragma __nomember_alignment unsigned int mc_wbm$l_flink; /* Forward link FIELD */ unsigned int mc_wbm$l_blink; /* Backward link FIELD */ unsigned int mc_wbm$l_size_type; /* Size/Type of structure */ /* */ /* Name of buffer as derived from the SCB meta data. */ /* */ unsigned int mc_wbm$l_dds; /* Size of string passed here */ unsigned int mc_wbm$l_addr_of_string; /* Address of the string passed here */ unsigned char mc_wbm$b_the_string; /* */ unsigned int mc_wbm$l_string_prefix; /* */ unsigned int mc_wbm$l_scb_string; /* */ char mc_wbm$b_reserved_scb_buf [99]; /* Reserved for alignment */ /* */ /* Item List buffer. */ /* */ unsigned int mc_wbm$l_flink1; /* Forward link FIELD */ unsigned int mc_wbm$l_blink1; /* Backward link FIELD */ unsigned int mc_wbm$l_size_type1; /* Size/Type of structure */ unsigned short int mc_wbm$w_item_list_bfr_size; /* In number of Bytes */ unsigned short int mc_wbm$w_item_list_arg; /* #3 returns the handle */ unsigned int mc_wbm$l_addr_of_item_list; /* Address of the buffer passed here */ unsigned int mc_wbm$l_addr_of_bcnt_rtn; /* */ unsigned int mc_wbm$l_end_of_item_list; /* */ unsigned int mc_wbm$l_item_list_bcnt_rtn; /* */ unsigned int mc_wbm$l_item_list; /* */ char mc_wbm$b_reserved_item_list [92]; /* reserved */ /* */ /* Convert Device Name */ /* */ unsigned int mc_wbm$l_flink2; /* Forward link FIELD */ unsigned int mc_wbm$l_blink2; /* Backward link FIELD */ unsigned int mc_wbm$l_size_type2; /* Size/Type of structure */ unsigned short int mc_wbm$w_convert_bfr_size; /* Descriptor data size in number of Bytes */ unsigned short int mc_wbm$w_convert_type; /* */ unsigned int mc_wbm$l_convert_ptr; /* */ unsigned int mc_wbm$l_convert_bfr; /* 24 Bytes */ char mc_wbm$b_convert [232]; /* reserved */ } MCWBM; /* For Alpha */ #define SHADIO$M_FCODE 0xFFFF #define SHADIO$M_FMODIFIERS 0xFFFF0000 #define SHADIO$M_FCODE_WAS_SET 0x10000 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _shadio { /* SETCHAR SHADOWING function code/modifiers structure */ #pragma __nomember_alignment __struct { unsigned shadio$v_fcode : 16; /* Function Code Field */ unsigned shadio$v_fmodifiers : 16; /* Function Modifiers Field */ } shadio$r_fcode_structure; __struct { unsigned shadio$v_fcode_fill_1 : 16; unsigned shadio$v_fcode_was_set : 1; /* */ unsigned shadio$v_filler_1 : 15; } shadio$r_shadio_modifiers; } SHADIO; #if !defined(__VAXC) #define shadio$v_fcode shadio$r_fcode_structure.shadio$v_fcode #define shadio$v_fmodifiers shadio$r_fcode_structure.shadio$v_fmodifiers #define shadio$v_fcode_was_set shadio$r_shadio_modifiers.shadio$v_fcode_was_set #endif /* #if !defined(__VAXC) */ /* For Alpha */ #define SHAD$M_SNAPSHOT_PENDING 0x1 #define SHAD$M_SNAPSHOT_COMPLETE 0x2 #define SHAD$M_READ_MASTER 0x4 #define SHAD$M_FLUSH_WLT 0x8 #define SHAD$M_ENFORCE_LOCAL_READ 0x10 #define SHAD$M_LOCAL_STATUS_BIT05 0x20 #define SHAD$M_NO_SINGLE_DECRAM 0x40 #define SHAD$M_HBMM_RECOVERY_IP 0x80 #define SHAD$M_HBMM_EVAL_POLICY_ENABLED 0x100 #define SHAD$M_HBMM_NO_MASTER_BITMAPS 0x200 #define SHAD$M_CLEAR_SCB_WRITECNT 0x400 #define SHAD$M_HOST_COMPARE_ALL_WRITES 0x10000 #define SHAD$M_BUGCHECK_ON_DATACHECK 0x20000 #define SHAD$M_AVAILABLE_IN_PROGRESS 0x40000 #define SHAD$M_LOCAL_STATUS_BIT19 0x80000 #define SHAD$M_WBM 0x100000 #define SHAD$M_WBM_WRTLCK 0x200000 #define SHAD$M_USE_MASTER_FOR_READ 0x400000 #define SHAD$M_ABORT_VU 0x800000 #define SHAD$M_SPLIT_READ_LBNS 0x1000000 #define SHAD$M_LOCAL_STATUS_BIT25 0x2000000 #define SHAD$M_LOCAL_STATUS_BIT26 0x4000000 #define SHAD$M_SCB_UPDATE_FAILED 0x8000000 #define SHAD$M_SKIP_IF_HBMM_IS_ENABLED 0x40000000 #define SHAD$M_MUST_BE_MERGED 0x80000000 #define SHAD$M_NORMAL 0x1 #define SHAD$M_NEW 0x2 #define SHAD$M_COPYING 0x20 #define SHAD$M_MERGING 0x40 #define SHAD$M_MINIMRG 0x80 #define SHAD$M_COPY_RESET 0x100 #define SHAD$M_BOOTING 0x200 #define SHAD$M_SCB_WLG 0x400 #define SHAD$M_MUST_MRG 0x4000 #define SHAD$M_FAILED 0x8000 #define SHAD$M_MBR_COPY 0x1 #define SHAD$M_MBR_MERGE 0x2 #define SHAD$M_MBR_CIP 0x4 #define SHAD$M_MBR_SRC 0x20 #define SHAD$M_MBR_MCPY 0x40 #define SHAD$M_MBR_VALID 0x80 #define SHAD$M_MBR_FCPY 0x1 #define SH$C_CIP_MASK 263172 /* 00040404 */ #define SH$C_MCPY_MASK 4210752 /* 00404040 */ #define SH$C_MBR_MCPY_MASK 4210752 /* 00404040 */ #define SH$C_VALID_CIP_COPY_MBR0 133 /* 00000085 */ #define SH$C_VALID_CIP_COPY_MBR1 34048 /* 00008500 */ #define SH$C_VALID_CIP_COPY_MBR2 8716288 /* 00850000 */ #define SH$C_VALID_SRC_MBR0 160 /* 000000A0 */ #define SH$C_VALID_SRC_MBR1 40960 /* 0000A000 */ #define SH$C_VALID_SRC_MBR2 10485760 /* 00A00000 */ #define SHAD$M_CA_COPY_ACTIVATED 0x1 #define SHAD$M_CA_LOCAL_COPY 0x2 #define SHAD$M_CA_REMOTE_COPY 0x4 #define SHAD$M_CA_COPY_PATH_EST 0x8 #define SHAD$M_CA_COPY_RETRY 0x10 #define SHAD$M_CA_COPY_DISABLE 0x20 #define SHAD$M_CA_LDCD_DISABLED 0x40 #define SHAD$M_CA_RDCD_DISABLED 0x80 #define SHAD$M_CA_CHECK_BITMAP_ERR 0x80000000 #define SHAD$M_IN_PROG 0x1 #define SHAD$M_INITING 0x2 #define SHAD$M_MMB_VALID 0x4 #define SHAD$M_MMB_ALLOCATION_FAILED 0x8 #define SHAD$M_LOST_CNID 0x10 #define SHAD$M_TABLE_GENERATION 0x20 #define SHAD$M_SWITCHING 0x40 #define SHAD$M_FLUSH_RATE_EXCEEDED 0x1 #define SHAD$M_BOOT_DEVICE_GONE 0x1 #define SHAD$M_MASTER_EQL_BOOT_DEV 0x2 #define SHAD$M_ORIBOOTDEV_SRC_VALID 0x8 #define SHAD$M_MASTER_ON_BAD_ADP_PATH 0x10 #define SHAD$M_BOOTED_ON_EMULATED_PATH 0x20 #define SHAD$M_MASTER_ON_EMULATED_PATH 0x40 #define SHAD$M_DUMP_UNIT_NUMBER_WRITTEN 0x80 #define SHAD$M_NODMPDISK 0x8000 #define SHAD$M_EXTENDED_INVWLG 0x1 #define SHAD$M_EXTENDED_INVWLG_PENDING 0x2 #define SHAD$M_EXTENDED_RESTARTED_TRIGR 0x4 #define SHAD$M_EXTENDED_WLG_TO_ON 0x8 #define SHAD$M_EXTENDED_EP_INPROGRESS 0x10 #define SHAD$M_EXTENDED_EP_DONE 0x20 #define SHAD$M_EXTENDED_SHDCPY_GTLK_ACT 0x40 #define SHAD$M_EXTENDED_INVWLG_NEEDED 0x80 #define SHAD$M_EXTENDED_COPY_COLLISIONS 0x200 #define SHAD$M_EXTENDED_COPY_HOTBLOCKS 0x400 #define SHAD$M_EXTENDED_DO_PASSIVE_MV 0x800 #define SHAD$M_COPY_MERGE_COMPLETE_TIME 0x1000 #define SHAD$M_EXTENDED_MBR_CIP 0x1 #define SHAD$M_HOMEBLOCK_CHECKSUM_BAD 0x4 #define SHAD$M_ODSII_CHECK_BAD 0x8 #define SHAD$M_SCB_CHECKSUM_BAD 0x10 #define SHAD$M_SCB_WRONG_VU 0x20 #define SHAD$M_SCB_NOMATCH_MOUNTTIME 0x40 #define SHAD$M_SCB_BAD_VOL_LOCK_NAME 0x80 #define SHAD$M_BIT16 0x10000 #define SHAD$M_COPY_FROM_MASTER 0x20000 #define SHAD$M_HANDLE_VALID 0x40000 #define SHAD$M_REMOVE_THIS_MBR 0x80000 #define SHAD$M_USE_ONE_SRC_MBR 0x100000 #define SHAD$M_DECRAM_MBR 0x200000 #define SHAD$M_INCOMPATIBLE_SCB 0x400000 #define SHAD$M_SHD_WAS_CLEAR 0x800000 #define SHAD$M_BIT24 0x1000000 #define SHAD$M_BIT25 0x2000000 #define SHAD$M_BIT26 0x4000000 #define SHAD$M_BIT27 0x8000000 #define SHAD$M_IOERROR 0x10000000 #define SHAD$M_USER_SUPPLIED_READ_BIAS 0x20000000 #define SHAD$M_SOURCE_DCD_MBR 0x40000000 #define SHAD$M_BIT31 0x80000000 #define SHAD$C_ID_BIAS 100000 /* */ #define SHAD$M_QUIESCENT_POINT_EVENT 0x1 #define SHAD$M_SEQUENTIAL_COMMAND 0x2 #define SHAD$M_MEMBERSHIP_CHANGE 0x4 #define SHAD$M_PREVENT_MBR_CHANGE 0x8 #define SHAD$M_LOCAL_QUIESCE 0x10 #define SHAD$M_TRIGGER_VALIDATE 0x20 #define SHAD$M_SEQUENTIAL_NOP 0x40 #define SHAD$M_LOCAL_WLG 0x1 #define SHAD$M_EVALUATION_THREAD_ACTIVE 0x2 #define SHAD$M_WLG_THRESHOLD_ACTIVE 0x4 #define SHAD$M_WHM_DEAL_TIMR_ACTIVE 0x8 #define SHAD$M_PENDING_WLG_OFF 0x10 #define SHAD$M_PENDING_WLG_ON 0x20 #define SHAD$M_PENDING_WLG_OFF_SCB 0x40 #define SHAD$M_PENDING_WLG_ON_SCB 0x80 #define SHAD$M_DELETE_ENTRIES 0x100 #define SHAD$M_NF_TMP_IN_USE 0x10000 #define SHAD$M_CONT_ID_CHECK_DISABLED 0x20000 #define SHAD$M_WLGPRM_BAD_STATUS 0x40000 #define SHAD$M_WLG100_BAD_STATUS 0x80000 #define SHAD$M_WLGLCK_BAD_STATUS 0x100000 #define SHAD$M_GET_LOCK_MAP_FAILED 0x200000 #define SHAD$M_DISABLE_WLG 0x1 #define SHAD$M_ENABLE_WLG 0x2 #define SHAD$M_DRAIN_IO_0 0x1 #define SHAD$M_DRAIN_IO_1 0x2 #define SHAD$M_DRAIN_IO_2 0x4 #define SHAD$M_DRAIN_IO_3 0x8 #define SHAD$M_DRAIN_IO_4 0x10 #define SHAD$M_DRAIN_IO_5 0x20 #define SHAD$M_DRAIN_IO_6 0x40 #define SHAD$M_DRAIN_IO_7 0x80 #define SHAD$M_DRAIN_IO_8 0x100 #define SHAD$M_DRAIN_IO_9 0x200 #define SHAD$M_DRAIN_IO_A 0x400 #define SHAD$M_DRAIN_IO_B 0x800 #define SHAD$M_DRAIN_IO_C 0x1000 #define SHAD$M_DRAIN_IO_D 0x2000 #define SHAD$M_DRAIN_IO_E 0x4000 #define SHAD$M_DRAIN_IO_F 0x8000 #define SHAD$K_VETO_NEW_CHAR 11181 /* Value used to veto proposed NEW_CHAR change */ #define SHAD$M_SHADOWING_LEVEL_BIT0 0x1 #define SHAD$M_SHADOWING_LEVEL_BIT1 0x2 #define SHAD$M_SHADOWING_LEVEL_BIT2 0x4 #define SHAD$M_SHADOWING_LEVEL_BIT3 0x8 #define SHAD$K_LENGTH 7424 /*Length of Structure */ #define SHAD$C_LENGTH 7424 /*Length of Structure */ #ifdef __cplusplus /* Define structure prototypes */ struct _ucb; struct _vcb; struct _irp; struct _wbmb; struct _tqe; struct _hbmm_ep; #endif /* #ifdef __cplusplus */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _shad { #pragma __nomember_alignment __union { struct _shad *shad$l_flink; /* Used for offset determination */ struct _shad *shad$l_priority_fl; /* Priority Level Linked List */ } shad$r_shad_start_overlay; struct _shad *shad$l_priority_bl; /* Backward link */ unsigned short int shad$w_size; /* Size of this structure */ unsigned char shad$b_type; /* Standard fields */ unsigned char shad$b_subtyp; /* ... */ struct _ucb *shad$l_vu_ucb; /* Unit Control Block for VU */ struct _vcb *shad$l_vu_vcb; /* Volume Control Block for VU */ __union { /* */ unsigned int shad$l_old_driver_mode; /* */ struct _irp *shad$l_active_irps; /* Obsolete Active "Master" IRPs */ } shad$r_shadspare_overlay; struct _irp *shad$l_perm_irp; /* Volume Processing always needs one .... */ unsigned int shad$l_notification_id; /* Notification ID */ LOCK shad$b_membership_permission; /* ($MBRPRM) Shadow set membership change permission lock */ LOCK shad$b_membership_lock; /* ($MBRSHP) Shadow set membership lock */ LOCK shad$b_member_of_set; /* ($IN_SET) Shadow set guaranteed member lock */ LOCK shad$b_watcher_lock; /* ($WATCHR) Shadow set membership lock watcher lock */ LOCK shad$b_seq_cmd_permission; /* ($SEQPRM) Shadow set sequential command permission lock */ /* */ /* The following definitions are to allow DPDRIVER to work correctly, on older versions. */ /* We do this by defining multiple locations to contain "GENERATION Numbers" ... the only item that */ /* the DPDriver was extracting. Older versions of SHD_RELEASE_FLAG.MAR have the specifics and the assume */ /* statements. Spares added to insure that the HOLE is in the correct location */ /* */ unsigned int shad$l_lookahead; unsigned int shad$l_max_mbrs; unsigned int shad$l_spare4 [3]; unsigned char shad$b_wbm_bitmap_group; unsigned char shad$b_spare1; unsigned short int shad$w_spare3; __union { unsigned char shad$b_hole [96]; __struct { unsigned int shad$l_track_wbm; /* Last WBM call locator */ unsigned int shad$l_scp_merge_repair_count; unsigned int shad$l_app_merge_repair_count; unsigned __int64 shad$q_dpgen1; unsigned int shad$l_recoverable_err_ctr [16]; unsigned int shad$l_recoverable_err_time [16]; unsigned char shad$b_node_map2 [32]; unsigned __int64 shad$q_dpgen2; unsigned int shad$l_stop_merge_at_lbn; /* Suspend full merge after xyzzy lbn is passed */ unsigned __int64 shad$q_dpgen3; } shad$r_reserved_storage_overlay_2; } shad$r_reserved_storage_overlay; /* End of DPDRIVER specific change */ LOCK shad$b_seq_cmd_lock; /* ($SEQCMD) Shadow set sequential command lock */ LOCK shad$b_copier_lock; /* ($COPIER) Shadow set copier lock */ unsigned char shad$b_node_map [32]; /* Mounted node bit map */ __union { /* Align the following queues properly */ /* and create a status longword which isn't completely zeroed by certain */ /* state changes. */ unsigned int shad$l_local_status; /* Node specific status */ __struct { unsigned shad$v_snapshot_pending : 1; /* Snapshot shutdown/restart initiated */ unsigned shad$v_snapshot_complete : 1; /* Snapshot shutdown/restart complete */ unsigned shad$v_read_master : 1; /* Read only from the master disk */ unsigned shad$v_flush_wlt : 1; /* Flush write log table */ unsigned shad$v_enforce_local_read : 1; /* Bias the READ I/O to best local members */ unsigned shad$v_local_status_bit05 : 1; /* */ unsigned shad$v_no_single_decram : 1; /* Permanent Storage device required */ unsigned shad$v_hbmm_recovery_ip : 1; /* Host Based Mini Merge is actively calling WBM to determine which LBAs must be \ merged */ unsigned shad$v_hbmm_eval_policy_enabled : 1; /* HBMM "evaluate policy" for master bitmap creation is enabled on server\ */ unsigned shad$v_hbmm_no_master_bitmaps : 1; /* HBMM the last Pending Write "evaluate policy" for master bitmap creation\ is enabled on server */ unsigned shad$v_clear_scb_writecnt : 1; /* If the VU is _SWL and a full merge is completed ... do this. */ unsigned shad$v_filler_local_status_0 : 1; unsigned shad$v_filler_local_status_1 : 4; unsigned shad$v_host_compare_all_writes : 1; /* Force host compare every write I/O */ unsigned shad$v_bugcheck_on_datacheck : 1; /* If host compare on write I/O fails */ unsigned shad$v_available_in_progress : 1; /* */ unsigned shad$v_local_status_bit19 : 1; /* */ unsigned shad$v_wbm : 1; /* WBM call active for Mini Copy */ unsigned shad$v_wbm_wrtlck : 1; /* Mini Copy */ unsigned shad$v_use_master_for_read : 1; /* NCA Copy Read Source */ unsigned shad$v_abort_vu : 1; /* Requested Via User Interface */ unsigned shad$v_split_read_lbns : 1; /* */ unsigned shad$v_local_status_bit25 : 1; /* */ unsigned shad$v_local_status_bit26 : 1; /* */ unsigned shad$v_scb_update_failed : 1; /* */ unsigned shad$v_filler_local_status_2 : 2; unsigned shad$v_skip_if_hbmm_is_enabled : 1; /* Used after VU successfully completes MV when scanning the priority queu\ e for VUs to bump */ unsigned shad$v_must_be_merged : 1; /* For NPW to require a merge operation */ } shad$r_local_status_bits; } shad$r_local_status_overlay; struct _irp *shad$l_active_fl; /* FL for Active Queue */ struct _irp *shad$l_active_bl; /* BL for Active Queue */ struct _irp *shad$l_restart_fl; /* FL for restart wait queue */ struct _irp *shad$l_restart_bl; /* BL for restart wait queue */ unsigned short int shad$w_wasclr_count; /* Mini Copy counter */ unsigned short int shad$w_delay_start_of_copy; /* Copy startup delay count */ /* */ /* define the LAST_RINDX so that it can be used as a byte and yet maintain */ /* longword alignment. */ /* */ __union { unsigned int shad$l_last_rindx; /* Index of last read SSM */ unsigned char shad$b_last_rindx; /* */ } shad$r_indx_structure; __struct { unsigned int shad$l_copy_vector; /* Address of COPY routine */ unsigned int shad$l_merge_vector; /* Address of full MERGE or HBMM routine */ unsigned int shad$l_write_vector; /* Address of WRITE Startio routine */ unsigned int shad$l_read_vector; /* Address of DSE Startio routine */ unsigned int shad$l_spare_vector; /* Spare */ } shad$r_vector; unsigned int shad$l_spare_array [7]; /* */ /* The following fields, up to the next comment are placed contiguously in */ /* this data structure so that they can be copied from the SCB in one */ /* instruction. */ /* */ unsigned __int64 shad$q_genernum; /* Shadow Set generation number */ unsigned __int64 shad$q_unit_id; /* unique cluster-wide identifier */ __union { unsigned short int shad$w_status; /* Volume status: */ __struct { unsigned shad$v_normal : 1; /* Shadow set populated and online */ unsigned shad$v_new : 1; /* Newly created, no members yet */ unsigned shad$v_filler_sts_1 : 3; /* */ unsigned shad$v_copying : 1; /* Copy State */ unsigned shad$v_merging : 1; /* Merge State */ unsigned shad$v_minimrg : 1; /* Mini Merge in progress */ unsigned shad$v_copy_reset : 1; /* Reset Shadow Server Copy mode */ unsigned shad$v_booting : 1; /* Shadow set in booting state */ unsigned shad$v_scb_wlg : 1; /* Write Logging Phase 1 enabled */ unsigned shad$v_filler_sts_2 : 3; /* Reserved */ unsigned shad$v_must_mrg : 1; /* This set requires a full merge */ unsigned shad$v_failed : 1; /* Shadow set not populated */ } shad$r_status_bits; } shad$r_status_overlay; __union { unsigned char shad$b_member_status; /* Member status bits */ __struct { unsigned shad$v_mbr_copy : 1; /* Member involved in copy */ unsigned shad$v_mbr_merge : 1; /* Member being merged */ unsigned shad$v_mbr_cip : 1; /* Cluster wide copy in progress bit */ unsigned shad$v_filler_jja3 : 1; unsigned shad$v_filler_jja5 : 1; unsigned shad$v_mbr_src : 1; /* Member can be used for source */ unsigned shad$v_mbr_mcpy : 1; /* Mini Copy candidate */ unsigned shad$v_mbr_valid : 1; /* Status information is valid */ } shad$r_member_status_bits; __struct { unsigned shad$v_mbr_fcpy : 1; /* Member involved in copy */ unsigned shad$v_filler_jja1 : 7; } shad$r_member_status_bits_ing; } shad$r_member_status_overlay [16]; unsigned short int shad$w_scb_mbz; /* Historically cleared by UPDATE_DISKS */ unsigned int shad$l_spare7; unsigned __int64 shad$q_member_ids [16]; /* Unit ID for member */ unsigned int shad$l_scb_lbn; /* Unit Control Block for VU */ unsigned char shad$b_devices; /* Number of devices in SS */ unsigned char shad$b_members; /* Number of full members */ __union { unsigned char shad$b_master_index; /* Array index to master UCB */ unsigned char shad$b_mast_indx; /* Array index to master UCB */ } shad$r_masterindex_overlay; unsigned char shad$b_mrg_targets; /* Merge Copy Targets */ __union { unsigned char shad$b_fc_targets; /* Full Copy Targets */ unsigned char shad$b_copy_targets; /* Full or MINI Copy Targets */ } shad$r_copytarget_overlay; unsigned char shad$b_decram_mbrs; /* Number of DECram devices */ char shad$b_filler_4 [6]; /* Reserved for alignment */ /* */ /* Maintain the following array as the last part of this data structure */ /* in order to maintain the longword alignment of fields preceding it. */ /* */ struct _ucb *shad$l_member_ucb [16]; /* UCB for member */ struct _ucb *shad$l_filler7 [10]; struct _wbmb *shad$l_wbmb; /* For Mini Copy */ struct _vcb *shad$l_member_vcb [16]; /* VCB for member */ __union { unsigned int shad$l_copy_lbn [16]; /* Last LBN Copied */ unsigned int shad$l_copy_or_merge_lbn [16]; /* Last or either LBN */ unsigned int shad$l_merge_lbn [16]; /* Last LBN Merged */ } shad$r_copy_merge_overlay; unsigned int shad$l_perd_lckid [16]; /* sublock id for */ /* perdisk licensing */ /* Command Assist Information is added at the end of the shad to be */ /* backward compatible. */ struct _irp *shad$l_vp_irp; /* Volume processing master. */ unsigned int shad$l_spare2; unsigned int shad$l_wlg [16]; /* Array of table indicators. */ unsigned int shad$l_spare5; LOCK shad$b_copier_threshold; /* ($THRHLD) Copier threshold lock */ LOCK shad$b_wlg_inv; /* ($SHDINV) Invalidate WLG lock */ __union { unsigned int shad$l_ca_copy_status; /* Command Assisted Copy Status */ __struct { unsigned shad$v_ca_copy_activated : 1; /* Copy activated. */ unsigned shad$v_ca_local_copy : 1; /* Local copy. */ unsigned shad$v_ca_remote_copy : 1; /* Remote copy. */ unsigned shad$v_ca_copy_path_est : 1; /* Communication path established. */ unsigned shad$v_ca_copy_retry : 1; /* Retrying last I/O on a diff disk */ unsigned shad$v_ca_copy_disable : 1; /* Disable assisted copy. */ unsigned shad$v_ca_ldcd_disabled : 1; /* Disable local assisted copy */ unsigned shad$v_ca_rdcd_disabled : 1; /* Disable remote assisted copy */ unsigned shad$v_filler_copy_status : 23; /* */ unsigned shad$v_ca_check_bitmap_err : 1; /* WBM CHECK BITMAP returned an error */ } shad$r_ca_copy_status_bits; } shad$r_ca_copy_status_overlay; unsigned int shad$l_ca_source_index; /* Command Assisted Copy Source */ unsigned int shad$l_ca_target_index; /* Command Assisted Copy Target */ struct _tqe *shad$l_wlg_threshold_tqe; /* Pointer to [SHADOWING] TQE Phase I */ unsigned short int shad$w_failed_cnid; /* */ unsigned short int shad$w_remove_mbr_err; /* */ unsigned int shad$l_mmb; /* Pointer to Merge Management Block */ struct _irp *shad$l_srvr_irp; /* Shadow server I/O PTR */ __union { unsigned int shad$l_mm_sts; /* Longword boundary */ __struct { unsigned shad$v_in_prog : 1; /* In-progress */ unsigned shad$v_initing : 1; /* Table generation phase */ unsigned shad$v_mmb_valid : 1; /* mmb valid */ unsigned shad$v_mmb_allocation_failed : 1; /* allocation failed */ unsigned shad$v_lost_cnid : 1; /* lost one or more cnids */ unsigned shad$v_table_generation : 1; /* mmb in use for table */ unsigned shad$v_switching : 1; /* mini-merge to merge switch */ unsigned shad$v_fill_2_ : 1; } shad$r_mm_sts_bits; } shad$r_mm_sts_overlay; /* */ /* Additional count to track how many seqcmd threads are queued. */ /* */ unsigned int shad$l_seqcmd_thread_count; /* Count concurrent seqcmd threads */ __union { unsigned char shad$b_wlginv_map [32]; /* Nodes with WLG Lock */ } shad$r_write_logging_overlay; unsigned int shad$l_flush_count; /* Flush count */ unsigned int shad$l_flush_tick_count; /* Heart beat counter. */ __union { unsigned int shad$l_flush_sts; /* Longword boundary */ __struct { /* WLG on Off. */ unsigned shad$v_flush_rate_exceeded : 1; /* Flush rate exceeded */ unsigned shad$v_fill_3_ : 7; } shad$r_flush_sts_bits; } shad$r_flush_sts_overlay; /* SNAPSHOT_IRP longword unsigned; /* Pointer to the fastboot IRP */ /* SNAPSHOT_EXT longword unsigned; /* Pointer to the shadow extension */ /* SNAPSHOT_UCB longword unsigned; /* Pointer to the master UCB */ /* SNAPSHOT_STS longword unsigned; /* Saved master UCB$L_STS */ unsigned int shad$l_virtual_unit_timeout; /* */ /* Member array */ unsigned int shad$l_shadow_member_timeout [16]; unsigned short int shad$w_rwaitcntctr; /* Count of negative decrements */ unsigned char shad$b_rwaitcntlog; /* Number of error log entries to write */ unsigned char shad$b_rwaitcntbug; /* If sign bit is set, crash */ __union { unsigned int shad$l_wlg_preference; /* Write Logging PREFERENCE Phase 1 */ } shad$r_wrt_logging_overlay; /* */ /* DCD copy fence and some reserved longwords */ /* */ unsigned int shad$l_dcd_copy_lbn; /* DCD Copy Fence for Assisted Full Copy */ unsigned int shad$l_dcd_multiplier; /* DCD Multiplier */ unsigned int shad$l_dcd_wbm_target_mbr; /* Mini Copy member using DCD */ unsigned short int shad$w_abortvpctr; /* Count of negative decrements */ unsigned char shad$b_abortvplog; /* Number of error log entries to write */ unsigned char shad$b_abortvpbug; /* If sign bit is set, crash */ unsigned int shad$l_abort_incshamem; /* */ unsigned short int shad$w_incshamemctr; /* */ unsigned char shad$b_incshamemlog; /* */ unsigned char shad$b_incshamembug; /* */ /* */ /* Warning : Must be quadword aligned */ /* */ __union { unsigned short int shad$w_sdd_status; /* Master switching status: */ __struct { unsigned shad$v_boot_device_gone : 1; /* */ unsigned shad$v_master_eql_boot_dev : 1; /* */ unsigned shad$v_filler_7 : 1; /* */ unsigned shad$v_oribootdev_src_valid : 1; /* */ unsigned shad$v_master_on_bad_adp_path : 1; /* */ unsigned shad$v_booted_on_emulated_path : 1; /* */ unsigned shad$v_master_on_emulated_path : 1; /* */ unsigned shad$v_dump_unit_number_written : 1; /* */ unsigned shad$v_filler_6 : 7; /* Reserve one last field */ unsigned shad$v_nodmpdisk : 1; /* */ } shad$r_switchboot_status; } shad$r_sdd_status_overlay; unsigned short int shad$w_wbm_has_io; /* For Mini Copy */ unsigned int shad$l_vu_recoverable_err_cnt; unsigned int shad$l_vu_recoverable_err_time; LOCK shad$b_watcher_member_of_set; /* ($IN_SET) Shadow set guaranteed member WATCHER lock */ unsigned int shad$l_old_threshold_updatetime; /* For UPDATE_THRESHOLD's use */ __union { unsigned int shad$l_extended_status; /* Extended shadow volume status */ __struct { unsigned shad$v_extended_invwlg : 1; unsigned shad$v_extended_invwlg_pending : 1; unsigned shad$v_extended_restarted_trigr : 1; unsigned shad$v_extended_wlg_to_on : 1; unsigned shad$v_extended_ep_inprogress : 1; unsigned shad$v_extended_ep_done : 1; unsigned shad$v_extended_shdcpy_gtlk_act : 1; unsigned shad$v_extended_invwlg_needed : 1; unsigned shad$v_filler_extended_1 : 1; unsigned shad$v_extended_copy_collisions : 1; unsigned shad$v_extended_copy_hotblocks : 1; unsigned shad$v_extended_do_passive_mv : 1; unsigned shad$v_copy_merge_complete_time : 1; unsigned shad$v_filler_extended_12 : 19; } shad$r_extended_status_bits; } shad$r_extended_status_overlay; unsigned short int shad$w_devsts_mscp_mtverip_cntr; unsigned short int shad$w_devsts_seqcmd_there_cntr; unsigned short int shad$w_devsts_passive_mv_cntr; unsigned short int shad$w_devsts_node_failure_cntr; unsigned short int shad$w_devsts_wlgsta_cha_cntr; unsigned short int shad$w_devsts_wlg_inv_cntr; struct _irp *shad$l_trigger_validate_flink; struct _irp *shad$l_trigger_validate_blink; unsigned int shad$l_seq_cmd_flink; unsigned int shad$l_seq_cmd_blink; unsigned int shad$l_node_failure_flink; unsigned int shad$l_node_failure_blink; unsigned int shad$l_node_failure_queue; unsigned short int shad$w_node_failure_status1; unsigned short int shad$w_node_failure_status2; /* CONTROLLER_WLG longword unsigned dimension #XMAXMBRS; */ /* CONTROLLER_WLG_IOSB quadword unsigned; */ /* */ /* NOTE: The EXTENDED_MEMBER_STATUS byte is a local extension of the */ /* MEMBER_STATUS byte that resides in the SCB. Therefore, the */ /* MBR_VALID bit in MEMBER_STATUS is used to determine validity */ /* of the bits in EXTENDED_MEMBER_STATUS. */ /* */ __union { unsigned char shad$b_extended_member_status; __struct { unsigned shad$v_extended_mbr_cip : 1; /*( %X00000001 ) Local copy in progress bit */ unsigned shad$v_filler_extsts1 : 1; /*( %X00000002 ) */ unsigned shad$v_homeblock_checksum_bad : 1; /*( %X00000004 ) */ unsigned shad$v_odsii_check_bad : 1; /*( %X00000008 ) */ unsigned shad$v_scb_checksum_bad : 1; /*( %X00000010 ) */ unsigned shad$v_scb_wrong_vu : 1; /*( %X00000020 ) */ unsigned shad$v_scb_nomatch_mounttime : 1; /*( %X00000040 ) */ unsigned shad$v_scb_bad_vol_lock_name : 1; /*( %X00000080 ) */ } shad$r_extended_member_status_bits; } shad$r_extended_member_status_over [16]; char shad$b_filler_8 [4]; /* Alignment filler */ __union { unsigned int shad$l_mbr_status; __struct { /* */ unsigned shad$v_filler_do_not_use_1 : 8; /* Overlay of the byte member status bits */ /* Do not use these bits */ unsigned shad$v_filler_do_not_use_2 : 8; /* Overlay of the extended byte member status bits */ /* Do not use these bits */ unsigned shad$v_bit16 : 1; /*( %X00010000 ) */ unsigned shad$v_copy_from_master : 1; /*( %X00020000 ) for Write Bit Map */ unsigned shad$v_handle_valid : 1; /*( %X00040000 ) for " " " */ unsigned shad$v_remove_this_mbr : 1; /*( %X00080000 ) */ unsigned shad$v_use_one_src_mbr : 1; /*( %X00100000 ) as read source on full copy */ unsigned shad$v_decram_mbr : 1; /*( %X00200000 ) DECram, a potentially volatile member */ unsigned shad$v_incompatible_scb : 1; /*( %X00400000 ) */ unsigned shad$v_shd_was_clear : 1; /*( %X00800000 ) */ unsigned shad$v_bit24 : 1; /*( %X01000000 ) */ unsigned shad$v_bit25 : 1; /*( %X02000000 ) */ unsigned shad$v_bit26 : 1; /*( %X04000000 ) */ unsigned shad$v_bit27 : 1; /*( %X08000000 ) */ unsigned shad$v_ioerror : 1; /*( %X10000000 ) */ unsigned shad$v_user_supplied_read_bias : 1; /*( %X20000000 ) */ unsigned shad$v_source_dcd_mbr : 1; /*( %X40000000 ) Assisted copy source member */ unsigned shad$v_bit31 : 1; /*( %X80000000 ) */ } shad$r_mbr_status_bits; } shad$r_mbr_status_overlay [16]; unsigned int shad$l_filler_5 [1]; /* For alignment */ /* The following are referenced in SHSB$MATCH_MASTER_SCB only. */ unsigned int shad$l_vp_time; /* Time OUT Time */ unsigned int shad$l_vp_mbridx; /* Member Index */ unsigned int shad$l_vp_valcnt; /* Count of Reads */ unsigned int shad$l_vp_valscb; /* Count of Valid SCBs */ unsigned int shad$l_vp_mtch; /* Count matched */ unsigned int shad$l_vp_case; /* SET_CASE case */ unsigned int shad$l_vp_setcase; /* CHK_SET case */ unsigned int shad$l_vp_shadval; /* Valid SHAD Mbrs */ unsigned int shad$l_vp_scbmbr; /* Valid SCB Mbrs */ unsigned int shad$l_vp_mbrm; /* Matched Mbrs */ unsigned __int64 shad$q_vp_scr1; /* Temp. space */ unsigned int shad$l_vp_bufarray [16]; /* SCB Buffer Array */ struct _irp *shad$l_vp_irparray [16]; /* IRP Array */ unsigned int shad$l_vp_idxarray [16]; /* Index Array */ /* The following are referenced in SHDR$START_ADDSHAD only. */ unsigned __int64 shad$q_add_scr1; /* Temporary Space. */ /* The following are referenced in SHLK$NODE_FAILURE only. */ unsigned int shad$l_nf_tmp1_01; /* Temporary Space. */ unsigned int shad$l_nf_tmp1_02; /* Temporary Space */ /* The following constant is used by the SCSI Naming changes */ /* it is the bias used to ensure that an SCSSYTEMID cannot */ /* be mistaken for an allocation class. */ /* Added for threads package */ /* */ unsigned int shad$l_active_ctxb_fl; /* Thread active queue */ unsigned int shad$l_active_ctxb_bl; unsigned int shad$l_stalled_ctxb_fl; /* Thread stall queue */ unsigned int shad$l_stalled_ctxb_bl; unsigned int shad$l_intlio_ctxb_fl; /* Internal I/O queue */ unsigned int shad$l_intlio_ctxb_bl; unsigned int shad$l_fork_ctxb_fl; /* Forking queue */ unsigned int shad$l_fork_ctxb_bl; unsigned int shad$l_lock_ctxb_fl; /* Locking queue */ unsigned int shad$l_lock_ctxb_bl; unsigned int shad$l_special_event_fl; /* Threads waiting to do special event */ unsigned int shad$l_special_event_bl; unsigned int shad$l_unstoppable_ctxb_fl; /* Unstoppable threads */ unsigned int shad$l_unstoppable_ctxb_bl; unsigned __int64 shad$q_seqcmd_seqnum; /* Sequence number */ __union { /* Significant events */ unsigned int shad$l_special_events; __struct { unsigned shad$v_quiescent_point_event : 1; /* Quiescent Point active */ unsigned shad$v_sequential_command : 1; /* Sequential command */ unsigned shad$v_membership_change : 1; /* Membership change */ unsigned shad$v_prevent_mbr_change : 1; /* Prevent members change */ unsigned shad$v_local_quiesce : 1; /* Local quiesce. */ unsigned shad$v_trigger_validate : 1; /* Trigger validate blocking ast */ unsigned shad$v_sequential_nop : 1; /* Emulation of sequential NOP's */ unsigned shad$v_fill_4_ : 1; } shad$r_special_events_bits; } shad$r_special_events_overlay; struct _tqe *shad$l_evaluation_thread_tqe; struct _tqe *shad$l_whm_deal_timr_tqe; __union { unsigned int shad$l_wlg_status; /* */ __struct { /* */ unsigned shad$v_local_wlg : 1; /* */ unsigned shad$v_evaluation_thread_active : 1; /* */ unsigned shad$v_wlg_threshold_active : 1; /* */ unsigned shad$v_whm_deal_timr_active : 1; /* */ unsigned shad$v_pending_wlg_off : 1; /* */ unsigned shad$v_pending_wlg_on : 1; /* */ unsigned shad$v_pending_wlg_off_scb : 1; /* */ unsigned shad$v_pending_wlg_on_scb : 1; /* */ unsigned shad$v_delete_entries : 1; /* */ unsigned shad$v_filler_wlg_status1 : 7; unsigned shad$v_nf_tmp_in_use : 1; /* */ unsigned shad$v_cont_id_check_disabled : 1; /* */ unsigned shad$v_wlgprm_bad_status : 1; /* */ unsigned shad$v_wlg100_bad_status : 1; /* */ unsigned shad$v_wlglck_bad_status : 1; /* */ unsigned shad$v_get_lock_map_failed : 1; /* */ unsigned shad$v_filler_wlg_status2 : 10; } shad$r_wlg_status_bits; } shad$r_wlg_status_overlay; __union { unsigned short int shad$w_wlg_control; __struct { unsigned shad$v_disable_wlg : 1; unsigned shad$v_enable_wlg : 1; unsigned shad$v_fill_5_ : 6; } shad$r_wlg_control_bits; } shad$r_wlg_control_overlay; __union { unsigned short int shad$w_drain_io_flag; /* RWAITCNT Bump flags Reserved for alignment */ __struct { unsigned shad$v_drain_io_0 : 1; unsigned shad$v_drain_io_1 : 1; unsigned shad$v_drain_io_2 : 1; unsigned shad$v_drain_io_3 : 1; unsigned shad$v_drain_io_4 : 1; unsigned shad$v_drain_io_5 : 1; unsigned shad$v_drain_io_6 : 1; unsigned shad$v_drain_io_7 : 1; unsigned shad$v_drain_io_8 : 1; unsigned shad$v_drain_io_9 : 1; unsigned shad$v_drain_io_a : 1; unsigned shad$v_drain_io_b : 1; unsigned shad$v_drain_io_c : 1; unsigned shad$v_drain_io_d : 1; unsigned shad$v_drain_io_e : 1; unsigned shad$v_drain_io_f : 1; } shad$r_drain_io_flag_bits; } shad$r_drain_io_flag_overlay; unsigned int shad$l_ca_wasset_ctr; /* Count these */ unsigned int shad$l_spare6 [26]; LOCK shad$b_vu_char; /* ($VUCHAR) VU Characteristics */ LOCK shad$b_wlg_inv_permission; /* ($WLGPRM) Invalidate WLG permission lock */ LOCK shad$b_copier_thrhld_permission; /* ($THRPRM) Copier threshold permission lock */ __union { /* Per V.U. */ unsigned int shad$l_threshold_bias; /* Both referenced */ __struct { unsigned short int shad$w_threshold_io_count; /* */ unsigned short int shad$w_threshold_seconds; /* */ } shad$r_threshold_overlay_2; } shad$r_threshold_overlay; unsigned int shad$l_noctx_restrt_fl; /* User IRPs queued for */ unsigned int shad$l_noctx_restrt_bl; /* Retry. */ __union { /* */ unsigned int shad$l_wbm_handle [16]; /* Per Member Mini Copy Storage */ } shad$r_wbm_overlay; unsigned int shad$l_spare8; unsigned __int64 shad$q_reserved_1; unsigned __int64 shad$q_reserved_2; unsigned int shad$l_threshold_update_time; /* For UPDATE_THRESHOLD's use */ unsigned int shad$l_threshold_update_count; /* For UPDATE_THRESHOLD's use */ unsigned int shad$l_threshold_updateseconds; /* For UPDATE_THRESHOLD's use */ unsigned int shad$l_threshold_update_io; /* For UPDATE_THRESHOLD's use */ unsigned __int64 shad$q_vu_volsize; unsigned __int64 shad$q_reserved_3; unsigned int shad$l_hbmm_preference; /* */ /* */ /* For Fibre Channel locally remote device determination */ /* KEEP this QUADWORD Aligned */ /* */ unsigned int shad$l_vu_site_value; /* */ unsigned int shad$l_member_site_value [16]; unsigned int shad$l_bitmap_size; /* */ /* Merge Signal Stuff */ /* */ LOCK shad$b_mrgprm; /* ($MRGPRM) */ LOCK shad$b_mrgsig; /* ($MRGSIG) */ LOCK shad$b_mrgval; /* ($MRGVAL) */ unsigned int shad$l_trace1; /* SHAD$L_EXTENDED_STATUS */ unsigned int shad$l_trace2; /* SHAD$W_STATUS, R0 (low word) */ unsigned int shad$l_trace3; /* Trace Number */ unsigned int shad$l_trace4; /* Trace Number */ unsigned int shad$l_log_cmdref; /* Tmp Storage for LOG_IT */ unsigned int shad$l_nolog_cnt; /* Count of LOG_IT calls that failed. */ unsigned int shad$l_pool_addr; /* Location for Chaining Allocated POOL. */ /* */ /* N.B. The high word for each member in this array MUST remain unused */ /* to optimize the selection login in find_read_ucb. */ /* */ /* Read Bias - Setup by SHSB$SET_BIAS A.K.A. Read Cost */ /* Referenced by FIND_READ_UCB */ unsigned int shad$l_read_bias [16]; /* */ /* DDS SHAD Support */ /* */ LOCK shad$b_received_vu_char; /* ($RCVUCH) All received resultant VU characteristics after vote */ LOCK shad$b_new_char; /* ($NEWCHR) Proposed change to VU characterics */ unsigned int shad$l_mos_valblk_offset; /* Offset into MOS value block */ __struct { unsigned shad$v_shadowing_level_bit0 : 1; /* Prevents older versions from mounting the shadow set */ unsigned shad$v_shadowing_level_bit1 : 1; /* Prevents older versions from mounting the shadow set */ unsigned shad$v_shadowing_level_bit2 : 1; /* Prevents older versions from mounting the shadow set */ unsigned shad$v_shadowing_level_bit3 : 1; /* Prevents older versions from mounting the shadow set */ unsigned shad$v_filler_valblk_offset : 28; } shad$r_valblk_offset_bits; unsigned int shad$l_req_vu_char_mask_1; unsigned int shad$l_req_vu_char_mask_2; unsigned int shad$l_new_vu_char_mask_1; unsigned int shad$l_new_vu_char_mask_2; unsigned int shad$l_asm_exists_entry; /* For use of Mount Done */ unsigned int shad$l_spare10; /* */ unsigned int shad$l_limit_lbn [16]; /* */ /* Last generation number written to a specific SSM. */ /* */ LOCK shad$b_index0_id_gen_num; /* ($LGNIN0) Last GN for Index 0 */ LOCK shad$b_index1_id_gen_num; /* ($LGNIN1) Last GN for Index 1 */ LOCK shad$b_index2_id_gen_num; /* ($LGNIN2) Last GN for Index 2 */ LOCK shad$b_index3_id_gen_num; /* ($LGNIN3) Last GN for Index 0 */ LOCK shad$b_index4_id_gen_num; /* ($LGNIN4) Last GN for Index 1 */ LOCK shad$b_index5_id_gen_num; /* ($LGNIN5) Last GN for Index 2 */ LOCK shad$b_index6_id_gen_num; /* ($LGNIN6) Last GN for Index 0 */ LOCK shad$b_index7_id_gen_num; /* ($LGNIN7) Last GN for Index 1 */ LOCK shad$b_index8_id_gen_num; /* ($LGNIN8) Last GN for Index 2 */ LOCK shad$b_index9_id_gen_num; /* ($LGNIN9) Last GN for Index 0 */ LOCK shad$b_index10_id_gen_num; /* ($LGNIN10) Last GN for Index 1 */ LOCK shad$b_index11_id_gen_num; /* ($LGNIN11) Last GN for Index 2 */ LOCK shad$b_index12_id_gen_num; /* ($LGNIN12) Last GN for Index 0 */ LOCK shad$b_index13_id_gen_num; /* ($LGNIN13) Last GN for Index 1 */ LOCK shad$b_index14_id_gen_num; /* ($LGNIN14) Last GN for Index 2 */ LOCK shad$b_index15_id_gen_num; /* ($LGNIN15) Last GN for Index 0 */ unsigned int shad$l_copy_merge_priority; /* For HBMM */ unsigned int shad$l_do_shadow_copies_active; /* For priority level thread */ __union { /* */ unsigned int shad$l_hbmm_wbm_mst_hndl; /* HBMM master bitmap handle for VU on this node (if nonzero) */ unsigned int shad$l_hbmm_wbm_master_handle; /* HBMM master bitmap handle for VU on this node (if nonzero) */ } shad$r_shad_wbm_mst_overlay; struct _hbmm_ep *shad$ps_hbmm_ep; /* If nonzero, pointer to HBMM_EP structure used to trigger "evaluate policy" */ unsigned __int64 shad$q_hbmm_reset_time_of; /* Time of most recent HBMM bitmap reset for VU */ unsigned int shad$l_mini_copy_ip_cnid; /* This contains the CNID of the system that WAS doing it */ unsigned int shad$l_hbmm_reset_count; /* Count of times HBMM bitmaps reset for VU */ unsigned int shad$l_hbmm_lbns_merged; /* This contains count of LBNs merged while HBMM is running */ unsigned int shad$l_hbmm_lbns_not_merged; /* This contains count of LBNs not merged while HBMM is running */ unsigned int shad$l_rec_dly_per_srv_ssm; /* This contains the seconds of delay per SSM before this system attempts to obtain */ /* the copier lock */ unsigned int shad$l_served_path_delay_due; /* This contains aggregate due time for the served SSMs */ unsigned __int64 shad$q_consistency_timestamp; /* Copy of time stamp from SCB read of a MBR_SRC SSM contains systime */ /* when last transient state completed that left the VU in that state */ unsigned int shad$l_scb_shadowing_status; /* Contains SCB$w_SHADOWING_STATUS from SCB read of a MBR_SRC SSM */ unsigned int shad$l_spare9; unsigned __int64 shad$q_trace1; /* */ unsigned __int64 shad$q_trace2; /* */ unsigned __int64 shad$q_trace3; /* */ unsigned __int64 shad$q_trace4; /* */ unsigned __int64 shad$q_trace5; /* */ unsigned __int64 shad$q_trace6; /* */ unsigned __int64 shad$q_trace7; /* */ unsigned __int64 shad$q_trace8; /* */ unsigned __int64 shad$q_trace9; /* */ __union { /* */ unsigned int shad$l_copy_hotblocks; /* */ unsigned short int shad$w_copy_hotblocks; /* */ } shad$r_copy_hot; __union { /* */ unsigned int shad$l_copy_collisions; /* */ unsigned short int shad$w_copy_collisions; /* */ } shad$r_copy_col; unsigned int shad$l_hbmc_lbns_updated; /* Contains count of LBNs updated while mini copy is used */ unsigned int shad$l_optimal_hbmm_delay_due; /* Delay to allow systems that have a "pure" HBMM bitmap to obtain the _COPIER lock\ */ unsigned __int64 shad$q_ssm_gn_value [16]; unsigned __int64 shad$q_mounttime; /* Virtual Units current value, needed for Mini Copy Restart validation */ unsigned int shad$l_gn_update_active; /* Count number of blossomed generation numbers that ware waiting to be updated */ int shad$l_fill_gn [1]; LOCK shad$b_add_member; /* ($ADDMBR) VU Characteristics */ LOCK shad$b_new_member; /* ($NEWMBR) VU Characteristics */ LOCK shad$b_add_result; /* ($ADDRES) VU Characteristics */ /* */ /* Preserve quadword alignment for IRP */ /* */ __union { struct _irp *shad$l_irp; /* Pointer to shadow IRP */ unsigned int shad$l_shadend_plus; /* Reserved Storage */ } shad$r_shadend_structure; } SHAD; #if !defined(__VAXC) #define shad$l_flink shad$r_shad_start_overlay.shad$l_flink #define shad$l_priority_fl shad$r_shad_start_overlay.shad$l_priority_fl #define shad$l_old_driver_mode shad$r_shadspare_overlay.shad$l_old_driver_mode #define shad$l_active_irps shad$r_shadspare_overlay.shad$l_active_irps #define shad$b_hole shad$r_reserved_storage_overlay.shad$b_hole #define shad$l_track_wbm shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$l_track_wbm #define shad$l_scp_merge_repair_count shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$l_scp_merge_repair_cou\ nt #define shad$l_app_merge_repair_count shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$l_app_merge_repair_cou\ nt #define shad$q_dpgen1 shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$q_dpgen1 #define shad$l_recoverable_err_ctr shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$l_recoverable_err_ctr #define shad$l_recoverable_err_time shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$l_recoverable_err_time #define shad$b_node_map2 shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$b_node_map2 #define shad$q_dpgen2 shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$q_dpgen2 #define shad$l_stop_merge_at_lbn shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$l_stop_merge_at_lbn #define shad$q_dpgen3 shad$r_reserved_storage_overlay.shad$r_reserved_storage_overlay_2.shad$q_dpgen3 #define shad$l_local_status shad$r_local_status_overlay.shad$l_local_status #define shad$v_snapshot_pending shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_snapshot_pending #define shad$v_snapshot_complete shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_snapshot_complete #define shad$v_read_master shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_read_master #define shad$v_flush_wlt shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_flush_wlt #define shad$v_enforce_local_read shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_enforce_local_read #define shad$v_local_status_bit05 shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_local_status_bit05 #define shad$v_no_single_decram shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_no_single_decram #define shad$v_hbmm_recovery_ip shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_hbmm_recovery_ip #define shad$v_hbmm_eval_policy_enabled shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_hbmm_eval_policy_enabled #define shad$v_hbmm_no_master_bitmaps shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_hbmm_no_master_bitmaps #define shad$v_clear_scb_writecnt shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_clear_scb_writecnt #define shad$v_host_compare_all_writes shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_host_compare_all_writes #define shad$v_bugcheck_on_datacheck shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_bugcheck_on_datacheck #define shad$v_available_in_progress shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_available_in_progress #define shad$v_local_status_bit19 shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_local_status_bit19 #define shad$v_wbm shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_wbm #define shad$v_wbm_wrtlck shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_wbm_wrtlck #define shad$v_use_master_for_read shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_use_master_for_read #define shad$v_abort_vu shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_abort_vu #define shad$v_split_read_lbns shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_split_read_lbns #define shad$v_local_status_bit25 shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_local_status_bit25 #define shad$v_local_status_bit26 shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_local_status_bit26 #define shad$v_scb_update_failed shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_scb_update_failed #define shad$v_skip_if_hbmm_is_enabled shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_skip_if_hbmm_is_enabled #define shad$v_must_be_merged shad$r_local_status_overlay.shad$r_local_status_bits.shad$v_must_be_merged #define shad$l_last_rindx shad$r_indx_structure.shad$l_last_rindx #define shad$b_last_rindx shad$r_indx_structure.shad$b_last_rindx #define shad$l_copy_vector shad$r_vector.shad$l_copy_vector #define shad$l_merge_vector shad$r_vector.shad$l_merge_vector #define shad$l_write_vector shad$r_vector.shad$l_write_vector #define shad$l_read_vector shad$r_vector.shad$l_read_vector #define shad$l_spare_vector shad$r_vector.shad$l_spare_vector #define shad$w_status shad$r_status_overlay.shad$w_status #define shad$v_normal shad$r_status_overlay.shad$r_status_bits.shad$v_normal #define shad$v_new shad$r_status_overlay.shad$r_status_bits.shad$v_new #define shad$v_copying shad$r_status_overlay.shad$r_status_bits.shad$v_copying #define shad$v_merging shad$r_status_overlay.shad$r_status_bits.shad$v_merging #define shad$v_minimrg shad$r_status_overlay.shad$r_status_bits.shad$v_minimrg #define shad$v_copy_reset shad$r_status_overlay.shad$r_status_bits.shad$v_copy_reset #define shad$v_booting shad$r_status_overlay.shad$r_status_bits.shad$v_booting #define shad$v_scb_wlg shad$r_status_overlay.shad$r_status_bits.shad$v_scb_wlg #define shad$v_must_mrg shad$r_status_overlay.shad$r_status_bits.shad$v_must_mrg #define shad$v_failed shad$r_status_overlay.shad$r_status_bits.shad$v_failed #define shad$b_member_status shad$b_member_status #define shad$v_mbr_copy shad$r_member_status_bits.shad$v_mbr_copy #define shad$v_mbr_merge shad$r_member_status_bits.shad$v_mbr_merge #define shad$v_mbr_cip shad$r_member_status_bits.shad$v_mbr_cip #define shad$v_mbr_src shad$r_member_status_bits.shad$v_mbr_src #define shad$v_mbr_mcpy shad$r_member_status_bits.shad$v_mbr_mcpy #define shad$v_mbr_valid shad$r_member_status_bits.shad$v_mbr_valid #define shad$v_mbr_fcpy shad$r_member_status_bits_ing.shad$v_mbr_fcpy #define shad$b_master_index shad$r_masterindex_overlay.shad$b_master_index #define shad$b_mast_indx shad$r_masterindex_overlay.shad$b_mast_indx #define shad$b_fc_targets shad$r_copytarget_overlay.shad$b_fc_targets #define shad$b_copy_targets shad$r_copytarget_overlay.shad$b_copy_targets #define shad$l_copy_lbn shad$r_copy_merge_overlay.shad$l_copy_lbn #define shad$l_copy_or_merge_lbn shad$r_copy_merge_overlay.shad$l_copy_or_merge_lbn #define shad$l_merge_lbn shad$r_copy_merge_overlay.shad$l_merge_lbn #define shad$l_ca_copy_status shad$r_ca_copy_status_overlay.shad$l_ca_copy_status #define shad$v_ca_copy_activated shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_copy_activated #define shad$v_ca_local_copy shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_local_copy #define shad$v_ca_remote_copy shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_remote_copy #define shad$v_ca_copy_path_est shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_copy_path_est #define shad$v_ca_copy_retry shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_copy_retry #define shad$v_ca_copy_disable shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_copy_disable #define shad$v_ca_ldcd_disabled shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_ldcd_disabled #define shad$v_ca_rdcd_disabled shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_rdcd_disabled #define shad$v_ca_check_bitmap_err shad$r_ca_copy_status_overlay.shad$r_ca_copy_status_bits.shad$v_ca_check_bitmap_err #define shad$l_mm_sts shad$r_mm_sts_overlay.shad$l_mm_sts #define shad$v_in_prog shad$r_mm_sts_overlay.shad$r_mm_sts_bits.shad$v_in_prog #define shad$v_initing shad$r_mm_sts_overlay.shad$r_mm_sts_bits.shad$v_initing #define shad$v_mmb_valid shad$r_mm_sts_overlay.shad$r_mm_sts_bits.shad$v_mmb_valid #define shad$v_mmb_allocation_failed shad$r_mm_sts_overlay.shad$r_mm_sts_bits.shad$v_mmb_allocation_failed #define shad$v_lost_cnid shad$r_mm_sts_overlay.shad$r_mm_sts_bits.shad$v_lost_cnid #define shad$v_table_generation shad$r_mm_sts_overlay.shad$r_mm_sts_bits.shad$v_table_generation #define shad$v_switching shad$r_mm_sts_overlay.shad$r_mm_sts_bits.shad$v_switching #define shad$b_wlginv_map shad$r_write_logging_overlay.shad$b_wlginv_map #define shad$l_flush_sts shad$r_flush_sts_overlay.shad$l_flush_sts #define shad$v_flush_rate_exceeded shad$r_flush_sts_overlay.shad$r_flush_sts_bits.shad$v_flush_rate_exceeded #define shad$l_wlg_preference shad$r_wrt_logging_overlay.shad$l_wlg_preference #define shad$w_sdd_status shad$r_sdd_status_overlay.shad$w_sdd_status #define shad$v_boot_device_gone shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_boot_device_gone #define shad$v_master_eql_boot_dev shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_master_eql_boot_dev #define shad$v_oribootdev_src_valid shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_oribootdev_src_valid #define shad$v_master_on_bad_adp_path shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_master_on_bad_adp_path #define shad$v_booted_on_emulated_path shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_booted_on_emulated_path #define shad$v_master_on_emulated_path shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_master_on_emulated_path #define shad$v_dump_unit_number_written shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_dump_unit_number_written #define shad$v_nodmpdisk shad$r_sdd_status_overlay.shad$r_switchboot_status.shad$v_nodmpdisk #define shad$l_extended_status shad$r_extended_status_overlay.shad$l_extended_status #define shad$v_extended_invwlg shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_invwlg #define shad$v_extended_invwlg_pending shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_invwlg_pending #define shad$v_extended_restarted_trigr shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_restarted_trigr #define shad$v_extended_wlg_to_on shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_wlg_to_on #define shad$v_extended_ep_inprogress shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_ep_inprogress #define shad$v_extended_ep_done shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_ep_done #define shad$v_extended_shdcpy_gtlk_act shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_shdcpy_gtlk_act #define shad$v_extended_invwlg_needed shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_invwlg_needed #define shad$v_extended_copy_collisions shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_copy_collisions #define shad$v_extended_copy_hotblocks shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_copy_hotblocks #define shad$v_extended_do_passive_mv shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_extended_do_passive_mv #define shad$v_copy_merge_complete_time shad$r_extended_status_overlay.shad$r_extended_status_bits.shad$v_copy_merge_complete_time #define shad$b_extended_member_status shad$b_extended_member_status #define shad$v_extended_mbr_cip shad$r_extended_member_status_bits.shad$v_extended_mbr_cip #define shad$v_homeblock_checksum_bad shad$r_extended_member_status_bits.shad$v_homeblock_checksum_bad #define shad$v_odsii_check_bad shad$r_extended_member_status_bits.shad$v_odsii_check_bad #define shad$v_scb_checksum_bad shad$r_extended_member_status_bits.shad$v_scb_checksum_bad #define shad$v_scb_wrong_vu shad$r_extended_member_status_bits.shad$v_scb_wrong_vu #define shad$v_scb_nomatch_mounttime shad$r_extended_member_status_bits.shad$v_scb_nomatch_mounttime #define shad$v_scb_bad_vol_lock_name shad$r_extended_member_status_bits.shad$v_scb_bad_vol_lock_name #define shad$l_mbr_status shad$l_mbr_status #define shad$v_bit16 shad$r_mbr_status_bits.shad$v_bit16 #define shad$v_copy_from_master shad$r_mbr_status_bits.shad$v_copy_from_master #define shad$v_handle_valid shad$r_mbr_status_bits.shad$v_handle_valid #define shad$v_remove_this_mbr shad$r_mbr_status_bits.shad$v_remove_this_mbr #define shad$v_use_one_src_mbr shad$r_mbr_status_bits.shad$v_use_one_src_mbr #define shad$v_decram_mbr shad$r_mbr_status_bits.shad$v_decram_mbr #define shad$v_incompatible_scb shad$r_mbr_status_bits.shad$v_incompatible_scb #define shad$v_shd_was_clear shad$r_mbr_status_bits.shad$v_shd_was_clear #define shad$v_bit24 shad$r_mbr_status_bits.shad$v_bit24 #define shad$v_bit25 shad$r_mbr_status_bits.shad$v_bit25 #define shad$v_bit26 shad$r_mbr_status_bits.shad$v_bit26 #define shad$v_bit27 shad$r_mbr_status_bits.shad$v_bit27 #define shad$v_ioerror shad$r_mbr_status_bits.shad$v_ioerror #define shad$v_user_supplied_read_bias shad$r_mbr_status_bits.shad$v_user_supplied_read_bias #define shad$v_source_dcd_mbr shad$r_mbr_status_bits.shad$v_source_dcd_mbr #define shad$v_bit31 shad$r_mbr_status_bits.shad$v_bit31 #define shad$l_special_events shad$r_special_events_overlay.shad$l_special_events #define shad$v_quiescent_point_event shad$r_special_events_overlay.shad$r_special_events_bits.shad$v_quiescent_point_event #define shad$v_sequential_command shad$r_special_events_overlay.shad$r_special_events_bits.shad$v_sequential_command #define shad$v_membership_change shad$r_special_events_overlay.shad$r_special_events_bits.shad$v_membership_change #define shad$v_prevent_mbr_change shad$r_special_events_overlay.shad$r_special_events_bits.shad$v_prevent_mbr_change #define shad$v_local_quiesce shad$r_special_events_overlay.shad$r_special_events_bits.shad$v_local_quiesce #define shad$v_trigger_validate shad$r_special_events_overlay.shad$r_special_events_bits.shad$v_trigger_validate #define shad$v_sequential_nop shad$r_special_events_overlay.shad$r_special_events_bits.shad$v_sequential_nop #define shad$l_wlg_status shad$r_wlg_status_overlay.shad$l_wlg_status #define shad$v_local_wlg shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_local_wlg #define shad$v_evaluation_thread_active shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_evaluation_thread_active #define shad$v_wlg_threshold_active shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_wlg_threshold_active #define shad$v_whm_deal_timr_active shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_whm_deal_timr_active #define shad$v_pending_wlg_off shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_pending_wlg_off #define shad$v_pending_wlg_on shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_pending_wlg_on #define shad$v_pending_wlg_off_scb shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_pending_wlg_off_scb #define shad$v_pending_wlg_on_scb shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_pending_wlg_on_scb #define shad$v_delete_entries shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_delete_entries #define shad$v_nf_tmp_in_use shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_nf_tmp_in_use #define shad$v_cont_id_check_disabled shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_cont_id_check_disabled #define shad$v_wlgprm_bad_status shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_wlgprm_bad_status #define shad$v_wlg100_bad_status shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_wlg100_bad_status #define shad$v_wlglck_bad_status shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_wlglck_bad_status #define shad$v_get_lock_map_failed shad$r_wlg_status_overlay.shad$r_wlg_status_bits.shad$v_get_lock_map_failed #define shad$w_wlg_control shad$r_wlg_control_overlay.shad$w_wlg_control #define shad$v_disable_wlg shad$r_wlg_control_overlay.shad$r_wlg_control_bits.shad$v_disable_wlg #define shad$v_enable_wlg shad$r_wlg_control_overlay.shad$r_wlg_control_bits.shad$v_enable_wlg #define shad$w_drain_io_flag shad$r_drain_io_flag_overlay.shad$w_drain_io_flag #define shad$v_drain_io_0 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_0 #define shad$v_drain_io_1 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_1 #define shad$v_drain_io_2 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_2 #define shad$v_drain_io_3 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_3 #define shad$v_drain_io_4 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_4 #define shad$v_drain_io_5 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_5 #define shad$v_drain_io_6 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_6 #define shad$v_drain_io_7 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_7 #define shad$v_drain_io_8 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_8 #define shad$v_drain_io_9 shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_9 #define shad$v_drain_io_a shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_a #define shad$v_drain_io_b shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_b #define shad$v_drain_io_c shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_c #define shad$v_drain_io_d shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_d #define shad$v_drain_io_e shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_e #define shad$v_drain_io_f shad$r_drain_io_flag_overlay.shad$r_drain_io_flag_bits.shad$v_drain_io_f #define shad$l_threshold_bias shad$r_threshold_overlay.shad$l_threshold_bias #define shad$w_threshold_io_count shad$r_threshold_overlay.shad$r_threshold_overlay_2.shad$w_threshold_io_count #define shad$w_threshold_seconds shad$r_threshold_overlay.shad$r_threshold_overlay_2.shad$w_threshold_seconds #define shad$l_wbm_handle shad$r_wbm_overlay.shad$l_wbm_handle #define shad$v_shadowing_level_bit0 shad$r_valblk_offset_bits.shad$v_shadowing_level_bit0 #define shad$v_shadowing_level_bit1 shad$r_valblk_offset_bits.shad$v_shadowing_level_bit1 #define shad$v_shadowing_level_bit2 shad$r_valblk_offset_bits.shad$v_shadowing_level_bit2 #define shad$v_shadowing_level_bit3 shad$r_valblk_offset_bits.shad$v_shadowing_level_bit3 #define shad$l_hbmm_wbm_mst_hndl shad$r_shad_wbm_mst_overlay.shad$l_hbmm_wbm_mst_hndl #define shad$l_hbmm_wbm_master_handle shad$r_shad_wbm_mst_overlay.shad$l_hbmm_wbm_master_handle #define shad$l_copy_hotblocks shad$r_copy_hot.shad$l_copy_hotblocks #define shad$w_copy_hotblocks shad$r_copy_hot.shad$w_copy_hotblocks #define shad$l_copy_collisions shad$r_copy_col.shad$l_copy_collisions #define shad$w_copy_collisions shad$r_copy_col.shad$w_copy_collisions #define shad$l_irp shad$r_shadend_structure.shad$l_irp #define shad$l_shadend_plus shad$r_shadend_structure.shad$l_shadend_plus #endif /* #if !defined(__VAXC) */ /*++ */ /* Volume Shadowing Host-Based Mini Merge "Evaluate Policy" structure. */ /* */ /* The HBMM_EP is used to trigger a cluster-wide "evaluate policy" event for a */ /* specific VU. This structure is allocated and deallocate by SHDRIVER as */ /* its needed. When it exists, SHAD$PS_HBMM_EP contains a pointer to it. */ /* */ /*-- */ #define HBMM_EP$K_LENGTH 424 /* Length of Structure */ #define HBMM_EP$C_LENGTH 424 /* Length of Structure */ #ifdef __cplusplus /* Define structure prototypes */ struct _ucb; #endif /* #ifdef __cplusplus */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _hbmm_ep { #pragma __nomember_alignment struct _ucb *hbmm_ep$ps_vu_ucb; /* Unit Control Block for VU */ struct _shad *hbmm_ep$ps_shad; /* SHAD for the VU */ unsigned short int hbmm_ep$w_size; /* Size of this structure, bytes */ unsigned char hbmm_ep$b_type; /* Structure type: DYN$C_MISC */ unsigned char hbmm_ep$b_subtype; /* Structure subtype: DYN$C_HBMM_EP */ unsigned int hbmm_ep$l_flags; /* Miscellaneous flags */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif LOCK hbmm_ep$r_pc_lock; /* ($HBMMpc) Policy Change mutex lock */ LOCK hbmm_ep$r_sc_lock; /* ($HBMMsc) Serialize Create lock, summary status in valblk */ LOCK hbmm_ep$r_ep_lock; /* ($HBMMep) Evaluate Policy doorbell lock */ } HBMM_EP; #define ANLSHAD$M_BRIEF 0x1 #define ANLSHAD$M_STATISTICS 0x2 #define ANLSHAD$M_IGNORE 0x4 #define ANLSHAD$M_FILE_SYSTEM 0x8 #define ANLSHAD$M_ALL 0x10 #define ANLSHAD$M_SCB 0x20 #define ANLSHAD$M_NOT_CONSISTENT 0x40 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif typedef struct _anlflags { #pragma __nomember_alignment __union { int anlshad$l_bits; __struct { unsigned anlshad$v_brief : 1; /* /Brief */ unsigned anlshad$v_statistics : 1; /* /Statistics */ unsigned anlshad$v_ignore : 1; /* /Ignore */ unsigned anlshad$v_file_system : 1; /* /BLOCK=FILE */ unsigned anlshad$v_all : 1; /* /BLOCK=ALL */ unsigned anlshad$v_scb : 1; /* Block is an SCB */ unsigned anlshad$v_not_consistent : 1; /* Set may not be consistent */ unsigned anlshad$v_fill_8_ : 1; } anlshad$r_fill_7_; } anlshad$r_fill_6_; } ANLFLAGS; #if !defined(__VAXC) #define anlshad$v_brief anlshad$r_fill_6_.anlshad$r_fill_7_.anlshad$v_brief #define anlshad$v_statistics anlshad$r_fill_6_.anlshad$r_fill_7_.anlshad$v_statistics #define anlshad$v_ignore anlshad$r_fill_6_.anlshad$r_fill_7_.anlshad$v_ignore #define anlshad$v_file_system anlshad$r_fill_6_.anlshad$r_fill_7_.anlshad$v_file_system #define anlshad$v_all anlshad$r_fill_6_.anlshad$r_fill_7_.anlshad$v_all #define anlshad$v_scb anlshad$r_fill_6_.anlshad$r_fill_7_.anlshad$v_scb #define anlshad$v_not_consistent anlshad$r_fill_6_.anlshad$r_fill_7_.anlshad$v_not_consistent #endif /* #if !defined(__VAXC) */ /* */ /* This is the end of the SDL file. */ /* */ #define shaddef _shad #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 /* __SHADDEF_LOADED */