hdf5/hl/src/H5TB.h
Pedro Vicente Nunes 98b02fbdcb [svn-r10248] Purpose:
new tests for DS

Description:
add a test that ckecks if a scale being attached itself has scales attached (error)
add a test for the dataset being attached to is a reserved High Level class (image, palette, table)

Solution:

Platforms tested:
linux
solaris

Misc. update:
2005-03-21 16:28:13 -05:00

251 lines
8.1 KiB
C

/****************************************************************************
* NCSA HDF *
* Scientific Data Technologies *
* National Center for Supercomputing Applications *
* University of Illinois at Urbana-Champaign *
* 605 E. Springfield, Champaign IL 61820 *
* *
* For conditions of distribution and use, see the accompanying *
* hdf/COPYING file. *
* *
****************************************************************************/
#ifndef _H5TB_H
#define _H5TB_H
#if 0
#define H5_TB_DEBUG
#endif
#include "H5LT.h"
#define TABLE_CLASS "TABLE"
#define HLTB_MAX_FIELD_LEN 255
#if !defined(MAX)
#define MAX(X,Y) ((X)>(Y)?(X):(Y))
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*-------------------------------------------------------------------------
*
* Create functions
*
*-------------------------------------------------------------------------
*/
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 *data );
/*-------------------------------------------------------------------------
*
* Write functions
*
*-------------------------------------------------------------------------
*/
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 *data );
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 *data );
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 *data );
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 *data );
/*-------------------------------------------------------------------------
*
* Read functions
*
*-------------------------------------------------------------------------
*/
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 );
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 *data );
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 *data );
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 *data );
/*-------------------------------------------------------------------------
*
* Inquiry functions
*
*-------------------------------------------------------------------------
*/
herr_t H5TBget_table_info ( hid_t loc_id,
const char *dset_name,
hsize_t *nfields,
hsize_t *nrecords );
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
*
*-------------------------------------------------------------------------
*/
herr_t H5TBdelete_record( hid_t loc_id,
const char *dset_name,
hsize_t start,
hsize_t nrecords );
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 *data );
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 );
herr_t H5TBcombine_tables( hid_t loc_id1,
const char *dset_name1,
hid_t loc_id2,
const char *dset_name2,
const char *dset_name3 );
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 *data );
herr_t H5TBdelete_field( hid_t loc_id,
const char *dset_name,
const char *field_name );
/*-------------------------------------------------------------------------
*
* Table attribute functions
*
*-------------------------------------------------------------------------
*/
herr_t H5TBAget_title( hid_t loc_id,
char *table_title );
herr_t H5TBAget_fill( hid_t loc_id,
const char *dset_name,
hid_t dset_id,
unsigned char *dst_buf );
#ifdef __cplusplus
}
#endif
#endif