diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2008-08-28 14:57:13 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2008-08-28 14:57:13 (GMT) |
commit | aa03e8bc941ea62a60128210a7f3a1f8dac9fcba (patch) | |
tree | dd5969f27087e33ff3d1351a8d0627346a595eaf /src/H5EAprivate.h | |
parent | d78821d6196c6bd19e66a6bfb86c1a9232e4f9ec (diff) | |
download | hdf5-aa03e8bc941ea62a60128210a7f3a1f8dac9fcba.zip hdf5-aa03e8bc941ea62a60128210a7f3a1f8dac9fcba.tar.gz hdf5-aa03e8bc941ea62a60128210a7f3a1f8dac9fcba.tar.bz2 |
[svn-r15549] Description:
Initial checkin of extensible array data structure prototype code and
regression tests.
Initial definitions for revised FUNC_ENTER/LEAVE and error reporting
macros, which are being vetted in the extensible array code.
Minor warning and formatting cleanups in other sections of code.
Tested on:
Mac OS X/32 10.5.4 (amazon) in debug mode
Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src/H5EAprivate.h')
-rw-r--r-- | src/H5EAprivate.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/H5EAprivate.h b/src/H5EAprivate.h new file mode 100644 index 0000000..6a7fc67 --- /dev/null +++ b/src/H5EAprivate.h @@ -0,0 +1,91 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/*------------------------------------------------------------------------- + * + * Created: H5EAprivate.h + * Jun 17 2008 + * Quincey Koziol <koziol@hdfgroup.org> + * + * Purpose: Private header for library accessible extensible + * array routines. + * + *------------------------------------------------------------------------- + */ + +#ifndef _H5EAprivate_H +#define _H5EAprivate_H + +/* Include package's public header */ +#ifdef NOT_YET +#include "H5EApublic.h" +#endif /* NOT_YET */ + +/* Private headers needed by this file */ +#include "H5Fprivate.h" /* File access */ + + +/**************************/ +/* Library Private Macros */ +/**************************/ + + +/****************************/ +/* Library Private Typedefs */ +/****************************/ + +/* Extensible array creation parameters */ +typedef struct H5EA_create_t { + uint8_t elmt_size; /* Element size (in bytes) */ + uint8_t idx_blk_elmts; /* # of elements to store in index block */ + uint8_t data_blk_min_elmts; /* Min. # of elements per data block */ + uint8_t sup_blk_min_data_ptrs; /* Min. # of data block pointers for a super block */ +} H5EA_create_t; + +/* Extensible array metadata statistics info */ +typedef struct H5EA_stat_t { + hsize_t nsuper_blks; /* # of super blocks */ + hsize_t ndata_blks; /* # of data blocks */ +} H5EA_stat_t; + +/* Extensible array info (forward decl - defined in H5EApkg.h) */ +typedef struct H5EA_t H5EA_t; + + +/*****************************/ +/* Library-private Variables */ +/*****************************/ + + +/***************************************/ +/* Library-private Function Prototypes */ +/***************************************/ + +/* General routines */ +H5_DLL H5EA_t *H5EA_create(H5F_t *f, hid_t dxpl_id, const H5EA_create_t *cparam); +H5_DLL herr_t H5EA_get_nelmts(const H5EA_t *ea, hsize_t *nelmts); +H5_DLL herr_t H5EA_get_addr(const H5EA_t *ea, haddr_t *addr); +H5_DLL herr_t H5EA_delete(H5F_t *f, hid_t dxpl_id, haddr_t ea_addr); +H5_DLL herr_t H5EA_close(H5EA_t *ea, hid_t dxpl_id); + +/* Statistics routines */ +H5_DLL herr_t H5EA_get_stats(const H5EA_t *ea, H5EA_stat_t *stats); + +/* Debugging routines */ +#ifdef H5EA_DEBUGGING +#endif /* H5EA_DEBUGGING */ + +#endif /* _H5EAprivate_H */ + |