00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MED_HDFI_H
00019 #define MED_HDFI_H
00020 #include <med.h>
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026
00027
00028
00029
00030
00031 extern MEDC_EXPORT
00032 med_idt _MEDattrOuvrir(med_idt pid,char * nom);
00033
00034 extern MEDC_EXPORT
00035 med_err _MEDattributeExist(const med_idt gid,
00036 const char * const datagroupname,
00037 const char * const attributename,
00038 med_bool * const attributeexist );
00039 extern MEDC_EXPORT
00040 med_err _MEDattrFermer(med_idt id);
00041
00042 extern MEDC_EXPORT
00043 med_err _MEDattrNumEcrire(med_idt pere,med_field_type type,char *nom,unsigned char *val);
00044
00045 #define _MEDattributeIntWr(w,x,y) _MEDattributeNumWr(w,x, MED_INTERNAL_INT, (unsigned char *) y)
00046 #define _MEDattrFloatEcrire(w,x,y) _MEDattrNumEcrire(w,MED_FLOAT64,x,(unsigned char *) y)
00047
00048 extern MEDC_EXPORT
00049 med_err _MEDattributeNumWr(med_idt pid,
00050 const char * const attname,
00051 const med_internal_type type,
00052 const unsigned char * const val);
00053
00054 extern MEDC_EXPORT
00055 med_err _MEDattributeNumWrByName(med_idt pid,
00056 const char * const path ,
00057 const char * const attname,
00058 const med_internal_type type,
00059 const unsigned char * const val);
00060
00061 extern MEDC_EXPORT
00062 med_err _MEDattrNumLire(med_idt pere,med_field_type type,char *nom,unsigned char *val);
00063
00064 #define _MEDattrEntierLire(x,y,z) _MEDattrNumLire(x,MED_INT ,y,(unsigned char*)z)
00065 #define _MEDattrFloatLire(x,y,z) _MEDattrNumLire(x,MED_FLOAT64,y,(unsigned char*)z)
00066
00067 extern MEDC_EXPORT
00068 med_err _MEDattributeNumRdByName(med_idt pid,
00069 const char * const path ,
00070 const char * const attname,
00071 const med_internal_type type,
00072 unsigned char * const val);
00073
00074 extern MEDC_EXPORT
00075 med_err _MEDattrStringEcrire(med_idt pere,const char * const nom,int longueur,const char * const val);
00076
00077 extern MEDC_EXPORT
00078 med_err _MEDattributeStringWrByName(med_idt pid,
00079 const char * const path,
00080 const char * const attname,
00081 const med_size attsize,
00082 const char * const val);
00083 extern MEDC_EXPORT
00084 med_err _MEDattributeStringWr(med_idt pid,
00085 const char * const attname,
00086 const med_size attsize,
00087 const char * const val);
00088 extern MEDC_EXPORT
00089
00090 med_err _MEDattrStringLire(med_idt pere,char *nom,int longueur,char *val);
00091
00092 extern MEDC_EXPORT
00093 med_err _MEDattributeStringRdByName(med_idt pid,
00094 const char * const path ,
00095 const char * const attname,
00096 const med_size attsize,
00097 char * const val);
00098
00099
00100
00101 extern MEDC_EXPORT
00102 med_idt _MEDdatagroupCreer(med_idt pid, const char * const nom);
00103
00104 extern MEDC_EXPORT
00105 med_idt _MEDdatagroupCrOrderCr(const med_idt pid, const char * const name);
00106
00107 extern MEDC_EXPORT
00108 med_idt _MEDdatagroupOuvrir(med_idt pid, const char * const nom);
00109
00110 extern MEDC_EXPORT
00111 med_idt _MEDdatagroupOpen(const med_idt pid, const char * const name);
00112
00113 extern MEDC_EXPORT
00114 med_err _MEDdatagroupFermer(med_idt id);
00115
00116 extern MEDC_EXPORT
00117 med_err _MEDdatagroupLienCreer(med_idt id,const char *nom, const char *nom_lien);
00118
00119 extern MEDC_EXPORT
00120 med_err _MEDdatagroupLienSupprimer(med_idt id,const char *nom_lien);
00121
00122
00123
00124
00125 extern MEDC_EXPORT
00126 med_idt _MEDdatasetOuvrir(med_idt pid,char *nom);
00127
00128 extern MEDC_EXPORT
00129 med_err _MEDdatasetFermer(med_idt id);
00130
00131 extern MEDC_EXPORT
00132 med_err _MEDdatasetWr(const med_idt id,
00133 const char * const datasetname,
00134 const med_internal_type datatype,
00135 const med_filter* const filter,
00136 const void * const value);
00137 extern MEDC_EXPORT
00138 med_err _MEDdatasetRd(const med_idt id,
00139 const char * const datasetname,
00140 const med_internal_type datatype,
00141 const med_filter* const filter,
00142 unsigned char * const value);
00143
00144
00145 #ifdef MED_HAVE_MPI
00146
00147 extern MEDC_EXPORT
00148 med_idt _MEDparFileOpen(const char * const filename,const med_access_mode accessmode,
00149 const MPI_Comm comm, const MPI_Info info);
00150
00151 extern MEDC_EXPORT
00152 med_idt _MEDparFileCreate(const char * const filename, const med_access_mode accessmode,
00153 const MPI_Comm comm, const MPI_Info info);
00154 #endif
00155
00156 extern MEDC_EXPORT
00157 med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmode);
00158
00159 extern MEDC_EXPORT
00160 med_int _MEDfileName(med_idt id, char * const filename, const med_int filenamesize);
00161
00162 extern MEDC_EXPORT
00163 med_idt _MEDfileCreate(const char * const filename, const med_access_mode accessmode);
00164
00165 extern MEDC_EXPORT
00166 med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile, const med_bool filesync, const med_access_mode accessmode);
00167
00168 extern MEDC_EXPORT
00169 med_err _MEDfichierFermer(med_idt fid);
00170
00171 extern MEDC_EXPORT
00172 med_err _MEDfichierMonter(med_idt pid, const char *nom, med_idt fid);
00173
00174 extern MEDC_EXPORT
00175 med_err _MEDfichierDemonter(med_idt pid, const char *nom);
00176
00177 extern MEDC_EXPORT
00178 med_err _MEDfichierNo(med_idt id, unsigned long * fileno);
00179
00180
00181 extern MEDC_EXPORT
00182 med_err _MEDfilterEntityFullIGlobalCr(const med_idt fid,
00183 const med_int nentity,
00184 const med_int nvaluesperentity,
00185 const med_int nconstituentpervalue,
00186 const med_int constituentselect,
00187 const med_storage_mode storagemode,
00188 const char * const profilename,
00189 const med_int filterarraysize,
00190 const med_int* const filterarray,
00191 med_filter* const filter);
00192 extern MEDC_EXPORT
00193 med_err _MEDfilterEntityFullICompactCr(const med_idt fid,
00194 const med_int nentity,
00195 const med_int nvaluesperentity,
00196 const med_int nconstituentpervalue,
00197 const med_int constituentselect,
00198 const med_storage_mode storagemode,
00199 const char * const profilename,
00200 const med_int filterarraysize,
00201 const med_int* const filterarray,
00202 med_filter* const filter);
00203 extern MEDC_EXPORT
00204 med_err _MEDfilterEntityNoIGlobalCr(const med_idt fid,
00205 const med_int nentity,
00206 const med_int nvaluesperentity,
00207 const med_int nconstituentpervalue,
00208 const med_int constituentselect,
00209 const med_storage_mode storagemode,
00210 const char * const profilename,
00211 const med_int filterarraysize,
00212 const med_int* const filterarray,
00213 med_filter* const filter);
00214
00215 extern MEDC_EXPORT
00216 med_err _MEDfilterEntityNoICompactCr(const med_idt fid,
00217 const med_int nentity,
00218 const med_int nvaluesperentity,
00219 const med_int nconstituentpervalue,
00220 const med_int constituentselect,
00221 const med_storage_mode storagemode,
00222 const char * const profilename,
00223 const med_int filterarraysize,
00224 const med_int* const filterarray,
00225 med_filter* const filter);
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236 extern MEDC_EXPORT
00237 med_err _MEDselectAllEntitiesFullI(const med_idt fid,
00238 const med_int nentity,
00239 const med_int nvaluesperentity,
00240 const med_int nconstituentpervalue,
00241 const med_int constituentselect,
00242 med_filter* const filter);
00243
00244 extern MEDC_EXPORT
00245 med_err _MEDselectAllEntitiesNoI(const med_idt fid,
00246 const med_int nentity,
00247 const med_int nvaluesperentity,
00248 const med_int nconstituentpervalue,
00249 const med_int constituentselect,
00250 med_filter* const filter);
00251
00252 extern MEDC_EXPORT
00253 med_err _MEDfilterBlockOfEntityFullICompactCr(const med_idt fid,
00254 const med_int nentity,
00255 const med_int nvaluesperentity,
00256 const med_int nconstituentpervalue,
00257 const med_int constituentselect,
00258 const med_storage_mode storagemode,
00259 const char * const profilename,
00260 const med_size start,
00261 const med_size stride,
00262 const med_size count,
00263 const med_size blocksize,
00264 const med_size lastblocksize,
00265 med_filter* const filter);
00266
00267 extern MEDC_EXPORT
00268 med_err _MEDfilterBlockOfEntityFullIGlobalCr(const med_idt fid,
00269 const med_int nentity,
00270 const med_int nvaluesperentity,
00271 const med_int nconstituentpervalue,
00272 const med_int constituentselect,
00273 const med_storage_mode storagemode,
00274 const char * const profilename,
00275 const med_size start,
00276 const med_size stride,
00277 const med_size count,
00278 const med_size blocksize,
00279 const med_size lastblocksize,
00280 med_filter* const filter);
00281 extern MEDC_EXPORT
00282 med_err _MEDfilterBlockOfEntityNoIGlobalCr(const med_idt fid,
00283 const med_int nentity,
00284 const med_int nvaluesperentity,
00285 const med_int nconstituentpervalue,
00286 const med_int constituentselect,
00287 const med_storage_mode storagemode,
00288 const char * const profilename,
00289 const med_size start,
00290 const med_size stride,
00291 const med_size count,
00292 const med_size blocksize,
00293 const med_size lastblocksize,
00294 med_filter* const filter);
00295 extern MEDC_EXPORT
00296 med_err _MEDfilterBlockOfEntityNoICompactCr(const med_idt fid,
00297 const med_int nentity,
00298 const med_int nvaluesperentity,
00299 const med_int nconstituentpervalue,
00300 const med_int constituentselect,
00301 const med_storage_mode storagemode,
00302 const char * const profilename,
00303 const med_size start,
00304 const med_size stride,
00305 const med_size count,
00306 const med_size blocksize,
00307 const med_size lastblocksize,
00308 med_filter* const filter);
00309
00310
00311
00312
00313 extern MEDC_EXPORT
00314 med_err _MEDnObjects(const med_idt fid,const char * const path,med_size *n);
00315
00316 extern MEDC_EXPORT
00317 med_err _MEDobjectGetName(const med_idt fid,const char * const path,const med_size ind,char *name);
00318
00319 extern MEDC_EXPORT
00320 med_err
00321 _MEDobjectCrOrderGetName(const med_idt fid,const char * const path,const med_size ind,char *name);
00322
00323 extern MEDC_EXPORT
00324 med_err
00325 __MEDobjectGetName(const med_idt fid, const char * const path, const med_size ind, char *name,
00326 const H5_index_t index_type, const H5_iter_order_t order );
00327
00328
00329 typedef struct {
00330 char * srcpath;
00331 char * dstpath;
00332 med_idt gid1;
00333 med_idt gid2;
00334 } visitordatas;
00335
00336 typedef struct {
00337 char * attname;
00338 char * attval;
00339 char * attvalprec;
00340 med_int attsize;
00341 } med_string_itdatas;
00342
00343
00344 extern MEDC_EXPORT
00345 void * _MEDcheckAttributeStringInit( med_string_itdatas * const itdatas, const char * const attname, med_int attsize);
00346 extern MEDC_EXPORT
00347 med_err _MEDcheckAttributeStringFunc(med_idt id,const char *lname, const H5L_info_t *linfo, med_string_itdatas *data);
00348 extern MEDC_EXPORT
00349 void _MEDcheckAttributeStringFin( med_string_itdatas * const itdatas);
00350
00351 extern MEDC_EXPORT
00352 med_err _MEDchecknSublinkFunc(med_idt id,const char *lname, const H5L_info_t *linfo, med_bool *data);
00353
00354 #define MED_CHECK_ATTRIBUTE_FUNC(_check_med_type_) _MEDcheckAttributeFunc##_check_med_type_
00355 #define MED_CHECK_ATTRIBUTE_INIT(_check_med_type_,_check_med_itdata_,_check_med_attname_,_check_med_attsize_) _MEDcheckAttributeInit##_check_med_type_ (_check_med_itdata_,_check_med_attname_,_check_med_attsize_)
00356
00357
00358 extern MEDC_EXPORT
00359 med_err _MEDcopyName(med_idt id,const char *lname, const H5L_info_t *linfo, void *data);
00360
00361 extern MEDC_EXPORT
00362 med_err _MEDlinkobjs(med_idt id,const char *lname, const H5L_info_t *linfo, visitordatas *data);
00363
00364 extern MEDC_EXPORT
00365 med_err _MEDsoftlinkDel(const med_idt id, const char * const softlinkname,
00366 med_bool linkmustexist);
00367 extern MEDC_EXPORT
00368 med_err _MEDisasoftlink(const med_idt id,
00369 const char * const linkname,
00370 med_bool linkmustexist,
00371 med_bool * const isasoftlink
00372 );
00373 extern MEDC_EXPORT
00374 med_err _MEDgetDatasetChgt(const med_idt gid,
00375 const med_data_type meddatatype,
00376 const med_connectivity_mode cmode,
00377 med_bool * const isasoftlink,
00378 med_bool * const chgt );
00379
00380 extern MEDC_EXPORT
00381 med_err _MEDdatasetExistByMedtype(const med_idt gid,
00382 const med_data_type meddatatype,
00383 const med_connectivity_mode cmode,
00384 med_bool * const datasetexist,
00385 med_bool * const isasoftlink );
00386
00387 extern MEDC_EXPORT
00388 med_err _MEDdatagroupExist(const med_idt gid,
00389 const char * const datagroupname,
00390 med_bool * const datagroupexist,
00391 med_bool * const isasoftlink );
00392 extern MEDC_EXPORT
00393 med_err _MEDdatasetExist(const med_idt gid,
00394 const char * const datasetname,
00395 med_bool * const datasetexist,
00396 med_bool * const isasoftlink );
00397
00398 typedef herr_t (*medvisitorfunc)( hid_t g_id, const char *name, const H5L_info_t *info, void *op_data);
00399 typedef medvisitorfunc mediteratorfunc;
00400
00401 extern MEDC_EXPORT
00402 med_err _MEDvisit(const med_idt fid, const char * const srcpath, const char * const dstpath,
00403 medvisitorfunc);
00404 extern MEDC_EXPORT
00405 med_err _MEDiterate(const med_idt fid, herr_t (*func)(), void * itdatas );
00406
00407 extern MEDC_EXPORT
00408 med_err
00409 _MEDgetComputationStepName(const med_sorting_type sortingtype, const med_int numdt,
00410 const med_int numit, char * const datagroupname);
00411
00412 extern MEDC_EXPORT
00413 void _MEDmodeErreurVerrouiller(void);
00414
00415 extern MEDC_EXPORT
00416 void _MEDobjetsOuverts(med_idt fid);
00417 #ifdef __cplusplus
00418 }
00419 #endif
00420
00421 #endif