/**/ /***************************************************************************/ /** **/ /** © 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:55 by OpenVMS SDL EV3-3 */ /* Source: 09-MAY-2001 10:58:38 $1$DGA7274:[LIB_H.SRC]IOCNTDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $IOCNTDEF ***/ #ifndef __IOCNTDEF_LOADED #define __IOCNTDEF_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 #define IOCNT$K_LENGTH 308 /*LENGTH OF IOCNT */ #define IOCNT$C_LENGTH 308 /*LENGTH OF IOCNT */ #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 _iocnt { #pragma __nomember_alignment void *iocnt$ps_ptr_1; /* */ void *iocnt$ps_ptr_2; /* */ unsigned short int iocnt$w_size; /* Size of IOCNT, in bytes. */ unsigned char iocnt$b_type; /* Nonpaged pool packet type, DYN$C_MISC */ unsigned char iocnt$b_subtype; /* Nonpaged pool packet subtype, DYN$C_IOCNT */ /* */ /* Fast Path counters */ /* */ /* IOC_STD$INITIATE counters: */ char iocnt$b_fill_0_ [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 int iocnt$l_fp_port_cpu_io; /* On port CPU and new IO (dev UCB) */ #pragma __nomember_alignment unsigned int iocnt$l_fp_io_queued; /* IRP queued to UCB IOQ (dev UCB) */ unsigned int iocnt$l_fp_ucb_queued; /* UCB was already queued (dev UCB) */ unsigned int iocnt$l_fp_other_ucb_queued; /* UCB queued to CPU db (dev UCB) */ unsigned int iocnt$l_fp_ipint; /* Sent IPINT (dev UCB) */ unsigned int iocnt$l_fp_queue_self; /* Queued UCB to local IPL8 FQ (dev UCB) */ unsigned int iocnt$l_fp_aff_fkb_inuse; /* Start I/O affinity FKB found inuse (dev UCB) */ unsigned int iocnt$l_fp_ucb_was_queued; /* Number of times UCB was already queued to port CPU (dev UCB) */ /* Port CPU Initiate counters: */ unsigned int iocnt$l_fp_bad_start_aff; /* Affinity has changed (dev UCB) */ unsigned int iocnt$l_fp_empty_ucb; /* UCB found with no start I/Os (dev UCB) */ unsigned int iocnt$l_fp_aff_io_found; /* Number of affinitized start I/Os found (dev UCB) */ unsigned int iocnt$l_fp_aff_io_started; /* Number of Affinitized I/Os started (dev UCB) */ /* SCS$UNSTALLUCB counters: */ unsigned int iocnt$l_fp_resumed_io; /* Number of resumed I/Os (dev UCB) */ /* Fast Send Message vetoes from various layers: */ unsigned int iocnt$l_fp_sysap_sends; /* Number of SYSAP Send messages via Fast Path */ unsigned int iocnt$l_fp_sysap_nosend; /* Number of SYSAP denials for Fast Path send msg (dev UCB) */ unsigned int iocnt$l_fp_scs_nosend; /* Number of SCS denials for Fast Path send message (not used, see CDT) */ unsigned int iocnt$l_fp_port_nosend; /* Number of port driver denials for Fast Path send msg (port UCB) */ unsigned int iocnt$l_fp_port_norbun; /* Number of times lack of RBUN denied for Fast Path send msg (port UCB) */ /* Receive Send Message vetoes from various layers: */ unsigned int iocnt$l_fp_sysap_recvs; /* Number of SYSAP Send messages via Fast Path */ unsigned int iocnt$l_fp_sysap_norecv; /* Number of SYSAP denials for Fast Path receive msg (dev UCB) */ unsigned int iocnt$l_fp_scs_norecv; /* Number of SCS denials for Fast Path receive message (not used, see CDT) */ unsigned int iocnt$l_fp_port_norecv; /* Number of port driver denials for Fast Path receive msg (port UCB) */ /* RBUN pool activity: */ unsigned int iocnt$l_fp_rbun_creates; /* Number of RBUN creates (port UCB) */ unsigned int iocnt$l_fp_rbun_deletes; /* Number of RBUN deletions (port UCB) */ unsigned int iocnt$l_fp_urgent_reclaims; /* Number of Urgent Reclamations of SCS non-paged pool (not used) */ unsigned int iocnt$l_fp_rbun_pool_cleanups; /* Number of times RBUN pool cleaned up (port UCB) */ unsigned int iocnt$l_fp_port_typ1; /* Number of Typ1 maps over port (port UCB) */ /* Port driver ISR counters: */ unsigned int iocnt$l_fp_interrupts; /* Number of device interrupts (port UCB) */ unsigned int iocnt$l_fp_saved_forks; /* Number of Response Q forks saved (port UCB) */ unsigned int iocnt$l_fp_int_queued; /* Number of interrupt fork blocks queued locally or to port CPU (port UCB) */ /* Port driver fork routine counters: */ unsigned int iocnt$l_fp_bad_int_aff; /* Affinity has changed after device interrupt IPINT (port UCB) */ unsigned int iocnt$l_fp_port_forks; /* Number of times port response queue fork executes (port UCB) */ unsigned int iocnt$l_fp_port_fork_requeues; /* Number of times port response queue fork requeued (port UCB) */ unsigned int iocnt$l_fp_responses; /* Number of responses taken from response queue (port UCB) */ /* Miscellaneous port activities: */ unsigned int iocnt$l_fp_repo_cdrp; /* Number of Repossess CDRP service calls (port UCB) */ unsigned int iocnt$l_fp_affinity_changes; /* Number of affinity changes on port (port UCB) */ /* IOC_STD$REQCOM_LOCAL counters: */ unsigned int iocnt$l_fp_reqcom; /* Number of Fast Path request completions (dev UCB) */ unsigned int iocnt$l_fp_reserved1; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved2; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved3; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved4; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved5; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved6; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved7; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved8; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved9; /* Reserved for Fast Path */ unsigned int iocnt$l_fp_reserved10; /* Reserved for Fast Path */ /* */ /* Fast-IO counters */ /* */ unsigned int iocnt$l_fiopcnt; /* IO_PERFORM calls for this UCB */ unsigned int iocnt$l_fiocopt; /* "Channel == same" optimization count */ unsigned int iocnt$l_fioffdt; /* Count of ACP$FASTIO_BLOCK routine calls */ unsigned int iocnt$l_fioecnt; /* Number of ACP$FASTIO_BLOCK error returns */ unsigned int iocnt$l_fioelno; /* Source code line number of last error return */ unsigned int iocnt$l_fioepid; /* PID of process causing the last error return */ unsigned int iocnt$l_fiovioc; /* Fast-IO calls to VIO cache */ unsigned int iocnt$l_fiovioh; /* VIO cache hits */ unsigned int iocnt$l_fiocioc; /* VIO cache I/Os (complete or partial miss) */ /* FIOVIOC - FIOVIOH - FIOCIOC is count of */ /* I/Os to file not cached but we had to invoke */ /* the VIOC before we knew we didn't want to. */ unsigned int iocnt$l_fiorvop; /* Number of read virtual operations to driver */ unsigned int iocnt$l_fiowvop; /* Number of write virtual operations to driver */ unsigned int iocnt$l_fiorlop; /* Number of read logical operations to driver */ unsigned int iocnt$l_fiowlop; /* Number of write logical operations to driver */ unsigned int iocnt$l_fiobkrd; /* Total Blocks read (block == 512 bytes) */ unsigned int iocnt$l_fiobkwt; /* Total Blocks written (block == 512 bytes) */ unsigned int iocnt$l_fioffin; /* Count of fast-finishes */ unsigned int iocnt$l_fiocomp; /* PID/FPC of last fast-finish */ unsigned int iocnt$l_fiobcom; /* Count of fast-finishes for buffered I/O */ unsigned int iocnt$l_fiodcom; /* Count of fast-finishes for direct I/O */ unsigned int iocnt$l_fioscom; /* Count of fast-finishes with system completion */ unsigned int iocnt$l_fiobiol; /* # bufio fast-finish longword buffer copies */ unsigned int iocnt$l_fiobioq; /* # bufio fast-finish quadword buffer copies */ unsigned int iocnt$l_fiostqf; /* Count of fast-finish STQCs that failed when */ /* decrementing IOC and checking DIRP */ unsigned int iocnt$l_fiodirp; /* Count of fast-finishes with deaccess packets */ unsigned int iocnt$l_fioirpe; /* Count of fast-finishes with IRPEs to delete */ unsigned int iocnt$l_fiouast; /* Count of fast-finishes with user ASTs */ char iocnt$b_fill_1_ [4]; } IOCNT; #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 /* __IOCNTDEF_LOADED */