summaryrefslogtreecommitdiffstats
path: root/src/H5Gpublic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Gpublic.h')
-rw-r--r--src/H5Gpublic.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/H5Gpublic.h b/src/H5Gpublic.h
index cc3cc7d..32fc1d4 100644
--- a/src/H5Gpublic.h
+++ b/src/H5Gpublic.h
@@ -34,13 +34,27 @@ typedef enum H5G_link_t {
H5G_LINK_SOFT = 1
} H5G_link_t;
-/* An object has a certain type */
+/*
+ * An object has a certain type. The first few numbers are reserved for use
+ * internally by HDF5. Users may add their own types with higher values. The
+ * values are never stored in the file -- they only exist while an
+ * application is running. An object may satisfy the `isa' function for more
+ * than one type.
+ */
#define H5G_UNKNOWN (-1) /* Unknown object type */
#define H5G_LINK 0 /* Object is a symbolic link */
#define H5G_GROUP 1 /* Object is a group */
#define H5G_DATASET 2 /* Object is a dataset */
#define H5G_TYPE 3 /* Object is a named data type */
-#define H5G_NTYPES 4 /* THIS MUST BE LAST */
+#define H5G_RAGGED 4 /* Object is a ragged array */
+#define H5G_RESERVED_5 5 /* Reserved for future use */
+#define H5G_RESERVED_6 6 /* Reserved for future use */
+#define H5G_RESERVED_7 7 /* Reserved for future use */
+
+#define H5G_NTYPES 256 /* Max possible number of types */
+#define H5G_NLIBTYPES 8 /* Number of internal types */
+#define H5G_NUSERTYPES (H5G_NTYPES-H5G_NLIBTYPES)
+#define H5G_USERTYPE(X) (8+(X)) /* User defined types */
/* Information about an object */
typedef struct H5G_stat_t {