/*------------------------------------------------------------------- * include file for the HDF5 replacement to ADF *-------------------------------------------------------------------*/ #ifndef _ADFH_H_ #define _ADFH_H_ /* some stuff needed from standard ADF.h */ #ifndef ADF_INCLUDE #define ADF_DATA_TYPE_LENGTH 32 #define ADF_DATE_LENGTH 32 #define ADF_FILENAME_LENGTH 1024 #define ADF_FORMAT_LENGTH 20 #define ADF_LABEL_LENGTH 32 #define ADF_MAXIMUM_LINK_DEPTH 100 #define ADF_MAX_DIMENSIONS 12 #define ADF_MAX_ERROR_STR_LENGTH 80 #define ADF_MAX_LINK_DATA_SIZE 4096 #define ADF_NAME_LENGTH 32 #define ADF_STATUS_LENGTH 32 #define ADF_VERSION_LENGTH 32 #define NO_ERROR -1 #define NUMBER_LESS_THAN_MINIMUM 1 #define NUMBER_GREATER_THAN_MAXIMUM 2 #define STRING_LENGTH_ZERO 3 #define STRING_LENGTH_TOO_BIG 4 #define STRING_NOT_A_HEX_STRING 5 #define TOO_MANY_ADF_FILES_OPENED 6 #define ADF_FILE_STATUS_NOT_RECOGNIZED 7 #define FILE_OPEN_ERROR 8 #define ADF_FILE_NOT_OPENED 9 #define FILE_INDEX_OUT_OF_RANGE 10 #define BLOCK_OFFSET_OUT_OF_RANGE 11 #define NULL_STRING_POINTER 12 #define FSEEK_ERROR 13 #define FWRITE_ERROR 14 #define FREAD_ERROR 15 #define ADF_MEMORY_TAG_ERROR 16 #define ADF_DISK_TAG_ERROR 17 #define REQUESTED_NEW_FILE_EXISTS 18 #define ADF_FILE_FORMAT_NOT_RECOGNIZED 19 #define FREE_OF_ROOT_NODE 20 #define FREE_OF_FREE_CHUNK_TABLE 21 #define REQUESTED_OLD_FILE_NOT_FOUND 22 #define UNIMPLEMENTED_CODE 23 #define SUB_NODE_TABLE_ENTRIES_BAD 24 #define MEMORY_ALLOCATION_FAILED 25 #define DUPLICATE_CHILD_NAME 26 #define ZERO_DIMENSIONS 27 #define BAD_NUMBER_OF_DIMENSIONS 28 #define CHILD_NOT_OF_GIVEN_PARENT 29 #define DATA_TYPE_TOO_LONG 30 #define INVALID_DATA_TYPE 31 #define NULL_POINTER 32 #define NO_DATA 33 #define ERROR_ZEROING_OUT_MEMORY 34 #define REQUESTED_DATA_TOO_LONG 35 #define END_OUT_OF_DEFINED_RANGE 36 #define BAD_STRIDE_VALUE 37 #define MINIMUM_GT_MAXIMUM 38 #define MACHINE_FORMAT_NOT_RECOGNIZED 39 #define CANNOT_CONVERT_NATIVE_FORMAT 40 #define CONVERSION_FORMATS_EQUAL 41 #define DATA_TYPE_NOT_SUPPORTED 42 #define FILE_CLOSE_ERROR 43 #define NUMERIC_OVERFLOW 44 #define START_OUT_OF_DEFINED_RANGE 45 #define ZERO_LENGTH_VALUE 46 #define BAD_DIMENSION_VALUE 47 #define BAD_ERROR_STATE 48 #define UNEQUAL_MEMORY_AND_DISK_DIMS 49 #define LINKS_TOO_DEEP 50 #define NODE_IS_NOT_A_LINK 51 #define LINK_TARGET_NOT_THERE 52 #define LINKED_TO_FILE_NOT_THERE 53 #define NODE_ID_ZERO 54 #define INCOMPLETE_DATA 55 #define INVALID_NODE_NAME 56 #define INVALID_VERSION 57 #define NODES_NOT_IN_SAME_FILE 58 #define PRISTK_NOT_FOUND 59 #define MACHINE_FILE_INCOMPATABLE 60 #define FFLUSH_ERROR 61 #define NULL_NODEID_POINTER 62 #define MAX_FILE_SIZE_EXCEEDED 63 #endif /* ADF_INCLUDE */ /* end of ADF.h portion */ #define ADFH_ERR_GLINK 70 #define ADFH_ERR_NO_ATT 71 #define ADFH_ERR_AOPEN 72 #define ADFH_ERR_IGET_NAME 73 #define ADFH_ERR_GMOVE 74 #define ADFH_ERR_GUNLINK 75 #define ADFH_ERR_GOPEN 76 #define ADFH_ERR_DGET_SPACE 77 #define ADFH_ERR_DOPEN 78 #define ADFH_ERR_DEXTEND 79 #define ADFH_ERR_DCREATE 80 #define ADFH_ERR_SCREATE_SIMPLE 81 #define ADFH_ERR_ACREATE 82 #define ADFH_ERR_GCREATE 83 #define ADFH_ERR_DWRITE 84 #define ADFH_ERR_DREAD 85 #define ADFH_ERR_AWRITE 86 #define ADFH_ERR_AREAD 87 #define ADFH_ERR_FMOUNT 88 #define ADFH_ERR_LINK_MOVE 89 #define ADFH_ERR_LINK_DATA 90 #define ADFH_ERR_LINK_NODE 91 #define ADFH_ERR_LINK_DELETE 92 #define ADFH_ERR_NOT_HDF5_FILE 93 #define ADFH_ERR_FILE_DELETE 94 #define ADFH_ERR_FILE_INDEX 95 #define ADFH_ERR_TCOPY 96 #define ADFH_ERR_AGET_TYPE 97 #define ADFH_ERR_TSET_SIZE 98 #define ADFH_ERR_NOT_IMPLEMENTED 99 /*********************************************************************** Prototypes for Interface Routines ***********************************************************************/ #if defined (__cplusplus) extern "C" { #endif extern void ADFH_Search_Add( const char *path, int *error_return ) ; extern void ADFH_Search_Delete( int *error_return ) ; extern void ADFH_Children_Names( const double PID, const int istart, const int ilen, const int name_length, int *ilen_ret, char *names, int *error_return ) ; extern void ADFH_Children_IDs( const double PID, const int istart, const int ilen, int *ilen_ret, double *IDs, int *error_return ) ; extern void ADFH_Create( const double PID, const char *name, double *ID, int *error_return ) ; extern void ADFH_Database_Close( const double ID, int *error_return ) ; extern void ADFH_Database_Delete( const char *filename, int *error_return ) ; extern void ADFH_Database_Garbage_Collection( const double ID, int *error_return ) ; extern void ADFH_Database_Get_Format( const double Root_ID, char *format, int *error_return ) ; extern void ADFH_Database_Open( const char *filename, const char *status, const char *format, double *root_ID, int *error_return ) ; extern void ADFH_Database_Valid( const char *filename, int *error_return ) ; extern void ADFH_Database_Set_Format( const double Root_ID, const char *format, int *error_return ) ; extern void ADFH_Database_Version( const double Root_ID, char *version, char *creation_date, char *modification_date, int *error_return ) ; extern void ADFH_Delete( const double PID, const double ID, int *error_return ) ; extern void ADFH_Error_Message( const int error_return_input, char *error_string ) ; extern void ADFH_Flush_to_Disk( const double ID, int *error_return ) ; extern void ADFH_Get_Data_Type( const double ID, char *data_type, int *error_return ) ; extern void ADFH_Get_Dimension_Values( const double ID, int dim_vals[], int *error_return ) ; extern void ADFH_Get_Error_State( int *error_state, int *error_return ) ; extern void ADFH_Get_Label( const double ID, char *label, int *error_return ) ; extern void ADFH_Get_Link_Path( const double ID, char *filename, char *link_path, int *error_return ) ; extern void ADFH_Get_Name( const double ID, char *name, int *error_return ) ; extern void ADFH_Get_Node_ID( const double PID, const char *name, double *ID, int *error_return ) ; extern void ADFH_Get_Number_of_Dimensions( const double ID, int *num_dims, int *error_return ) ; extern void ADFH_Get_Root_ID( const double ID, double *Root_ID, int *error_return ) ; extern void ADFH_Is_Link( const double ID, int *link_path_length, int *error_return ) ; extern void ADFH_Library_Version( char *version, int *error_return ) ; extern void ADFH_Link( const double PID, const char *name, const char *file, const char *name_in_file, double *ID, int *error_return ) ; extern void ADFH_Move_Child( const double PID, const double ID, const double NPID, int *error_return ) ; extern void ADFH_Number_of_Children( const double ID, int *num_children, int *error_return ) ; extern void ADFH_Put_Dimension_Information( const double ID, const char *data_type, const int dims, const int dim_vals[], int *error_return ) ; extern void ADFH_Put_Name( const double PID, const double ID, const char *name, int *error_return ) ; extern void ADFH_Read_All_Data( const double ID, char *data, int *error_return ) ; extern void ADFH_Read_Block_Data( const double ID, const long b_start, const long b_end, char *data, int *error_return ) ; extern void ADFH_Read_Data( const double ID, const int s_start[], const int s_end[], const int s_stride[], const int m_num_dims, const int m_dims[], const int m_start[], const int m_end[], const int m_stride[], char *data, int *error_return ) ; extern void ADFH_Set_Error_State( const int error_state, int *error_return ) ; extern void ADFH_Set_Label( const double ID, const char *label, int *error_return ) ; extern void ADFH_Write_All_Data( const double ID, const char *data, int *error_return ) ; extern void ADFH_Write_Block_Data( const double ID, const long b_start, const long b_end, char *data, int *error_return ) ; extern void ADFH_Write_Data( const double ID, const int s_start[], const int s_end[], const int s_stride[], const int m_num_dims, const int m_dims[], const int m_start[], const int m_end[], const int m_stride[], const char *data, int *error_return ) ; #define HAS_ADF_RELEASE_ID extern void ADFH_Release_ID ( const double ID ); #if defined (__cplusplus) } #endif #endif /* _ADFH_H_ */