Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/

| HDF5 Last Updated on 2025-11-11 The HDF5 Field Guide

- Main Page
- Getting started
- User Guide
- Reference Manual
- Cookbook
- Technical Notes
- RFCs
- Specifications
- Glossary
- Full-Text Search
- About

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
H5Opublic.h File Reference
`#include "H5public.h"`
`#include "H5Ipublic.h"`

## Data Structures
struct | H5O_hdr_info_t
struct | H5O_info1_t
struct | H5O_info2_t
struct | H5O_native_info_t
struct | H5O_stat_t

## Macros
#define | H5O_COPY_ALL (0x007Fu)
#define | H5O_COPY_EXPAND_EXT_LINK_FLAG (0x0004u)
#define | H5O_COPY_EXPAND_REFERENCE_FLAG (0x0008u)
#define | H5O_COPY_EXPAND_SOFT_LINK_FLAG (0x0002u)
#define | H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG (0x0040u)
#define | H5O_COPY_PRESERVE_NULL_FLAG (0x0020u)
#define | H5O_COPY_SHALLOW_HIERARCHY_FLAG (0x0001u)
#define | H5O_COPY_WITHOUT_ATTR_FLAG (0x0010u)
#define | H5O_HDR_ALL_FLAGS
#define | H5O_HDR_ATTR_CRT_ORDER_INDEXED 0x08
#define | H5O_HDR_ATTR_CRT_ORDER_TRACKED 0x04
#define | H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10
#define | H5O_HDR_CHUNK0_SIZE 0x03
#define | H5O_HDR_STORE_TIMES 0x20
#define | H5O_INFO_ALL (H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS)
#define | H5O_INFO_ALL (H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS | H5O_INFO_HDR | H5O_INFO_META_SIZE)
#define | H5O_INFO_BASIC 0x0001u
#define | H5O_INFO_HDR 0x0008u
#define | H5O_INFO_META_SIZE 0x0010u
#define | H5O_INFO_NUM_ATTRS 0x0004u
#define | H5O_INFO_TIME 0x0002u
#define | H5O_IS_TOKEN_UNDEF(token)
#define | H5O_NATIVE_INFO_ALL (H5O_NATIVE_INFO_HDR | H5O_NATIVE_INFO_META_SIZE)
#define | H5O_NATIVE_INFO_HDR 0x0008u
#define | H5O_NATIVE_INFO_META_SIZE 0x0010u
#define | H5O_SHMESG_ALL_FLAG
#define | H5O_SHMESG_ATTR_FLAG ((unsigned)1 << 0x000c)
#define | H5O_SHMESG_DTYPE_FLAG ((unsigned)1 << 0x0003)
#define | H5O_SHMESG_FILL_FLAG ((unsigned)1 << 0x0005)
#define | H5O_SHMESG_MAX_LIST_SIZE 5000
#define | H5O_SHMESG_MAX_NINDEXES 8
#define | H5O_SHMESG_NONE_FLAG 0x0000
#define | H5O_SHMESG_PLINE_FLAG ((unsigned)1 << 0x000b)
#define | H5O_SHMESG_SDSPACE_FLAG ((unsigned)1 << 0x0001)
#define | H5O_TOKEN_UNDEF (H5OPEN H5O_TOKEN_UNDEF_g)

## Typedefs
typedef herr_t(* | H5O_iterate1_t) (hid_t obj, const char *name, const H5O_info1_t *info, void *op_data)
typedef herr_t(* | H5O_iterate2_t) (hid_t obj, const char *name, const H5O_info2_t *info, void *op_data)
typedef H5O_mcdt_search_ret_t(* | H5O_mcdt_search_cb_t) (void *op_data)
typedef uint32_t | H5O_msg_crt_idx_t

## Enumerations
enum | H5O_mcdt_search_ret_t { H5O_MCDT_SEARCH_ERROR = -1 , H5O_MCDT_SEARCH_CONT , H5O_MCDT_SEARCH_STOP }
enum | H5O_type_t { H5O_TYPE_UNKNOWN = -1 , H5O_TYPE_GROUP , H5O_TYPE_DATASET , H5O_TYPE_NAMED_DATATYPE , H5O_TYPE_MAP , H5O_TYPE_NTYPES }

