H5PTpublic.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 _H5PTpublic_H
00017 #define _H5PTpublic_H
00018 
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00024 /*-------------------------------------------------------------------------
00025  *
00026  * Create/Open/Close functions
00027  *
00028  *-------------------------------------------------------------------------
00029  */
00030 
00031 H5_HLDLL hid_t H5PTcreate_fl ( hid_t loc_id,
00032                       const char *dset_name,
00033                       hid_t dtype_id,
00034                       hsize_t chunk_size,
00035                       int compression );
00036 
00037 #ifdef VLPT_REMOVED
00038 H5_HLDLL hid_t H5PTcreate_vl ( hid_t loc_id,
00039                       const char *dset_name,
00040                       hsize_t chunk_size );
00041 #endif /* VLPT_REMOVED */
00042 
00043 H5_HLDLL hid_t H5PTopen( hid_t loc_id,
00044                 const char *dset_name );
00045 
00046 H5_HLDLL herr_t  H5PTclose( hid_t table_id );
00047 
00048 
00049 /*-------------------------------------------------------------------------
00050  *
00051  * Write functions
00052  *
00053  *-------------------------------------------------------------------------
00054  */
00055 
00056 H5_HLDLL herr_t  H5PTappend( hid_t table_id,
00057                    size_t nrecords,
00058                    const void * data );
00059 
00060 /*-------------------------------------------------------------------------
00061  *
00062  * Read functions
00063  *
00064  *-------------------------------------------------------------------------
00065  */
00066 
00067 
00068 H5_HLDLL herr_t  H5PTget_next( hid_t table_id,
00069                      size_t nrecords,
00070                      void * data );
00071 
00072 H5_HLDLL herr_t  H5PTread_packets( hid_t table_id,
00073                          hsize_t start,
00074                          size_t nrecords,
00075                          void *data );
00076 
00077 /*-------------------------------------------------------------------------
00078  *
00079  * Inquiry functions
00080  *
00081  *-------------------------------------------------------------------------
00082  */
00083 
00084 
00085 H5_HLDLL herr_t  H5PTget_num_packets( hid_t table_id,
00086                             hsize_t *nrecords );
00087 
00088 H5_HLDLL herr_t  H5PTis_valid( hid_t table_id );
00089 
00090 #ifdef VLPT_REMOVED
00091 H5_HLDLL herr_t  H5PTis_varlen( hid_t table_id );
00092 #endif /* VLPT_REMOVED */
00093 
00094 /*-------------------------------------------------------------------------
00095  *
00096  * Packet Table "current index" functions
00097  *
00098  *-------------------------------------------------------------------------
00099  */
00100 
00101 H5_HLDLL herr_t  H5PTcreate_index( hid_t table_id );
00102 
00103 H5_HLDLL herr_t  H5PTset_index( hid_t table_id,
00104                              hsize_t pt_index );
00105 
00106 H5_HLDLL herr_t  H5PTget_index( hid_t table_id,
00107                              hsize_t *pt_index );
00108 
00109 /*-------------------------------------------------------------------------
00110  *
00111  * Memory Management functions
00112  *
00113  *-------------------------------------------------------------------------
00114  */
00115 
00116 #ifdef VLPT_REMOVED
00117 H5_HLDLL herr_t  H5PTfree_vlen_readbuff( hid_t table_id,
00118                                size_t bufflen,
00119                                void * buff );
00120 #endif /* VLPT_REMOVED */
00121 
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125 
00126 #endif
00127