1998-11-21 11:36:51 +08:00
|
|
|
|
/*
|
|
|
|
|
* Copyright <EFBFBD> 1998 NCSA
|
|
|
|
|
* All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* Programmer: Robb Matzke <matzke@llnl.gov>
|
|
|
|
|
* Thursday, November 19, 1998
|
|
|
|
|
*
|
|
|
|
|
* Purpose: Provides support functions for most of the hdf5 tests cases.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#undef NDEBUG /*override -DNDEBUG */
|
|
|
|
|
#include <h5test.h>
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Define these environment variables or constants to influence functions in
|
|
|
|
|
* this test support library. The environment variable is used in preference
|
|
|
|
|
* to the cpp constant. If neither is defined then use some default value.
|
|
|
|
|
*
|
|
|
|
|
* HDF5_PREFIX: A string to add to the beginning of all file names.
|
|
|
|
|
* This can be used to tell MPIO what driver to use
|
|
|
|
|
* (e.g., "gfs:", "ufs:", or "nfs:") or to use a
|
|
|
|
|
* different file system (e.g., "/tmp" or "/usr/tmp").
|
|
|
|
|
* The prefix will be separated from the base file name
|
|
|
|
|
* by a slash. See h5_fixname() for details.
|
|
|
|
|
*
|
|
|
|
|
* HDF5_DRIVER: This string describes what low level file driver to
|
|
|
|
|
* use for HDF5 file access. The first word in the
|
|
|
|
|
* value is the name of the driver and subsequent data
|
|
|
|
|
* is interpreted according to the driver. See
|
|
|
|
|
* h5_fileaccess() for details.
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
1999-08-18 03:12:59 +08:00
|
|
|
|
/*
|
|
|
|
|
* These are the letters that are appended to the file name when generating
|
|
|
|
|
* names for the split and multi drivers. They are:
|
|
|
|
|
*
|
|
|
|
|
* m: All meta data when using the split driver.
|
|
|
|
|
* s: The userblock, superblock, and driver info block
|
|
|
|
|
* b: B-tree nodes
|
|
|
|
|
* r: Dataset raw data
|
|
|
|
|
* g: Global heap
|
|
|
|
|
* l: local heap (object names)
|
|
|
|
|
* o: object headers
|
|
|
|
|
*/
|
|
|
|
|
static const char *multi_letters = "msbrglo";
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
|
* Function: h5_errors
|
|
|
|
|
*
|
|
|
|
|
* Purpose: Displays the error stack after printing "*FAILED*".
|
|
|
|
|
*
|
|
|
|
|
* Return: Success: 0
|
|
|
|
|
*
|
|
|
|
|
* Failure: -1
|
|
|
|
|
*
|
|
|
|
|
* Programmer: Robb Matzke
|
|
|
|
|
* Wednesday, March 4, 1998
|
|
|
|
|
*
|
|
|
|
|
* Modifications:
|
|
|
|
|
*
|
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
herr_t
|
1999-04-16 03:57:50 +08:00
|
|
|
|
h5_errors(void UNUSED *client_data)
|
1998-11-21 11:36:51 +08:00
|
|
|
|
{
|
|
|
|
|
FAILED();
|
|
|
|
|
H5Eprint (stdout);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
|
* Function: h5_cleanup
|
|
|
|
|
*
|
|
|
|
|
* Purpose: Cleanup temporary test files. The list of test files is in
|
|
|
|
|
* `extern const char *FILENAMES[]' -- these are only the base
|
|
|
|
|
* names. The file access property list is also closed.
|
|
|
|
|
*
|
1998-11-25 22:58:22 +08:00
|
|
|
|
* Return: Non-zero if cleanup actions were performed; zero otherwise.
|
1998-11-21 11:36:51 +08:00
|
|
|
|
*
|
|
|
|
|
* Programmer: Albert Cheng
|
|
|
|
|
* May 28, 1998
|
|
|
|
|
*
|
|
|
|
|
* Modifications:
|
|
|
|
|
*
|
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
|
*/
|
1998-11-25 22:58:22 +08:00
|
|
|
|
int
|
1998-11-21 11:36:51 +08:00
|
|
|
|
h5_cleanup(hid_t fapl)
|
|
|
|
|
{
|
|
|
|
|
char filename[1024];
|
|
|
|
|
char temp[2048];
|
|
|
|
|
int i, j;
|
1998-11-25 22:58:22 +08:00
|
|
|
|
int retval=0;
|
1999-08-11 04:21:32 +08:00
|
|
|
|
hid_t driver;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
|
|
|
|
if (!getenv("HDF5_NOCLEANUP")) {
|
|
|
|
|
for (i=0; FILENAME[i]; i++) {
|
|
|
|
|
if (NULL==h5_fixname(FILENAME[i], fapl, filename,
|
|
|
|
|
sizeof filename)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
1999-08-11 04:21:32 +08:00
|
|
|
|
driver = H5Pget_driver(fapl);
|
|
|
|
|
if (H5FD_FAMILY==driver) {
|
1998-11-21 11:36:51 +08:00
|
|
|
|
for (j=0; /*void*/; j++) {
|
1998-11-24 23:53:55 +08:00
|
|
|
|
HDsnprintf(temp, sizeof temp, filename, j);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
if (access(temp, F_OK)<0) break;
|
|
|
|
|
remove(temp);
|
|
|
|
|
}
|
1999-08-11 04:21:32 +08:00
|
|
|
|
} else if (H5FD_CORE==driver) {
|
|
|
|
|
/*void*/
|
1999-08-18 03:12:59 +08:00
|
|
|
|
} else if (H5FD_MULTI==driver) {
|
|
|
|
|
H5FD_mem_t mt;
|
|
|
|
|
assert(strlen(multi_letters)==H5FD_MEM_NTYPES);
|
|
|
|
|
for (mt=0; mt<H5FD_MEM_NTYPES; mt++) {
|
|
|
|
|
HDsnprintf(temp, sizeof temp, "%s-%c.h5",
|
|
|
|
|
filename, multi_letters[mt]);
|
|
|
|
|
remove(temp); /*don't care if it fails*/
|
|
|
|
|
}
|
1999-08-11 04:21:32 +08:00
|
|
|
|
} else {
|
1998-11-21 11:36:51 +08:00
|
|
|
|
remove(filename);
|
|
|
|
|
}
|
|
|
|
|
}
|
1998-11-25 22:58:22 +08:00
|
|
|
|
retval=1;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
}
|
|
|
|
|
H5Pclose(fapl);
|
1998-11-25 22:58:22 +08:00
|
|
|
|
return retval;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
|
* Function: h5_reset
|
|
|
|
|
*
|
|
|
|
|
* Purpose: Reset the library by closing it.
|
|
|
|
|
*
|
|
|
|
|
* Return: void
|
|
|
|
|
*
|
|
|
|
|
* Programmer: Robb Matzke
|
|
|
|
|
* Friday, November 20, 1998
|
|
|
|
|
*
|
|
|
|
|
* Modifications:
|
|
|
|
|
*
|
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
void
|
|
|
|
|
h5_reset(void)
|
|
|
|
|
{
|
1998-11-25 22:58:22 +08:00
|
|
|
|
char filename[1024];
|
|
|
|
|
|
1998-11-21 11:36:51 +08:00
|
|
|
|
fflush(stdout);
|
|
|
|
|
fflush(stderr);
|
|
|
|
|
H5close();
|
1998-11-25 22:58:22 +08:00
|
|
|
|
H5Eset_auto (h5_errors, NULL);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Cause the library to emit some diagnostics early so they don't
|
|
|
|
|
* interfere with other formatted output.
|
|
|
|
|
*/
|
|
|
|
|
sprintf(filename, "/tmp/h5emit-%05d.h5", getpid());
|
|
|
|
|
H5E_BEGIN_TRY {
|
|
|
|
|
hid_t file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT,
|
|
|
|
|
H5P_DEFAULT);
|
|
|
|
|
hid_t grp = H5Gcreate(file, "emit", 0);
|
|
|
|
|
H5Gclose(grp);
|
|
|
|
|
H5Fclose(file);
|
|
|
|
|
unlink(filename);
|
|
|
|
|
} H5E_END_TRY;
|
|
|
|
|
}
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
|
* Function: h5_fixname
|
|
|
|
|
*
|
|
|
|
|
* Purpose: Create a file name from a file base name like `test' and
|
|
|
|
|
* return it through the FULLNAME (at most SIZE characters
|
|
|
|
|
* counting the null terminator). The full name is created by
|
|
|
|
|
* prepending the contents of HDF5_PREFIX (separated from the
|
|
|
|
|
* base name by a slash) and appending a file extension based on
|
|
|
|
|
* the driver supplied.
|
|
|
|
|
*
|
|
|
|
|
* Return: Success: The FULLNAME pointer.
|
|
|
|
|
*
|
|
|
|
|
* Failure: NULL if BASENAME or FULLNAME is the null
|
|
|
|
|
* pointer or if FULLNAME isn't large enough for
|
|
|
|
|
* the result.
|
|
|
|
|
*
|
|
|
|
|
* Programmer: Robb Matzke
|
|
|
|
|
* Thursday, November 19, 1998
|
|
|
|
|
*
|
|
|
|
|
* Modifications:
|
1999-08-11 04:21:32 +08:00
|
|
|
|
* Robb Matzke, 1999-08-03
|
|
|
|
|
* Modified to use the virtual file layer.
|
1998-11-21 11:36:51 +08:00
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
char *
|
1999-06-15 22:58:25 +08:00
|
|
|
|
h5_fixname(const char *base_name, hid_t fapl, char *fullname, size_t size)
|
1998-11-21 11:36:51 +08:00
|
|
|
|
{
|
1999-08-11 04:21:32 +08:00
|
|
|
|
const char *prefix=NULL, *suffix=NULL;
|
|
|
|
|
hid_t driver;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1999-06-15 22:58:25 +08:00
|
|
|
|
if (!base_name || !fullname || size<1) return NULL;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
|
|
|
|
/* First use the environment variable, then try the constant */
|
|
|
|
|
prefix = getenv("HDF5_PREFIX");
|
|
|
|
|
#ifdef HDF5_PREFIX
|
|
|
|
|
if (!prefix) prefix = HDF5_PREFIX;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Prepend the prefix value to the base name */
|
|
|
|
|
if (prefix && *prefix) {
|
1999-06-15 22:58:25 +08:00
|
|
|
|
if (HDsnprintf(fullname, size, "%s/%s", prefix, base_name)==(int)size) {
|
1998-11-21 11:36:51 +08:00
|
|
|
|
return NULL; /*buffer is too small*/
|
|
|
|
|
}
|
1999-06-15 22:58:25 +08:00
|
|
|
|
} else if (strlen(base_name)>=size) {
|
1998-11-21 11:36:51 +08:00
|
|
|
|
return NULL; /*buffer is too small*/
|
|
|
|
|
} else {
|
1999-06-15 22:58:25 +08:00
|
|
|
|
strcpy(fullname, base_name);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Append a suffix */
|
|
|
|
|
if ((driver=H5Pget_driver(fapl))<0) return NULL;
|
1999-08-11 04:21:32 +08:00
|
|
|
|
if (H5FD_FAMILY==driver) {
|
1998-11-21 11:36:51 +08:00
|
|
|
|
suffix = "%05d.h5";
|
1999-08-18 03:12:59 +08:00
|
|
|
|
} else if (H5FD_CORE==driver || H5FD_MULTI==driver) {
|
1999-08-11 04:21:32 +08:00
|
|
|
|
suffix = NULL;
|
|
|
|
|
} else {
|
1998-11-21 11:36:51 +08:00
|
|
|
|
suffix = ".h5";
|
|
|
|
|
}
|
1999-08-11 04:21:32 +08:00
|
|
|
|
|
1998-11-21 11:36:51 +08:00
|
|
|
|
if (suffix) {
|
|
|
|
|
if (strlen(fullname)+strlen(suffix)>=size) return NULL;
|
|
|
|
|
strcat(fullname, suffix);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fullname;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
|
* Function: h5_fileaccess
|
|
|
|
|
*
|
|
|
|
|
* Purpose: Returns a file access template which is the default template
|
|
|
|
|
* but with a file driver set according to the constant or
|
|
|
|
|
* environment variable HDF5_DRIVER
|
|
|
|
|
*
|
|
|
|
|
* Return: Success: A file access property list
|
|
|
|
|
*
|
|
|
|
|
* Failure: -1
|
|
|
|
|
*
|
|
|
|
|
* Programmer: Robb Matzke
|
|
|
|
|
* Thursday, November 19, 1998
|
|
|
|
|
*
|
|
|
|
|
* Modifications:
|
|
|
|
|
*
|
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
hid_t
|
|
|
|
|
h5_fileaccess(void)
|
|
|
|
|
{
|
|
|
|
|
const char *val = NULL;
|
|
|
|
|
const char *name;
|
|
|
|
|
char s[1024];
|
|
|
|
|
hid_t fapl = -1;
|
1999-08-11 04:21:32 +08:00
|
|
|
|
hsize_t fam_size = 100*1024*1024; /*100 MB*/
|
1999-08-18 03:12:59 +08:00
|
|
|
|
H5FD_mem_t mt;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
|
|
|
|
/* First use the environment variable, then the constant */
|
|
|
|
|
val = getenv("HDF5_DRIVER");
|
|
|
|
|
#ifdef HDF5_DRIVER
|
|
|
|
|
if (!val) val = HDF5_DRIVER;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
if ((fapl=H5Pcreate(H5P_FILE_ACCESS))<0) return -1;
|
|
|
|
|
if (!val || !*val) return fapl; /*use default*/
|
|
|
|
|
|
|
|
|
|
strncpy(s, val, sizeof s);
|
|
|
|
|
s[sizeof(s)-1] = '\0';
|
|
|
|
|
if (NULL==(name=strtok(s, " \t\n\r"))) return fapl;
|
|
|
|
|
|
|
|
|
|
if (!strcmp(name, "sec2")) {
|
|
|
|
|
/* Unix read() and write() system calls */
|
1999-08-11 04:21:32 +08:00
|
|
|
|
if (H5Pset_fapl_sec2(fapl)<0) return -1;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
} else if (!strcmp(name, "core")) {
|
|
|
|
|
/* In-core temporary file with 1MB increment */
|
1999-10-15 22:53:57 +08:00
|
|
|
|
if (H5Pset_fapl_core(fapl, 1024*1024, FALSE)<0) return -1;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
} else if (!strcmp(name, "split")) {
|
|
|
|
|
/* Split meta data and raw data each using default driver */
|
1999-08-18 03:12:59 +08:00
|
|
|
|
if (H5Pset_fapl_split(fapl,
|
|
|
|
|
"-m.h5", H5P_DEFAULT,
|
|
|
|
|
"-r.h5", H5P_DEFAULT)<0)
|
1998-11-21 11:36:51 +08:00
|
|
|
|
return -1;
|
1999-08-18 03:12:59 +08:00
|
|
|
|
} else if (!strcmp(name, "multi")) {
|
|
|
|
|
/* Multi-file driver, general case of the split driver */
|
|
|
|
|
H5FD_mem_t memb_map[H5FD_MEM_NTYPES];
|
|
|
|
|
hid_t memb_fapl[H5FD_MEM_NTYPES];
|
|
|
|
|
const char *memb_name[H5FD_MEM_NTYPES];
|
|
|
|
|
char sv[H5FD_MEM_NTYPES][1024];
|
|
|
|
|
haddr_t memb_addr[H5FD_MEM_NTYPES];
|
|
|
|
|
|
|
|
|
|
memset(memb_map, 0, sizeof memb_map);
|
|
|
|
|
memset(memb_fapl, 0, sizeof memb_fapl);
|
|
|
|
|
memset(memb_name, 0, sizeof memb_name);
|
|
|
|
|
memset(memb_addr, 0, sizeof memb_addr);
|
|
|
|
|
|
|
|
|
|
assert(strlen(multi_letters)==H5FD_MEM_NTYPES);
|
|
|
|
|
for (mt=0; mt<H5FD_MEM_NTYPES; mt++) {
|
|
|
|
|
memb_fapl[mt] = H5P_DEFAULT;
|
|
|
|
|
sprintf(sv[mt], "%%s-%c.h5", multi_letters[mt]);
|
|
|
|
|
memb_name[mt] = sv[mt];
|
|
|
|
|
memb_addr[mt] = MAX(mt-1,0)*(HADDR_MAX/10);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (H5Pset_fapl_multi(fapl, memb_map, memb_fapl, memb_name,
|
1999-08-24 20:52:10 +08:00
|
|
|
|
memb_addr, FALSE)<0) {
|
1999-08-18 03:12:59 +08:00
|
|
|
|
return -1;
|
|
|
|
|
}
|
1998-11-21 11:36:51 +08:00
|
|
|
|
} else if (!strcmp(name, "family")) {
|
|
|
|
|
/* Family of files, each 1MB and using the default driver */
|
|
|
|
|
if ((val=strtok(NULL, " \t\n\r"))) {
|
|
|
|
|
fam_size = strtod(val, NULL) * 1024*1024;
|
|
|
|
|
}
|
1999-08-11 04:21:32 +08:00
|
|
|
|
if (H5Pset_fapl_family(fapl, fam_size, H5P_DEFAULT)<0) return -1;
|
1998-11-21 11:36:51 +08:00
|
|
|
|
} else {
|
|
|
|
|
/* Unknown driver */
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fapl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
|
* Function: h5_no_hwconv
|
|
|
|
|
*
|
|
|
|
|
* Purpose: Turn off hardware data type conversions.
|
|
|
|
|
*
|
|
|
|
|
* Return: void
|
|
|
|
|
*
|
|
|
|
|
* Programmer: Robb Matzke
|
|
|
|
|
* Friday, November 20, 1998
|
|
|
|
|
*
|
|
|
|
|
* Modifications:
|
|
|
|
|
*
|
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
void
|
|
|
|
|
h5_no_hwconv(void)
|
|
|
|
|
{
|
1998-12-18 03:35:20 +08:00
|
|
|
|
#if 1
|
|
|
|
|
H5Tunregister(H5T_PERS_HARD, NULL, -1, -1, NULL);
|
|
|
|
|
#else
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_schar_ullong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uchar_ullong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_short_ullong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ushort_ullong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_int_ullong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_uint_ullong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_long_ullong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_llong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ulong_ullong);
|
1998-11-25 22:58:22 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_llong_ullong);
|
1998-11-25 22:58:22 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_schar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_uchar);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_short);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_ushort);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_int);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_uint);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_long);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_ulong);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_ullong_llong);
|
1998-11-21 11:36:51 +08:00
|
|
|
|
|
1998-12-18 03:35:20 +08:00
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_float_double);
|
|
|
|
|
H5Tunregister(H5T_PERS_DONTCARE, NULL, -1, -1, H5T_conv_double_float);
|
|
|
|
|
#endif
|
1998-11-21 11:36:51 +08:00
|
|
|
|
}
|