/****************************************************************************
* NCSA HDF *
* Software Development Group *
* 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 HDIFF_TABLE_H__
#define HDIFF_TABLE_H__
#include "hdf.h"
#include "mfhdf.h"
#define PFORMAT " %-7s %-7s %-7s\n" /*chunk info, compression info, name*/
#define PFORMAT1 " %-7s %-7s %-7s" /*chunk info, compression info, name*/
#ifdef __cplusplus
extern "C" {
#endif
/*struct to store the tag/ref and path of an object
the pair tag/ref uniquely identifies an HDF object */
typedef struct dobj_info_t {
int32 tag;
int32 ref;
char obj_name[MAX_NC_NAME];
int flags[2];
/*flags that store matching object information
between the 2 files
object exists in file = 1
does not exist = 0
*/
} dobj_info_t;
/*struct that stores all objects */
typedef struct dtable_t {
int size;
int nobjs;
dobj_info_t *objs;
} dtable_t;
/* table methods */
void dtable_init(dtable_t **table);
void dtable_free(dtable_t *table);
int dtable_search(dtable_t *table, int32 tag, int32 ref );
void dtable_add(dtable_t *table, int32 tag, int32 ref, char* obj_name);
char* dtable_check(dtable_t *table, char*obj_name);
void dtable_print(dtable_t *table);
#ifdef __cplusplus
}
#endif
#endif /* HDIFF_TABLE_H__ */
syntax highlighted by Code2HTML, v. 0.9.1