diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 1998-11-25 00:29:09 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 1998-11-25 00:29:09 (GMT) |
commit | 5d0938aba6d4b99640f57abc41441e7af68a1c2c (patch) | |
tree | 813480254a0f728a6eb75ac1478320af1524de00 /src/H5Rpublic.h | |
parent | 0dfd13d13b2587cbdc3388a205159c25eb83588f (diff) | |
download | hdf5-5d0938aba6d4b99640f57abc41441e7af68a1c2c.zip hdf5-5d0938aba6d4b99640f57abc41441e7af68a1c2c.tar.gz hdf5-5d0938aba6d4b99640f57abc41441e7af68a1c2c.tar.bz2 |
[svn-r947] Lots of patches to enable dataset region references. The testing for these
need to be finished and checked in still.
Diffstat (limited to 'src/H5Rpublic.h')
-rw-r--r-- | src/H5Rpublic.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/H5Rpublic.h b/src/H5Rpublic.h index c92d201..6926d86 100644 --- a/src/H5Rpublic.h +++ b/src/H5Rpublic.h @@ -40,17 +40,23 @@ typedef struct { } href_t; #endif /* LATER */ +/* Note! Be careful with the sizes of the references because they should really + * depend on the run-time values in the file. Unfortunately, the arrays need + * to be defined at run-time, so we have to go with the worst case sizes for + * them. -QAK + */ +#define H5R_OBJ_REF_BUF_SIZE sizeof(hsize_t) /* Object reference structure for user's code */ typedef struct { - unsigned long oid[2]; /* OID of object referenced */ + unsigned char oid[H5R_OBJ_REF_BUF_SIZE]; /* Buffer to store OID of object referenced */ + /* Needs to be large enough to store largest haddr_t in a worst case machine (ie. 8 bytes currently) */ } hobj_ref_t; +#define H5R_DSET_REG_REF_BUF_SIZE (sizeof(hsize_t)+sizeof(int)) /* Dataset Region reference structure for user's code */ typedef struct { - unsigned long oid[2]; /* OID of object referenced */ - unsigned long region[2]; /* heap ID of region in object */ - unsigned long bsize; /* Memory buffer size */ - unsigned char *buf; /* Serialized selection information */ + unsigned char heapid[H5R_DSET_REG_REF_BUF_SIZE]; /* Buffer to store heap ID and index */ + /* Needs to be large enough to store largest haddr_t in a worst case machine (ie. 8 bytes currently) plus an int (4 bytes typically, but could be 8 bytes) */ } hdset_reg_ref_t; /* Publicly visible datastructures */ |