ddn.lib.hdf5.types

HDF5 Core Binding Types

This module defines the fundamental types, constants, and enumerations used throughout the HDF5 D language bindings. These types directly correspond to their C counterparts in the HDF5 library.

License

BSD-3-Clause

Types 32

aliashid_t = long

Type for object identifiers in HDF5.

This is the primary handle type used to reference HDF5 objects such as files, datasets, groups, attributes, datatypes, and dataspaces.

aliasherr_t = int

Type for error return values.

Most HDF5 functions return this type to indicate success (non-negative) or failure (negative).

aliashbool_t = uint

Type for boolean values in HDF5.

Used by HDF5 functions that return or accept boolean parameters.

aliashsize_t = ulong

Type for sizes in HDF5.

Used for dimension sizes, dataset sizes, and other unsigned size values.

aliashssize_t = long

Type for signed sizes in HDF5.

Used when a size value can be negative, such as for unlimited dimensions.

aliashtri_t = int

Type for tri-state return values.

Used by HDF5 functions that can return true (positive), false (zero), or error (negative).

aliasssize_t = ptrdiff_t

Type for signed size values.

Compatible with C's ssize_t type.

enumH5F_ACC : uint

File access flags.

These flags control how HDF5 files are opened or created.

RDONLY = 0x0000Open file for read-only access
RDWR = 0x0001Open file for read-write access
TRUNC = 0x0002Truncate file if it already exists
EXCL = 0x0004Fail if file already exists
CREAT = 0x0010Create file if it doesn't exist
enumH5F_SCOPE : int

File flush scope.

Controls the scope of file flushing operations.

LOCAL = 0Flush only the specified file
GLOBAL = 1Flush the specified file and all files accessible from it
enumH5T_CLASS : int

Datatype class identifiers.

These values identify the class of an HDF5 datatype.

NO_CLASS = - 1Error or no class
INTEGER = 0Integer datatypes
FLOAT = 1Floating-point datatypes
TIME = 2Time datatypes
STRING = 3String datatypes
BITFIELD = 4Bitfield datatypes
OPAQUE = 5Opaque datatypes
COMPOUND = 6Compound datatypes
REFERENCE = 7Reference datatypes
ENUM = 8Enumeration datatypes
VLEN = 9Variable-length datatypes
ARRAY = 10Array datatypes
enumH5S_CLASS : int

Dataspace class identifiers.

These values identify the class of an HDF5 dataspace.

SCALAR = 0Scalar dataspace (single element)
SIMPLE = 1Simple dataspace (multi-dimensional array)
NULL_ = 2Null dataspace (no elements)
enumH5S_SELOPER : int

Selection operation types.

Used for combining selections in dataspaces.

SET = 0Replace existing selection
OR_ = 1Binary OR of selections
AND_ = 2Binary AND of selections
XOR = 3Binary XOR of selections
NOTB = 4B AND NOT A
NOTA = 5A AND NOT B
enumH5D_LAYOUT : int

Dataset layout types.

Controls how dataset data is stored in the file.

COMPACT = 0Compact storage in object header
CONTIGUOUS = 1Contiguous storage in file
CHUNKED = 2Chunked storage
VIRTUAL = 3Virtual dataset
enumH5I_TYPE : int

Identifier types.

These values identify the type of an HDF5 object by its identifier.

UNINIT = - 2Uninitialized type
BADID = - 1Invalid type
FILE_ = 1File type
GROUP = 2Group type
DATATYPE = 3Datatype type
DATASPACE = 4Dataspace type
DATASET = 5Dataset type
ATTR = 6Attribute type
REFERENCE = 7Reference type (deprecated)
VFL = 8Virtual file layer type
GENPROP_CLS = 9Property list class type
GENPROP_LST = 10Property list type
ERROR_CLASS = 11Error class type
ERROR_MSG = 12Error message type
ERROR_STACK = 13Error stack type
aliashaddr_t = ulong

Type for file addresses in HDF5.

Used to represent absolute addresses within an HDF5 file. This is typically an unsigned 64-bit integer representing byte offsets.

File close degree options.

Controls behavior when closing a file with open objects.

DEFAULT = 0Use the default close degree for the file access property list
WEAK = 1Allow file to close only when all objects are closed
SEMI = 2Close file after flushing; objects remain accessible
STRONG = 3Close file immediately, closing all open objects
enumH5F_LIBVER : int

Library version bounds.

Used to specify minimum and maximum library versions for file format features.

EARLIEST = 0Earliest library version (HDF5 1.0)
V18 = 1HDF5 1.8.x library version
V110 = 2HDF5 1.10.x library version
V112 = 3HDF5 1.12.x library version
V114 = 4HDF5 1.14.x library version
LATEST = H5F_LIBVER.V114Latest library version available
enumH5F_MEM : int

File memory types.

Identifies different memory categories for file space allocation.

