diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2012-07-16 19:54:26 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2012-07-16 19:54:26 (GMT) |
commit | 75f4e51a1a076ea2f1602619e2a7d7bcce13c2f1 (patch) | |
tree | b6e08ce3ecbd535ffe74269d7e44c905e19b137d /src/H5Iprivate.h | |
parent | 2e3ab09a520ff87ec709b5997273ce7f3b99d9ed (diff) | |
download | hdf5-75f4e51a1a076ea2f1602619e2a7d7bcce13c2f1.zip hdf5-75f4e51a1a076ea2f1602619e2a7d7bcce13c2f1.tar.gz hdf5-75f4e51a1a076ea2f1602619e2a7d7bcce13c2f1.tar.bz2 |
[svn-r22582] Description:
Refactor ID class registration to be more like how other "class"s in the
library are registered, and clean up compiler warnings.
Tested on:
Mac OSX/64 10.7.4 (amazon) w/debug
(Too minor to require h5comittest)
Diffstat (limited to 'src/H5Iprivate.h')
-rw-r--r-- | src/H5Iprivate.h | 56 |
1 files changed, 36 insertions, 20 deletions
diff --git a/src/H5Iprivate.h b/src/H5Iprivate.h index bc0ef41..ff1463d 100644 --- a/src/H5Iprivate.h +++ b/src/H5Iprivate.h @@ -28,29 +28,45 @@ /* Private headers needed by this file */ #include "H5private.h" +/**************************/ +/* Library Private Macros */ +/**************************/ + /* Macro to determine if a H5I_type_t is a "library type" */ #define H5I_IS_LIB_TYPE( type ) (type > 0 && type < H5I_NTYPES) -/* Default sizes of the hash-tables for various atom types */ -#define H5I_ERRSTACK_HASHSIZE 64 -#define H5I_FILEID_HASHSIZE 64 -#define H5I_TEMPID_HASHSIZE 64 -#define H5I_DATATYPEID_HASHSIZE 64 -#define H5I_DATASPACEID_HASHSIZE 64 -#define H5I_DATASETID_HASHSIZE 64 -#define H5I_OID_HASHSIZE 64 -#define H5I_GROUPID_HASHSIZE 64 -#define H5I_ATTRID_HASHSIZE 64 -#define H5I_REFID_HASHSIZE 64 -#define H5I_VFL_HASHSIZE 64 -#define H5I_GENPROPCLS_HASHSIZE 64 -#define H5I_GENPROPOBJ_HASHSIZE 128 -#define H5I_ERRCLS_HASHSIZE 64 -#define H5I_ERRMSG_HASHSIZE 64 -#define H5I_ERRSTK_HASHSIZE 64 - -/* Private Functions in H5I.c */ -H5_DLL H5I_type_t H5I_register_type(H5I_type_t type_id, size_t hash_size, unsigned reserved, H5I_free_t free_func); +/* Flags for ID class */ +#define H5I_CLASS_IS_APPLICATION 0x01 + + +/****************************/ +/* Library Private Typedefs */ +/****************************/ + +typedef struct H5I_class_t { + H5I_type_t type_id; /* Class ID for the type */ + unsigned flags; /* Class behavior flags */ + size_t hash_size; /* Minimum hash table size for the type */ + unsigned reserved; /* Number of reserved IDs for this type */ + /* [A specific number of type entries may be + * reserved to enable "constant" values to be + * handed out which are valid IDs in the type, + * but which do not map to any data structures + * and are not allocated dynamically later.] + */ + H5I_free_t free_func; /* Free function for object's of this type */ +} H5I_class_t; + + +/*****************************/ +/* Library-private Variables */ +/*****************************/ + + +/***************************************/ +/* Library-private Function Prototypes */ +/***************************************/ +H5_DLL herr_t H5I_register_type(const H5I_class_t *cls); H5_DLL int H5I_nmembers(H5I_type_t type); H5_DLL herr_t H5I_clear_type(H5I_type_t type, hbool_t force, hbool_t app_ref); H5_DLL int H5I_destroy_type(H5I_type_t type); |