00001 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00002 * Copyright by The HDF Group. * 00003 * Copyright by the Board of Trustees of the University of Illinois. * 00004 * All rights reserved. * 00005 * * 00006 * This file is part of HDF5. The full HDF5 copyright notice, including * 00007 * terms governing use, modification, and redistribution, is contained in * 00008 * the files COPYING and Copyright.html. COPYING can be found at the root * 00009 * of the source code distribution tree; Copyright.html can be found at the * 00010 * root level of an installed copy of the electronic HDF5 document set and * 00011 * is linked from the top-level documents page. It can also be found at * 00012 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * 00013 * access to either file, you may request a copy from help@hdfgroup.org. * 00014 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00015 00016 /*------------------------------------------------------------------------- 00017 * 00018 * Created: H5MPprivate.h 00019 * May 2 2005 00020 * Quincey Koziol <koziol@ncsa.uiuc.edu> 00021 * 00022 * Purpose: Private header for memory pool routines. 00023 * 00024 *------------------------------------------------------------------------- 00025 */ 00026 00027 #ifndef _H5MPprivate_H 00028 #define _H5MPprivate_H 00029 00030 /* Include package's public header (not yet) */ 00031 /* #include "H5MPpublic.h" */ 00032 00033 /* Private headers needed by this file */ 00034 00035 00036 /**************************/ 00037 /* Library Private Macros */ 00038 /**************************/ 00039 00040 /* Pool creation flags */ 00041 /* Default settings */ 00042 #define H5MP_FLG_DEFAULT 0 00043 #define H5MP_PAGE_SIZE_DEFAULT 4096 /* (bytes) */ 00044 00045 00046 /****************************/ 00047 /* Library Private Typedefs */ 00048 /****************************/ 00049 00050 /* Memory pool header (defined in H5MPpkg.c) */ 00051 typedef struct H5MP_pool_t H5MP_pool_t; 00052 00053 00054 /***************************************/ 00055 /* Library-private Function Prototypes */ 00056 /***************************************/ 00057 H5_DLL H5MP_pool_t *H5MP_create (size_t page_size, unsigned flags); 00058 H5_DLL void * H5MP_malloc (H5MP_pool_t *mp, size_t request); 00059 H5_DLL void * H5MP_free (H5MP_pool_t *mp, void *spc); 00060 H5_DLL herr_t H5MP_close (H5MP_pool_t *mp); 00061 00062 #endif /* _H5MPprivate_H */