Back to index

salome-kernel  6.5.0
calciumP.h
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  File   : calciumP.h
00024 //  Author : Eric Fayolle (EDF)
00025 //  Module : KERNEL
00026 //
00027 /* Outils d'Aide au Couplage de Code de Calcul : $Id: calciumP.h,v 1.3.2.1.14.2.12.1 2012-04-12 14:05:07 vsr Exp $ */
00028 #ifndef __CONST_H
00029 #define __CONST_H
00030 
00031 #ifndef        TrueOrFalse
00032 #define        TrueOrFalse        int
00033 #define        TRUE        1
00034 #define        FALSE        0
00035 #endif
00036 
00037 /* Definition d'un type de donnes pour le stockage du        */
00038 /* des pas de temps                                        */
00039 #ifdef CRAY
00040 #define        Temps                float
00041 #define        FORMAT_TEMPS        "%lf"
00042 #else
00043 #define Temps                double
00044 #define        FORMAT_TEMPS        "%lg"
00045 #endif
00046 
00047 /* Precision relative pour tests d'egalite sur les temps */
00048 #define EPSILON  1.e-6
00049 
00050 /* Tailles utilisees lors des transmissions des noms        */
00051 #define                VERSION_LEN        144
00052 #define                CODE_LEN        72
00053 #define                VARIABLE_LEN        144
00054 #define                INSTANCE_LEN        72
00055 #define                DRIVER_LEN        72
00056 
00057 
00058 /* Tailles maximums                                         */
00059 #define                ARCHI_LEN                64
00060 #define                ENV_VAR_LEN                256
00061 #define                ACCC_LEN                256
00062 #define                PVM_LEN                        256
00063 #define                USER_LEN                256
00064 #define                MACHINE_LEN                256
00065 #define                COMMAND_LEN                256
00066 #define                MAX_LEN                        256
00067 #define                FICHIER_LEN                256
00068 
00069 /* Nombre de lignes dans une page du fichier erreur         *
00070  * de trace                                                */
00071 #define                NB_LIGNE_ERREUR                45
00072 #define                NB_LIGNE_TRACE                45
00073 
00074 
00075 
00076 /* Type d'arret d'une instance                                */
00077 #define                CP_NORMALE                10
00078 #define                CP_ANORMALE                11
00079 
00080 /* Directive de continuation d'une instance                */
00081 #define                CP_CONT                        20
00082 #define                CP_ARRET                21
00083 
00084 /* Etat d'une instance                                        */
00085 #define                CP_INITIAL                22
00086 #define                CP_NON_CONNECTE                23
00087 #define                CP_ATTENTE                24
00088 #define                CP_EXECUTION                25
00089 #define                CP_DECONNECTE                26
00090 #define                CP_TERMINE                27
00091 
00092 /* Type de variables                                        */
00093 #define                CP_ENTIER                30
00094 #define                CP_REEL                        31
00095 #define                CP_DREEL                32
00096 #define                CP_COMPLEXE                33
00097 #define                CP_LOGIQUE                34
00098 #define                CP_CHAINE                35
00099 
00100 /* Type de dependance des variables                        */
00101 #define                CP_TEMPS                40
00102 #define                CP_ITERATION                41
00103 #define                CP_SEQUENTIEL                42
00104 
00105 /* Send des variables                                        */
00106 #define                CP_IN                        50
00107 #define                CP_OUT                        51
00108 
00109 /* Type des instances                                        */
00110 #define                CP_NORMAL                60
00111 #define                CP_ESPION                62
00112 
00113 /* Niveaux                                                */
00114 #define                CP_ILLIMITE                -70
00115 #define                CP_AUTESP                -71
00116 
00117 /* Mode de trace                                        */
00118 #define                CP_SANS                        80
00119 #define                CP_SUCCINCT                81
00120 #define                CP_DETAILLE                82
00121 
00122 
00123 /* Mode d'execution                                        */
00124 /* La valeur CP_NORMAL definie pour les types                */
00125 /* est aussi utilisee                                        */
00126 #define                CP_PAUSE                91
00127 
00128 
00129 /* Type d'interpolation                                        */
00130 #define                CP_LINEAIRE                100
00131 #define                CP_ESCALIER                101
00132 
00133 
00134 /* Repere dans cycle de temps                                */
00135 #define                TI                        110
00136 #define                TF                        111
00137 
00138 /* Mode de nettoyage des donnees d'un lien                */
00139 #define                CP_TOUTES                120
00140 #define                CP_AUCUNE                121
00141 #define                CP_PAS                   122
00142 
00143 /* Options configurables                                */
00144 #define                CP_ROUTE                131
00145 #define                CP_ERREURS                132
00146 
00147 /* Valeurs pour l'option CP_ROUTE                        */
00148 #define                CP_ROUTE_NORMAL                133
00149 #define                CP_ROUTE_DIRECT                134
00150 
00151 /* Valeurs pour l'option Comportement en cas d'erreur        */
00152 #define                CP_AUTO                        135
00153 #define                CP_BLOCAGE                136
00154 #define                CP_MANUEL                137
00155 
00156 /* Type de requete de lecture                                */
00157 /* La valeur CP_ATTENTE define pour l'etat d'une        */
00158 /* instance est aussi utilisee                                */
00159 #define                CP_IMMEDIATE                141
00160 
00161 /* Definition des types de lien                                */
00162 #define CPLVAV                                151
00163 #define CPLVAF                                152
00164 #define CPLVAS                                153
00165 #define CPLCAV                                154
00166 #define CPLFAV                                155
00167 
00168 /* Codes des entetes des messages (Evenemet *)                */
00169 #define                ERREUR                                1000
00170 #define                CONNEXION                        1001
00171 #define                EMISSION                        1002
00172 #define                DECONNEXION                        1003
00173 #define                LECTURE_VARIABLE                1004
00174 #define                ECRITURE_VARIABLE                1005
00175 #define                FIN_DE_PAS                        1006
00176 #define                AUIN_FIN_DE_PAS                        1007
00177 #define                EFFACEMENT                        1008
00178 #define                MODE_EXEC                        1009
00179 #define                RUN_N_PAS                        1010
00180 #define                DEF_CODE                        1011
00181 #define                DEF_INSTANCE                        1012
00182 #define                DEF_LIEN                        1013
00183 #define                DEM_VERSION                        1014
00184 #define                SET_OPTION                        1015
00185 #define                DEM_OPTION                        1016
00186 #define                DEM_CODES                        1017
00187 #define                DEM_INSTS_DE_CODE                1018
00188 #define                DEM_VARIABLES                        1019
00189 #define                DEM_VARS_DE_CODE                1020
00190 #define                DEM_VARS_DE_INST                1021
00191 #define                DEM_CARS_DE_VARIABLE                1022
00192 #define                DEM_CARS_DE_LIEN                1023
00193 #define                ENV_VALEURS_VARIABLE                1024
00194 #define                ENV_OPTION                        1025
00195 #define                ENV_CODES                        1026
00196 #define                ENV_INSTS_DE_CODE                1027
00197 #define                ENV_VARIABLES                        1028
00198 #define                ENV_VARS_DE_CODE                1029
00199 #define                ENV_VARS_DE_INST                1030
00200 #define                ENV_CARS_DE_VARIABLE                1031
00201 #define                ENV_CARS_DE_LIEN                1032
00202 #define         ENV_TOPOLOGY                    1033
00203 #define         R_ENV_TOPOLOGY                  1034
00204 #define         ENV_MACHINE                     1035
00205 #define         R_ENV_MACHINE                   1036
00206 #define         ENV_CODE                        1037
00207 #define         R_ENV_CODE                      1038
00208 #define         ENV_INSTANCE                    1039
00209 #define         R_ENV_INSTANCE                  1040
00210 #define         ENV_VAR                         1041
00211 #define         R_ENV_VAR                       1042
00212 #define         ENV_LIEN                        1043
00213 #define         R_ENV_LIEN                      1044
00214 #define         ENV_ATTRIBUTS                   1045
00215 #define         R_ENV_ATTRIBUTS                 1046
00216 #define         ENV_VDATA                       1047
00217 #define         R_ENV_VDATA                     1048
00218 
00219 
00220 
00221 
00222 
00223 
00224 
00225 
00226 
00227 /* Message PVM                                                */
00228 #define                P_HOST_DELETE                        2000
00229 #define                P_TASK_EXIT                        2001
00230 
00231 
00232 
00233 
00234 
00235 /* Codes d'erreur                                        */
00236 
00237 /* Pas d'erreur                                */
00238 #define                CPOK                        0
00239 
00240 /* Emetteur inconnu                        */
00241 #define                CPERIU                        1
00242 
00243 /* Nom de variable inconnu                */
00244 #define                CPNMVR                        2
00245 
00246 /* Type entree/sortie incompatible        */
00247 #define                CPIOVR                        3
00248 
00249 /* Type inconnu                                */
00250 #define                CPTP                        4
00251 
00252 /* Type de variable incompatible        */
00253 #define                CPTPVR                        5
00254 
00255 /* Mode de dependance inconnu                */
00256 #define                CPIT                        6
00257 
00258 /* Mode dependance incompatible                */
00259 #define                CPITVR                        7
00260 
00261 /* Requete non autorisee                */
00262 #define                CPRENA                        8
00263 
00264 /* Type de deconnexion incorrect        */
00265 #define                CPDNTP                        9
00266 
00267 /* Directive de deconnexion incorrecte        */
00268 #define                CPDNDI                        10
00269 
00270 /* Nom de code inconnu                        */
00271 #define                CPNMCD                        11
00272 
00273 /* Nom d'instance inconnu                */
00274 #define                CPNMIN                        12
00275 
00276 /* Attente                                */
00277 #define                CPATTENTE                13
00278 
00279 /* Blocage                                */
00280 #define                CPBLOC                        14
00281 
00282 /* Nombre de valeurs transmises egal a zero        */
00283 #define                CPNTNULL                15
00284 
00285 /* Longueur de variable insuffisante        */
00286 #define                CPLGVR                        16
00287 
00288 /* L'instance doit s'arreter                */
00289 #define                CPSTOP                        17
00290 
00291 /* Arret anormal                        */
00292 #define                CPATAL                        18
00293 
00294 /* Coupleur abscent                        */
00295 #define                CPNOCP                        19
00296 
00297 /* Variable sortante non connectee        */
00298 #define                CPCTVR                        20
00299 
00300 /* Nombre de pas a executer egal a zero        */
00301 #define                CPPASNULL                21
00302 
00303 /* Machine inconnue                        */
00304 #define                CPMACHINE                22
00305 
00306 /* COUPLAGE_GROUPE non positionnee        */
00307 #define                CPGRNU                        23
00308 
00309 /* Groupe d'instances incorrect                */
00310 #define                CPGRIN                        24
00311 
00312 /* Fin du fichier d'entree                */
00313 #define                CPFINFICH                25
00314 
00315 /* Erreur de format dans un fichier        */
00316 #define                CPERRFICH                26
00317 
00318 /* Requete d'avance de n pas annullee        */
00319 /* par passage en mode NORMAL                */
00320 #define                CPNORERR                27
00321 
00322 /* Coupleur en mode NORMAL pour une        */
00323 /* requete RUN_N_PAS ou DEF_*                */
00324 #define                CPRUNERR                28
00325 
00326 /* Option inconnue                        */
00327 #define                CPOPT                        29
00328 
00329 /* Valeur d'option inconnue                */
00330 #define                CPVALOPT                30
00331 
00332 /* Ecriture impossible par effacement        */
00333 #define                CPECREFF                31
00334 
00335 /* Lecture d'une variable non connectee        */
00336 /* ou n'appartenant pas a un lien VAS        */
00337 /* ou VAV s'il s'agit d'une sortante        */
00338 #define                CPLIEN                        32
00339 
00340 /* Lecture d'une variable d'une instance*/
00341 /* deconnectee avec directive CP_ARRET        */
00342 #define                CPINARRET                33
00343 
00344 /* Les lectures sequentielles ne pourront plus                */
00345 /* etre satisfaites : instance productrice arretee        */
00346 #define                CPSTOPSEQ                34
00347 
00348 /* Erreur dans la chaine de declaration        */
00349 #define                CPDECL                        35
00350 
00351 /* Erreur dans l'execution de l'instance ajoutee */
00352 #define                CPINEXEC                36
00353 
00354 /* Erreur PVM                                */
00355 #define                CPPVM                        37
00356 
00357 /* Erreur detectee au niveau de l'interface de couplage        */
00358 #define                CPERRINST                38
00359 
00360 
00361 /* IDM : les deux define suivants ont ete rajoutes a la main*/
00362 
00363 /* Erreur de mode d'execution non defini */
00364 #define                CPMODE                        39
00365 
00366 /* Erreur d'instance deconnectee */
00367 #define         CPINSTDEC                40
00368 
00369 /* Codes des evenements pour le fichier de trace        */
00370 
00371 /* Debut du couplage                                        */
00372 #define                DEBUT_COUPLAGE                0
00373 
00374 /* Fin du couplage                                        */
00375 #define                FIN_COUPLAGE                1
00376 
00377 /* Execution d'une instance par Oacc                        */
00378 #define                EXEC                        2
00379 
00380 /* Connexion d'une instance                                */
00381 #define                CPCD                        3
00382 
00383 /* Permission d'emettre accordee a l'instance                */
00384 #define                CPALLOW                        4
00385 
00386 /* Requete d'ecriture                                        */
00387 #define                CPECRI                        5
00388 
00389 /* Requete de lecture                                        */
00390 #define                DEB_LECT                6
00391 
00392 /* Envoi des donnees suite a une requete de lecture        */
00393 #define                FIN_LECT                7
00394 
00395 /* Deconnexion d'une instance                                */
00396 #define                CPFIN                        8
00397 
00398 /* Requete de fin de pas                                */
00399 #define                CPFINP                        9
00400 
00401 /* Requete d'autorisation de fin de pas                        */
00402 #define                CPAUFP                        10
00403 
00404 /* Requete d'interdiction de fin de pas                        */
00405 #define                CPINFP                        11
00406 
00407 /* Requete d'effacement                                        */
00408 #define                CPEFF                        12
00409 
00410 /* Signal d'arret d'une instance                        */
00411 #define                STOP                        13
00412 
00413 /* Avis de blocage suite a une requete de lecture        */
00414 #define                BLOCAGE                        14
00415 
00416 /* Requete de passage en mode pause                        */
00417 #define                CPPAUSE                        15
00418 
00419 /* Requete de passage en mode normal                        */
00420 #define                CPNORMAL                16
00421 
00422 /* Requete d'execution de n pas                                */
00423 #define                CPNPAS                        17
00424 
00425 /* Requete de definition d'un code                        */
00426 #define                CPADCD                        18
00427 
00428 /* Requete de definition d'une instance                        */
00429 #define                CPADINCD                19
00430 
00431 /* Requete de definition d'un lien                        */
00432 #define                CPADLN                        20
00433 
00434 /* Requete d'identification de version                        */
00435 #define                CPIVERS                        21
00436 
00437 /* Requete de demande de la liste des codes                */
00438 #define                CPICD                        22
00439 
00440 /* Requete de demande des instances d'un code                */
00441 #define                CPIINCD                        23
00442 
00443 /* Requete de demande de la liste des variables globales*/
00444 #define                CPIVR                        24
00445 
00446 /* Requete de demande des variables d'un code                */
00447 #define                CPIVRCD                        25
00448 
00449 /* Requete de demande des variables d'une instance        */
00450 #define                CPIVRIN                        26
00451 
00452 /* Requete de demande d'info sur une variable globale        */
00453 #define                CPICAVR                        27
00454 
00455 /* Requete de demande des caracteristiques d'un lien        */
00456 #define                CPIILIEN                28
00457 
00458 /* Requete de modification d'une option                        */
00459 #define                CPSETOPT                29
00460 
00461 /* Requete de consultation d'une option                        */
00462 #define                CPGETOPT                30
00463 
00464 /* Terminaison d'une tache PVM                                */
00465 #define                TASK_EXIT                31
00466 
00467 /* Deconnexion d'une machine                                */
00468 #define                HOST_DELETE                32
00469 
00470 
00471 #ifdef PRG_MAIN
00472 /*        Fichier principal de la bibliotheque de couplage */
00473   const char *  CPMESSAGE[] = {
00474     "",
00475     "Emitter unknown",
00476     "Variable name unknown",
00477     "Different input/output codes in code and supervisor",
00478     "Variable type unknown",
00479     "Different variable types in code and supervisor",
00480     "Dependency mode unknown",
00481     "Different dependency modes in code and supervisor",
00482     "Unauthorized request",
00483     "Unauthorized disconnection request type",
00484     "Unauthorized disconnection directive",
00485     "Code name unknown",
00486     "Instance name unknown",
00487     "Waiting request",
00488     "Blocking",
00489     "Zero value number",
00490     "Insufficient variable length",
00491     "Instance is going to stop",
00492     "Unexpected instance stop",
00493     "Manuel execution",
00494     "Output variable not connected",
00495     "Number of steps to execute is nul",
00496     "Non declared computer",
00497     "Environment variable COUPLAGE_GROUPE is not set",
00498     "Instance group given by COUPLAGE_GROUPE is wrong",
00499     "End of input file",
00500     "Format error in input file",
00501     "Request ignored because of switching to NORMAL mode",
00502     "Supervisor is in normal execution mode",
00503     "Unknown option",
00504     "Option value is wrong",
00505     "Impossible to write because of an erasing request",
00506     "Reading of a variable wrongly connected",
00507     "Reading of a variable of an instance disconnected with CP_ARRET",
00508     "Sequential reading no more possible",
00509     "Error in declaration",
00510     "Error in instance launching",
00511     "Communication error",
00512     "Error in the instance",
00513     "Environnement variable CAL_MODE is not set",
00514     "Disconnected instance",
00515   };
00516 
00517 #else
00518 
00519 extern const char * CPMESSAGE[];
00520 
00521 #endif
00522 
00523 
00524 /* Type de variables        */
00525 #define        ENTIER        30
00526 #define        REEL          31
00527 #define        DREEL         32
00528 #define        COMPLEXE      33
00529 #define        LOGIQUE       34
00530 #define        CHAINE        35
00531 
00532 /* Macro minuscule majuscule */
00533 #define                TOUPPER(string)        \
00534 {\
00535   int i, number = strlen(string);\
00536   for (i = 0; i < number; i++) string[i] = toupper(string[i]); \
00537 }
00538 
00539 /* Macro inferieur */
00540 #define                INF(a,b) (a <= b ? a : b)
00541 
00542 /* Macro superieur */
00543 #define                SUP(a,b) (a >= b ? a : b)
00544 
00545 
00546 #endif
00547