00001
00015 #ifndef ADF_INCLUDE
00016 #define ADF_INCLUDE
00017
00018 #if defined(_WIN32) && defined(BUILD_DLL)
00019 # define EXTERN extern _declspec(dllexport)
00020 #else
00021 # define EXTERN extern
00022 #endif
00023
00024
00025
00026
00027
00028
00029
00030 #define ADF_DATA_TYPE_LENGTH 32
00031 #define ADF_DATE_LENGTH 32
00032 #define ADF_FILENAME_LENGTH 1024
00033 #define ADF_FORMAT_LENGTH 20
00034 #define ADF_LABEL_LENGTH 32
00035 #define ADF_MAXIMUM_LINK_DEPTH 100
00036 #define ADF_MAX_DIMENSIONS 12
00037 #define ADF_MAX_ERROR_STR_LENGTH 80
00038 #define ADF_MAX_LINK_DATA_SIZE 4096
00039 #define ADF_NAME_LENGTH 32
00040 #define ADF_STATUS_LENGTH 32
00041 #define ADF_VERSION_LENGTH 32
00042
00043
00044
00045
00046
00047 #if defined (__cplusplus)
00048 extern "C" {
00049 #endif
00050
00051 EXTERN void ADF_Children_Names(
00052 const double PID,
00053 const int istart,
00054 const int ilen,
00055 const int name_length,
00056 int *ilen_ret,
00057 char *names,
00058 int *error_return ) ;
00059
00060 EXTERN void ADF_Children_IDs(
00061 const double PID,
00062 const int istart,
00063 const int ilen,
00064 int *ilen_ret,
00065 double *IDs,
00066 int *error_return ) ;
00067
00068 EXTERN void ADF_Create(
00069 const double PID,
00070 const char *name,
00071 double *ID,
00072 int *error_return ) ;
00073
00074 EXTERN void ADF_Database_Close(
00075 const double ID,
00076 int *error_return ) ;
00077
00078 EXTERN void ADF_Database_Delete(
00079 const char *filename,
00080 int *error_return ) ;
00081
00082 EXTERN void ADF_Database_Garbage_Collection(
00083 const double ID,
00084 int *error_return ) ;
00085
00086 EXTERN void ADF_Database_Get_Format(
00087 const double Root_ID,
00088 char *format,
00089 int *error_return ) ;
00090
00091 EXTERN void ADF_Database_Open(
00092 const char *filename,
00093 const char *status,
00094 const char *format,
00095 double *root_ID,
00096 int *error_return ) ;
00097
00098 EXTERN void ADF_Database_Valid(
00099 const char *filename,
00100 int *error_return ) ;
00101
00102 EXTERN void ADF_Database_Set_Format(
00103 const double Root_ID,
00104 const char *format,
00105 int *error_return ) ;
00106
00107 EXTERN void ADF_Database_Version(
00108 const double Root_ID,
00109 char *version,
00110 char *creation_date,
00111 char *modification_date,
00112 int *error_return ) ;
00113
00114 EXTERN void ADF_Delete(
00115 const double PID,
00116 const double ID,
00117 int *error_return ) ;
00118
00119 EXTERN void ADF_Error_Message(
00120 const int error_return_input,
00121 char *error_string ) ;
00122
00123 EXTERN void ADF_Flush_to_Disk(
00124 const double ID,
00125 int *error_return ) ;
00126
00127 EXTERN void ADF_Get_Data_Type(
00128 const double ID,
00129 char *data_type,
00130 int *error_return ) ;
00131
00132 EXTERN void ADF_Get_Dimension_Values(
00133 const double ID,
00134 int dim_vals[],
00135 int *error_return ) ;
00136
00137 EXTERN void ADF_Get_Error_State(
00138 int *error_state,
00139 int *error_return ) ;
00140
00141 EXTERN void ADF_Get_Label(
00142 const double ID,
00143 char *label,
00144 int *error_return ) ;
00145
00146 EXTERN void ADF_Get_Link_Path(
00147 const double ID,
00148 char *filename,
00149 char *link_path,
00150 int *error_return ) ;
00151
00152 EXTERN void ADF_Get_Name(
00153 const double ID,
00154 char *name,
00155 int *error_return ) ;
00156
00157 EXTERN void ADF_Get_Node_ID(
00158 const double PID,
00159 const char *name,
00160 double *ID,
00161 int *error_return ) ;
00162
00163 EXTERN void ADF_Get_Number_of_Dimensions(
00164 const double ID,
00165 int *num_dims,
00166 int *error_return ) ;
00167
00168 EXTERN void ADF_Get_Root_ID(
00169 const double ID,
00170 double *Root_ID,
00171 int *error_return ) ;
00172
00173 EXTERN void ADF_Is_Link(
00174 const double ID,
00175 int *link_path_length,
00176 int *error_return ) ;
00177
00178 EXTERN void ADF_Library_Version(
00179 char *version,
00180 int *error_return ) ;
00181
00182 EXTERN void ADF_Link(
00183 const double PID,
00184 const char *name,
00185 const char *file,
00186 const char *name_in_file,
00187 double *ID,
00188 int *error_return ) ;
00189
00190 EXTERN void ADF_Link_Size(
00191 const double ID,
00192 int *len_file,
00193 int *len_name,
00194 int *error_return ) ;
00195
00196 EXTERN void ADF_Move_Child(
00197 const double PID,
00198 const double ID,
00199 const double NPID,
00200 int *error_return ) ;
00201
00202 EXTERN void ADF_Number_of_Children(
00203 const double ID,
00204 int *num_children,
00205 int *error_return ) ;
00206
00207 EXTERN void ADF_Put_Dimension_Information(
00208 const double ID,
00209 const char *data_type,
00210 const int dims,
00211 const int dim_vals[],
00212 int *error_return ) ;
00213
00214 EXTERN void ADF_Put_Name(
00215 const double PID,
00216 const double ID,
00217 const char *name,
00218 int *error_return ) ;
00219
00220 EXTERN void ADF_Read_All_Data(
00221 const double ID,
00222 char *data,
00223 int *error_return ) ;
00224
00225 EXTERN void ADF_Read_Block_Data(
00226 const double ID,
00227 const long b_start,
00228 const long b_end,
00229 char *data,
00230 int *error_return ) ;
00231
00232 EXTERN void ADF_Read_Data(
00233 const double ID,
00234 const int s_start[],
00235 const int s_end[],
00236 const int s_stride[],
00237 const int m_num_dims,
00238 const int m_dims[],
00239 const int m_start[],
00240 const int m_end[],
00241 const int m_stride[],
00242 char *data,
00243 int *error_return ) ;
00244
00245 EXTERN void ADF_Set_Error_State(
00246 const int error_state,
00247 int *error_return ) ;
00248
00249 EXTERN void ADF_Set_Label(
00250 const double ID,
00251 const char *label,
00252 int *error_return ) ;
00253
00254 EXTERN void ADF_Write_All_Data(
00255 const double ID,
00256 const char *data,
00257 int *error_return ) ;
00258
00259 EXTERN void ADF_Write_Block_Data(
00260 const double ID,
00261 const long b_start,
00262 const long b_end,
00263 char *data,
00264 int *error_return ) ;
00265
00266 EXTERN void ADF_Write_Data(
00267 const double ID,
00268 const int s_start[],
00269 const int s_end[],
00270 const int s_stride[],
00271 const int m_num_dims,
00272 const int m_dims[],
00273 const int m_start[],
00274 const int m_end[],
00275 const int m_stride[],
00276 const char *data,
00277 int *error_return ) ;
00278
00279 #if defined (__cplusplus)
00280 }
00281 #endif
00282
00283 #undef EXTERN
00284
00285
00286
00287
00288
00289
00291 #define NO_ERROR -1
00292 #define NUMBER_LESS_THAN_MINIMUM 1
00293 #define NUMBER_GREATER_THAN_MAXIMUM 2
00294 #define STRING_LENGTH_ZERO 3
00295 #define STRING_LENGTH_TOO_BIG 4
00296 #define STRING_NOT_A_HEX_STRING 5
00297 #define TOO_MANY_ADF_FILES_OPENED 6
00298 #define ADF_FILE_STATUS_NOT_RECOGNIZED 7
00299 #define FILE_OPEN_ERROR 8
00300 #define ADF_FILE_NOT_OPENED 9
00301 #define FILE_INDEX_OUT_OF_RANGE 10
00302 #define BLOCK_OFFSET_OUT_OF_RANGE 11
00303 #define NULL_STRING_POINTER 12
00304 #define FSEEK_ERROR 13
00305 #define FWRITE_ERROR 14
00306 #define FREAD_ERROR 15
00307 #define ADF_MEMORY_TAG_ERROR 16
00308 #define ADF_DISK_TAG_ERROR 17
00309 #define REQUESTED_NEW_FILE_EXISTS 18
00310 #define ADF_FILE_FORMAT_NOT_RECOGNIZED 19
00311 #define FREE_OF_ROOT_NODE 20
00312 #define FREE_OF_FREE_CHUNK_TABLE 21
00313 #define REQUESTED_OLD_FILE_NOT_FOUND 22
00314 #define UNIMPLEMENTED_CODE 23
00315 #define SUB_NODE_TABLE_ENTRIES_BAD 24
00316 #define MEMORY_ALLOCATION_FAILED 25
00317 #define DUPLICATE_CHILD_NAME 26
00318 #define ZERO_DIMENSIONS 27
00319 #define BAD_NUMBER_OF_DIMENSIONS 28
00320 #define CHILD_NOT_OF_GIVEN_PARENT 29
00321 #define DATA_TYPE_TOO_LONG 30
00322 #define INVALID_DATA_TYPE 31
00323 #define NULL_POINTER 32
00324 #define NO_DATA 33
00325 #define ERROR_ZEROING_OUT_MEMORY 34
00326 #define REQUESTED_DATA_TOO_LONG 35
00327 #define END_OUT_OF_DEFINED_RANGE 36
00328 #define BAD_STRIDE_VALUE 37
00329 #define MINIMUM_GT_MAXIMUM 38
00330 #define MACHINE_FORMAT_NOT_RECOGNIZED 39
00331 #define CANNOT_CONVERT_NATIVE_FORMAT 40
00332 #define CONVERSION_FORMATS_EQUAL 41
00333 #define DATA_TYPE_NOT_SUPPORTED 42
00334 #define FILE_CLOSE_ERROR 43
00335 #define NUMERIC_OVERFLOW 44
00336 #define START_OUT_OF_DEFINED_RANGE 45
00337 #define ZERO_LENGTH_VALUE 46
00338 #define BAD_DIMENSION_VALUE 47
00339 #define BAD_ERROR_STATE 48
00340 #define UNEQUAL_MEMORY_AND_DISK_DIMS 49
00341 #define LINKS_TOO_DEEP 50
00342 #define NODE_IS_NOT_A_LINK 51
00343 #define LINK_TARGET_NOT_THERE 52
00344 #define LINKED_TO_FILE_NOT_THERE 53
00345 #define NODE_ID_ZERO 54
00346 #define INCOMPLETE_DATA 55
00347 #define INVALID_NODE_NAME 56
00348 #define INVALID_VERSION 57
00349 #define NODES_NOT_IN_SAME_FILE 58
00350 #define PRISTK_NOT_FOUND 59
00351 #define MACHINE_FILE_INCOMPATABLE 60
00352 #define FFLUSH_ERROR 61
00353 #define NULL_NODEID_POINTER 62
00354 #define MAX_FILE_SIZE_EXCEEDED 63
00355 #endif