You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
677 lines
26 KiB
C
677 lines
26 KiB
C
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* Copyright by The HDF Group. *
|
|
* All rights reserved. *
|
|
* *
|
|
* This file is part of HDF5. The full HDF5 copyright notice, including *
|
|
* terms governing use, modification, and redistribution, is contained in *
|
|
* the COPYING file, which can be found at the root of the source code *
|
|
* distribution tree, or in https://www.hdfgroup.org/licenses. *
|
|
* If you do not have access to either file, you may request a copy from *
|
|
* help@hdfgroup.org. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
#ifndef H5TBpublic_H
|
|
#define H5TBpublic_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/** \page H5TB_UG The HDF5 High Level Table
|
|
* @todo Under Construction
|
|
*/
|
|
|
|
/**\defgroup H5TB HDF5 Table APIs (H5TB)
|
|
*
|
|
* <em>Creating and manipulating HDF5 datasets intended to be
|
|
* interpreted as tables (H5TB)</em>
|
|
*
|
|
* The HDF5 Table API defines a standard storage for HDF5 datasets
|
|
* that are intended to be interpreted as tables. A table is defined
|
|
* as a collection of records whose values are stored in fixed-length
|
|
* fields. All records have the same structure, and all values in
|
|
* each field have the same data type.
|
|
*
|
|
* \note \Bold{Programming hints:}
|
|
* \note To use any of these functions or subroutines,
|
|
* you must first include the relevant include file (C) or
|
|
* module (Fortran) in your application.
|
|
* \note The following line includes the HDF5 Table package, H5TB,
|
|
* in C applications:
|
|
* \code #include "hdf5_hl.h" \endcode
|
|
* \note To include the H5TB module in Fortran applications specify:
|
|
* \code use h5tb \endcode
|
|
* Fortran applications must also include \ref H5open before
|
|
* any HDF5 calls to initialize global variables and \ref H5close
|
|
* after all HDF5 calls to close the Fortran interface.
|
|
*
|
|
* <table>
|
|
* <tr valign="top"><td style="border: none;">
|
|
*
|
|
* - Creation
|
|
* - \ref H5TBmake_table
|
|
* - Storage
|
|
* - \ref H5TBappend_records (No Fortran)
|
|
* - \ref H5TBwrite_records (No Fortran)
|
|
* - \ref H5TBwrite_fields_name
|
|
* - \ref H5TBwrite_fields_index
|
|
*
|
|
* - Modification
|
|
* - \ref H5TBdelete_record (No Fortran)
|
|
* - \ref H5TBinsert_record (No Fortran)
|
|
* - \ref H5TBadd_records_from (No Fortran)
|
|
* - \ref H5TBcombine_tables (No Fortran)
|
|
* - \ref H5TBinsert_field
|
|
* - \ref H5TBdelete_field
|
|
*
|
|
* </td><td style="border: none;">
|
|
*
|
|
* - Retrieval
|
|
* - \ref H5TBread_table
|
|
* - \ref H5TBread_records (No Fortran)
|
|
* - \ref H5TBread_fields_name
|
|
* - \ref H5TBread_fields_index
|
|
*
|
|
* - Query
|
|
* - \ref H5TBget_table_info
|
|
* - \ref H5TBget_field_info
|
|
*
|
|
* - Query Table Attributes
|
|
* - \ref H5TBAget_fill
|
|
* - \ref H5TBAget_title
|
|
*
|
|
* </td></tr>
|
|
* </table>
|
|
*
|
|
*/
|
|
|
|
/*-------------------------------------------------------------------------
|
|
*
|
|
* Create functions
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
* \brief Creates and writes a table
|
|
*
|
|
* \param[in] table_title The title of the table
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to create
|
|
* \param[in] nfields The number of fields
|
|
* \param[in] nrecords The number of records
|
|
* \param[in] type_size The size in bytes of the structure
|
|
* associated with the table;
|
|
* This value is obtained with \c sizeof().
|
|
* \param[in] field_names An array containing the names of
|
|
* the fields
|
|
* \param[in] field_offset An array containing the offsets of
|
|
* the fields
|
|
* \param[in] field_types An array containing the type of
|
|
* the fields
|
|
* \param[in] chunk_size The chunk size
|
|
* \param[in] fill_data Fill values data
|
|
* \param[in] compress Flag that turns compression on or off
|
|
* \param[in] buf Buffer with data to be written to the table
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBmake_table() creates and writes a dataset named
|
|
* \p dset_name attached to the object specified by the
|
|
* identifier loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBmake_table(const char *table_title, hid_t loc_id, const char *dset_name, hsize_t nfields,
|
|
hsize_t nrecords, size_t type_size, const char *field_names[],
|
|
const size_t *field_offset, const hid_t *field_types, hsize_t chunk_size,
|
|
void *fill_data, int compress, const void *buf);
|
|
|
|
/*-------------------------------------------------------------------------
|
|
*
|
|
* Write functions
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
* \brief Adds records to the end of the table
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to overwrite
|
|
* \param[in] nrecords The number of records to append
|
|
* \param[in] type_size The size of the structure type,
|
|
* as calculated by \c sizeof().
|
|
* \param[in] field_offset An array containing the offsets of
|
|
* the fields. These offsets can be
|
|
* calculated with the #HOFFSET macro
|
|
* \param[in] dst_sizes An array containing the sizes of
|
|
* the fields
|
|
* \param[in] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBappend_records() adds records to the end of the table
|
|
* named \p dset_name attached to the object specified by the
|
|
* identifier \p loc_id. The dataset is extended to hold the
|
|
* new records.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBappend_records(hid_t loc_id, const char *dset_name, hsize_t nrecords, size_t type_size,
|
|
const size_t *field_offset, const size_t *dst_sizes, const void *buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
* \brief Overwrites records
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to overwrite
|
|
* \param[in] start The zero index record to start writing
|
|
* \param[in] nrecords The number of records to write
|
|
* \param[in] type_size The size of the structure type, as
|
|
* calculated by \c sizeof().
|
|
* \param[in] field_offset An array containing the offsets of
|
|
* the fields. These offsets can be
|
|
* calculated with the #HOFFSET macro
|
|
* \param[in] dst_sizes An array containing the sizes of
|
|
* the fields
|
|
* \param[in] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBwrite_records() overwrites records starting at the zero
|
|
* index position start of the table named \p dset_name attached
|
|
* to the object specified by the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBwrite_records(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
|
|
size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
|
|
const void *buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
* \brief Overwrites fields
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to overwrite
|
|
* \param[in] field_names The names of the fields to write
|
|
* \param[in] start The zero index record to start writing
|
|
* \param[in] nrecords The number of records to write
|
|
* \param[in] type_size The size of the structure type, as
|
|
* calculated by \c sizeof().
|
|
* \param[in] field_offset An array containing the offsets of
|
|
* the fields. These offsets can be
|
|
* calculated with the #HOFFSET macro
|
|
* \param[in] dst_sizes An array containing the sizes of
|
|
* the fields
|
|
* \param[in] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBwrite_fields_name() overwrites one or several fields
|
|
* specified by \p field_names with data in \p buf from a
|
|
* dataset named \p dset_name attached to the object specified
|
|
* by the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBwrite_fields_name(hid_t loc_id, const char *dset_name, const char *field_names,
|
|
hsize_t start, hsize_t nrecords, size_t type_size,
|
|
const size_t *field_offset, const size_t *dst_sizes, const void *buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
* \brief Overwrites fields
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to overwrite
|
|
* \param[in] nfields The number of fields to overwrite.
|
|
* This parameter is also the size of the
|
|
* \p field_index array.
|
|
* \param[in] field_index The indexes of the fields to write
|
|
* \param[in] start The zero based index record to start writing
|
|
* \param[in] nrecords The number of records to write
|
|
* \param[in] type_size The size of the structure type, as
|
|
* calculated by \c sizeof().
|
|
* \param[in] field_offset An array containing the offsets of
|
|
* the fields. These offsets can be
|
|
* calculated with the #HOFFSET macro
|
|
* \param[in] dst_sizes An array containing the sizes of
|
|
* the fields
|
|
* \param[in] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBwrite_fields_index() overwrites one or several fields
|
|
* specified by \p field_index with a buffer \p buf from a
|
|
* dataset named \p dset_name attached to the object
|
|
* specified by the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBwrite_fields_index(hid_t loc_id, const char *dset_name, hsize_t nfields,
|
|
const int *field_index, hsize_t start, hsize_t nrecords,
|
|
size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
|
|
const void *buf);
|
|
|
|
/*-------------------------------------------------------------------------
|
|
*
|
|
* Read functions
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
* \brief Reads a table
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to read
|
|
* \param[in] dst_size The size of the structure type,
|
|
* as calculated by \c sizeof()
|
|
* \param[in] dst_offset An array containing the offsets of
|
|
* the fields. These offsets can be
|
|
* calculated with the #HOFFSET macro
|
|
* \param[in] dst_sizes An array containing the sizes of
|
|
* the fields. These sizes can be
|
|
* calculated with the sizeof() macro.
|
|
* \param[in] dst_buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBread_table() reads a table named
|
|
* \p dset_name attached to the object specified by
|
|
* the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBread_table(hid_t loc_id, const char *dset_name, size_t dst_size, const size_t *dst_offset,
|
|
const size_t *dst_sizes, void *dst_buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
* \brief Reads one or several fields. The fields are identified by name.
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to read
|
|
* \param[in] field_names An array containing the names of the
|
|
* fields to read
|
|
* \param[in] start The start record to read from
|
|
* \param[in] nrecords The number of records to read
|
|
* \param[in] type_size The size in bytes of the structure associated
|
|
* with the table
|
|
* (This value is obtained with \c sizeof().)
|
|
* \param[in] field_offset An array containing the offsets of the fields
|
|
* \param[in] dst_sizes An array containing the size in bytes of
|
|
* the fields
|
|
* \param[out] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBread_fields_name() reads the fields identified
|
|
* by \p field_names from a dataset named \p dset_name
|
|
* attached to the object specified by the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBread_fields_name(hid_t loc_id, const char *dset_name, const char *field_names,
|
|
hsize_t start, hsize_t nrecords, size_t type_size,
|
|
const size_t *field_offset, const size_t *dst_sizes, void *buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Reads one or several fields. The fields are identified by index.
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to read
|
|
* \param[in] nfields The number of fields to read
|
|
* (This parameter is also the size of the
|
|
* \p field_index array.)
|
|
* fields to read
|
|
* \param[in] field_index The indexes of the fields to read
|
|
* \param[in] start The start record to read from
|
|
* \param[in] nrecords The number of records to read
|
|
* \param[in] type_size The size in bytes of the structure associated
|
|
* with the table
|
|
* (This value is obtained with \c sizeof())
|
|
* \param[in] field_offset An array containing the offsets of the fields
|
|
* \param[in] dst_sizes An array containing the size in bytes of
|
|
* the fields
|
|
* \param[out] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBread_fields_index() reads the fields identified
|
|
* by \p field_index from a dataset named \p dset_name attached
|
|
* to the object specified by the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBread_fields_index(hid_t loc_id, const char *dset_name, hsize_t nfields,
|
|
const int *field_index, hsize_t start, hsize_t nrecords,
|
|
size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
|
|
void *buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Reads records
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to read
|
|
* \param[in] start The start record to read from
|
|
* \param[in] nrecords The number of records to read
|
|
* \param[in] type_size The size of the structure type,
|
|
* as calculated by \c sizeof()
|
|
* \param[in] dst_offset An array containing the offsets of the
|
|
* fields. These offsets can be calculated
|
|
* with the #HOFFSET macro
|
|
* \param[in] dst_sizes An array containing the size in bytes of
|
|
* the fields
|
|
* \param[out] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBread_records() reads some records identified from a dataset
|
|
* named \p dset_name attached to the object specified by the
|
|
* identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBread_records(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
|
|
size_t type_size, const size_t *dst_offset, const size_t *dst_sizes,
|
|
void *buf);
|
|
|
|
/*-------------------------------------------------------------------------
|
|
*
|
|
* Inquiry functions
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Gets the table dimensions
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to read
|
|
* \param[out] nfields The number of fields
|
|
* \param[out] nrecords The number of records
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBget_table_info() retrieves the table dimensions from a
|
|
* dataset named \p dset_name attached to the object specified
|
|
* by the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBget_table_info(hid_t loc_id, const char *dset_name, hsize_t *nfields, hsize_t *nrecords);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Gets information about a table
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset to read
|
|
* \param[out] field_names An array containing the names of the fields
|
|
* \param[out] field_sizes An array containing the size of the fields
|
|
* \param[out] field_offsets An array containing the offsets of the fields
|
|
* \param[out] type_size The size of the HDF5 datatype associated
|
|
* with the table. (More specifically,
|
|
* the size in bytes of the HDF5 compound
|
|
* datatype used to define a row, or record,
|
|
* in the table)
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBget_field_info() gets information about a dataset
|
|
* named \p dset_name attached to the object specified
|
|
* by the identifier \p loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBget_field_info(hid_t loc_id, const char *dset_name, char *field_names[],
|
|
size_t *field_sizes, size_t *field_offsets, size_t *type_size);
|
|
|
|
/*-------------------------------------------------------------------------
|
|
*
|
|
* Manipulation functions
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Delete records
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset
|
|
* \param[in] start The start record to delete from
|
|
* \param[in] nrecords The number of records to delete
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBdelete_record() deletes nrecords number of records starting
|
|
* from \p start from the middle of the table \p dset_name
|
|
* ("pulling up" all the records after it).
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBdelete_record(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Insert records
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the dataset
|
|
* \param[in] start The position to insert
|
|
* \param[in] nrecords The number of records to insert
|
|
* \param[in] dst_size The size in bytes of the structure
|
|
* associated with the table
|
|
* \param[in] dst_offset An array containing the offsets of the
|
|
* fields
|
|
* \param[in] dst_sizes An array containing the size in bytes of
|
|
* the fields
|
|
* \param[in] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBinsert_record() inserts records into the middle of the table
|
|
* ("pushing down" all the records after it)
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBinsert_record(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
|
|
size_t dst_size, const size_t *dst_offset, const size_t *dst_sizes,
|
|
void *buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Add records from first table to second table
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name1 The name of the dataset to read the records
|
|
* \param[in] start1 The position to read the records from the
|
|
* first table
|
|
* \param[in] nrecords The number of records to read from the first
|
|
* table
|
|
* \param[in] dset_name2 The name of the dataset to write the records
|
|
* \param[in] start2 The position to write the records on the
|
|
* second table
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBadd_records_from() adds records from a dataset named
|
|
* \p dset_name1 to a dataset named \p dset_name2. Both tables
|
|
* are attached to the object specified by the identifier loc_id.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBadd_records_from(hid_t loc_id, const char *dset_name1, hsize_t start1, hsize_t nrecords,
|
|
const char *dset_name2, hsize_t start2);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Combines records from two tables into a third
|
|
*
|
|
* \param[in] loc_id1 Identifier of the file or group in which
|
|
* the first table is located
|
|
* \param[in] dset_name1 The name of the first table to combine
|
|
* \param[in] loc_id2 Identifier of the file or group in which
|
|
* the second table is located
|
|
* \param[in] dset_name2 The name of the second table to combine
|
|
* \param[in] dset_name3 The name of the new table
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBcombine_tables() combines records from two datasets named
|
|
* \p dset_name1 and \p dset_name2, to a new table named
|
|
* \p dset_name3. These tables can be located on different files,
|
|
* identified by \p loc_id1 and \p loc_id2 (identifiers obtained
|
|
* with H5Fcreate()). They can also be located on the same file.
|
|
* In this case one uses the same identifier for both parameters
|
|
* \p loc_id1 and \p loc_id2. If two files are used, the third
|
|
* table is written in the first file.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBcombine_tables(hid_t loc_id1, const char *dset_name1, hid_t loc_id2,
|
|
const char *dset_name2, const char *dset_name3);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Insert a new field into a table
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the table
|
|
* \param[in] field_name The name of the field to insert
|
|
* \param[in] field_type The data type of the field
|
|
* \param[in] position The zero based index position where to
|
|
* insert the field
|
|
* \param[in] fill_data Fill value data for the field. This parameter
|
|
* can be NULL
|
|
* \param[in] buf Buffer with data
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBinsert_field() inserts a new field named \p field_name into
|
|
* the table \p dset_name. Note: this function requires the table
|
|
* to be re-created and rewritten in its entirety, and this can result
|
|
* in some unused space in the file, and can also take a great deal of
|
|
* time if the table is large.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBinsert_field(hid_t loc_id, const char *dset_name, const char *field_name,
|
|
hid_t field_type, hsize_t position, const void *fill_data, const void *buf);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Deletes a field from a table
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name The name of the table
|
|
* \param[in] field_name The name of the field to delete
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBdelete_field() deletes a field named \p field_name from the
|
|
* table \p dset_name. Note: this function requires the table to be
|
|
* re-created and rewritten in its entirety, and this can result in
|
|
* some unused space in the file, and can also take a great deal of
|
|
* time if the table is large.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBdelete_field(hid_t loc_id, const char *dset_name, const char *field_name);
|
|
|
|
/*-------------------------------------------------------------------------
|
|
*
|
|
* Table attribute functions
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Reads a table's title
|
|
*
|
|
* \fg_loc_id
|
|
* \param[out] table_title Buffer for title name
|
|
*
|
|
* \return \herr_t
|
|
*
|
|
* \details H5TBget_title() returns the title of the table identified
|
|
* by \p loc_id in a buffer \p table_title.
|
|
*
|
|
*/
|
|
H5_HLDLL herr_t H5TBAget_title(hid_t loc_id, char *table_title);
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* \ingroup H5TB
|
|
*
|
|
*
|
|
* \brief Reads the table attribute fill values
|
|
*
|
|
* \fg_loc_id
|
|
* \param[in] dset_name Name of table
|
|
* \param[in] dset_id Table identifier
|
|
* \param[out] dst_buf Buffer of fill values for table fields
|
|
*
|
|
* \return
|
|
* \return A return value of 1 indicates that a fill value is present.
|
|
* \return A return value of 0 indicates a fill value is not present.
|
|
* \return A return value <0 indicates an error.
|
|
*
|
|
* \details H5TBget_fill() reads the table attribute fill values into
|
|
* the buffer \p dst_buf for the table specified by \p dset_id
|
|
* and \p dset_name located in \p loc_id.
|
|
*
|
|
* \par Example
|
|
* \include H5TBAget_fill.c
|
|
*
|
|
*/
|
|
H5_HLDLL htri_t H5TBAget_fill(hid_t loc_id, const char *dset_name, hid_t dset_id, unsigned char *dst_buf);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|