     1  /*************************************************************************
     2  * COPYRIGHT (C) 1999 - 2003  EDF R&D
     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  #include <med_utils.h>
    28  #include <stdlib.h>
    29
    30  int main() {
    31    med_idt fid;
    32    med_int majeur, mineur, release;
    33
    34    /* Creation du fichier test18.med */
    35    if ((fid = MEDouvrir("test18.med",MED_CREATION)) < 0) {
    36      MESSAGE("Erreur a la creation du fichier test18.med");
    37      return -1;
    38    }
    39    fprintf(stdout,"- Creation du fichier test18.med \n",fid);
    40
    41    if (MEDfermer(fid) < 0) {
    42      MESSAGE("Erreur a la fermeture du fichier");
    43      return -1;
    44    }
    45    fprintf(stdout,"- Fermeture du fichier \n");
    46
    47    /*
    48     * Quelle version de la bibliotheque MED est utilisee ?
    49     */
    50    MEDversionDonner(&majeur, &mineur, &release);
    51    fprintf(stdout,"- Version de MED utilisee pour lire le fichier : %d.%d.%d \n",majeur,mineur,release);
    52    /*
    53     * Le fichier à lire est-il au bon format de fichier HDF ?
    54     */
    55    if (! MEDformatConforme("test18.med"))
    56      fprintf(stdout,"- Format HDF du fichier MED conforme au format HDF utilise par la bibliotheque \n");
    57    else
    58      fprintf(stdout,"- Format HDF du fichier MED non conforme au format HDF utilise par la bibliotheque \n");
    59
    60    /*
    61     * Le fichier a lire a-t-il été créé avec une version de la bibliothèque MED conforme avec celle utilise ?
    62     * (Numéros majeur et mineur identiques).
    63     */
    64    if (! MEDversionConforme("test18.med"))
    65      fprintf(stdout,"- Version MED du fichier conforme a la bibliotheque MED utilisee \n");
    66    else
    67      fprintf(stdout,"- Version MED du fichier non conforme a la bibliotheque MED utilisee \n");
    68
    69    if ((fid = MEDouvrir("test18.med",MED_LECTURE)) < 0) {
    70      MESSAGE("Erreur a l'ouverture du fichier test18.med");
    71      return -1;
    72    }
    73    fprintf(stdout,"- Ouverture du fichier en lecture \n",fid);
    74
    75    /*
    76     * Une fois le fichier ouvert on peut avoir acces au numero de version complet
    77     */
    78    if (MEDversionLire(fid, &majeur, &mineur, &release) < 0) {
    79      MESSAGE("Erreur a la lecture du numero de version de la bibliothèque ");
    80      return -1;
    81    }
    82    fprintf(stdout,"- Ce fichier a ete cree avec MED %d.%d.%d \n",majeur,mineur,release);
    83
    84    if (MEDfermer(fid) < 0) {
    85      MESSAGE("Erreur a la fermeture du fichier");
    86      return -1;
    87    }
    88    fprintf(stdout,"- Fermeture du fichier \n");
    89
    90    return 0;
    91  }