## Functions
herr_t | H5Oare_mdc_flushes_disabled (hid_t object_id, bool *are_disabled)
| Retrieves comment for specified object.
herr_t | H5Oclose (hid_t object_id)
| Closes an object in an HDF5 file.
herr_t | H5Oclose_async (hid_t object_id, hid_t es_id)
herr_t | H5Ocopy (hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocpypl_id, hid_t lcpl_id)
| Copies an object in an HDF5 file.
herr_t | H5Ocopy_async (hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, const char *dst_name, hid_t ocpypl_id, hid_t lcpl_id, hid_t es_id)
herr_t | H5Odecr_refcount (hid_t object_id)
| Decrements an object reference count.
herr_t | H5Odisable_mdc_flushes (hid_t object_id)
| Prevents metadata entries for an HDF5 object from being flushed from the metadata cache to storage.
herr_t | H5Oenable_mdc_flushes (hid_t object_id)
| Enables flushing of dirty metadata entries from a file's metadata cache.
htri_t | H5Oexists_by_name (hid_t loc_id, const char *name, hid_t lapl_id)
| Determines whether a link resolves to an actual object.
herr_t | H5Oflush (hid_t obj_id)
| Flushes all buffers associated with an HDF5 object to disk.
herr_t | H5Oflush_async (hid_t obj_id, hid_t es_id)
ssize_t | H5Oget_comment (hid_t obj_id, char *comment, size_t bufsize)
| Retrieves comment for specified object.
ssize_t | H5Oget_comment_by_name (hid_t loc_id, const char *name, char *comment, size_t bufsize, hid_t lapl_id)
| Retrieves comment for specified object.
herr_t | H5Oget_info1 (hid_t loc_id, H5O_info1_t *oinfo)
| Retrieves the metadata for an object specified by an identifier.
herr_t | H5Oget_info2 (hid_t loc_id, H5O_info1_t *oinfo, unsigned fields)
| Retrieves the metadata for an object specified by an identifier.
herr_t | H5Oget_info3 (hid_t loc_id, H5O_info2_t *oinfo, unsigned fields)
| Retrieves the metadata for an object specified by an identifier.
herr_t | H5Oget_info_by_idx1 (hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info1_t *oinfo, hid_t lapl_id)
| Retrieves the metadata for an object, identifying the object by an index position.
herr_t | H5Oget_info_by_idx2 (hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info1_t *oinfo, unsigned fields, hid_t lapl_id)
| Retrieves the metadata for an object, identifying the object by an index position.
herr_t | H5Oget_info_by_idx3 (hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_info2_t *oinfo, unsigned fields, hid_t lapl_id)
| Retrieves the metadata for an object, identifying the object by an index position.
herr_t | H5Oget_info_by_name1 (hid_t loc_id, const char *name, H5O_info1_t *oinfo, hid_t lapl_id)
| Retrieves the metadata for an object, identifying the object by location and relative name.
herr_t | H5Oget_info_by_name2 (hid_t loc_id, const char *name, H5O_info1_t *oinfo, unsigned fields, hid_t lapl_id)
| Retrieves the metadata for an object, identifying the object by location and relative name.
herr_t | H5Oget_info_by_name3 (hid_t loc_id, const char *name, H5O_info2_t *oinfo, unsigned fields, hid_t lapl_id)
| Retrieves the metadata for an object, identifying the object by location and relative name.
herr_t | H5Oget_info_by_name_async (hid_t loc_id, const char *name, H5O_info2_t *oinfo, unsigned fields, hid_t lapl_id, hid_t es_id)
herr_t | H5Oget_native_info (hid_t loc_id, H5O_native_info_t *oinfo, unsigned fields)
| Retrieve native file format information about an object.
herr_t | H5Oget_native_info_by_idx (hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, H5O_native_info_t *oinfo, unsigned fields, hid_t lapl_id)
| Retrieve native file format information about an object according to the order of an index.
herr_t | H5Oget_native_info_by_name (hid_t loc_id, const char *name, H5O_native_info_t *oinfo, unsigned fields, hid_t lapl_id)
| Retrieve native file format information about an object given its name.
herr_t | H5Oincr_refcount (hid_t object_id)
| Increments an object reference count.
herr_t | H5Olink (hid_t obj_id, hid_t new_loc_id, const char *new_name, hid_t lcpl_id, hid_t lapl_id)
| Creates a hard link to an object in an HDF5 file.
hid_t | H5Oopen (hid_t loc_id, const char *name, hid_t lapl_id)
| Opens an object in an HDF5 file by location identifier and path name.
hid_t | H5Oopen_async (hid_t loc_id, const char *name, hid_t lapl_id, hid_t es_id)
hid_t | H5Oopen_by_addr (hid_t loc_id, haddr_t addr)
| Opens an object using its address within an HDF5 file.
hid_t | H5Oopen_by_idx (hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id)
| Opens the nth object in a group.
hid_t | H5Oopen_by_idx_async (hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t lapl_id, hid_t es_id)
hid_t | H5Oopen_by_token (hid_t loc_id, H5O_token_t token)
| Opens an object in an HDF5 file using its VOL independent token.
herr_t | H5Orefresh (hid_t oid)
| Refreshes all buffers associated with an HDF5 object.
herr_t | H5Orefresh_async (hid_t oid, hid_t es_id)
herr_t | H5Oset_comment (hid_t obj_id, const char *comment)
| Sets comment for specified object.
herr_t | H5Oset_comment_by_name (hid_t loc_id, const char *name, const char *comment, hid_t lapl_id)
| Sets comment for specified object.
herr_t | H5Otoken_cmp (hid_t loc_id, const H5O_token_t *token1, const H5O_token_t *token2, int *cmp_value)
| Compares two VOL connector object tokens.
herr_t | H5Otoken_from_str (hid_t loc_id, const char *token_str, H5O_token_t *token)
| Deserializes a string into a connector object token.
herr_t | H5Otoken_to_str (hid_t loc_id, const H5O_token_t *token, char **token_str)
| Serializes a connector's object token into a string.
herr_t | H5Ovisit1 (hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate1_t op, void *op_data)
| Recursively visits all objects accessible from a specified object.
herr_t | H5Ovisit2 (hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate1_t op, void *op_data, unsigned fields)
| Recursively visits all objects accessible from a specified object.
herr_t | H5Ovisit3 (hid_t obj_id, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate2_t op, void *op_data, unsigned fields)
| Recursively visits all objects accessible from a specified object.
herr_t | H5Ovisit_by_name1 (hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate1_t op, void *op_data, hid_t lapl_id)
| Recursively visits all objects starting from a specified object.
herr_t | H5Ovisit_by_name2 (hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate1_t op, void *op_data, unsigned fields, hid_t lapl_id)
| Recursively visits all objects starting from a specified object.
herr_t | H5Ovisit_by_name3 (hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, H5O_iterate2_t op, void *op_data, unsigned fields, hid_t lapl_id)
| Recursively visits all objects accessible from a specified object.

