/** File Driver List
//! [file_driver_table]
<table>
<caption>I/O file drivers</caption>
<tr>
<th>File Driver</th>
<th>Description</th>
</tr>
<tr>
<td>#H5FD_SEC2</td>
<td>Serial I/O to file using Unix “section 2” functions.</td>
</tr>
<tr>
<td>#H5FD_CORE</td>
<td>Store in memory (optional backing store to disk file).</td>
</tr>
<tr>
<td>#H5FD_LOG</td>
<td>Store in logging file.</td>
</tr>
<tr>
<td>#H5FD_FAMILY</td>
<td>Store in a set of files.</td>
</tr>
<tr>
<td>#H5FD_MULTI</td>
<td>Store in multiple files. There are several options to control layout.</td>
</tr>
<tr>
<td>#H5FD_STDIO</td>
<td>Serial I/O to file using Unix “stdio” functions.</td>
</tr>
<tr>
<td>#H5FD_SPLITTER</td>
<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
</tr>
<tr>
<td>#H5FD_MPIO</td>
<td>Store using MPI/IO.</td>
</tr>
<tr>
<td>#H5FD_DIRECT</td>
<td>Forces data writes to the file directly without using the system kernel buffer.</td>
</tr>
<tr>
<td>#H5FD_MIRROR</td>
<td>Serial I/O to file using Unix “stdio” functions.</td>
</tr>
<tr>
<td>#H5FD_HDFS</td>
<td>Read-Only access to Hadoop Distributed File System (HDFS).</td>
</tr>
<tr>
<td>#H5FD_ROS3</td>
<td>Read-Only access to Amazon's S3 service.</td>
</tr>
<tr>
<td>#H5FD_SUBFILING</td>
<td>Derived from other "stacked" VFDs such as the splitter, mirror, and family VFDs.</td>
</tr>
<tr>
<td>#H5FD_IOC</td>
<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
</tr>
<tr>
<td>#H5FD_ONION</td>
<td>Provide in-file provenance and revision/version control.</td>
</tr>
</table>
//! [file_driver_table]
 *
//! [supported_file_driver_table]
<table>
<caption id="table_file_drivers">Supported file drivers</caption>
<tr>
<th>Driver Name</th>
<th>Driver Identifier</th>
<th>Description</th>
<th>Related API</th>
</tr>
<tr>
<td>POSIX</td>
<td>#H5FD_SEC2</td>
<td>This driver uses POSIX file-system functions like read and write to perform I/O to a single,
permanent file on local disk with no system buffering. This driver is POSIX-compliant and is
the default file driver for all systems.</td>
<td>#H5Pset_fapl_sec2</td>
</tr>
<tr>
<td>Memory</td>
<td>#H5FD_CORE</td>
<td>With this driver, an application can work with a file in memory for faster reads and
writes. File contents are kept in memory until the file is closed. At closing, the memory
version of the file can be written back to disk or abandoned.</td>
<td>#H5Pset_fapl_core</td>
</tr>
<tr>
<td>Log</td>
<td>#H5FD_LOG</td>
<td>This is the #H5FD_SEC2 driver with logging capabilities.</td>
<td>#H5Pset_fapl_log</td>
</tr>
<tr>
<td>Family</td>
<td>#H5FD_FAMILY</td>
<td>With this driver, the HDF5 file's address space is partitioned into pieces and sent to
separate storage files using an underlying driver of the user's choice. This driver is for
systems that do not support files larger than 2 gigabytes.</td>
<td>#H5Pset_fapl_family</td>
</tr>
<tr>
<td>Multi</td>
<td>#H5FD_MULTI</td>
<td>With this driver, data can be stored in multiple files according to the type of the data.
I/O might work better if data is stored in separate files based on the type of data. The Split
driver is a special case of this driver.</td>
<td>#H5Pset_fapl_multi / #H5Pset_fapl_split</td>
</tr>
<tr>
<td>STDIO</td>
<td>#H5FD_STDIO</td>
<td>This driver uses functions from the standard C stdio.h to perform I/O
to a single, permanent file on local disk with additional system buffering.</td>
<td>#H5Pset_fapl_stdio</td>
</tr>
<tr>
<td>Split</td>
<td>#H5FD_SPLITTER</td>
<td>This file driver splits a file into two parts. One part stores metadata, and the other part
stores raw data. This splitting a file into two parts is a limited case of the Multi driver.</td>
<td>#H5Pset_fapl_splitter</td>
</tr>
<tr>
<td>Parallel</td>
<td>#H5FD_MPIO</td>
<td>This is the standard HDF5 file driver for parallel file systems. This driver uses the MPI
standard for both communication and file I/O.</td>
<td>#H5Pset_fapl_mpio</td>
</tr>
<tr>
<td>Direct</td>
<td>#H5FD_DIRECT</td>
<td>This is the #H5FD_SEC2 driver except data is written to or read from the file
synchronously without being cached by the system.</td>
<td>#H5Pset_fapl_direct</td>
</tr>
<tr>
<td>Mirror</td>
<td>#H5FD_MIRROR</td>
<td>Serial I/O to file using Unix “stdio” functions.</td>
<td>#H5Pset_fapl_mirror</td>
</tr>
<tr>
<td>HDFS</td>
<td>#H5FD_HDFS</td>
<td>Read-Only access to Hadoop Distributed File System (HDFS).</td>
<td>#H5Pset_fapl_hdfs</td>
</tr>
<tr>
<td>ros3</td>
<td>#H5FD_ROS3</td>
<td>Read-Only access to Amazon's S3 service.</td>
<td>#H5Pset_fapl_ros3</td>
</tr>
<tr>
<td>Subfiling</td>
<td>#H5FD_SUBFILING</td>
<td>Derived from other "stacked" VFDs such as the splitter, mirror, and family VFDs.</td>
<td>#H5Pset_fapl_subfiling</td>
</tr>
<tr>
<td>IOC</td>
<td>#H5FD_IOC</td>
<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
<td>#H5Pset_fapl_ioc</td>
</tr>
<tr>
<td>Onion</td>
<td>#H5FD_ONION</td>
<td>Provide in-file provenance and revision/version control.</td>
<td>#H5Pset_fapl_onion</td>
</tr>
<tr>
<td>Windows</td>
<td>#H5FD_WINDOWS</td>
<td>This driver was modified in HDF5-1.8.8 to be a wrapper of the POSIX driver,
#H5FD_SEC2. This change should not affect user applications.</td>
<td>#H5Pset_fapl_windows</td>
</tr>
<tr>
<td>Parallel POSIX</td>
<td>H5FD_MPIPOSIX</td>
<td>This driver is no longer available</td>
<td></td>
</tr>
<tr>
<td>Stream</td>
<td>H5FD_STREAM</td>
<td>This driver is no longer available.</td>
<td></td>
</tr>
</table>
//! [supported_file_driver_table]
 *
 */
