summaryrefslogtreecommitdiffstats
path: root/Source/cmIfCommand.cxx
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2006-11-16 20:31:34 (GMT)
committerKen Martin <ken.martin@kitware.com>2006-11-16 20:31:34 (GMT)
commitd92f22023cc83e58c056271b6177279ce0d0f847 (patch)
tree5741f2261fcc2c38efde545ef6f3d0938d13eb73 /Source/cmIfCommand.cxx
parent97b1963fd7540adb173466a346dc936ac810239b (diff)
downloadCMake-d92f22023cc83e58c056271b6177279ce0d0f847.zip
CMake-d92f22023cc83e58c056271b6177279ce0d0f847.tar.gz
CMake-d92f22023cc83e58c056271b6177279ce0d0f847.tar.bz2
ENH: remove old hack now that project level compatibility files are supported
Diffstat (limited to 'Source/cmIfCommand.cxx')
-rw-r--r--Source/cmIfCommand.cxx17
1 files changed, 0 insertions, 17 deletions
diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx
index 2c69d83..2e21da1 100644
--- a/Source/cmIfCommand.cxx
+++ b/Source/cmIfCommand.cxx
@@ -217,23 +217,6 @@ bool cmIfCommand::IsTrue(const std::vector<std::string> &args,
return false;
}
- // this is a super ugly hack. Basically old versiosn of VTK and ITK have a
- // bad test to check for more recent versions of CMake in the
- // CMakeLists.txt file for libtiff. So when we reved CMake up to 2.0 the
- // test started failing because the minor version went to zero this causes
- // the test to pass
- if (args.size() == 3 &&
- (makefile->GetDefinition("VTKTIFF_SOURCE_DIR") ||
- makefile->GetDefinition("ITKTIFF_SOURCE_DIR")) &&
- args[0] == "CMAKE_MINOR_VERSION" &&
- args[1] == "MATCHES")
- {
- delete [] *errorString;
- *errorString = 0;
- return true;
- }
-
-
// store the reduced args in this vector
std::list<std::string> newArgs;
int reducible;
602682b54e47d880'>Diffstat
-rw-r--r--src/H5Apublic.h1
-rw-r--r--src/H5D.c199
-rw-r--r--src/H5Dprivate.h19
-rw-r--r--src/H5Dpublic.h1
-rw-r--r--src/H5M.c4
-rw-r--r--src/H5O.c8
-rw-r--r--src/H5Oprivate.h31
-rw-r--r--src/H5Osdim.c17
-rw-r--r--src/H5P.c77
-rw-r--r--src/H5Pprivate.h3
-rw-r--r--src/H5Ppublic.h2
-rw-r--r--src/H5T.c137
-rw-r--r--src/H5Tprivate.h1
-rw-r--r--src/Makefile.in2
14 files changed, 365 insertions, 137 deletions
diff --git a/src/H5Apublic.h b/src/H5Apublic.h
index 3823b28..115153c 100644
--- a/src/H5Apublic.h
+++ b/src/H5Apublic.h
@@ -32,6 +32,7 @@ typedef enum {
H5_DATASPACE, /* Group ID for Dataspace objects */
H5_DATASET, /* Group ID for Dataset objects */
H5_DIRECTORY, /* Group ID for Directory objects */
+ H5_OID, /* Group ID for OID objects */
MAXGROUP /* Highest group in group_t (Invalid as true group) */
} group_t;
diff --git a/src/H5D.c b/src/H5D.c
index 4c1dbdd..32eb59b 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -34,14 +34,12 @@ static char RcsId[] = "@(#)$Revision$";
#include <H5private.h> /* Generic Functions */
#include <H5Aprivate.h> /* Atoms */
-#include <H5Gprivate.h> /* Groups */
-#include <H5Oprivate.h> /* Object Headers */
#include <H5Mprivate.h> /* Meta-Object API */
#include <H5Dprivate.h> /* Dataset functions */
#include <H5Eprivate.h> /* Error handling */
-#include <H5Gprivate.h> /* Symbol tables */
#include <H5Mprivate.h> /* Meta data */
#include <H5Oprivate.h> /* Object headers */
+#include <H5MFprivate.h> /* File space allocation header */
#define PABLO_MASK H5D_mask
@@ -104,14 +102,15 @@ hatom_t H5D_create(hatom_t owner_id, hobjtype_t type, const char *name)
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL);
/* Initialize the dataset object */
- if(H5Aatom_group(owner_id)==H5_FILE)
- new_dset->file=owner_id;
- else
- new_dset->file=H5Mget_file(owner_id);
- new_dset->name=HDstrdup(name); /* make a copy of the dataset name */
+ if(H5Aatom_group(owner_id)!=H5_FILE)
+ HGOTO_ERROR(H5E_ATOM, H5E_BADTYPE, FAIL);
+ new_dset->file=H5Aatom_object(owner_id);
+ if((new_dset->name=HDmalloc(sizeof(H5O_name_t)))==NULL)
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL);
+ new_dset->name->s=HDstrdup(name); /* make a copy of the dataset name */
new_dset->modified=BTRUE; /* Yep, we're new... */
- new_dset->type=0;
- new_dset->dim=0;
+ new_dset->type=NULL;
+ new_dset->dim=NULL;
new_dset->header=(-1); /* don't know where we are... */
new_dset->data=(-1); /* don't know where we should put the data, either... */
@@ -132,6 +131,72 @@ done:
/*--------------------------------------------------------------------------
NAME
+ H5D_access
+ PURPOSE
+ Start access to an existing HDF5 dataset object
+ USAGE
+ hatom_t H5D_access(oid)
+ hatom_t oid; IN: Atom for OID of dataset
+ RETURNS
+ Returns ID (atom) on success, FAIL on failure
+ DESCRIPTION
+ This function initiates access to a dataset object.
+--------------------------------------------------------------------------*/
+hatom_t H5D_access(hatom_t oid)
+{
+ H5D_dataset_t *dset; /* dataset object to access */
+ H5D_oid_t *ohdr; /* OID for reference to dataset */
+ H5O_std_store_t store; /* standard storage info */
+ hatom_t ret_value = SUCCEED;
+
+ FUNC_ENTER(H5D_access, H5D_init_interface, FAIL);
+
+ /* Clear errors and check args and all the boring stuff. */
+ H5ECLEAR;
+
+ /* Go get the OID for the dataset */
+ if((ohdr=H5Aatom_object(oid))==NULL)
+ HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL);
+
+ /* Allocate space for the dataset */
+ if((dset=HDmalloc(sizeof(H5D_dataset_t)))==NULL)
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL);
+
+ /* Pull information about the dataset out of the file */
+ dset->file=H5Aatom_object(ohdr->fid); /* Get the pointer to the file for the dataset */
+ /* Get the dataset's name */
+ if((dset->name=H5O_read(dset->file,ohdr->ohdr,ohdr->ent,H5O_NAME,1,NULL))==NULL)
+ HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL);
+ dset->modified=BFALSE; /* nothing changed yet */
+ /* Get the dataset's type (currently only atomic types) */
+ if((dset->type=H5O_read(dset->file,ohdr->ohdr,ohdr->ent,H5O_SIM_DTYPE,1,NULL))==NULL)
+ HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL);
+ /* Get the dataset's dimensionality (currently only simple dataspaces) */
+ if((dset->dim=H5O_read(dset->file,ohdr->ohdr,ohdr->ent,H5O_SIM_DIM,1,NULL))==NULL)
+ HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL);
+ dset->header=ohdr->ohdr; /* keep the object header location for later */
+ /* Get the dataset's data offset (currently only standard storage) */
+ if(NULL==H5O_read(dset->file,ohdr->ohdr,ohdr->ent,H5O_STD_STORE,1,&store))
+ HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL);
+ dset->data=store.off;
+
+ /* Register the new datatype and get an ID for it */
+ if((ret_value=H5Aregister_atom(H5_DATASET, (const VOIDP)dset))==FAIL)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL);
+
+done:
+ if(ret_value == FAIL)
+ { /* Error condition cleanup */
+
+ } /* end if */
+
+ /* Normal function cleanup */
+
+ FUNC_LEAVE(ret_value);
+} /* end H5D_access() */
+
+/*--------------------------------------------------------------------------
+ NAME
H5Dset_info
PURPOSE
Set the type and dimensionality of a dataset.
@@ -183,6 +248,60 @@ done:
/*--------------------------------------------------------------------------
NAME
+ H5Dget_info
+ PURPOSE
+ Get the type and dimensionality of a dataset.
+ USAGE
+ herr_t H5Dget_info(oid, tid, sid)
+ hatom_t oid; IN: Dataset object to query
+ hatom_t *tid; OUT: Datatype object to use as node element
+ hatom_t *sid; OUT: Dimensionality object to use as dataspace
+ RETURNS
+ SUCCEED/FAIL
+ DESCRIPTION
+ This function starts access to the datatype and dataspace of an
+ existing dataset. H5Mendaccess must be called to release the datatype and
+ dataspace returned from this function.
+--------------------------------------------------------------------------*/
+herr_t H5Dget_info(hatom_t oid, hatom_t *tid, hatom_t *sid)
+{
+ H5D_dataset_t *dataset; /* dataset object to query */
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER(H5Dget_info, H5D_init_interface, FAIL);
+
+ /* Clear errors and check args and all the boring stuff. */
+ H5ECLEAR;
+
+ /* Check that we've received correctly typed parameters */
+ if(H5Aatom_group(oid)!=H5_DATASET)
+ HGOTO_ERROR(H5E_ATOM, H5E_BADTYPE, FAIL);
+
+ /* Get the object */
+ if((dataset=H5Aatom_object(oid))==NULL)
+ HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL);
+ /* Check that the datatype & dataspace haven't already been initialized */
+ if(dataset->type==NULL || dataset->dim==NULL)
+ HGOTO_ERROR(H5E_DATASET, H5E_UNINITIALIZED, FAIL);
+
+ if((*tid=H5Aregister_atom(H5_DATATYPE, (const VOIDP)dataset->type))==FAIL)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL);
+ if((*sid=H5Aregister_atom(H5_DATASPACE, (const VOIDP)dataset->dim))==FAIL)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL);
+
+done:
+ if(ret_value == FAIL)
+ { /* Error condition cleanup */
+
+ } /* end if */
+
+ /* Normal function cleanup */
+
+ FUNC_LEAVE(ret_value);
+} /* end H5Dset_info() */
+
+/*--------------------------------------------------------------------------
+ NAME
H5Dwrite
PURPOSE
Write data for a dataset
@@ -203,9 +322,7 @@ done:
herr_t H5Dwrite(hatom_t oid, hatom_t did, VOIDP buf)
{
H5D_dataset_t *dataset; /* dataset object to release */
-#if 0
uintn towrite; /* number of bytes to write out */
-#endif
herr_t ret_value = SUCCEED;
FUNC_ENTER(H5Dwrite, H5D_init_interface, FAIL);
@@ -214,7 +331,7 @@ herr_t H5Dwrite(hatom_t oid, hatom_t did, VOIDP buf)
H5ECLEAR;
/* Check that we've received correctly typed parameters */
- if(H5Aatom_group(did)!=H5_DATASPACE)
+ if(did!=0 && H5Aatom_group(did)!=H5_DATASPACE)
HGOTO_ERROR(H5E_ATOM, H5E_BADTYPE, FAIL);
if(buf==NULL)
HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL);
@@ -223,14 +340,26 @@ herr_t H5Dwrite(hatom_t oid, hatom_t did, VOIDP buf)
if((dataset=H5Aatom_object(oid))==NULL)
HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL);
/* Check that the datatype & dataspace haven't already been initialized */
- if(dataset->type==0 || dataset->dim==0)
+ if(dataset->type==NULL || dataset->dim==NULL)
HGOTO_ERROR(H5E_FUNC, H5E_UNINITIALIZED, FAIL);
-#if 0
- towrite=H5Tsize(dataset->type)*H5Pnelem(did);
-#endif
+ /* Compute the number of bytes to write out */
+ if(did==0) /* Check if we are writing out the entire dataset */
+ towrite=H5T_size(dataset->type,BTRUE)*H5P_nelem(dataset->dim);
+ else
+ HGOTO_ERROR(H5E_INTERNAL, H5E_UNSUPPORTED, FAIL);
+
+ /* Check if we have space for the dataset yet */
+ if(dataset->data==(-1))
+ if((dataset->data=H5MF_alloc(dataset->file,towrite))==FAIL)
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL);
+
/* Check memory to disk datatype conversions, etc. */
-/* data out */
+/* DO THIS! -QAK */
+
+ /* Write the data out to disk */
+ if(H5F_block_write(dataset->file,dataset->data,towrite,buf)==FAIL)
+ HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL);
done:
if(ret_value == FAIL)
@@ -263,7 +392,6 @@ herr_t H5D_flush(hatom_t oid)
{
H5D_dataset_t *dataset; /* dataset object to release */
herr_t ret_value = SUCCEED;
- hdf5_file_t *file = NULL;
H5G_entry_t d_sym;
FUNC_ENTER(H5D_flush, H5D_init_interface, FAIL);
@@ -277,16 +405,11 @@ herr_t H5D_flush(hatom_t oid)
/* Check if we have information to flush to the file... */
if (dataset->modified) {
- /* Get the dataset's file... (I'm not fond of this. -QAK) */
- if((file=H5Aatom_object(dataset->file))==NULL)
- HGOTO_ERROR(H5E_INTERNAL, H5E_BADATOM, FAIL);
-
-
if (dataset->header<=0) {
/*
* Create the object header.
*/
- if ((dataset->header = H5O_new (file, 0, H5D_MINHDR_SIZE))<0) {
+ if ((dataset->header = H5O_new (dataset->file, 0, H5D_MINHDR_SIZE))<0) {
HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL); /*can't create header*/
}
@@ -303,7 +426,7 @@ herr_t H5D_flush(hatom_t oid)
/* Check if this dataset has an "atomic" datatype */
if(BTRUE==H5T_is_atomic(dataset->type))
{
- if(H5O_modify(file,dataset->header,&d_sym,NULL,H5O_SIM_DTYPE,H5O_NEW_MESG,dataset->type)==FAIL)
+ if(H5O_modify(dataset->file,dataset->header,&d_sym,NULL,H5O_SIM_DTYPE,H5O_NEW_MESG,dataset->type)==FAIL)
HGOTO_ERROR (H5E_INTERNAL, H5E_CANTCREATE, FAIL);
} /* end if */
else
@@ -313,14 +436,22 @@ herr_t H5D_flush(hatom_t oid)
/* Check if this dataset has "simple" dimensionality */
if(BTRUE==H5P_is_simple(dataset->dim))
{
- if(H5O_modify(file,dataset->header,&d_sym,NULL,H5O_SIM_DIM,H5O_NEW_MESG,dataset->dim)==FAIL)
+ if(H5O_modify(dataset->file,dataset->header,&d_sym,NULL,H5O_SIM_DIM,H5O_NEW_MESG,dataset->dim->s)==FAIL)
HGOTO_ERROR (H5E_INTERNAL, H5E_CANTCREATE, FAIL);
} /* end if */
else
{ /* if it's not an atomic datatype, fail for right now */
HGOTO_ERROR (H5E_INTERNAL, H5E_UNSUPPORTED, FAIL);
} /* end else */
+ if(dataset->data>0)
+ {
+ H5O_std_store_t store; /* standard storage info */
+ store.len=H5T_size(dataset->type,BTRUE)*H5P_nelem(dataset->dim);
+ store.off=dataset->data;
+ if(H5O_modify(dataset->file,dataset->header,&d_sym,NULL,H5O_STD_STORE,H5O_NEW_MESG,&store)==FAIL)
+ HGOTO_ERROR (H5E_INTERNAL, H5E_CANTCREATE, FAIL);
+ } /* end if */
/*
* Give the object header a name so others can access it.
@@ -332,7 +463,7 @@ herr_t H5D_flush(hatom_t oid)
/*
* Give the object header a name so others can access it.
*/
- if (H5G_insert (file, file->root_sym, NULL, dataset->name,
+ if (H5G_insert (dataset->file, dataset->file->root_sym, NULL, dataset->name->s,
&d_sym)<0) {
HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL); /*can't name header*/
}
@@ -353,7 +484,7 @@ herr_t H5D_flush(hatom_t oid)
* changed messages aren't cached in the symbol table entry.
*-------------------------------------------------------------------------
*/
- if (H5G_find (file, file->root_sym, NULL, dataset->name, &d_sym)<0) {
+ if (H5G_find (dataset->file, dataset->file->root_sym, NULL, dataset->name->s, &d_sym)<0) {
HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL);
}
@@ -362,11 +493,11 @@ herr_t H5D_flush(hatom_t oid)
*/
#if 0
- H5O_modify (file, d_sym.header, &d_sym, &entry_changed,
+ H5O_modify (dataset->file, d_sym.header, &d_sym, &entry_changed,
H5O_WHATEVER, 0, &the_message);
- H5O_modify (file, d_sym.header, &d_sym, &entry_changed,
+ H5O_modify (dataset->file, d_sym.header, &d_sym, &entry_changed,
H5O_WHATEVER, 0, &the_message);
- H5O_modify (file, d_sym.header, &d_sym, &entry_changed,
+ H5O_modify (dataset->file, d_sym.header, &d_sym, &entry_changed,
H5O_WHATEVER, 0, &the_message);
#endif
@@ -380,7 +511,7 @@ herr_t H5D_flush(hatom_t oid)
* Make sure the symbol table entry as modified by the
* changing of messages gets back to the file.
*/
- H5G_modify (file, file->root_sym, NULL, dataset->name, &d_sym);
+ H5G_modify (dataset->file, dataset->file->root_sym, NULL, dataset->name->s, &d_sym);
}
}
dataset->modified = FALSE;
@@ -430,6 +561,7 @@ herr_t H5D_release(hatom_t oid)
/* relase the memory used for the dataset */
if(dataset->name!=NULL)
+ HDfree(dataset->name->s);
HDfree(dataset->name);
HDfree(dataset);
@@ -448,4 +580,3 @@ done:
FUNC_LEAVE(ret_value);
} /* end H5D_release() */
-
diff --git a/src/H5Dprivate.h b/src/H5Dprivate.h
index 907395d..a5343d4 100644
--- a/src/H5Dprivate.h
+++ b/src/H5Dprivate.h
@@ -23,15 +23,25 @@
/* Private headers needed by this file */
#include <H5private.h>
#include <H5Cprivate.h> /* for the hobjtype_t type */
+#include <H5Gprivate.h> /* Symbol tables */
#include <H5Tprivate.h> /* for the h5_datatype_t type */
#include <H5Pprivate.h> /* for the H5P_sdim_t type */
+#include <H5Oprivate.h> /* Object Headers */
+/* Define a struct to carry all the information required to look up an object header */
typedef struct {
- hatom_t file; /* ID of the file-store of this object */
- char *name; /* Name of dataset */
+ hatom_t fid; /* File Id for object */
+ haddr_t ohdr; /* Offset of the object header */
+ H5G_entry_t *dir; /* directory entry for the directory the object is located in */
+ H5G_entry_t *ent; /* directory entry for the object itself */
+ } H5D_oid_t;
+
+typedef struct {
+ hdf5_file_t *file; /* Pointer to the file-store of this object */
+ H5O_name_t *name; /* Name of dataset */
hbool_t modified; /* Whether the dataset has been modified from version on disk */
- h5_datatype_t *type; /* Pointer to datatype of the dataset */
- H5P_sdim_t *dim; /* Pointer to dimensionality of the dataset */
+ h5_datatype_t *type; /* Pointer to datatype of the dataset */
+ H5P_dim_t *dim; /* Pointer to dimensionality of the dataset */
haddr_t header; /* offset of the object header for this dataset */
haddr_t data; /* offset of the data in the file */
} H5D_dataset_t;
@@ -43,6 +53,7 @@ typedef struct {
/*-----------------_-- Local function prototypes ----------------------------*/
hatom_t H5D_create(hatom_t owner_id, hobjtype_t type, const char *name);
+hatom_t H5D_access(hatom_t oid);
herr_t H5D_flush(hatom_t oid);
herr_t H5D_release(hatom_t oid);
diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h
index 4ea7bb2..5eda12b 100644
--- a/src/H5Dpublic.h
+++ b/src/H5Dpublic.h
@@ -29,6 +29,7 @@ extern "C" {
/* Functions in H5D.c */
herr_t H5Dset_info(hatom_t oid, hatom_t tid, hatom_t did);
+herr_t H5Dget_info(hatom_t oid, hatom_t *tid, hatom_t *sid);
herr_t H5Dwrite(hatom_t oid, hatom_t did, VOIDP buf);
#ifdef __cplusplus
diff --git a/src/H5M.c b/src/H5M.c
index b4a18a4..b47fd2f 100644
--- a/src/H5M.c
+++ b/src/H5M.c
@@ -113,9 +113,9 @@ static meta_func_t meta_func_arr[]={
H5P_release /* Dimensionality Release */
},
{ /* Dataset object meta-functions (defined in H5D.c) */
- H5_DATASPACE, /* Dataset Type ID */
+ H5_DATASET, /* Dataset Type ID */
H5D_create, /* Dataset Create */
- NULL, /* Dataset Access */
+ H5D_access, /* Dataset Access */
NULL, /* Dataset Copy */
NULL, /* Dataset FindName */
NULL, /* Dataset NameLen */
diff --git a/src/H5O.c b/src/H5O.c
index 2464f18..95cb57a 100644
--- a/src/H5O.c
+++ b/src/H5O.c
@@ -46,12 +46,12 @@ static intn interface_initialize_g = FALSE;
/* ID to type mapping */
static const H5O_class_t *const message_type_g[] = {
- H5O_NULL, /*0x0000 Null */
- H5O_SIM_DIM, /*0x0001 Simple dimensionality */
+ H5O_NULL, /*0x0000 Null */
+ H5O_SIM_DIM, /*0x0001 Simple dimensionality */
NULL, /*0x0002 Data space (fiber bundle?) */
- H5O_SIM_DTYPE, /*0x0003 Simple data type */
+ H5O_SIM_DTYPE, /*0x0003 Simple data type */
NULL, /*0x0004 Compound data type */
- NULL, /*0x0005 Data storage -- standard object */
+ H5O_STD_STORE, /*0x0005 Data storage -- standard object */
NULL, /*0x0006 Data storage -- compact object */
NULL, /*0x0007 Data storage -- external object */
NULL, /*0x0008 Data storage -- indexed object */
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index 8aea4c7..4d11e9b 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -98,18 +98,7 @@ extern const H5O_class_t H5O_NULL[1];
#define H5O_SIM_DIM_ID 0x0001
extern const H5O_class_t H5O_SIM_DIM[1];
-/* Hmm, let's try this... */
-#ifdef QAK
-typedef struct {
- uint32 rank; /* Number of dimensions */
- uint32 dim_flags; /* Dimension flags */
- uint32 *size; /* Dimension sizes */
- uint32 *max; /* Maximum dimension sizes */
- uint32 *perm; /* Dimension permutations */
-} H5O_sim_dim_t;
-#else /* QAK */
typedef H5P_sdim_t H5O_sim_dim_t;
-#endif /* QAK */
/*
* Simple Datatype message.
@@ -117,16 +106,18 @@ typedef H5P_sdim_t H5O_sim_dim_t;
#define H5O_SIM_DTYPE_ID 0x0003
extern const H5O_class_t H5O_SIM_DTYPE[1];
-/* Hmm, let's try this... */
-#ifdef QAK
-typedef struct {
- uint8 length; /* Number of bytes */
- uint8 arch; /* Architecture format of the data */
- hatom_t type; /* Type of the data */
-} H5O_sim_dtype_t;
-#else /* QAK */
typedef h5_atomic_type_t H5O_sim_dtype_t;
-#endif /* QAK */
+
+/*
+ * Standard Data Storage message.
+ */
+#define H5O_STD_STORE_ID 0x0005
+extern const H5O_class_t H5O_STD_STORE[1];
+
+typedef struct H5O_std_store {
+ haddr_t off;
+ haddr_t len;
+ } H5O_std_store_t;
/*
* Object name message.
diff --git a/src/H5Osdim.c b/src/H5Osdim.c