/**/ /***************************************************************************/ /** **/ /** © 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:38:04 by OpenVMS SDL EV3-3 */ /* Source: 16-FEB-2007 09:40:25 $1$DGA7274:[LIB_H.SRC]PDBDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $PDBDEF ***/ #ifndef __PDBDEF_LOADED #define __PDBDEF_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 DEVICE PERFORMANCE DATA BLOCK */ /*- */ #include #define PDB$K_ABORT_RQ 1 #define PDB$K_END_IO 2 #define PDB$K_END_RQ 3 #define PDB$K_START_IO 4 #define PDB$K_START_RQ 5 #define PDB$K_DIRIO 6 #define PDB$K_BUFIO 7 #define PDB$K_MAX_MODE 7 #define PDB$M_ALL 0x1 #define PDB$M_ABORT_RQ 0x2 #define PDB$M_END_IO 0x4 #define PDB$M_END_RQ 0x8 #define PDB$M_START_IO 0x10 #define PDB$M_START_RQ 0x20 #define PDB$M_XFER 0x40 #define PDB$M_DIRIO 0x80 #define PDB$M_BUFIO 0x100 #define PDB$M_XQP 0x200 #define PDB$K_LENGTH 156 /*LENGTH OF DATA CONTROL BLOCK */ #define PDB$C_LENGTH 156 /*LENGTH OF DATA CONTROL BLOCK */ #define PDB$S_PDBDEF 156 #ifdef __cplusplus /* Define structure prototypes */ struct _iotrh; #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 _pdb { #pragma __nomember_alignment void *pdb$l_freefl; /*FREE BUFFER LISTHEAD FORWARD LINK */ void *pdb$l_freebl; /*FREE BUFFER LISTHEAD BACKLINK */ unsigned short int pdb$w_size; /*SIZE OF DATA STRUCTURE */ unsigned char pdb$b_type; /*TYPE OF DATA STRUCTURE */ unsigned char pdb$b_overrun; /*OVERRUN INDICATOR */ void *pdb$l_fillfl; /*FILLED BUFFER LISTHEAD FORWARD LINK */ void *pdb$l_fillbl; /*FILLED BUFFER LISTHEAD BACKWARD LINK */ void *pdb$l_curbuf; /*ADDRESS OF CURRENT BUFFER */ void *pdb$l_nxtbuf; /*ADDRESS OF NEXT LOCATION IN BUFFER */ void *pdb$l_endbuf; /*ADDRESS OF END OF BUFFER */ unsigned int pdb$l_pid; /*PROCESS ID OF DATA COLLECTION PROCESS */ unsigned char pdb$b_devclass; /*DEVICE CLASS SELECTION */ unsigned char pdb$b_devtype; /*DEVICE TYPE SELECTION */ unsigned short int pdb$w_andm; /*STATUS SELECTION 'AND' MASK */ unsigned short int pdb$w_xorm; /*STATUS SELECTION 'XOR' MASK */ unsigned short int pdb$w_bufcnt; /*COUNT OF FILLED BUFFERS */ unsigned __int64 pdb$q_func; /*SELECTION FUNCTION MASK */ char pdb$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 __int64 pdb$q_data; /* pointer to data area */ #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _iotrh *pdb$q_trace_buffer; /* pointer to trace buffer */ #else unsigned __int64 pdb$q_trace_buffer; #endif __union { unsigned int pdb$l_flags; /* trace flags */ __struct { unsigned pdb$v_all : 1; unsigned pdb$v_abort_rq : 1; unsigned pdb$v_end_io : 1; unsigned pdb$v_end_rq : 1; unsigned pdb$v_start_io : 1; unsigned pdb$v_start_rq : 1; unsigned pdb$v_xfer : 1; unsigned pdb$v_dirio : 1; unsigned pdb$v_bufio : 1; unsigned pdb$v_xqp : 1; unsigned pdb$v_fill_1_ : 6; } pdb$r_flags_bits; } pdb$r_flags_overlay; #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif int (*pdb$l_start_trace)(); /* ptr to start trace routine */ int (*pdb$l_stop_trace)(); /* ptr to stop trace routine */ void (*pdb$l_abort_rq)(); /* abort I/O request */ void (*pdb$l_end_io)(); /* end I/O transaction */ void (*pdb$l_end_rq)(); /* end I/O request */ void (*pdb$l_start_io)(); /* start I/O transaction */ void (*pdb$l_start_rq)(); /* start I/O request */ void (*pdb$l_dio_bio)(); /* direct and buffered I/O */ char pdb$b_fill_2_ [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 pdb$q_reserved1; /* reserved */ __int64 pdb$q_reserved2; /* reserved */ __int64 pdb$q_reserved3; /* reserved */ __int64 pdb$q_last_wake; /* The ABSTIM_TIC value when collector last woken */ #pragma __nomember_alignment unsigned __int64 *pdb$pq_scc; /* pointer to array of cycle counts per possible CPU */ unsigned __int64 *pdb$pq_systime; /* pointer to array of systime info per possible CPU */ int pdb$l_max_cpus; char pdb$b_fill_3_ [4]; } PDB; #if !defined(__VAXC) #define pdb$l_flags pdb$r_flags_overlay.pdb$l_flags #define pdb$v_all pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_all #define pdb$v_abort_rq pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_abort_rq #define pdb$v_end_io pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_end_io #define pdb$v_end_rq pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_end_rq #define pdb$v_start_io pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_start_io #define pdb$v_start_rq pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_start_rq #define pdb$v_xfer pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_xfer #define pdb$v_dirio pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_dirio #define pdb$v_bufio pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_bufio #define pdb$v_xqp pdb$r_flags_overlay.pdb$r_flags_bits.pdb$v_xqp #endif /* #if !defined(__VAXC) */ #define IOTRE$K_LENGTH 56 /* Structure size */ #ifdef __cplusplus /* Define structure prototypes */ struct _irp; struct _ucb; struct _ktb; #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 _iotre { #pragma __nomember_alignment unsigned __int64 iotre$q_timestamp; /* timestamp in system cycle counts */ unsigned int iotre$l_cpuid; /* current CPU id */ unsigned int iotre$l_mode; /* general trace category */ unsigned int iotre$l_seqnum; /* sequence number */ unsigned int iotre$l_func; /* function code */ struct _irp *iotre$l_irp; /* address of IRP */ struct _ucb *iotre$l_ucb; /* address of UCB */ unsigned int iotre$l_bcnt; /* byte count */ unsigned int iotre$l_lbn; /* starting LBN */ struct _pcb *iotre$l_pcb; /* address of PCB */ unsigned int iotre$l_reserved1; /* reserved */ unsigned int iotre$l_reserved2; /* reserved */ unsigned int iotre$l_reserved3; /* reserved */ } IOTRE; #define IOTRH$K_LENGTH 88 /* Structure size */ #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 _iotrh { #pragma __nomember_alignment int iotrh$l_idx; /* current index into trace buffer */ unsigned int iotrh$l_max_idx; /* maximum trace index */ unsigned short int iotrh$w_mbo; /* must-be-one field */ unsigned char iotrh$b_type; /* Structure type */ unsigned char iotrh$b_subtype; /* subtype */ unsigned int iotrh$l_fill1; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif __int64 iotrh$q_size; /* Size */ #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _iotre *iotrh$q_entry_ptr; /* pointer to first trace entry */ #else unsigned __int64 iotrh$q_entry_ptr; #endif IOTRE iotrh$r_entry [1]; /* array of trace entries */ } IOTRH; #ifdef __INITIAL_POINTER_SIZE #pragma __required_pointer_size __save /* Save current pointer size */ #pragma __required_pointer_size __long /* Pointers are 64-bit */ typedef struct _pdb *PDB_PQ; /* Pointer to a PDB structure. */ #pragma __required_pointer_size __restore /* Return to previous pointer size */ #else typedef unsigned __int64 PDB_PQ; #endif /* __INITIAL_POINTER_SIZE */ #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 /* __PDBDEF_LOADED */