## Variables
const H5O_token_t | H5O_TOKEN_UNDEF_g

## Macro Definition Documentation

## ◆ H5O_COPY_ALL

#define H5O_COPY_ALL (0x007Fu)

All object copying flags (for internal checking)

## ◆ H5O_COPY_EXPAND_EXT_LINK_FLAG

#define H5O_COPY_EXPAND_EXT_LINK_FLAG (0x0004u)

Expand external links into new objects

## ◆ H5O_COPY_EXPAND_REFERENCE_FLAG

#define H5O_COPY_EXPAND_REFERENCE_FLAG (0x0008u)

Copy objects that are pointed by references

## ◆ H5O_COPY_EXPAND_SOFT_LINK_FLAG

#define H5O_COPY_EXPAND_SOFT_LINK_FLAG (0x0002u)

Expand soft links into new objects

## ◆ H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG

#define H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG (0x0040u)

Merge committed datatypes in dest file

## ◆ H5O_COPY_PRESERVE_NULL_FLAG

#define H5O_COPY_PRESERVE_NULL_FLAG (0x0020u)

Copy NULL messages (empty space)

## ◆ H5O_COPY_SHALLOW_HIERARCHY_FLAG

#define H5O_COPY_SHALLOW_HIERARCHY_FLAG (0x0001u)

Copy only immediate members

## ◆ H5O_COPY_WITHOUT_ATTR_FLAG

#define H5O_COPY_WITHOUT_ATTR_FLAG (0x0010u)

Copy object without copying attributes

## ◆ H5O_HDR_ALL_FLAGS

#define H5O_HDR_ALL_FLAGS

Value:
(H5O_HDR_CHUNK0_SIZE | H5O_HDR_ATTR_CRT_ORDER_TRACKED | H5O_HDR_ATTR_CRT_ORDER_INDEXED | \
H5O_HDR_ATTR_STORE_PHASE_CHANGE | H5O_HDR_STORE_TIMES)
H5O_HDR_ATTR_STORE_PHASE_CHANGE
#define H5O_HDR_ATTR_STORE_PHASE_CHANGE
Definition H5Opublic.h:64
H5O_HDR_ATTR_CRT_ORDER_INDEXED
#define H5O_HDR_ATTR_CRT_ORDER_INDEXED
Definition H5Opublic.h:63
H5O_HDR_CHUNK0_SIZE
#define H5O_HDR_CHUNK0_SIZE
Definition H5Opublic.h:61
H5O_HDR_STORE_TIMES
#define H5O_HDR_STORE_TIMES
Definition H5Opublic.h:65
H5O_HDR_ATTR_CRT_ORDER_TRACKED
#define H5O_HDR_ATTR_CRT_ORDER_TRACKED
Definition H5Opublic.h:62

