hdf5/src/hdf5.h

62 lines
2.5 KiB
C
Raw Normal View History

1997-07-31 05:17:56 +08:00
/****************************************************************************
* NCSA HDF *
* Software Development Group *
* National Center for Supercomputing Applications *
* University of Illinois at Urbana-Champaign *
* 605 E. Springfield, Champaign IL 61820 *
* *
* For conditions of distribution and use, see the accompanying *
* hdf/COPYING file. *
* *
****************************************************************************/
/* $Id$ */
/*
* This is the main HDF5 include file. Put further information in a particular
* header file and include that here, don't fill this file with lots of gunk...
*/
#ifndef HDF5_H
#define HDF5_H
/* Standard header files needed all the time */
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <string.h>
/* PABLO support files */
#ifdef HAVE_PABLO
#define IOTRACE
#include "IOTrace.h"
#include "ProcIDs.h"
#endif /* HAVE_PABLO */
[svn-r17] ./src/H5AC.c Renamed H5AC_find() to H5AC_find_f() which is invoked from the H5AC_find() macro. Changed HASH() to H5AC_HASH(). ./src/H5ACprivate.h Increased the number of cache slots from 1033 to 10330 to see how it affects performance. This should probably be changeable on a per-file basis. ./src/H5B.c Fixed some bugs now that symbol tables are actually using the stuff. Improved debugging a little. Fixed uninitialized memory appearing in the file. ./src/H5D.c Changed a FUNC_ENTER() argument from H5Dset_info to H5Dwrite. ./src/H5F.c Plugged a memory leak in H5F_dest(). ./src/H5G.c ./src/H5Gprivate.h Many of these functions take a symbol table entry which describes the symbol table rather than just the symbol table address. Moved some functions to make room for the ones that understand directory names: H5G_new() -> H5G_stab_new() H5G_find() -> H5G_stab_find() H5G_modify() -> H5G_stab_modify() H5G_insert() -> H5G_stab_insert() H5G_list() -> H5G_stab_list() ./src/H5Gnode.c Added more assertions. Zero new memory so junk doesn't appear in the data file. This is a problem when one tries to declassify a classified data file. H5G_node_debug() can take an extra argument which is the address of the heap for the symbol table. If supplied, the symbol names are printed along with the heap offsets. ./src/H5H.c ./src/H5Hprivate.h Fixed a bug with the free blocks by forcing things to align on even boundaries. It's still possible to lose heap memory if the hole is smaller than the free list header. The alternative is to align heap objects on 12 or 20 byte boundaries, but this tends to waste to much space. Zero new memory like with H5Gnode.c. Fixed a "mispeling" of NDEBUG. ./src/H5Ocont.c ./src/H5Onull.c Added the pablo mask defn. ./src/H5Ostab.c Added the pablo mask defn. Fixed a read from uninitialized memory. ./src/H5Oprivate.h Tuned some parameters to see how they affect performance. ./src/debug.c An optional third argument can be supplied which is the address of a heap to use to display names in a symbol table. ./src/hdf5pabl.h Changed `int' to `intn'.
1997-08-10 00:45:59 +08:00
1997-07-31 05:17:56 +08:00
/* Determine the system and set up basic info. */
#include "hdf5plat.h" /* Platform/OS/CPU detection header file (should be first header included) */
/* Generic Data-Structure/Algorithm include files */
#include "H5Aproto.h" /* Atom management routines */
/* Major HDF5 Include files */
#include "hdf5meta.h" /* File Meta-data conversion macros, etc. */
#include "hdf5fort.h" /* Fortran macros, etc. */
#include "hdf5port.h" /* Portability macros for easier development */
#include "hdf5gen.h" /* General global macros */
#include "hdf5type.h" /* General global typedefs (uses basic types defined in hdf5plat.h) */
#include "hdf5lims.h" /* Various global limits & version numbers on things */
#include "H5Fproto.h" /* File access information and macros */
#include "hdf5pabl.h" /* Pablo porting macros */
#include "H5Eproto.h" /* Error reporting information */
#include "H5Cproto.h" /* Template information */
#include "H5Mproto.h" /* Meta-Object information */
#include "H5Tproto.h" /* Datatype information */
#include "H5Pproto.h" /* Dataspace information */
#include "H5proto.h" /* Generic Interface information */
#include "hdf5glob.h" /* Global & thread-specific variables */
#endif /* HDF5_H */