summaryrefslogtreecommitdiffstats
path: root/src/H5Tpublic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Tpublic.h')
-rw-r--r--src/H5Tpublic.h235
1 files changed, 141 insertions, 94 deletions
diff --git a/src/H5Tpublic.h b/src/H5Tpublic.h
index 68a1d79..4006ceb 100644
--- a/src/H5Tpublic.h
+++ b/src/H5Tpublic.h
@@ -30,20 +30,20 @@
*/
//! [H5T_class_t_snip]
typedef enum H5T_class_t {
- H5T_NO_CLASS = -1, /**< error */
- H5T_INTEGER = 0, /**< integer types */
- H5T_FLOAT = 1, /**< floating-point types */
- H5T_TIME = 2, /**< date and time types */
- H5T_STRING = 3, /**< character string types */
- H5T_BITFIELD = 4, /**< bit field types */
- H5T_OPAQUE = 5, /**< opaque types */
- H5T_COMPOUND = 6, /**< compound types */
- H5T_REFERENCE = 7, /**< reference types */
- H5T_ENUM = 8, /**< enumeration types */
- H5T_VLEN = 9, /**< variable-Length types */
- H5T_ARRAY = 10, /**< array types */
+ H5T_NO_CLASS = -1, /**< error */
+ H5T_INTEGER = 0, /**< integer types */
+ H5T_FLOAT = 1, /**< floating-point types */
+ H5T_TIME = 2, /**< date and time types */
+ H5T_STRING = 3, /**< character string types */
+ H5T_BITFIELD = 4, /**< bit field types */
+ H5T_OPAQUE = 5, /**< opaque types */
+ H5T_COMPOUND = 6, /**< compound types */
+ H5T_REFERENCE = 7, /**< reference types */
+ H5T_ENUM = 8, /**< enumeration types */
+ H5T_VLEN = 9, /**< variable-Length types */
+ H5T_ARRAY = 10, /**< array types */
- H5T_NCLASSES /**< sentinel: this must be last */
+ H5T_NCLASSES /**< sentinel: this must be last */
} H5T_class_t;
//! [H5T_class_t_snip]
@@ -52,12 +52,12 @@ typedef enum H5T_class_t {
*/
//! [H5T_order_t_snip]
typedef enum H5T_order_t {
- H5T_ORDER_ERROR = -1, /**< error */
- H5T_ORDER_LE = 0, /**< little endian */
- H5T_ORDER_BE = 1, /**< bit endian */
- H5T_ORDER_VAX = 2, /**< VAX mixed endian */
- H5T_ORDER_MIXED = 3, /**< Compound type with mixed member orders */
- H5T_ORDER_NONE = 4 /**< no particular order (strings, bits,..) */
+ H5T_ORDER_ERROR = -1, /**< error */
+ H5T_ORDER_LE = 0, /**< little endian */
+ H5T_ORDER_BE = 1, /**< bit endian */
+ H5T_ORDER_VAX = 2, /**< VAX mixed endian */
+ H5T_ORDER_MIXED = 3, /**< Compound type with mixed member orders */
+ H5T_ORDER_NONE = 4 /**< no particular order (strings, bits,..) */
/*H5T_ORDER_NONE must be last */
} H5T_order_t;
//! [H5T_order_t_snip]
@@ -67,11 +67,11 @@ typedef enum H5T_order_t {
*/
//! [H5T_sign_t_snip]
typedef enum H5T_sign_t {
- H5T_SGN_ERROR = -1, /**< error */
- H5T_SGN_NONE = 0, /**< this is an unsigned type */
- H5T_SGN_2 = 1, /**< two's complement */
+ H5T_SGN_ERROR = -1, /**< error */
+ H5T_SGN_NONE = 0, /**< this is an unsigned type */
+ H5T_SGN_2 = 1, /**< two's complement */
- H5T_NSGN = 2 /** sentinel: this must be last! */
+ H5T_NSGN = 2 /** sentinel: this must be last! */
} H5T_sign_t;
//! [H5T_sign_t_snip]
@@ -80,10 +80,10 @@ typedef enum H5T_sign_t {
*/
//! [H5T_norm_t_snip]
typedef enum H5T_norm_t {
- H5T_NORM_ERROR = -1, /**< error */
- H5T_NORM_IMPLIED = 0, /**< msb of mantissa isn't stored, always 1 */
- H5T_NORM_MSBSET = 1, /**< msb of mantissa is always 1 */
- H5T_NORM_NONE = 2 /**< not normalized */
+ H5T_NORM_ERROR = -1, /**< error */
+ H5T_NORM_IMPLIED = 0, /**< msb of mantissa isn't stored, always 1 */
+ H5T_NORM_MSBSET = 1, /**< msb of mantissa is always 1 */
+ H5T_NORM_NONE = 2 /**< not normalized */
/*H5T_NORM_NONE must be last */
} H5T_norm_t;
//! [H5T_norm_t_snip]
@@ -93,62 +93,62 @@ typedef enum H5T_norm_t {
* \internal Do not change these values since they appear in HDF5 files!
*/
typedef enum H5T_cset_t {
- H5T_CSET_ERROR = -1, /**< error */
- H5T_CSET_ASCII = 0, /**< US ASCII */
- H5T_CSET_UTF8 = 1, /**< UTF-8 Unicode encoding */
- H5T_CSET_RESERVED_2 = 2, /**< reserved for later use */
- H5T_CSET_RESERVED_3 = 3, /**< reserved for later use */
- H5T_CSET_RESERVED_4 = 4, /**< reserved for later use */
- H5T_CSET_RESERVED_5 = 5, /**< reserved for later use */
- H5T_CSET_RESERVED_6 = 6, /**< reserved for later use */
- H5T_CSET_RESERVED_7 = 7, /**< reserved for later use */
- H5T_CSET_RESERVED_8 = 8, /**< reserved for later use */
- H5T_CSET_RESERVED_9 = 9, /**< reserved for later use */
- H5T_CSET_RESERVED_10 = 10, /**< reserved for later use */
- H5T_CSET_RESERVED_11 = 11, /**< reserved for later use */
- H5T_CSET_RESERVED_12 = 12, /**< reserved for later use */
- H5T_CSET_RESERVED_13 = 13, /**< reserved for later use */
- H5T_CSET_RESERVED_14 = 14, /**< reserved for later use */
- H5T_CSET_RESERVED_15 = 15 /**< reserved for later use */
+ H5T_CSET_ERROR = -1, /**< error */
+ H5T_CSET_ASCII = 0, /**< US ASCII */
+ H5T_CSET_UTF8 = 1, /**< UTF-8 Unicode encoding */
+ H5T_CSET_RESERVED_2 = 2, /**< reserved for later use */
+ H5T_CSET_RESERVED_3 = 3, /**< reserved for later use */
+ H5T_CSET_RESERVED_4 = 4, /**< reserved for later use */
+ H5T_CSET_RESERVED_5 = 5, /**< reserved for later use */
+ H5T_CSET_RESERVED_6 = 6, /**< reserved for later use */
+ H5T_CSET_RESERVED_7 = 7, /**< reserved for later use */
+ H5T_CSET_RESERVED_8 = 8, /**< reserved for later use */
+ H5T_CSET_RESERVED_9 = 9, /**< reserved for later use */
+ H5T_CSET_RESERVED_10 = 10, /**< reserved for later use */
+ H5T_CSET_RESERVED_11 = 11, /**< reserved for later use */
+ H5T_CSET_RESERVED_12 = 12, /**< reserved for later use */
+ H5T_CSET_RESERVED_13 = 13, /**< reserved for later use */
+ H5T_CSET_RESERVED_14 = 14, /**< reserved for later use */
+ H5T_CSET_RESERVED_15 = 15 /**< reserved for later use */
} H5T_cset_t;
-#define H5T_NCSET H5T_CSET_RESERVED_2 /*Number of character sets actually defined */
+#define H5T_NCSET H5T_CSET_RESERVED_2 /*Number of character sets actually defined */
/**
* Type of padding to use in character strings.
* \internal Do not change these values since they appear in HDF5 files!
*/
typedef enum H5T_str_t {
- H5T_STR_ERROR = -1, /**< error */
- H5T_STR_NULLTERM = 0, /**< null terminate like in C */
- H5T_STR_NULLPAD = 1, /**< pad with nulls */
- H5T_STR_SPACEPAD = 2, /**< pad with spaces like in Fortran */
- H5T_STR_RESERVED_3 = 3, /**< reserved for later use */
- H5T_STR_RESERVED_4 = 4, /**< reserved for later use */
- H5T_STR_RESERVED_5 = 5, /**< reserved for later use */
- H5T_STR_RESERVED_6 = 6, /**< reserved for later use */
- H5T_STR_RESERVED_7 = 7, /**< reserved for later use */
- H5T_STR_RESERVED_8 = 8, /**< reserved for later use */
- H5T_STR_RESERVED_9 = 9, /**< reserved for later use */
- H5T_STR_RESERVED_10 = 10, /**< reserved for later use */
- H5T_STR_RESERVED_11 = 11, /**< reserved for later use */
- H5T_STR_RESERVED_12 = 12, /**< reserved for later use */
- H5T_STR_RESERVED_13 = 13, /**< reserved for later use */
- H5T_STR_RESERVED_14 = 14, /**< reserved for later use */
- H5T_STR_RESERVED_15 = 15 /**< reserved for later use */
+ H5T_STR_ERROR = -1, /**< error */
+ H5T_STR_NULLTERM = 0, /**< null terminate like in C */
+ H5T_STR_NULLPAD = 1, /**< pad with nulls */
+ H5T_STR_SPACEPAD = 2, /**< pad with spaces like in Fortran */
+ H5T_STR_RESERVED_3 = 3, /**< reserved for later use */
+ H5T_STR_RESERVED_4 = 4, /**< reserved for later use */
+ H5T_STR_RESERVED_5 = 5, /**< reserved for later use */
+ H5T_STR_RESERVED_6 = 6, /**< reserved for later use */
+ H5T_STR_RESERVED_7 = 7, /**< reserved for later use */
+ H5T_STR_RESERVED_8 = 8, /**< reserved for later use */
+ H5T_STR_RESERVED_9 = 9, /**< reserved for later use */
+ H5T_STR_RESERVED_10 = 10, /**< reserved for later use */
+ H5T_STR_RESERVED_11 = 11, /**< reserved for later use */
+ H5T_STR_RESERVED_12 = 12, /**< reserved for later use */
+ H5T_STR_RESERVED_13 = 13, /**< reserved for later use */
+ H5T_STR_RESERVED_14 = 14, /**< reserved for later use */
+ H5T_STR_RESERVED_15 = 15 /**< reserved for later use */
} H5T_str_t;
-#define H5T_NSTR H5T_STR_RESERVED_3 /*num H5T_str_t types actually defined */
+#define H5T_NSTR H5T_STR_RESERVED_3 /*num H5T_str_t types actually defined */
/**
* Type of padding to use in other atomic types
*/
//! [H5T_pad_t_snip]
typedef enum H5T_pad_t {
- H5T_PAD_ERROR = -1, /**< error */
- H5T_PAD_ZERO = 0, /**< always set to zero */
- H5T_PAD_ONE = 1, /**< always set to one */
- H5T_PAD_BACKGROUND = 2, /**< set to background value */
+ H5T_PAD_ERROR = -1, /**< error */
+ H5T_PAD_ZERO = 0, /**< always set to zero */
+ H5T_PAD_ONE = 1, /**< always set to one */
+ H5T_PAD_BACKGROUND = 2, /**< set to background value */
- H5T_NPAD = 3 /**< sentinal: THIS MUST BE LAST */
+ H5T_NPAD = 3 /**< sentinal: THIS MUST BE LAST */
} H5T_pad_t;
//! [H5T_pad_t_snip]
@@ -156,18 +156,18 @@ typedef enum H5T_pad_t {
* Commands sent to conversion functions
*/
typedef enum H5T_cmd_t {
- H5T_CONV_INIT = 0, /**< query and/or initialize private data */
- H5T_CONV_CONV = 1, /**< convert data from source to dest datatype */
- H5T_CONV_FREE = 2 /**< function is being removed from path */
+ H5T_CONV_INIT = 0, /**< query and/or initialize private data */
+ H5T_CONV_CONV = 1, /**< convert data from source to dest datatype */
+ H5T_CONV_FREE = 2 /**< function is being removed from path */
} H5T_cmd_t;
/**
* How is the `bkg' buffer used by the conversion function?
*/
typedef enum H5T_bkg_t {
- H5T_BKG_NO = 0, /**< background buffer is not needed, send NULL */
- H5T_BKG_TEMP = 1, /**< bkg buffer used as temp storage only */
- H5T_BKG_YES = 2 /**< init bkg buf with data before conversion */
+ H5T_BKG_NO = 0, /**< background buffer is not needed, send NULL */
+ H5T_BKG_TEMP = 1, /**< bkg buffer used as temp storage only */
+ H5T_BKG_YES = 2 /**< init bkg buf with data before conversion */
} H5T_bkg_t;
/**
@@ -175,10 +175,10 @@ typedef enum H5T_bkg_t {
*/
//! [H5T_cdata_t_snip]
typedef struct H5T_cdata_t {
- H5T_cmd_t command;/**< what should the conversion function do? */
- H5T_bkg_t need_bkg;/**< is the background buffer needed? */
- hbool_t recalc; /**< recalculate private data */
- void *priv; /**< private data */
+ H5T_cmd_t command; /**< what should the conversion function do? */
+ H5T_bkg_t need_bkg; /**< is the background buffer needed? */
+ hbool_t recalc; /**< recalculate private data */
+ void * priv; /**< private data */
} H5T_cdata_t;
//! [H5T_cdata_t_snip]
@@ -186,9 +186,9 @@ typedef struct H5T_cdata_t {
* Conversion function persistence
*/
typedef enum H5T_pers_t {
- H5T_PERS_DONTCARE = -1, /**< wild card */
- H5T_PERS_HARD = 0, /**< hard conversion function */
- H5T_PERS_SOFT = 1 /**< soft conversion function */
+ H5T_PERS_DONTCARE = -1, /**< wild card */
+ H5T_PERS_HARD = 0, /**< hard conversion function */
+ H5T_PERS_SOFT = 1 /**< soft conversion function */
} H5T_pers_t;
/**
@@ -196,9 +196,9 @@ typedef enum H5T_pers_t {
*/
//! [H5T_direction_t_snip]
typedef enum H5T_direction_t {
- H5T_DIR_DEFAULT = 0, /**< default direction is inscendent */
- H5T_DIR_ASCEND = 1, /**< in inscendent order */
- H5T_DIR_DESCEND = 2 /**< in descendent order */
+ H5T_DIR_DEFAULT = 0, /**< default direction is inscendent */
+ H5T_DIR_ASCEND = 1, /**< in inscendent order */
+ H5T_DIR_DESCEND = 2 /**< in descendent order */
} H5T_direction_t;
//! [H5T_direction_t_snip]
@@ -206,22 +206,22 @@ typedef enum H5T_direction_t {
* The exception type passed into the conversion callback function
*/
typedef enum H5T_conv_except_t {
- H5T_CONV_EXCEPT_RANGE_HI = 0, /**< source value is greater than destination's range */
- H5T_CONV_EXCEPT_RANGE_LOW = 1, /**< source value is less than destination's range */
- H5T_CONV_EXCEPT_PRECISION = 2, /**< source value loses precision in destination */
- H5T_CONV_EXCEPT_TRUNCATE = 3, /**< source value is truncated in destination */
- H5T_CONV_EXCEPT_PINF = 4, /**< source value is positive infinity(floating number) */
- H5T_CONV_EXCEPT_NINF = 5, /**< source value is negative infinity(floating number) */
- H5T_CONV_EXCEPT_NAN = 6 /**< source value is NaN(floating number) */
+ H5T_CONV_EXCEPT_RANGE_HI = 0, /**< source value is greater than destination's range */
+ H5T_CONV_EXCEPT_RANGE_LOW = 1, /**< source value is less than destination's range */
+ H5T_CONV_EXCEPT_PRECISION = 2, /**< source value loses precision in destination */
+ H5T_CONV_EXCEPT_TRUNCATE = 3, /**< source value is truncated in destination */
+ H5T_CONV_EXCEPT_PINF = 4, /**< source value is positive infinity(floating number) */
+ H5T_CONV_EXCEPT_NINF = 5, /**< source value is negative infinity(floating number) */
+ H5T_CONV_EXCEPT_NAN = 6 /**< source value is NaN(floating number) */
} H5T_conv_except_t;
/**
* The return value from conversion callback function H5T_conv_except_func_t()
*/
typedef enum H5T_conv_ret_t {
- H5T_CONV_ABORT = -1, /**< abort conversion */
- H5T_CONV_UNHANDLED = 0, /**< callback function failed to handle the exception */
- H5T_CONV_HANDLED = 1 /**< callback function handled the exception successfully */
+ H5T_CONV_ABORT = -1, /**< abort conversion */
+ H5T_CONV_UNHANDLED = 0, /**< callback function failed to handle the exception */
+ H5T_CONV_HANDLED = 1 /**< callback function handled the exception successfully */
} H5T_conv_ret_t;
/**
@@ -1128,6 +1128,16 @@ H5_DLL herr_t H5Tclose(hid_t type_id);
/**
* \ingroup H5T
*
+ * \brief Asynchronous version of H5Tclose().
+ *
+ * \todo Create an example for H5Tclose_async().
+ *
+ */
+H5_DLL herr_t H5Tclose_async(const char *app_file, const char *app_func, unsigned app_line, hid_t type_id,
+ hid_t es_id);
+/**
+ * \ingroup H5T
+ *
* \brief Determines whether two datatype identifiers refer to the same datatype
*
* \type_id{type1_id}
@@ -1208,6 +1218,17 @@ H5_DLL herr_t H5Tlock(hid_t type_id);
H5_DLL herr_t H5Tcommit2(hid_t loc_id, const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id,
hid_t tapl_id);
/**
+ * \ingroup H5T
+ *
+ * \brief Asynchronous version of H5Tcommit2().
+ *
+ * \todo Create an example for H5Tcommit_async().
+ *
+ */
+H5_DLL herr_t H5Tcommit_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id,
+ const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id,
+ hid_t es_id);
+/**
* --------------------------------------------------------------------------
* \ingroup H5T
*
@@ -1234,6 +1255,16 @@ H5_DLL hid_t H5Topen2(hid_t loc_id, const char *name, hid_t tapl_id);
/**
* \ingroup H5T
*
+ * \brief Asynchronous version of H5Topen2().
+ *
+ * \todo Create an example for H5Topen_async().
+ *
+ */
+H5_DLL hid_t H5Topen_async(const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id,
+ const char *name, hid_t tapl_id, hid_t es_id);
+/**
+ * \ingroup H5T
+ *
* \brief Commits a transient datatype to a file, creating a new named
* datatype, but does not link it into the file structure
*
@@ -2875,6 +2906,22 @@ H5_DLL herr_t H5Treclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *bu
*
* Use of these symbols is deprecated.
*/
+
+/* API Wrappers for async routines */
+/* (Must be defined _after_ the function prototype) */
+/* (And must only defined when included in application code, not the library) */
+#ifndef H5T_MODULE
+#define H5Tcommit_async(...) H5Tcommit_async(__FILE__, __func__, __LINE__, __VA_ARGS__)
+#define H5Topen_async(...) H5Topen_async(__FILE__, __func__, __LINE__, __VA_ARGS__)
+#define H5Tclose_async(...) H5Tclose_async(__FILE__, __func__, __LINE__, __VA_ARGS__)
+
+/* Define "wrapper" versions of function calls, to allow compile-time values to
+ * be passed in by language wrapper or library layer on top of HDF5. */
+#define H5Tcommit_async_wrap H5_NO_EXPAND(H5Tcommit_async)
+#define H5Topen_async_wrap H5_NO_EXPAND(H5Topen_async)
+#define H5Tclose_async_wrap H5_NO_EXPAND(H5Tclose_async)
+#endif /* H5T_MODULE */
+
#ifndef H5_NO_DEPRECATED_SYMBOLS
/* Macros */