summaryrefslogtreecommitdiffstats
path: root/pablo/ProcTrace.h
diff options
context:
space:
mode:
authorDan Wells <dwells@cs.uiuc.edu>1999-03-09 21:00:07 (GMT)
committerDan Wells <dwells@cs.uiuc.edu>1999-03-09 21:00:07 (GMT)
commitcd06c38d65b5fd07b680f73951bbf9c6d2c47ce1 (patch)
tree178ba7d9be62aa2167e246059653d71339eac18f /pablo/ProcTrace.h
parentebb0060a05a376890fa2fa946af956398880011e (diff)
downloadhdf5-cd06c38d65b5fd07b680f73951bbf9c6d2c47ce1.zip
hdf5-cd06c38d65b5fd07b680f73951bbf9c6d2c47ce1.tar.gz
hdf5-cd06c38d65b5fd07b680f73951bbf9c6d2c47ce1.tar.bz2
[svn-r1123] Updates for bug fixes and new entry points in files from src directory.
Diffstat (limited to 'pablo/ProcTrace.h')
-rw-r--r--pablo/ProcTrace.h198
1 files changed, 198 insertions, 0 deletions
diff --git a/pablo/ProcTrace.h b/pablo/ProcTrace.h
new file mode 100644
index 0000000..7060725
--- /dev/null
+++ b/pablo/ProcTrace.h
@@ -0,0 +1,198 @@
+/* This file is part of the Pablo Performance Analysis Environment
+//
+// (R)
+// The Pablo Performance Analysis Environment software is NOT in
+// the public domain. However, it is freely available without fee for
+// education, research, and non-profit purposes. By obtaining copies
+// of this and other files that comprise the Pablo Performance Analysis
+// Environment, you, the Licensee, agree to abide by the following
+// conditions and understandings with respect to the copyrighted software:
+//
+// 1. The software is copyrighted in the name of the Board of Trustees
+// of the University of Illinois (UI), and ownership of the software
+// remains with the UI.
+//
+// 2. Permission to use, copy, and modify this software and its documentation
+// for education, research, and non-profit purposes is hereby granted
+// to Licensee, provided that the copyright notice, the original author's
+// names and unit identification, and this permission notice appear on
+// all such copies, and that no charge be made for such copies. Any
+// entity desiring permission to incorporate this software into commercial
+// products should contact:
+//
+// Professor Daniel A. Reed reed@cs.uiuc.edu
+// University of Illinois
+// Department of Computer Science
+// 2413 Digital Computer Laboratory
+// 1304 West Springfield Avenue
+// Urbana, Illinois 61801
+// USA
+//
+// 3. Licensee may not use the name, logo, or any other symbol of the UI
+// nor the names of any of its employees nor any adaptation thereof in
+// advertizing or publicity pertaining to the software without specific
+// prior written approval of the UI.
+//
+// 4. THE UI MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE
+// SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS
+// OR IMPLIED WARRANTY.
+//
+// 5. The UI shall not be liable for any damages suffered by Licensee from
+// the use of this software.
+//
+// 6. The software was developed under agreements between the UI and the
+// Federal Government which entitle the Government to certain rights.
+//
+// *************************************************************************
+//
+// Developed by: The Pablo Research Group
+// University of Illinois at Urbana-Champaign
+// Department of Computer Science
+// 1304 W. Springfield Avenue
+// Urbana, IL 61801
+//
+// http://www-pablo.cs.uiuc.edu
+//
+// Send comments to: pablo-feedback@guitar.cs.uiuc.edu
+//
+// Copyright (c) 1987-1998
+// The University of Illinois Board of Trustees.
+// All Rights Reserved.
+//
+// PABLO is a registered trademark of
+// The Board of Trustees of the University of Illinois
+// registered in the U.S. Patent and Trademark Office.
+//
+// Project Manager and Principal Investigator:
+// Daniel A. Reed (reed@cs.uiuc.edu)
+//
+// Funded in part by the Defense Advanced Research Projects Agency under
+// DARPA contracts DABT63-94-C0049 (SIO Initiative), F30602-96-C-0161,
+// and DABT63-96-C-0027 by the National Science Foundation under the PACI
+// program and grants NSF CDA 94-01124 and ASC 97-20202, and by the
+// Department of Energy under contracts DOE B-341494, W-7405-ENG-48, and
+// 1-B-333164.
+//-------------------------------------------------------------------------*/
+/*--------------------------------------------------------------------------
+ * File: ProcTrace.h
+ * Purpose: define entities for tracing HDF procedures
+ *-------------------------------------------------------------------------*/
+
+#ifndef PROCTRACE_H /* avoid re-inclusion */
+#define PROCTRACE_H
+#include <stdarg.h>
+/*======================================================================*
+// By default, all HDF procedures are traced. Tracing of individual *
+// procedures or all of the procedures in a particular source file in *
+// the HDF 5 library can be done by calling the procedure PabloHDF5trace*
+// with the appropriate argument. The call must be made prior to *
+// calling HDF5initTrace. As many calls as necessary may be made prior *
+// to calling HDF5initTrace so several specific procedures can be *
+// traced. *
+// PabloHDF5trace has the following syntax. *
+// #include "ProcTrace.h" *
+// void PabloHDF5trace( int traceID ); *
+// where *
+// traceID specifies the procedure or procedures within an HDF 5 file *
+// that are to be traced. If a single procedure named <proc> is to *
+// be traced, then traceID should have the value ID_<proc>. If all *
+// of the procedures within the HDF 5 library routine <file>.c are to *
+// be traced, then the value of traceID should be FID_<file>. The *
+// constants ID_<proc> and FID_<file> are declared for all possible *
+// values of <proc> and <file> below. *
+// *
+// Example: *
+// To enable tracing of the individual procedures H5I_register and *
+// H5Topen and all of the procedures in the HDF 5 library source *
+// files H5A.c and H5Gent.c the following code segements could be *
+// used: *
+// *
+// #include "ProcTrace.h" *
+// ... *
+// PabloHDF5trace( ID_H5I_register ); *
+// PabloHDF5trace( ID_H5Topenr ); *
+// PabloHDF5trace( FID_H5A ); *
+// PabloHDF5trace( FID_H5Gent ); *
+// ... *
+// HDF5initTrace( ... ); *
+// *
+// See the document PabloHDF5.doc for further information *
+//======================================================================*/
+/*======================================================================*/
+/* Assign HDF identifier routine tags */
+/*======================================================================*/
+#ifdef RUNTIME_TRACE
+#undef RUNTIME_TRACE
+#endif
+enum HDF_IDS {
+RUNTIME_TRACE,
+SUMMARY_TRACE,
+MPI_RUNTIME_TRACE,
+MPI_SUMMARY_TRACE,
+NO_TRACE,
+#include "HDFidList.h"
+ID_HDF_Last_Entry,
+AllHDF5 = ID_HDF_Last_Entry,
+ID_H5_c,
+ID_H5A_c,
+ID_H5AC_c,
+ID_H5B_c,
+ID_H5D_c,
+ID_H5E_c,
+ID_H5F_c,
+ID_H5Farray_c,
+ID_H5Fcore_c,
+ID_H5Ffamily_c,
+ID_H5Fistore_c,
+ID_H5Flow_c,
+ID_H5Fmpio_c,
+ID_H5Fsec2_c,
+ID_H5Fsplit_c,
+ID_H5Fstdio_c,
+ID_H5G_c,
+ID_H5Gent_c,
+ID_H5Gnode_c,
+ID_H5Gstab_c,
+ID_H5HG_c,
+ID_H5HL_c,
+ID_H5I_c,
+ID_H5MF_c,
+ID_H5MM_c,
+ID_H5O_c,
+ID_H5Oattr_c,
+ID_H5Ocomp_c,
+ID_H5Ocont_c,
+ID_H5Odtype_c,
+ID_H5Oefl_c,
+ID_H5Ofill_c,
+ID_H5Olayout_c,
+ID_H5Omtime_c,
+ID_H5Oname_c,
+ID_H5Onull_c,
+ID_H5Osdspace_c,
+ID_H5Oshared_c,
+ID_H5Ostab_c,
+ID_H5P_c,
+ID_H5R_c,
+ID_H5RA_c,
+ID_H5S_c,
+ID_H5Sall_c,
+ID_H5Shyper_c,
+ID_H5Smpio_c,
+ID_H5Snone_c,
+ID_H5Spoint_c,
+ID_H5Sselect_c,
+ID_H5T_c,
+ID_H5TB_c,
+ID_H5Tbit_c,
+ID_H5Tconv_c,
+ID_H5Tinit_c,
+ID_H5V_c,
+ID_H5Z_c,
+NUM_HDF5_IDS
+} ;
+
+void PabloHDF5Trace( int ) ;
+void HDF5initTrace( const char *, int trace_id, ... );
+void HDF5endTrace( void );
+#endif /* PROCTRACE_H */