1 // Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 // Author : Eric Fayolle (EDF)
24 /* Outils d'Aide au Couplage de Code de Calcul : $Id$ */
31 #if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
32 #define CPNeedPrototype 1
34 #define CPNeedPrototype 0
38 #if defined(__cplusplus) || defined(c_plusplus)
44 /* Fonctions de connexion */
50 void * component /* Pointeur de type Superv_Component_i* sur le */
51 /* composant SALOME Supervisable */,
52 char * /* S Nom de l instance appelante*/
59 /* Fonction de deconnexion */
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 */
74 /* Fonctions de libération du buffer 0 copy */
77 extern void ecp_len_free(
82 extern void ecp_lre_free(
87 extern void ecp_ldb_free(
92 extern void ecp_llo_free(
97 extern void ecp_lcp_free(
102 extern void ecp_lch_free(
112 /* Fonctions de lecture bloquante 0 copy */
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 */
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 */
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 */
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) */
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) */
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 */
253 /* Fonctions de lecture non bloquantes */
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 */
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 */
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 */
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) */
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) */
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 */
393 #if defined(__cplusplus) || defined(c_plusplus)