Salome HOME
Merge branch V7_3_1_BR
[modules/kernel.git] / src / DSC / DSC_User / Datastream / Calcium / calciumE.h
1 // Copyright (C) 2007-2014  CEA/DEN, EDF R&D, 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 __CALCIUM_E_H
27 #define __CALCIUM_E_H
28
29 #include "calciumP.h"
30
31 #if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
32 #define CPNeedPrototype 1
33 #else
34 #define CPNeedPrototype 0
35 #endif
36
37
38 #if defined(__cplusplus) || defined(c_plusplus)
39 extern "C" {
40 #endif
41
42 /*                                              */
43 /*                                              */
44 /* Fonctions de connexion                       */
45 /*                                              */
46 /*                                              */
47 extern int      ecp_cd(
48 /*              -----                           */
49 #if CPNeedPrototype
50         void * component /* Pointeur de type Superv_Component_i* sur le */
51                          /* composant SALOME Supervisable  */,
52         char  * /* S   Nom de l instance appelante*/
53 #endif
54 );
55
56
57 /*                                              */
58 /*                                              */
59 /* Fonction de deconnexion                      */
60 /*                                              */
61 /*                                              */
62 extern int      ecp_fin(
63 /*              ------                          */
64 #if CPNeedPrototype
65         void * component /* Pointeur de type Superv_Component_i* sur le */
66                          /* composant SALOME Supervisable  */,
67         int     /* E Directive de continuation  */
68                 /* CP_CONT ou CP_ARRET          */
69 #endif
70 );
71
72 /*                                              */
73 /*                                              */
74 /* Fonctions de libĂ©ration du buffer 0 copy  */
75 /*                                              */
76
77   extern void ecp_len_free(
78 #if CPNeedPrototype
79                            int *
80 #endif
81                            );
82   extern void ecp_lre_free(
83 #if CPNeedPrototype
84                            float *
85 #endif
86                            );
87   extern void ecp_ldb_free(
88 #if CPNeedPrototype
89                            double *
90 #endif
91                            );
92   extern void ecp_llo_free(
93 #if CPNeedPrototype
94                            int *
95 #endif
96                            );
97   extern void ecp_lcp_free(
98 #if CPNeedPrototype
99                            float *
100 #endif
101                            );
102   extern void ecp_lch_free(
103 #if CPNeedPrototype
104                            char **
105 #endif
106                            );
107
108
109
110 /*                                              */
111 /*                                              */
112 /* Fonctions de lecture bloquante 0 copy        */
113 /*                                              */
114 /*                                              */
115 extern int      ecp_len(
116 /*              ------                                          */
117 #if CPNeedPrototype
118         void * component /* Pointeur de type Superv_Component_i* sur le */
119                          /* composant SALOME Supervisable  */,
120         int     /* E   Type de dependance ou de lecture         */
121                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
122         float * /* E/S Borne inf de l'intervalle de lecture     */
123                 /*     Retourne le pas lu dans le cas de        */
124                 /*     lecture sequentielle                     */,
125         float * /* E   Borne Sup de l'intervalle de lecture     */,
126         int   * /* E/S Pas d'iteration a lire                   */
127                 /*     Retourne le pas lu dans le cas de        */
128                 /*     lecture sequentielle                     */,
129         char  * /* E   Nom de la variable a lire                */,
130         int     /* E   Nombre max de valeurs a lire             */,
131         int   * /* S   Nombre de valeurs rellement lues         */,
132         int   ** /* E/S   Tableau d'entiers pour stocker les    */
133                 /*     valeurs lues                             */
134 #endif
135 );
136
137 extern int      ecp_lre(
138 /*              ------                                          */
139 #if CPNeedPrototype
140         void * component /* Pointeur de type Superv_Component_i* sur le */
141                          /* composant SALOME Supervisable  */,
142         int     /* E   Type de dependance ou de lecture         */
143                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
144         float * /* E/S Borne inf de l'intervalle de lecture     */
145                 /*     Retourne le pas lu dans le cas de        */
146                 /*     lecture sequentielle                     */,
147         float * /* E   Borne Sup de l'intervalle de lecture     */,
148         int   * /* E/S Pas d'iteration a lire                   */
149                 /*     Retourne le pas lu dans le cas de        */
150                 /*     lecture sequentielle                     */,
151         char  * /* E   Nom de la variable a lire                */,
152         int     /* E   Nombre max de valeurs a lire             */,
153         int   * /* S   Nombre de valeurs rellement lues         */,
154         float **/* E/S   Tableau de flottants pour stocker les  */
155                 /*     valeurs lues                             */
156 #endif
157 );
158
159 extern int      ecp_ldb(
160 /*              ------                                          */
161 #if CPNeedPrototype
162         void * component /* Pointeur de type Superv_Component_i* sur le */
163                          /* composant SALOME Supervisable  */,
164         int     /* E   Type de dependance ou de lecture         */
165                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
166         double* /* E/S Borne inf de l'intervalle de lecture     */
167                 /*     Retourne le pas lu dans le cas de        */
168                 /*     lecture sequentielle                     */,
169         double* /* E   Borne Sup de l'intervalle de lecture     */,
170         int   * /* E/S Pas d'iteration a lire                   */
171                 /*     Retourne le pas lu dans le cas de        */
172                 /*     lecture sequentielle                     */,
173         char  * /* E   Nom de la variable a lire                */,
174         int     /* E   Nombre max de valeurs a lire             */,
175         int   * /* S   Nombre de valeurs rellement lues         */,
176         double**/* E/S   Tableau de doubles pour stocker les    */
177                 /*     valeurs lues                             */
178 #endif
179 );
180
181 extern int      ecp_lcp(
182 /*              ------                                          */
183 #if CPNeedPrototype
184         void * component /* Pointeur de type Superv_Component_i* sur le */
185                          /* composant SALOME Supervisable  */,
186         int     /* E   Type de dependance ou de lecture         */
187                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
188         float * /* E/S Borne inf de l'intervalle de lecture     */
189                 /*     Retourne le pas lu dans le cas de        */
190                 /*     lecture sequentielle                     */,
191         float * /* E   Borne Sup de l'intervalle de lecture     */,
192         int   * /* E/S Pas d'iteration lire                     */
193                 /*     Retourne le pas lu dans le cas de        */
194                 /*     lecture sequentielle                     */,
195         char  * /* E   Nom de la variable a lire                */,
196         int     /* E   Nombre max de valeurs a lire             */,
197         int   * /* S   Nombre de valeurs rellement lues         */,
198         float **/* E/S   Tableau de flottants pour stocker les  */
199                 /*     valeurs lues (dimension = 2 * le nombre  */
200                 /*     de valeurs lues)                         */
201 #endif
202 );
203
204 extern int      ecp_llo(
205 /*              ------                                          */
206 #if CPNeedPrototype
207         void * component /* Pointeur de type Superv_Component_i* sur le */
208                          /* composant SALOME Supervisable  */,
209         int     /* E   Type de dependance ou de lecture         */
210                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
211         float * /* E/S Borne inf de l'intervalle de lecture     */
212                 /*     Retourne le pas lu dans le cas de        */
213                 /*     lecture sequentielle                     */,
214         float * /* E   Borne Sup de l'intervalle de lecture     */,
215         int   * /* E/S Pas d'iteration a lire                   */
216                 /*     Retourne le pas lu dans le cas de        */
217                 /*     lecture sequentielle                     */,
218         char  * /* E   Nom de la variable a lire                */,
219         int     /* E   Nombre max de valeurs a lire             */,
220         int   * /* S   Nombre de valeurs rellement lues         */,
221         int  ** /* E/S   Tableau d 'entier pour stocker les     */
222                 /*     valeurs lues (remplace le logiques)      */
223 #endif
224 );
225
226 extern int      ecp_lch(
227 /*              ------                                          */
228 #if CPNeedPrototype
229         void * component /* Pointeur de type Superv_Component_i* sur le */
230                          /* composant SALOME Supervisable  */,
231         int     /* E   Type de dependance ou de lecture         */
232                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
233         float * /* E/S Borne inf de l'intervalle de lecture     */
234                 /*     Retourne le pas lu dans le cas de        */
235                 /*     lecture sequentielle                     */,
236         float * /* E   Borne Sup de l'intervalle de lecture     */,
237         int   * /* E/S Pas d'iteration a lire                   */
238                 /*     Retourne le pas lu dans le cas de        */
239                 /*     lecture sequentielle                     */,
240         char  * /* E   Nom de la variable a lire                */,
241         int     /* E   Nombre max de valeurs a lire             */,
242         int   * /* S   Nombre de valeurs rellement lues         */,
243         char **[]/*E/S   Tableau de chaines pour stocker les    */
244                 /*     valeurs lues (remplace le logiques)      */,
245         int     /* E   Taille des chaines du tablaeu            */
246 #endif
247 );
248
249
250
251 /*                                              */
252 /*                                              */
253 /* Fonctions de lecture non bloquantes          */
254 /*                                              */
255 /*                                              */
256 extern int      ecp_nlen(
257 /*              -------                                         */
258 #if CPNeedPrototype
259         void * component /* Pointeur de type Superv_Component_i* sur le */
260                          /* composant SALOME Supervisable  */,
261         int     /* E   Type de dependance ou de lecture         */
262                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
263         float * /* E/S Borne inf de l'intervalle de lecture     */
264                 /*     Retourne le pas lu dans le cas de        */
265                 /*     lecture sequentielle                     */,
266         float * /* E   Borne Sup de l'intervalle de lecture     */,
267         int   * /* E/S Pas d'iteration a lire                   */
268                 /*     Retourne le pas lu dans le cas de        */
269                 /*     lecture sequentielle                     */,
270         char  * /* E   Nom de la variable a lire                */,
271         int     /* E   Nombre max de valeurs a lire             */,
272         int   * /* S   Nombre de valeurs rellement lues         */,
273         int  ** /* E/S   Tableau d'entiers pour stocker les     */
274                 /*     valeurs lues                             */
275 #endif
276 );
277
278 extern int      ecp_nlre(
279 /*              -------                                         */
280 #if CPNeedPrototype
281         void * component /* Pointeur de type Superv_Component_i* sur le */
282                          /* composant SALOME Supervisable  */,
283         int     /* E   Type de dependance ou de lecture         */
284                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
285         float * /* E/S Borne inf de l'intervalle de lecture     */
286                 /*     Retourne le pas lu dans le cas de        */
287                 /*     lecture sequentielle                     */,
288         float * /* E   Borne Sup de l'intervalle de lecture     */,
289         int   * /* E/S Pas d'iteration a lire                   */
290                 /*     Retourne le pas lu dans le cas de        */
291                 /*     lecture sequentielle                     */,
292         char  * /* E   Nom de la variable a lire                */,
293         int     /* E   Nombre max de valeurs a lire             */,
294         int   * /* S   Nombre de valeurs rellement lues         */,
295         float **/* E/S   Tableau de flottants pour stocker les  */
296                 /*     valeurs lues                             */
297 #endif
298 );
299
300 extern int      ecp_nldb(
301 /*              -------                                         */
302
303 #if CPNeedPrototype
304         void * component /* Pointeur de type Superv_Component_i* sur le */
305                          /* composant SALOME Supervisable  */,
306         int     /* E   Type de dependance ou de lecture         */
307                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
308         double */* E/S Borne inf de l'intervalle de lecture     */
309                 /*     Retourne le pas lu dans le cas de        */
310                 /*     lecture sequentielle                     */,
311         double */* E   Borne Sup de l'intervalle de lecture     */,
312         int   * /* E/S Pas d'iteration a lire                   */
313                 /*     Retourne le pas lu dans le cas de        */
314                 /*     lecture sequentielle                     */,
315         char  * /* E   Nom de la variable a lire                */,
316         int     /* E   Nombre max de valeurs a lire             */,
317         int   * /* S   Nombre de valeurs rellement lues         */,
318         double**/* E/S   Tableau de doubles pour stocker les    */
319                 /*     valeurs lues                             */
320 #endif
321 );
322
323 extern int      ecp_nlcp(
324 /*              -------                                         */
325 #if CPNeedPrototype
326         void * component /* Pointeur de type Superv_Component_i* sur le */
327                          /* composant SALOME Supervisable  */,
328         int     /* E   Type de dependance ou de lecture         */
329                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
330         float * /* E/S Borne inf de l'intervalle de lecture     */
331                 /*     Retourne le pas lu dans le cas de        */
332                 /*     lecture sequentielle                     */,
333         float * /* E   Borne Sup de l'intervalle de lecture     */,
334         int   * /* E/S Pas d'iteration lire                     */
335                 /*     Retourne le pas lu dans le cas de        */
336                 /*     lecture sequentielle                     */,
337         char  * /* E   Nom de la variable a lire                */,
338         int     /* E   Nombre max de valeurs a lire             */,
339         int   * /* S   Nombre de valeurs rellement lues         */,
340         float **/* E/S   Tableau de flottants pour stocker les  */
341                 /*     valeurs lues (dimension = 2 * le nombre  */
342                 /*     de valeurs lues)                         */
343 #endif
344 );
345
346 extern int      ecp_nllo(
347 /*              -------                                         */
348 #if CPNeedPrototype
349         void * component /* Pointeur de type Superv_Component_i* sur le */
350                          /* composant SALOME Supervisable  */,
351         int     /* E   Type de dependance ou de lecture         */
352                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
353         float * /* E/S Borne inf de l'intervalle de lecture     */
354                 /*     Retourne le pas lu dans le cas de        */
355                 /*     lecture sequentielle                     */,
356         float * /* E   Borne Sup de l'intervalle de lecture     */,
357         int   * /* E/S Pas d'iteration a lire                   */
358                 /*     Retourne le pas lu dans le cas de        */
359                 /*     lecture sequentielle                     */,
360         char  * /* E   Nom de la variable a lire                */,
361         int     /* E   Nombre max de valeurs a lire             */,
362         int   * /* S   Nombre de valeurs rellement lues         */,
363         int   **/* E/S   Tableau d 'entier pour stocker les     */
364                 /*     valeurs lues (remplace le logiques)      */
365 #endif
366 );
367
368 extern int      ecp_nlch(
369 /*              -------                                         */
370 #if CPNeedPrototype
371         void * component /* Pointeur de type Superv_Component_i* sur le */
372                          /* composant SALOME Supervisable  */,
373         int     /* E   Type de dependance ou de lecture         */
374                 /*     CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL    */,
375         float * /* E/S Borne inf de l'intervalle de lecture     */
376                 /*     Retourne le pas lu dans le cas de        */
377                 /*     lecture sequentielle                     */,
378         float * /* E   Borne Sup de l'intervalle de lecture     */,
379         int   * /* E/S Pas d'iteration a lire                   */
380                 /*     Retourne le pas lu dans le cas de        */
381                 /*     lecture sequentielle                     */,
382         char  * /* E   Nom de la variable a lire                */,
383         int     /* E   Nombre max de valeurs a lire             */,
384         int   * /* S   Nombre de valeurs rellement lues         */,
385         char **[]/* E/S   Tableau de chaines pour stocker les   */
386                 /*     valeurs lues (remplace le logiques)      */,
387         int     /* E   Taille des chaines du tablaeu            */
388 #endif
389 );
390
391
392
393 #if defined(__cplusplus) || defined(c_plusplus)
394 }
395 #endif
396
397
398 #endif