diff options
Diffstat (limited to 'src/H5Rpublic.h')
-rw-r--r-- | src/H5Rpublic.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/H5Rpublic.h b/src/H5Rpublic.h index 6d6abb3..121a853 100644 --- a/src/H5Rpublic.h +++ b/src/H5Rpublic.h @@ -20,6 +20,32 @@ #include <H5public.h> #include <H5Ipublic.h> +/* + * Reference types allowed. + */ +typedef enum { + H5R_BADTYPE = (-1), /* invalid Reference Type */ + H5R_OBJECT, /* Object reference */ + H5R_DATASET_REGION, /* Dataset Region Reference */ + H5R_INTERNAL, /* Internal Reference */ + H5R_MAXTYPE /* highest type in group (Invalid as true type)*/ +} H5R_type_t; + +/* Reference structure for user's code */ +typedef struct { + H5R_type_t type; /* Type of reference information in union */ + unsigned long objno[2]; /* OID of object referenced */ + struct H5F_t *file; /* Pointer to the file the reference is in */ + union { /* union to hold structs */ + struct { + } obj; /* Object reference structure */ + struct { + } dreg; /* Dataset Region reference structure */ + struct { + } intrl; /* Internal reference structure */ + }u; +} href_t; + /* Publicly visible datastructures */ #ifdef __cplusplus @@ -27,6 +53,11 @@ extern "C" { #endif /* Functions in H5R.c */ +herr_t H5Rcreate(href_t *ref, hid_t loc_id, const char *name, + H5R_type_t ref_type, hid_t space_id); +hid_t H5Rdereference(href_t *ref); +hid_t H5Rget_space(href_t *ref); +H5R_type_t H5Rget_type(href_t *ref); #ifdef __cplusplus } |