HDF5
1.14.4.3
API Reference
|
#include "H5pubconf.h"
#include "H5version.h"
#include <inttypes.h>
#include <limits.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <mpi.h>
#include <mpio.h>
#include "H5api_adpt.h"
Data Structures | |
struct | H5_ih_info_t |
struct | H5O_token_t |
Macros | |
#define | MPICH_SKIP_MPICXX 1 |
#define | OMPI_SKIP_MPICXX 1 |
#define | H5_NO_EXPAND(x) (x) |
#define | H5_VERS_MAJOR 1 |
#define | H5_VERS_MINOR 14 |
#define | H5_VERS_RELEASE 4 |
#define | H5_VERS_SUBRELEASE "3" |
#define | H5_VERS_INFO "HDF5 library version: 1.14.4-3" |
#define | H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE) |
#define | H5_VERSION_GE(Maj, Min, Rel) |
Determines whether the version of the library being used is greater than or equal to the specified version. | |
#define | H5_VERSION_LE(Maj, Min, Rel) |
Determines whether the version of the library being used is less than or equal to the specified version. | |
#define | HDF5_DRIVER "HDF5_DRIVER" |
#define | HDF5_DRIVER_CONFIG "HDF5_DRIVER_CONFIG" |
#define | HDF5_VOL_CONNECTOR "HDF5_VOL_CONNECTOR" |
#define | HDF5_PLUGIN_PATH "HDF5_PLUGIN_PATH" |
#define | HDF5_PLUGIN_PRELOAD "HDF5_PLUGIN_PRELOAD" |
#define | HDF5_USE_FILE_LOCKING "HDF5_USE_FILE_LOCKING" |
#define | HDF5_NOCLEANUP "HDF5_NOCLEANUP" |
#define | H5_SIZEOF_SSIZE_T H5_SIZEOF_INT |
#define | HSIZE_AS_MPI_TYPE MPI_UINT64_T |
#define | PRIdHSIZE PRId64 |
#define | PRIiHSIZE PRIi64 |
#define | PRIoHSIZE PRIo64 |
#define | PRIuHSIZE PRIu64 |
#define | PRIxHSIZE PRIx64 |
#define | PRIXHSIZE PRIX64 |
#define | H5_SIZEOF_HSIZE_T 8 |
#define | H5_SIZEOF_HSSIZE_T 8 |
#define | HSIZE_UNDEF UINT64_MAX |
#define | PRIdHADDR PRId64 |
#define | PRIoHADDR PRIo64 |
#define | PRIuHADDR PRIu64 |
#define | PRIxHADDR PRIx64 |
#define | PRIXHADDR PRIX64 |
#define | H5_SIZEOF_HADDR_T 8 |
#define | HADDR_UNDEF UINT64_MAX |
#define | H5_PRINTF_HADDR_FMT "%" PRIuHADDR |
#define | HADDR_MAX (HADDR_UNDEF - 1) |
#define | HADDR_AS_MPI_TYPE MPI_UINT64_T |
#define | H5_ITER_ERROR (-1) |
#define | H5_ITER_CONT (0) |
#define | H5_ITER_STOP (1) |
#define | H5O_MAX_TOKEN_SIZE (16) |
Typedefs | |
typedef int | herr_t |
typedef bool | hbool_t |
typedef int | htri_t |
typedef int | ssize_t |
typedef uint64_t | hsize_t |
typedef int64_t | hssize_t |
typedef uint64_t | haddr_t |
typedef void(* | H5_atclose_func_t) (void *ctx) |
Enumerations | |
enum | H5_iter_order_t { H5_ITER_UNKNOWN = -1 , H5_ITER_INC , H5_ITER_DEC , H5_ITER_NATIVE , H5_ITER_N } |
enum | H5_index_t { H5_INDEX_UNKNOWN = -1 , H5_INDEX_NAME , H5_INDEX_CRT_ORDER , H5_INDEX_N } |
Functions | |
herr_t | H5open (void) |
Initializes the HDF5 library. | |
herr_t | H5atclose (H5_atclose_func_t func, void *ctx) |
Registers a callback for the library to invoke when it's closing. | |
herr_t | H5close (void) |
Flushes all data to disk, closes all open objects, and releases memory. | |
herr_t | H5dont_atexit (void) |
Instructs library not to install atexit() cleanup routine. | |
herr_t | H5garbage_collect (void) |
Garbage collects on all free-lists of all types. | |
herr_t | H5set_free_list_limits (int reg_global_lim, int reg_list_lim, int arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim) |
Sets free-list size limits. | |
herr_t | H5get_free_list_sizes (size_t *reg_size, size_t *arr_size, size_t *blk_size, size_t *fac_size) |
Gets the current size of the free lists used to manage memory. | |
herr_t | H5get_libversion (unsigned *majnum, unsigned *minnum, unsigned *relnum) |
Returns the HDF library release number. | |
herr_t | H5check_version (unsigned majnum, unsigned minnum, unsigned relnum) |
Verifies that HDF5 library versions are consistent. | |
herr_t | H5is_library_terminating (hbool_t *is_terminating) |
Checks whether the HDF5 library is closing. | |
herr_t | H5is_library_threadsafe (hbool_t *is_ts) |
Determines whether the HDF5 library was built with the thread-safety feature enabled. | |
herr_t | H5free_memory (void *mem) |
Frees memory allocated by the HDF5 library. | |
void * | H5allocate_memory (size_t size, hbool_t clear) |
Allocates memory that will be freed later internally. | |
void * | H5resize_memory (void *mem, size_t size) |
Resizes and, if required, re-allocates memory that will later be freed internally by the HDF5 library. | |
#define H5_ITER_CONT (0) |
Continue iteration
#define H5_ITER_ERROR (-1) |
Error, stop iteration
#define H5_ITER_STOP (1) |
Stop iteration, short-circuit success
#define H5_NO_EXPAND | ( | x | ) | (x) |
#define H5_PRINTF_HADDR_FMT "%" PRIuHADDR |
#define H5_SIZEOF_HADDR_T 8 |
#define H5_SIZEOF_HSIZE_T 8 |
#define H5_SIZEOF_HSSIZE_T 8 |
#define H5_SIZEOF_SSIZE_T H5_SIZEOF_INT |
#define H5_VERS_INFO "HDF5 library version: 1.14.4-3" |
Full version string
#define H5_VERS_MAJOR 1 |
For major interface/format changes
#define H5_VERS_MINOR 14 |
For minor interface/format changes
#define H5_VERS_RELEASE 4 |
For tweaks, bug-fixes, or development
#define H5_VERS_SUBRELEASE "3" |
For pre-releases like snap0
. Empty string for official releases.
#define H5_VERSION_GE | ( | Maj, | |
Min, | |||
Rel | |||
) |
Determines whether the version of the library being used is greater than or equal to the specified version.
[in] | Maj | Major version number - A non-negative integer value |
[in] | Min | Minor version number - A non-negative integer value |
[in] | Rel | Release version number - A non-negative integer value |
The H5_VERSION_GE and H5_VERSION_LE macros are used at compile time to conditionally include or exclude code based on the version of the HDF5 library against which an application will be linked.
The H5_VERSION_GE macro compares the version of the HDF5 library being used against the version number specified in the parameters.
For more information about release versioning, see HDF5 Library Release Version Numbers.
#define H5_VERSION_LE | ( | Maj, | |
Min, | |||
Rel | |||
) |
Determines whether the version of the library being used is less than or equal to the specified version.
[in] | Maj | Major version number - A non-negative integer value |
[in] | Min | Minor version number - A non-negative integer value |
[in] | Rel | Release version number - A non-negative integer value |
The H5_VERSION_GE and H5_VERSION_LE macros are used at compile time to conditionally include or exclude code based on the version of the HDF5 library against which an application will be linked.
The H5_VERSION_LE macro compares the version of the HDF5 library being used against the version number specified in the parameters.
For more information about release versioning, see HDF5 Library Release Version Numbers.
#define H5check | ( | ) | H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE) |
#define H5O_MAX_TOKEN_SIZE (16) |
The maximum size allowed for tokens
Tokens are unique and permanent identifiers that are used to reference HDF5 objects in a container. This allows for 128-bit tokens
#define HADDR_AS_MPI_TYPE MPI_UINT64_T |
#define HADDR_MAX (HADDR_UNDEF - 1) |
#define HADDR_UNDEF UINT64_MAX |
#define HDF5_DRIVER "HDF5_DRIVER" |
Used to specify the name of an HDF5 Virtual File Driver to use as the default file driver for file access. Setting this environment variable overrides the default file driver for File Access Property Lists.
#define HDF5_DRIVER_CONFIG "HDF5_DRIVER_CONFIG" |
Used to specify a configuration string for the HDF5 Virtual File Driver being used for file access.
#define HDF5_NOCLEANUP "HDF5_NOCLEANUP" |
Used to instruct HDF5 not to cleanup files created during testing.
#define HDF5_PLUGIN_PATH "HDF5_PLUGIN_PATH" |
Used to specify a delimiter-separated (currently, ';' for Windows and ':' for other systems) list of paths that HDF5 should search when loading plugins.
#define HDF5_PLUGIN_PRELOAD "HDF5_PLUGIN_PRELOAD" |
Used to control the loading of HDF5 plugins at runtime. If this environment variable is set to the special string "::" (defined in H5PLpublic.h as H5PL_NO_PLUGIN), then dynamic loading of any HDF5 plugins will be disabled. No other values are valid for this environment variable.
#define HDF5_USE_FILE_LOCKING "HDF5_USE_FILE_LOCKING" |
Used to control whether HDF5 uses file locking when creating or opening a file. Valid values for this environment variable are as follows:
"TRUE" or "1" - Request that file locks should be used "FALSE" or "0" - Request that file locks should NOT be used "BEST_EFFORT" - Request that file locks should be used and that any locking errors caused by file locking being disabled on the system should be ignored
#define HDF5_VOL_CONNECTOR "HDF5_VOL_CONNECTOR" |
Used to specify the name of an HDF5 Virtual Object Layer Connector to use as the default VOL connector for file access. Setting this environment variable overrides the default VOL connector for File Access Property Lists.
#define HSIZE_AS_MPI_TYPE MPI_UINT64_T |
#define HSIZE_UNDEF UINT64_MAX |
#define MPICH_SKIP_MPICXX 1 |
#define OMPI_SKIP_MPICXX 1 |
#define PRIdHADDR PRId64 |
#define PRIdHSIZE PRId64 |
#define PRIiHSIZE PRIi64 |
#define PRIoHADDR PRIo64 |
#define PRIoHSIZE PRIo64 |
#define PRIuHADDR PRIu64 |
#define PRIuHSIZE PRIu64 |
#define PRIxHADDR PRIx64 |
#define PRIXHADDR PRIX64 |
#define PRIxHSIZE PRIx64 |
#define PRIXHSIZE PRIX64 |
typedef void(* H5_atclose_func_t) (void *ctx) |
Library shutdown callback, used by H5atclose().
typedef uint64_t haddr_t |
The address of an object in the file.
typedef bool hbool_t |
C99-style Boolean type. Successful return values are zero (false) or positive (true). The typical true value is 1 but don't bet on it.
typedef int herr_t |
Status return values. Failed integer functions in HDF5 result almost always in a negative value (unsigned failing functions sometimes return zero for failure) while successful return is non-negative (often zero). The negative failure value is most commonly -1, but don't bet on it.
The proper way to detect failure is something like:
typedef uint64_t hsize_t |
The size of file objects.
typedef int64_t hssize_t |
The size of file objects. Used when negative values are needed to indicate errors.
typedef int htri_t |
Three-valued Boolean type. Functions that return htri_t however return zero (false), positive (true), or negative (failure).
The proper way to test for truth from a htri_t function is:
typedef int ssize_t |
enum H5_index_t |
The types of indices on links in groups/attributes on objects. Primarily used for "<do> <foo> by index" routines and for iterating over links in groups/attributes on objects.
Enumerator | |
---|---|
H5_INDEX_UNKNOWN | Unknown index type |
H5_INDEX_NAME | Index on names |
H5_INDEX_CRT_ORDER | Index on creation order |
H5_INDEX_N | Number of indices defined |
enum H5_iter_order_t |