/**/ /***************************************************************************/ /** **/ /** © 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:06 by OpenVMS SDL EV3-3 */ /* Source: 23-JUN-2004 13:16:13 $1$DGA7274:[LIB_H.SRC]RMSPUBSTR.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $FSBDEF ***/ #ifndef __FSBDEF_LOADED #define __FSBDEF_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 /* */ /* FSB field definitions */ /* */ /* File statistics block (fsb) */ /* */ /* An FSB is associated with a file when the ACE$V_STATISTICS */ /* bit is set in the RMS attributes ACE. It is used to keep track */ /* of RMS file statistics. */ /* */ #define FSB$M_PRIVATE 0x1 #define FSB$M_RMSDEV 0x2 #define FSB$C_BID 25 /* fsb id code */ #define FSB$K_STANDARD_BLN 276 /* Length of FSB without RMS development specific fields */ #define FSB$C_STANDARD_BLN 276 /* Length of FSB without RMS development specific fields */ /* Reserved for RMS development private monitoring */ #define FSBFLG$_GET 0 /* Flags used for keeping track of relative file statistics updates */ #define FSBFLG$_FIND 1 #define FSBFLG$_PUT 2 #define FSBFLG$_UPDATE 3 #define FSBFLG$_DELETE 4 #define FSBFLG$_MAX 5 #define FSB$K_VERSION 1 /* Current version of FSB */ #define FSB$C_VERSION 1 /* Current version of FSB */ #define FSB$C_SEQ 1 #define FSB$C_REL 2 #define FSB$C_IDX 3 /* File organization constants */ #define FSB$K_BLN 384 /* Length of FSB */ #define FSB$C_BLN 384 /* Length of FSB */ #define FSB$S_FSBDEF 384 /* Old size name - synonym */ typedef struct _fsb { char fsb$b_fill_1 [6]; /* first three longwords unused */ __union { unsigned short int fsb$w_flags; /* fsb flags */ __struct { unsigned fsb$v_private : 1; /* FSB is for only one stream */ unsigned fsb$v_rmsdev : 1; /* Reserved RMS fields being used */ unsigned fsb$v_fill_2_ : 6; } fsb$r_fill_1_; } fsb$r_fill_0_; unsigned char fsb$b_bid; /* block id */ unsigned char fsb$b_bln; /* block length in longwords */ unsigned char fsb$b_org; /* file organization */ unsigned char fsb$b_version; /* current version of FSB */ unsigned int fsb$l_seqgets; /* # of sequential gets to file */ unsigned int fsb$l_keygets; /* # of keyed gets to file */ unsigned int fsb$l_rfagets; /* # of gets by RFA to file */ unsigned __int64 fsb$q_getbytes; /* Total size of all gets in bytes */ unsigned int fsb$l_seqputs; /* # of sequential puts */ unsigned int fsb$l_keyputs; /* # of puts by key */ unsigned __int64 fsb$q_putbytes; /* Total size of all puts in bytes */ unsigned int fsb$l_updates; /* # of updates */ unsigned __int64 fsb$q_updatebytes; /* Total size of all updates in bytes */ unsigned int fsb$l_deletes; /* # of deletes */ unsigned int fsb$l_truncates; /* # of truncates */ unsigned int fsb$l_truncblks; /* Total size in blocks of all truncates */ unsigned int fsb$l_seqfinds; /* # of sequential finds */ unsigned int fsb$l_keyfinds; /* # of keyed finds */ unsigned int fsb$l_rfafinds; /* # of finds by RFA */ unsigned int fsb$l_reads; /* # of $READs to file */ unsigned __int64 fsb$q_readbytes; /* # of bytes of all $READs */ unsigned int fsb$l_connects; /* # of connects to this file */ unsigned int fsb$l_disconnects; /* # of disconnects from file */ unsigned int fsb$l_extends; /* # of extends of file */ unsigned int fsb$l_extblocks; /* # of blocks file has been extended */ unsigned int fsb$l_flushes; /* # of flushes of file */ unsigned int fsb$l_rewinds; /* # of rewinds of file */ unsigned int fsb$l_writes; /* # of $WRITEs to file */ unsigned __int64 fsb$q_writebytes; /* # of bytes of all $WRITEs to file */ unsigned int fsb$l_flckenqs; /* # of file lock ENQ's */ unsigned int fsb$l_flckdeqs; /* # of file lock DEQ's */ unsigned int fsb$l_flckcnvs; /* # of file lock conversions */ unsigned int fsb$l_lblckenqs; /* # of local buffer lock ENQ's */ unsigned int fsb$l_lblckdeqs; /* # of local buffer lock DEQ's */ unsigned int fsb$l_lblckcnvs; /* # of local buffer lock conversions */ unsigned int fsb$l_gblckenqs; /* # of global buffer lock ENQ's */ unsigned int fsb$l_gblckdeqs; /* # of global buffer lock DEQ's */ unsigned int fsb$l_gblckcnvs; /* # of global buffer lock conversions */ unsigned int fsb$l_gslckenqs; /* # of global section lock ENQ's */ unsigned int fsb$l_gslckdeqs; /* # of global section lock DEQ's */ unsigned int fsb$l_gslckcnvs; /* # of global section lock conversions */ unsigned int fsb$l_rlckenqs; /* # of record lock ENQ's */ unsigned int fsb$l_rlckdeqs; /* # of record lock DEQ's */ unsigned int fsb$l_rlckcnvs; /* # of record lock conversions */ unsigned int fsb$l_applckenqs; /* # of append lock ENQ's */ unsigned int fsb$l_applckdeqs; /* # of append lock DEQ's */ unsigned int fsb$l_applckcnvs; /* # of append lock conversions */ unsigned int fsb$l_flblkasts; /* # of file lock blocking ASTs queued */ unsigned int fsb$l_lblblkasts; /* # of local buffer lock blocking ASTs queued */ unsigned int fsb$l_gblblkasts; /* # of global buffer lock blocking ASTs queued */ unsigned int fsb$l_appblkasts; /* # of shared append lock blocking ASTs queued */ unsigned int fsb$l_lcachehits; /* # of cache hits on local buffers */ unsigned int fsb$l_lcache_attempts; /* # of attempts to use the local buffer cache */ unsigned int fsb$l_gcachehits; /* # of cache hits on global buffers */ unsigned int fsb$l_gcache_attempts; /* # of attempts to use the global buffer cache */ unsigned int fsb$l_gbrdirios; /* # of direct io's due to global buffer reads */ unsigned int fsb$l_gbwdirios; /* # of direct io's due to global buffer writes */ unsigned int fsb$l_lbrdirios; /* # of direct io's due to local buffer reads */ unsigned int fsb$l_lbwdirios; /* # of direct io's due to local buffer writes */ unsigned int fsb$l_bktsplt; /* # of 2 bucket splits */ unsigned int fsb$l_mbktsplt; /* # of multi-bucket splits */ unsigned int fsb$l_opens; /* # of times the file is opened */ unsigned int fsb$l_closes; /* # of times the file is closed */ unsigned int fsb$l_gsblkasts; /* # of global section lock blocking ASTs queued */ unsigned int fsb$l_xqpqios; /* Count of XQP QIOs requested by RMS */ unsigned int fsb$l_flwaits; /* # of waits forced by getting the file lock */ unsigned int fsb$l_lbwaits; /* # of waits forced by getting local buffer locks */ unsigned int fsb$l_gbwaits; /* # of waits forced by getting global buffer locks */ unsigned int fsb$l_gswaits; /* # of waits forced by getting the global section lock */ unsigned int fsb$l_rlwaits; /* # of waits forced by getting record locks */ unsigned int fsb$l_apwaits; /* # of waits forced by getting the Append lock */ unsigned int fsb$l_totwaits; /* Total # of waits (or stalls) performed by RMS. */ unsigned int fsb$l_outbufquo; /* Number of times a process runs out of global buffer quota */ unsigned int fsb$l_rmsdev1; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev2; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev3; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev4; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev5; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev6; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev7; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev8; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev9; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev10; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev11; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev12; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev13; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev14; /* Reserved for RMS development private monitoring */ unsigned int fsb$l_rmsdev15; /* Reserved for RMS development private monitoring */ __union { unsigned int fsb$l_intcol_gbhsh; /* Interlock collision on global buffer hash table */ unsigned int fsb$l_intcol_hshtbl; /* Old field name for compatibility */ } fsb$r_intcol_overlay; unsigned int fsb$l_intcol_gbh; /* Interlock Collision on global buffer header */ __union { unsigned int fsb$l_intrndwn_gbhsh; /* Interlock still held at rundown on GBHSH */ unsigned int fsb$l_intres_setimr; /* Old field name for compatibility */ } fsb$r_intrndwngbhsh_overlay; __union { unsigned int fsb$l_intrndwn_gbh; /* Interlock still held at rundown on GBH */ unsigned int fsb$l_intnotres; /* Old field name for compatibility */ } fsb$r_intrndwngbh_overlay; } FSB; #if !defined(__VAXC) #define fsb$w_flags fsb$r_fill_0_.fsb$w_flags #define fsb$v_private fsb$r_fill_0_.fsb$r_fill_1_.fsb$v_private #define fsb$v_rmsdev fsb$r_fill_0_.fsb$r_fill_1_.fsb$v_rmsdev #define fsb$l_intcol_gbhsh fsb$r_intcol_overlay.fsb$l_intcol_gbhsh #define fsb$l_intcol_hshtbl fsb$r_intcol_overlay.fsb$l_intcol_hshtbl #define fsb$l_intrndwn_gbhsh fsb$r_intrndwngbhsh_overlay.fsb$l_intrndwn_gbhsh #define fsb$l_intres_setimr fsb$r_intrndwngbhsh_overlay.fsb$l_intres_setimr #define fsb$l_intrndwn_gbh fsb$r_intrndwngbh_overlay.fsb$l_intrndwn_gbh #define fsb$l_intnotres fsb$r_intrndwngbh_overlay.fsb$l_intnotres #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 /* __FSBDEF_LOADED */