H5TBpublic.h

00001 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
00002  * Copyright by The HDF Group.                                               *
00003  * Copyright by the Board of Trustees of the University of Illinois.         *
00004  * All rights reserved.                                                      *
00005  *                                                                           *
00006  * This file is part of HDF5.  The full HDF5 copyright notice, including     *
00007  * terms governing use, modification, and redistribution, is contained in    *
00008  * the files COPYING and Copyright.html.  COPYING can be found at the root   *
00009  * of the source code distribution tree; Copyright.html can be found at the  *
00010  * root level of an installed copy of the electronic HDF5 document set and   *
00011  * is linked from the top-level documents page.  It can also be found at     *
00012  * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
00013  * access to either file, you may request a copy from help@hdfgroup.org.     *
00014  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00015 
00016 #ifndef _H5TBpublic_H
00017 #define _H5TBpublic_H
00018 
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00024 
00025 /*-------------------------------------------------------------------------
00026  *
00027  * Create functions
00028  *
00029  *-------------------------------------------------------------------------
00030  */
00031 
00032 H5_HLDLL herr_t  H5TBmake_table( const char *table_title,
00033                        hid_t loc_id,
00034                        const char *dset_name,
00035                        hsize_t nfields,
00036                        hsize_t nrecords,
00037                        size_t type_size,
00038                        const char *field_names[],
00039                        const size_t *field_offset,
00040                        const hid_t *field_types,
00041                        hsize_t chunk_size,
00042                        void *fill_data,
00043                        int compress,
00044                        const void *buf );
00045 
00046 
00047 /*-------------------------------------------------------------------------
00048  *
00049  * Write functions
00050  *
00051  *-------------------------------------------------------------------------
00052  */
00053 
00054 H5_HLDLL herr_t  H5TBappend_records( hid_t loc_id,
00055                            const char *dset_name,
00056                            hsize_t nrecords,
00057                            size_t type_size,
00058                            const size_t *field_offset,
00059                            const size_t *dst_sizes,
00060                            const void *buf );
00061 
00062 H5_HLDLL herr_t  H5TBwrite_records( hid_t loc_id,
00063                           const char *dset_name,
00064                           hsize_t start,
00065                           hsize_t nrecords,
00066                           size_t type_size,
00067                           const size_t *field_offset,
00068                           const size_t *dst_sizes,
00069                           const void *buf );
00070 
00071 
00072 H5_HLDLL herr_t  H5TBwrite_fields_name( hid_t loc_id,
00073                               const char *dset_name,
00074                               const char *field_names,
00075                               hsize_t start,
00076                               hsize_t nrecords,
00077                               size_t type_size,
00078                               const size_t *field_offset,
00079                               const size_t *dst_sizes,
00080                               const void *buf );
00081 
00082 H5_HLDLL herr_t  H5TBwrite_fields_index( hid_t loc_id,
00083                                const char *dset_name,
00084                                hsize_t nfields,
00085                                const int *field_index,
00086                                hsize_t start,
00087                                hsize_t nrecords,
00088                                size_t type_size,
00089                                const size_t *field_offset,
00090                                const size_t *dst_sizes,
00091                                const void *buf );
00092 
00093 
00094 /*-------------------------------------------------------------------------
00095  *
00096  * Read functions
00097  *
00098  *-------------------------------------------------------------------------
00099  */
00100 
00101 
00102 
00103 H5_HLDLL herr_t  H5TBread_table( hid_t loc_id,
00104                        const char *dset_name,
00105                        size_t dst_size,
00106                        const size_t *dst_offset,
00107                        const size_t *dst_sizes,
00108                        void *dst_buf );
00109 
00110 
00111 H5_HLDLL herr_t  H5TBread_fields_name( hid_t loc_id,
00112                              const char *dset_name,
00113                              const char *field_names,
00114                              hsize_t start,
00115                              hsize_t nrecords,
00116                              size_t type_size,
00117                              const size_t *field_offset,
00118                              const size_t *dst_sizes,
00119                              void *buf );
00120 
00121 H5_HLDLL herr_t  H5TBread_fields_index( hid_t loc_id,
00122                               const char *dset_name,
00123                               hsize_t nfields,
00124                               const int *field_index,
00125                               hsize_t start,
00126                               hsize_t nrecords,
00127                               size_t type_size,
00128                               const size_t *field_offset,
00129                               const size_t *dst_sizes,
00130                               void *buf );
00131 
00132 
00133 H5_HLDLL herr_t  H5TBread_records( hid_t loc_id,
00134                          const char *dset_name,
00135                          hsize_t start,
00136                          hsize_t nrecords,
00137                          size_t type_size,
00138                          const size_t *dst_offset,
00139                          const size_t *dst_sizes,
00140                          void *buf );
00141 
00142 /*-------------------------------------------------------------------------
00143  *
00144  * Inquiry functions
00145  *
00146  *-------------------------------------------------------------------------
00147  */
00148 
00149 
00150 H5_HLDLL herr_t  H5TBget_table_info ( hid_t loc_id,
00151                             const char *dset_name,
00152                             hsize_t *nfields,
00153                             hsize_t *nrecords );
00154 
00155 H5_HLDLL herr_t  H5TBget_field_info( hid_t loc_id,
00156                            const char *dset_name,
00157                            char *field_names[],
00158                            size_t *field_sizes,
00159                            size_t *field_offsets,
00160                            size_t *type_size );
00161 
00162 
00163 /*-------------------------------------------------------------------------
00164  *
00165  * Manipulation functions
00166  *
00167  *-------------------------------------------------------------------------
00168  */
00169 
00170 
00171 H5_HLDLL herr_t  H5TBdelete_record( hid_t loc_id,
00172                           const char *dset_name,
00173                           hsize_t start,
00174                           hsize_t nrecords );
00175 
00176 
00177 H5_HLDLL herr_t  H5TBinsert_record( hid_t loc_id,
00178                           const char *dset_name,
00179                           hsize_t start,
00180                           hsize_t nrecords,
00181                           size_t dst_size,
00182                           const size_t *dst_offset,
00183                           const size_t *dst_sizes,
00184                           void *buf );
00185 
00186 H5_HLDLL herr_t  H5TBadd_records_from( hid_t loc_id,
00187                              const char *dset_name1,
00188                              hsize_t start1,
00189                              hsize_t nrecords,
00190                              const char *dset_name2,
00191                              hsize_t start2 );
00192 
00193 H5_HLDLL herr_t  H5TBcombine_tables( hid_t loc_id1,
00194                            const char *dset_name1,
00195                            hid_t loc_id2,
00196                            const char *dset_name2,
00197                            const char *dset_name3 );
00198 
00199 H5_HLDLL herr_t  H5TBinsert_field( hid_t loc_id,
00200                          const char *dset_name,
00201                          const char *field_name,
00202                          hid_t field_type,
00203                          hsize_t position,
00204                          const void *fill_data,
00205                          const void *buf );
00206 
00207 H5_HLDLL herr_t  H5TBdelete_field( hid_t loc_id,
00208                          const char *dset_name,
00209                          const char *field_name );
00210 
00211 
00212 /*-------------------------------------------------------------------------
00213  *
00214  * Table attribute functions
00215  *
00216  *-------------------------------------------------------------------------
00217  */
00218 
00219 H5_HLDLL herr_t  H5TBAget_title( hid_t loc_id,
00220                        char *table_title );
00221 
00222 H5_HLDLL herr_t  H5TBAget_fill( hid_t loc_id,
00223                       const char *dset_name,
00224                       hid_t dset_id,
00225                       unsigned char *dst_buf );
00226 
00227 #ifdef __cplusplus
00228 }
00229 #endif
00230 
00231 
00232 #endif
00233