MED fichier
src
ci
MEDlinkInfoByName.c
Aller à la documentation de ce fichier.
1
/* This file is part of MED.
2
*
3
* COPYRIGHT (C) 1999 - 2020 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 <med.h>
20
#include <med_config.h>
21
#include <
med_outils.h
>
22
23
#include <string.h>
24
#include <stdlib.h>
25
26
35
med_int
36
MEDlinkInfoByName
(
const
med_idt
fid,
37
const
char
*
const
meshname )
38
{
39
med_idt
_lid=0;
40
med_int
_ret=-1;
41
char
_path[
MED_TAILLE_LIENS
+
MED_NAME_SIZE
+1]=
MED_LIENS
;
42
med_int
_n = 0;
43
44
/*
45
* On inhibe le gestionnaire d'erreur HDF 5
46
*/
47
_MEDmodeErreurVerrouiller
();
48
49
/*
50
* ouverture du groupe /LIENS/"meshname"
51
*/
52
strcat(_path,meshname);
53
if
((_lid =
_MEDdatagroupOuvrir
(fid,_path)) < 0) {
54
MED_ERR_
(_ret,
MED_ERR_OPEN
,
MED_ERR_DATAGROUP
,
MED_ERR_LINK_MSG
);
55
SSCRUTE
(_path);
56
goto
ERROR;
57
}
58
59
/*
60
* Lecture de l'attribut MED_NOM_NBR
61
*/
62
if
(
_MEDattrEntierLire
(_lid,
MED_NOM_NBR
,&_n) < 0) {
63
MED_ERR_
(_ret,
MED_ERR_READ
,
MED_ERR_ATTRIBUTE
,
MED_ERR_LINK_MSG
);
64
SSCRUTE
(_path);
SSCRUTE
(
MED_NOM_NBR
);
ISCRUTE
(_n);
65
goto
ERROR;
66
}
67
68
69
_ret = _n;
70
ERROR:
71
72
if
( _lid > 0 )
if
(
_MEDdatagroupFermer
(_lid) < 0) {
73
MED_ERR_
(_ret,
MED_ERR_CLOSE
,
MED_ERR_DATAGROUP
,
MED_PROFILE_GRP
);
74
ISCRUTE_id
(_lid);
75
}
76
77
return
_ret;
78
}
MED_TAILLE_LIENS
#define MED_TAILLE_LIENS
Definition:
med_outils.h:248
MED_ERR_OPEN
#define MED_ERR_OPEN
Definition:
med_err.h:37
SSCRUTE
#define SSCRUTE(chaine)
Definition:
build.python3.8/include/med_utils.h:323
_MEDdatagroupFermer
MEDC_EXPORT med_err _MEDdatagroupFermer(med_idt id)
med_idt
hid_t med_idt
Definition:
build.python3.8/include/med.h:322
MEDlinkInfoByName
med_int MEDlinkInfoByName(const med_idt fid, const char *const meshname)
Cette routine permet de lire les informations sur un lien dans un fichier MED.
Definition:
MEDlinkInfoByName.c:36
MED_ERR_LINK_MSG
#define MED_ERR_LINK_MSG
Definition:
med_err.h:165
ISCRUTE_id
#define ISCRUTE_id(entier)
Definition:
build.python3.8/include/med_utils.h:319
med_outils.h
MED_LIENS
#define MED_LIENS
Definition:
med_outils.h:247
_MEDmodeErreurVerrouiller
MEDC_EXPORT void _MEDmodeErreurVerrouiller(void)
_MEDattrEntierLire
#define _MEDattrEntierLire(x, y, z)
Definition:
med_hdfi.h:68
MED_ERR_DATAGROUP
#define MED_ERR_DATAGROUP
Definition:
med_err.h:99
MED_NOM_NBR
#define MED_NOM_NBR
Definition:
med_outils.h:40
MED_ERR_
#define MED_ERR_(rt, r1, r2, r3)
Definition:
build.python3.8/include/med_utils.h:160
MED_ERR_READ
#define MED_ERR_READ
Definition:
med_err.h:28
MED_NAME_SIZE
#define MED_NAME_SIZE
Definition:
build.python3.8/include/med.h:81
MED_ERR_ATTRIBUTE
#define MED_ERR_ATTRIBUTE
Definition:
med_err.h:100
MED_PROFILE_GRP
#define MED_PROFILE_GRP
Definition:
med_outils.h:233
med_int
int med_int
Definition:
build.python3.8/include/med.h:333
ISCRUTE
#define ISCRUTE(entier)
Definition:
build.python3.8/include/med_utils.h:313
_MEDdatagroupOuvrir
MEDC_EXPORT med_idt _MEDdatagroupOuvrir(med_idt pid, const char *const nom)
MED_ERR_CLOSE
#define MED_ERR_CLOSE
Definition:
med_err.h:30
Généré le Samedi 24 Octobre 2020 08:53:05 pour MED fichier par
1.8.18