      1 /*************************************************************************
      2 * COPYRIGHT (C) 1999 - 2007  EDF R&D, CEA/DEN
      3 * THIS LIBRARY IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
      4 * IT UNDER THE TERMS OF THE GNU LESSER GENERAL PUBLIC LICENSE
      5 * AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION;
      6 * EITHER VERSION 2.1 OF THE LICENSE, OR (AT YOUR OPTION) ANY LATER VERSION.
      7 *
      8 * THIS LIBRARY IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
      9 * WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
     10 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
     11 * LESSER GENERAL PUBLIC LICENSE FOR MORE DETAILS.
     12 *
     13 * YOU SHOULD HAVE RECEIVED A COPY OF THE GNU LESSER GENERAL PUBLIC LICENSE
     14 * ALONG WITH THIS LIBRARY; IF NOT, WRITE TO THE FREE SOFTWARE FOUNDATION,
     15 * INC., 59 TEMPLE PLACE, SUITE 330, BOSTON, MA 02111-1307 USA
     16 *
     17 *************************************************************************/
     18
     19 /******************************************************************************
     20  * - Nom du fichier : test18.c
     21  *
     22  * - Description : routines de test de la conformite d'un fichier MED.
     23  *
     24  *****************************************************************************/
     25
     26 #include <med.h>
     27 #define MESGERR
     28 #include <med_utils.h>
     29
     30 #ifdef DEF_LECT_ECR
     31 #define MODE_ACCES MED_LECTURE_ECRITURE
     32 #elif DEF_LECT_AJOUT
     33 #define MODE_ACCES MED_LECTURE_AJOUT
     34 #else
     35 #define MODE_ACCES MED_CREATION
     36 #endif
     37
     38 int main (int argc, char **argv)
     39
     40 {
     41   med_idt fid;
     42   med_int majeur, mineur, release;
     43
     44   /* Creation du fichier test18.med */
     45   if ((fid = MEDouvrir("test18.med",MODE_ACCES)) < 0) {
     46     MESSAGE("Erreur a la creation du fichier test18.med");
     47     return -1;
     48   }
     49   fprintf(stdout,"- Creation du fichier test18.med \n");
     50
     51   if (MEDfermer(fid) < 0) {
     52     MESSAGE("Erreur a la fermeture du fichier");
     53     return -1;
     54   }
     55   fprintf(stdout,"- Fermeture du fichier \n");
     56
     57   /*
     58    * Quelle version de la bibliotheque MED est utilisee ?
     59    */
     60   MEDversionDonner(&majeur, &mineur, &release);
     61   fprintf(stdout,"- Version de MED utilisee pour lire le fichier : %d.%d.%d \n",majeur,mineur,release);
     62   /*
     63    * Le fichier à lire est-il au bon format de fichier HDF ?
     64    */
     65   if (! MEDformatConforme("test18.med"))
     66     fprintf(stdout,"- Format HDF du fichier MED conforme au format HDF utilise par la bibliotheque \n");
     67   else
     68     fprintf(stdout,"- Format HDF du fichier MED non conforme au format HDF utilise par la bibliotheque \n");
     69
     70   /*
     71    * Le fichier a lire a-t-il été créé avec une version de la bibliothèque MED conforme avec celle utilise ?
     72    * (Numéros majeur et mineur identiques).
     73    */
     74   if (! MEDversionConforme("test18.med"))
     75     fprintf(stdout,"- Version MED du fichier conforme a la bibliotheque MED utilisee \n");
     76   else
     77     fprintf(stdout,"- Version MED du fichier non conforme a la bibliotheque MED utilisee \n");
     78
     79   if ((fid = MEDouvrir("test18.med",MED_LECTURE)) < 0) {
     80     MESSAGE("Erreur a l'ouverture du fichier test18.med");
     81     return -1;
     82   }
     83   fprintf(stdout,"- Ouverture du fichier en lecture \n");
     84
     85   /*
     86    * Une fois le fichier ouvert on peut avoir acces au numero de version complet
     87    */
     88   if (MEDversionLire(fid, &majeur, &mineur, &release) < 0) {
     89     MESSAGE("Erreur a la lecture du numero de version de la bibliothèque ");
     90     return -1;
     91   }
     92   fprintf(stdout,"- Ce fichier a ete cree avec MED %d.%d.%d \n",majeur,mineur,release);
     93
     94   if (MEDfermer(fid) < 0) {
     95     MESSAGE("Erreur a la fermeture du fichier");
     96     return -1;
     97   }
     98   fprintf(stdout,"- Fermeture du fichier \n");
     99
    100   return 0;
    101 }