HDF5  1.12.0
H5HPprivate.h
Go to the documentation of this file.
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://support.hdfgroup.org/ftp/HDF5/releases. *
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 H5HP module
16  */
17 #ifndef _H5HPprivate_H
18 #define _H5HPprivate_H
19 
20 /**************************************/
21 /* Public headers needed by this file */
22 /**************************************/
23 #ifdef LATER
24 #include "H5HPpublic.h"
25 #endif /* LATER */
26 
27 /***************************************/
28 /* Private headers needed by this file */
29 /***************************************/
30 #include "H5private.h"
31 
32 /************/
33 /* Typedefs */
34 /************/
35 
36 /* Typedef for heap struct (defined in H5HP.c) */
37 typedef struct H5HP_t H5HP_t;
38 
39 /* Typedef for objects which can be inserted into heaps */
40 /* This _must_ be the first field in objects which can be inserted into heaps */
41 typedef struct H5HP_info_t {
42  size_t heap_loc; /* Location of object in heap */
44 
45 /* Typedef for type of heap to create */
46 typedef enum {
47  H5HP_MIN_HEAP, /* Minimum values in heap are at the "top" */
48  H5HP_MAX_HEAP /* Maximum values in heap are at the "top" */
50 
51 /**********/
52 /* Macros */
53 /**********/
54 
55 /********************/
56 /* Private routines */
57 /********************/
59 H5_DLL herr_t H5HP_insert(H5HP_t *heap, int val, void *obj);
61 H5_DLL herr_t H5HP_top(const H5HP_t *heap, int *val);
62 H5_DLL herr_t H5HP_remove(H5HP_t *heap, int *val, void **ptr);
63 H5_DLL herr_t H5HP_change(H5HP_t *heap, int val, void *obj);
64 H5_DLL herr_t H5HP_incr(H5HP_t *heap, unsigned amt, void *obj);
65 H5_DLL herr_t H5HP_decr(H5HP_t *heap, unsigned amt, void *obj);
67 
68 #endif /* _H5HPprivate_H */
69 
ssize_t
int ssize_t
Definition: H5public.h:167
H5HP_close
H5_DLL herr_t H5HP_close(H5HP_t *heap)
Definition: H5HP.c:896
H5HP_info_t
Definition: H5HPprivate.h:41
H5HP_info_t
struct H5HP_info_t H5HP_info_t
H5HP_MIN_HEAP
@ H5HP_MIN_HEAP
Definition: H5HPprivate.h:47
H5HP_type_t
H5HP_type_t
Definition: H5HPprivate.h:46
H5HP_change
H5_DLL herr_t H5HP_change(H5HP_t *heap, int val, void *obj)
Definition: H5HP.c:666
H5HP_incr
H5_DLL herr_t H5HP_incr(H5HP_t *heap, unsigned amt, void *obj)
Definition: H5HP.c:752
H5HP_decr
H5_DLL herr_t H5HP_decr(H5HP_t *heap, unsigned amt, void *obj)
Definition: H5HP.c:824
H5HP_create
H5_DLL H5HP_t * H5HP_create(H5HP_type_t heap_type)
Definition: H5HP.c:335
H5HP_info_t::heap_loc
size_t heap_loc
Definition: H5HPprivate.h:42
H5HP_count
H5_DLL ssize_t H5HP_count(const H5HP_t *heap)
Definition: H5HP.c:410
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
heap
CATCH unable to release unprotect heap
Definition: H5HLdbg.c:119
H5HP_t
Definition: H5HP.c:41
herr_t
int herr_t
Definition: H5public.h:128
H5HP_remove
H5_DLL herr_t H5HP_remove(H5HP_t *heap, int *val, void **ptr)
Definition: H5HP.c:583
H5HP_top
H5_DLL herr_t H5HP_top(const H5HP_t *heap, int *val)
Definition: H5HP.c:538
H5HP_insert
H5_DLL herr_t H5HP_insert(H5HP_t *heap, int val, void *obj)
Definition: H5HP.c:457
H5private.h
H5HP_MAX_HEAP
@ H5HP_MAX_HEAP
Definition: H5HPprivate.h:48