/**/ /***************************************************************************/ /** **/ /** © 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:57 by OpenVMS SDL EV3-3 */ /* Source: 16-MAR-2004 13:39:08 $1$DGA7274:[LIB_H.SRC]CLUBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $CLUBDEF ***/ #ifndef __CLUBDEF_LOADED #define __CLUBDEF_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 /*+ */ /* CLUB - CLUSTER BLOCK. */ /* */ /* THERE IS ONE CLUB IN A VMS SYSTEM THAT IS PART OF A CLUSTER. */ /* THE CLUB DEFINES THE STATE OF THE THE CLUSTER AS KNOWN TO */ /* THE LOCAL SYSTEM. */ /*- */ /* */ /* THE CLUB FORK BLOCK (CLUBFKB) IS A SUBBLOCK OF THE CLUB THAT IS */ /* USED WHEN IT NECESSARY TO WAIT IN ORDER TO ALLOCATE MEMORY OR */ /* WHEN IT IS DESIRABLE TO FORK TO ALLOW OTHER FORK PROCESSES A */ /* CHANCE TO RUN. */ #include #define CLUBFKB$M_FKB_BUSY 0x1 #define CLUBFKB$M_FORKQ 0x2 #define CLUBFKB$C_LENGTH 56 /* LENGTH OF CLUBFKB */ #define CLUBFKB$K_LENGTH 56 /* LENGTH OF CLUBFKB */ #define CLUBFKB$S_CLUBFKBDEF 56 /* Old size name, synonym */ typedef struct _clubfkb { char clubfkb$b_fork_block [48]; /* FORK BLOCK TO WAIT IN */ unsigned int clubfkb$l_pc2; /* SAVED PC */ __union { unsigned int clubfkb$l_status; /* CLUSTER FAILOVER STATUS FLAGS */ __struct { unsigned clubfkb$v_fkb_busy : 1; /* FORK BLOCK IN USE FLAG */ unsigned clubfkb$v_forkq : 1; /* FORK BLOCK ON FORK QUEUE */ unsigned clubfkb$v_fill_2_ : 6; } clubfkb$r_fill_1_; } clubfkb$r_fill_0_; } CLUBFKB; #if !defined(__VAXC) #define clubfkb$l_status clubfkb$r_fill_0_.clubfkb$l_status #define clubfkb$v_fkb_busy clubfkb$r_fill_0_.clubfkb$r_fill_1_.clubfkb$v_fkb_busy #define clubfkb$v_forkq clubfkb$r_fill_0_.clubfkb$r_fill_1_.clubfkb$v_forkq #endif /* #if !defined(__VAXC) */ /* */ /* THE CLUB POWERFAIL FORK BLOCK (CLUBPWF) IS A SUBBLOCK OF THE CLUB */ /* THAT IS USED TO FORK FROM IPL 31 TO IPL SCS DURING POWER RECOVERY. */ #define CLUBPWF$M_BUSY 0x1 #define CLUBPWF$C_LENGTH 56 /* LENGTH OF CLUBPWF */ #define CLUBPWF$K_LENGTH 56 /* LENGTH OF CLUBPWF */ #define CLUBPWF$S_CLUBPWFDEF 56 /* Old size name, synonym */ typedef struct _clubpwf { char clubpwf$b_fork_block [48]; /* FORK BLOCK TO WAIT IN */ /* Place STATUS in aligned quadword for interlocked instructions */ __union { unsigned int clubpwf$l_status; /* BLOCK STATUS FLAGS */ __struct { unsigned clubpwf$v_busy : 1; /* FORK BLOCK IN USE FLAG */ unsigned clubpwf$v_fill_5_ : 7; } clubpwf$r_fill_4_; } clubpwf$r_fill_3_; char clubpwf$t_align [4]; /* QUADWORD ALIGN */ } CLUBPWF; #if !defined(__VAXC) #define clubpwf$l_status clubpwf$r_fill_3_.clubpwf$l_status #define clubpwf$v_busy clubpwf$r_fill_3_.clubpwf$r_fill_4_.clubpwf$v_busy #endif /* #if !defined(__VAXC) */ /* */ /* THE CLUSTER FAILOVER CONTROL BLOCK (CLUFCB) IS A SUBBLOCK OF */ /* THE CLUB THAT IS USED TO SEQUENCE FAILOVER ACTIONS IN A CLUSTER. */ /* */ #define CLUFCB$M_ACTIVE 0x1 #define CLUFCB$M_PENDING 0x2 #define CLUFCB$M_SYNC_NODE 0x4 #define CLUFCB$M_FKB_BUSY 0x8 #define CLUFCB$M_WAITING 0x10 #define CLUFCB$M_AUX 0x20 #define CLUFCB$M_RB_SUSPEND 0x40 #define CLUFCB$C_LENGTH 136 /* LENGTH OF CLUFCB */ #define CLUFCB$K_LENGTH 136 /* LENGTH OF CLUFCB */ #define CLUFCB$S_CLUFCBDEF 136 /* Old size name, synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _csb; #endif /* #ifdef __cplusplus */ typedef struct _clufcb { char clufcb$b_fork_block [48]; /* FORK BLOCK TO WAIT IN */ unsigned int clufcb$l_step; /* CURRENT FAILOVER STEP INDEX */ unsigned int clufcb$l_id; /* FAILOVER INSTANCE IDENTIFICATION */ __union { unsigned int clufcb$l_status; /* CLUSTER FAILOVER STATUS FLAGS */ __struct { unsigned clufcb$v_active : 1; /* FAILOVER ROUTINE ACTIVE */ unsigned clufcb$v_pending : 1; /* FAILOVER PENDING */ unsigned clufcb$v_sync_node : 1; /* LOCAL NODE IS SYNCHRONIZER */ unsigned clufcb$v_fkb_busy : 1; /* FORK BLOCK IN USE FLAG */ unsigned clufcb$v_waiting : 1; /* WAITING FOR NODES TO RESPOND */ unsigned clufcb$v_aux : 1; /* AUXILIARY FORK BLOCK ALLOCATED */ unsigned clufcb$v_rb_suspend : 1; /* REBUILD SUSPENDED */ unsigned clufcb$v_fill_8_ : 1; } clufcb$r_fill_7_; } clufcb$r_fill_6_; struct _csb *clufcb$l_sync_csb; /* ADDRESS OF CSB OF SYNCHRONIZING SYSTEM */ char clufcb$b_nodemap [32]; /* BITMAP OF ALL INVOLVED NODES */ char clufcb$b_respmap [32]; /* BITMAP OF NODES READY FOR A STEP */ unsigned int clufcb$l_index; /* STORAGE FOR BIT MAP INDEX */ struct _fkb *clufcb$l_aux_fkb; /* ADDRESS OF AUXILIARY FORK BLOCK */ } CLUFCB; #if !defined(__VAXC) #define clufcb$l_status clufcb$r_fill_6_.clufcb$l_status #define clufcb$v_active clufcb$r_fill_6_.clufcb$r_fill_7_.clufcb$v_active #define clufcb$v_pending clufcb$r_fill_6_.clufcb$r_fill_7_.clufcb$v_pending #define clufcb$v_sync_node clufcb$r_fill_6_.clufcb$r_fill_7_.clufcb$v_sync_node #define clufcb$v_fkb_busy clufcb$r_fill_6_.clufcb$r_fill_7_.clufcb$v_fkb_busy #define clufcb$v_waiting clufcb$r_fill_6_.clufcb$r_fill_7_.clufcb$v_waiting #define clufcb$v_aux clufcb$r_fill_6_.clufcb$r_fill_7_.clufcb$v_aux #define clufcb$v_rb_suspend clufcb$r_fill_6_.clufcb$r_fill_7_.clufcb$v_rb_suspend #endif /* #if !defined(__VAXC) */ /* Cluster Page Cache (CLUPGC) - buffer cache of S0/S1 (Alpha sized) pages. */ /* An array of these structures is kept in the CLUB at the CLUB$L_PGCLIST offset. */ /* Each structure corresponds to the appropriate index for buffer size of 1-9 pages. */ /* Index level 0 is used for statistics across all buffer sizes. */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __octaword #else #pragma __nomember_alignment #endif typedef struct _clupgc { #pragma __nomember_alignment unsigned int clupgc$l_link; /* First cached entry or zero */ unsigned int clupgc$l_cur_cached; /* # cached entries of this size */ unsigned int clupgc$l_cur_in_use; /* # active buffers of this size */ unsigned int clupgc$l_max_in_use; /* Max # active buffers of this size */ unsigned int clupgc$l_max_cached; /* Max # cached entries of this size */ unsigned int clupgc$l_cache_lim; /* Limit value for this size */ unsigned int clupgc$l_last_alloc; /* ABSTIM of last allocation */ unsigned int clupgc$l_last_dealloc; /* ABSTIM of last deallocation */ } CLUPGC; #define CLUB$M_CLUSTER 0x1 #define CLUB$M_QF_ACTIVE 0x2 #define CLUB$M_QF_DYNVOTE 0x4 #define CLUB$M_QF_WATCHER 0x8 #define CLUB$M_SHUTDOWN 0x10 #define CLUB$M_QF_REFRESH_REQ 0x20 #define CLUB$M_LNM_RESYNCH 0x40 #define CLUB$M_STS_PPHASE 0x100 #define CLUB$M_STS_PH0 0x200 #define CLUB$M_STS_PH1B 0x400 #define CLUB$M_STS_PH1 0x800 #define CLUB$M_STS_PH2 0x1000 #define CLUB$M_TDF_VALID 0x2000 #define CLUB$M_FKB_BUSY 0x10000 #define CLUB$M_UNLOCK 0x20000 #define CLUB$M_NO_FORM 0x40000 #define CLUB$M_INIT 0x80000 #define CLUB$M_BACKOUT 0x100000 #define CLUB$M_PRIOR_PROTOCOL 0x200000 #define CLUB$M_VERBOSE 0x400000 #define CLUB$M_LOST_CNX 0x800000 #define CLUB$M_QF_FAILED_NODE 0x1000000 #define CLUB$M_QF_VOTE 0x2000000 #define CLUB$M_QF_NEWVOTE 0x4000000 #define CLUB$M_ADJ_QUORUM 0x8000000 #define CLUB$M_QUORUM 0x10000000 #define CLUB$M_TRANSITION 0x20000000 #define CLUB$M_RESLOCKIP 0x40000000 #define CLUB$M_QTQEBSY 0x80000000 #define CLUB$M_LK_MERGEIP 0x4 #define CLUB$M_LK_DO_FULL 0x8 #define CLUB$M_LK_FULL 0x10 #define CLUB$M_LK_DO_DIR 0x20 #define CLUB$M_LK_DIR 0x40 #define CLUB$M_LK_NO_RMVDIR 0x80 #define CLUB$M_LK_INIT_RBLD 0x100 #define CLUB$M_LK_NO_RM 0x200 #define CLUB$M_LK_TABLE_V51 0x400 #define CLUB$M_LK_SPECIAL_1 0x800 #define CLUB$M_LK_RM_DSBL 0x1000 #define CLUB$M_LK_TABLE_1 0x2000 #define CLUB$M_LK_SHUTDOWN 0x4000 #define CLUB$M_LK_SHUT_IP 0x8000 #define CLUB$M_NO_FQUORUM 0x1 #define CLUB$M_NO_DQUORUM 0x2 #define CLUB$M_IFW_REQ 0x4 #define CLUB$M_RNS_REQ 0x8 #define CLUB$M_CLUGEN_VALID 0x1 #define CLUB$C_LENGTH 1056 /* LENGTH OF CLUB */ #define CLUB$K_LENGTH 1056 /* LENGTH OF CLUB */ #define CLUB$S_CLUBDEF 1056 /* Old size name, synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _csb; struct _acb; struct _tqe; struct _cludcb; struct _cluicb; struct _clurcb; #endif /* #ifdef __cplusplus */ typedef struct _club { struct _csb *club$l_csbqfl; /* CSB QUEUE FORWARD LINK */ struct _csb *club$l_csbqbl; /* CSB QUEUE BACKWARD LINK */ unsigned short int club$w_size; /* SIZE OF CLUB IN BYTES */ unsigned char club$b_type; /* STRUCTURE TYPE */ unsigned char club$b_subtype; /* STRUCTURE SUBTYPE */ unsigned int club$l_poll_ctx; /* SCS POLLER CONTEXT */ struct _csb *club$l_local_csb; /* ADDRESS OF THE CSB FOR LOCAL SYSTEM */ struct _acb *club$l_astqfl; /* AST QUEUE FORWARD LINK */ struct _acb *club$l_astqbl; /* AST QUEUE BACKWARD LINK */ __union { unsigned int club$l_flags; /* CLUSTER STATUS FLAGS */ __struct { unsigned club$v_cluster : 1; /* THIS NODE IS MEMBER OF CLUSTER */ unsigned club$v_qf_active : 1; /* QUORUM FILE IS READABLE, CONTRIBUTE TO STATIC QUORUM */ unsigned club$v_qf_dynvote : 1; /* QUORUM FILE CAN CONTRIBUTE TO DYNAMIC QUORUM */ unsigned club$v_qf_watcher : 1; /* NODE IS QUORUM FILE WATCHER */ unsigned club$v_shutdown : 1; /* NODE READY FOR CLUSTER SHUTDOWN */ unsigned club$v_qf_refresh_req : 1; /* QUORUM FILE REFRESH REQUESTED */ unsigned club$v_lnm_resynch : 1; /* CLUSTERWIDE LOGICAL NAME RESYNCH THREAD ACTIVE */ unsigned club$v_fill_0 : 1; /* PAD TO BYTE BOUNDARY */ unsigned club$v_sts_pphase : 1; /* STATUS ANALYZER POLLING PHASE */ unsigned club$v_sts_ph0 : 1; /* STATUS ANALYZER, PHASE 0 SEEN */ unsigned club$v_sts_ph1b : 1; /* STATUS ANALYZER, PHASE 1 (COORD CNX BROKEN) SEEN */ unsigned club$v_sts_ph1 : 1; /* STATUS ANALYZER, PHASE 1 (COORD CNX OK) SEEN */ unsigned club$v_sts_ph2 : 1; /* STATUS ANALYZER, PHASE 2 SEEN */ unsigned club$v_tdf_valid : 1; /* Indicates that TDF in club has been written */ unsigned club$v_fill_01 : 2; /* PAD TO BYTE BOUNDARY */ unsigned club$v_fkb_busy : 1; /* FORK BLOCK IN USE */ unsigned club$v_unlock : 1; /* UNLOCK REQUESTED */ unsigned club$v_no_form : 1; /* PROHIBIT NODE FROM FORMING A NEW CLUSTER */ unsigned club$v_init : 1; /* READY FOR CLUSTER JOIN/FORMATION */ unsigned club$v_backout : 1; /* MUST EVENTUALLY BACK-OUT TRANSITION */ unsigned club$v_prior_protocol : 1; /* Earlier version protocol present */ unsigned club$v_verbose : 1; /* VERBOSE MODE */ unsigned club$v_lost_cnx : 1; /* CONNECTION TO CLUSTER MEMBER HAS BEEN LOST */ unsigned club$v_qf_failed_node : 1; /* A NODE HAS BEEN FAILED OUT */ unsigned club$v_qf_vote : 1; /* QUORUM DISK IS CONTRIBUTING A (STATIC) VOTE */ unsigned club$v_qf_newvote : 1; /* STAGING FOR QF_VOTE */ unsigned club$v_adj_quorum : 1; /* QUORUM ADJUSTMENT REQUESTED */ unsigned club$v_quorum : 1; /* CLUSTER IS IN QUORUM */ unsigned club$v_transition : 1; /* STATE TRANSITION IN PROGRESS */ unsigned club$v_reslockip : 1; /* RESERVATION LOCK IN PROGRESS */ unsigned club$v_qtqebsy : 1; /* QUORUM TQE IS ALREADY IN QUE */ } club$r_fill_10_; } club$r_fill_9_; __union { unsigned int club$l_lk_flags; __struct { unsigned club$v_fill_10 : 1; /* RESERVED */ unsigned club$v_fill_11 : 1; /* RESERVED */ unsigned club$v_lk_mergeip : 1; /* MERGE IN PROGRESS (LOCAL) */ unsigned club$v_lk_do_full : 1; /* DO A FULL REBUILD */ unsigned club$v_lk_full : 1; /* FULL REBUILD */ unsigned club$v_lk_do_dir : 1; /* DO A DIRECTORY REBUILD */ unsigned club$v_lk_dir : 1; /* DIRECTORY REBUILD */ unsigned club$v_lk_no_rmvdir : 1; /* INHIBIT RMVDIRS */ unsigned club$v_lk_init_rbld : 1; /* INITIAL REBUILD FLAG */ unsigned club$v_lk_no_rm : 1; /* (obsolete) */ unsigned club$v_lk_table_v51 : 1; /* (obsolete) */ unsigned club$v_lk_special_1 : 1; /* (obsolete) */ unsigned club$v_lk_rm_dsbl : 1; /* REMASTER DISABLED DUE TO REBUILD */ unsigned club$v_lk_table_1 : 1; /* FAILOVER TABLE 1 IN USE */ unsigned club$v_lk_shutdown : 1; /* SHUTDOWN REQUESTED */ unsigned club$v_lk_shut_ip : 1; /* SHUTDOWN IN PROGRESS */ } club$r_fill_12_; } club$r_fill_11_; unsigned short int club$w_rseqnum; /* FULL REBUILD SEQUENCE NUMBER */ unsigned short int club$w_dirseqnum; /* DIRECTORY REBUILD SEQ */ __union { unsigned char club$b_qstatus; /* QUORUM STATUS FLAGS */ __struct { unsigned club$v_no_fquorum : 1; /* NO FORMAL QUORUM */ unsigned club$v_no_dquorum : 1; /* NO DYNAMIC QUORUM */ unsigned club$v_ifw_req : 1; /* INCARNATION FILE WRITE REQUIRED */ unsigned club$v_rns_req : 1; /* REMOVED NODE STATUS REQUIRED */ unsigned club$v_fill_03 : 4; /* PAD TO BYTE BOUNDARY */ } club$r_fill_14_; } club$r_fill_13_; char club$b_fill_2; /* Maintain alignment */ unsigned short int club$w_qdvotes; /* VOTES HELD BY QUORUM DISK */ unsigned short int club$w_quorum; /* CLUSTER QUORUM */ unsigned short int club$w_votes; /* CLUSTER VOTES */ unsigned short int club$w_cevotes; /* UNIVERSE OF VOTES */ unsigned short int club$w_adj_cevotes; /* UNIVERSE OF VOTES ADJUSTMENT REQUESTED VALUE */ unsigned short int club$w_nodes; /* NODES IN CLUSTER */ char club$b_fsysid [6]; /* FOUNDING NODE'S SYSID */ char club$b_fill_21_ [4]; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif __int64 club$q_ftime; /* FOUNDING TIME */ #pragma __nomember_alignment unsigned int club$l_lst_xtn; /* LAST COMPLETED TRANSACTION NUMBER */ unsigned int club$l_lst_coord; /* LAST COMPLETED TRANSACTION COORDINATOR CSID */ __int64 club$q_lst_time; /* LAST COMPLETED TRANSACTION TIME-STAMP */ unsigned char club$b_lst_code; /* LAST COMPLETED TRANSACTION CODE */ unsigned char club$b_lst_phase; /* LAST COMPLETED TRANSACTION CODE */ unsigned short int club$w_newqdvotes; /* STAGING FOR QDVOTES */ unsigned int club$l_cur_xtn; /* CURRENT TRANSACTION NUMBER */ unsigned int club$l_cur_coord; /* CURRENT TRANSACTION COORDINATOR CSID */ char club$b_fill_22_ [4]; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif __int64 club$q_cur_time; /* CURRENT TRANSACTION TIME-STAMP */ #pragma __nomember_alignment unsigned char club$b_cur_code; /* TRANSACTION CODE */ unsigned char club$b_cur_phase; /* TRANSACTION PHASE */ unsigned short int club$w_msgcnt; /* OUTSTANDING/WAITING MESSAGE COUNT */ struct _csb *club$l_coord; /* COORDINATOR'S CSB ADDRESS */ __union { unsigned int club$l_local_csid; /* LOCAL SYSTEM CSID */ __struct { unsigned short int club$w_local_csid_idx; /* SLOT INDEX */ unsigned short int club$w_local_csid_seq; /* SEQUENCE NUMBER */ } club$r_fill_16_; } club$r_fill_15_; unsigned short int club$w_next_csid; /* INDEX OF NEXT CSID TO ASSIGN */ unsigned short int club$w_first_index; /* INDEX OF FIRST CSID ASSIGNED */ unsigned int club$l_max_xtn; /* LARGEST TRANSACTION ID SEEN */ unsigned int club$l_retrycnt; /* RESOURCE ALLOCATION RETRIES AVAILABLE */ unsigned int club$l_ctx0; /* LEVEL 0 CONTEXT AREA */ unsigned int club$l_ret1; /* LEVEL 1 SUBROUTINE RETURN */ unsigned int club$l_ctx1; /* LEVEL 1 CONTEXT AREA */ unsigned int club$l_ret2; /* LEVEL 2 SUBROUTINE RETURN */ unsigned int club$l_ctx2; /* LEVEL 2 CONTEXT AREA */ struct _tqe *club$l_tqe; /* ADDRESS OF TIMER ENTRY */ unsigned int club$l_cspipid; /* PID OF CLUSTER SERVER (FOR SCH$WAKE) */ char club$b_fill_23_ [4]; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif unsigned __int64 club$q_newtime; /* NEW VALUE OF TIME */ #pragma __nomember_alignment unsigned __int64 club$q_newtime_ref; /* LOCAL REFERENCE FOR NEW TIME */ unsigned short int club$w_newquorum; /* NEW VALUE FOR QUORUM */ unsigned short int club$w_newcevotes; /* NEW UNIVERSE OF VOTES */ unsigned int club$l_fmerit; /* FIGURE OF MERIT FOR OPTIMAL CLUSTER */ __union { unsigned int club$l_e_memseq; /* EXTENDED MEMBERSHIP STATE SEQUENCE NUMBER */ __struct { unsigned short int club$w_memseq; /* MEMBERSHIP STATE SEQUENCE NUMBER */ short int club$w_fill_1; } club$r_fill_18_; } club$r_fill_17_; unsigned int club$l_random; /* RANDOM NUMBER GENERATOR CONTEXT */ struct _cludcb *club$l_cludcb; /* ADDRESS OF QUORUM DISK CONTROL BLOCK */ char club$t_qdname [16]; /* QUORUM DISK FULLDEVNAM */ struct _cluicb *club$l_cluicb; /* ADDRESS OF INCARNATION FILE CONTROL BLOCK */ unsigned int club$l_foreign_cluster; /* SHIFT REGISTER INDICATING FOREIGN CLUSTER SEEN */ unsigned int club$l_enbl_verbose; /* TIME TO ENABLE VERBOSE MODE */ unsigned int club$l_qlost_clugen; /* CLUSTER GENERATION WHEN QUORUM LOST */ unsigned int club$l_stg_join_clugen; /* STAGING AREA FOR CLUSTER GENERATION */ unsigned int club$l_join_clugen; /* JOINING NODE'S LAST CLUSTER GENERATION NUMBER */ unsigned short int club$w_stg_join_flags; /* STAGING AREA FOR JOIN FLAGS */ __union { unsigned short int club$w_join_flags; /* JOINING NODE'S FLAGS */ __struct { unsigned club$v_clugen_valid : 1; /* GENERATION DATA FIELDS VALID */ unsigned club$v_fill_04 : 15; /* PAD TO BYTE BOUNDARY */ } club$r_fill_20_; } club$r_fill_19_; unsigned int club$l_rm_quota; /* REMASTERING QUOTA */ char club$b_fill_24_ [4]; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif unsigned __int64 club$q_cspq; /* QUEUE FOR COMMUNICATION WITH CSP */ char club$b_fork_block [56]; /* FORK BLOCK TO WAIT IN (CLUBFKB SUB-STRUCTURE) */ #pragma __nomember_alignment char club$b_nodemap [32]; /* BITMAP OF ALL POSSIBLE NODES */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif char club$b_clufcb [136]; /* CLUSTER FAILOVER CONTROL BLOCK */ FKB club$r_pgc_fkb; /* Fork Block for Cluster Page Cache Trimming/Recovery */ char club$b_clubpwf [56]; /* FORK BLOCK TO USE DURING POWER RECOVERY */ /* New cells located at end to minimize rebuiding. Should be moved someday. */ #pragma __nomember_alignment unsigned int club$l_reslocktmo; /* RESERVATION EXPIRATION TIME */ unsigned int club$l_reslockcsid; /* CSID OF RESERVATION HOLDER */ unsigned int club$l_locktime; /* TIME LOCKED */ unsigned short int club$w_merge_cnt; /* MERGE COUNTER */ unsigned short int club$w_parseqnum; /* PARTIAL REBUILD SEQUENCE NUMBER */ unsigned char club$b_newrbld_req; /* PROPOSED REBUILD REQUEST */ unsigned char club$b_rbld_clu; /* REBUILD IN PROGRESS IN CLUSTER */ unsigned char club$b_rbld_loc; /* REBUILD IN PROGRESS ON LOCAL NODE */ char club$b_fill_21; /* ALIGN */ struct _clurcb *club$l_clurcbfl; /* ACTIVE RCBs */ struct _clurcb *club$l_clurcbbl; /* */ unsigned short int club$w_rbld_inhib; /* REASONS TO INHIBIT A LOCK REBUILD */ short int club$w_fill_22; unsigned short int club$w_ncnid; /* NEXT CLUSTER NODE ID */ unsigned short int club$w_newncnid; /* NEW NEXT CLUSTER NODE ID */ unsigned int club$l_toff; /* LOCKING OFF */ unsigned int club$l_ton; /* LOCKING ON */ void *club$l_tbls; /* TABLE START */ struct _tqe *club$l_qtqe; /* POINTER TO QUORUM LOSS TQE */ unsigned int club$l_sync_step; /* SYNC STEP COUNT (move to clurcb) */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif unsigned __int64 club$q_tdf; /* DTS TDF */ unsigned __int64 club$q_block_seq; /* Fast Re-master Block */ /* Transfer Sequence # */ char club$b_lckmgr_fork_block [56]; /* Fork block to fork down to LCKMGR */ unsigned int club$l_rmbuf_link; /* Pointer to first free Remaster buffer */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __longword #else #pragma __nomember_alignment #endif unsigned int club$l_max_rmbufs; /* Maximum concurrent remaster xfers */ unsigned int club$l_cached_rmbufs; /* Number of cached rm xfer buffers */ unsigned int club$l_tot_rmbufs; /* Total rm xfer buffers (cached + active) */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __octaword #else #pragma __nomember_alignment #endif __union { /* Cluster Page Cache Structures */ __struct { #pragma __nomember_alignment int club$l_link_fill; unsigned int club$l_cur_cached; /* # cached entries across all sizes */ unsigned int club$l_cur_in_use; /* # active buffers across all sizes */ unsigned int club$l_max_in_use; /* Max # active buffers across all sizes */ unsigned int club$l_max_cached; /* Max # cached entries across all sizes */ int club$l_cache_lim_fill; unsigned int club$l_last_alloc; /* ABSTIM of last allocation (any size) */ unsigned int club$l_last_dealloc; /* ABSTIM of last deallocation (any size) */ char club$b_entry_list_fill [288]; } club$r_pgc_totals; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __octaword #else #pragma __nomember_alignment #endif CLUPGC club$r_pgclist [10]; /* Cluster Page Cache List Array, Totals + [1..9] */ } club$r_pgc_overlay; } CLUB; #if !defined(__VAXC) #define club$l_flags club$r_fill_9_.club$l_flags #define club$v_cluster club$r_fill_9_.club$r_fill_10_.club$v_cluster #define club$v_qf_active club$r_fill_9_.club$r_fill_10_.club$v_qf_active #define club$v_qf_dynvote club$r_fill_9_.club$r_fill_10_.club$v_qf_dynvote #define club$v_qf_watcher club$r_fill_9_.club$r_fill_10_.club$v_qf_watcher #define club$v_shutdown club$r_fill_9_.club$r_fill_10_.club$v_shutdown #define club$v_qf_refresh_req club$r_fill_9_.club$r_fill_10_.club$v_qf_refresh_req #define club$v_lnm_resynch club$r_fill_9_.club$r_fill_10_.club$v_lnm_resynch #define club$v_sts_pphase club$r_fill_9_.club$r_fill_10_.club$v_sts_pphase #define club$v_sts_ph0 club$r_fill_9_.club$r_fill_10_.club$v_sts_ph0 #define club$v_sts_ph1b club$r_fill_9_.club$r_fill_10_.club$v_sts_ph1b #define club$v_sts_ph1 club$r_fill_9_.club$r_fill_10_.club$v_sts_ph1 #define club$v_sts_ph2 club$r_fill_9_.club$r_fill_10_.club$v_sts_ph2 #define club$v_tdf_valid club$r_fill_9_.club$r_fill_10_.club$v_tdf_valid #define club$v_fkb_busy club$r_fill_9_.club$r_fill_10_.club$v_fkb_busy #define club$v_unlock club$r_fill_9_.club$r_fill_10_.club$v_unlock #define club$v_no_form club$r_fill_9_.club$r_fill_10_.club$v_no_form #define club$v_init club$r_fill_9_.club$r_fill_10_.club$v_init #define club$v_backout club$r_fill_9_.club$r_fill_10_.club$v_backout #define club$v_prior_protocol club$r_fill_9_.club$r_fill_10_.club$v_prior_protocol #define club$v_verbose club$r_fill_9_.club$r_fill_10_.club$v_verbose #define club$v_lost_cnx club$r_fill_9_.club$r_fill_10_.club$v_lost_cnx #define club$v_qf_failed_node club$r_fill_9_.club$r_fill_10_.club$v_qf_failed_node #define club$v_qf_vote club$r_fill_9_.club$r_fill_10_.club$v_qf_vote #define club$v_qf_newvote club$r_fill_9_.club$r_fill_10_.club$v_qf_newvote #define club$v_adj_quorum club$r_fill_9_.club$r_fill_10_.club$v_adj_quorum #define club$v_quorum club$r_fill_9_.club$r_fill_10_.club$v_quorum #define club$v_transition club$r_fill_9_.club$r_fill_10_.club$v_transition #define club$v_reslockip club$r_fill_9_.club$r_fill_10_.club$v_reslockip #define club$v_qtqebsy club$r_fill_9_.club$r_fill_10_.club$v_qtqebsy #define club$l_lk_flags club$r_fill_11_.club$l_lk_flags #define club$v_lk_mergeip club$r_fill_11_.club$r_fill_12_.club$v_lk_mergeip #define club$v_lk_do_full club$r_fill_11_.club$r_fill_12_.club$v_lk_do_full #define club$v_lk_full club$r_fill_11_.club$r_fill_12_.club$v_lk_full #define club$v_lk_do_dir club$r_fill_11_.club$r_fill_12_.club$v_lk_do_dir #define club$v_lk_dir club$r_fill_11_.club$r_fill_12_.club$v_lk_dir #define club$v_lk_no_rmvdir club$r_fill_11_.club$r_fill_12_.club$v_lk_no_rmvdir #define club$v_lk_init_rbld club$r_fill_11_.club$r_fill_12_.club$v_lk_init_rbld #define club$v_lk_no_rm club$r_fill_11_.club$r_fill_12_.club$v_lk_no_rm #define club$v_lk_table_v51 club$r_fill_11_.club$r_fill_12_.club$v_lk_table_v51 #define club$v_lk_special_1 club$r_fill_11_.club$r_fill_12_.club$v_lk_special_1 #define club$v_lk_rm_dsbl club$r_fill_11_.club$r_fill_12_.club$v_lk_rm_dsbl #define club$v_lk_table_1 club$r_fill_11_.club$r_fill_12_.club$v_lk_table_1 #define club$v_lk_shutdown club$r_fill_11_.club$r_fill_12_.club$v_lk_shutdown #define club$v_lk_shut_ip club$r_fill_11_.club$r_fill_12_.club$v_lk_shut_ip #define club$b_qstatus club$r_fill_13_.club$b_qstatus #define club$v_no_fquorum club$r_fill_13_.club$r_fill_14_.club$v_no_fquorum #define club$v_no_dquorum club$r_fill_13_.club$r_fill_14_.club$v_no_dquorum #define club$v_ifw_req club$r_fill_13_.club$r_fill_14_.club$v_ifw_req #define club$v_rns_req club$r_fill_13_.club$r_fill_14_.club$v_rns_req #define club$l_local_csid club$r_fill_15_.club$l_local_csid #define club$w_local_csid_idx club$r_fill_15_.club$r_fill_16_.club$w_local_csid_idx #define club$w_local_csid_seq club$r_fill_15_.club$r_fill_16_.club$w_local_csid_seq #define club$l_e_memseq club$r_fill_17_.club$l_e_memseq #define club$w_memseq club$r_fill_17_.club$r_fill_18_.club$w_memseq #define club$w_join_flags club$r_fill_19_.club$w_join_flags #define club$v_clugen_valid club$r_fill_19_.club$r_fill_20_.club$v_clugen_valid #define club$l_cur_cached club$r_pgc_overlay.club$r_pgc_totals.club$l_cur_cached #define club$l_cur_in_use club$r_pgc_overlay.club$r_pgc_totals.club$l_cur_in_use #define club$l_max_in_use club$r_pgc_overlay.club$r_pgc_totals.club$l_max_in_use #define club$l_max_cached club$r_pgc_overlay.club$r_pgc_totals.club$l_max_cached #define club$l_last_alloc club$r_pgc_overlay.club$r_pgc_totals.club$l_last_alloc #define club$l_last_dealloc club$r_pgc_overlay.club$r_pgc_totals.club$l_last_dealloc #define club$r_pgclist club$r_pgc_overlay.club$r_pgclist #endif /* #if !defined(__VAXC) */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __CLUBDEF_LOADED */