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 | Functions
H5FDonion_index.h File Reference

## Data Structures
struct | H5FD_onion_archival_index_t
struct | H5FD_onion_index_entry_t
struct | H5FD_onion_revision_index_hash_chain_node_t
struct | H5FD_onion_revision_index_t
struct | H5FD_onion_revision_record_t

## Macros
#define | H5FD_ONION_ARCHIVAL_INDEX_VERSION_CURR 1
#define | H5FD_ONION_ENCODED_SIZE_INDEX_ENTRY 20
#define | H5FD_ONION_ENCODED_SIZE_RECORD_POINTER 20
#define | H5FD_ONION_ENCODED_SIZE_REVISION_RECORD 68
#define | H5FD_ONION_REVISION_INDEX_HASH_CHAIN_NODE_VERSION_CURR 1
#define | H5FD_ONION_REVISION_INDEX_STARTING_SIZE_LOG2 10 /* 2^n slots */
#define | H5FD_ONION_REVISION_INDEX_VERSION_CURR 1
#define | H5FD_ONION_REVISION_RECORD_SIGNATURE "ORRS"
#define | H5FD_ONION_REVISION_RECORD_VERSION_CURR 1

## Functions
H5_DLL int | H5FD__onion_archival_index_find (const H5FD_onion_archival_index_t *, uint64_t, const H5FD_onion_index_entry_t **)
H5_DLL bool | H5FD__onion_archival_index_is_valid (const H5FD_onion_archival_index_t *)
H5_DLL herr_t | H5FD__onion_ingest_revision_record (H5FD_onion_revision_record_t *r_out, H5FD_t *raw_file, const H5FD_onion_history_t *history, uint64_t revision_num)
H5_DLL herr_t | H5FD__onion_merge_revision_index_into_archival_index (const H5FD_onion_revision_index_t *, H5FD_onion_archival_index_t *)
H5_DLL herr_t | H5FD__onion_revision_index_destroy (H5FD_onion_revision_index_t *)
H5_DLL int | H5FD__onion_revision_index_find (const H5FD_onion_revision_index_t *, uint64_t, const H5FD_onion_index_entry_t **)
H5_DLL H5FD_onion_revision_index_t * | H5FD__onion_revision_index_init (uint32_t page_size)
H5_DLL herr_t | H5FD__onion_revision_index_insert (H5FD_onion_revision_index_t *, const H5FD_onion_index_entry_t *)
H5_DLL size_t | H5FD__onion_revision_record_decode (unsigned char *buf, H5FD_onion_revision_record_t *record)
H5_DLL size_t | H5FD__onion_revision_record_encode (H5FD_onion_revision_record_t *record, unsigned char *buf, uint32_t *checksum)

## Macro Definition Documentation

## ◆ H5FD_ONION_ARCHIVAL_INDEX_VERSION_CURR

#define H5FD_ONION_ARCHIVAL_INDEX_VERSION_CURR 1

## ◆ H5FD_ONION_ENCODED_SIZE_INDEX_ENTRY

#define H5FD_ONION_ENCODED_SIZE_INDEX_ENTRY 20

## ◆ H5FD_ONION_ENCODED_SIZE_RECORD_POINTER

#define H5FD_ONION_ENCODED_SIZE_RECORD_POINTER 20

## ◆ H5FD_ONION_ENCODED_SIZE_REVISION_RECORD

#define H5FD_ONION_ENCODED_SIZE_REVISION_RECORD 68

## ◆ H5FD_ONION_REVISION_INDEX_HASH_CHAIN_NODE_VERSION_CURR

#define H5FD_ONION_REVISION_INDEX_HASH_CHAIN_NODE_VERSION_CURR 1

## ◆ H5FD_ONION_REVISION_INDEX_STARTING_SIZE_LOG2

#define H5FD_ONION_REVISION_INDEX_STARTING_SIZE_LOG2 10 /* 2^n slots */

## ◆ H5FD_ONION_REVISION_INDEX_VERSION_CURR

#define H5FD_ONION_REVISION_INDEX_VERSION_CURR 1

## ◆ H5FD_ONION_REVISION_RECORD_SIGNATURE

#define H5FD_ONION_REVISION_RECORD_SIGNATURE "ORRS"

## ◆ H5FD_ONION_REVISION_RECORD_VERSION_CURR

#define H5FD_ONION_REVISION_RECORD_VERSION_CURR 1

## Function Documentation

## ◆ H5FD__onion_archival_index_find()

H5_DLL int H5FD__onion_archival_index_find | ( | const H5FD_onion_archival_index_t * | ,
|  | uint64_t | ,
|  | const H5FD_onion_index_entry_t ** | )

## ◆ H5FD__onion_archival_index_is_valid()

H5_DLL bool H5FD__onion_archival_index_is_valid | ( | const H5FD_onion_archival_index_t * |  | ) |

## ◆ H5FD__onion_ingest_revision_record()

H5_DLL herr_t H5FD__onion_ingest_revision_record | ( | H5FD_onion_revision_record_t * | r_out,
|  | H5FD_t * | raw_file,
|  | const H5FD_onion_history_t * | history,
|  | uint64_t | revision_num )

## ◆ H5FD__onion_merge_revision_index_into_archival_index()

H5_DLL herr_t H5FD__onion_merge_revision_index_into_archival_index | ( | const H5FD_onion_revision_index_t * | ,
|  | H5FD_onion_archival_index_t * | )

## ◆ H5FD__onion_revision_index_destroy()

H5_DLL herr_t H5FD__onion_revision_index_destroy | ( | H5FD_onion_revision_index_t * |  | ) |

## ◆ H5FD__onion_revision_index_find()

H5_DLL int H5FD__onion_revision_index_find | ( | const H5FD_onion_revision_index_t * | ,
|  | uint64_t | ,
|  | const H5FD_onion_index_entry_t ** | )

## ◆ H5FD__onion_revision_index_init()

H5_DLL H5FD_onion_revision_index_t * H5FD__onion_revision_index_init | ( | uint32_t | page_size | ) |

## ◆ H5FD__onion_revision_index_insert()

H5_DLL herr_t H5FD__onion_revision_index_insert | ( | H5FD_onion_revision_index_t * | ,
|  | const H5FD_onion_index_entry_t * | )

## ◆ H5FD__onion_revision_record_decode()

H5_DLL size_t H5FD__onion_revision_record_decode | ( | unsigned char * | buf,
|  | H5FD_onion_revision_record_t * | record )

## ◆ H5FD__onion_revision_record_encode()

H5_DLL size_t H5FD__onion_revision_record_encode | ( | H5FD_onion_revision_record_t * | record,
|  | unsigned char * | buf,
|  | uint32_t * | checksum )