## ◆ H5O_HDR_ATTR_CRT_ORDER_INDEXED

#define H5O_HDR_ATTR_CRT_ORDER_INDEXED 0x08

Attribute creation order has index

## ◆ H5O_HDR_ATTR_CRT_ORDER_TRACKED

#define H5O_HDR_ATTR_CRT_ORDER_TRACKED 0x04

Attribute creation order is tracked

## ◆ H5O_HDR_ATTR_STORE_PHASE_CHANGE

#define H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10

Non-default attribute storage phase change values stored

## ◆ H5O_HDR_CHUNK0_SIZE

#define H5O_HDR_CHUNK0_SIZE 0x03

2-bit field indicating # of bytes to store the size of chunk 0's data

## ◆ H5O_HDR_STORE_TIMES

#define H5O_HDR_STORE_TIMES 0x20

Store access, modification, change & birth times for object

## ◆ H5O_INFO_ALL [1/2]

#define H5O_INFO_ALL (H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS)

## ◆ H5O_INFO_ALL [2/2]

#define H5O_INFO_ALL (H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS | H5O_INFO_HDR | H5O_INFO_META_SIZE)

## ◆ H5O_INFO_BASIC

#define H5O_INFO_BASIC 0x0001u

Fill in the fileno, addr, type, and rc fields

Since
  1.10.3

## ◆ H5O_INFO_HDR

#define H5O_INFO_HDR 0x0008u

Fill in the hdr field

## ◆ H5O_INFO_META_SIZE

#define H5O_INFO_META_SIZE 0x0010u

Fill in the meta_size field

## ◆ H5O_INFO_NUM_ATTRS

#define H5O_INFO_NUM_ATTRS 0x0004u

Fill in the num_attrs field

Since
  1.10.3

## ◆ H5O_INFO_TIME

#define H5O_INFO_TIME 0x0002u

Fill in the atime, mtime, ctime, and btime fields

Since
  1.10.3

## ◆ H5O_IS_TOKEN_UNDEF

#define H5O_IS_TOKEN_UNDEF | ( |  | token | ) |

Value:
(!memcmp(&(token), &(H5O_TOKEN_UNDEF), sizeof(H5O_token_t)))
H5O_TOKEN_UNDEF
#define H5O_TOKEN_UNDEF
Definition H5Opublic.h:1689
H5O_token_t
Definition H5public.h:437

## ◆ H5O_NATIVE_INFO_ALL

#define H5O_NATIVE_INFO_ALL (H5O_NATIVE_INFO_HDR | H5O_NATIVE_INFO_META_SIZE)

## ◆ H5O_NATIVE_INFO_HDR

#define H5O_NATIVE_INFO_HDR 0x0008u

Flags for H5Oget_native_info(). These flags determine which fields will be filled in the H5O_native_info_t struct. Fill in the hdr field

Since
  1.12.0

## ◆ H5O_NATIVE_INFO_META_SIZE

#define H5O_NATIVE_INFO_META_SIZE 0x0010u

Fill in the meta_size field

Since
  1.12.0

## ◆ H5O_SHMESG_ALL_FLAG

#define H5O_SHMESG_ALL_FLAG

Value:
(H5O_SHMESG_SDSPACE_FLAG | H5O_SHMESG_DTYPE_FLAG | H5O_SHMESG_FILL_FLAG | H5O_SHMESG_PLINE_FLAG | \
H5O_SHMESG_ATTR_FLAG)
H5O_SHMESG_SDSPACE_FLAG
#define H5O_SHMESG_SDSPACE_FLAG
Definition H5Opublic.h:50
H5O_SHMESG_DTYPE_FLAG
#define H5O_SHMESG_DTYPE_FLAG
Definition H5Opublic.h:51
H5O_SHMESG_PLINE_FLAG
#define H5O_SHMESG_PLINE_FLAG
Definition H5Opublic.h:53
H5O_SHMESG_ATTR_FLAG
#define H5O_SHMESG_ATTR_FLAG
Definition H5Opublic.h:54
H5O_SHMESG_FILL_FLAG
#define H5O_SHMESG_FILL_FLAG
Definition H5Opublic.h:52

## ◆ H5O_SHMESG_ATTR_FLAG

#define H5O_SHMESG_ATTR_FLAG ((unsigned)1 << 0x000c)

