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 | Variables
H5FDioc_priv.h File Reference
`#include "H5FDioc.h"`
`#include "H5private.h"`
`#include "H5TSprivate.h"`
`#include "H5subfiling_common.h"`

## Data Structures
struct | io_req_t
struct | ioc_io_queue_entry_t
struct | ioc_io_queue_t

## Macros
#define | H5FD_IOC__IO_Q_ENTRY_MAGIC 0x1357
#define | H5FD_IOC__IO_Q_MAGIC 0x2468
#define | H5FD_IOC__Q_APPEND(q_ptr, entry_ptr)
#define | H5FD_IOC__Q_REMOVE(q_ptr, entry_ptr)

## Functions
H5_DLL herr_t | H5FD__ioc_async_completion (MPI_Request *mpi_reqs, size_t num_reqs)
H5_DLL herr_t | H5FD__ioc_finalize_threads (void *_sf_context)
H5_DLL herr_t | H5FD__ioc_init_threads (void *_sf_context)
H5_DLL herr_t | H5FD__ioc_read_independent_async (int64_t context_id, int64_t offset, int64_t elements, void *data, io_req_t **io_req)
H5_DLL herr_t | H5FD__ioc_write_independent_async (int64_t context_id, int64_t offset, int64_t elements, const void *data, io_req_t **io_req)

## Variables
int * | H5FD_IOC_tag_ub_val_ptr

## Macro Definition Documentation

## ◆ H5FD_IOC__IO_Q_ENTRY_MAGIC

#define H5FD_IOC__IO_Q_ENTRY_MAGIC 0x1357

## ◆ H5FD_IOC__IO_Q_MAGIC

#define H5FD_IOC__IO_Q_MAGIC 0x2468

## ◆ H5FD_IOC__Q_APPEND

#define H5FD_IOC__Q_APPEND | ( |  | q_ptr,
|  |  | entry_ptr )

Value:
do { \
assert(q_ptr); \
assert((q_ptr)->magic == H5FD_IOC__IO_Q_MAGIC); \
assert((((q_ptr)->q_len == 0) && ((q_ptr)->q_head == NULL) && ((q_ptr)->q_tail == NULL)) || \
(((q_ptr)->q_len > 0) && ((q_ptr)->q_head != NULL) && ((q_ptr)->q_tail != NULL))); \
assert(entry_ptr); \
assert((entry_ptr)->magic == H5FD_IOC__IO_Q_ENTRY_MAGIC); \
assert((entry_ptr)->next == NULL); \
assert((entry_ptr)->prev == NULL); \
assert((entry_ptr)->in_progress == false); \
\
if (((q_ptr)->q_head) == NULL) { \
((q_ptr)->q_head) = (entry_ptr); \
((q_ptr)->q_tail) = (entry_ptr); \
} \
else { \
((q_ptr)->q_tail)->next = (entry_ptr); \
(entry_ptr)->prev = ((q_ptr)->q_tail); \
((q_ptr)->q_tail) = (entry_ptr); \
} \
((q_ptr)->q_len)++; \
} while (false) /* H5FD_IOC__Q_APPEND() */
H5FD_IOC__IO_Q_ENTRY_MAGIC
#define H5FD_IOC__IO_Q_ENTRY_MAGIC
Definition H5FDioc_priv.h:62
H5FD_IOC__IO_Q_MAGIC
#define H5FD_IOC__IO_Q_MAGIC
Definition H5FDioc_priv.h:337

## ◆ H5FD_IOC__Q_REMOVE

#define H5FD_IOC__Q_REMOVE | ( |  | q_ptr,
|  |  | entry_ptr )

## Function Documentation

## ◆ H5FD__ioc_async_completion()

H5_DLL herr_t H5FD__ioc_async_completion | ( | MPI_Request * | mpi_reqs,
|  | size_t | num_reqs )

## ◆ H5FD__ioc_finalize_threads()

H5_DLL herr_t H5FD__ioc_finalize_threads | ( | void * | _sf_context | ) |

## ◆ H5FD__ioc_init_threads()

H5_DLL herr_t H5FD__ioc_init_threads | ( | void * | _sf_context | ) |

## ◆ H5FD__ioc_read_independent_async()

H5_DLL herr_t H5FD__ioc_read_independent_async | ( | int64_t | context_id,
|  | int64_t | offset,
|  | int64_t | elements,
|  | void * | data,
|  | io_req_t ** | io_req )

## ◆ H5FD__ioc_write_independent_async()

H5_DLL herr_t H5FD__ioc_write_independent_async | ( | int64_t | context_id,
|  | int64_t | offset,
|  | int64_t | elements,
|  | const void * | data,
|  | io_req_t ** | io_req )

## Variable Documentation

## ◆ H5FD_IOC_tag_ub_val_ptr

int* H5FD_IOC_tag_ub_val_ptr
| extern