med_hdfi.h

Aller à la documentation de ce fichier.
00001 /*  This file is part of MED.
00002  *
00003  *  COPYRIGHT (C) 1999 - 2015  EDF R&D, CEA/DEN
00004  *  MED is free software: you can redistribute it and/or modify
00005  *  it under the terms of the GNU Lesser General Public License as published by
00006  *  the Free Software Foundation, either version 3 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  MED is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU Lesser General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU Lesser General Public License
00015  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
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 /* FONCTIONS INTERFACE MED/HDF */
00028 
00029 
00030 /* Gestion des attributs HDF */
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 /* Gestion des datagroups HDF */
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 /* Gestion des datasets HDF */
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 /* Gestion des fichiers HDF */
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 /* Filtres */
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 /* extern MEDC_EXPORT */
00228 /* med_err _MEDselectAllEntities(const med_idt          fid, */
00229 /*                            const med_int          nentity, */
00230 /*                            const med_int          nvaluesperentity, */
00231 /*                            const med_int          nconstituentpervalue, */
00232 /*                            const med_int          constituentselect, */
00233 /*                            med_filter*    const   filter); */
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 /* Divers */
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 /* MED_HDFI_H */

Généré le Thu Oct 8 14:26:16 2015 pour MED fichier par  doxygen 1.6.1