Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-06-20 08:49:48

0001 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
0002  * Copyright by The HDF Group.                                               *
0003  * All rights reserved.                                                      *
0004  *                                                                           *
0005  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
0006  * terms governing use, modification, and redistribution, is contained in    *
0007  * the COPYING file, which can be found at the root of the source code       *
0008  * distribution tree, or in https://www.hdfgroup.org/licenses.               *
0009  * If you do not have access to either file, you may request a copy from     *
0010  * help@hdfgroup.org.                                                        *
0011  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
0012 
0013 #ifndef H5TBpublic_H
0014 #define H5TBpublic_H
0015 
0016 #ifdef __cplusplus
0017 extern "C" {
0018 #endif
0019 
0020 /** \page H5TB_UG HDF5 High Level Table
0021  * @todo Under Construction
0022  */
0023 
0024 /**\defgroup H5TB HDF5 Table APIs (H5TB)
0025  *
0026  * <em>Creating and manipulating HDF5 datasets intended to be
0027  * interpreted as tables (H5TB)</em>
0028  *
0029  * The HDF5 Table API defines a standard storage for HDF5 datasets
0030  * that are intended to be interpreted as tables. A table is defined
0031  * as a collection of records whose values are stored in fixed-length
0032  * fields. All records have the same structure, and all values in
0033  * each field have the same data type.
0034  *
0035  * \note \Bold{Programming hints:}
0036  * \note To use any of these functions or subroutines,
0037  *       you must first include the relevant include file (C) or
0038  *       module (Fortran) in your application.
0039  * \note The following line includes the HDF5 Table package, H5TB,
0040  *       in C applications:
0041  *       \code #include "hdf5_hl.h" \endcode
0042  * \note To include the H5TB module in Fortran applications specify:
0043  *       \code use h5tb \endcode
0044  *       Fortran applications must also include \ref H5open before
0045  *       any HDF5 calls to initialize global variables and \ref H5close
0046  *       after all HDF5 calls to close the Fortran interface.
0047  *
0048  * <table>
0049  * <tr valign="top"><td style="border: none;">
0050  *
0051  * - Creation
0052  *   - \ref H5TBmake_table
0053  * - Storage
0054  *   - \ref H5TBappend_records (No Fortran)
0055  *   - \ref H5TBwrite_records (No Fortran)
0056  *   - \ref H5TBwrite_fields_name
0057  *   - \ref H5TBwrite_fields_index
0058  *
0059  * - Modification
0060  *   - \ref H5TBdelete_record (No Fortran)
0061  *   - \ref H5TBinsert_record (No Fortran)
0062  *   - \ref H5TBadd_records_from (No Fortran)
0063  *   - \ref H5TBcombine_tables (No Fortran)
0064  *   - \ref H5TBinsert_field
0065  *   - \ref H5TBdelete_field
0066  *
0067  * </td><td style="border: none;">
0068  *
0069  * - Retrieval
0070  *   - \ref H5TBread_table
0071  *   - \ref H5TBread_records (No Fortran)
0072  *   - \ref H5TBread_fields_name
0073  *   - \ref H5TBread_fields_index
0074  *
0075  * - Query
0076  *   - \ref H5TBget_table_info
0077  *   - \ref H5TBget_field_info
0078  *
0079  * - Query Table Attributes
0080  *   - \ref H5TBAget_fill
0081  *   - \ref H5TBAget_title
0082  *
0083  * </td></tr>
0084  * </table>
0085  *
0086  */
0087 
0088 /*-------------------------------------------------------------------------
0089  *
0090  * Create functions
0091  *
0092  *-------------------------------------------------------------------------
0093  */
0094 
0095 /**
0096  * --------------------------------------------------------------------------
0097  * \ingroup H5TB
0098  *
0099  * \brief Creates and writes a table
0100  *
0101  * \param[in] table_title   The title of the table
0102  * \fg_loc_id
0103  * \param[in] dset_name     The name of the dataset to create
0104  * \param[in] nfields       The number of fields
0105  * \param[in] nrecords      The number of records
0106  * \param[in] type_size     The size in bytes of the structure
0107  *                          associated with the table;
0108  *                          This value is obtained with \c sizeof().
0109  * \param[in] field_names   An array containing the names of
0110  *                          the fields
0111  * \param[in] field_offset  An array containing the offsets of
0112  *                          the fields
0113  * \param[in] field_types   An array containing the type of
0114  *                          the fields
0115  * \param[in] chunk_size    The chunk size
0116  * \param[in] fill_data     Fill values data
0117  * \param[in] compress      Flag that turns compression on or off
0118  * \param[in] buf           Buffer with data to be written to the table
0119  *
0120  * \return \herr_t
0121  *
0122  * \details H5TBmake_table() creates and writes a dataset named
0123  *          \p dset_name attached to the object specified by the
0124  *          identifier loc_id.
0125  *
0126  */
0127 H5_HLDLL herr_t H5TBmake_table(const char *table_title, hid_t loc_id, const char *dset_name, hsize_t nfields,
0128                                hsize_t nrecords, size_t type_size, const char *field_names[],
0129                                const size_t *field_offset, const hid_t *field_types, hsize_t chunk_size,
0130                                void *fill_data, int compress, const void *buf);
0131 
0132 /*-------------------------------------------------------------------------
0133  *
0134  * Write functions
0135  *
0136  *-------------------------------------------------------------------------
0137  */
0138 
0139 /**
0140  * --------------------------------------------------------------------------
0141  * \ingroup H5TB
0142  *
0143  * \brief Adds records to the end of the table
0144  *
0145  * \fg_loc_id
0146  * \param[in] dset_name     The name of the dataset to overwrite
0147  * \param[in] nrecords      The number of records to append
0148  * \param[in] type_size     The size of the structure type,
0149  *                          as calculated by \c sizeof().
0150  * \param[in] field_offset  An array containing the offsets of
0151  *                          the fields. These offsets can be
0152  *                          calculated with the #HOFFSET macro
0153  * \param[in] dst_sizes     An array containing the sizes of
0154  *                          the fields
0155  * \param[in] buf           Buffer with data
0156  *
0157  * \return \herr_t
0158  *
0159  * \details H5TBappend_records() adds records to the end of the table
0160  *          named \p dset_name attached to the object specified by the
0161  *          identifier \p loc_id. The dataset is extended to hold the
0162  *          new records.
0163  *
0164  */
0165 H5_HLDLL herr_t H5TBappend_records(hid_t loc_id, const char *dset_name, hsize_t nrecords, size_t type_size,
0166                                    const size_t *field_offset, const size_t *dst_sizes, const void *buf);
0167 
0168 /**
0169  * --------------------------------------------------------------------------
0170  * \ingroup H5TB
0171  *
0172  * \brief Overwrites records
0173  *
0174  * \fg_loc_id
0175  * \param[in] dset_name    The name of the dataset to overwrite
0176  * \param[in] start         The zero index record to start writing
0177  * \param[in] nrecords      The number of records to write
0178  * \param[in] type_size     The size of the structure type, as
0179  *                          calculated by \c sizeof().
0180  * \param[in] field_offset  An array containing the offsets of
0181  *                          the fields.  These offsets can be
0182  *                          calculated with the #HOFFSET macro
0183  * \param[in] dst_sizes     An array containing the sizes of
0184  *                          the fields
0185  * \param[in] buf           Buffer with data
0186  *
0187  * \return \herr_t
0188  *
0189  * \details H5TBwrite_records() overwrites records starting at the zero
0190  *          index position start of the table named \p dset_name attached
0191  *          to the object specified by the identifier \p loc_id.
0192  *
0193  */
0194 H5_HLDLL herr_t H5TBwrite_records(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
0195                                   size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
0196                                   const void *buf);
0197 
0198 /**
0199  * --------------------------------------------------------------------------
0200  * \ingroup H5TB
0201  *
0202  * \brief Overwrites fields
0203  *
0204  * \fg_loc_id
0205  * \param[in] dset_name    The name of the dataset to overwrite
0206  * \param[in] field_names   The names of the fields to write
0207  * \param[in] start         The zero index record to start writing
0208  * \param[in] nrecords      The number of records to write
0209  * \param[in] type_size     The size of the structure type, as
0210  *                          calculated by \c sizeof().
0211  * \param[in] field_offset  An array containing the offsets of
0212  *                          the fields.  These offsets can be
0213  *                          calculated with the #HOFFSET macro
0214  * \param[in] dst_sizes     An array containing the sizes of
0215  *                          the fields
0216  * \param[in] buf           Buffer with data
0217  *
0218  * \return \herr_t
0219  *
0220  * \details H5TBwrite_fields_name() overwrites one or several fields
0221  *          specified by \p field_names with data in \p buf from a
0222  *          dataset named \p dset_name attached to the object specified
0223  *          by the identifier \p loc_id.
0224  *
0225  */
0226 H5_HLDLL herr_t H5TBwrite_fields_name(hid_t loc_id, const char *dset_name, const char *field_names,
0227                                       hsize_t start, hsize_t nrecords, size_t type_size,
0228                                       const size_t *field_offset, const size_t *dst_sizes, const void *buf);
0229 
0230 /**
0231  * --------------------------------------------------------------------------
0232  * \ingroup H5TB
0233  *
0234  * \brief Overwrites fields
0235  *
0236  * \fg_loc_id
0237  * \param[in] dset_name     The name of the dataset to overwrite
0238  * \param[in] nfields       The number of fields to overwrite.
0239  *                          This parameter is also the size of the
0240  *                          \p field_index array.
0241  * \param[in] field_index   The indexes of the fields to write
0242  * \param[in] start         The zero based index record to start writing
0243  * \param[in] nrecords      The number of records to write
0244  * \param[in] type_size     The size of the structure type, as
0245  *                          calculated by \c sizeof().
0246  * \param[in] field_offset  An array containing the offsets of
0247  *                          the fields.  These offsets can be
0248  *                          calculated with the #HOFFSET macro
0249  * \param[in] dst_sizes     An array containing the sizes of
0250  *                          the fields
0251  * \param[in] buf           Buffer with data
0252  *
0253  * \return \herr_t
0254  *
0255  * \details H5TBwrite_fields_index() overwrites one or several fields
0256  *          specified by \p field_index with a buffer \p buf from a
0257  *          dataset named \p dset_name attached to the object
0258  *          specified by the identifier \p loc_id.
0259  *
0260  */
0261 H5_HLDLL herr_t H5TBwrite_fields_index(hid_t loc_id, const char *dset_name, hsize_t nfields,
0262                                        const int *field_index, hsize_t start, hsize_t nrecords,
0263                                        size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
0264                                        const void *buf);
0265 
0266 /*-------------------------------------------------------------------------
0267  *
0268  * Read functions
0269  *
0270  *-------------------------------------------------------------------------
0271  */
0272 
0273 /**
0274  * --------------------------------------------------------------------------
0275  * \ingroup H5TB
0276  *
0277  * \brief Reads a table
0278  *
0279  * \fg_loc_id
0280  * \param[in] dset_name    The name of the dataset to read
0281  * \param[in] dst_size     The size of the structure type,
0282  *                          as calculated by \c sizeof()
0283  * \param[in] dst_offset    An array containing the offsets of
0284  *                          the fields.  These offsets can be
0285  *                          calculated with the #HOFFSET macro
0286  * \param[in] dst_sizes     An array containing the sizes of
0287  *                          the fields.  These sizes can be
0288  *                          calculated with the sizeof() macro.
0289  * \param[in] dst_buf       Buffer with data
0290  *
0291  * \return \herr_t
0292  *
0293  * \details H5TBread_table() reads a table named
0294  *          \p dset_name attached to the object specified by
0295  *          the identifier \p loc_id.
0296  *
0297  */
0298 H5_HLDLL herr_t H5TBread_table(hid_t loc_id, const char *dset_name, size_t dst_size, const size_t *dst_offset,
0299                                const size_t *dst_sizes, void *dst_buf);
0300 
0301 /**
0302  * --------------------------------------------------------------------------
0303  * \ingroup H5TB
0304  *
0305  * \brief Reads one or several fields. The fields are identified by name.
0306  *
0307  * \fg_loc_id
0308  * \param[in] dset_name    The name of the dataset to read
0309  * \param[in] field_names   An array containing the names of the
0310  *                          fields to read
0311  * \param[in] start         The start record to read from
0312  * \param[in] nrecords      The number of records to read
0313  * \param[in] type_size     The size in bytes of the structure associated
0314  *                          with the table
0315  *                          (This value is obtained with \c sizeof().)
0316  * \param[in] field_offset  An array containing the offsets of the fields
0317  * \param[in] dst_sizes     An array containing the size in bytes of
0318  *                          the fields
0319  * \param[out] buf          Buffer with data
0320  *
0321  * \return \herr_t
0322  *
0323  * \details H5TBread_fields_name() reads the fields identified
0324  *          by \p field_names from a dataset named \p dset_name
0325  *          attached to the object specified by the identifier \p loc_id.
0326  *
0327  */
0328 H5_HLDLL herr_t H5TBread_fields_name(hid_t loc_id, const char *dset_name, const char *field_names,
0329                                      hsize_t start, hsize_t nrecords, size_t type_size,
0330                                      const size_t *field_offset, const size_t *dst_sizes, void *buf);
0331 
0332 /**
0333  * --------------------------------------------------------------------------
0334  * \ingroup H5TB
0335  *
0336  *
0337  * \brief Reads one or several fields. The fields are identified by index.
0338  *
0339  * \fg_loc_id
0340  * \param[in] dset_name     The name of the dataset to read
0341  * \param[in] nfields       The number of fields to read
0342  *                          (This parameter is also the size of the
0343  *                          \p field_index array.)
0344  *                          fields to read
0345  * \param[in] field_index   The indexes of the fields to read
0346  * \param[in] start         The start record to read from
0347  * \param[in] nrecords      The number of records to read
0348  * \param[in] type_size     The size in bytes of the structure associated
0349  *                          with the table
0350  *                          (This value is obtained with \c sizeof())
0351  * \param[in] field_offset  An array containing the offsets of the fields
0352  * \param[in] dst_sizes     An array containing the size in bytes of
0353  *                          the fields
0354  * \param[out] buf          Buffer with data
0355  *
0356  * \return \herr_t
0357  *
0358  * \details H5TBread_fields_index() reads the fields identified
0359  *          by \p field_index from a dataset named \p dset_name attached
0360  *          to the object specified by the identifier \p loc_id.
0361  *
0362  */
0363 H5_HLDLL herr_t H5TBread_fields_index(hid_t loc_id, const char *dset_name, hsize_t nfields,
0364                                       const int *field_index, hsize_t start, hsize_t nrecords,
0365                                       size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
0366                                       void *buf);
0367 
0368 /**
0369  * --------------------------------------------------------------------------
0370  * \ingroup H5TB
0371  *
0372  *
0373  * \brief Reads records
0374  *
0375  * \fg_loc_id
0376  * \param[in] dset_name     The name of the dataset to read
0377  * \param[in] start         The start record to read from
0378  * \param[in] nrecords      The number of records to read
0379  * \param[in] type_size     The size of the structure type,
0380  *                          as calculated by \c sizeof()
0381  * \param[in] dst_offset    An array containing the offsets of the
0382  *                          fields.  These offsets can be calculated
0383  *                          with the #HOFFSET macro
0384  * \param[in] dst_sizes     An array containing the size in bytes of
0385  *                          the fields
0386  * \param[out] buf          Buffer with data
0387  *
0388  * \return \herr_t
0389  *
0390  * \details H5TBread_records() reads some records identified from a dataset
0391  *          named \p dset_name attached to the object specified by the
0392  *          identifier \p loc_id.
0393  *
0394  */
0395 H5_HLDLL herr_t H5TBread_records(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
0396                                  size_t type_size, const size_t *dst_offset, const size_t *dst_sizes,
0397                                  void *buf);
0398 
0399 /*-------------------------------------------------------------------------
0400  *
0401  * Inquiry functions
0402  *
0403  *-------------------------------------------------------------------------
0404  */
0405 
0406 /**
0407  * --------------------------------------------------------------------------
0408  * \ingroup H5TB
0409  *
0410  *
0411  * \brief Gets the table dimensions
0412  *
0413  * \fg_loc_id
0414  * \param[in] dset_name     The name of the dataset to read
0415  * \param[out] nfields      The number of fields
0416  * \param[out] nrecords     The number of records
0417  *
0418  * \return \herr_t
0419  *
0420  * \details H5TBget_table_info() retrieves the table dimensions from a
0421  *          dataset named \p dset_name attached to the object specified
0422  *          by the identifier \p loc_id.
0423  *
0424  */
0425 H5_HLDLL herr_t H5TBget_table_info(hid_t loc_id, const char *dset_name, hsize_t *nfields, hsize_t *nrecords);
0426 
0427 /**
0428  * --------------------------------------------------------------------------
0429  * \ingroup H5TB
0430  *
0431  *
0432  * \brief Gets information about a table
0433  *
0434  * \fg_loc_id
0435  * \param[in] dset_name         The name of the dataset to read
0436  * \param[out] field_names      An array containing the names of the fields
0437  * \param[out] field_sizes      An array containing the size of the fields
0438  * \param[out] field_offsets    An array containing the offsets of the fields
0439  * \param[out] type_size        The size of the HDF5 datatype associated
0440  *                              with the table.  (More specifically,
0441  *                              the size in bytes of the HDF5 compound
0442  *                              datatype used to define a row, or record,
0443  *                              in the table)
0444  *
0445  * \return \herr_t
0446  *
0447  * \details H5TBget_field_info() gets information about a dataset
0448  *          named \p dset_name attached to the object specified
0449  *          by the identifier \p loc_id.
0450  *
0451  */
0452 H5_HLDLL herr_t H5TBget_field_info(hid_t loc_id, const char *dset_name, char *field_names[],
0453                                    size_t *field_sizes, size_t *field_offsets, size_t *type_size);
0454 
0455 /*-------------------------------------------------------------------------
0456  *
0457  * Manipulation functions
0458  *
0459  *-------------------------------------------------------------------------
0460  */
0461 
0462 /**
0463  * --------------------------------------------------------------------------
0464  * \ingroup H5TB
0465  *
0466  *
0467  * \brief Delete records
0468  *
0469  * \fg_loc_id
0470  * \param[in] dset_name    The name of the dataset
0471  * \param[in] start        The start record to delete from
0472  * \param[in] nrecords     The number of records to delete
0473  *
0474  * \return \herr_t
0475  *
0476  * \details H5TBdelete_record() deletes nrecords number of records starting
0477  *          from \p start from the middle of the table \p dset_name
0478  *          ("pulling up" all the records after it).
0479  *
0480  */
0481 H5_HLDLL herr_t H5TBdelete_record(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords);
0482 
0483 /**
0484  * --------------------------------------------------------------------------
0485  * \ingroup H5TB
0486  *
0487  *
0488  * \brief Insert records
0489  *
0490  * \fg_loc_id
0491  * \param[in] dset_name     The name of the dataset
0492  * \param[in] start         The position to insert
0493  * \param[in] nrecords      The number of records to insert
0494  * \param[in] dst_size      The size in bytes of the structure
0495  *                          associated with the table
0496  * \param[in] dst_offset    An array containing the offsets of the
0497  *                          fields
0498  * \param[in] dst_sizes     An array containing the size in bytes of
0499  *                          the fields
0500  * \param[in] buf           Buffer with data
0501  *
0502  * \return \herr_t
0503  *
0504  * \details H5TBinsert_record() inserts records into the middle of the table
0505  *          ("pushing down" all the records after it)
0506  *
0507  */
0508 H5_HLDLL herr_t H5TBinsert_record(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
0509                                   size_t dst_size, const size_t *dst_offset, const size_t *dst_sizes,
0510                                   void *buf);
0511 
0512 /**
0513  * --------------------------------------------------------------------------
0514  * \ingroup H5TB
0515  *
0516  *
0517  * \brief Add records from first table to second table
0518  *
0519  * \fg_loc_id
0520  * \param[in] dset_name1    The name of the dataset to read the records
0521  * \param[in] start1        The position to read the records from the
0522  *                          first table
0523  * \param[in] nrecords      The number of records to read from the first
0524  *                          table
0525  * \param[in] dset_name2    The name of the dataset to write the records
0526  * \param[in] start2        The position to write the records on the
0527  *                          second table
0528  *
0529  * \return \herr_t
0530  *
0531  * \details H5TBadd_records_from() adds records from a dataset named
0532  *          \p dset_name1 to a dataset named \p dset_name2. Both tables
0533  *          are attached to the object specified by the identifier loc_id.
0534  *
0535  */
0536 H5_HLDLL herr_t H5TBadd_records_from(hid_t loc_id, const char *dset_name1, hsize_t start1, hsize_t nrecords,
0537                                      const char *dset_name2, hsize_t start2);
0538 
0539 /**
0540  * --------------------------------------------------------------------------
0541  * \ingroup H5TB
0542  *
0543  *
0544  * \brief Combines records from two tables into a third
0545  *
0546  * \param[in] loc_id1       Identifier of the file or group in which
0547  *                          the first table is located
0548  * \param[in] dset_name1    The name of the first table to combine
0549  * \param[in] loc_id2       Identifier of the file or group in which
0550  *                          the second table is located
0551  * \param[in] dset_name2    The name of the second table to combine
0552  * \param[in] dset_name3    The name of the new table
0553  *
0554  * \return \herr_t
0555  *
0556  * \details H5TBcombine_tables() combines records from two datasets named
0557  *          \p dset_name1 and \p dset_name2, to a new table named
0558  *          \p dset_name3. These tables can be located on different files,
0559  *          identified by \p loc_id1 and \p loc_id2 (identifiers obtained
0560  *          with H5Fcreate()). They can also be located on the same file.
0561  *          In this case one uses the same identifier for both parameters
0562  *          \p loc_id1 and \p loc_id2. If two files are used, the third
0563  *          table is written in the first file.
0564  *
0565  */
0566 H5_HLDLL herr_t H5TBcombine_tables(hid_t loc_id1, const char *dset_name1, hid_t loc_id2,
0567                                    const char *dset_name2, const char *dset_name3);
0568 
0569 /**
0570  * --------------------------------------------------------------------------
0571  * \ingroup H5TB
0572  *
0573  *
0574  * \brief Insert a new field into a table
0575  *
0576  * \fg_loc_id
0577  * \param[in] dset_name     The name of the table
0578  * \param[in] field_name    The name of the field to insert
0579  * \param[in] field_type    The data type of the field
0580  * \param[in] position      The zero based index position where to
0581  *                          insert the field
0582  * \param[in] fill_data     Fill value data for the field. This parameter
0583  *                          can be NULL
0584  * \param[in] buf           Buffer with data
0585  *
0586  * \return \herr_t
0587  *
0588  * \details H5TBinsert_field() inserts a new field named \p field_name into
0589  *          the table \p dset_name. Note: this function requires the table
0590  *          to be re-created and rewritten in its entirety, and this can result
0591  *          in some unused space in the file, and can also take a great deal of
0592  *          time if the table is large.
0593  *
0594  */
0595 H5_HLDLL herr_t H5TBinsert_field(hid_t loc_id, const char *dset_name, const char *field_name,
0596                                  hid_t field_type, hsize_t position, const void *fill_data, const void *buf);
0597 
0598 /**
0599  * --------------------------------------------------------------------------
0600  * \ingroup H5TB
0601  *
0602  *
0603  * \brief Deletes a field from a table
0604  *
0605  * \fg_loc_id
0606  * \param[in] dset_name     The name of the table
0607  * \param[in] field_name    The name of the field to delete
0608  *
0609  * \return \herr_t
0610  *
0611  * \details H5TBdelete_field() deletes a field named \p field_name from the
0612  *          table \p dset_name. Note: this function requires the table to be
0613  *          re-created and rewritten in its entirety, and this can result in
0614  *          some unused space in the file, and can also take a great deal of
0615  *          time if the table is large.
0616  *
0617  */
0618 H5_HLDLL herr_t H5TBdelete_field(hid_t loc_id, const char *dset_name, const char *field_name);
0619 
0620 /*-------------------------------------------------------------------------
0621  *
0622  * Table attribute functions
0623  *
0624  *-------------------------------------------------------------------------
0625  */
0626 
0627 /**
0628  * --------------------------------------------------------------------------
0629  * \ingroup H5TB
0630  *
0631  *
0632  * \brief Reads a table's title
0633  *
0634  * \fg_loc_id
0635  * \param[out] table_title  Buffer for title name
0636  *
0637  * \return \herr_t
0638  *
0639  * \details H5TBget_title() returns the title of the table identified
0640  *          by \p loc_id in a buffer \p table_title.
0641  *
0642  */
0643 H5_HLDLL herr_t H5TBAget_title(hid_t loc_id, char *table_title);
0644 
0645 /**
0646  * --------------------------------------------------------------------------
0647  * \ingroup H5TB
0648  *
0649  *
0650  * \brief Reads the table attribute fill values
0651  *
0652  * \fg_loc_id
0653  * \param[in] dset_name Name of table
0654  * \param[in] dset_id   Table identifier
0655  * \param[out] dst_buf Buffer of fill values for table fields
0656  *
0657  * \return
0658  * \return A return value of 1 indicates that a fill value is present.
0659  * \return A return value of 0 indicates a fill value is not present.
0660  * \return A return value <0 indicates an error.
0661  *
0662  * \details H5TBget_fill() reads the table attribute fill values into
0663  *          the buffer \p dst_buf for the table specified by \p dset_id
0664  *          and \p dset_name located in \p loc_id.
0665  *
0666  * \par Example
0667  * \include H5TBAget_fill.c
0668  *
0669  */
0670 H5_HLDLL htri_t H5TBAget_fill(hid_t loc_id, const char *dset_name, hid_t dset_id, unsigned char *dst_buf);
0671 
0672 #ifdef __cplusplus
0673 }
0674 #endif
0675 
0676 #endif