MED fichier
Documentation MED
Guides d'utilisation
Guides de référence
Dev_V3
src
hdfi
MEDdatagroupCreer.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
20
#include <
med.h
>
21
#include <
med_config.h
>
22
#include <
med_outils.h
>
23
#include <hdf5.h>
24
25
/*
26
* - Nom de la fonction : _MEDdatagroupCreer
27
* - Description : creation et ouverture d'un Datagroup HDF
28
* - Parametres :
29
* - pid (IN) : l'ID de l'objet pere
30
* - nom (IN) : le nom de l'objet fils
31
* - Resultat : l'ID du fils en cas de succes, -1 sinon
32
*/
33
med_idt
34
_MEDdatagroupCreer
(
med_idt
pid,
const
char
*
const
nom)
35
{
36
med_idt
id;
37
med_err
ret=0;
38
med_access_mode
MED_ACCESS_MODE
;
39
40
if
( (MED_ACCESS_MODE =
_MEDmodeAcces
(pid) ) ==
MED_ACC_UNDEF
) {
41
MESSAGE
(
"Impossible de déterminer le mode d'acces au fichier."
);
42
return
-1;
43
}
44
45
if
( MED_ACCESS_MODE ==
MED_ACC_RDONLY
) {
46
MESSAGE
(
"Impossible de créer un datagroup en mode MED_ACC_RDONLY."
);
47
return
-1;
48
};
49
50
51
id
=
_MEDdatagroupOuvrir
(pid,nom);
52
if
(
id
> 0)
53
if
(MED_ACCESS_MODE ==
MED_ACC_RDEXT
) {
54
MESSAGE
(
"Création d'un datagroup existant impossible en mode MED_ACC_RDEXT."
);
55
return
-1;
56
};
57
/* sinon on le crée */
58
if
(
id
<= 0)
59
if
((
id
= H5Gcreate(pid,nom,0)) < 0) {
60
MESSAGE
(
"Impossible de créer le datagroup : "
);
61
SSCRUTE
(nom);
62
return
-1;
63
}
64
65
return
id;
66
}
med_err
herr_t med_err
Definition:
med.h:310
MED_ACC_RDONLY
Definition:
med.h:113
med_access_mode
med_access_mode
Definition:
med.h:113
MESSAGE
#define MESSAGE(chaine)
Definition:
med_utils.h:316
_MEDmodeAcces
MEDC_EXPORT med_access_mode _MEDmodeAcces(med_idt oid)
Definition:
MEDmodeAccesC.c:43
med_config.h
_MEDdatagroupCreer
med_idt _MEDdatagroupCreer(med_idt pid, const char *const nom)
Definition:
MEDdatagroupCreer.c:34
med_outils.h
med.h
MED_ACC_UNDEF
Definition:
med.h:117
_MEDdatagroupOuvrir
MEDC_EXPORT med_idt _MEDdatagroupOuvrir(med_idt pid, const char *const nom)
Definition:
MEDdatagroupOuvrir.c:34
med_idt
hid_t med_idt
Definition:
med.h:309
MED_ACC_RDEXT
Definition:
med.h:115
MED_ACCESS_MODE
med_access_mode MED_ACCESS_MODE
Definition:
MEDparFileOpen.c:32
SSCRUTE
#define SSCRUTE(chaine)
Definition:
med_utils.h:315
Généré le Lundi 7 Novembre 2016 14:19:23 pour MED fichier par
1.8.9.1