Attribute Message.

## ◆ H5O_SHMESG_DTYPE_FLAG

#define H5O_SHMESG_DTYPE_FLAG ((unsigned)1 << 0x0003)

Datatype Message.

## ◆ H5O_SHMESG_FILL_FLAG

#define H5O_SHMESG_FILL_FLAG ((unsigned)1 << 0x0005)

Fill Value Message.

## ◆ H5O_SHMESG_MAX_LIST_SIZE

#define H5O_SHMESG_MAX_LIST_SIZE 5000

## ◆ H5O_SHMESG_MAX_NINDEXES

#define H5O_SHMESG_MAX_NINDEXES 8

## ◆ H5O_SHMESG_NONE_FLAG

#define H5O_SHMESG_NONE_FLAG 0x0000

No shared messages

## ◆ H5O_SHMESG_PLINE_FLAG

#define H5O_SHMESG_PLINE_FLAG ((unsigned)1 << 0x000b)

Filter pipeline message.

## ◆ H5O_SHMESG_SDSPACE_FLAG

#define H5O_SHMESG_SDSPACE_FLAG ((unsigned)1 << 0x0001)

Simple Dataspace Message.

## ◆ H5O_TOKEN_UNDEF

#define H5O_TOKEN_UNDEF (H5OPEN H5O_TOKEN_UNDEF_g)

## Typedef Documentation

## ◆ H5O_iterate1_t

typedef herr_t(* H5O_iterate1_t) (hid_t obj, const char *name, const H5O_info1_t *info, void *op_data)

Prototype for H5Ovisit(), H5Ovisit_by_name() operator (versions 1 & 2)

Parameters

  [in] | obj | Object that serves as the root of the iteration; the same value as the H5Ovisit1() `obj_id` parameter
  [in] | name | Name of object, relative to `obj`, being examined at current step of the iteration
  [out] | info | Information about that object
  [in,out] | op_data | User-defined pointer to data required by the application in processing the object

Returns
  - Zero causes the iterator to continue, returning zero when the iteration is complete.
  - A positive value causes the iterator to immediately return that positive value, indicating short-circuit success.
  - A negative value causes the iterator to immediately return that value, indicating failure.

Since
  1.8.0

## ◆ H5O_iterate2_t

typedef herr_t(* H5O_iterate2_t) (hid_t obj, const char *name, const H5O_info2_t *info, void *op_data)

Prototype for H5Ovisit(), H5Ovisit_by_name() operator (version 3)

Parameters

  [in] | obj | Object that serves as the root of the iteration; the same value as the H5Ovisit3() `obj_id` parameter
  [in] | name | Name of object, relative to `obj`, being examined at current step of the iteration
  [out] | info | Information about that object
  [in,out] | op_data | User-defined pointer to data required by the application in processing the object; a pass-through of the `op_data` pointer provided with the H5Ovisit3() function call

Returns
  - Zero causes the iterator to continue, returning zero when the iteration is complete.
  - A positive value causes the iterator to immediately return that positive value, indicating short-circuit success.
  - A negative value causes the iterator to immediately return that value, indicating failure.

Since
  1.12.0

## ◆ H5O_mcdt_search_cb_t

typedef H5O_mcdt_search_ret_t(* H5O_mcdt_search_cb_t) (void *op_data)

Callback to invoke when completing the search for a matching committed datatype from the committed dtype list

## ◆ H5O_msg_crt_idx_t

typedef uint32_t H5O_msg_crt_idx_t

Typedef for message creation indexes

## Enumeration Type Documentation

## ◆ H5O_mcdt_search_ret_t

enum H5O_mcdt_search_ret_t

Enumerator
H5O_MCDT_SEARCH_ERROR | Abort H5Ocopy
H5O_MCDT_SEARCH_CONT | Continue the global search of all committed datatypes in the destination file
H5O_MCDT_SEARCH_STOP | Stop the search, but continue copying. The committed datatype will be copied but not merged.

## ◆ H5O_type_t

enum H5O_type_t

Types of objects in file

Enumerator
H5O_TYPE_UNKNOWN | Unknown object type
H5O_TYPE_GROUP | Object is a group
H5O_TYPE_DATASET | Object is a dataset
H5O_TYPE_NAMED_DATATYPE | Object is a named data type
H5O_TYPE_MAP | Object is a map
H5O_TYPE_NTYPES | Number of different object types (must be last!)

## Variable Documentation

## ◆ H5O_TOKEN_UNDEF_g

const H5O_token_t H5O_TOKEN_UNDEF_g
| extern