HDF5  1.12.0
H5Ppkg.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  * Programmer: Quincey Koziol <koziol@ncsa.uiuc.edu>
16  * Friday, November 16, 2001
17  *
18  * Purpose: This file contains declarations which are visible only within
19  * the H5P package. Source files outside the H5P package should
20  * include H5Pprivate.h instead.
21  */
22 #if !(defined H5P_FRIEND || defined H5P_MODULE)
23 #error "Do not include this file outside the H5P package!"
24 #endif
25 
26 #ifndef _H5Ppkg_H
27 #define _H5Ppkg_H
28 
29 /* Get package's private header */
30 #include "H5Pprivate.h"
31 
32 /* Other private headers needed by this file */
33 #include "H5SLprivate.h" /* Skip lists */
34 
35 /**************************/
36 /* Package Private Macros */
37 /**************************/
38 
39 
40 /****************************/
41 /* Package Private Typedefs */
42 /****************************/
43 
44 /* Define enum for type of object that property is within */
45 typedef enum {
46  H5P_PROP_WITHIN_UNKNOWN=0, /* Property container is unknown */
47  H5P_PROP_WITHIN_LIST, /* Property is within a list */
48  H5P_PROP_WITHIN_CLASS /* Property is within a class */
50 
51 /* Define enum for modifications to class */
52 typedef enum {
53  H5P_MOD_ERR=(-1), /* Indicate an error */
54  H5P_MOD_INC_CLS, /* Increment the dependent class count*/
55  H5P_MOD_DEC_CLS, /* Decrement the dependent class count*/
56  H5P_MOD_INC_LST, /* Increment the dependent list count*/
57  H5P_MOD_DEC_LST, /* Decrement the dependent list count*/
58  H5P_MOD_INC_REF, /* Increment the ID reference count*/
59  H5P_MOD_DEC_REF, /* Decrement the ID reference count*/
60  H5P_MOD_MAX /* Upper limit on class modifications */
62 
63 /* Define structure to hold property information */
64 typedef struct H5P_genprop_t {
65  /* Values for this property */
66  char *name; /* Name of property */
67  size_t size; /* Size of property value */
68  void *value; /* Pointer to property value */
69  H5P_prop_within_t type; /* Type of object the property is within */
70  hbool_t shared_name; /* Whether the name is shared or not */
71 
72  /* Callback function pointers & info */
73  H5P_prp_create_func_t create; /* Function to call when a property is created */
74  H5P_prp_set_func_t set; /* Function to call when a property value is set */
75  H5P_prp_get_func_t get; /* Function to call when a property value is retrieved */
76  H5P_prp_encode_func_t encode; /* Function to call when a property is encoded */
77  H5P_prp_decode_func_t decode; /* Function to call when a property is decoded */
78  H5P_prp_delete_func_t del; /* Function to call when a property is deleted */
79  H5P_prp_copy_func_t copy; /* Function to call when a property is copied */
80  H5P_prp_compare_func_t cmp; /* Function to call when a property is compared */
81  H5P_prp_close_func_t close; /* Function to call when a property is closed */
83 
84 /* Define structure to hold class information */
86  struct H5P_genclass_t *parent; /* Pointer to parent class */
87  char *name; /* Name of property list class */
88  H5P_plist_type_t type; /* Type of property */
89  size_t nprops; /* Number of properties in class */
90  unsigned plists; /* Number of property lists that have been created since the last modification to the class */
91  unsigned classes; /* Number of classes that have been derived since the last modification to the class */
92  unsigned ref_count; /* Number of outstanding ID's open on this class object */
93  hbool_t deleted; /* Whether this class has been deleted and is waiting for dependent classes & proplists to close */
94  unsigned revision; /* Revision number of a particular class (global) */
95  H5SL_t *props; /* Skip list containing properties */
96 
97  /* Callback function pointers & info */
98  H5P_cls_create_func_t create_func; /* Function to call when a property list is created */
99  void *create_data; /* Pointer to user data to pass along to create callback */
100  H5P_cls_copy_func_t copy_func; /* Function to call when a property list is copied */
101  void *copy_data; /* Pointer to user data to pass along to copy callback */
102  H5P_cls_close_func_t close_func; /* Function to call when a property list is closed */
103  void *close_data; /* Pointer to user data to pass along to close callback */
104 };
105 
106 /* Define structure to hold property list information */
108  H5P_genclass_t *pclass; /* Pointer to class info */
109  hid_t plist_id; /* Copy of the property list ID (for use in close callback) */
110  size_t nprops; /* Number of properties in class */
111  hbool_t class_init; /* Whether the class initialization callback finished successfully */
112  H5SL_t *del; /* Skip list containing names of deleted properties */
113  H5SL_t *props; /* Skip list containing properties */
114 };
115 
116 /* Property list/class iterator callback function pointer */
117 typedef int (*H5P_iterate_int_t)(H5P_genprop_t *prop, void *udata);
118 
119 /* Forward declarations (for prototypes & struct definitions) */
120 struct H5Z_filter_info_t;
121 
122 /*****************************/
123 /* Package Private Variables */
124 /*****************************/
125 
126 
127 /******************************/
128 /* Package Private Prototypes */
129 /******************************/
130 
131 /* Private functions, not part of the publicly documented API */
133  const char *name, H5P_plist_type_t type,
134  H5P_cls_create_func_t cls_create, void *create_data,
135  H5P_cls_copy_func_t cls_copy, void *copy_data,
136  H5P_cls_close_func_t cls_close, void *close_data);
138 H5_DLL herr_t H5P__register_real(H5P_genclass_t *pclass, const char *name, size_t size,
139  const void *def_value, H5P_prp_create_func_t prp_create,
140  H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get,
141  H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode,
142  H5P_prp_delete_func_t prp_delete,
144  H5P_prp_close_func_t prp_close);
145 H5_DLL herr_t H5P__register(H5P_genclass_t **pclass, const char *name, size_t size,
146  const void *def_value, H5P_prp_create_func_t prp_create,
147  H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get,
148  H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode,
149  H5P_prp_delete_func_t prp_delete,
151  H5P_prp_close_func_t prp_close);
154 H5_DLL herr_t H5P__class_get(const H5P_genclass_t *pclass, const char *name,
155  void *value);
156 H5_DLL herr_t H5P__class_set(const H5P_genclass_t *pclass, const char *name,
157  const void *value);
158 H5_DLL htri_t H5P__exist_pclass(H5P_genclass_t *pclass, const char *name);
159 H5_DLL herr_t H5P__get_size_plist(const H5P_genplist_t *plist, const char *name,
160  size_t *size);
162  size_t *size);
163 H5_DLL herr_t H5P__get_nprops_plist(const H5P_genplist_t *plist, size_t *nprops);
164 H5_DLL int H5P__cmp_class(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2);
165 H5_DLL herr_t H5P__cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2,
166  int *cmp_ret);
167 H5_DLL int H5P__iterate_plist(const H5P_genplist_t *plist, hbool_t iter_all_prop,
168  int *idx, H5P_iterate_int_t iter_func, void *iter_data);
169 H5_DLL int H5P__iterate_pclass(const H5P_genclass_t *pclass, int *idx,
170  H5P_iterate_int_t iter_func, void *iter_data);
171 H5_DLL herr_t H5P__copy_prop_plist(hid_t dst_id, hid_t src_id, const char *name);
172 H5_DLL herr_t H5P__copy_prop_pclass(hid_t dst_id, hid_t src_id, const char *name);
173 H5_DLL herr_t H5P__unregister(H5P_genclass_t *pclass, const char *name);
177 H5_DLL herr_t H5P__close_class(void *_pclass);
178 H5_DLL H5P_genprop_t *H5P__find_prop_plist(const H5P_genplist_t *plist, const char *name);
180 
181 /* Encode/decode routines */
182 H5_DLL herr_t H5P__encode(const H5P_genplist_t *plist, hbool_t enc_all_prop,
183  void *buf, size_t *nalloc);
184 H5_DLL hid_t H5P__decode(const void *buf);
185 H5_DLL herr_t H5P__encode_hsize_t(const void *value, void **_pp, size_t *size);
186 H5_DLL herr_t H5P__encode_size_t(const void *value, void **_pp, size_t *size);
187 H5_DLL herr_t H5P__encode_unsigned(const void *value, void **_pp, size_t *size);
188 H5_DLL herr_t H5P__encode_uint8_t(const void *value, void **_pp, size_t *size);
189 H5_DLL herr_t H5P__encode_hbool_t(const void *value, void **_pp, size_t *size);
190 H5_DLL herr_t H5P__encode_double(const void *value, void **_pp, size_t *size);
191 H5_DLL herr_t H5P__decode_hsize_t(const void **_pp, void *value);
192 H5_DLL herr_t H5P__decode_size_t(const void **_pp, void *value);
193 H5_DLL herr_t H5P__decode_unsigned(const void **_pp, void *value);
194 H5_DLL herr_t H5P__decode_uint8_t(const void **_pp, void *value);
195 H5_DLL herr_t H5P__decode_hbool_t(const void **_pp, void *value);
196 H5_DLL herr_t H5P__decode_double(const void **_pp, void *value);
197 H5_DLL herr_t H5P__encode_coll_md_read_flag_t(const void *value, void **_pp, size_t *size);
198 H5_DLL herr_t H5P__decode_coll_md_read_flag_t(const void **_pp, void *value);
199 
200 /* Private OCPL routines */
202  unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[],
203  size_t namelen, char name[], unsigned *filter_config);
204 
205 /* Testing functions */
206 #ifdef H5P_TESTING
207 H5_DLL char *H5P__get_class_path_test(hid_t pclass_id);
209 #endif /* H5P_TESTING */
210 
211 #endif /* _H5Ppkg_H */
212 
H5P__exist_pclass
H5_DLL htri_t H5P__exist_pclass(H5P_genclass_t *pclass, const char *name)
Definition: H5Pint.c:3325
H5P__cmp_plist
H5_DLL herr_t H5P__cmp_plist(const H5P_genplist_t *plist1, const H5P_genplist_t *plist2, int *cmp_ret)
Definition: H5Pint.c:3823
H5P__get_nprops_plist
H5_DLL herr_t H5P__get_nprops_plist(const H5P_genplist_t *plist, size_t *nprops)
Definition: H5Pint.c:3471
H5SL_t
Definition: H5SL.c:557
H5P__copy_pclass
H5_DLL H5P_genclass_t * H5P__copy_pclass(H5P_genclass_t *pclass)
Definition: H5Pint.c:757
size
iblock size
Definition: H5EAcache.c:787
H5P_prp_decode_func_t
herr_t(* H5P_prp_decode_func_t)(const void **buf, void *value)
Definition: H5Ppublic.h:128
H5P__decode_uint8_t
H5_DLL herr_t H5P__decode_uint8_t(const void **_pp, void *value)
Definition: H5Pencdec.c:583
H5P__get_class_path_test
char * H5P__get_class_path_test(hid_t pclass_id)
Definition: H5Ptest.c:59
H5P_genprop_t
Definition: H5Ppkg.h:64
H5Pprivate.h
H5P__get_filter
H5_DLL herr_t H5P__get_filter(const struct H5Z_filter_info_t *filter, unsigned int *flags, size_t *cd_nelmts, unsigned cd_values[], size_t namelen, char name[], unsigned *filter_config)
H5P__class_get
H5_DLL herr_t H5P__class_get(const H5P_genclass_t *pclass, const char *name, void *value)
Definition: H5Pint.c:3159
H5P_genclass_t::revision
unsigned revision
Definition: H5Ppkg.h:94
H5P_cls_close_func_t
herr_t(* H5P_cls_close_func_t)(hid_t prop_id, void *close_data)
Definition: H5Ppublic.h:119
H5P__encode_size_t
H5_DLL herr_t H5P__encode_size_t(const void *value, void **_pp, size_t *size)
Definition: H5Pencdec.c:93
H5P_genclass_t::classes
unsigned classes
Definition: H5Ppkg.h:91
H5P_genplist_t::class_init
hbool_t class_init
Definition: H5Ppkg.h:111
H5P_iterate_int_t
int(* H5P_iterate_int_t)(H5P_genprop_t *prop, void *udata)
Definition: H5Ppkg.h:117
H5P_PROP_WITHIN_LIST
@ H5P_PROP_WITHIN_LIST
Definition: H5Ppkg.h:47
H5P__decode
H5_DLL hid_t H5P__decode(const void *buf)
Definition: H5Pencdec.c:701
H5P_genclass_t::ref_count
unsigned ref_count
Definition: H5Ppkg.h:92
H5P_genprop_t::type
H5P_prop_within_t type
Definition: H5Ppkg.h:69
H5P__register
H5_DLL herr_t H5P__register(H5P_genclass_t **pclass, const char *name, size_t size, const void *def_value, H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close)
Definition: H5Pint.c:2361
H5P__encode_hsize_t
H5_DLL herr_t H5P__encode_hsize_t(const void *value, void **_pp, size_t *size)
Definition: H5Pencdec.c:135
H5P__create_class
H5_DLL H5P_genclass_t * H5P__create_class(H5P_genclass_t *par_class, const char *name, H5P_plist_type_t type, H5P_cls_create_func_t cls_create, void *create_data, H5P_cls_copy_func_t cls_copy, void *copy_data, H5P_cls_close_func_t cls_close, void *close_data)
Definition: H5Pint.c:1654
H5P__encode
H5_DLL herr_t H5P__encode(const H5P_genplist_t *plist, hbool_t enc_all_prop, void *buf, size_t *nalloc)
Definition: H5Pencdec.c:392
H5P_genplist_t::props
H5SL_t * props
Definition: H5Ppkg.h:113
H5P__encode_unsigned
H5_DLL herr_t H5P__encode_unsigned(const void *value, void **_pp, size_t *size)
Definition: H5Pencdec.c:176
H5P_class_mod_t
H5P_class_mod_t
Definition: H5Ppkg.h:52
H5P_prp_create_func_t
H5P_prp_cb1_t H5P_prp_create_func_t
Definition: H5Ppublic.h:124
H5P__find_prop_plist
H5_DLL H5P_genprop_t * H5P__find_prop_plist(const H5P_genplist_t *plist, const char *name)
Definition: H5Pint.c:1287
H5P_MOD_DEC_REF
@ H5P_MOD_DEC_REF
Definition: H5Ppkg.h:59
path
H5T_path_t ** path
Definition: H5T.c:558
H5P__encode_coll_md_read_flag_t
H5_DLL herr_t H5P__encode_coll_md_read_flag_t(const void *value, void **_pp, size_t *size)
H5P__close_class
H5_DLL herr_t H5P__close_class(void *_pclass)
Definition: H5Pint.c:5440
H5P_genclass_t::nprops
size_t nprops
Definition: H5Ppkg.h:89
H5P_genprop_t::shared_name
hbool_t shared_name
Definition: H5Ppkg.h:70
H5P_genprop_t::cmp
H5P_prp_compare_func_t cmp
Definition: H5Ppkg.h:80
H5P_genclass_t::copy_func
H5P_cls_copy_func_t copy_func
Definition: H5Ppkg.h:100
H5P_genclass_t::create_func
H5P_cls_create_func_t create_func
Definition: H5Ppkg.h:98
H5P__get_size_plist
H5_DLL herr_t H5P__get_size_plist(const H5P_genplist_t *plist, const char *name, size_t *size)
Definition: H5Pint.c:3381
H5P_genplist_t
Definition: H5Ppkg.h:107
htri_t
int htri_t
Definition: H5public.h:160
H5P_genclass_t::parent
struct H5P_genclass_t * parent
Definition: H5Ppkg.h:86
H5P_genplist_t::pclass
H5P_genclass_t * pclass
Definition: H5Ppkg.h:108
H5Z_filter_info_t::cd_values
unsigned * cd_values
Definition: H5Zprivate.h:62
H5Z_filter_info_t::name
char * name
Definition: H5Zprivate.h:59
H5P_MOD_DEC_LST
@ H5P_MOD_DEC_LST
Definition: H5Ppkg.h:57
H5SLprivate.h
H5P_genclass_t::deleted
hbool_t deleted
Definition: H5Ppkg.h:93
hid_t
int64_t hid_t
Definition: H5Ipublic.h:55
H5P__decode_coll_md_read_flag_t
H5_DLL herr_t H5P__decode_coll_md_read_flag_t(const void **_pp, void *value)
H5P_genprop_t::decode
H5P_prp_decode_func_t decode
Definition: H5Ppkg.h:77
H5P_prp_close_func_t
H5P_prp_cb1_t H5P_prp_close_func_t
Definition: H5Ppublic.h:132
H5P__encode_double
H5_DLL herr_t H5P__encode_double(const void *value, void **_pp, size_t *size)
Definition: H5Pencdec.c:286
H5P__iterate_pclass
H5_DLL int H5P__iterate_pclass(const H5P_genclass_t *pclass, int *idx, H5P_iterate_int_t iter_func, void *iter_data)
Definition: H5Pint.c:4343
H5P__unregister
H5_DLL herr_t H5P__unregister(H5P_genclass_t *pclass, const char *name)
Definition: H5Pint.c:4998
H5P_prp_set_func_t
H5P_prp_cb2_t H5P_prp_set_func_t
Definition: H5Ppublic.h:125
H5Z_filter_info_t::cd_nelmts
size_t cd_nelmts
Definition: H5Zprivate.h:60
int
CATCH int
Definition: H5EA.c:1002
H5P_cls_create_func_t
herr_t(* H5P_cls_create_func_t)(hid_t prop_id, void *create_data)
Definition: H5Ppublic.h:116
H5P__open_class_path_test
hid_t H5P__open_class_path_test(const char *path)
Definition: H5Ptest.c:100
H5P__get_class_parent
H5_DLL H5P_genclass_t * H5P__get_class_parent(const H5P_genclass_t *pclass)
Definition: H5Pint.c:5407
H5P_genclass_t::type
H5P_plist_type_t type
Definition: H5Ppkg.h:88
H5P_PROP_WITHIN_CLASS
@ H5P_PROP_WITHIN_CLASS
Definition: H5Ppkg.h:48
H5P_genclass_t::create_data
void * create_data
Definition: H5Ppkg.h:99
H5P_genprop_t::get
H5P_prp_get_func_t get
Definition: H5Ppkg.h:75
H5P_genprop_t::set
H5P_prp_set_func_t set
Definition: H5Ppkg.h:74
H5P_MOD_INC_LST
@ H5P_MOD_INC_LST
Definition: H5Ppkg.h:56
H5P_genprop_t::size
size_t size
Definition: H5Ppkg.h:67
H5P_genclass_t::plists
unsigned plists
Definition: H5Ppkg.h:90
H5P__access_class
H5_DLL herr_t H5P__access_class(H5P_genclass_t *pclass, H5P_class_mod_t mod)
Definition: H5Pint.c:1503
H5P__encode_hbool_t
H5_DLL herr_t H5P__encode_hbool_t(const void *value, void **_pp, size_t *size)
Definition: H5Pencdec.c:251
H5P_genplist_t::plist_id
hid_t plist_id
Definition: H5Ppkg.h:109
H5P_genprop_t::del
H5P_prp_delete_func_t del
Definition: H5Ppkg.h:78
H5P__decode_hbool_t
H5_DLL herr_t H5P__decode_hbool_t(const void **_pp, void *value)
Definition: H5Pencdec.c:617
H5P__copy_prop_pclass
H5_DLL herr_t H5P__copy_prop_pclass(hid_t dst_id, hid_t src_id, const char *name)
Definition: H5Pint.c:4919
H5P__decode_double
H5_DLL herr_t H5P__decode_double(const void **_pp, void *value)
Definition: H5Pencdec.c:651
H5P_genclass_t::props
H5SL_t * props
Definition: H5Ppkg.h:95
H5P_MOD_DEC_CLS
@ H5P_MOD_DEC_CLS
Definition: H5Ppkg.h:55
H5P_prp_delete_func_t
H5P_prp_cb2_t H5P_prp_delete_func_t
Definition: H5Ppublic.h:129
H5P_genclass_t::name
char * name
Definition: H5Ppkg.h:87
H5P_genprop_t::value
void * value
Definition: H5Ppkg.h:68
H5P_cls_copy_func_t
herr_t(* H5P_cls_copy_func_t)(hid_t new_prop_id, hid_t old_prop_id, void *copy_data)
Definition: H5Ppublic.h:117
H5P__iterate_plist
H5_DLL int H5P__iterate_plist(const H5P_genplist_t *plist, hbool_t iter_all_prop, int *idx, H5P_iterate_int_t iter_func, void *iter_data)
Definition: H5Pint.c:4180
H5P_genprop_t::create
H5P_prp_create_func_t create
Definition: H5Ppkg.h:73
H5P_prp_compare_func_t
int(* H5P_prp_compare_func_t)(const void *value1, const void *value2, size_t size)
Definition: H5Ppublic.h:131
H5P__open_class_path
H5_DLL H5P_genclass_t * H5P__open_class_path(const char *path)
Definition: H5Pint.c:5322
H5P__add_prop
H5_DLL herr_t H5P__add_prop(H5SL_t *props, H5P_genprop_t *prop)
Definition: H5Pint.c:1249
H5P_plist_type_t
H5P_plist_type_t
Definition: H5Pprivate.h:61
H5P__decode_unsigned
H5_DLL herr_t H5P__decode_unsigned(const void **_pp, void *value)
Definition: H5Pencdec.c:543
H5P_genprop_t::copy
H5P_prp_copy_func_t copy
Definition: H5Ppkg.h:79
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5P_prp_copy_func_t
H5P_prp_cb1_t H5P_prp_copy_func_t
Definition: H5Ppublic.h:130
H5P_genclass_t::close_func
H5P_cls_close_func_t close_func
Definition: H5Ppkg.h:102
H5P__get_class_path
H5_DLL char * H5P__get_class_path(H5P_genclass_t *pclass)
Definition: H5Pint.c:5261
H5P_genclass_t
Definition: H5Ppkg.h:85
H5P_genprop_t::close
H5P_prp_close_func_t close
Definition: H5Ppkg.h:81
H5P_MOD_INC_REF
@ H5P_MOD_INC_REF
Definition: H5Ppkg.h:58
H5P_prop_within_t
H5P_prop_within_t
Definition: H5Ppkg.h:45
H5P_PROP_WITHIN_UNKNOWN
@ H5P_PROP_WITHIN_UNKNOWN
Definition: H5Ppkg.h:46
H5Z_filter_info_t
Definition: H5Zprivate.h:55
H5P__get_size_pclass
H5_DLL herr_t H5P__get_size_pclass(H5P_genclass_t *pclass, const char *name, size_t *size)
Definition: H5Pint.c:3427
H5P__copy_prop_plist
H5_DLL herr_t H5P__copy_prop_plist(hid_t dst_id, hid_t src_id, const char *name)
Definition: H5Pint.c:4811
H5P_genprop_t::encode
H5P_prp_encode_func_t encode
Definition: H5Ppkg.h:76
H5P_MOD_ERR
@ H5P_MOD_ERR
Definition: H5Ppkg.h:53
H5P_MOD_INC_CLS
@ H5P_MOD_INC_CLS
Definition: H5Ppkg.h:54
H5P__new_plist_of_type
H5_DLL hid_t H5P__new_plist_of_type(H5P_plist_type_t type)
Definition: H5Pint.c:5472
H5P__decode_hsize_t
H5_DLL herr_t H5P__decode_hsize_t(const void **_pp, void *value)
Definition: H5Pencdec.c:502
herr_t
int herr_t
Definition: H5public.h:128
H5P_MOD_MAX
@ H5P_MOD_MAX
Definition: H5Ppkg.h:60
H5P_genplist_t::nprops
size_t nprops
Definition: H5Ppkg.h:110
H5P_genplist_t::del
H5SL_t * del
Definition: H5Ppkg.h:112
hbool_t
bool hbool_t
Definition: H5public.h:159
H5P__cmp_class
H5_DLL int H5P__cmp_class(const H5P_genclass_t *pclass1, const H5P_genclass_t *pclass2)
Definition: H5Pint.c:3654
H5P_prp_encode_func_t
herr_t(* H5P_prp_encode_func_t)(const void *value, void **buf, size_t *size)
Definition: H5Ppublic.h:127
H5P__class_set
H5_DLL herr_t H5P__class_set(const H5P_genclass_t *pclass, const char *name, const void *value)
Definition: H5Pint.c:3215
H5P__encode_uint8_t
H5_DLL herr_t H5P__encode_uint8_t(const void *value, void **_pp, size_t *size)
Definition: H5Pencdec.c:215
H5P__register_real
H5_DLL herr_t H5P__register_real(H5P_genclass_t *pclass, const char *name, size_t size, const void *def_value, H5P_prp_create_func_t prp_create, H5P_prp_set_func_t prp_set, H5P_prp_get_func_t prp_get, H5P_prp_encode_func_t prp_encode, H5P_prp_decode_func_t prp_decode, H5P_prp_delete_func_t prp_delete, H5P_prp_copy_func_t prp_copy, H5P_prp_compare_func_t prp_cmp, H5P_prp_close_func_t prp_close)
Definition: H5Pint.c:2129
H5P_genclass_t::copy_data
void * copy_data
Definition: H5Ppkg.h:101
H5P_genprop_t
struct H5P_genprop_t H5P_genprop_t
H5P_prp_get_func_t
H5P_prp_cb2_t H5P_prp_get_func_t
Definition: H5Ppublic.h:126
H5P_genprop_t::name
char * name
Definition: H5Ppkg.h:66
H5Z_filter_info_t::flags
unsigned flags
Definition: H5Zprivate.h:57
H5P__decode_size_t
H5_DLL herr_t H5P__decode_size_t(const void **_pp, void *value)
Definition: H5Pencdec.c:461
H5P_genclass_t::close_data
void * close_data
Definition: H5Ppkg.h:103