00001
00002
00003
00004
00005 #ifndef _ADFH_H_
00006 #define _ADFH_H_
00007
00008
00009
00010 #ifndef ADF_INCLUDE
00011
00012 #define ADF_DATA_TYPE_LENGTH 32
00013 #define ADF_DATE_LENGTH 32
00014 #define ADF_FILENAME_LENGTH 1024
00015 #define ADF_FORMAT_LENGTH 20
00016 #define ADF_LABEL_LENGTH 32
00017 #define ADF_MAXIMUM_LINK_DEPTH 100
00018 #define ADF_MAX_DIMENSIONS 12
00019 #define ADF_MAX_ERROR_STR_LENGTH 80
00020 #define ADF_MAX_LINK_DATA_SIZE 4096
00021 #define ADF_NAME_LENGTH 32
00022 #define ADF_STATUS_LENGTH 32
00023 #define ADF_VERSION_LENGTH 32
00024
00025 #define NO_ERROR -1
00026 #define NUMBER_LESS_THAN_MINIMUM 1
00027 #define NUMBER_GREATER_THAN_MAXIMUM 2
00028 #define STRING_LENGTH_ZERO 3
00029 #define STRING_LENGTH_TOO_BIG 4
00030 #define STRING_NOT_A_HEX_STRING 5
00031 #define TOO_MANY_ADF_FILES_OPENED 6
00032 #define ADF_FILE_STATUS_NOT_RECOGNIZED 7
00033 #define FILE_OPEN_ERROR 8
00034 #define ADF_FILE_NOT_OPENED 9
00035 #define FILE_INDEX_OUT_OF_RANGE 10
00036 #define BLOCK_OFFSET_OUT_OF_RANGE 11
00037 #define NULL_STRING_POINTER 12
00038 #define FSEEK_ERROR 13
00039 #define FWRITE_ERROR 14
00040 #define FREAD_ERROR 15
00041 #define ADF_MEMORY_TAG_ERROR 16
00042 #define ADF_DISK_TAG_ERROR 17
00043 #define REQUESTED_NEW_FILE_EXISTS 18
00044 #define ADF_FILE_FORMAT_NOT_RECOGNIZED 19
00045 #define FREE_OF_ROOT_NODE 20
00046 #define FREE_OF_FREE_CHUNK_TABLE 21
00047 #define REQUESTED_OLD_FILE_NOT_FOUND 22
00048 #define UNIMPLEMENTED_CODE 23
00049 #define SUB_NODE_TABLE_ENTRIES_BAD 24
00050 #define MEMORY_ALLOCATION_FAILED 25
00051 #define DUPLICATE_CHILD_NAME 26
00052 #define ZERO_DIMENSIONS 27
00053 #define BAD_NUMBER_OF_DIMENSIONS 28
00054 #define CHILD_NOT_OF_GIVEN_PARENT 29
00055 #define DATA_TYPE_TOO_LONG 30
00056 #define INVALID_DATA_TYPE 31
00057 #define NULL_POINTER 32
00058 #define NO_DATA 33
00059 #define ERROR_ZEROING_OUT_MEMORY 34
00060 #define REQUESTED_DATA_TOO_LONG 35
00061 #define END_OUT_OF_DEFINED_RANGE 36
00062 #define BAD_STRIDE_VALUE 37
00063 #define MINIMUM_GT_MAXIMUM 38
00064 #define MACHINE_FORMAT_NOT_RECOGNIZED 39
00065 #define CANNOT_CONVERT_NATIVE_FORMAT 40
00066 #define CONVERSION_FORMATS_EQUAL 41
00067 #define DATA_TYPE_NOT_SUPPORTED 42
00068 #define FILE_CLOSE_ERROR 43
00069 #define NUMERIC_OVERFLOW 44
00070 #define START_OUT_OF_DEFINED_RANGE 45
00071 #define ZERO_LENGTH_VALUE 46
00072 #define BAD_DIMENSION_VALUE 47
00073 #define BAD_ERROR_STATE 48
00074 #define UNEQUAL_MEMORY_AND_DISK_DIMS 49
00075 #define LINKS_TOO_DEEP 50
00076 #define NODE_IS_NOT_A_LINK 51
00077 #define LINK_TARGET_NOT_THERE 52
00078 #define LINKED_TO_FILE_NOT_THERE 53
00079 #define NODE_ID_ZERO 54
00080 #define INCOMPLETE_DATA 55
00081 #define INVALID_NODE_NAME 56
00082 #define INVALID_VERSION 57
00083 #define NODES_NOT_IN_SAME_FILE 58
00084 #define PRISTK_NOT_FOUND 59
00085 #define MACHINE_FILE_INCOMPATABLE 60
00086 #define FFLUSH_ERROR 61
00087 #define NULL_NODEID_POINTER 62
00088 #define MAX_FILE_SIZE_EXCEEDED 63
00089
00090 #endif
00091
00092
00093
00094 #define ADFH_ERR_GLINK 70
00095 #define ADFH_ERR_NO_ATT 71
00096 #define ADFH_ERR_AOPEN 72
00097 #define ADFH_ERR_IGET_NAME 73
00098 #define ADFH_ERR_GMOVE 74
00099 #define ADFH_ERR_GUNLINK 75
00100 #define ADFH_ERR_GOPEN 76
00101 #define ADFH_ERR_DGET_SPACE 77
00102 #define ADFH_ERR_DOPEN 78
00103 #define ADFH_ERR_DEXTEND 79
00104 #define ADFH_ERR_DCREATE 80
00105 #define ADFH_ERR_SCREATE_SIMPLE 81
00106 #define ADFH_ERR_ACREATE 82
00107 #define ADFH_ERR_GCREATE 83
00108 #define ADFH_ERR_DWRITE 84
00109 #define ADFH_ERR_DREAD 85
00110 #define ADFH_ERR_AWRITE 86
00111 #define ADFH_ERR_AREAD 87
00112 #define ADFH_ERR_FMOUNT 88
00113 #define ADFH_ERR_LINK_MOVE 89
00114 #define ADFH_ERR_LINK_DATA 90
00115 #define ADFH_ERR_LINK_NODE 91
00116 #define ADFH_ERR_LINK_DELETE 92
00117 #define ADFH_ERR_NOT_HDF5_FILE 93
00118 #define ADFH_ERR_FILE_DELETE 94
00119 #define ADFH_ERR_FILE_INDEX 95
00120 #define ADFH_ERR_TCOPY 96
00121 #define ADFH_ERR_AGET_TYPE 97
00122 #define ADFH_ERR_TSET_SIZE 98
00123 #define ADFH_ERR_NOT_IMPLEMENTED 99
00124 #define ADFH_ERR_NOTXLINK 100
00125 #define ADFH_ERR_LIBREG 101
00126 #define ADFH_ERR_OBJINFO_FAILED 102
00127 #define ADFH_ERR_XLINK_NOVAL 103
00128 #define ADFH_ERR_XLINK_UNPACK 104
00129 #define ADFH_ERR_GCLOSE_LABEL 105
00130 #define ADFH_ERR_ROOTNULL 106
00131 #define ADFH_ERR_NEED_TRANSPOSE 107
00132
00133 #define ADFH_ERR_SENTINEL 999
00134
00135
00136
00137
00138
00139 #if defined(_WIN32) && defined(BUILD_DLL)
00140 # define EXTERN extern _declspec(dllexport)
00141 #else
00142 # define EXTERN extern
00143 #endif
00144
00145 #if defined (__cplusplus)
00146 extern "C" {
00147 #endif
00148
00149 EXTERN void ADFH_Children_Names(
00150 const double PID,
00151 const int istart,
00152 const int ilen,
00153 const int name_length,
00154 int *ilen_ret,
00155 char *names,
00156 int *error_return ) ;
00157
00158 EXTERN void ADFH_Children_IDs(
00159 const double PID,
00160 const int istart,
00161 const int ilen,
00162 int *ilen_ret,
00163 double *IDs,
00164 int *error_return ) ;
00165
00166 EXTERN void ADFH_Create(
00167 const double PID,
00168 const char *name,
00169 double *ID,
00170 int *error_return ) ;
00171
00172 EXTERN void ADFH_Database_Close(
00173 const double ID,
00174 int *error_return ) ;
00175
00176 EXTERN void ADFH_Database_Delete(
00177 const char *filename,
00178 int *error_return ) ;
00179
00180 EXTERN void ADFH_Database_Garbage_Collection(
00181 const double ID,
00182 int *error_return ) ;
00183
00184 EXTERN void ADFH_Database_Get_Format(
00185 const double Root_ID,
00186 char *format,
00187 int *error_return ) ;
00188
00189 EXTERN void ADFH_Database_Open(
00190 const char *filename,
00191 const char *status,
00192 const char *format,
00193 double *root_ID,
00194 int *error_return ) ;
00195
00196 EXTERN void ADFH_Database_Valid(
00197 const char *filename,
00198 int *error_return ) ;
00199
00200 EXTERN void ADFH_Database_Set_Format(
00201 const double Root_ID,
00202 const char *format,
00203 int *error_return ) ;
00204
00205 EXTERN void ADFH_Database_Version(
00206 const double Root_ID,
00207 char *version,
00208 char *creation_date,
00209 char *modification_date,
00210 int *error_return ) ;
00211
00212 EXTERN void ADFH_Delete(
00213 const double PID,
00214 const double ID,
00215 int *error_return ) ;
00216
00217 EXTERN void ADFH_Error_Message(
00218 const int error_return_input,
00219 char *error_string ) ;
00220
00221 EXTERN void ADFH_Flush_to_Disk(
00222 const double ID,
00223 int *error_return ) ;
00224
00225 EXTERN void ADFH_Get_Data_Type(
00226 const double ID,
00227 char *data_type,
00228 int *error_return ) ;
00229
00230 EXTERN void ADFH_Get_Dimension_Values(
00231 const double ID,
00232 int dim_vals[],
00233 int *error_return ) ;
00234
00235 EXTERN void ADFH_Get_Error_State(
00236 int *error_state,
00237 int *error_return ) ;
00238
00239 EXTERN void ADFH_Get_Label(
00240 const double ID,
00241 char *label,
00242 int *error_return ) ;
00243
00244 EXTERN void ADFH_Get_Link_Path(
00245 const double ID,
00246 char *filename,
00247 char *link_path,
00248 int *error_return ) ;
00249
00250 EXTERN void ADFH_Get_Name(
00251 const double ID,
00252 char *name,
00253 int *error_return ) ;
00254
00255 EXTERN void ADFH_Get_Node_ID(
00256 const double PID,
00257 const char *name,
00258 double *ID,
00259 int *error_return ) ;
00260
00261 EXTERN void ADFH_Get_Number_of_Dimensions(
00262 const double ID,
00263 int *num_dims,
00264 int *error_return ) ;
00265
00266 EXTERN void ADFH_Get_Root_ID(
00267 const double ID,
00268 double *Root_ID,
00269 int *error_return ) ;
00270
00271 EXTERN void ADFH_Is_Link(
00272 const double ID,
00273 int *link_path_length,
00274 int *error_return ) ;
00275
00276 EXTERN void ADFH_Library_Version(
00277 char *version,
00278 int *error_return ) ;
00279
00280 EXTERN void ADFH_Link(
00281 const double PID,
00282 const char *name,
00283 const char *file,
00284 const char *name_in_file,
00285 double *ID,
00286 int *error_return ) ;
00287
00288 EXTERN void ADFH_Link_Size(
00289 const double ID,
00290 int *file_length,
00291 int *name_length,
00292 int *error_return ) ;
00293
00294 EXTERN void ADFH_Move_Child(
00295 const double PID,
00296 const double ID,
00297 const double NPID,
00298 int *error_return ) ;
00299
00300 EXTERN void ADFH_Number_of_Children(
00301 const double ID,
00302 int *num_children,
00303 int *error_return ) ;
00304
00305 EXTERN void ADFH_Put_Dimension_Information(
00306 const double ID,
00307 const char *data_type,
00308 const int dims,
00309 const int dim_vals[],
00310 int *error_return ) ;
00311
00312 EXTERN void ADFH_Put_Name(
00313 const double PID,
00314 const double ID,
00315 const char *name,
00316 int *error_return ) ;
00317
00318 EXTERN void ADFH_Read_All_Data(
00319 const double ID,
00320 char *data,
00321 int *error_return ) ;
00322
00323 EXTERN void ADFH_Read_Block_Data(
00324 const double ID,
00325 const long b_start,
00326 const long b_end,
00327 char *data,
00328 int *error_return ) ;
00329
00330 EXTERN void ADFH_Read_Data(
00331 const double ID,
00332 const int s_start[],
00333 const int s_end[],
00334 const int s_stride[],
00335 const int m_num_dims,
00336 const int m_dims[],
00337 const int m_start[],
00338 const int m_end[],
00339 const int m_stride[],
00340 char *data,
00341 int *error_return ) ;
00342
00343 EXTERN void ADFH_Set_Error_State(
00344 const int error_state,
00345 int *error_return ) ;
00346
00347 EXTERN void ADFH_Set_Label(
00348 const double ID,
00349 const char *label,
00350 int *error_return ) ;
00351
00352 EXTERN void ADFH_Write_All_Data(
00353 const double ID,
00354 const char *data,
00355 int *error_return ) ;
00356
00357 EXTERN void ADFH_Write_Block_Data(
00358 const double ID,
00359 const long b_start,
00360 const long b_end,
00361 char *data,
00362 int *error_return ) ;
00363
00364 EXTERN void ADFH_Write_Data(
00365 const double ID,
00366 const int s_start[],
00367 const int s_end[],
00368 const int s_stride[],
00369 const int m_num_dims,
00370 const int m_dims[],
00371 const int m_start[],
00372 const int m_end[],
00373 const int m_stride[],
00374 const char *data,
00375 int *error_return ) ;
00376
00377 #define HAS_ADF_RELEASE_ID
00378
00379 EXTERN void ADFH_Release_ID ( const double ID );
00380
00381 #if defined (__cplusplus)
00382 }
00383 #endif
00384
00385 #undef EXTERN
00386
00387 #endif
00388