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 #include <stdio.h>
0027 #include <stdlib.h>
0028 #include <string.h>
0029 #include "tsdef.h"
0030 #include "tsconf.h"
0031 #if (client == MAC)
0032
0033 #endif
0034
0035 #include "tsfonc.h"
0036 #include "tsmes.h"
0037 #include "tstype.h"
0038 #include "tsext.h"
0039 #include "functs.h"
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067 Longint FAR_PASCAL
0068 TSSigDeclenche ( char *NomDon,
0069 Longint NumChoc,
0070 char *NomDec,
0071 Longint Occur,
0072 Longint NbMax,
0073 Longint Extract,
0074 pS_Unite *Unite,
0075 Longint *NumVer,
0076 char *Date,
0077 char *Heure,
0078 Longint *NbMes,
0079 Longint *MaxReel,
0080 char HUGE *T,
0081 char HUGE *Y )
0082 {
0083 Longint CR;
0084 Longint TNb;
0085 Longint YNb;
0086 char TType[2];
0087 char YType[2];
0088 Longint code_param;
0089
0090 #if (client == MAC)
0091 ConnHandle NumSocket;
0092 #else
0093 int NumSocket;
0094 #endif
0095 short int CodeFonc;
0096 Longint Resultat;
0097
0098
0099
0100 code_param = ok;
0101
0102 if (NomDon == NULL)
0103 code_param = p_nomdon;
0104 if (NomDec == NULL)
0105 code_param = p_nomdec;
0106 if (Date == NULL)
0107 code_param = p_date;
0108 if (Heure == NULL)
0109 code_param = p_heure;
0110 if (code_param != ok)
0111 return (Gestion_Erreur (erreur_chaine_vide, code_param));
0112
0113
0114
0115 if (T == NULL)
0116 code_param = p_t;
0117 if (code_param != ok)
0118 return (Gestion_Erreur (erreur_tableau_vide, code_param));
0119
0120
0121
0122 if ((Resultat = Debut_Communication (&NumSocket, 1)) != ok)
0123 return Resultat;
0124
0125
0126
0127 if( compress_on )
0128 CodeFonc = fonc_tssigdeclenche;
0129 else
0130 CodeFonc = fonc_tssigdeclenche - MAX_FUNCT_NUMBER;
0131
0132 if ((Resultat = Emission (NumSocket, (char *) &CodeFonc, taille_short, p_codefonc))
0133 != ok)
0134 return Resultat;
0135
0136
0137
0138 if ((Resultat = Emission (NumSocket, NomDon, TAILLE_NOM_DONNEE, p_nomdon))
0139 != ok)
0140 return Resultat;
0141
0142 if ((Resultat = Emission (NumSocket, (char *) &NumChoc, taille_long, p_numchoc))
0143 != ok)
0144 return Resultat;
0145
0146 if ((Resultat = Emission (NumSocket, NomDec, TAILLE_NOM_DECLENCHE, p_nomdec))
0147 != ok)
0148 return Resultat;
0149
0150 if ((Resultat = Emission (NumSocket, (char *) &Occur, taille_long, p_occur))
0151 != ok)
0152 return Resultat;
0153
0154 if ((Resultat = Emission (NumSocket, (char *) &NbMax, taille_long, p_nbmax))
0155 != ok)
0156 return Resultat;
0157
0158 if ((Resultat = Emission (NumSocket, (char *) &Extract, taille_long, p_extract))
0159 != ok)
0160 return Resultat;
0161
0162
0163
0164 #if ((client!=PC) && (client !=MAC))
0165 if ((Resultat = Fin_Emission (NumSocket))
0166 == erreur_fin_emission)
0167 return Resultat;
0168 #endif
0169
0170
0171
0172 if ((Resultat = Reception (NumSocket, (char *) &CR, taille_long, p_cr))
0173 != ok)
0174 return Resultat;
0175
0176 if (CR == ok)
0177 {
0178 if ((Resultat = Reception_Unite (NumSocket, Unite, p_unite))
0179 != ok)
0180 return Resultat;
0181
0182 if ((Resultat = Reception (NumSocket, (char *) NumVer, taille_long, p_numver))
0183 != ok)
0184 return Resultat;
0185
0186 if ((Resultat = Reception (NumSocket, Date, TAILLE_DATE, p_date))
0187 != ok)
0188 return Resultat;
0189
0190 if ((Resultat = Reception (NumSocket, Heure, TAILLE_HEURE, p_heure))
0191 != ok)
0192 return Resultat;
0193
0194 if ((Resultat = Reception (NumSocket, (char *) NbMes, taille_long, p_nbmes))
0195 != ok)
0196 return Resultat;
0197
0198 if ((Resultat = Reception (NumSocket, (char *) MaxReel, taille_long, p_maxreel))
0199 != ok)
0200 return Resultat;
0201
0202 if ((Resultat = Reception (NumSocket, (char *) &TNb, taille_long, p_t))
0203 != ok)
0204 return Resultat;
0205
0206 if ((Resultat = Reception (NumSocket, TType, TAILLE_FORMAT_SERVEUR, p_t))
0207 != ok)
0208 return Resultat;
0209
0210 if ((Resultat = Reception_Tableau (NumSocket, T, TNb, TType, p_t))
0211 != ok)
0212 return Resultat;
0213
0214 if ((Resultat = Reception (NumSocket, (char *) &YNb, taille_long, p_y))
0215 != ok)
0216 return Resultat;
0217
0218 if ((YNb != 0) && (Y == NULL))
0219 {
0220 Fin_Communication (NumSocket);
0221 return (Gestion_Erreur (erreur_tableau_vide, p_y));
0222 }
0223
0224 if ((Resultat = Reception (NumSocket, YType, TAILLE_FORMAT_SERVEUR, p_y))
0225 != ok)
0226 return Resultat;
0227
0228 if ((Resultat = Reception_Tableau (NumSocket, Y, YNb, YType, p_y))
0229 != ok)
0230 return Resultat;
0231 }
0232
0233
0234 Fin_Communication (NumSocket);
0235
0236 return CR;
0237
0238 }
0239
0240
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250
0251
0252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262
0263
0264
0265
0266
0267
0268 Longint FAR_PASCAL
0269 TSXtrDeclenche ( char *NomDon,
0270 Longint NumChoc,
0271 Longint *Indices,
0272 char *NomDec,
0273 Longint Occur,
0274 Longint NbMax,
0275 Longint Extract,
0276 pS_Unite *Unite,
0277 Longint *NumVer,
0278 char *Date,
0279 char *Heure,
0280 Longint *NbMes,
0281 Longint *MaxReel,
0282 char HUGE *T,
0283 char HUGE *Y )
0284
0285 {
0286 Longint CR;
0287 Longint TNb;
0288 Longint YNb;
0289 char TType[2];
0290 char YType[2];
0291 Longint code_param;
0292
0293 #if (client == MAC)
0294 ConnHandle NumSocket;
0295 #else
0296 int NumSocket;
0297 #endif
0298 short int CodeFonc;
0299 Longint Resultat;
0300
0301
0302
0303
0304 code_param = ok;
0305
0306 if (NomDon == NULL)
0307 code_param = p_nomdon;
0308 if (NomDec == NULL)
0309 code_param = p_nomdec;
0310 if (Date == NULL)
0311 code_param = p_date;
0312 if (Heure == NULL)
0313 code_param = p_heure;
0314 if (code_param != ok)
0315 return (Gestion_Erreur (erreur_chaine_vide, code_param));
0316
0317
0318
0319 if (T == NULL)
0320 code_param = p_t;
0321 if (Indices == NULL)
0322 code_param = p_indices;
0323 if (code_param != ok)
0324 return (Gestion_Erreur (erreur_tableau_vide, code_param));
0325
0326
0327 if ((Resultat = Debut_Communication (&NumSocket, 1)) != ok)
0328 return Resultat;
0329
0330
0331 if (compress_on)
0332 CodeFonc = fonc_tsxtrdeclenche;
0333 else
0334 CodeFonc = fonc_tsxtrdeclenche - MAX_FUNCT_NUMBER;
0335 if ((Resultat = Emission (NumSocket, (char *) &CodeFonc, taille_short, p_codefonc))
0336 != ok)
0337 return Resultat;
0338
0339
0340
0341 if ((Resultat = Emission (NumSocket, NomDon, TAILLE_NOM_DONNEE, p_nomdon))
0342 != ok)
0343 return Resultat;
0344
0345 if ((Resultat = Emission (NumSocket, (char *) &NumChoc, taille_long, p_numchoc))
0346 != ok)
0347 return Resultat;
0348
0349 if ((Resultat = Emission (NumSocket, (char *) Indices, MAX_INDICE * taille_long,
0350 p_indices))
0351 != ok)
0352 return Resultat;
0353
0354 if ((Resultat = Emission (NumSocket, NomDec, TAILLE_NOM_DECLENCHE, p_nomdec))
0355 != ok)
0356 return Resultat;
0357
0358 if ((Resultat = Emission (NumSocket, (char *) &Occur, taille_long, p_occur))
0359 != ok)
0360 return Resultat;
0361
0362 if ((Resultat = Emission (NumSocket, (char *) &NbMax, taille_long, p_nbmax))
0363 != ok)
0364 return Resultat;
0365
0366 if ((Resultat = Emission (NumSocket, (char *) &Extract, taille_long, p_extract))
0367 != ok)
0368 return Resultat;
0369
0370
0371
0372
0373 #if ((client!=PC) && (client !=MAC))
0374 if ((Resultat = Fin_Emission (NumSocket))
0375 == erreur_fin_emission)
0376 return Resultat;
0377 #endif
0378
0379
0380
0381
0382 if ((Resultat = Reception (NumSocket, (char *) &CR, taille_long, p_cr))
0383 != ok)
0384 return Resultat;
0385
0386 if (CR == ok)
0387 {
0388 if ((Resultat = Reception_Unite (NumSocket, Unite, p_unite))
0389 != ok)
0390 return Resultat;
0391
0392 if ((Resultat = Reception (NumSocket, (char *) NumVer, taille_long, p_numver))
0393 != ok)
0394 return Resultat;
0395
0396 if ((Resultat = Reception (NumSocket, Date, TAILLE_DATE, p_date))
0397 != ok)
0398 return Resultat;
0399
0400 if ((Resultat = Reception (NumSocket, Heure, TAILLE_HEURE, p_heure))
0401 != ok)
0402 return Resultat;
0403
0404 if ((Resultat = Reception (NumSocket, (char *) NbMes, taille_long, p_nbmes))
0405 != ok)
0406 return Resultat;
0407
0408 if ((Resultat = Reception (NumSocket, (char *) MaxReel, taille_long, p_maxreel))
0409 != ok)
0410 return Resultat;
0411
0412 if ((Resultat = Reception (NumSocket, (char *) &TNb, taille_long, p_t))
0413 != ok)
0414 return Resultat;
0415
0416 if ((Resultat = Reception (NumSocket, TType, TAILLE_FORMAT_SERVEUR, p_t))
0417 != ok)
0418 return Resultat;
0419
0420 if ((Resultat = Reception_Tableau (NumSocket, T, TNb, TType, p_t))
0421 != ok)
0422 return Resultat;
0423
0424 if ((Resultat = Reception (NumSocket, (char *) &YNb, taille_long, p_y))
0425 != ok)
0426 return Resultat;
0427
0428 if ((YNb != 0) && (Y == NULL))
0429 {
0430 Fin_Communication (NumSocket);
0431 return (Gestion_Erreur (erreur_tableau_vide, p_y));
0432 }
0433
0434 if ((Resultat = Reception (NumSocket, YType, TAILLE_FORMAT_SERVEUR, p_y))
0435 != ok)
0436 return Resultat;
0437
0438 if ((Resultat = Reception_Tableau (NumSocket, Y, YNb, YType, p_y))
0439 != ok)
0440 return Resultat;
0441
0442 }
0443
0444
0445 Fin_Communication (NumSocket);
0446
0447 return CR;
0448
0449 }
0450
0451
0452
0453
0454
0455
0456
0457
0458
0459
0460
0461
0462
0463
0464
0465
0466
0467
0468
0469
0470
0471
0472
0473
0474
0475
0476
0477
0478 Longint FAR_PASCAL
0479 TSGrpDeclenche ( char *NomDon,
0480 Longint NumChoc,
0481 char *NomDec,
0482 Longint Occur,
0483 Longint NbMax,
0484 Longint Extract,
0485 pS_Unite *Unite,
0486 Longint *NumVer,
0487 char *Date,
0488 char *Heure,
0489 Longint *NbMes,
0490 Longint *MaxReel,
0491 char HUGE *T,
0492 char HUGE *Y )
0493 {
0494 Longint CR;
0495 Longint TNb;
0496 Longint YNb;
0497 char TType[2];
0498 char YType[2];
0499 Longint code_param;
0500
0501 #if (client == MAC)
0502 ConnHandle NumSocket;
0503 #else
0504 int NumSocket;
0505 #endif
0506 short int CodeFonc;
0507 Longint Resultat;
0508
0509
0510
0511
0512 code_param = ok;
0513
0514 if (NomDon == NULL)
0515 code_param = p_nomdon;
0516 if (NomDec == NULL)
0517 code_param = p_nomdec;
0518 if (Date == NULL)
0519 code_param = p_date;
0520 if (Heure == NULL)
0521 code_param = p_heure;
0522 if (code_param != ok)
0523 return (Gestion_Erreur (erreur_chaine_vide, code_param));
0524
0525
0526
0527 if (T == NULL)
0528 code_param = p_t;
0529 if (code_param != ok)
0530 return (Gestion_Erreur (erreur_tableau_vide, code_param));
0531
0532
0533
0534 if ((Resultat = Debut_Communication (&NumSocket, 1)) != ok)
0535 return Resultat;
0536
0537
0538 if(compress_on)
0539 CodeFonc = fonc_tsgrpdeclenche;
0540 else
0541 CodeFonc = fonc_tsgrpdeclenche - MAX_FUNCT_NUMBER;
0542 if ((Resultat = Emission (NumSocket, (char *) &CodeFonc, taille_short, p_codefonc))
0543 != ok)
0544 return Resultat;
0545
0546
0547
0548 if ((Resultat = Emission (NumSocket, NomDon, TAILLE_NOM_DONNEE, p_nomdon))
0549 != ok)
0550 return Resultat;
0551
0552 if ((Resultat = Emission (NumSocket, (char *) &NumChoc, taille_long, p_numchoc))
0553 != ok)
0554 return Resultat;
0555
0556 if ((Resultat = Emission (NumSocket, NomDec, TAILLE_NOM_DECLENCHE, p_nomdec))
0557 != ok)
0558 return Resultat;
0559
0560 if ((Resultat = Emission (NumSocket, (char *) &Occur, taille_long, p_occur))
0561 != ok)
0562 return Resultat;
0563
0564 if ((Resultat = Emission (NumSocket, (char *) &NbMax, taille_long, p_nbmax))
0565 != ok)
0566 return Resultat;
0567
0568 if ((Resultat = Emission (NumSocket, (char *) &Extract, taille_long, p_extract))
0569 != ok)
0570 return Resultat;
0571
0572
0573
0574
0575 #if ((client!=PC) && (client !=MAC))
0576 if ((Resultat = Fin_Emission (NumSocket))
0577 == erreur_fin_emission)
0578 return Resultat;
0579 #endif
0580
0581
0582
0583 if ((Resultat = Reception (NumSocket, (char *) &CR, taille_long, p_cr))
0584 != ok)
0585 return Resultat;
0586
0587 if (CR == ok)
0588 {
0589 if ((Resultat = Reception_Unite (NumSocket, Unite, p_unite))
0590 != ok)
0591 return Resultat;
0592
0593 if ((Resultat = Reception (NumSocket, (char *) NumVer, taille_long, p_numver))
0594 != ok)
0595 return Resultat;
0596
0597 if ((Resultat = Reception (NumSocket, Date, TAILLE_DATE, p_date))
0598 != ok)
0599 return Resultat;
0600
0601 if ((Resultat = Reception (NumSocket, Heure, TAILLE_HEURE, p_heure))
0602 != ok)
0603 return Resultat;
0604
0605 if ((Resultat = Reception (NumSocket, (char *) NbMes, MAX_MESURE * taille_long, p_nbmes))
0606 != ok)
0607 return Resultat;
0608
0609 if ((Resultat = Reception (NumSocket, (char *) MaxReel, taille_long, p_maxreel))
0610 != ok)
0611 return Resultat;
0612
0613 if ((Resultat = Reception (NumSocket, (char *) &TNb, taille_long, p_t))
0614 != ok)
0615 return Resultat;
0616
0617 if ((Resultat = Reception (NumSocket, TType, TAILLE_FORMAT_SERVEUR, p_t))
0618 != ok)
0619 return Resultat;
0620
0621 if ((Resultat = Reception_Tableau (NumSocket, T, TNb, TType, p_t))
0622 != ok)
0623 return Resultat;
0624
0625 if ((Resultat = Reception (NumSocket, (char *) &YNb, taille_long, p_y))
0626 != ok)
0627 return Resultat;
0628
0629 if ((YNb != 0) && (Y == NULL))
0630 {
0631 Fin_Communication (NumSocket);
0632 return (Gestion_Erreur (erreur_tableau_vide, p_y));
0633 }
0634
0635 if ((Resultat = Reception (NumSocket, YType, TAILLE_FORMAT_SERVEUR, p_y))
0636 != ok)
0637 return Resultat;
0638
0639 if ((Resultat = Reception_Tableau (NumSocket, Y, YNb, YType, p_y))
0640 != ok)
0641 return Resultat;
0642
0643 }
0644
0645
0646
0647 Fin_Communication (NumSocket);
0648
0649 return CR;
0650
0651 }