1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group.                                               *
3  * Copyright by the Board of Trustees of the University of Illinois.         *
4  * All rights reserved.                                                      *
5  *                                                                           *
6  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
7  * terms governing use, modification, and redistribution, is contained in    *
8  * the COPYING file, which can be found at the root of the source code       *
9  * distribution tree, or in https://www.hdfgroup.org/licenses.               *
10  * If you do not have access to either file, you may request a copy from     *
11  * help@hdfgroup.org.                                                        *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 /*
15  * This file contains private information about the H5M module
16  */
17 #ifndef H5Mprivate_H
18 #define H5Mprivate_H
19 
20 /* Include package's public header */
21 #include "H5Mpublic.h"
22 
23 /* Private headers needed by this file */
24 #include "H5FDprivate.h" /* File drivers                */
25 #include "H5Oprivate.h"  /* Object headers              */
26 #include "H5Sprivate.h"  /* Dataspaces                  */
27 #include "H5Zprivate.h"  /* Data filters                */
28 
29 /**************************/
30 /* Library Private Macros */
31 /**************************/
32 
33 /*
34  * Feature: Define H5M_DEBUG on the compiler command line if you want to
35  *        debug maps. NDEBUG must not be defined in order for this
36  *        to have any effect.
37  */
38 #ifdef NDEBUG
39 #undef H5M_DEBUG
40 #endif
41 
42 /* ========  Map creation property names ======== */
43 
44 /* ========  Map access property names ======== */
45 #define H5M_ACS_KEY_PREFETCH_SIZE_NAME                                                                       \
46     "key_prefetch_size" /* Number of keys to prefetch during map iteration */
47 #define H5M_ACS_KEY_ALLOC_SIZE_NAME                                                                          \
48     "key_alloc_size" /* Initial allocation size for keys prefetched during map iteration */
49 
50 /* Default temporary buffer size */
51 #define H5D_TEMP_BUF_SIZE (1024 * 1024)
52 
53 /* Default I/O vector size */
54 #define H5D_IO_VECTOR_SIZE 1024
55 
56 /* Default VL allocation & free info */
57 #define H5D_VLEN_ALLOC      NULL
58 #define H5D_VLEN_ALLOC_INFO NULL
59 #define H5D_VLEN_FREE       NULL
60 #define H5D_VLEN_FREE_INFO  NULL
61 
62 /* Default virtual dataset list size */
63 #define H5D_VIRTUAL_DEF_LIST_SIZE 8
64 
65 /****************************/
66 /* Library Private Typedefs */
67 /****************************/
68 H5_DLL herr_t H5M_init(void);
69 
70 /*****************************/
71 /* Library Private Variables */
72 /*****************************/
73 
74 /******************************/
75 /* Library Private Prototypes */
76 /******************************/
77 
78 #endif /* H5Mprivate_H */
79