mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-25 17:00:45 +08:00
[svn-r3802]
Purpose: Importing UG changes from 1.4 release branch into development branch (1.5)
This commit is contained in:
parent
1d8c1d723f
commit
447c7e4d37
@ -209,7 +209,7 @@
|
||||
obvious way is to reduce the number of chunks by choosing a larger chunk
|
||||
size (doubling the chunk size will cut the number of B-tree nodes in
|
||||
half). Another method is to adjust the split ratios for the B-tree by
|
||||
calling <code>H5Pset_split_ratios()</code>, but this method typically
|
||||
calling <code>H5Pset_btree_ratios()</code>, but this method typically
|
||||
results in only a slight improvement over the default settings.
|
||||
Finally, the out-degree of each node can be increased by calling
|
||||
<code>H5Pset_istore_k()</code> (increasing the out degree actually
|
||||
@ -273,11 +273,11 @@
|
||||
|
||||
<!-- Created: Tue Oct 20 12:38:40 EDT 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 13 December 1999
|
||||
Last modified: 16 February 2001
|
||||
<!-- hhmts end -->
|
||||
|
||||
<br>
|
||||
Describes HDF5 Release 1.4, February 2001
|
||||
Describes HDF5 Release 1.4.1, April 2001
|
||||
|
||||
|
||||
|
||||
|
@ -797,7 +797,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
17 size[0] = 100; /*size of hyperslab*/
|
||||
18 size[1] = 200;
|
||||
19 file_space = H5Dget_space (dataset);
|
||||
20 H5Sset_hyperslab (file_space, 2, offset, size);
|
||||
20 H5Sselect_hyperslab (file_space, H5S_SELECT_SET, offset, NULL, size, NULL);
|
||||
21
|
||||
22 /*
|
||||
23 * Describe the memory data space.
|
||||
@ -810,7 +810,7 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
30 offset[1] = 0;
|
||||
31 size[0] = 100; /*size of hyperslab*/
|
||||
32 size[1] = 200;
|
||||
33 H5Sset_hyperslab (mem_space, 2, offset, size);
|
||||
33 H5Sselect_hyperslab (mem_space, H5S_SELECT_SET, offset, NULL, size, NULL);
|
||||
34
|
||||
35 /*
|
||||
36 * Read the dataset.
|
||||
@ -928,11 +928,11 @@ H5Pset_external (plist, "scan3.data", 0, 16);
|
||||
|
||||
<!-- Created: Tue Dec 2 09:17:09 EST 1997 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 7 April 2000
|
||||
Last modified: 2 March 2001
|
||||
<!-- hhmts end -->
|
||||
|
||||
<br>
|
||||
Describes HDF5 Release 1.4, February 2001
|
||||
Describes HDF5 Release 1.4.1, April 2001
|
||||
|
||||
|
||||
</body>
|
||||
|
@ -608,35 +608,10 @@
|
||||
respect to the beginning of the containing compound datum is
|
||||
returned by this function. A zero is returned on failure
|
||||
which is also a valid offset, but this function is guaranteed
|
||||
to succeed if a call to <code>H5Tget_member_dims()</code>
|
||||
to succeed if a call to <code>H5Tget_member_class()</code>
|
||||
succeeds when called with the same <em>type</em> and
|
||||
<em>membno</em> arguments.
|
||||
|
||||
<br><br>
|
||||
<dt><code>int H5Tget_member_dims (hid_t <em>type</em>, int
|
||||
<em>membno</em>, int <em>dims</em>[4], int
|
||||
<em>perm</em>[4])</code>
|
||||
<dd>Each member can be a small array of up to four dimensions,
|
||||
making it convenient to describe things like transposition
|
||||
matrices. The dimensionality of the member is returned (or
|
||||
negative for failure) and the size in each dimension is
|
||||
returned through the <em>dims</em> argument. The
|
||||
<em>perm</em> argument describes how the array's elements are
|
||||
mapped to the linear address space of memory with respect to
|
||||
some reference order (the reference order is specified in
|
||||
natural language documentation which describes the compound
|
||||
datatype). The application which "invented" the type will
|
||||
often use the identity permutation and other applications will
|
||||
use a permutation that causes the elements to be rearranged to
|
||||
the desired order. Only the first few elements of
|
||||
<em>dims</em> and <em>perm</em> are initialized according to
|
||||
the dimensionality of the member. Scalar members have
|
||||
dimensionality zero.
|
||||
|
||||
<b>The only permutations supported at this
|
||||
time are the identity permutation and the transpose
|
||||
permutation (in the 4d case, {0,1,2,3} and {3,2,1,0}).</b>
|
||||
|
||||
<br><br>
|
||||
<dt><code>hid_t H5Tget_member_type (hid_t <em>type</em>, int
|
||||
<em>membno</em>)</code>
|
||||
@ -2214,13 +2189,13 @@ reclaiming memory space.
|
||||
<pre>
|
||||
#include <hdf5.h>
|
||||
|
||||
#define FILE "tvltypes.h5"
|
||||
#define FILE "vltypes.h5"
|
||||
#define MAX(X,Y) ((X)>(Y)?(X):(Y))
|
||||
|
||||
/* 1-D dataset with fixed dimensions */
|
||||
#define SPACE1_NAME "Space1"
|
||||
#define SPACE1_RANK 1
|
||||
#define SPACE1_DIM1 4
|
||||
#define SPACE_NAME "Space"
|
||||
#define SPACE_RANK 1
|
||||
#define SPACE_DIM 4
|
||||
|
||||
void *vltypes_alloc_custom(size_t size, void *info);
|
||||
void vltypes_free_custom(void *mem, void *info);
|
||||
@ -2235,6 +2210,7 @@ void vltypes_free_custom(void *mem, void *info);
|
||||
****************************************************************/
|
||||
void *vltypes_alloc_custom(size_t size, void *info)
|
||||
{
|
||||
|
||||
void *ret_value=NULL; /* Pointer to return */
|
||||
int *mem_used=(int *)info; /* Get the pointer to the memory used */
|
||||
size_t extra; /* Extra space needed */
|
||||
@ -2245,62 +2221,58 @@ void *vltypes_alloc_custom(size_t size, void *info)
|
||||
*/
|
||||
extra=MAX(sizeof(void *),sizeof(int));
|
||||
|
||||
if((ret_value=malloc(extra+size))!=NULL) {
|
||||
if((ret_value=(void *)malloc(extra+size))!=NULL) {
|
||||
*(int *)ret_value=size;
|
||||
*mem_used+=size;
|
||||
} /* end if */
|
||||
ret_value=((unsigned char *)ret_value)+extra;
|
||||
return(ret_value);
|
||||
}
|
||||
|
||||
/****************************************************************
|
||||
**
|
||||
/******************************************************************
|
||||
** vltypes_free_custom(): VL datatype custom memory
|
||||
** allocation routine. This routine just uses free to
|
||||
** release the memory and decrements the amount of memory
|
||||
** allocated.
|
||||
**
|
||||
****************************************************************/
|
||||
** ****************************************************************/
|
||||
void vltypes_free_custom(void *_mem, void *info)
|
||||
{
|
||||
|
||||
{
|
||||
unsigned char *mem;
|
||||
int *mem_used=(int *)info; /* Get the pointer to the memory used */
|
||||
size_t extra; /* Extra space needed */
|
||||
|
||||
size_t extra; /* Extra space needed */
|
||||
/*
|
||||
* This weird contortion is required on the DEC Alpha to keep the
|
||||
* alignment correct.
|
||||
*/
|
||||
* alignment correct.
|
||||
*/
|
||||
extra=MAX(sizeof(void *),sizeof(int));
|
||||
|
||||
if(_mem!=NULL) {
|
||||
if(_mem!=NULL) {
|
||||
mem=((unsigned char *)_mem)-extra;
|
||||
*mem_used-=*(int *)mem;
|
||||
free(mem);
|
||||
*mem_used-=*(int *)mem;
|
||||
free(mem);
|
||||
} /* end if */
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
hvl_t wdata[SPACE1_DIM1]; /* Information to write */
|
||||
hvl_t rdata[SPACE1_DIM1]; /* Information read in */
|
||||
hid_t fid1; /* HDF5 File IDs */
|
||||
hid_t dataset; /* Dataset ID */
|
||||
hid_t sid1; /* Dataspace ID */
|
||||
hid_t tid1; /* Datatype ID */
|
||||
|
||||
{
|
||||
hvl_t wdata[SPACE_DIM]; /* Information to write */
|
||||
hvl_t rdata[SPACE_DIM]; /* Information read in */
|
||||
hid_t fid; /* HDF5 File IDs */
|
||||
hid_t dataset; /* Dataset ID */
|
||||
hid_t sid; /* Dataspace ID */
|
||||
hid_t tid; /* Datatype ID */
|
||||
hid_t xfer_pid; /* Dataset transfer property list ID */
|
||||
hsize_t dims1[] = {SPACE1_DIM1};
|
||||
hsize_t dims[] = {SPACE_DIM};
|
||||
uint i,j; /* counting variables */
|
||||
int mem_used=0; /* Memory used during allocation */
|
||||
herr_t ret; /* Generic return value */
|
||||
|
||||
herr_t ret; /* Generic return value */
|
||||
|
||||
/*
|
||||
* Allocate and initialize VL data to write
|
||||
*/
|
||||
for(i=0; i<SPACE1_DIM1; i++) {
|
||||
for(i=0; i<SPACE_DIM; i++) {
|
||||
|
||||
wdata[i].p=malloc((i+1)*sizeof(unsigned int));
|
||||
wdata[i].p= (unsigned int *)malloc((i+1)*sizeof(unsigned int));
|
||||
wdata[i].len=i+1;
|
||||
for(j=0; j<(i+1); j++)
|
||||
((unsigned int *)wdata[i].p)[j]=i*10+j;
|
||||
@ -2309,65 +2281,67 @@ int main(void)
|
||||
/*
|
||||
* Create file.
|
||||
*/
|
||||
fid1 = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||
fid = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
|
||||
|
||||
/*
|
||||
* Create dataspace for datasets.
|
||||
*/
|
||||
sid1 = H5Screate_simple(SPACE1_RANK, dims1, NULL);
|
||||
sid = H5Screate_simple(SPACE_RANK, dims, NULL);
|
||||
|
||||
/*
|
||||
* Create a datatype to refer to.
|
||||
*/
|
||||
tid1 = H5Tvlen_create (H5T_NATIVE_UINT);
|
||||
tid = H5Tvlen_create (H5T_NATIVE_UINT);
|
||||
|
||||
/*
|
||||
* Create a dataset.
|
||||
*/
|
||||
dataset=H5Dcreate(fid1,"Dataset1",tid1,sid1,H5P_DEFAULT);
|
||||
dataset=H5Dcreate(fid, "Dataset", tid, sid, H5P_DEFAULT);
|
||||
|
||||
/*
|
||||
* Write dataset to disk.
|
||||
*/
|
||||
ret=H5Dwrite(dataset,tid1,H5S_ALL,H5S_ALL,H5P_DEFAULT,wdata);
|
||||
ret=H5Dwrite(dataset, tid, H5S_ALL, H5S_ALL, H5P_DEFAULT, wdata);
|
||||
|
||||
/*
|
||||
* Change to the custom memory allocation routines for reading VL data
|
||||
* Change to the custom memory allocation routines for reading
|
||||
* VL data
|
||||
*/
|
||||
xfer_pid=H5Pcreate(H5P_DATASET_XFER);
|
||||
|
||||
ret=H5Pset_vlen_mem_manager(xfer_pid,vltypes_alloc_custom,
|
||||
&mem_used,vltypes_free_custom,&mem_used);
|
||||
ret=H5Pset_vlen_mem_manager(xfer_pid, vltypes_alloc_custom,
|
||||
&mem_used, vltypes_free_custom,
|
||||
&mem_used);
|
||||
|
||||
/*
|
||||
* Read dataset from disk. vltypes_alloc_custom and
|
||||
* will be used to manage memory.
|
||||
* will be used to manage memory.
|
||||
*/
|
||||
ret=H5Dread(dataset,tid1,H5S_ALL,H5S_ALL,xfer_pid,rdata);
|
||||
ret=H5Dread(dataset, tid, H5S_ALL, H5S_ALL, xfer_pid, rdata);
|
||||
|
||||
/*
|
||||
* Display data read in
|
||||
*/
|
||||
for(i=0; i<SPACE1_DIM1; i++) {
|
||||
printf("%d-th element length is %d \n", i, (unsigned) rdata[i].len);
|
||||
for(i=0; i<SPACE_DIM; i++) {
|
||||
printf("%d-th element length is %d \n", i,
|
||||
(unsigned) rdata[i].len);
|
||||
for(j=0; j<rdata[i].len; j++) {
|
||||
printf(" %d ",((unsigned int *)rdata[i].p)[j] );
|
||||
}
|
||||
printf("\n");
|
||||
printf(" %d ",((unsigned int *)rdata[i].p)[j] );
|
||||
}
|
||||
printf("\n");
|
||||
} /* end for */
|
||||
|
||||
/*
|
||||
* Reclaim the read VL data. vltypes_free_custom will be used
|
||||
* to reclaim the space.
|
||||
*/
|
||||
ret=H5Dvlen_reclaim(tid1,sid1,xfer_pid,rdata);
|
||||
|
||||
ret=H5Dvlen_reclaim(tid, sid, xfer_pid, rdata);
|
||||
|
||||
/*
|
||||
* Reclaim the write VL data. C language free function will be used
|
||||
* to reclaim space.
|
||||
* Reclaim the write VL data. C language free function will be
|
||||
* used to reclaim space.
|
||||
*/
|
||||
ret=H5Dvlen_reclaim(tid1,sid1,H5P_DEFAULT,wdata);
|
||||
ret=H5Dvlen_reclaim(tid, sid, H5P_DEFAULT, wdata);
|
||||
|
||||
/*
|
||||
* Close Dataset
|
||||
@ -2377,12 +2351,12 @@ int main(void)
|
||||
/*
|
||||
* Close datatype
|
||||
*/
|
||||
ret = H5Tclose(tid1);
|
||||
ret = H5Tclose(tid);
|
||||
|
||||
/*
|
||||
* Close disk dataspace
|
||||
*/
|
||||
ret = H5Sclose(sid1);
|
||||
ret = H5Sclose(sid);
|
||||
|
||||
/*
|
||||
* Close dataset transfer property list
|
||||
@ -2392,7 +2366,7 @@ int main(void)
|
||||
/*
|
||||
* Close file
|
||||
*/
|
||||
ret = H5Fclose(fid1);
|
||||
ret = H5Fclose(fid);
|
||||
|
||||
}
|
||||
</pre>
|
||||
@ -2528,9 +2502,10 @@ when they are read in.
|
||||
|
||||
<h3>10.3 Code Example</h3>
|
||||
|
||||
The following example creates an array datatype and creates and writes
|
||||
a dataset to the HDF5 file. The elements of the dataset have the
|
||||
array datatype.
|
||||
The following example creates an array datatype and a dataset
|
||||
containing elements of the array datatype in an HDF5 file.
|
||||
It then writes the dataset to the file.
|
||||
<p>
|
||||
|
||||
<center>
|
||||
<table border align=center width="100%">
|
||||
@ -2538,12 +2513,7 @@ array datatype.
|
||||
<tr>
|
||||
<td>
|
||||
<pre>
|
||||
/*
|
||||
* This example creates and writes dataset to the HDF5 file.
|
||||
* Elements of the datasets have an array datatype.
|
||||
*/
|
||||
|
||||
#include <hdf5.h>
|
||||
#include <hdf5.h>
|
||||
|
||||
#define FILE "SDS_array_type.h5"
|
||||
#define DATASETNAME "IntArray"
|
||||
@ -2569,9 +2539,9 @@ main (void)
|
||||
/*
|
||||
* Data and output buffer initialization.
|
||||
*/
|
||||
for (k = 0; k < SPACE_DIM; k++) {
|
||||
for (j = 0; j < ARRAY_DIM1; j++) {
|
||||
for (i = 0; i < ARRAY_DIM2; i++)
|
||||
for (k = 0; k < SPACE_DIM; k++) {
|
||||
for (j = 0; j < ARRAY_DIM1; j++) {
|
||||
for (i = 0; i < ARRAY_DIM2; i++)
|
||||
data[k][j][i] = k;
|
||||
}
|
||||
}
|
||||
@ -3093,11 +3063,11 @@ H5Tregister(H5T_PERS_SOFT, "cus2be",
|
||||
|
||||
<!-- Created: Thu Dec 4 14:57:32 EST 1997 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 9 February 2001
|
||||
Last modified: 16 February 2001
|
||||
<!-- hhmts end -->
|
||||
|
||||
<br>
|
||||
Describes HDF5 Release 1.4, February 2001
|
||||
Describes HDF5 Release 1.4.1, April 2001
|
||||
|
||||
|
||||
|
||||
|
@ -194,19 +194,17 @@
|
||||
<code>lseek()</code>, <code>read()</code>, <code>write()</code>, and
|
||||
<code>close()</code>. The <code>lseek64()</code> function is used
|
||||
on operating systems that support it. This driver is enabled and
|
||||
configured with <code>H5Pset_sec2()</code>, and queried with
|
||||
<code>H5Pget_sec2()</code>.
|
||||
configured with <code>H5Pset_fapl_sec2()</code>.
|
||||
|
||||
<br><br>
|
||||
<dt>Buffered I/O
|
||||
<dd>Local permanent files can be accessed with the functions declared
|
||||
in the <code>stdio.h</code> header file, namely
|
||||
in the standard C header file <code>stdio.h</code>, namely
|
||||
<code>fopen()</code>, <code>fseek()</code>, <code>fread()</code>,
|
||||
<code>fwrite()</code>, and <code>fclose()</code>. The
|
||||
<code>fseek64()</code> function is used on operating systems that
|
||||
support it. This driver is enabled and configured with
|
||||
<code>H5Pset_stdio()</code>, and queried with
|
||||
<code>H5Pget_stdio()</code>.
|
||||
<code>H5Pset_fapl_stdio()</code>.
|
||||
|
||||
<br><br>
|
||||
<dt>Memory I/O
|
||||
@ -230,8 +228,8 @@
|
||||
remove the access_mode parameter and have access control specified
|
||||
via the raw data transfer property list of <code>H5Dread()</code>
|
||||
and <code>H5Dwrite()</code>.) These parameters are set and queried
|
||||
with the <code>H5Pset_mpi()</code> and <code>H5Pget_mpi()</code>
|
||||
calls.
|
||||
with the <code>H5Pset_fapl_mpi()</code> and
|
||||
<code>H5Pget_fapl_mpi()</code> calls.
|
||||
|
||||
<br><br>
|
||||
<dt>Data Alignment
|
||||
@ -273,7 +271,7 @@
|
||||
hid_t file_id;
|
||||
|
||||
access_plist = H5Pcreate(H5P_FILE_ACCESS);
|
||||
H5Pset_mpi(access_plist, MPI_COMM_WORLD, MPI_INFO_NULL);
|
||||
H5Pset_fapl_mpi(access_plist, MPI_COMM_WORLD, MPI_INFO_NULL);
|
||||
|
||||
/* H5Fopen must be called collectively */
|
||||
file_id = H5Fopen("test.h5", H5F_ACC_RDWR, access_plist);
|
||||
@ -307,25 +305,19 @@
|
||||
buffered again by the lowest layers of the HDF5 library.
|
||||
|
||||
<dl>
|
||||
<dt><code>H5F_driver_t H5Pget_driver (hid_t
|
||||
<em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5F_LOW_SEC2</code> if the
|
||||
<dt><code>hid_t H5Pget_driver (hid_t <em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5FD_SEC2</code> if the
|
||||
<em>sec2</em> driver is defined as the low-level driver for the
|
||||
specified access property list.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_sec2 (hid_t <em>access_properties</em>)</code>
|
||||
<dt><code>herr_t H5Pset_fapl_sec2
|
||||
(hid_t <em>access_properties</em>)</code>
|
||||
<dd>The file access properties are set to use the <em>sec2</em>
|
||||
driver. Any previously defined driver properties are erased from the
|
||||
property list. Additional parameters may be added to this function in
|
||||
the future.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pget_sec2 (hid_t <em>access_properties</em>)</code>
|
||||
<dd>If the file access property list is set to the <em>sec2</em> driver
|
||||
then this function returns zero; otherwise it returns a negative
|
||||
value. In the future, additional arguments may be added to this
|
||||
function to match those added to <code>H5Pset_sec2()</code>.
|
||||
</dl>
|
||||
|
||||
<h3>6.2. Buffered Permanent Files</h3>
|
||||
@ -339,25 +331,19 @@
|
||||
introduces an additional layer of buffering beneath the HDF5 library.
|
||||
|
||||
<dl>
|
||||
<dt><code>H5F_driver_t H5Pget_driver(hid_t
|
||||
<em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5F_LOW_STDIO</code> if the
|
||||
<dt><code>hid_t H5Pget_driver(hid_t <em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5FD_STDIO</code> if the
|
||||
<em>stdio</em> driver is defined as the low-level driver for the
|
||||
specified access property list.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_stdio (hid_t <em>access_properties</em>)</code>
|
||||
<dt><code>herr_t H5Pset_fapl_stdio
|
||||
(hid_t <em>access_properties</em>)</code>
|
||||
<dd>The file access properties are set to use the <em>stdio</em>
|
||||
driver. Any previously defined driver properties are erased from the
|
||||
property list. Additional parameters may be added to this function in
|
||||
the future.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pget_stdio (hid_t <em>access_properties</em>)</code>
|
||||
<dd>If the file access property list is set to the <em>stdio</em> driver
|
||||
then this function returns zero; otherwise it returns a negative
|
||||
value. In the future, additional arguments may be added to this
|
||||
function to match those added to <code>H5Pset_stdio()</code>.
|
||||
</dl>
|
||||
|
||||
<h3>6.3. Buffered Temporary Files</h3>
|
||||
@ -371,15 +357,15 @@
|
||||
file is insignificant and <code>H5Fopen()</code> always fails).
|
||||
|
||||
<dl>
|
||||
<dt><code>H5F_driver_t H5Pget_driver (hid_t
|
||||
<em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5F_LOW_CORE</code> if the
|
||||
<dt><code>hid_t H5Pget_driver (hid_t <em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5FD_CORE</code> if the
|
||||
<em>core</em> driver is defined as the low-level driver for the
|
||||
specified access property list.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_core (hid_t <em>access_properties</em>, size_t
|
||||
<em>block_size</em>)</code>
|
||||
<dt><code>herr_t H5Pset_fapl_core (hid_t <em>access_properties</em>,
|
||||
size_t <em>block_size</em>,
|
||||
hbool_t <em>backing_store</em>)</code>
|
||||
<dd>The file access properties are set to use the <em>core</em>
|
||||
driver and any previously defined driver properties are erased from
|
||||
the property list. Memory for the file will always be allocated in
|
||||
@ -387,13 +373,14 @@
|
||||
be added to this function in the future.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pget_core (hid_t <em>access_properties</em>, size_t
|
||||
*<em>block_size</em>)</code>
|
||||
<dt><code>herr_t H5Pget_fapl_core (hid_t <em>access_properties</em>,
|
||||
size_t *<em>block_size</em>),
|
||||
hbool_t *<em>backing_store</em>)</code>
|
||||
<dd>If the file access property list is set to the <em>core</em> driver
|
||||
then this function returns zero and <em>block_size</em> is set to the
|
||||
block size used for the file; otherwise it returns a negative
|
||||
value. In the future, additional arguments may be added to this
|
||||
function to match those added to <code>H5Pset_core()</code>.
|
||||
function to match those added to <code>H5Pset_fapl_core()</code>.
|
||||
</dl>
|
||||
|
||||
<h3>6.4. Parallel Files</h3>
|
||||
@ -401,14 +388,13 @@
|
||||
<p>This driver uses MPI I/O to provide parallel access to a file.
|
||||
|
||||
<dl>
|
||||
<dt><code>H5F_driver_t H5Pget_driver (hid_t
|
||||
<em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5F_LOW_MPI</code> if the
|
||||
<dt><code>hid_t H5Pget_driver (hid_t <em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5FD_MPI</code> if the
|
||||
<em>mpi</em> driver is defined as the low-level driver for the
|
||||
specified access property list.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_mpi (hid_t <em>access_properties</em>, MPI_Comm
|
||||
<dt><code>herr_t H5Pset_fapl_mpi (hid_t <em>access_properties</em>, MPI_Comm
|
||||
<em>comm</em>, MPI_info <em>info</em>)</code>
|
||||
<dd>The file access properties are set to use the <em>mpi</em>
|
||||
driver and any previously defined driver properties are erased from
|
||||
@ -416,14 +402,16 @@
|
||||
function in the future.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pget_mpi (hid_t <em>access_properties</em>, MPI_Comm
|
||||
*<em>comm</em>, MPI_info *<em>info</em>)</code>
|
||||
<dt><code>herr_t H5Pget_fapl_mpi
|
||||
(hid_t <em>access_properties</em>,
|
||||
MPI_Comm *<em>comm</em>,
|
||||
MPI_info *<em>info</em>)</code>
|
||||
<dd>If the file access property list is set to the <em>mpi</em> driver
|
||||
then this function returns zero and <em>comm</em>, and <em>info</em>
|
||||
are set to the values stored in the property
|
||||
list; otherwise the function returns a negative value. In the future,
|
||||
additional arguments may be added to this function to match those
|
||||
added to <code>H5Pset_mpi()</code>.
|
||||
added to <code>H5Pset_fapl_mpi()</code>.
|
||||
</dl>
|
||||
|
||||
<a name="Files_Families">
|
||||
@ -469,14 +457,13 @@
|
||||
or kB respectively.
|
||||
|
||||
<br><br>
|
||||
<dt><code>H5F_driver_t H5Pget_driver (hid_t
|
||||
<em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5F_LOW_FAMILY</code> if
|
||||
<dt><code>hid_t H5Pget_driver (hid_t <em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5FD_FAMILY</code> if
|
||||
the <em>family</em> driver is defined as the low-level driver for the
|
||||
specified access property list.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_family (hid_t <em>access_properties</em>,
|
||||
<dt><code>herr_t H5Pset_fapl_family (hid_t <em>access_properties</em>,
|
||||
hsize_t <em>memb_size</em>, hid_t <em>member_properties</em>)</code>
|
||||
<dd>The file access properties are set to use the <em>family</em>
|
||||
driver and any previously defined driver properties are erased
|
||||
@ -495,9 +482,9 @@
|
||||
function in the future.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pget_family (hid_t <em>access_properties</em>,
|
||||
hsize_t *<em>memb_size</em>, hid_t
|
||||
*<em>member_properties</em>)</code>
|
||||
<dt><code>herr_t H5Pget_fapl_family (hid_t <em>access_properties</em>,
|
||||
hsize_t *<em>memb_size</em>,
|
||||
hid_t *<em>member_properties</em>)</code>
|
||||
<dd>If the file access property list is set to the <em>family</em>
|
||||
driver then this function returns zero; otherwise the function
|
||||
returns a negative value. On successful return,
|
||||
@ -507,7 +494,7 @@
|
||||
it. If <em>memb_size</em> is non-null then it will contain
|
||||
the logical size in bytes of each family member. In the
|
||||
future, additional arguments may be added to this function to
|
||||
match those added to <code>H5Pset_family()</code>.
|
||||
match those added to <code>H5Pset_fapl_family()</code>.
|
||||
</dl>
|
||||
|
||||
<h3>6.6. Split Meta/Raw Files</h3>
|
||||
@ -524,17 +511,16 @@
|
||||
the <em>sec2</em> driver.
|
||||
|
||||
<dl>
|
||||
<dt><code>H5F_driver_t H5Pget_driver (hid_t
|
||||
<em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5F_LOW_SPLIT</code> if
|
||||
<dt><code>hid_t H5Pget_driver (hid_t <em>access_properties</em>)</code>
|
||||
<dd>This function returns the constant <code>H5FD_SPLIT</code> if
|
||||
the <em>split</em> driver is defined as the low-level driver for the
|
||||
specified access property list.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pset_split (hid_t <em>access_properties</em>,
|
||||
const char *<em>meta_extension</em>, hid_t
|
||||
<em>meta_properties</em>, const char *<em>raw_extension</em>, hid_t
|
||||
<em>raw_properties</em>)</code>
|
||||
<dt><code>herr_t H5Pset_fapl_split (hid_t <em>access_properties</em>,
|
||||
const char *<em>meta_extension</em>,
|
||||
hid_t <em>meta_properties</em>, const char *<em>raw_extension</em>,
|
||||
hid_t <em>raw_properties</em>)</code>
|
||||
<dd>The file access properties are set to use the <em>split</em>
|
||||
driver and any previously defined driver properties are erased from
|
||||
the property list. The meta file will have a name which is formed by
|
||||
@ -545,29 +531,6 @@
|
||||
name and will be accessed according to the <em>raw_properties</em>.
|
||||
Additional parameters may be added to this function in the future.
|
||||
|
||||
<br><br>
|
||||
<dt><code>herr_t H5Pget_split (hid_t <em>access_properties</em>,
|
||||
size_t <em>meta_ext_size</em>, const char *<em>meta_extension</em>,
|
||||
hid_t <em>meta_properties</em>, size_t <em>raw_ext_size</em>, const
|
||||
char *<em>raw_extension</em>, hid_t *<em>raw_properties</em>)</code>
|
||||
<dd>If the file access property list is set to the <em>split</em>
|
||||
driver then this function returns zero; otherwise the function
|
||||
returns a negative value. On successful return,
|
||||
<em>meta_properties</em> and <em>raw_properties</em> will
|
||||
point to copies of the meta and raw access property lists
|
||||
which should be closed by calling <code>H5Pclose()</code> when
|
||||
the application is finished with them, but if the meta and/or
|
||||
raw file has no property list then a negative value is
|
||||
returned for that property list handle. Also, if
|
||||
<em>meta_extension</em> and/or <em>raw_extension</em> are
|
||||
non-null pointers, at most <em>meta_ext_size</em> or
|
||||
<em>raw_ext_size</em> characters of the meta or raw file name
|
||||
extension will be copied to the specified buffer. If the
|
||||
actual name is longer than what was requested then the result
|
||||
will not be null terminated (similar to
|
||||
<code>strncpy()</code>). In the future, additional arguments
|
||||
may be added to this function to match those added to
|
||||
<code>H5Pset_split()</code>.
|
||||
</dl>
|
||||
|
||||
|
||||
@ -619,11 +582,11 @@
|
||||
|
||||
<!-- Created: Tue Jan 27 09:11:27 EST 1998 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: 9 December 2000
|
||||
Last modified: 16 February 2001
|
||||
<!-- hhmts end -->
|
||||
|
||||
<br>
|
||||
Describes HDF5 Release 1.4, February 2001
|
||||
Describes HDF5 Release 1.4.1, April 2001
|
||||
|
||||
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user