NOLIST = - 1No memory type
DEFAULT = 0Default memory type (maps to SUPER)
SUPER = 1Superblock memory
BTREE = 2B-tree memory
DRAW = 3Raw data memory
GHEAP = 4Global heap memory
LHEAP = 5Local heap memory
OHDR = 6Object header memory
NTYPES = 7Number of memory types (not a valid type)

File space handling strategies.

Controls how free space is managed within an HDF5 file.

FSM_AGGR = 0Use free-space managers, aggregators, and virtual file driver
PAGE = 1Use page aggregation and target page size for allocation
AGGR = 2Aggregators with no free-space manager tracking
NONE = 3No free-space tracking; allocate sequentially
NTYPES = 4Number of strategies (not a valid strategy)
enumH5D_CHUNK_INDEX : int

Chunk indexing types.

Identifies the indexing method used for chunked datasets.

SINGLE = 0Single chunk index (for single-chunk datasets)
NONE = 1Implicit index (no index structure stored)
FARRAY = 2Fixed array index
EARRAY = 3Extensible array index
BT2 = 4Version 2 B-tree index
NTYPES = 5Number of index types (not a valid type)
enumH5D_VDS_VIEW : int

Virtual dataset view options.

Controls which data is visible in a virtual dataset.

FIRST_MISSING = 0View includes first missing mapped data
LAST_AVAILABLE = 1View includes all available mapped data
enumH5O_TYPE : int

Object types.

Identifies the type of an HDF5 object.

UNKNOWN = - 1Unknown object type
GROUP = 0Group object
DATASET = 1Dataset object
NAMED_DATATYPE = 2Named datatype object
NTYPES = 3Number of object types (not a valid type)

Object header information structure (version 1).

Contains metadata about an HDF5 object's header.

Fields
uint version_Version number of the object header
uint nmesgsNumber of messages in the object header
uint nchunksNumber of chunks in the object header
uint flagsHeader flags
Space spaceSpace statistics
Mesg mesgMessage statistics
Nested Templates
SpaceSpace information for the object header
MesgMessage type counts

Object information structure (version 1).

Provides comprehensive information about an HDF5 object. This is the older API structure; prefer H5O_info2_t for new code.

Fields
ulong filenoFile number that this object belongs to
haddr_t addrObject address in the file
H5O_TYPE typeType of the object
uint rcReference count of the object
long atimeAccess time (if tracked)
long mtimeModification time
long ctimeChange time (if tracked)
long btimeBirth time (if tracked)
hsize_t num_attrsNumber of attributes on the object
H5O_hdr_info_t hdrObject header information
MetaSize meta_sizeMetadata size statistics
Nested Templates
MetaSizeMetadata space usage by type

Object token type.

A platform-independent identifier for objects within a file. Used in version 2 of the object info API.

Fields
ubyte[16] __dataInternal token data (16 bytes)

Object native information structure (version 2).

Provides native file-format-specific information about an HDF5 object.

Fields
H5O_hdr_info_t hdrObject header information
MetaSize meta_sizeMetadata size statistics
Nested Templates
MetaSizeMetadata space usage by type

Object information structure (version 2).

Provides comprehensive information about an HDF5 object using tokens instead of addresses for better portability.

Fields
ulong filenoFile number that this object belongs to
H5O_token_t tokenObject token (replaces address in v2 API)
H5O_TYPE typeType of the object
uint rcReference count of the object
long atimeAccess time (if tracked)
long mtimeModification time
long ctimeChange time (if tracked)
long btimeBirth time (if tracked)
hsize_t num_attrsNumber of attributes on the object

Alias for backwards compatibility.

H5O_info_t maps to H5O_info1_t for compatibility with existing code.

enumH5L_TYPE : int

Link types.

Identifies the type of an HDF5 link.

ERROR = - 1Invalid link type
HARD = 0Hard link
SOFT = 1Soft link
EXTERNAL = 64External link
MAX = 255Maximum value for built-in link types

Link information structure (version 1).

Provides information about an HDF5 link. This is the older API structure; prefer H5L_info2_t for new code.

Fields
H5L_TYPE typeType of the link
hbool_t corder_validIndicates if the creation order is valid
long corderCreation order (if valid)
int csetCharacter set used for the link name
U uType-specific data

Link information structure (version 2).

Provides information about an HDF5 link using tokens instead of addresses for better portability.

Fields
H5L_TYPE typeType of the link
hbool_t corder_validIndicates if the creation order is valid
long corderCreation order (if valid)
int csetCharacter set used for the link name
U uType-specific data

Alias for backwards compatibility.

H5L_info_t maps to H5L_info1_t for compatibility with existing code.

Variables 3

enumvarH5I_INVALID_HID = - 1

Invalid HDF5 identifier constant.

This value indicates an invalid or uninitialized HDF5 object identifier. Functions returning hid_t use this value to indicate failure.

enumvarH5P_DEFAULT = 0

Default property list constant.

Used when default property list settings are desired for HDF5 operations.

enumvarHADDR_UNDEF = haddr_t.max

Undefined file address constant.

This value indicates an undefined or invalid file address.