MED fichier
MEDmodeAccesC.c
Aller à la documentation de ce fichier.
1 /* This file is part of MED.
2  *
3  * COPYRIGHT (C) 1999 - 2016 EDF R&D, CEA/DEN
4  * MED is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * MED is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with MED. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 
19 #include <stdio.h>
20 #include <med_config.h>
21 #include <med_misc.h>
22 #include <med_hdfi.h>
23 #include <med_utils.h>
24 
25 typedef unsigned long keyType;
26 typedef keyType fileNo;
28 
29 extern valueType getModeAcces(keyType key);
31 
32 /*
33  * - Nom de la fonction : _MEDmodeAcces
34  * - Description : Renvoi le mode d'accès du fichier contenant
35  l'objet identifié par oid.
36  Ce mode d'accès est positionné par MEDouvrir.
37  * - Parametres :
38  * - id1 (IN) : identificateur de l'objet
39  * - Resultat : mode d'accès au fichier eventuellement
40  * MED_ACC_UNDEF
41  */
42 
44 
45  fileNo fileno=0;
46 
47  if ( _MEDfichierNo(oid,&fileno) < 0 ) {
48  ISCRUTE_id(oid);
49  ISCRUTE_int((int)(fileno));
50  return MED_ACC_UNDEF;
51  } else {
52 /* ISCRUTE_id(oid); */
53 /* ISCRUTE(fileno); */
54 /* ISCRUTE( getModeAcces(fileno)); */
55  return getModeAcces(fileno);
56  }
57 }
58 
60 
61  fileNo fileno;
62  med_err ret;
63 
64  if ( _MEDfichierNo(fid,&fileno) < 0 ) {
65  MESSAGE("Impossible de positioner le mode d'accès au fichier.");
66  ISCRUTE_id(fid);
67  ISCRUTE_int((int)(fileno));
68  return -1;
69  }
70 
71  ret = setModeAcces(fileno,mode);
72 /* ISCRUTE(setModeAcces(fileno,mode)); */
73 
74  return ret;
75 }
herr_t med_err
Definition: med.h:310
unsigned long fileNo
med_access_mode
Definition: med.h:113
#define MESSAGE(chaine)
Definition: med_utils.h:316
med_err _MEDsetModeAcces(med_idt fid, med_access_mode mode)
Definition: MEDmodeAccesC.c:59
unsigned long keyType
Definition: MEDmodeAccesC.c:25
#define ISCRUTE_int(entier)
Definition: med_utils.h:307
med_access_mode valueType
Definition: MEDmodeAccesC.c:27
med_err setModeAcces(keyType key, valueType v)
keyType fileNo
Definition: MEDmodeAccesC.c:26
med_access_mode _MEDmodeAcces(med_idt oid)
Definition: MEDmodeAccesC.c:43
#define ISCRUTE_id(entier)
Definition: med_utils.h:311
hid_t med_idt
Definition: med.h:309
valueType getModeAcces(keyType key)
med_bool
Definition: med.h:240
MEDC_EXPORT med_err _MEDfichierNo(med_idt id, unsigned long *fileno)
Definition: MEDfichierNo.c:33