0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030 #include <stdio.h>
0031 #include <stdlib.h>
0032 #include <string.h>
0033 #include "tsdef.h"
0034 #include "tsconf.h"
0035 #if (client == MAC)
0036
0037 #endif
0038 #include "tsfonc.h"
0039 #include "tsmes.h"
0040 #include "tstype.h"
0041 #include "tsext.h"
0042 #include "functs.h"
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066 Longint FAR_PASCAL
0067 TSWrite ( char *NomTrait,
0068 pS_Entree Entrees,
0069 Longint *Longueurs,
0070 Longint *Certif,
0071 char *TabVal,
0072 Longint LongNb,
0073 Longint CertifNb,
0074 Longint ValNb )
0075
0076 {
0077 Longint CR;
0078 Longint code_param;
0079 Longint numchoc;
0080
0081 #if (client == MAC)
0082 ConnHandle NumSocket;
0083 #else
0084 int NumSocket;
0085 #endif
0086 short int CodeFonc;
0087 Longint Resultat;
0088
0089 char host[64], *var_env;
0090 int rejeu_ok = 0, len_host = 63 ;
0091
0092 numchoc = Entrees->union_var.lval;
0093
0094
0095 if (!strcmp(getenv("USER"),"devtrait"))
0096 {
0097 printf("Developpement traitement : Ecriture Choc # %d sous # 77 \n",numchoc);
0098 Entrees->union_var.lval=77;
0099 }
0100
0101
0102
0103 code_param = ok;
0104
0105 if (NomTrait == NULL)
0106 code_param = p_nomtrait;
0107 if (code_param != ok)
0108 return (Gestion_Erreur (erreur_chaine_vide, code_param));
0109
0110 if (Longueurs == NULL)
0111 code_param = p_longueurs;
0112 if (Certif == NULL)
0113 code_param = p_certif;
0114 if (TabVal == NULL)
0115 code_param = p_tabval;
0116
0117
0118 if (!gethostname(host, len_host)) {
0119
0120 "nunki"
0121 "asterope"
0122
0123 var_env = getenv("TOUR");
0124 if(var_env) {
0125 if( !strcmp(var_env,"BABEL") )
0126 rejeu_ok = 1;
0127 }
0128
0129 }
0130
0131
0132 if (code_param != ok)
0133 return (Gestion_Erreur (erreur_tableau_vide, code_param));
0134
0135
0136 if ((Resultat = Debut_Communication (&NumSocket, 1)) != ok)
0137 return Resultat;
0138
0139
0140 if(compress_on)
0141 CodeFonc = fonc_tswrite;
0142 else
0143 CodeFonc = -(fonc_tswrite - MAX_FUNCT_NUMBER);
0144 if ((Resultat = Emission (NumSocket, (char *) &CodeFonc, taille_short, p_codefonc))
0145 != ok)
0146 return Resultat;
0147
0148
0149
0150
0151
0152
0153
0154 if ((Resultat = Emission (NumSocket, (char *) &rejeu_ok, taille_long, p_longnb))
0155 != ok)
0156 return Resultat;
0157
0158
0159
0160 if ((Resultat = Emission (NumSocket, NomTrait, TAILLE_NOM_TRAITEMENT, p_nomtrait))
0161 != ok)
0162 return Resultat;
0163
0164 if ((Resultat = Emission_Entrees (NumSocket, Entrees, p_entrees))
0165 != ok)
0166 return Resultat;
0167
0168 if ((Resultat = Emission (NumSocket, (char *) &LongNb, taille_long, p_longnb))
0169 != ok)
0170 return Resultat;
0171
0172 if ((Resultat = Emission (NumSocket, (char *) Longueurs, LongNb, p_longueurs))
0173 != ok)
0174 return Resultat;
0175
0176 if ((Resultat = Emission (NumSocket, (char *) &CertifNb, taille_long, p_certifnb))
0177 != ok)
0178 return Resultat;
0179
0180 if ((Resultat = Emission (NumSocket, (char *) Certif, CertifNb, p_certif))
0181 != ok)
0182 return Resultat;
0183
0184 if ((Resultat = Emission (NumSocket, (char *) &ValNb, taille_long, p_valnb))
0185 != ok)
0186 return Resultat;
0187
0188 if ((Resultat = Emission (NumSocket, (char *) TabVal, ValNb, p_tabval))
0189 != ok)
0190 return Resultat;
0191
0192
0193
0194 #if ((client!=PC) && (client !=MAC))
0195 if ((Resultat = Fin_Emission (NumSocket))
0196 == erreur_fin_emission)
0197 return Resultat;
0198 #endif
0199
0200
0201
0202 if ((Resultat = Reception (NumSocket, (char *) &CR, taille_long, p_cr))
0203 != ok)
0204 return Resultat;
0205
0206
0207
0208 Fin_Communication (NumSocket);
0209
0210 return CR;
0211 }
0212
0213
0214
0215
0216
0217
0218
0219
0220
0221
0222
0223
0224
0225
0226
0227
0228
0229
0230 Longint FAR_PASCAL
0231 TSWcertif ( char *NomDon,
0232 pS_Entree Entrees,
0233 Longint *Certif,
0234 Longint CertifNb )
0235
0236 {
0237 Longint CR;
0238 Longint code_param;
0239
0240 #if (client == MAC)
0241 ConnHandle NumSocket;
0242 #else
0243 int NumSocket;
0244 #endif
0245 short int CodeFonc;
0246 Longint Resultat;
0247
0248
0249
0250 code_param = ok;
0251
0252 if (NomDon == NULL)
0253 code_param = p_nomdon;
0254 if (code_param != ok)
0255 return (Gestion_Erreur (erreur_chaine_vide, code_param));
0256
0257 if (Certif == NULL)
0258 code_param = p_certif;
0259 if (code_param != ok)
0260 return (Gestion_Erreur (erreur_tableau_vide, code_param));
0261
0262
0263
0264 if ((Resultat = Debut_Communication (&NumSocket, 1)) != ok)
0265 return Resultat;
0266
0267
0268
0269 if(compress_on)
0270 CodeFonc = fonc_tswcertif;
0271 else
0272 CodeFonc = -(fonc_tswcertif - MAX_FUNCT_NUMBER);
0273 if ((Resultat = Emission (NumSocket, (char *) &CodeFonc, taille_short, p_codefonc))
0274 != ok)
0275 return Resultat;
0276
0277
0278
0279
0280 if ((Resultat = Emission (NumSocket, NomDon, TAILLE_NOM_DONNEE, p_nomdon))
0281 != ok)
0282 return Resultat;
0283
0284 if ((Resultat = Emission_Entrees (NumSocket, Entrees, p_entrees))
0285 != ok)
0286 return Resultat;
0287
0288 if ((Resultat = Emission (NumSocket, (char *) &CertifNb, taille_long, p_certifnb))
0289 != ok)
0290 return Resultat;
0291
0292 if ((Resultat = Emission (NumSocket, (char *) Certif, CertifNb, p_certif))
0293 != ok)
0294 return Resultat;
0295
0296
0297
0298 #if ((client!=PC) && (client !=MAC))
0299 if ((Resultat = Fin_Emission (NumSocket))
0300 == erreur_fin_emission)
0301 return Resultat;
0302 #endif
0303
0304
0305
0306 if ((Resultat = Reception (NumSocket, (char *) &CR, taille_long, p_cr))
0307 != ok)
0308 return Resultat;
0309
0310
0311
0312 Fin_Communication (NumSocket);
0313
0314 return CR;
0315
0316 }
0317
0318
0319
0320
0321
0322
0323
0324
0325
0326
0327
0328
0329
0330 Longint FAR_PASCAL
0331 TSInitOccTrait (char *NomTrait, pS_Entree Entrees)
0332
0333 {
0334 Longint CR;
0335 Longint code_param;
0336 Longint numchoc;
0337
0338 #if (client == MAC)
0339 ConnHandle NumSocket;
0340 #else
0341 int NumSocket;
0342 #endif
0343 short int CodeFonc;
0344 Longint Resultat;
0345
0346 char host[64], *var_env;
0347 int rejeu_ok = 0, len_host = 63 ;
0348
0349 numchoc = Entrees->union_var.lval;
0350
0351
0352 if (!strcmp(getenv("USER"),"devtrait"))
0353 {
0354 printf("Developpement traitement : Ecriture Choc # %d sous # 77 \n",numchoc);
0355 Entrees->union_var.lval=77;
0356 }
0357
0358
0359
0360 code_param = ok;
0361
0362 if (NomTrait == NULL)
0363 code_param = p_nomtrait;
0364 if (code_param != ok)
0365 return (Gestion_Erreur (erreur_chaine_vide, code_param));
0366
0367
0368 if (!gethostname(host, len_host)) {
0369
0370 var_env = getenv("TOUR");
0371 if(var_env) {
0372 if( !strcmp(var_env,"BABEL") )
0373 rejeu_ok = 1;
0374 }
0375
0376 }
0377
0378
0379 if ((Resultat = Debut_Communication (&NumSocket, 1)) != ok)
0380 return Resultat;
0381
0382
0383 if(compress_on)
0384 CodeFonc = fonc_tsinitocctrait;
0385 else
0386 CodeFonc = -(fonc_tsinitocctrait - MAX_FUNCT_NUMBER);
0387 if ((Resultat = Emission (NumSocket, (char *) &CodeFonc, taille_short, p_codefonc))
0388 != ok)
0389 return Resultat;
0390
0391
0392 if ((Resultat = Emission (NumSocket, (char *) &rejeu_ok, taille_long, p_longnb))
0393 != ok)
0394 return Resultat;
0395
0396 if ((Resultat = Emission (NumSocket, NomTrait, TAILLE_NOM_TRAITEMENT, p_nomtrait))
0397 != ok)
0398 return Resultat;
0399
0400 if ((Resultat = Emission_Entrees (NumSocket, Entrees, p_entrees))
0401 != ok)
0402 return Resultat;
0403
0404
0405 #if ((client!=PC) && (client !=MAC))
0406 if ((Resultat = Fin_Emission (NumSocket)) == erreur_fin_emission)
0407 return Resultat;
0408 #endif
0409
0410
0411 if ((Resultat = Reception (NumSocket, (char *) &CR, taille_long, p_cr))
0412 != ok)
0413 return Resultat;
0414
0415
0416 Fin_Communication (NumSocket);
0417 return CR;
0418 }
0419
0420
0421
0422
0423
0424
0425
0426
0427
0428
0429
0430
0431
0432
0433
0434 Longint FAR_PASCAL
0435 TSUpdateOccTrait (char *NomTrait, pS_Entree Entrees, Longint Status,
0436 Longint Dureems)
0437 {
0438 Longint CR;
0439 Longint code_param;
0440 Longint numchoc;
0441
0442 #if (client == MAC)
0443 ConnHandle NumSocket;
0444 #else
0445 int NumSocket;
0446 #endif
0447 short int CodeFonc;
0448 Longint Resultat;
0449
0450 numchoc = Entrees->union_var.lval;
0451
0452
0453 if (!strcmp(getenv("USER"),"devtrait"))
0454 {
0455 printf("Developpement traitement : Ecriture Choc # %d sous # 77 \n",numchoc);
0456 Entrees->union_var.lval=77;
0457 }
0458
0459
0460
0461 code_param = ok;
0462
0463 if (NomTrait == NULL)
0464 code_param = p_nomtrait;
0465 if (code_param != ok)
0466 return (Gestion_Erreur (erreur_chaine_vide, code_param));
0467
0468
0469
0470
0471
0472
0473
0474 if ((Resultat = Debut_Communication (&NumSocket, 1)) != ok)
0475 return Resultat;
0476
0477
0478 if(compress_on)
0479 CodeFonc = fonc_tsupdateocctrait;
0480 else
0481 CodeFonc = -(fonc_tsupdateocctrait - MAX_FUNCT_NUMBER);
0482 if ((Resultat = Emission (NumSocket, (char *) &CodeFonc, taille_short, p_codefonc))
0483 != ok)
0484 return Resultat;
0485
0486
0487 if ((Resultat = Emission (NumSocket, NomTrait, TAILLE_NOM_TRAITEMENT, p_nomtrait))
0488 != ok)
0489 return Resultat;
0490
0491 if ((Resultat = Emission_Entrees (NumSocket, Entrees, p_entrees))
0492 != ok)
0493 return Resultat;
0494
0495 if ((Resultat = Emission (NumSocket, (char *) &Status, taille_long, p_status))
0496 != ok)
0497 return Resultat;
0498
0499 if ((Resultat = Emission (NumSocket, (char *) &Dureems, taille_long, p_duree))
0500 != ok)
0501 return Resultat;
0502
0503
0504 #if ((client!=PC) && (client !=MAC))
0505 if ((Resultat = Fin_Emission (NumSocket)) == erreur_fin_emission)
0506 return Resultat;
0507 #endif
0508
0509
0510 if ((Resultat = Reception (NumSocket, (char *) &CR, taille_long, p_cr))
0511 != ok)
0512 return Resultat;
0513
0514
0515 Fin_Communication (NumSocket);
0516 return CR;
0517 }