00001 // Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE 00002 // 00003 // This library is free software; you can redistribute it and/or 00004 // modify it under the terms of the GNU Lesser General Public 00005 // License as published by the Free Software Foundation; either 00006 // version 2.1 of the License. 00007 // 00008 // This library is distributed in the hope that it will be useful, 00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00011 // Lesser General Public License for more details. 00012 // 00013 // You should have received a copy of the GNU Lesser General Public 00014 // License along with this library; if not, write to the Free Software 00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00016 // 00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com 00018 // 00019 00020 // File : calcium.h 00021 // Author : Eric Fayolle (EDF) 00022 // Module : KERNEL 00023 // 00024 /* Outils d'Aide au Couplage de Code de Calcul : $Id: calciumE.h,v 1.2.2.1.10.1.6.1 2011-06-01 13:51:41 vsr Exp $ */ 00025 00026 #ifndef __CALCIUM_E_H 00027 #define __CALCIUM_E_H 00028 00029 #include "calciumP.h" 00030 00031 #if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus) 00032 #define CPNeedPrototype 1 00033 #else 00034 #define CPNeedPrototype 0 00035 #endif 00036 00037 00038 #if defined(__cplusplus) || defined(c_plusplus) 00039 extern "C" { 00040 #endif 00041 00042 /* */ 00043 /* */ 00044 /* Fonctions de connexion */ 00045 /* */ 00046 /* */ 00047 extern int ecp_cd( 00048 /* ----- */ 00049 #if CPNeedPrototype 00050 void * component /* Pointeur de type Superv_Component_i* sur le */ 00051 /* composant SALOME Supervisable */, 00052 char * /* S Nom de l instance appelante*/ 00053 #endif 00054 ); 00055 00056 00057 /* */ 00058 /* */ 00059 /* Fonction de deconnexion */ 00060 /* */ 00061 /* */ 00062 extern int ecp_fin( 00063 /* ------ */ 00064 #if CPNeedPrototype 00065 void * component /* Pointeur de type Superv_Component_i* sur le */ 00066 /* composant SALOME Supervisable */, 00067 int /* E Directive de continuation */ 00068 /* CP_CONT ou CP_ARRET */ 00069 #endif 00070 ); 00071 00072 /* */ 00073 /* */ 00074 /* Fonctions de libération du buffer 0 copy */ 00075 /* */ 00076 00077 extern void ecp_len_free( 00078 #if CPNeedPrototype 00079 int * 00080 #endif 00081 ); 00082 extern void ecp_lre_free( 00083 #if CPNeedPrototype 00084 float * 00085 #endif 00086 ); 00087 extern void ecp_ldb_free( 00088 #if CPNeedPrototype 00089 double * 00090 #endif 00091 ); 00092 extern void ecp_llo_free( 00093 #if CPNeedPrototype 00094 int * 00095 #endif 00096 ); 00097 extern void ecp_lcp_free( 00098 #if CPNeedPrototype 00099 float * 00100 #endif 00101 ); 00102 extern void ecp_lch_free( 00103 #if CPNeedPrototype 00104 char ** 00105 #endif 00106 ); 00107 00108 00109 00110 /* */ 00111 /* */ 00112 /* Fonctions de lecture bloquante 0 copy */ 00113 /* */ 00114 /* */ 00115 extern int ecp_len( 00116 /* ------ */ 00117 #if CPNeedPrototype 00118 void * component /* Pointeur de type Superv_Component_i* sur le */ 00119 /* composant SALOME Supervisable */, 00120 int /* E Type de dependance ou de lecture */ 00121 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00122 float * /* E/S Borne inf de l'intervalle de lecture */ 00123 /* Retourne le pas lu dans le cas de */ 00124 /* lecture sequentielle */, 00125 float * /* E Borne Sup de l'intervalle de lecture */, 00126 int * /* E/S Pas d'iteration a lire */ 00127 /* Retourne le pas lu dans le cas de */ 00128 /* lecture sequentielle */, 00129 char * /* E Nom de la variable a lire */, 00130 int /* E Nombre max de valeurs a lire */, 00131 int * /* S Nombre de valeurs rellement lues */, 00132 int ** /* E/S Tableau d'entiers pour stocker les */ 00133 /* valeurs lues */ 00134 #endif 00135 ); 00136 00137 extern int ecp_lre( 00138 /* ------ */ 00139 #if CPNeedPrototype 00140 void * component /* Pointeur de type Superv_Component_i* sur le */ 00141 /* composant SALOME Supervisable */, 00142 int /* E Type de dependance ou de lecture */ 00143 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00144 float * /* E/S Borne inf de l'intervalle de lecture */ 00145 /* Retourne le pas lu dans le cas de */ 00146 /* lecture sequentielle */, 00147 float * /* E Borne Sup de l'intervalle de lecture */, 00148 int * /* E/S Pas d'iteration a lire */ 00149 /* Retourne le pas lu dans le cas de */ 00150 /* lecture sequentielle */, 00151 char * /* E Nom de la variable a lire */, 00152 int /* E Nombre max de valeurs a lire */, 00153 int * /* S Nombre de valeurs rellement lues */, 00154 float **/* E/S Tableau de flottants pour stocker les */ 00155 /* valeurs lues */ 00156 #endif 00157 ); 00158 00159 extern int ecp_ldb( 00160 /* ------ */ 00161 #if CPNeedPrototype 00162 void * component /* Pointeur de type Superv_Component_i* sur le */ 00163 /* composant SALOME Supervisable */, 00164 int /* E Type de dependance ou de lecture */ 00165 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00166 double* /* E/S Borne inf de l'intervalle de lecture */ 00167 /* Retourne le pas lu dans le cas de */ 00168 /* lecture sequentielle */, 00169 double* /* E Borne Sup de l'intervalle de lecture */, 00170 int * /* E/S Pas d'iteration a lire */ 00171 /* Retourne le pas lu dans le cas de */ 00172 /* lecture sequentielle */, 00173 char * /* E Nom de la variable a lire */, 00174 int /* E Nombre max de valeurs a lire */, 00175 int * /* S Nombre de valeurs rellement lues */, 00176 double**/* E/S Tableau de doubles pour stocker les */ 00177 /* valeurs lues */ 00178 #endif 00179 ); 00180 00181 extern int ecp_lcp( 00182 /* ------ */ 00183 #if CPNeedPrototype 00184 void * component /* Pointeur de type Superv_Component_i* sur le */ 00185 /* composant SALOME Supervisable */, 00186 int /* E Type de dependance ou de lecture */ 00187 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00188 float * /* E/S Borne inf de l'intervalle de lecture */ 00189 /* Retourne le pas lu dans le cas de */ 00190 /* lecture sequentielle */, 00191 float * /* E Borne Sup de l'intervalle de lecture */, 00192 int * /* E/S Pas d'iteration lire */ 00193 /* Retourne le pas lu dans le cas de */ 00194 /* lecture sequentielle */, 00195 char * /* E Nom de la variable a lire */, 00196 int /* E Nombre max de valeurs a lire */, 00197 int * /* S Nombre de valeurs rellement lues */, 00198 float **/* E/S Tableau de flottants pour stocker les */ 00199 /* valeurs lues (dimension = 2 * le nombre */ 00200 /* de valeurs lues) */ 00201 #endif 00202 ); 00203 00204 extern int ecp_llo( 00205 /* ------ */ 00206 #if CPNeedPrototype 00207 void * component /* Pointeur de type Superv_Component_i* sur le */ 00208 /* composant SALOME Supervisable */, 00209 int /* E Type de dependance ou de lecture */ 00210 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00211 float * /* E/S Borne inf de l'intervalle de lecture */ 00212 /* Retourne le pas lu dans le cas de */ 00213 /* lecture sequentielle */, 00214 float * /* E Borne Sup de l'intervalle de lecture */, 00215 int * /* E/S Pas d'iteration a lire */ 00216 /* Retourne le pas lu dans le cas de */ 00217 /* lecture sequentielle */, 00218 char * /* E Nom de la variable a lire */, 00219 int /* E Nombre max de valeurs a lire */, 00220 int * /* S Nombre de valeurs rellement lues */, 00221 int ** /* E/S Tableau d 'entier pour stocker les */ 00222 /* valeurs lues (remplace le logiques) */ 00223 #endif 00224 ); 00225 00226 extern int ecp_lch( 00227 /* ------ */ 00228 #if CPNeedPrototype 00229 void * component /* Pointeur de type Superv_Component_i* sur le */ 00230 /* composant SALOME Supervisable */, 00231 int /* E Type de dependance ou de lecture */ 00232 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00233 float * /* E/S Borne inf de l'intervalle de lecture */ 00234 /* Retourne le pas lu dans le cas de */ 00235 /* lecture sequentielle */, 00236 float * /* E Borne Sup de l'intervalle de lecture */, 00237 int * /* E/S Pas d'iteration a lire */ 00238 /* Retourne le pas lu dans le cas de */ 00239 /* lecture sequentielle */, 00240 char * /* E Nom de la variable a lire */, 00241 int /* E Nombre max de valeurs a lire */, 00242 int * /* S Nombre de valeurs rellement lues */, 00243 char **[]/*E/S Tableau de chaines pour stocker les */ 00244 /* valeurs lues (remplace le logiques) */, 00245 int /* E Taille des chaines du tablaeu */ 00246 #endif 00247 ); 00248 00249 00250 00251 /* */ 00252 /* */ 00253 /* Fonctions de lecture non bloquantes */ 00254 /* */ 00255 /* */ 00256 extern int ecp_nlen( 00257 /* ------- */ 00258 #if CPNeedPrototype 00259 void * component /* Pointeur de type Superv_Component_i* sur le */ 00260 /* composant SALOME Supervisable */, 00261 int /* E Type de dependance ou de lecture */ 00262 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00263 float * /* E/S Borne inf de l'intervalle de lecture */ 00264 /* Retourne le pas lu dans le cas de */ 00265 /* lecture sequentielle */, 00266 float * /* E Borne Sup de l'intervalle de lecture */, 00267 int * /* E/S Pas d'iteration a lire */ 00268 /* Retourne le pas lu dans le cas de */ 00269 /* lecture sequentielle */, 00270 char * /* E Nom de la variable a lire */, 00271 int /* E Nombre max de valeurs a lire */, 00272 int * /* S Nombre de valeurs rellement lues */, 00273 int ** /* E/S Tableau d'entiers pour stocker les */ 00274 /* valeurs lues */ 00275 #endif 00276 ); 00277 00278 extern int ecp_nlre( 00279 /* ------- */ 00280 #if CPNeedPrototype 00281 void * component /* Pointeur de type Superv_Component_i* sur le */ 00282 /* composant SALOME Supervisable */, 00283 int /* E Type de dependance ou de lecture */ 00284 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00285 float * /* E/S Borne inf de l'intervalle de lecture */ 00286 /* Retourne le pas lu dans le cas de */ 00287 /* lecture sequentielle */, 00288 float * /* E Borne Sup de l'intervalle de lecture */, 00289 int * /* E/S Pas d'iteration a lire */ 00290 /* Retourne le pas lu dans le cas de */ 00291 /* lecture sequentielle */, 00292 char * /* E Nom de la variable a lire */, 00293 int /* E Nombre max de valeurs a lire */, 00294 int * /* S Nombre de valeurs rellement lues */, 00295 float **/* E/S Tableau de flottants pour stocker les */ 00296 /* valeurs lues */ 00297 #endif 00298 ); 00299 00300 extern int ecp_nldb( 00301 /* ------- */ 00302 00303 #if CPNeedPrototype 00304 void * component /* Pointeur de type Superv_Component_i* sur le */ 00305 /* composant SALOME Supervisable */, 00306 int /* E Type de dependance ou de lecture */ 00307 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00308 double */* E/S Borne inf de l'intervalle de lecture */ 00309 /* Retourne le pas lu dans le cas de */ 00310 /* lecture sequentielle */, 00311 double */* E Borne Sup de l'intervalle de lecture */, 00312 int * /* E/S Pas d'iteration a lire */ 00313 /* Retourne le pas lu dans le cas de */ 00314 /* lecture sequentielle */, 00315 char * /* E Nom de la variable a lire */, 00316 int /* E Nombre max de valeurs a lire */, 00317 int * /* S Nombre de valeurs rellement lues */, 00318 double**/* E/S Tableau de doubles pour stocker les */ 00319 /* valeurs lues */ 00320 #endif 00321 ); 00322 00323 extern int ecp_nlcp( 00324 /* ------- */ 00325 #if CPNeedPrototype 00326 void * component /* Pointeur de type Superv_Component_i* sur le */ 00327 /* composant SALOME Supervisable */, 00328 int /* E Type de dependance ou de lecture */ 00329 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00330 float * /* E/S Borne inf de l'intervalle de lecture */ 00331 /* Retourne le pas lu dans le cas de */ 00332 /* lecture sequentielle */, 00333 float * /* E Borne Sup de l'intervalle de lecture */, 00334 int * /* E/S Pas d'iteration lire */ 00335 /* Retourne le pas lu dans le cas de */ 00336 /* lecture sequentielle */, 00337 char * /* E Nom de la variable a lire */, 00338 int /* E Nombre max de valeurs a lire */, 00339 int * /* S Nombre de valeurs rellement lues */, 00340 float **/* E/S Tableau de flottants pour stocker les */ 00341 /* valeurs lues (dimension = 2 * le nombre */ 00342 /* de valeurs lues) */ 00343 #endif 00344 ); 00345 00346 extern int ecp_nllo( 00347 /* ------- */ 00348 #if CPNeedPrototype 00349 void * component /* Pointeur de type Superv_Component_i* sur le */ 00350 /* composant SALOME Supervisable */, 00351 int /* E Type de dependance ou de lecture */ 00352 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00353 float * /* E/S Borne inf de l'intervalle de lecture */ 00354 /* Retourne le pas lu dans le cas de */ 00355 /* lecture sequentielle */, 00356 float * /* E Borne Sup de l'intervalle de lecture */, 00357 int * /* E/S Pas d'iteration a lire */ 00358 /* Retourne le pas lu dans le cas de */ 00359 /* lecture sequentielle */, 00360 char * /* E Nom de la variable a lire */, 00361 int /* E Nombre max de valeurs a lire */, 00362 int * /* S Nombre de valeurs rellement lues */, 00363 int **/* E/S Tableau d 'entier pour stocker les */ 00364 /* valeurs lues (remplace le logiques) */ 00365 #endif 00366 ); 00367 00368 extern int ecp_nlch( 00369 /* ------- */ 00370 #if CPNeedPrototype 00371 void * component /* Pointeur de type Superv_Component_i* sur le */ 00372 /* composant SALOME Supervisable */, 00373 int /* E Type de dependance ou de lecture */ 00374 /* CP_TEMPS, CP_ITERATION, CP_SEQUENTIEL */, 00375 float * /* E/S Borne inf de l'intervalle de lecture */ 00376 /* Retourne le pas lu dans le cas de */ 00377 /* lecture sequentielle */, 00378 float * /* E Borne Sup de l'intervalle de lecture */, 00379 int * /* E/S Pas d'iteration a lire */ 00380 /* Retourne le pas lu dans le cas de */ 00381 /* lecture sequentielle */, 00382 char * /* E Nom de la variable a lire */, 00383 int /* E Nombre max de valeurs a lire */, 00384 int * /* S Nombre de valeurs rellement lues */, 00385 char **[]/* E/S Tableau de chaines pour stocker les */ 00386 /* valeurs lues (remplace le logiques) */, 00387 int /* E Taille des chaines du tablaeu */ 00388 #endif 00389 ); 00390 00391 00392 00393 #if defined(__cplusplus) || defined(c_plusplus) 00394 } 00395 #endif 00396 00397 00398 #endif