/*static char *SCCSID = "@(#)pvwdata.c  6.2 92/01/31";*/

/*********************************************************************
 *
 *                  PerfView Data Block
 *
 *      This block contains the actual PerfView variables. All files
 *  using a PerfView variable declare the PVWDATA structure as
 *  extern. Here the PVWDATA structure is declared and initialized.
 *
 *  Note that pvwdef.h is included twice within this file, each
 *  time in a different context. The first inclussion declares
 *  the PerfView variables (as fields of the PVWDATA structure) and
 *  the second one initializes those variables.
 *
 *********************************************************************/

#include <os2def.h>
#include <pvwxport.h>

#define  PVWDATA

#include "const.h"
#include "misc.h"
#include "storage.h"
#include "buf.h"
#include "chain.h"
#include "dir.h"
#include "volume.h"
#include "tables.h"
#include "pvw.h"
#include "frame.h"
#include "pr_misc.h"

#ifdef PERFVIEW /* PerfView enabled */

struct PVWDATA {
    PVWFSDDATAH pvdHeader;
#include "pvwdef.h"
} pvwData = {

{ sizeof(pvwData), 0, 0, RPC_FL_16BIT, 0, 0, 0},

#undef  PVWDEF
#define PVWDEF(TYPE,Category,Name) TYPE
#define CNT 0,
#define TIMR {0, 0},
#define QCT 0,                  /*25106 */

#include "pvwdef.h"
};


/*********************************************************************
 *
 *  Note for assembly:
 *
 *      If a PerfView variable is to be used by assembly code, a
 *  pointer to the field has to be declared here, and the assembly
 *  code will access the variable through the pointer.
 *
 *      This looks like a hack, but since assembly code is so uncommon
 *  in PIC we thought it was not worth the effort of doing something
 *  else.
 *
 *********************************************************************/

/* void * pCTHpObjCnt = &pvwData.CTHpObjCnt;25106*/
   void * pQCHpObjCnt = &pvwData.QCHpObjCnt;
/* void * pCTHpAlloc = &pvwData.CTHpAlloc;  25106*/
   void * pQCHpAlloc = &pvwData.QCHpAlloc;

#endif
