H5MPprivate.h

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 */