summaryrefslogtreecommitdiffstats
path: root/src/H5Pprivate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Pprivate.h')
-rw-r--r--src/H5Pprivate.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/H5Pprivate.h b/src/H5Pprivate.h
index a468464..33847e6 100644
--- a/src/H5Pprivate.h
+++ b/src/H5Pprivate.h
@@ -17,6 +17,9 @@
#ifndef _H5Pprivate_H
#define _H5Pprivate_H
+/* Early typedefs to avoid circular dependencies */
+typedef struct H5P_genplist_t H5P_genplist_t;
+
/* Include package's public header */
#include "H5Ppublic.h"
@@ -52,12 +55,7 @@ typedef enum H5P_coll_md_read_flag_t {
H5P_USER_TRUE = 1
} H5P_coll_md_read_flag_t;
-/* Forward declarations (for prototypes & type definitions) */
-struct H5O_fill_t;
-struct H5T_t;
-
/* Forward declarations for anonymous H5P objects */
-typedef struct H5P_genplist_t H5P_genplist_t;
typedef struct H5P_genclass_t H5P_genclass_t;
typedef enum H5P_plist_type_t {
@@ -86,6 +84,16 @@ typedef enum H5P_plist_type_t {
/* Function pointer for library classes with properties to register */
typedef herr_t (*H5P_reg_prop_func_t)(H5P_genclass_t *pclass);
+/* Move encode/decode callback typedefs from H5Ppublic.h: not exposed to user */
+/* Add a parameter to encode callback */
+typedef herr_t (*H5P_prp_encode_func_t)(const void *value, void **buf, size_t *size, void *udata);
+typedef herr_t (*H5P_prp_decode_func_t)(const void **buf, void *value);
+
+/* User data passed to encode callback */
+typedef struct H5P_enc_cb_info_t {
+ hid_t fapl_id; /* File access property list */
+} H5P_enc_cb_info_t;
+
/*
* Each library property list class has a variable of this type that contains
* class variables and methods used to initialize the class.
@@ -145,6 +153,10 @@ H5_DLLVAR const struct H5P_libclass_t H5P_CLS_FACC[1]; /* File access */
/* Library Private Prototypes */
/******************************/
+/* Forward declaration of structs used below */
+struct H5O_fill_t;
+struct H5T_t;
+
/* Package initialization routine */
H5_DLL herr_t H5P_init(void);