Salome HOME
fc544292d53d76cb04aeb35473dbc7064b17d8e0
[modules/kernel.git] / src / DSC / DSC_User / Datastream / Calcium / calciumf.h
1 // Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // 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,
9 // but 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
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 //  File   : calcium.h
21 //  Author : Eric Fayolle (EDF)
22 //  Module : KERNEL
23 //
24 /* Outils d'Aide au Couplage de Code de Calcul : $Id$ */
25
26 #ifndef __CALCIUMF_H
27 #define __CALCIUMF_H
28
29 #include "CalciumFortranInt.h"
30
31 /*TODO CPCD... */
32
33 #define STAR *
34 #define LCH_LAST_PARAM ,int strsize
35
36
37 #define CALCIUM_ECR_INTERFACE_C_H(_name,_timeType,_calInt,_type,_typeName,_qual,lastarg) \
38   extern _calInt cp_##_name (void * component, _calInt mode,            \
39                        _timeType t, _calInt i,                          \
40                        char * nomvar, _calInt nbelem,                   \
41                        _type _qual * data                               \
42                        lastarg ) ;                                      \
43
44
45 CALCIUM_ECR_INTERFACE_C_H(een_fort_,float ,cal_int,cal_int,integer,,)
46 CALCIUM_ECR_INTERFACE_C_H(elg_fort_,float ,cal_int,long   ,long2integer,,)
47 CALCIUM_ECR_INTERFACE_C_H(eln_fort_,float ,cal_int,long   ,long,,)
48 CALCIUM_ECR_INTERFACE_C_H(ein_fort_,float ,cal_int,int    ,int2integer,,)
49 CALCIUM_ECR_INTERFACE_C_H(ere_fort_,float ,cal_int,float ,float,,)
50 CALCIUM_ECR_INTERFACE_C_H(erd_fort_,float ,cal_int,float ,float2double,,)
51 CALCIUM_ECR_INTERFACE_C_H(edb_fort_,double,cal_int,double,double,,)
52 CALCIUM_ECR_INTERFACE_C_H(elo_fort_,float ,cal_int,int   ,bool,,)  /*int pour bool ou cal_int */
53 CALCIUM_ECR_INTERFACE_C_H(ecp_fort_,float ,cal_int,float ,cplx,,)
54 CALCIUM_ECR_INTERFACE_C_H(ech_fort_,float ,cal_int,char  ,str,STAR,LCH_LAST_PARAM )
55
56
57
58 #define CALCIUM_LECT_INTERFACE_C_H(_name,_timeType,_calInt,_type,_typeName,_qual,lastarg) \
59   extern void cp_##_name##_free ( _type _qual * data);                  \
60   extern _calInt cp_##_name (void * component, _calInt mode,            \
61                              _timeType * ti, _timeType * tf, _calInt * i, \
62                              char * nomvar, _calInt bufferLength,       \
63                              _calInt * nRead, _type _qual * data        \
64                              lastarg ) ;                                \
65                                                                         \
66
67
68 CALCIUM_LECT_INTERFACE_C_H(len_fort_,float ,cal_int,cal_int ,integer,,)
69 CALCIUM_LECT_INTERFACE_C_H(llg_fort_,float ,cal_int,long    ,long2integer,,)
70 CALCIUM_LECT_INTERFACE_C_H(lln_fort_,float ,cal_int,long    ,long,,)
71 CALCIUM_LECT_INTERFACE_C_H(lin_fort_,float ,cal_int,int     ,int2integer,,)
72 CALCIUM_LECT_INTERFACE_C_H(lre_fort_,float ,cal_int,float   ,float,,)
73 CALCIUM_LECT_INTERFACE_C_H(lrd_fort_,float ,cal_int,float   ,float2double,,)
74 CALCIUM_LECT_INTERFACE_C_H(ldb_fort_,double,cal_int,double  ,double,,)
75 CALCIUM_LECT_INTERFACE_C_H(llo_fort_,float ,cal_int,int     ,bool,,)   /*int pour bool ou cal_int */
76 CALCIUM_LECT_INTERFACE_C_H(lcp_fort_,float ,cal_int,float   ,cplx,,)
77 CALCIUM_LECT_INTERFACE_C_H(lch_fort_,float ,cal_int,char    ,str,STAR, LCH_LAST_PARAM )
78
79
80
81 #endif