summaryrefslogtreecommitdiffstats
path: root/src/H5Tpkg.h
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-01-14 19:42:59 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-01-14 19:42:59 (GMT)
commitd70c7d7a64b821f9d3532cc01c7a7fa934f2a17d (patch)
tree5b7750fffd98153d874bb28daad40c49ac977eeb /src/H5Tpkg.h
parent1063eb8a1ea0cbdbdc4244f0627b94b3096d65ab (diff)
downloadhdf5-d70c7d7a64b821f9d3532cc01c7a7fa934f2a17d.zip
hdf5-d70c7d7a64b821f9d3532cc01c7a7fa934f2a17d.tar.gz
hdf5-d70c7d7a64b821f9d3532cc01c7a7fa934f2a17d.tar.bz2
[svn-r153] Changes since 19980108
---------------------- ./MANIFEST ./src/H5Dconv.c [REMOVED] ./src/H5Tconv.c [NEW] ./src/Makefile.in Changed H5Dconv.c to H5Tconv.c ./html/Datatypes.html Updated data type conversion section. ./html/H5.apiv2.html Removed sections about datasets and data types since they're covered in their own chapters. ./src/H5D.c Supports data type conversion. ./src/H5Odtype.c ./src/H5Tpkg.h Changed `lo_pad' and `hi_pad' to `lsb_pad' and `msb_pad'. ./src/H5T.c ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5Tpublic.h ./src/H5detect.c Added predefined data types. Added query/set more properties. Added type conversion infrastructure. ./test/dsets.c Tests data type conversion during read.
Diffstat (limited to 'src/H5Tpkg.h')
-rw-r--r--src/H5Tpkg.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h
index 1a75c59..4668db4 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -22,8 +22,8 @@ typedef struct H5T_atomic_t {
H5T_order_t order; /*byte order */
size_t prec; /*precision in bits */
size_t offset; /*bit position of lsb of value */
- intn lo_pad; /*type of lsb padding */
- intn hi_pad; /*type of msb padding */
+ intn lsb_pad;/*type of lsb padding */
+ intn msb_pad;/*type of msb padding */
union {
struct {
H5T_sign_t sign; /*type of integer sign */
@@ -42,7 +42,7 @@ typedef struct H5T_atomic_t {
struct {
H5T_cset_t cset; /*character set */
- H5T_str_t spad; /*space or null padding of extra bytes */
+ H5T_str_t pad; /*space or null padding of extra bytes */
} s;
} u;
} H5T_atomic_t;
@@ -72,5 +72,27 @@ typedef struct H5T_member_t {
struct H5T_t type; /*type of this member */
} H5T_member_t;
+/* The data type conversion database */
+typedef struct H5T_path_t {
+ H5T_t *src; /*source data type ID */
+ H5T_t *dst; /*destination data type ID */
+ H5T_conv_t hard; /*hard conversion function or null */
+ H5T_conv_t soft; /*soft conversion function or null */
+} H5T_path_t;
+
+/* The master list of soft conversion functions */
+typedef struct H5T_soft_t {
+ H5T_class_t src; /*source data type class */
+ H5T_class_t dst; /*destination data type class */
+ H5T_conv_t func; /*the conversion function */
+} H5T_soft_t;
+
+H5T_path_t *H5T_path_find (const H5T_t *src, const H5T_t *dst, hbool_t create);
+
+/* Conversion functions */
+herr_t H5T_conv_noop (hid_t src_id, hid_t dst_id, size_t nelmts,
+ void *buf, const void *background);
+herr_t H5T_conv_order (hid_t src_id, hid_t dst_id, size_t nelmts,
+ void *_buf, const void *background);
#endif