1extern int __VERIFIER_nondet_int(void);
2
3
4
5#line 2 "libacc.c"
6struct JoinPoint {
7 void **(*fp)(struct JoinPoint * ) ;
8 void **args ;
9 int argsCount ;
10 char const **argsType ;
11 void *(*arg)(int , struct JoinPoint * ) ;
12 char const *(*argType)(int , struct JoinPoint * ) ;
13 void **retValue ;
14 char const *retType ;
15 char const *funcName ;
16 char const *targetName ;
17 char const *fileName ;
18 char const *kind ;
19 void *excep_return ;
20};
21#line 18 "libacc.c"
22struct __UTAC__CFLOW_FUNC {
23 int (*func)(int , int ) ;
24 int val ;
25 struct __UTAC__CFLOW_FUNC *next ;
26};
27#line 18 "libacc.c"
28struct __UTAC__EXCEPTION {
29 void *jumpbuf ;
30 unsigned long long prtValue ;
31 int pops ;
32 struct __UTAC__CFLOW_FUNC *cflowfuncs ;
33};
34#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
35typedef unsigned long size_t;
36#line 76 "libacc.c"
37struct __ACC__ERR {
38 void *v ;
39 struct __ACC__ERR *next ;
40};
41#line 1 "scenario.o"
42#pragma merger(0,"scenario.i","")
43#line 7 "featureselect.h"
44int __SELECTED_FEATURE_Base ;
45#line 9 "featureselect.h"
46int __SELECTED_FEATURE_Keys ;
47#line 11 "featureselect.h"
48int __SELECTED_FEATURE_Encrypt ;
49#line 13 "featureselect.h"
50int __SELECTED_FEATURE_AutoResponder ;
51#line 15 "featureselect.h"
52int __SELECTED_FEATURE_AddressBook ;
53#line 17 "featureselect.h"
54int __SELECTED_FEATURE_Sign ;
55#line 19 "featureselect.h"
56int __SELECTED_FEATURE_Forward ;
57#line 21 "featureselect.h"
58int __SELECTED_FEATURE_Verify ;
59#line 23 "featureselect.h"
60int __SELECTED_FEATURE_Decrypt ;
61#line 25 "featureselect.h"
62int __GUIDSL_ROOT_PRODUCTION ;
63#line 22 "scenario.c"
64void bobKeyAdd(void) ;
65#line 27
66void rjhSetAutoRespond(void) ;
67#line 32
68void rjhDeletePrivateKey(void) ;
69#line 37
70void rjhKeyAdd(void) ;
71#line 42
72void chuckKeyAddRjh(void) ;
73#line 47
74void rjhEnableForwarding(void) ;
75#line 52
76void rjhKeyChange(void) ;
77#line 57
78void bobSetAddressBook(void) ;
79#line 62
80void chuckKeyAdd(void) ;
81#line 67
82void bobKeyChange(void) ;
83#line 67
84#line 75
85void bobToRjh(void) ;
86#line 3 "scenario.c"
87void test(void)
88{ int op1 ;
89 int op2 ;
90 int op3 ;
91 int op4 ;
92 int op5 ;
93 int op6 ;
94 int op7 ;
95 int op8 ;
96 int op9 ;
97 int op10 ;
98 int op11 ;
99 int splverifierCounter ;
100 int tmp ;
101 int tmp___0 ;
102 int tmp___1 ;
103 int tmp___2 ;
104 int tmp___3 ;
105 int tmp___4 ;
106 int tmp___5 ;
107 int tmp___6 ;
108 int tmp___7 ;
109 int tmp___8 ;
110 int tmp___9 ;
111
112 {
113#line 4
114 op1 = 0;
115#line 5
116 op2 = 0;
117#line 6
118 op3 = 0;
119#line 7
120 op4 = 0;
121#line 8
122 op5 = 0;
123#line 9
124 op6 = 0;
125#line 10
126 op7 = 0;
127#line 11
128 op8 = 0;
129#line 12
130 op9 = 0;
131#line 13
132 op10 = 0;
133#line 14
134 op11 = 0;
135#line 15
136 splverifierCounter = 0;
137 {
138#line 16
139 while (1) {
140 while_0_continue: ;
141#line 16
142 if (splverifierCounter < 4) {
143
144 } else {
145 goto while_0_break;
146 }
147#line 17
148 splverifierCounter = splverifierCounter + 1;
149#line 18
150 if (! op1) {
151 {
152#line 18
153 tmp___9 = __VERIFIER_nondet_int();
154 }
155#line 18
156 if (tmp___9) {
157#line 21
158 if (__SELECTED_FEATURE_Keys) {
159 {
160#line 22
161 bobKeyAdd();
162 }
163 } else {
164
165 }
166#line 21
167 op1 = 1;
168 } else {
169 goto _L___8;
170 }
171 } else {
172 _L___8:
173#line 22
174 if (! op2) {
175 {
176#line 22
177 tmp___8 = __VERIFIER_nondet_int();
178 }
179#line 22
180 if (tmp___8) {
181#line 26
182 if (__SELECTED_FEATURE_AutoResponder) {
183 {
184#line 27
185 rjhSetAutoRespond();
186 }
187 } else {
188
189 }
190#line 26
191 op2 = 1;
192 } else {
193 goto _L___7;
194 }
195 } else {
196 _L___7:
197#line 27
198 if (! op3) {
199 {
200#line 27
201 tmp___7 = __VERIFIER_nondet_int();
202 }
203#line 27
204 if (tmp___7) {
205#line 31
206 if (__SELECTED_FEATURE_Keys) {
207 {
208#line 32
209 rjhDeletePrivateKey();
210 }
211 } else {
212
213 }
214#line 31
215 op3 = 1;
216 } else {
217 goto _L___6;
218 }
219 } else {
220 _L___6:
221#line 32
222 if (! op4) {
223 {
224#line 32
225 tmp___6 = __VERIFIER_nondet_int();
226 }
227#line 32
228 if (tmp___6) {
229#line 36
230 if (__SELECTED_FEATURE_Keys) {
231 {
232#line 37
233 rjhKeyAdd();
234 }
235 } else {
236
237 }
238#line 36
239 op4 = 1;
240 } else {
241 goto _L___5;
242 }
243 } else {
244 _L___5:
245#line 37
246 if (! op5) {
247 {
248#line 37
249 tmp___5 = __VERIFIER_nondet_int();
250 }
251#line 37
252 if (tmp___5) {
253#line 41
254 if (__SELECTED_FEATURE_Keys) {
255 {
256#line 42
257 chuckKeyAddRjh();
258 }
259 } else {
260
261 }
262#line 41
263 op5 = 1;
264 } else {
265 goto _L___4;
266 }
267 } else {
268 _L___4:
269#line 42
270 if (! op6) {
271 {
272#line 42
273 tmp___4 = __VERIFIER_nondet_int();
274 }
275#line 42
276 if (tmp___4) {
277#line 46
278 if (__SELECTED_FEATURE_Forward) {
279 {
280#line 47
281 rjhEnableForwarding();
282 }
283 } else {
284
285 }
286#line 46
287 op6 = 1;
288 } else {
289 goto _L___3;
290 }
291 } else {
292 _L___3:
293#line 47
294 if (! op7) {
295 {
296#line 47
297 tmp___3 = __VERIFIER_nondet_int();
298 }
299#line 47
300 if (tmp___3) {
301#line 51
302 if (__SELECTED_FEATURE_Keys) {
303 {
304#line 52
305 rjhKeyChange();
306 }
307 } else {
308
309 }
310#line 51
311 op7 = 1;
312 } else {
313 goto _L___2;
314 }
315 } else {
316 _L___2:
317#line 52
318 if (! op8) {
319 {
320#line 52
321 tmp___2 = __VERIFIER_nondet_int();
322 }
323#line 52
324 if (tmp___2) {
325#line 56
326 if (__SELECTED_FEATURE_AddressBook) {
327 {
328#line 57
329 bobSetAddressBook();
330 }
331 } else {
332
333 }
334#line 56
335 op8 = 1;
336 } else {
337 goto _L___1;
338 }
339 } else {
340 _L___1:
341#line 57
342 if (! op9) {
343 {
344#line 57
345 tmp___1 = __VERIFIER_nondet_int();
346 }
347#line 57
348 if (tmp___1) {
349#line 61
350 if (__SELECTED_FEATURE_Keys) {
351 {
352#line 62
353 chuckKeyAdd();
354 }
355 } else {
356
357 }
358#line 61
359 op9 = 1;
360 } else {
361 goto _L___0;
362 }
363 } else {
364 _L___0:
365#line 62
366 if (! op10) {
367 {
368#line 62
369 tmp___0 = __VERIFIER_nondet_int();
370 }
371#line 62
372 if (tmp___0) {
373#line 66
374 if (__SELECTED_FEATURE_Keys) {
375 {
376#line 67
377 bobKeyChange();
378 }
379 } else {
380
381 }
382#line 66
383 op10 = 1;
384 } else {
385 goto _L;
386 }
387 } else {
388 _L:
389#line 67
390 if (! op11) {
391 {
392#line 67
393 tmp = __VERIFIER_nondet_int();
394 }
395#line 67
396 if (tmp) {
397#line 71
398 if (__SELECTED_FEATURE_Keys) {
399 {
400#line 72
401 chuckKeyAdd();
402 }
403 } else {
404
405 }
406#line 71
407 op11 = 1;
408 } else {
409 goto while_0_break;
410 }
411 } else {
412 goto while_0_break;
413 }
414 }
415 }
416 }
417 }
418 }
419 }
420 }
421 }
422 }
423 }
424 }
425 while_0_break: ;
426 }
427 {
428#line 75
429 bobToRjh();
430 }
431#line 211 "scenario.c"
432 return;
433}
434}
435#line 1 "EmailLib.o"
436#pragma merger(0,"EmailLib.i","")
437#line 4 "EmailLib.h"
438int initEmail(void) ;
439#line 6
440int getEmailId(int handle ) ;
441#line 8
442void setEmailId(int handle , int value ) ;
443#line 10
444int getEmailFrom(int handle ) ;
445#line 12
446void setEmailFrom(int handle , int value ) ;
447#line 14
448int getEmailTo(int handle ) ;
449#line 16
450void setEmailTo(int handle , int value ) ;
451#line 18
452char *getEmailSubject(int handle ) ;
453#line 20
454void setEmailSubject(int handle , char *value ) ;
455#line 22
456char *getEmailBody(int handle ) ;
457#line 24
458void setEmailBody(int handle , char *value ) ;
459#line 26
460int isEncrypted(int handle ) ;
461#line 28
462void setEmailIsEncrypted(int handle , int value ) ;
463#line 30
464int getEmailEncryptionKey(int handle ) ;
465#line 32
466void setEmailEncryptionKey(int handle , int value ) ;
467#line 34
468int isSigned(int handle ) ;
469#line 36
470void setEmailIsSigned(int handle , int value ) ;
471#line 38
472int getEmailSignKey(int handle ) ;
473#line 40
474void setEmailSignKey(int handle , int value ) ;
475#line 42
476int isVerified(int handle ) ;
477#line 44
478void setEmailIsSignatureVerified(int handle , int value ) ;
479#line 5 "EmailLib.c"
480int __ste_Email_counter = 0;
481#line 7 "EmailLib.c"
482int initEmail(void)
483{ int retValue_acc ;
484
485 {
486#line 12 "EmailLib.c"
487 if (__ste_Email_counter < 2) {
488#line 670
489 __ste_Email_counter = __ste_Email_counter + 1;
490#line 670
491 retValue_acc = __ste_Email_counter;
492#line 672
493 return (retValue_acc);
494 } else {
495#line 678 "EmailLib.c"
496 retValue_acc = -1;
497#line 680
498 return (retValue_acc);
499 }
500#line 687 "EmailLib.c"
501 return (retValue_acc);
502}
503}
504#line 15 "EmailLib.c"
505int __ste_email_id0 = 0;
506#line 17 "EmailLib.c"
507int __ste_email_id1 = 0;
508#line 19 "EmailLib.c"
509int getEmailId(int handle )
510{ int retValue_acc ;
511
512 {
513#line 26 "EmailLib.c"
514 if (handle == 1) {
515#line 716
516 retValue_acc = __ste_email_id0;
517#line 718
518 return (retValue_acc);
519 } else {
520#line 720
521 if (handle == 2) {
522#line 725
523 retValue_acc = __ste_email_id1;
524#line 727
525 return (retValue_acc);
526 } else {
527#line 733 "EmailLib.c"
528 retValue_acc = 0;
529#line 735
530 return (retValue_acc);
531 }
532 }
533#line 742 "EmailLib.c"
534 return (retValue_acc);
535}
536}
537#line 29 "EmailLib.c"
538void setEmailId(int handle , int value )
539{
540
541 {
542#line 35
543 if (handle == 1) {
544#line 31
545 __ste_email_id0 = value;
546 } else {
547#line 32
548 if (handle == 2) {
549#line 33
550 __ste_email_id1 = value;
551 } else {
552
553 }
554 }
555#line 773 "EmailLib.c"
556 return;
557}
558}
559#line 37 "EmailLib.c"
560int __ste_email_from0 = 0;
561#line 39 "EmailLib.c"
562int __ste_email_from1 = 0;
563#line 41 "EmailLib.c"
564int getEmailFrom(int handle )
565{ int retValue_acc ;
566
567 {
568#line 48 "EmailLib.c"
569 if (handle == 1) {
570#line 798
571 retValue_acc = __ste_email_from0;
572#line 800
573 return (retValue_acc);
574 } else {
575#line 802
576 if (handle == 2) {
577#line 807
578 retValue_acc = __ste_email_from1;
579#line 809
580 return (retValue_acc);
581 } else {
582#line 815 "EmailLib.c"
583 retValue_acc = 0;
584#line 817
585 return (retValue_acc);
586 }
587 }
588#line 824 "EmailLib.c"
589 return (retValue_acc);
590}
591}
592#line 51 "EmailLib.c"
593void setEmailFrom(int handle , int value )
594{
595
596 {
597#line 57
598 if (handle == 1) {
599#line 53
600 __ste_email_from0 = value;
601 } else {
602#line 54
603 if (handle == 2) {
604#line 55
605 __ste_email_from1 = value;
606 } else {
607
608 }
609 }
610#line 855 "EmailLib.c"
611 return;
612}
613}
614#line 59 "EmailLib.c"
615int __ste_email_to0 = 0;
616#line 61 "EmailLib.c"
617int __ste_email_to1 = 0;
618#line 63 "EmailLib.c"
619int getEmailTo(int handle )
620{ int retValue_acc ;
621
622 {
623#line 70 "EmailLib.c"
624 if (handle == 1) {
625#line 880
626 retValue_acc = __ste_email_to0;
627#line 882
628 return (retValue_acc);
629 } else {
630#line 884
631 if (handle == 2) {
632#line 889
633 retValue_acc = __ste_email_to1;
634#line 891
635 return (retValue_acc);
636 } else {
637#line 897 "EmailLib.c"
638 retValue_acc = 0;
639#line 899
640 return (retValue_acc);
641 }
642 }
643#line 906 "EmailLib.c"
644 return (retValue_acc);
645}
646}
647#line 73 "EmailLib.c"
648void setEmailTo(int handle , int value )
649{
650
651 {
652#line 79
653 if (handle == 1) {
654#line 75
655 __ste_email_to0 = value;
656 } else {
657#line 76
658 if (handle == 2) {
659#line 77
660 __ste_email_to1 = value;
661 } else {
662
663 }
664 }
665#line 937 "EmailLib.c"
666 return;
667}
668}
669#line 81 "EmailLib.c"
670char *__ste_email_subject0 ;
671#line 83 "EmailLib.c"
672char *__ste_email_subject1 ;
673#line 85 "EmailLib.c"
674char *getEmailSubject(int handle )
675{ char *retValue_acc ;
676 void *__cil_tmp3 ;
677
678 {
679#line 92 "EmailLib.c"
680 if (handle == 1) {
681#line 962
682 retValue_acc = __ste_email_subject0;
683#line 964
684 return (retValue_acc);
685 } else {
686#line 966
687 if (handle == 2) {
688#line 971
689 retValue_acc = __ste_email_subject1;
690#line 973
691 return (retValue_acc);
692 } else {
693#line 979 "EmailLib.c"
694 __cil_tmp3 = (void *)0;
695#line 979
696 retValue_acc = (char *)__cil_tmp3;
697#line 981
698 return (retValue_acc);
699 }
700 }
701#line 988 "EmailLib.c"
702 return (retValue_acc);
703}
704}
705#line 95 "EmailLib.c"
706void setEmailSubject(int handle , char *value )
707{
708
709 {
710#line 101
711 if (handle == 1) {
712#line 97
713 __ste_email_subject0 = value;
714 } else {
715#line 98
716 if (handle == 2) {
717#line 99
718 __ste_email_subject1 = value;
719 } else {
720
721 }
722 }
723#line 1019 "EmailLib.c"
724 return;
725}
726}
727#line 103 "EmailLib.c"
728char *__ste_email_body0 = (char *)0;
729#line 105 "EmailLib.c"
730char *__ste_email_body1 = (char *)0;
731#line 107 "EmailLib.c"
732char *getEmailBody(int handle )
733{ char *retValue_acc ;
734 void *__cil_tmp3 ;
735
736 {
737#line 114 "EmailLib.c"
738 if (handle == 1) {
739#line 1044
740 retValue_acc = __ste_email_body0;
741#line 1046
742 return (retValue_acc);
743 } else {
744#line 1048
745 if (handle == 2) {
746#line 1053
747 retValue_acc = __ste_email_body1;
748#line 1055
749 return (retValue_acc);
750 } else {
751#line 1061 "EmailLib.c"
752 __cil_tmp3 = (void *)0;
753#line 1061
754 retValue_acc = (char *)__cil_tmp3;
755#line 1063
756 return (retValue_acc);
757 }
758 }
759#line 1070 "EmailLib.c"
760 return (retValue_acc);
761}
762}
763#line 117 "EmailLib.c"
764void setEmailBody(int handle , char *value )
765{
766
767 {
768#line 123
769 if (handle == 1) {
770#line 119
771 __ste_email_body0 = value;
772 } else {
773#line 120
774 if (handle == 2) {
775#line 121
776 __ste_email_body1 = value;
777 } else {
778
779 }
780 }
781#line 1101 "EmailLib.c"
782 return;
783}
784}
785#line 125 "EmailLib.c"
786int __ste_email_isEncrypted0 = 0;
787#line 127 "EmailLib.c"
788int __ste_email_isEncrypted1 = 0;
789#line 129 "EmailLib.c"
790int isEncrypted(int handle )
791{ int retValue_acc ;
792
793 {
794#line 136 "EmailLib.c"
795 if (handle == 1) {
796#line 1126
797 retValue_acc = __ste_email_isEncrypted0;
798#line 1128
799 return (retValue_acc);
800 } else {
801#line 1130
802 if (handle == 2) {
803#line 1135
804 retValue_acc = __ste_email_isEncrypted1;
805#line 1137
806 return (retValue_acc);
807 } else {
808#line 1143 "EmailLib.c"
809 retValue_acc = 0;
810#line 1145
811 return (retValue_acc);
812 }
813 }
814#line 1152 "EmailLib.c"
815 return (retValue_acc);
816}
817}
818#line 139 "EmailLib.c"
819void setEmailIsEncrypted(int handle , int value )
820{
821
822 {
823#line 145
824 if (handle == 1) {
825#line 141
826 __ste_email_isEncrypted0 = value;
827 } else {
828#line 142
829 if (handle == 2) {
830#line 143
831 __ste_email_isEncrypted1 = value;
832 } else {
833
834 }
835 }
836#line 1183 "EmailLib.c"
837 return;
838}
839}
840#line 147 "EmailLib.c"
841int __ste_email_encryptionKey0 = 0;
842#line 149 "EmailLib.c"
843int __ste_email_encryptionKey1 = 0;
844#line 151 "EmailLib.c"
845int getEmailEncryptionKey(int handle )
846{ int retValue_acc ;
847
848 {
849#line 158 "EmailLib.c"
850 if (handle == 1) {
851#line 1208
852 retValue_acc = __ste_email_encryptionKey0;
853#line 1210
854 return (retValue_acc);
855 } else {
856#line 1212
857 if (handle == 2) {
858#line 1217
859 retValue_acc = __ste_email_encryptionKey1;
860#line 1219
861 return (retValue_acc);
862 } else {
863#line 1225 "EmailLib.c"
864 retValue_acc = 0;
865#line 1227
866 return (retValue_acc);
867 }
868 }
869#line 1234 "EmailLib.c"
870 return (retValue_acc);
871}
872}
873#line 161 "EmailLib.c"
874void setEmailEncryptionKey(int handle , int value )
875{
876
877 {
878#line 167
879 if (handle == 1) {
880#line 163
881 __ste_email_encryptionKey0 = value;
882 } else {
883#line 164
884 if (handle == 2) {
885#line 165
886 __ste_email_encryptionKey1 = value;
887 } else {
888
889 }
890 }
891#line 1265 "EmailLib.c"
892 return;
893}
894}
895#line 169 "EmailLib.c"
896int __ste_email_isSigned0 = 0;
897#line 171 "EmailLib.c"
898int __ste_email_isSigned1 = 0;
899#line 173 "EmailLib.c"
900int isSigned(int handle )
901{ int retValue_acc ;
902
903 {
904#line 180 "EmailLib.c"
905 if (handle == 1) {
906#line 1290
907 retValue_acc = __ste_email_isSigned0;
908#line 1292
909 return (retValue_acc);
910 } else {
911#line 1294
912 if (handle == 2) {
913#line 1299
914 retValue_acc = __ste_email_isSigned1;
915#line 1301
916 return (retValue_acc);
917 } else {
918#line 1307 "EmailLib.c"
919 retValue_acc = 0;
920#line 1309
921 return (retValue_acc);
922 }
923 }
924#line 1316 "EmailLib.c"
925 return (retValue_acc);
926}
927}
928#line 183 "EmailLib.c"
929void setEmailIsSigned(int handle , int value )
930{
931
932 {
933#line 189
934 if (handle == 1) {
935#line 185
936 __ste_email_isSigned0 = value;
937 } else {
938#line 186
939 if (handle == 2) {
940#line 187
941 __ste_email_isSigned1 = value;
942 } else {
943
944 }
945 }
946#line 1347 "EmailLib.c"
947 return;
948}
949}
950#line 191 "EmailLib.c"
951int __ste_email_signKey0 = 0;
952#line 193 "EmailLib.c"
953int __ste_email_signKey1 = 0;
954#line 195 "EmailLib.c"
955int getEmailSignKey(int handle )
956{ int retValue_acc ;
957
958 {
959#line 202 "EmailLib.c"
960 if (handle == 1) {
961#line 1372
962 retValue_acc = __ste_email_signKey0;
963#line 1374
964 return (retValue_acc);
965 } else {
966#line 1376
967 if (handle == 2) {
968#line 1381
969 retValue_acc = __ste_email_signKey1;
970#line 1383
971 return (retValue_acc);
972 } else {
973#line 1389 "EmailLib.c"
974 retValue_acc = 0;
975#line 1391
976 return (retValue_acc);
977 }
978 }
979#line 1398 "EmailLib.c"
980 return (retValue_acc);
981}
982}
983#line 205 "EmailLib.c"
984void setEmailSignKey(int handle , int value )
985{
986
987 {
988#line 211
989 if (handle == 1) {
990#line 207
991 __ste_email_signKey0 = value;
992 } else {
993#line 208
994 if (handle == 2) {
995#line 209
996 __ste_email_signKey1 = value;
997 } else {
998
999 }
1000 }
1001#line 1429 "EmailLib.c"
1002 return;
1003}
1004}
1005#line 213 "EmailLib.c"
1006int __ste_email_isSignatureVerified0 ;
1007#line 215 "EmailLib.c"
1008int __ste_email_isSignatureVerified1 ;
1009#line 217 "EmailLib.c"
1010int isVerified(int handle )
1011{ int retValue_acc ;
1012
1013 {
1014#line 224 "EmailLib.c"
1015 if (handle == 1) {
1016#line 1454
1017 retValue_acc = __ste_email_isSignatureVerified0;
1018#line 1456
1019 return (retValue_acc);
1020 } else {
1021#line 1458
1022 if (handle == 2) {
1023#line 1463
1024 retValue_acc = __ste_email_isSignatureVerified1;
1025#line 1465
1026 return (retValue_acc);
1027 } else {
1028#line 1471 "EmailLib.c"
1029 retValue_acc = 0;
1030#line 1473
1031 return (retValue_acc);
1032 }
1033 }
1034#line 1480 "EmailLib.c"
1035 return (retValue_acc);
1036}
1037}
1038#line 227 "EmailLib.c"
1039void setEmailIsSignatureVerified(int handle , int value )
1040{
1041
1042 {
1043#line 233
1044 if (handle == 1) {
1045#line 229
1046 __ste_email_isSignatureVerified0 = value;
1047 } else {
1048#line 230
1049 if (handle == 2) {
1050#line 231
1051 __ste_email_isSignatureVerified1 = value;
1052 } else {
1053
1054 }
1055 }
1056#line 1511 "EmailLib.c"
1057 return;
1058}
1059}
1060#line 1 "Client.o"
1061#pragma merger(0,"Client.i","")
1062#line 359 "/usr/include/stdio.h"
1063extern int printf(char const * __restrict __format , ...) ;
1064#line 688
1065extern int puts(char const *__s ) ;
1066#line 4 "ClientLib.h"
1067int initClient(void) ;
1068#line 14
1069int getClientAddressBookSize(int handle ) ;
1070#line 24
1071int getClientAddressBookAddress(int handle , int index ) ;
1072#line 29
1073int getClientAutoResponse(int handle ) ;
1074#line 33
1075int getClientPrivateKey(int handle ) ;
1076#line 35
1077void setClientPrivateKey(int handle , int value ) ;
1078#line 49
1079int getClientForwardReceiver(int handle ) ;
1080#line 53
1081int getClientId(int handle ) ;
1082#line 57
1083int findPublicKey(int handle , int userid ) ;
1084#line 6 "Email.h"
1085void printMail(int msg ) ;
1086#line 9
1087int isReadable(int msg ) ;
1088#line 12
1089int createEmail(int from , int to ) ;
1090#line 14 "Client.h"
1091void queue(int client , int msg ) ;
1092#line 17
1093int is_queue_empty(void) ;
1094#line 19
1095int get_queued_client(void) ;
1096#line 21
1097int get_queued_email(void) ;
1098#line 24
1099void mail(int client , int msg ) ;
1100#line 26
1101void outgoing(int client , int msg ) ;
1102#line 28
1103void deliver(int client , int msg ) ;
1104#line 30
1105void incoming(int client , int msg ) ;
1106#line 32
1107int createClient(char *name ) ;
1108#line 35
1109void sendEmail(int sender , int receiver ) ;
1110#line 40
1111int isKeyPairValid(int publicKey , int privateKey ) ;
1112#line 44
1113void generateKeyPair(int client , int seed ) ;
1114#line 45
1115void autoRespond(int client , int msg ) ;
1116#line 46
1117void sendToAddressBook(int client , int msg ) ;
1118#line 48
1119void sign(int client , int msg ) ;
1120#line 50
1121void forward(int client , int msg ) ;
1122#line 52
1123void verify(int client , int msg ) ;
1124#line 6 "Client.c"
1125int queue_empty = 1;
1126#line 9 "Client.c"
1127int queued_message ;
1128#line 12 "Client.c"
1129int queued_client ;
1130#line 13
1131void __utac_acc__EncryptForward_spec__2(int msg ) ;
1132#line 18 "Client.c"
1133void mail(int client , int msg )
1134{ int __utac__ad__arg1 ;
1135 int tmp ;
1136
1137 {
1138 {
1139#line 728 "Client.c"
1140 __utac__ad__arg1 = msg;
1141#line 729
1142 __utac_acc__EncryptForward_spec__2(__utac__ad__arg1);
1143#line 19 "Client.c"
1144 puts("mail sent");
1145#line 20
1146 tmp = getEmailTo(msg);
1147#line 20
1148 incoming(tmp, msg);
1149 }
1150#line 746 "Client.c"
1151 return;
1152}
1153}
1154#line 27 "Client.c"
1155void outgoing__before__Encrypt(int client , int msg )
1156{ int tmp ;
1157
1158 {
1159 {
1160#line 28
1161 tmp = getClientId(client);
1162#line 28
1163 setEmailFrom(msg, tmp);
1164#line 29
1165 mail(client, msg);
1166 }
1167#line 768 "Client.c"
1168 return;
1169}
1170}
1171#line 36 "Client.c"
1172void outgoing__role__Encrypt(int client , int msg )
1173{ int receiver ;
1174 int tmp ;
1175 int pubkey ;
1176 int tmp___0 ;
1177
1178 {
1179 {
1180#line 39
1181 tmp = getEmailTo(msg);
1182#line 39
1183 receiver = tmp;
1184#line 40
1185 tmp___0 = findPublicKey(client, receiver);
1186#line 40
1187 pubkey = tmp___0;
1188 }
1189#line 41
1190 if (pubkey) {
1191 {
1192#line 42
1193 setEmailEncryptionKey(msg, pubkey);
1194#line 43
1195 setEmailIsEncrypted(msg, 1);
1196 }
1197 } else {
1198
1199 }
1200 {
1201#line 48
1202 outgoing__before__Encrypt(client, msg);
1203 }
1204#line 803 "Client.c"
1205 return;
1206}
1207}
1208#line 51 "Client.c"
1209void outgoing__before__AddressBook(int client , int msg )
1210{
1211
1212 {
1213#line 56
1214 if (__SELECTED_FEATURE_Encrypt) {
1215 {
1216#line 53
1217 outgoing__role__Encrypt(client, msg);
1218 }
1219#line 53
1220 return;
1221 } else {
1222 {
1223#line 55
1224 outgoing__before__Encrypt(client, msg);
1225 }
1226#line 55
1227 return;
1228 }
1229}
1230}
1231#line 62 "Client.c"
1232void outgoing__role__AddressBook(int client , int msg )
1233{ int size ;
1234 int tmp ;
1235 int receiver ;
1236 int tmp___0 ;
1237 int second ;
1238 int tmp___1 ;
1239 int tmp___2 ;
1240
1241 {
1242 {
1243#line 64
1244 tmp = getClientAddressBookSize(client);
1245#line 64
1246 size = tmp;
1247 }
1248#line 66
1249 if (size) {
1250 {
1251#line 67
1252 sendToAddressBook(client, msg);
1253#line 68
1254 puts("sending to alias in address book\n");
1255#line 69
1256 tmp___0 = getEmailTo(msg);
1257#line 69
1258 receiver = tmp___0;
1259#line 71
1260 puts("sending to second receipient\n");
1261#line 72
1262 tmp___1 = getClientAddressBookAddress(client, 1);
1263#line 72
1264 second = tmp___1;
1265#line 73
1266 setEmailTo(msg, second);
1267#line 74
1268 outgoing__before__AddressBook(client, msg);
1269#line 77
1270 tmp___2 = getClientAddressBookAddress(client, 0);
1271#line 77
1272 setEmailTo(msg, tmp___2);
1273#line 78
1274 outgoing__before__AddressBook(client, msg);
1275 }
1276 } else {
1277 {
1278#line 80
1279 outgoing__before__AddressBook(client, msg);
1280 }
1281 }
1282#line 881 "Client.c"
1283 return;
1284}
1285}
1286#line 88 "Client.c"
1287void outgoing__before__Sign(int client , int msg )
1288{
1289
1290 {
1291#line 93
1292 if (__SELECTED_FEATURE_AddressBook) {
1293 {
1294#line 90
1295 outgoing__role__AddressBook(client, msg);
1296 }
1297#line 90
1298 return;
1299 } else {
1300 {
1301#line 92
1302 outgoing__before__AddressBook(client, msg);
1303 }
1304#line 92
1305 return;
1306 }
1307}
1308}
1309#line 102 "Client.c"
1310void outgoing__role__Sign(int client , int msg )
1311{
1312
1313 {
1314 {
1315#line 103
1316 sign(client, msg);
1317#line 104
1318 outgoing__before__Sign(client, msg);
1319 }
1320#line 931 "Client.c"
1321 return;
1322}
1323}
1324#line 109 "Client.c"
1325void outgoing(int client , int msg )
1326{
1327
1328 {
1329#line 114
1330 if (__SELECTED_FEATURE_Sign) {
1331 {
1332#line 111
1333 outgoing__role__Sign(client, msg);
1334 }
1335#line 111
1336 return;
1337 } else {
1338 {
1339#line 113
1340 outgoing__before__Sign(client, msg);
1341 }
1342#line 113
1343 return;
1344 }
1345}
1346}
1347#line 123 "Client.c"
1348void deliver(int client , int msg )
1349{
1350
1351 {
1352 {
1353#line 124
1354 puts("mail delivered\n");
1355 }
1356#line 979 "Client.c"
1357 return;
1358}
1359}
1360#line 131 "Client.c"
1361void incoming__before__AutoResponder(int client , int msg )
1362{
1363
1364 {
1365 {
1366#line 132
1367 deliver(client, msg);
1368 }
1369#line 999 "Client.c"
1370 return;
1371}
1372}
1373#line 139 "Client.c"
1374void incoming__role__AutoResponder(int client , int msg )
1375{ int tmp ;
1376
1377 {
1378 {
1379#line 140
1380 incoming__before__AutoResponder(client, msg);
1381#line 141
1382 tmp = getClientAutoResponse(client);
1383 }
1384#line 141
1385 if (tmp) {
1386 {
1387#line 142
1388 autoRespond(client, msg);
1389 }
1390 } else {
1391
1392 }
1393#line 1024 "Client.c"
1394 return;
1395}
1396}
1397#line 148 "Client.c"
1398void incoming__before__Forward(int client , int msg )
1399{
1400
1401 {
1402#line 153
1403 if (__SELECTED_FEATURE_AutoResponder) {
1404 {
1405#line 150
1406 incoming__role__AutoResponder(client, msg);
1407 }
1408#line 150
1409 return;
1410 } else {
1411 {
1412#line 152
1413 incoming__before__AutoResponder(client, msg);
1414 }
1415#line 152
1416 return;
1417 }
1418}
1419}
1420#line 161 "Client.c"
1421void incoming__role__Forward(int client , int msg )
1422{ int fwreceiver ;
1423 int tmp ;
1424
1425 {
1426 {
1427#line 162
1428 incoming__before__Forward(client, msg);
1429#line 163
1430 tmp = getClientForwardReceiver(client);
1431#line 163
1432 fwreceiver = tmp;
1433 }
1434#line 164
1435 if (fwreceiver) {
1436 {
1437#line 166
1438 setEmailTo(msg, fwreceiver);
1439#line 167
1440 forward(client, msg);
1441 }
1442 } else {
1443
1444 }
1445#line 1083 "Client.c"
1446 return;
1447}
1448}
1449#line 174 "Client.c"
1450void incoming__before__Verify(int client , int msg )
1451{
1452
1453 {
1454#line 179
1455 if (__SELECTED_FEATURE_Forward) {
1456 {
1457#line 176
1458 incoming__role__Forward(client, msg);
1459 }
1460#line 176
1461 return;
1462 } else {
1463 {
1464#line 178
1465 incoming__before__Forward(client, msg);
1466 }
1467#line 178
1468 return;
1469 }
1470}
1471}
1472#line 187 "Client.c"
1473void incoming__role__Verify(int client , int msg )
1474{
1475
1476 {
1477 {
1478#line 188
1479 verify(client, msg);
1480#line 189
1481 incoming__before__Verify(client, msg);
1482 }
1483#line 1133 "Client.c"
1484 return;
1485}
1486}
1487#line 194 "Client.c"
1488void incoming__before__Decrypt(int client , int msg )
1489{
1490
1491 {
1492#line 199
1493 if (__SELECTED_FEATURE_Verify) {
1494 {
1495#line 196
1496 incoming__role__Verify(client, msg);
1497 }
1498#line 196
1499 return;
1500 } else {
1501 {
1502#line 198
1503 incoming__before__Verify(client, msg);
1504 }
1505#line 198
1506 return;
1507 }
1508}
1509}
1510#line 207 "Client.c"
1511void incoming__role__Decrypt(int client , int msg )
1512{ int privkey ;
1513 int tmp ;
1514 int tmp___0 ;
1515 int tmp___1 ;
1516 int tmp___2 ;
1517
1518 {
1519 {
1520#line 210
1521 tmp = getClientPrivateKey(client);
1522#line 210
1523 privkey = tmp;
1524 }
1525#line 211
1526 if (privkey) {
1527 {
1528#line 219
1529 tmp___0 = isEncrypted(msg);
1530 }
1531#line 219
1532 if (tmp___0) {
1533 {
1534#line 219
1535 tmp___1 = getEmailEncryptionKey(msg);
1536#line 219
1537 tmp___2 = isKeyPairValid(tmp___1, privkey);
1538 }
1539#line 219
1540 if (tmp___2) {
1541 {
1542#line 216
1543 setEmailIsEncrypted(msg, 0);
1544#line 217
1545 setEmailEncryptionKey(msg, 0);
1546 }
1547 } else {
1548
1549 }
1550 } else {
1551
1552 }
1553 } else {
1554
1555 }
1556 {
1557#line 222
1558 incoming__before__Decrypt(client, msg);
1559 }
1560#line 1195 "Client.c"
1561 return;
1562}
1563}
1564#line 1197
1565void __utac_acc__EncryptForward_spec__1(int msg ) ;
1566#line 226 "Client.c"
1567void incoming(int client , int msg )
1568{ int __utac__ad__arg1 ;
1569
1570 {
1571 {
1572#line 1208 "Client.c"
1573 __utac__ad__arg1 = msg;
1574#line 1209
1575 __utac_acc__EncryptForward_spec__1(__utac__ad__arg1);
1576 }
1577#line 231
1578 if (__SELECTED_FEATURE_Decrypt) {
1579 {
1580#line 228
1581 incoming__role__Decrypt(client, msg);
1582 }
1583#line 228
1584 return;
1585 } else {
1586 {
1587#line 230 "Client.c"
1588 incoming__before__Decrypt(client, msg);
1589 }
1590#line 230
1591 return;
1592 }
1593}
1594}
1595#line 237 "Client.c"
1596int createClient(char *name )
1597{ int retValue_acc ;
1598 int client ;
1599 int tmp ;
1600
1601 {
1602 {
1603#line 238
1604 tmp = initClient();
1605#line 238
1606 client = tmp;
1607#line 1254 "Client.c"
1608 retValue_acc = client;
1609 }
1610#line 1256
1611 return (retValue_acc);
1612#line 1263
1613 return (retValue_acc);
1614}
1615}
1616#line 245 "Client.c"
1617void sendEmail(int sender , int receiver )
1618{ int email ;
1619 int tmp ;
1620
1621 {
1622 {
1623#line 246
1624 tmp = createEmail(0, receiver);
1625#line 246
1626 email = tmp;
1627#line 247
1628 outgoing(sender, email);
1629 }
1630#line 1291 "Client.c"
1631 return;
1632}
1633}
1634#line 255 "Client.c"
1635void queue(int client , int msg )
1636{
1637
1638 {
1639#line 256
1640 queue_empty = 0;
1641#line 257
1642 queued_message = msg;
1643#line 258
1644 queued_client = client;
1645#line 1315 "Client.c"
1646 return;
1647}
1648}
1649#line 264 "Client.c"
1650int is_queue_empty(void)
1651{ int retValue_acc ;
1652
1653 {
1654#line 1333 "Client.c"
1655 retValue_acc = queue_empty;
1656#line 1335
1657 return (retValue_acc);
1658#line 1342
1659 return (retValue_acc);
1660}
1661}
1662#line 271 "Client.c"
1663int get_queued_client(void)
1664{ int retValue_acc ;
1665
1666 {
1667#line 1364 "Client.c"
1668 retValue_acc = queued_client;
1669#line 1366
1670 return (retValue_acc);
1671#line 1373
1672 return (retValue_acc);
1673}
1674}
1675#line 278 "Client.c"
1676int get_queued_email(void)
1677{ int retValue_acc ;
1678
1679 {
1680#line 1395 "Client.c"
1681 retValue_acc = queued_message;
1682#line 1397
1683 return (retValue_acc);
1684#line 1404
1685 return (retValue_acc);
1686}
1687}
1688#line 284 "Client.c"
1689int isKeyPairValid(int publicKey , int privateKey )
1690{ int retValue_acc ;
1691 char const * __restrict __cil_tmp4 ;
1692
1693 {
1694 {
1695#line 285
1696 __cil_tmp4 = (char const * __restrict )"keypair valid %d %d";
1697#line 285
1698 printf(__cil_tmp4, publicKey, privateKey);
1699 }
1700#line 286 "Client.c"
1701 if (! publicKey) {
1702#line 1429 "Client.c"
1703 retValue_acc = 0;
1704#line 1431
1705 return (retValue_acc);
1706 } else {
1707#line 286 "Client.c"
1708 if (! privateKey) {
1709#line 1429 "Client.c"
1710 retValue_acc = 0;
1711#line 1431
1712 return (retValue_acc);
1713 } else {
1714
1715 }
1716 }
1717#line 1436 "Client.c"
1718 retValue_acc = privateKey == publicKey;
1719#line 1438
1720 return (retValue_acc);
1721#line 1445
1722 return (retValue_acc);
1723}
1724}
1725#line 294 "Client.c"
1726void generateKeyPair(int client , int seed )
1727{
1728
1729 {
1730 {
1731#line 295
1732 setClientPrivateKey(client, seed);
1733 }
1734#line 1469 "Client.c"
1735 return;
1736}
1737}
1738#line 301 "Client.c"
1739void autoRespond(int client , int msg )
1740{ int sender ;
1741 int tmp ;
1742
1743 {
1744 {
1745#line 302
1746 puts("sending autoresponse\n");
1747#line 303
1748 tmp = getEmailFrom(msg);
1749#line 303
1750 sender = tmp;
1751#line 304
1752 setEmailTo(msg, sender);
1753#line 305
1754 queue(client, msg);
1755 }
1756#line 1611 "Client.c"
1757 return;
1758}
1759}
1760#line 310 "Client.c"
1761void sendToAddressBook(int client , int msg )
1762{
1763
1764 {
1765#line 1629 "Client.c"
1766 return;
1767}
1768}
1769#line 316 "Client.c"
1770void sign(int client , int msg )
1771{ int privkey ;
1772 int tmp ;
1773
1774 {
1775 {
1776#line 317
1777 tmp = getClientPrivateKey(client);
1778#line 317
1779 privkey = tmp;
1780 }
1781#line 318
1782 if (! privkey) {
1783#line 319
1784 return;
1785 } else {
1786
1787 }
1788 {
1789#line 320
1790 setEmailIsSigned(msg, 1);
1791#line 321
1792 setEmailSignKey(msg, privkey);
1793 }
1794#line 1659 "Client.c"
1795 return;
1796}
1797}
1798#line 326 "Client.c"
1799void forward(int client , int msg )
1800{
1801
1802 {
1803 {
1804#line 327
1805 puts("Forwarding message.\n");
1806#line 328
1807 printMail(msg);
1808#line 329
1809 queue(client, msg);
1810 }
1811#line 1683 "Client.c"
1812 return;
1813}
1814}
1815#line 335 "Client.c"
1816void verify(int client , int msg )
1817{ int tmp ;
1818 int tmp___0 ;
1819 int pubkey ;
1820 int tmp___1 ;
1821 int tmp___2 ;
1822 int tmp___3 ;
1823 int tmp___4 ;
1824
1825 {
1826 {
1827#line 340
1828 tmp = isReadable(msg);
1829 }
1830#line 340
1831 if (tmp) {
1832 {
1833#line 340
1834 tmp___0 = isSigned(msg);
1835 }
1836#line 340
1837 if (tmp___0) {
1838
1839 } else {
1840#line 341
1841 return;
1842 }
1843 } else {
1844#line 341
1845 return;
1846 }
1847 {
1848#line 340
1849 tmp___1 = getEmailFrom(msg);
1850#line 340
1851 tmp___2 = findPublicKey(client, tmp___1);
1852#line 340
1853 pubkey = tmp___2;
1854 }
1855#line 341
1856 if (pubkey) {
1857 {
1858#line 341
1859 tmp___3 = getEmailSignKey(msg);
1860#line 341
1861 tmp___4 = isKeyPairValid(tmp___3, pubkey);
1862 }
1863#line 341
1864 if (tmp___4) {
1865 {
1866#line 342
1867 setEmailIsSignatureVerified(msg, 1);
1868 }
1869 } else {
1870
1871 }
1872 } else {
1873
1874 }
1875#line 1714 "Client.c"
1876 return;
1877}
1878}
1879#line 1 "Test.o"
1880#pragma merger(0,"Test.i","")
1881#line 16 "ClientLib.h"
1882void setClientAddressBookSize(int handle , int value ) ;
1883#line 22
1884void setClientAddressBookAlias(int handle , int index , int value ) ;
1885#line 26
1886void setClientAddressBookAddress(int handle , int index , int value ) ;
1887#line 31
1888void setClientAutoResponse(int handle , int value ) ;
1889#line 39
1890int createClientKeyringEntry(int handle ) ;
1891#line 41
1892int getClientKeyringUser(int handle , int index ) ;
1893#line 43
1894void setClientKeyringUser(int handle , int index , int value ) ;
1895#line 45
1896int getClientKeyringPublicKey(int handle , int index ) ;
1897#line 47
1898void setClientKeyringPublicKey(int handle , int index , int value ) ;
1899#line 51
1900void setClientForwardReceiver(int handle , int value ) ;
1901#line 55
1902void setClientId(int handle , int value ) ;
1903#line 29 "featureselect.h"
1904void select_features(void) ;
1905#line 30
1906void select_helpers(void) ;
1907#line 31
1908int valid_product(void) ;
1909#line 2 "Test.h"
1910int bob ;
1911#line 5 "Test.h"
1912int rjh ;
1913#line 8 "Test.h"
1914int chuck ;
1915#line 11
1916void setup_bob(int bob___0 ) ;
1917#line 14
1918void setup_rjh(int rjh___0 ) ;
1919#line 17
1920void setup_chuck(int chuck___0 ) ;
1921#line 26
1922void rjhToBob(void) ;
1923#line 32
1924void setup(void) ;
1925#line 35
1926int main(void) ;
1927#line 39
1928void bobKeyAddChuck(void) ;
1929#line 45
1930void rjhKeyAddChuck(void) ;
1931#line 18 "Test.c"
1932void setup_bob__before__Keys(int bob___0 )
1933{
1934
1935 {
1936 {
1937#line 19
1938 setClientId(bob___0, bob___0);
1939 }
1940#line 1336 "Test.c"
1941 return;
1942}
1943}
1944#line 27 "Test.c"
1945void setup_bob__role__Keys(int bob___0 )
1946{
1947
1948 {
1949 {
1950#line 28
1951 setup_bob__before__Keys(bob___0);
1952#line 29
1953 setClientPrivateKey(bob___0, 123);
1954 }
1955#line 1358 "Test.c"
1956 return;
1957}
1958}
1959#line 33 "Test.c"
1960void setup_bob(int bob___0 )
1961{
1962
1963 {
1964#line 38
1965 if (__SELECTED_FEATURE_Keys) {
1966 {
1967#line 35
1968 setup_bob__role__Keys(bob___0);
1969 }
1970#line 35
1971 return;
1972 } else {
1973 {
1974#line 37
1975 setup_bob__before__Keys(bob___0);
1976 }
1977#line 37
1978 return;
1979 }
1980}
1981}
1982#line 47 "Test.c"
1983void setup_rjh__before__Keys(int rjh___0 )
1984{
1985
1986 {
1987 {
1988#line 48
1989 setClientId(rjh___0, rjh___0);
1990 }
1991#line 1406 "Test.c"
1992 return;
1993}
1994}
1995#line 55 "Test.c"
1996void setup_rjh__role__Keys(int rjh___0 )
1997{
1998
1999 {
2000 {
2001#line 57
2002 setup_rjh__before__Keys(rjh___0);
2003#line 58
2004 setClientPrivateKey(rjh___0, 456);
2005 }
2006#line 1428 "Test.c"
2007 return;
2008}
2009}
2010#line 64 "Test.c"
2011void setup_rjh(int rjh___0 )
2012{
2013
2014 {
2015#line 69
2016 if (__SELECTED_FEATURE_Keys) {
2017 {
2018#line 66
2019 setup_rjh__role__Keys(rjh___0);
2020 }
2021#line 66
2022 return;
2023 } else {
2024 {
2025#line 68
2026 setup_rjh__before__Keys(rjh___0);
2027 }
2028#line 68
2029 return;
2030 }
2031}
2032}
2033#line 77 "Test.c"
2034void setup_chuck__before__Keys(int chuck___0 )
2035{
2036
2037 {
2038 {
2039#line 78
2040 setClientId(chuck___0, chuck___0);
2041 }
2042#line 1476 "Test.c"
2043 return;
2044}
2045}
2046#line 84 "Test.c"
2047void setup_chuck__role__Keys(int chuck___0 )
2048{
2049
2050 {
2051 {
2052#line 85
2053 setup_chuck__before__Keys(chuck___0);
2054#line 86
2055 setClientPrivateKey(chuck___0, 789);
2056 }
2057#line 1498 "Test.c"
2058 return;
2059}
2060}
2061#line 91 "Test.c"
2062void setup_chuck(int chuck___0 )
2063{
2064
2065 {
2066#line 96
2067 if (__SELECTED_FEATURE_Keys) {
2068 {
2069#line 93
2070 setup_chuck__role__Keys(chuck___0);
2071 }
2072#line 93
2073 return;
2074 } else {
2075 {
2076#line 95
2077 setup_chuck__before__Keys(chuck___0);
2078 }
2079#line 95
2080 return;
2081 }
2082}
2083}
2084#line 108 "Test.c"
2085void bobToRjh(void)
2086{ int tmp ;
2087 int tmp___0 ;
2088 int tmp___1 ;
2089
2090 {
2091 {
2092#line 110
2093 puts("Please enter a subject and a message body.\n");
2094#line 111
2095 sendEmail(bob, rjh);
2096#line 112
2097 tmp___1 = is_queue_empty();
2098 }
2099#line 112
2100 if (tmp___1) {
2101
2102 } else {
2103 {
2104#line 113
2105 tmp = get_queued_email();
2106#line 113
2107 tmp___0 = get_queued_client();
2108#line 113
2109 outgoing(tmp___0, tmp);
2110 }
2111 }
2112#line 1554 "Test.c"
2113 return;
2114}
2115}
2116#line 120 "Test.c"
2117void rjhToBob(void)
2118{
2119
2120 {
2121 {
2122#line 122
2123 puts("Please enter a subject and a message body.\n");
2124#line 123
2125 sendEmail(rjh, bob);
2126 }
2127#line 1576 "Test.c"
2128 return;
2129}
2130}
2131#line 127 "Test.c"
2132#line 134 "Test.c"
2133void setup(void)
2134{ char const * __restrict __cil_tmp1 ;
2135 char const * __restrict __cil_tmp2 ;
2136 char const * __restrict __cil_tmp3 ;
2137
2138 {
2139 {
2140#line 135
2141 bob = 1;
2142#line 136
2143 setup_bob(bob);
2144#line 137
2145 __cil_tmp1 = (char const * __restrict )"bob: %d\n";
2146#line 137
2147 printf(__cil_tmp1, bob);
2148#line 139
2149 rjh = 2;
2150#line 140
2151 setup_rjh(rjh);
2152#line 141
2153 __cil_tmp2 = (char const * __restrict )"rjh: %d\n";
2154#line 141
2155 printf(__cil_tmp2, rjh);
2156#line 143
2157 chuck = 3;
2158#line 144
2159 setup_chuck(chuck);
2160#line 145
2161 __cil_tmp3 = (char const * __restrict )"chuck: %d\n";
2162#line 145
2163 printf(__cil_tmp3, chuck);
2164 }
2165#line 1647 "Test.c"
2166 return;
2167}
2168}
2169#line 151 "Test.c"
2170int main(void)
2171{ int retValue_acc ;
2172 int tmp ;
2173
2174 {
2175 {
2176#line 152
2177 select_helpers();
2178#line 153
2179 select_features();
2180#line 154
2181 tmp = valid_product();
2182 }
2183#line 154
2184 if (tmp) {
2185 {
2186#line 155
2187 setup();
2188#line 156
2189 test();
2190 }
2191 } else {
2192
2193 }
2194#line 1678 "Test.c"
2195 return (retValue_acc);
2196}
2197}
2198#line 164 "Test.c"
2199void bobKeyAdd(void)
2200{ int tmp ;
2201 int tmp___0 ;
2202 char const * __restrict __cil_tmp3 ;
2203 char const * __restrict __cil_tmp4 ;
2204
2205 {
2206 {
2207#line 165
2208 createClientKeyringEntry(bob);
2209#line 166
2210 setClientKeyringUser(bob, 0, 2);
2211#line 167
2212 setClientKeyringPublicKey(bob, 0, 456);
2213#line 168
2214 puts("bob added rjhs key");
2215#line 169
2216 tmp = getClientKeyringUser(bob, 0);
2217#line 169
2218 __cil_tmp3 = (char const * __restrict )"%d\n";
2219#line 169
2220 printf(__cil_tmp3, tmp);
2221#line 170
2222 tmp___0 = getClientKeyringPublicKey(bob, 0);
2223#line 170
2224 __cil_tmp4 = (char const * __restrict )"%d\n";
2225#line 170
2226 printf(__cil_tmp4, tmp___0);
2227 }
2228#line 1712 "Test.c"
2229 return;
2230}
2231}
2232#line 176 "Test.c"
2233void rjhKeyAdd(void)
2234{
2235
2236 {
2237 {
2238#line 177
2239 createClientKeyringEntry(rjh);
2240#line 178
2241 setClientKeyringUser(rjh, 0, 1);
2242#line 179
2243 setClientKeyringPublicKey(rjh, 0, 123);
2244 }
2245#line 1736 "Test.c"
2246 return;
2247}
2248}
2249#line 185 "Test.c"
2250void rjhKeyAddChuck(void)
2251{
2252
2253 {
2254 {
2255#line 186
2256 createClientKeyringEntry(rjh);
2257#line 187
2258 setClientKeyringUser(rjh, 0, 3);
2259#line 188
2260 setClientKeyringPublicKey(rjh, 0, 789);
2261 }
2262#line 1760 "Test.c"
2263 return;
2264}
2265}
2266#line 195 "Test.c"
2267void bobKeyAddChuck(void)
2268{
2269
2270 {
2271 {
2272#line 196
2273 createClientKeyringEntry(bob);
2274#line 197
2275 setClientKeyringUser(bob, 1, 3);
2276#line 198
2277 setClientKeyringPublicKey(bob, 1, 789);
2278 }
2279#line 1784 "Test.c"
2280 return;
2281}
2282}
2283#line 204 "Test.c"
2284void chuckKeyAdd(void)
2285{
2286
2287 {
2288 {
2289#line 205
2290 createClientKeyringEntry(chuck);
2291#line 206
2292 setClientKeyringUser(chuck, 0, 1);
2293#line 207
2294 setClientKeyringPublicKey(chuck, 0, 123);
2295 }
2296#line 1808 "Test.c"
2297 return;
2298}
2299}
2300#line 213 "Test.c"
2301void chuckKeyAddRjh(void)
2302{
2303
2304 {
2305 {
2306#line 214
2307 createClientKeyringEntry(chuck);
2308#line 215
2309 setClientKeyringUser(chuck, 0, 2);
2310#line 216
2311 setClientKeyringPublicKey(chuck, 0, 456);
2312 }
2313#line 1832 "Test.c"
2314 return;
2315}
2316}
2317#line 222 "Test.c"
2318void rjhDeletePrivateKey(void)
2319{
2320
2321 {
2322 {
2323#line 223
2324 setClientPrivateKey(rjh, 0);
2325 }
2326#line 1852 "Test.c"
2327 return;
2328}
2329}
2330#line 229 "Test.c"
2331void bobKeyChange(void)
2332{
2333
2334 {
2335 {
2336#line 230
2337 generateKeyPair(bob, 777);
2338 }
2339#line 1872 "Test.c"
2340 return;
2341}
2342}
2343#line 236 "Test.c"
2344void rjhKeyChange(void)
2345{
2346
2347 {
2348 {
2349#line 237
2350 generateKeyPair(rjh, 666);
2351 }
2352#line 1892 "Test.c"
2353 return;
2354}
2355}
2356#line 243 "Test.c"
2357void rjhSetAutoRespond(void)
2358{
2359
2360 {
2361 {
2362#line 244
2363 setClientAutoResponse(rjh, 1);
2364 }
2365#line 1912 "Test.c"
2366 return;
2367}
2368}
2369#line 249 "Test.c"
2370void bobSetAddressBook(void)
2371{
2372
2373 {
2374 {
2375#line 250
2376 setClientAddressBookSize(bob, 1);
2377#line 251
2378 setClientAddressBookAlias(bob, 0, rjh);
2379#line 252
2380 setClientAddressBookAddress(bob, 0, rjh);
2381#line 253
2382 setClientAddressBookAddress(bob, 1, chuck);
2383 }
2384#line 1938 "Test.c"
2385 return;
2386}
2387}
2388#line 259 "Test.c"
2389void rjhEnableForwarding(void)
2390{
2391
2392 {
2393 {
2394#line 260
2395 setClientForwardReceiver(rjh, chuck);
2396 }
2397#line 1958 "Test.c"
2398 return;
2399}
2400}
2401#line 1 "wsllib_check.o"
2402#pragma merger(0,"wsllib_check.i","")
2403#line 3 "wsllib_check.c"
2404void __automaton_fail(void)
2405{
2406
2407 {
2408 goto ERROR;
2409 ERROR: ;
2410#line 53 "wsllib_check.c"
2411 return;
2412}
2413}
2414#line 1 "libacc.o"
2415#pragma merger(0,"libacc.i","")
2416#line 73 "/usr/include/assert.h"
2417extern __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const *__assertion ,
2418 char const *__file ,
2419 unsigned int __line ,
2420 char const *__function ) ;
2421#line 471 "/usr/include/stdlib.h"
2422extern __attribute__((__nothrow__)) void *malloc(size_t __size ) __attribute__((__malloc__)) ;
2423#line 488
2424extern __attribute__((__nothrow__)) void free(void *__ptr ) ;
2425#line 32 "libacc.c"
2426void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int ,
2427 int ) ,
2428 int val )
2429{ struct __UTAC__EXCEPTION *excep ;
2430 struct __UTAC__CFLOW_FUNC *cf ;
2431 void *tmp ;
2432 unsigned long __cil_tmp7 ;
2433 unsigned long __cil_tmp8 ;
2434 unsigned long __cil_tmp9 ;
2435 unsigned long __cil_tmp10 ;
2436 unsigned long __cil_tmp11 ;
2437 unsigned long __cil_tmp12 ;
2438 unsigned long __cil_tmp13 ;
2439 unsigned long __cil_tmp14 ;
2440 int (**mem_15)(int , int ) ;
2441 int *mem_16 ;
2442 struct __UTAC__CFLOW_FUNC **mem_17 ;
2443 struct __UTAC__CFLOW_FUNC **mem_18 ;
2444 struct __UTAC__CFLOW_FUNC **mem_19 ;
2445
2446 {
2447 {
2448#line 33
2449 excep = (struct __UTAC__EXCEPTION *)exception;
2450#line 34
2451 tmp = malloc(24UL);
2452#line 34
2453 cf = (struct __UTAC__CFLOW_FUNC *)tmp;
2454#line 36
2455 mem_15 = (int (**)(int , int ))cf;
2456#line 36
2457 *mem_15 = cflow_func;
2458#line 37
2459 __cil_tmp7 = (unsigned long )cf;
2460#line 37
2461 __cil_tmp8 = __cil_tmp7 + 8;
2462#line 37
2463 mem_16 = (int *)__cil_tmp8;
2464#line 37
2465 *mem_16 = val;
2466#line 38
2467 __cil_tmp9 = (unsigned long )cf;
2468#line 38
2469 __cil_tmp10 = __cil_tmp9 + 16;
2470#line 38
2471 __cil_tmp11 = (unsigned long )excep;
2472#line 38
2473 __cil_tmp12 = __cil_tmp11 + 24;
2474#line 38
2475 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
2476#line 38
2477 mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
2478#line 38
2479 *mem_17 = *mem_18;
2480#line 39
2481 __cil_tmp13 = (unsigned long )excep;
2482#line 39
2483 __cil_tmp14 = __cil_tmp13 + 24;
2484#line 39
2485 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
2486#line 39
2487 *mem_19 = cf;
2488 }
2489#line 654 "libacc.c"
2490 return;
2491}
2492}
2493#line 44 "libacc.c"
2494void __utac__exception__cf_handler_free(void *exception )
2495{ struct __UTAC__EXCEPTION *excep ;
2496 struct __UTAC__CFLOW_FUNC *cf ;
2497 struct __UTAC__CFLOW_FUNC *tmp ;
2498 unsigned long __cil_tmp5 ;
2499 unsigned long __cil_tmp6 ;
2500 struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
2501 unsigned long __cil_tmp8 ;
2502 unsigned long __cil_tmp9 ;
2503 unsigned long __cil_tmp10 ;
2504 unsigned long __cil_tmp11 ;
2505 void *__cil_tmp12 ;
2506 unsigned long __cil_tmp13 ;
2507 unsigned long __cil_tmp14 ;
2508 struct __UTAC__CFLOW_FUNC **mem_15 ;
2509 struct __UTAC__CFLOW_FUNC **mem_16 ;
2510 struct __UTAC__CFLOW_FUNC **mem_17 ;
2511
2512 {
2513#line 45
2514 excep = (struct __UTAC__EXCEPTION *)exception;
2515#line 46
2516 __cil_tmp5 = (unsigned long )excep;
2517#line 46
2518 __cil_tmp6 = __cil_tmp5 + 24;
2519#line 46
2520 mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
2521#line 46
2522 cf = *mem_15;
2523 {
2524#line 49
2525 while (1) {
2526 while_1_continue: ;
2527 {
2528#line 49
2529 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
2530#line 49
2531 __cil_tmp8 = (unsigned long )__cil_tmp7;
2532#line 49
2533 __cil_tmp9 = (unsigned long )cf;
2534#line 49
2535 if (__cil_tmp9 != __cil_tmp8) {
2536
2537 } else {
2538 goto while_1_break;
2539 }
2540 }
2541 {
2542#line 50
2543 tmp = cf;
2544#line 51
2545 __cil_tmp10 = (unsigned long )cf;
2546#line 51
2547 __cil_tmp11 = __cil_tmp10 + 16;
2548#line 51
2549 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
2550#line 51
2551 cf = *mem_16;
2552#line 52
2553 __cil_tmp12 = (void *)tmp;
2554#line 52
2555 free(__cil_tmp12);
2556 }
2557 }
2558 while_1_break: ;
2559 }
2560#line 55
2561 __cil_tmp13 = (unsigned long )excep;
2562#line 55
2563 __cil_tmp14 = __cil_tmp13 + 24;
2564#line 55
2565 mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
2566#line 55
2567 *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
2568#line 694 "libacc.c"
2569 return;
2570}
2571}
2572#line 59 "libacc.c"
2573void __utac__exception__cf_handler_reset(void *exception )
2574{ struct __UTAC__EXCEPTION *excep ;
2575 struct __UTAC__CFLOW_FUNC *cf ;
2576 unsigned long __cil_tmp5 ;
2577 unsigned long __cil_tmp6 ;
2578 struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
2579 unsigned long __cil_tmp8 ;
2580 unsigned long __cil_tmp9 ;
2581 int (*__cil_tmp10)(int , int ) ;
2582 unsigned long __cil_tmp11 ;
2583 unsigned long __cil_tmp12 ;
2584 int __cil_tmp13 ;
2585 unsigned long __cil_tmp14 ;
2586 unsigned long __cil_tmp15 ;
2587 struct __UTAC__CFLOW_FUNC **mem_16 ;
2588 int (**mem_17)(int , int ) ;
2589 int *mem_18 ;
2590 struct __UTAC__CFLOW_FUNC **mem_19 ;
2591
2592 {
2593#line 60
2594 excep = (struct __UTAC__EXCEPTION *)exception;
2595#line 61
2596 __cil_tmp5 = (unsigned long )excep;
2597#line 61
2598 __cil_tmp6 = __cil_tmp5 + 24;
2599#line 61
2600 mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
2601#line 61
2602 cf = *mem_16;
2603 {
2604#line 64
2605 while (1) {
2606 while_2_continue: ;
2607 {
2608#line 64
2609 __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
2610#line 64
2611 __cil_tmp8 = (unsigned long )__cil_tmp7;
2612#line 64
2613 __cil_tmp9 = (unsigned long )cf;
2614#line 64
2615 if (__cil_tmp9 != __cil_tmp8) {
2616
2617 } else {
2618 goto while_2_break;
2619 }
2620 }
2621 {
2622#line 65
2623 mem_17 = (int (**)(int , int ))cf;
2624#line 65
2625 __cil_tmp10 = *mem_17;
2626#line 65
2627 __cil_tmp11 = (unsigned long )cf;
2628#line 65
2629 __cil_tmp12 = __cil_tmp11 + 8;
2630#line 65
2631 mem_18 = (int *)__cil_tmp12;
2632#line 65
2633 __cil_tmp13 = *mem_18;
2634#line 65
2635 (*__cil_tmp10)(4, __cil_tmp13);
2636#line 66
2637 __cil_tmp14 = (unsigned long )cf;
2638#line 66
2639 __cil_tmp15 = __cil_tmp14 + 16;
2640#line 66
2641 mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
2642#line 66
2643 cf = *mem_19;
2644 }
2645 }
2646 while_2_break: ;
2647 }
2648 {
2649#line 69
2650 __utac__exception__cf_handler_free(exception);
2651 }
2652#line 732 "libacc.c"
2653 return;
2654}
2655}
2656#line 80 "libacc.c"
2657void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
2658#line 80 "libacc.c"
2659static struct __ACC__ERR *head = (struct __ACC__ERR *)0;
2660#line 79 "libacc.c"
2661void *__utac__error_stack_mgt(void *env , int mode , int count )
2662{ void *retValue_acc ;
2663 struct __ACC__ERR *new ;
2664 void *tmp ;
2665 struct __ACC__ERR *temp ;
2666 struct __ACC__ERR *next ;
2667 void *excep ;
2668 unsigned long __cil_tmp10 ;
2669 unsigned long __cil_tmp11 ;
2670 unsigned long __cil_tmp12 ;
2671 unsigned long __cil_tmp13 ;
2672 void *__cil_tmp14 ;
2673 unsigned long __cil_tmp15 ;
2674 unsigned long __cil_tmp16 ;
2675 void *__cil_tmp17 ;
2676 void **mem_18 ;
2677 struct __ACC__ERR **mem_19 ;
2678 struct __ACC__ERR **mem_20 ;
2679 void **mem_21 ;
2680 struct __ACC__ERR **mem_22 ;
2681 void **mem_23 ;
2682 void **mem_24 ;
2683
2684 {
2685#line 82 "libacc.c"
2686 if (count == 0) {
2687#line 758 "libacc.c"
2688 return (retValue_acc);
2689 } else {
2690
2691 }
2692#line 86 "libacc.c"
2693 if (mode == 0) {
2694 {
2695#line 87
2696 tmp = malloc(16UL);
2697#line 87
2698 new = (struct __ACC__ERR *)tmp;
2699#line 88
2700 mem_18 = (void **)new;
2701#line 88
2702 *mem_18 = env;
2703#line 89
2704 __cil_tmp10 = (unsigned long )new;
2705#line 89
2706 __cil_tmp11 = __cil_tmp10 + 8;
2707#line 89
2708 mem_19 = (struct __ACC__ERR **)__cil_tmp11;
2709#line 89
2710 *mem_19 = head;
2711#line 90
2712 head = new;
2713#line 776 "libacc.c"
2714 retValue_acc = (void *)new;
2715 }
2716#line 778
2717 return (retValue_acc);
2718 } else {
2719
2720 }
2721#line 94 "libacc.c"
2722 if (mode == 1) {
2723#line 95
2724 temp = head;
2725 {
2726#line 98
2727 while (1) {
2728 while_3_continue: ;
2729#line 98
2730 if (count > 1) {
2731
2732 } else {
2733 goto while_3_break;
2734 }
2735 {
2736#line 99
2737 __cil_tmp12 = (unsigned long )temp;
2738#line 99
2739 __cil_tmp13 = __cil_tmp12 + 8;
2740#line 99
2741 mem_20 = (struct __ACC__ERR **)__cil_tmp13;
2742#line 99
2743 next = *mem_20;
2744#line 100
2745 mem_21 = (void **)temp;
2746#line 100
2747 excep = *mem_21;
2748#line 101
2749 __cil_tmp14 = (void *)temp;
2750#line 101
2751 free(__cil_tmp14);
2752#line 102
2753 __utac__exception__cf_handler_reset(excep);
2754#line 103
2755 temp = next;
2756#line 104
2757 count = count - 1;
2758 }
2759 }
2760 while_3_break: ;
2761 }
2762 {
2763#line 107
2764 __cil_tmp15 = (unsigned long )temp;
2765#line 107
2766 __cil_tmp16 = __cil_tmp15 + 8;
2767#line 107
2768 mem_22 = (struct __ACC__ERR **)__cil_tmp16;
2769#line 107
2770 head = *mem_22;
2771#line 108
2772 mem_23 = (void **)temp;
2773#line 108
2774 excep = *mem_23;
2775#line 109
2776 __cil_tmp17 = (void *)temp;
2777#line 109
2778 free(__cil_tmp17);
2779#line 110
2780 __utac__exception__cf_handler_reset(excep);
2781#line 820 "libacc.c"
2782 retValue_acc = excep;
2783 }
2784#line 822
2785 return (retValue_acc);
2786 } else {
2787
2788 }
2789#line 114
2790 if (mode == 2) {
2791#line 118 "libacc.c"
2792 if (head) {
2793#line 831
2794 mem_24 = (void **)head;
2795#line 831
2796 retValue_acc = *mem_24;
2797#line 833
2798 return (retValue_acc);
2799 } else {
2800#line 837 "libacc.c"
2801 retValue_acc = (void *)0;
2802#line 839
2803 return (retValue_acc);
2804 }
2805 } else {
2806
2807 }
2808#line 846 "libacc.c"
2809 return (retValue_acc);
2810}
2811}
2812#line 122 "libacc.c"
2813void *__utac__get_this_arg(int i , struct JoinPoint *this )
2814{ void *retValue_acc ;
2815 unsigned long __cil_tmp4 ;
2816 unsigned long __cil_tmp5 ;
2817 int __cil_tmp6 ;
2818 int __cil_tmp7 ;
2819 unsigned long __cil_tmp8 ;
2820 unsigned long __cil_tmp9 ;
2821 void **__cil_tmp10 ;
2822 void **__cil_tmp11 ;
2823 int *mem_12 ;
2824 void ***mem_13 ;
2825
2826 {
2827#line 123
2828 if (i > 0) {
2829 {
2830#line 123
2831 __cil_tmp4 = (unsigned long )this;
2832#line 123
2833 __cil_tmp5 = __cil_tmp4 + 16;
2834#line 123
2835 mem_12 = (int *)__cil_tmp5;
2836#line 123
2837 __cil_tmp6 = *mem_12;
2838#line 123
2839 if (i <= __cil_tmp6) {
2840
2841 } else {
2842 {
2843#line 123
2844 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
2845 123U, "__utac__get_this_arg");
2846 }
2847 }
2848 }
2849 } else {
2850 {
2851#line 123
2852 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
2853 123U, "__utac__get_this_arg");
2854 }
2855 }
2856#line 870 "libacc.c"
2857 __cil_tmp7 = i - 1;
2858#line 870
2859 __cil_tmp8 = (unsigned long )this;
2860#line 870
2861 __cil_tmp9 = __cil_tmp8 + 8;
2862#line 870
2863 mem_13 = (void ***)__cil_tmp9;
2864#line 870
2865 __cil_tmp10 = *mem_13;
2866#line 870
2867 __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
2868#line 870
2869 retValue_acc = *__cil_tmp11;
2870#line 872
2871 return (retValue_acc);
2872#line 879
2873 return (retValue_acc);
2874}
2875}
2876#line 129 "libacc.c"
2877char const *__utac__get_this_argtype(int i , struct JoinPoint *this )
2878{ char const *retValue_acc ;
2879 unsigned long __cil_tmp4 ;
2880 unsigned long __cil_tmp5 ;
2881 int __cil_tmp6 ;
2882 int __cil_tmp7 ;
2883 unsigned long __cil_tmp8 ;
2884 unsigned long __cil_tmp9 ;
2885 char const **__cil_tmp10 ;
2886 char const **__cil_tmp11 ;
2887 int *mem_12 ;
2888 char const ***mem_13 ;
2889
2890 {
2891#line 131
2892 if (i > 0) {
2893 {
2894#line 131
2895 __cil_tmp4 = (unsigned long )this;
2896#line 131
2897 __cil_tmp5 = __cil_tmp4 + 16;
2898#line 131
2899 mem_12 = (int *)__cil_tmp5;
2900#line 131
2901 __cil_tmp6 = *mem_12;
2902#line 131
2903 if (i <= __cil_tmp6) {
2904
2905 } else {
2906 {
2907#line 131
2908 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
2909 131U, "__utac__get_this_argtype");
2910 }
2911 }
2912 }
2913 } else {
2914 {
2915#line 131
2916 __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
2917 131U, "__utac__get_this_argtype");
2918 }
2919 }
2920#line 903 "libacc.c"
2921 __cil_tmp7 = i - 1;
2922#line 903
2923 __cil_tmp8 = (unsigned long )this;
2924#line 903
2925 __cil_tmp9 = __cil_tmp8 + 24;
2926#line 903
2927 mem_13 = (char const ***)__cil_tmp9;
2928#line 903
2929 __cil_tmp10 = *mem_13;
2930#line 903
2931 __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
2932#line 903
2933 retValue_acc = *__cil_tmp11;
2934#line 905
2935 return (retValue_acc);
2936#line 912
2937 return (retValue_acc);
2938}
2939}
2940#line 1 "EncryptForward_spec.o"
2941#pragma merger(0,"EncryptForward_spec.i","")
2942#line 7 "EncryptForward_spec.c"
2943int in_encrypted = 0;
2944#line 11 "EncryptForward_spec.c"
2945void __utac_acc__EncryptForward_spec__1(int msg )
2946{ char const * __restrict __cil_tmp2 ;
2947
2948 {
2949 {
2950#line 13
2951 puts("before incoming\n");
2952#line 14
2953 in_encrypted = isEncrypted(msg);
2954#line 15
2955 __cil_tmp2 = (char const * __restrict )"in_encrypted=%d\n";
2956#line 15
2957 printf(__cil_tmp2, in_encrypted);
2958 }
2959#line 15
2960 return;
2961}
2962}
2963#line 19 "EncryptForward_spec.c"
2964void __utac_acc__EncryptForward_spec__2(int msg )
2965{ int tmp ;
2966 char const * __restrict __cil_tmp3 ;
2967
2968 {
2969 {
2970#line 21
2971 puts("before mail\n");
2972#line 22
2973 __cil_tmp3 = (char const * __restrict )"in_encrypted=%d\n";
2974#line 22
2975 printf(__cil_tmp3, in_encrypted);
2976 }
2977#line 23
2978 if (in_encrypted) {
2979 {
2980#line 23
2981 tmp = isEncrypted(msg);
2982 }
2983#line 23
2984 if (tmp) {
2985
2986 } else {
2987 {
2988#line 24
2989 __automaton_fail();
2990 }
2991 }
2992 } else {
2993
2994 }
2995#line 24
2996 return;
2997}
2998}
2999#line 1 "featureselect.o"
3000#pragma merger(0,"featureselect.i","")
3001#line 28 "featureselect.h"
3002int select_one(void) ;
3003#line 7 "featureselect.c"
3004int select_one(void)
3005{ int retValue_acc ;
3006 int choice = __VERIFIER_nondet_int();
3007
3008 {
3009#line 82 "featureselect.c"
3010 retValue_acc = choice;
3011#line 84
3012 return (retValue_acc);
3013#line 91
3014 return (retValue_acc);
3015}
3016}
3017#line 12 "featureselect.c"
3018void select_features(void)
3019{
3020
3021 {
3022 {
3023#line 13
3024 __SELECTED_FEATURE_Base = select_one();
3025#line 14
3026 __SELECTED_FEATURE_Keys = select_one();
3027#line 15
3028 __SELECTED_FEATURE_Encrypt = 1;
3029#line 16
3030 __SELECTED_FEATURE_AutoResponder = select_one();
3031#line 17
3032 __SELECTED_FEATURE_AddressBook = select_one();
3033#line 18
3034 __SELECTED_FEATURE_Sign = select_one();
3035#line 19
3036 __SELECTED_FEATURE_Forward = select_one();
3037#line 20
3038 __SELECTED_FEATURE_Verify = select_one();
3039#line 21
3040 __SELECTED_FEATURE_Decrypt = select_one();
3041 }
3042#line 131 "featureselect.c"
3043 return;
3044}
3045}
3046#line 25 "featureselect.c"
3047void select_helpers(void)
3048{
3049
3050 {
3051#line 26
3052 __GUIDSL_ROOT_PRODUCTION = 1;
3053#line 151 "featureselect.c"
3054 return;
3055}
3056}
3057#line 29 "featureselect.c"
3058int valid_product(void)
3059{ int retValue_acc ;
3060 int tmp ;
3061
3062 {
3063#line 169
3064 if (! __SELECTED_FEATURE_Encrypt) {
3065 goto _L___4;
3066 } else {
3067#line 169
3068 if (__SELECTED_FEATURE_Decrypt) {
3069 _L___4:
3070#line 169
3071 if (! __SELECTED_FEATURE_Decrypt) {
3072 goto _L___3;
3073 } else {
3074#line 169
3075 if (__SELECTED_FEATURE_Encrypt) {
3076 _L___3:
3077#line 169
3078 if (! __SELECTED_FEATURE_Encrypt) {
3079 goto _L___2;
3080 } else {
3081#line 169
3082 if (__SELECTED_FEATURE_Keys) {
3083 _L___2:
3084#line 169
3085 if (! __SELECTED_FEATURE_Sign) {
3086 goto _L___1;
3087 } else {
3088#line 169
3089 if (__SELECTED_FEATURE_Verify) {
3090 _L___1:
3091#line 169
3092 if (! __SELECTED_FEATURE_Verify) {
3093 goto _L___0;
3094 } else {
3095#line 169
3096 if (__SELECTED_FEATURE_Sign) {
3097 _L___0:
3098#line 169
3099 if (! __SELECTED_FEATURE_Sign) {
3100 goto _L;
3101 } else {
3102#line 169
3103 if (__SELECTED_FEATURE_Keys) {
3104 _L:
3105#line 169
3106 if (__SELECTED_FEATURE_Base) {
3107#line 169
3108 tmp = 1;
3109 } else {
3110#line 169
3111 tmp = 0;
3112 }
3113 } else {
3114#line 169
3115 tmp = 0;
3116 }
3117 }
3118 } else {
3119#line 169
3120 tmp = 0;
3121 }
3122 }
3123 } else {
3124#line 169
3125 tmp = 0;
3126 }
3127 }
3128 } else {
3129#line 169
3130 tmp = 0;
3131 }
3132 }
3133 } else {
3134#line 169
3135 tmp = 0;
3136 }
3137 }
3138 } else {
3139#line 169 "featureselect.c"
3140 tmp = 0;
3141 }
3142 }
3143#line 169
3144 retValue_acc = tmp;
3145#line 171
3146 return (retValue_acc);
3147#line 178
3148 return (retValue_acc);
3149}
3150}
3151#line 1 "Email.o"
3152#pragma merger(0,"Email.i","")
3153#line 15 "Email.h"
3154int cloneEmail(int msg ) ;
3155#line 9 "Email.c"
3156void printMail__before__Encrypt(int msg )
3157{ int tmp ;
3158 int tmp___0 ;
3159 int tmp___1 ;
3160 int tmp___2 ;
3161 char const * __restrict __cil_tmp6 ;
3162 char const * __restrict __cil_tmp7 ;
3163 char const * __restrict __cil_tmp8 ;
3164 char const * __restrict __cil_tmp9 ;
3165
3166 {
3167 {
3168#line 10
3169 tmp = getEmailId(msg);
3170#line 10
3171 __cil_tmp6 = (char const * __restrict )"ID:\n %i\n";
3172#line 10
3173 printf(__cil_tmp6, tmp);
3174#line 11
3175 tmp___0 = getEmailFrom(msg);
3176#line 11
3177 __cil_tmp7 = (char const * __restrict )"FROM:\n %i\n";
3178#line 11
3179 printf(__cil_tmp7, tmp___0);
3180#line 12
3181 tmp___1 = getEmailTo(msg);
3182#line 12
3183 __cil_tmp8 = (char const * __restrict )"TO:\n %i\n";
3184#line 12
3185 printf(__cil_tmp8, tmp___1);
3186#line 13
3187 tmp___2 = isReadable(msg);
3188#line 13
3189 __cil_tmp9 = (char const * __restrict )"IS_READABLE\n %i\n";
3190#line 13
3191 printf(__cil_tmp9, tmp___2);
3192 }
3193#line 599 "Email.c"
3194 return;
3195}
3196}
3197#line 20 "Email.c"
3198void printMail__role__Encrypt(int msg )
3199{ int tmp ;
3200 int tmp___0 ;
3201 char const * __restrict __cil_tmp4 ;
3202 char const * __restrict __cil_tmp5 ;
3203
3204 {
3205 {
3206#line 21
3207 printMail__before__Encrypt(msg);
3208#line 22
3209 tmp = isEncrypted(msg);
3210#line 22
3211 __cil_tmp4 = (char const * __restrict )"ENCRYPTED\n %d\n";
3212#line 22
3213 printf(__cil_tmp4, tmp);
3214#line 23
3215 tmp___0 = getEmailEncryptionKey(msg);
3216#line 23
3217 __cil_tmp5 = (char const * __restrict )"ENCRYPTION KEY\n %d\n";
3218#line 23
3219 printf(__cil_tmp5, tmp___0);
3220 }
3221#line 623 "Email.c"
3222 return;
3223}
3224}
3225#line 26 "Email.c"
3226void printMail__before__Sign(int msg )
3227{
3228
3229 {
3230#line 31
3231 if (__SELECTED_FEATURE_Encrypt) {
3232 {
3233#line 28
3234 printMail__role__Encrypt(msg);
3235 }
3236#line 28
3237 return;
3238 } else {
3239 {
3240#line 30
3241 printMail__before__Encrypt(msg);
3242 }
3243#line 30
3244 return;
3245 }
3246}
3247}
3248#line 37 "Email.c"
3249void printMail__role__Sign(int msg )
3250{ int tmp ;
3251 int tmp___0 ;
3252 char const * __restrict __cil_tmp4 ;
3253 char const * __restrict __cil_tmp5 ;
3254
3255 {
3256 {
3257#line 38
3258 printMail__before__Sign(msg);
3259#line 39
3260 tmp = isSigned(msg);
3261#line 39
3262 __cil_tmp4 = (char const * __restrict )"SIGNED\n %i\n";
3263#line 39
3264 printf(__cil_tmp4, tmp);
3265#line 40
3266 tmp___0 = getEmailSignKey(msg);
3267#line 40
3268 __cil_tmp5 = (char const * __restrict )"SIGNATURE\n %i\n";
3269#line 40
3270 printf(__cil_tmp5, tmp___0);
3271 }
3272#line 675 "Email.c"
3273 return;
3274}
3275}
3276#line 45 "Email.c"
3277void printMail__before__Verify(int msg )
3278{
3279
3280 {
3281#line 50
3282 if (__SELECTED_FEATURE_Sign) {
3283 {
3284#line 47
3285 printMail__role__Sign(msg);
3286 }
3287#line 47
3288 return;
3289 } else {
3290 {
3291#line 49
3292 printMail__before__Sign(msg);
3293 }
3294#line 49
3295 return;
3296 }
3297}
3298}
3299#line 58 "Email.c"
3300void printMail__role__Verify(int msg )
3301{ int tmp ;
3302 char const * __restrict __cil_tmp3 ;
3303
3304 {
3305 {
3306#line 59
3307 printMail__before__Verify(msg);
3308#line 60
3309 tmp = isVerified(msg);
3310#line 60
3311 __cil_tmp3 = (char const * __restrict )"SIGNATURE VERIFIED\n %d\n";
3312#line 60
3313 printf(__cil_tmp3, tmp);
3314 }
3315#line 725 "Email.c"
3316 return;
3317}
3318}
3319#line 63 "Email.c"
3320void printMail(int msg )
3321{
3322
3323 {
3324#line 68
3325 if (__SELECTED_FEATURE_Verify) {
3326 {
3327#line 65
3328 printMail__role__Verify(msg);
3329 }
3330#line 65
3331 return;
3332 } else {
3333 {
3334#line 67
3335 printMail__before__Verify(msg);
3336 }
3337#line 67
3338 return;
3339 }
3340}
3341}
3342#line 76 "Email.c"
3343int isReadable__before__Encrypt(int msg )
3344{ int retValue_acc ;
3345
3346 {
3347#line 771 "Email.c"
3348 retValue_acc = 1;
3349#line 773
3350 return (retValue_acc);
3351#line 780
3352 return (retValue_acc);
3353}
3354}
3355#line 83 "Email.c"
3356int isReadable__role__Encrypt(int msg )
3357{ int retValue_acc ;
3358 int tmp ;
3359
3360 {
3361 {
3362#line 87
3363 tmp = isEncrypted(msg);
3364 }
3365#line 87 "Email.c"
3366 if (tmp) {
3367#line 809
3368 retValue_acc = 0;
3369#line 811
3370 return (retValue_acc);
3371 } else {
3372 {
3373#line 803 "Email.c"
3374 retValue_acc = isReadable__before__Encrypt(msg);
3375 }
3376#line 805
3377 return (retValue_acc);
3378 }
3379#line 818 "Email.c"
3380 return (retValue_acc);
3381}
3382}
3383#line 93 "Email.c"
3384int isReadable(int msg )
3385{ int retValue_acc ;
3386
3387 {
3388#line 98 "Email.c"
3389 if (__SELECTED_FEATURE_Encrypt) {
3390 {
3391#line 843
3392 retValue_acc = isReadable__role__Encrypt(msg);
3393 }
3394#line 845
3395 return (retValue_acc);
3396 } else {
3397 {
3398#line 851 "Email.c"
3399 retValue_acc = isReadable__before__Encrypt(msg);
3400 }
3401#line 853
3402 return (retValue_acc);
3403 }
3404#line 860 "Email.c"
3405 return (retValue_acc);
3406}
3407}
3408#line 104 "Email.c"
3409int cloneEmail(int msg )
3410{ int retValue_acc ;
3411
3412 {
3413#line 882 "Email.c"
3414 retValue_acc = msg;
3415#line 884
3416 return (retValue_acc);
3417#line 891
3418 return (retValue_acc);
3419}
3420}
3421#line 109 "Email.c"
3422int createEmail(int from , int to )
3423{ int retValue_acc ;
3424 int msg ;
3425
3426 {
3427 {
3428#line 110
3429 msg = 1;
3430#line 111
3431 setEmailFrom(msg, from);
3432#line 112
3433 setEmailTo(msg, to);
3434#line 921 "Email.c"
3435 retValue_acc = msg;
3436 }
3437#line 923
3438 return (retValue_acc);
3439#line 930
3440 return (retValue_acc);
3441}
3442}
3443#line 1 "Util.o"
3444#pragma merger(0,"Util.i","")
3445#line 1 "Util.h"
3446int prompt(char *msg ) ;
3447#line 9 "Util.c"
3448int prompt(char *msg )
3449{ int retValue_acc ;
3450 int retval ;
3451 char const * __restrict __cil_tmp4 ;
3452
3453 {
3454 {
3455#line 10
3456 __cil_tmp4 = (char const * __restrict )"%s\n";
3457#line 10
3458 printf(__cil_tmp4, msg);
3459#line 518 "Util.c"
3460 retValue_acc = retval;
3461 }
3462#line 520
3463 return (retValue_acc);
3464#line 527
3465 return (retValue_acc);
3466}
3467}
3468#line 1 "ClientLib.o"
3469#pragma merger(0,"ClientLib.i","")
3470#line 6 "ClientLib.h"
3471char *getClientName(int handle ) ;
3472#line 8
3473void setClientName(int handle , char *value ) ;
3474#line 10
3475int getClientOutbuffer(int handle ) ;
3476#line 12
3477void setClientOutbuffer(int handle , int value ) ;
3478#line 18
3479int createClientAddressBookEntry(int handle ) ;
3480#line 20
3481int getClientAddressBookAlias(int handle , int index ) ;
3482#line 37
3483int getClientKeyringSize(int handle ) ;
3484#line 59
3485int findClientAddressBookAlias(int handle , int userid ) ;
3486#line 5 "ClientLib.c"
3487int __ste_Client_counter = 0;
3488#line 7 "ClientLib.c"
3489int initClient(void)
3490{ int retValue_acc ;
3491
3492 {
3493#line 12 "ClientLib.c"
3494 if (__ste_Client_counter < 3) {
3495#line 684
3496 __ste_Client_counter = __ste_Client_counter + 1;
3497#line 684
3498 retValue_acc = __ste_Client_counter;
3499#line 686
3500 return (retValue_acc);
3501 } else {
3502#line 692 "ClientLib.c"
3503 retValue_acc = -1;
3504#line 694
3505 return (retValue_acc);
3506 }
3507#line 701 "ClientLib.c"
3508 return (retValue_acc);
3509}
3510}
3511#line 15 "ClientLib.c"
3512char *__ste_client_name0 = (char *)0;
3513#line 17 "ClientLib.c"
3514char *__ste_client_name1 = (char *)0;
3515#line 19 "ClientLib.c"
3516char *__ste_client_name2 = (char *)0;
3517#line 22 "ClientLib.c"
3518char *getClientName(int handle )
3519{ char *retValue_acc ;
3520 void *__cil_tmp3 ;
3521
3522 {
3523#line 31 "ClientLib.c"
3524 if (handle == 1) {
3525#line 732
3526 retValue_acc = __ste_client_name0;
3527#line 734
3528 return (retValue_acc);
3529 } else {
3530#line 736
3531 if (handle == 2) {
3532#line 741
3533 retValue_acc = __ste_client_name1;
3534#line 743
3535 return (retValue_acc);
3536 } else {
3537#line 745
3538 if (handle == 3) {
3539#line 750
3540 retValue_acc = __ste_client_name2;
3541#line 752
3542 return (retValue_acc);
3543 } else {
3544#line 758 "ClientLib.c"
3545 __cil_tmp3 = (void *)0;
3546#line 758
3547 retValue_acc = (char *)__cil_tmp3;
3548#line 760
3549 return (retValue_acc);
3550 }
3551 }
3552 }
3553#line 767 "ClientLib.c"
3554 return (retValue_acc);
3555}
3556}
3557#line 34 "ClientLib.c"
3558void setClientName(int handle , char *value )
3559{
3560
3561 {
3562#line 42
3563 if (handle == 1) {
3564#line 36
3565 __ste_client_name0 = value;
3566 } else {
3567#line 37
3568 if (handle == 2) {
3569#line 38
3570 __ste_client_name1 = value;
3571 } else {
3572#line 39
3573 if (handle == 3) {
3574#line 40
3575 __ste_client_name2 = value;
3576 } else {
3577
3578 }
3579 }
3580 }
3581#line 802 "ClientLib.c"
3582 return;
3583}
3584}
3585#line 44 "ClientLib.c"
3586int __ste_client_outbuffer0 = 0;
3587#line 46 "ClientLib.c"
3588int __ste_client_outbuffer1 = 0;
3589#line 48 "ClientLib.c"
3590int __ste_client_outbuffer2 = 0;
3591#line 50 "ClientLib.c"
3592int __ste_client_outbuffer3 = 0;
3593#line 53 "ClientLib.c"
3594int getClientOutbuffer(int handle )
3595{ int retValue_acc ;
3596
3597 {
3598#line 62 "ClientLib.c"
3599 if (handle == 1) {
3600#line 831
3601 retValue_acc = __ste_client_outbuffer0;
3602#line 833
3603 return (retValue_acc);
3604 } else {
3605#line 835
3606 if (handle == 2) {
3607#line 840
3608 retValue_acc = __ste_client_outbuffer1;
3609#line 842
3610 return (retValue_acc);
3611 } else {
3612#line 844
3613 if (handle == 3) {
3614#line 849
3615 retValue_acc = __ste_client_outbuffer2;
3616#line 851
3617 return (retValue_acc);
3618 } else {
3619#line 857 "ClientLib.c"
3620 retValue_acc = 0;
3621#line 859
3622 return (retValue_acc);
3623 }
3624 }
3625 }
3626#line 866 "ClientLib.c"
3627 return (retValue_acc);
3628}
3629}
3630#line 65 "ClientLib.c"
3631void setClientOutbuffer(int handle , int value )
3632{
3633
3634 {
3635#line 73
3636 if (handle == 1) {
3637#line 67
3638 __ste_client_outbuffer0 = value;
3639 } else {
3640#line 68
3641 if (handle == 2) {
3642#line 69
3643 __ste_client_outbuffer1 = value;
3644 } else {
3645#line 70
3646 if (handle == 3) {
3647#line 71
3648 __ste_client_outbuffer2 = value;
3649 } else {
3650
3651 }
3652 }
3653 }
3654#line 901 "ClientLib.c"
3655 return;
3656}
3657}
3658#line 77 "ClientLib.c"
3659int __ste_ClientAddressBook_size0 = 0;
3660#line 79 "ClientLib.c"
3661int __ste_ClientAddressBook_size1 = 0;
3662#line 81 "ClientLib.c"
3663int __ste_ClientAddressBook_size2 = 0;
3664#line 84 "ClientLib.c"
3665int getClientAddressBookSize(int handle )
3666{ int retValue_acc ;
3667
3668 {
3669#line 93 "ClientLib.c"
3670 if (handle == 1) {
3671#line 928
3672 retValue_acc = __ste_ClientAddressBook_size0;
3673#line 930
3674 return (retValue_acc);
3675 } else {
3676#line 932
3677 if (handle == 2) {
3678#line 937
3679 retValue_acc = __ste_ClientAddressBook_size1;
3680#line 939
3681 return (retValue_acc);
3682 } else {
3683#line 941
3684 if (handle == 3) {
3685#line 946
3686 retValue_acc = __ste_ClientAddressBook_size2;
3687#line 948
3688 return (retValue_acc);
3689 } else {
3690#line 954 "ClientLib.c"
3691 retValue_acc = 0;
3692#line 956
3693 return (retValue_acc);
3694 }
3695 }
3696 }
3697#line 963 "ClientLib.c"
3698 return (retValue_acc);
3699}
3700}
3701#line 96 "ClientLib.c"
3702void setClientAddressBookSize(int handle , int value )
3703{
3704
3705 {
3706#line 104
3707 if (handle == 1) {
3708#line 98
3709 __ste_ClientAddressBook_size0 = value;
3710 } else {
3711#line 99
3712 if (handle == 2) {
3713#line 100
3714 __ste_ClientAddressBook_size1 = value;
3715 } else {
3716#line 101
3717 if (handle == 3) {
3718#line 102
3719 __ste_ClientAddressBook_size2 = value;
3720 } else {
3721
3722 }
3723 }
3724 }
3725#line 998 "ClientLib.c"
3726 return;
3727}
3728}
3729#line 106 "ClientLib.c"
3730int createClientAddressBookEntry(int handle )
3731{ int retValue_acc ;
3732 int size ;
3733 int tmp ;
3734 int __cil_tmp5 ;
3735
3736 {
3737 {
3738#line 107
3739 tmp = getClientAddressBookSize(handle);
3740#line 107
3741 size = tmp;
3742 }
3743#line 108 "ClientLib.c"
3744 if (size < 3) {
3745 {
3746#line 109 "ClientLib.c"
3747 __cil_tmp5 = size + 1;
3748#line 109
3749 setClientAddressBookSize(handle, __cil_tmp5);
3750#line 1025 "ClientLib.c"
3751 retValue_acc = size + 1;
3752 }
3753#line 1027
3754 return (retValue_acc);
3755 } else {
3756#line 1031 "ClientLib.c"
3757 retValue_acc = -1;
3758#line 1033
3759 return (retValue_acc);
3760 }
3761#line 1040 "ClientLib.c"
3762 return (retValue_acc);
3763}
3764}
3765#line 115 "ClientLib.c"
3766int __ste_Client_AddressBook0_Alias0 = 0;
3767#line 117 "ClientLib.c"
3768int __ste_Client_AddressBook0_Alias1 = 0;
3769#line 119 "ClientLib.c"
3770int __ste_Client_AddressBook0_Alias2 = 0;
3771#line 121 "ClientLib.c"
3772int __ste_Client_AddressBook1_Alias0 = 0;
3773#line 123 "ClientLib.c"
3774int __ste_Client_AddressBook1_Alias1 = 0;
3775#line 125 "ClientLib.c"
3776int __ste_Client_AddressBook1_Alias2 = 0;
3777#line 127 "ClientLib.c"
3778int __ste_Client_AddressBook2_Alias0 = 0;
3779#line 129 "ClientLib.c"
3780int __ste_Client_AddressBook2_Alias1 = 0;
3781#line 131 "ClientLib.c"
3782int __ste_Client_AddressBook2_Alias2 = 0;
3783#line 134 "ClientLib.c"
3784int getClientAddressBookAlias(int handle , int index )
3785{ int retValue_acc ;
3786
3787 {
3788#line 167
3789 if (handle == 1) {
3790#line 144 "ClientLib.c"
3791 if (index == 0) {
3792#line 1086
3793 retValue_acc = __ste_Client_AddressBook0_Alias0;
3794#line 1088
3795 return (retValue_acc);
3796 } else {
3797#line 1090
3798 if (index == 1) {
3799#line 1095
3800 retValue_acc = __ste_Client_AddressBook0_Alias1;
3801#line 1097
3802 return (retValue_acc);
3803 } else {
3804#line 1099
3805 if (index == 2) {
3806#line 1104
3807 retValue_acc = __ste_Client_AddressBook0_Alias2;
3808#line 1106
3809 return (retValue_acc);
3810 } else {
3811#line 1112
3812 retValue_acc = 0;
3813#line 1114
3814 return (retValue_acc);
3815 }
3816 }
3817 }
3818 } else {
3819#line 1116 "ClientLib.c"
3820 if (handle == 2) {
3821#line 154 "ClientLib.c"
3822 if (index == 0) {
3823#line 1124
3824 retValue_acc = __ste_Client_AddressBook1_Alias0;
3825#line 1126
3826 return (retValue_acc);
3827 } else {
3828#line 1128
3829 if (index == 1) {
3830#line 1133
3831 retValue_acc = __ste_Client_AddressBook1_Alias1;
3832#line 1135
3833 return (retValue_acc);
3834 } else {
3835#line 1137
3836 if (index == 2) {
3837#line 1142
3838 retValue_acc = __ste_Client_AddressBook1_Alias2;
3839#line 1144
3840 return (retValue_acc);
3841 } else {
3842#line 1150
3843 retValue_acc = 0;
3844#line 1152
3845 return (retValue_acc);
3846 }
3847 }
3848 }
3849 } else {
3850#line 1154 "ClientLib.c"
3851 if (handle == 3) {
3852#line 164 "ClientLib.c"
3853 if (index == 0) {
3854#line 1162
3855 retValue_acc = __ste_Client_AddressBook2_Alias0;
3856#line 1164
3857 return (retValue_acc);
3858 } else {
3859#line 1166
3860 if (index == 1) {
3861#line 1171
3862 retValue_acc = __ste_Client_AddressBook2_Alias1;
3863#line 1173
3864 return (retValue_acc);
3865 } else {
3866#line 1175
3867 if (index == 2) {
3868#line 1180
3869 retValue_acc = __ste_Client_AddressBook2_Alias2;
3870#line 1182
3871 return (retValue_acc);
3872 } else {
3873#line 1188
3874 retValue_acc = 0;
3875#line 1190
3876 return (retValue_acc);
3877 }
3878 }
3879 }
3880 } else {
3881#line 1196 "ClientLib.c"
3882 retValue_acc = 0;
3883#line 1198
3884 return (retValue_acc);
3885 }
3886 }
3887 }
3888#line 1205 "ClientLib.c"
3889 return (retValue_acc);
3890}
3891}
3892#line 171 "ClientLib.c"
3893int findClientAddressBookAlias(int handle , int userid )
3894{ int retValue_acc ;
3895
3896 {
3897#line 204
3898 if (handle == 1) {
3899#line 181 "ClientLib.c"
3900 if (userid == __ste_Client_AddressBook0_Alias0) {
3901#line 1233
3902 retValue_acc = 0;
3903#line 1235
3904 return (retValue_acc);
3905 } else {
3906#line 1237
3907 if (userid == __ste_Client_AddressBook0_Alias1) {
3908#line 1242
3909 retValue_acc = 1;
3910#line 1244
3911 return (retValue_acc);
3912 } else {
3913#line 1246
3914 if (userid == __ste_Client_AddressBook0_Alias2) {
3915#line 1251
3916 retValue_acc = 2;
3917#line 1253
3918 return (retValue_acc);
3919 } else {
3920#line 1259
3921 retValue_acc = -1;
3922#line 1261
3923 return (retValue_acc);
3924 }
3925 }
3926 }
3927 } else {
3928#line 1263 "ClientLib.c"
3929 if (handle == 2) {
3930#line 191 "ClientLib.c"
3931 if (userid == __ste_Client_AddressBook1_Alias0) {
3932#line 1271
3933 retValue_acc = 0;
3934#line 1273
3935 return (retValue_acc);
3936 } else {
3937#line 1275
3938 if (userid == __ste_Client_AddressBook1_Alias1) {
3939#line 1280
3940 retValue_acc = 1;
3941#line 1282
3942 return (retValue_acc);
3943 } else {
3944#line 1284
3945 if (userid == __ste_Client_AddressBook1_Alias2) {
3946#line 1289
3947 retValue_acc = 2;
3948#line 1291
3949 return (retValue_acc);
3950 } else {
3951#line 1297
3952 retValue_acc = -1;
3953#line 1299
3954 return (retValue_acc);
3955 }
3956 }
3957 }
3958 } else {
3959#line 1301 "ClientLib.c"
3960 if (handle == 3) {
3961#line 201 "ClientLib.c"
3962 if (userid == __ste_Client_AddressBook2_Alias0) {
3963#line 1309
3964 retValue_acc = 0;
3965#line 1311
3966 return (retValue_acc);
3967 } else {
3968#line 1313
3969 if (userid == __ste_Client_AddressBook2_Alias1) {
3970#line 1318
3971 retValue_acc = 1;
3972#line 1320
3973 return (retValue_acc);
3974 } else {
3975#line 1322
3976 if (userid == __ste_Client_AddressBook2_Alias2) {
3977#line 1327
3978 retValue_acc = 2;
3979#line 1329
3980 return (retValue_acc);
3981 } else {
3982#line 1335
3983 retValue_acc = -1;
3984#line 1337
3985 return (retValue_acc);
3986 }
3987 }
3988 }
3989 } else {
3990#line 1343 "ClientLib.c"
3991 retValue_acc = -1;
3992#line 1345
3993 return (retValue_acc);
3994 }
3995 }
3996 }
3997#line 1352 "ClientLib.c"
3998 return (retValue_acc);
3999}
4000}
4001#line 208 "ClientLib.c"
4002void setClientAddressBookAlias(int handle , int index , int value )
4003{
4004
4005 {
4006#line 234
4007 if (handle == 1) {
4008#line 217
4009 if (index == 0) {
4010#line 211
4011 __ste_Client_AddressBook0_Alias0 = value;
4012 } else {
4013#line 212
4014 if (index == 1) {
4015#line 213
4016 __ste_Client_AddressBook0_Alias1 = value;
4017 } else {
4018#line 214
4019 if (index == 2) {
4020#line 215
4021 __ste_Client_AddressBook0_Alias2 = value;
4022 } else {
4023
4024 }
4025 }
4026 }
4027 } else {
4028#line 216
4029 if (handle == 2) {
4030#line 225
4031 if (index == 0) {
4032#line 219
4033 __ste_Client_AddressBook1_Alias0 = value;
4034 } else {
4035#line 220
4036 if (index == 1) {
4037#line 221
4038 __ste_Client_AddressBook1_Alias1 = value;
4039 } else {
4040#line 222
4041 if (index == 2) {
4042#line 223
4043 __ste_Client_AddressBook1_Alias2 = value;
4044 } else {
4045
4046 }
4047 }
4048 }
4049 } else {
4050#line 224
4051 if (handle == 3) {
4052#line 233
4053 if (index == 0) {
4054#line 227
4055 __ste_Client_AddressBook2_Alias0 = value;
4056 } else {
4057#line 228
4058 if (index == 1) {
4059#line 229
4060 __ste_Client_AddressBook2_Alias1 = value;
4061 } else {
4062#line 230
4063 if (index == 2) {
4064#line 231
4065 __ste_Client_AddressBook2_Alias2 = value;
4066 } else {
4067
4068 }
4069 }
4070 }
4071 } else {
4072
4073 }
4074 }
4075 }
4076#line 1420 "ClientLib.c"
4077 return;
4078}
4079}
4080#line 236 "ClientLib.c"
4081int __ste_Client_AddressBook0_Address0 = 0;
4082#line 238 "ClientLib.c"
4083int __ste_Client_AddressBook0_Address1 = 0;
4084#line 240 "ClientLib.c"
4085int __ste_Client_AddressBook0_Address2 = 0;
4086#line 242 "ClientLib.c"
4087int __ste_Client_AddressBook1_Address0 = 0;
4088#line 244 "ClientLib.c"
4089int __ste_Client_AddressBook1_Address1 = 0;
4090#line 246 "ClientLib.c"
4091int __ste_Client_AddressBook1_Address2 = 0;
4092#line 248 "ClientLib.c"
4093int __ste_Client_AddressBook2_Address0 = 0;
4094#line 250 "ClientLib.c"
4095int __ste_Client_AddressBook2_Address1 = 0;
4096#line 252 "ClientLib.c"
4097int __ste_Client_AddressBook2_Address2 = 0;
4098#line 255 "ClientLib.c"
4099int getClientAddressBookAddress(int handle , int index )
4100{ int retValue_acc ;
4101
4102 {
4103#line 288
4104 if (handle == 1) {
4105#line 265 "ClientLib.c"
4106 if (index == 0) {
4107#line 1462
4108 retValue_acc = __ste_Client_AddressBook0_Address0;
4109#line 1464
4110 return (retValue_acc);
4111 } else {
4112#line 1466
4113 if (index == 1) {
4114#line 1471
4115 retValue_acc = __ste_Client_AddressBook0_Address1;
4116#line 1473
4117 return (retValue_acc);
4118 } else {
4119#line 1475
4120 if (index == 2) {
4121#line 1480
4122 retValue_acc = __ste_Client_AddressBook0_Address2;
4123#line 1482
4124 return (retValue_acc);
4125 } else {
4126#line 1488
4127 retValue_acc = 0;
4128#line 1490
4129 return (retValue_acc);
4130 }
4131 }
4132 }
4133 } else {
4134#line 1492 "ClientLib.c"
4135 if (handle == 2) {
4136#line 275 "ClientLib.c"
4137 if (index == 0) {
4138#line 1500
4139 retValue_acc = __ste_Client_AddressBook1_Address0;
4140#line 1502
4141 return (retValue_acc);
4142 } else {
4143#line 1504
4144 if (index == 1) {
4145#line 1509
4146 retValue_acc = __ste_Client_AddressBook1_Address1;
4147#line 1511
4148 return (retValue_acc);
4149 } else {
4150#line 1513
4151 if (index == 2) {
4152#line 1518
4153 retValue_acc = __ste_Client_AddressBook1_Address2;
4154#line 1520
4155 return (retValue_acc);
4156 } else {
4157#line 1526
4158 retValue_acc = 0;
4159#line 1528
4160 return (retValue_acc);
4161 }
4162 }
4163 }
4164 } else {
4165#line 1530 "ClientLib.c"
4166 if (handle == 3) {
4167#line 285 "ClientLib.c"
4168 if (index == 0) {
4169#line 1538
4170 retValue_acc = __ste_Client_AddressBook2_Address0;
4171#line 1540
4172 return (retValue_acc);
4173 } else {
4174#line 1542
4175 if (index == 1) {
4176#line 1547
4177 retValue_acc = __ste_Client_AddressBook2_Address1;
4178#line 1549
4179 return (retValue_acc);
4180 } else {
4181#line 1551
4182 if (index == 2) {
4183#line 1556
4184 retValue_acc = __ste_Client_AddressBook2_Address2;
4185#line 1558
4186 return (retValue_acc);
4187 } else {
4188#line 1564
4189 retValue_acc = 0;
4190#line 1566
4191 return (retValue_acc);
4192 }
4193 }
4194 }
4195 } else {
4196#line 1572 "ClientLib.c"
4197 retValue_acc = 0;
4198#line 1574
4199 return (retValue_acc);
4200 }
4201 }
4202 }
4203#line 1581 "ClientLib.c"
4204 return (retValue_acc);
4205}
4206}
4207#line 291 "ClientLib.c"
4208void setClientAddressBookAddress(int handle , int index , int value )
4209{
4210
4211 {
4212#line 317
4213 if (handle == 1) {
4214#line 300
4215 if (index == 0) {
4216#line 294
4217 __ste_Client_AddressBook0_Address0 = value;
4218 } else {
4219#line 295
4220 if (index == 1) {
4221#line 296
4222 __ste_Client_AddressBook0_Address1 = value;
4223 } else {
4224#line 297
4225 if (index == 2) {
4226#line 298
4227 __ste_Client_AddressBook0_Address2 = value;
4228 } else {
4229
4230 }
4231 }
4232 }
4233 } else {
4234#line 299
4235 if (handle == 2) {
4236#line 308
4237 if (index == 0) {
4238#line 302
4239 __ste_Client_AddressBook1_Address0 = value;
4240 } else {
4241#line 303
4242 if (index == 1) {
4243#line 304
4244 __ste_Client_AddressBook1_Address1 = value;
4245 } else {
4246#line 305
4247 if (index == 2) {
4248#line 306
4249 __ste_Client_AddressBook1_Address2 = value;
4250 } else {
4251
4252 }
4253 }
4254 }
4255 } else {
4256#line 307
4257 if (handle == 3) {
4258#line 316
4259 if (index == 0) {
4260#line 310
4261 __ste_Client_AddressBook2_Address0 = value;
4262 } else {
4263#line 311
4264 if (index == 1) {
4265#line 312
4266 __ste_Client_AddressBook2_Address1 = value;
4267 } else {
4268#line 313
4269 if (index == 2) {
4270#line 314
4271 __ste_Client_AddressBook2_Address2 = value;
4272 } else {
4273
4274 }
4275 }
4276 }
4277 } else {
4278
4279 }
4280 }
4281 }
4282#line 1649 "ClientLib.c"
4283 return;
4284}
4285}
4286#line 319 "ClientLib.c"
4287int __ste_client_autoResponse0 = 0;
4288#line 321 "ClientLib.c"
4289int __ste_client_autoResponse1 = 0;
4290#line 323 "ClientLib.c"
4291int __ste_client_autoResponse2 = 0;
4292#line 326 "ClientLib.c"
4293int getClientAutoResponse(int handle )
4294{ int retValue_acc ;
4295
4296 {
4297#line 335 "ClientLib.c"
4298 if (handle == 1) {
4299#line 1676
4300 retValue_acc = __ste_client_autoResponse0;
4301#line 1678
4302 return (retValue_acc);
4303 } else {
4304#line 1680
4305 if (handle == 2) {
4306#line 1685
4307 retValue_acc = __ste_client_autoResponse1;
4308#line 1687
4309 return (retValue_acc);
4310 } else {
4311#line 1689
4312 if (handle == 3) {
4313#line 1694
4314 retValue_acc = __ste_client_autoResponse2;
4315#line 1696
4316 return (retValue_acc);
4317 } else {
4318#line 1702 "ClientLib.c"
4319 retValue_acc = -1;
4320#line 1704
4321 return (retValue_acc);
4322 }
4323 }
4324 }
4325#line 1711 "ClientLib.c"
4326 return (retValue_acc);
4327}
4328}
4329#line 338 "ClientLib.c"
4330void setClientAutoResponse(int handle , int value )
4331{
4332
4333 {
4334#line 346
4335 if (handle == 1) {
4336#line 340
4337 __ste_client_autoResponse0 = value;
4338 } else {
4339#line 341
4340 if (handle == 2) {
4341#line 342
4342 __ste_client_autoResponse1 = value;
4343 } else {
4344#line 343
4345 if (handle == 3) {
4346#line 344
4347 __ste_client_autoResponse2 = value;
4348 } else {
4349
4350 }
4351 }
4352 }
4353#line 1746 "ClientLib.c"
4354 return;
4355}
4356}
4357#line 348 "ClientLib.c"
4358int __ste_client_privateKey0 = 0;
4359#line 350 "ClientLib.c"
4360int __ste_client_privateKey1 = 0;
4361#line 352 "ClientLib.c"
4362int __ste_client_privateKey2 = 0;
4363#line 355 "ClientLib.c"
4364int getClientPrivateKey(int handle )
4365{ int retValue_acc ;
4366
4367 {
4368#line 364 "ClientLib.c"
4369 if (handle == 1) {
4370#line 1773
4371 retValue_acc = __ste_client_privateKey0;
4372#line 1775
4373 return (retValue_acc);
4374 } else {
4375#line 1777
4376 if (handle == 2) {
4377#line 1782
4378 retValue_acc = __ste_client_privateKey1;
4379#line 1784
4380 return (retValue_acc);
4381 } else {
4382#line 1786
4383 if (handle == 3) {
4384#line 1791
4385 retValue_acc = __ste_client_privateKey2;
4386#line 1793
4387 return (retValue_acc);
4388 } else {
4389#line 1799 "ClientLib.c"
4390 retValue_acc = 0;
4391#line 1801
4392 return (retValue_acc);
4393 }
4394 }
4395 }
4396#line 1808 "ClientLib.c"
4397 return (retValue_acc);
4398}
4399}
4400#line 367 "ClientLib.c"
4401void setClientPrivateKey(int handle , int value )
4402{
4403
4404 {
4405#line 375
4406 if (handle == 1) {
4407#line 369
4408 __ste_client_privateKey0 = value;
4409 } else {
4410#line 370
4411 if (handle == 2) {
4412#line 371
4413 __ste_client_privateKey1 = value;
4414 } else {
4415#line 372
4416 if (handle == 3) {
4417#line 373
4418 __ste_client_privateKey2 = value;
4419 } else {
4420
4421 }
4422 }
4423 }
4424#line 1843 "ClientLib.c"
4425 return;
4426}
4427}
4428#line 377 "ClientLib.c"
4429int __ste_ClientKeyring_size0 = 0;
4430#line 379 "ClientLib.c"
4431int __ste_ClientKeyring_size1 = 0;
4432#line 381 "ClientLib.c"
4433int __ste_ClientKeyring_size2 = 0;
4434#line 384 "ClientLib.c"
4435int getClientKeyringSize(int handle )
4436{ int retValue_acc ;
4437
4438 {
4439#line 393 "ClientLib.c"
4440 if (handle == 1) {
4441#line 1870
4442 retValue_acc = __ste_ClientKeyring_size0;
4443#line 1872
4444 return (retValue_acc);
4445 } else {
4446#line 1874
4447 if (handle == 2) {
4448#line 1879
4449 retValue_acc = __ste_ClientKeyring_size1;
4450#line 1881
4451 return (retValue_acc);
4452 } else {
4453#line 1883
4454 if (handle == 3) {
4455#line 1888
4456 retValue_acc = __ste_ClientKeyring_size2;
4457#line 1890
4458 return (retValue_acc);
4459 } else {
4460#line 1896 "ClientLib.c"
4461 retValue_acc = 0;
4462#line 1898
4463 return (retValue_acc);
4464 }
4465 }
4466 }
4467#line 1905 "ClientLib.c"
4468 return (retValue_acc);
4469}
4470}
4471#line 396 "ClientLib.c"
4472void setClientKeyringSize(int handle , int value )
4473{
4474
4475 {
4476#line 404
4477 if (handle == 1) {
4478#line 398
4479 __ste_ClientKeyring_size0 = value;
4480 } else {
4481#line 399
4482 if (handle == 2) {
4483#line 400
4484 __ste_ClientKeyring_size1 = value;
4485 } else {
4486#line 401
4487 if (handle == 3) {
4488#line 402
4489 __ste_ClientKeyring_size2 = value;
4490 } else {
4491
4492 }
4493 }
4494 }
4495#line 1940 "ClientLib.c"
4496 return;
4497}
4498}
4499#line 406 "ClientLib.c"
4500int createClientKeyringEntry(int handle )
4501{ int retValue_acc ;
4502 int size ;
4503 int tmp ;
4504 int __cil_tmp5 ;
4505
4506 {
4507 {
4508#line 407
4509 tmp = getClientKeyringSize(handle);
4510#line 407
4511 size = tmp;
4512 }
4513#line 408 "ClientLib.c"
4514 if (size < 2) {
4515 {
4516#line 409 "ClientLib.c"
4517 __cil_tmp5 = size + 1;
4518#line 409
4519 setClientKeyringSize(handle, __cil_tmp5);
4520#line 1967 "ClientLib.c"
4521 retValue_acc = size + 1;
4522 }
4523#line 1969
4524 return (retValue_acc);
4525 } else {
4526#line 1973 "ClientLib.c"
4527 retValue_acc = -1;
4528#line 1975
4529 return (retValue_acc);
4530 }
4531#line 1982 "ClientLib.c"
4532 return (retValue_acc);
4533}
4534}
4535#line 414 "ClientLib.c"
4536int __ste_Client_Keyring0_User0 = 0;
4537#line 416 "ClientLib.c"
4538int __ste_Client_Keyring0_User1 = 0;
4539#line 418 "ClientLib.c"
4540int __ste_Client_Keyring0_User2 = 0;
4541#line 420 "ClientLib.c"
4542int __ste_Client_Keyring1_User0 = 0;
4543#line 422 "ClientLib.c"
4544int __ste_Client_Keyring1_User1 = 0;
4545#line 424 "ClientLib.c"
4546int __ste_Client_Keyring1_User2 = 0;
4547#line 426 "ClientLib.c"
4548int __ste_Client_Keyring2_User0 = 0;
4549#line 428 "ClientLib.c"
4550int __ste_Client_Keyring2_User1 = 0;
4551#line 430 "ClientLib.c"
4552int __ste_Client_Keyring2_User2 = 0;
4553#line 433 "ClientLib.c"
4554int getClientKeyringUser(int handle , int index )
4555{ int retValue_acc ;
4556
4557 {
4558#line 466
4559 if (handle == 1) {
4560#line 443 "ClientLib.c"
4561 if (index == 0) {
4562#line 2028
4563 retValue_acc = __ste_Client_Keyring0_User0;
4564#line 2030
4565 return (retValue_acc);
4566 } else {
4567#line 2032
4568 if (index == 1) {
4569#line 2037
4570 retValue_acc = __ste_Client_Keyring0_User1;
4571#line 2039
4572 return (retValue_acc);
4573 } else {
4574#line 2045
4575 retValue_acc = 0;
4576#line 2047
4577 return (retValue_acc);
4578 }
4579 }
4580 } else {
4581#line 2049 "ClientLib.c"
4582 if (handle == 2) {
4583#line 453 "ClientLib.c"
4584 if (index == 0) {
4585#line 2057
4586 retValue_acc = __ste_Client_Keyring1_User0;
4587#line 2059
4588 return (retValue_acc);
4589 } else {
4590#line 2061
4591 if (index == 1) {
4592#line 2066
4593 retValue_acc = __ste_Client_Keyring1_User1;
4594#line 2068
4595 return (retValue_acc);
4596 } else {
4597#line 2074
4598 retValue_acc = 0;
4599#line 2076
4600 return (retValue_acc);
4601 }
4602 }
4603 } else {
4604#line 2078 "ClientLib.c"
4605 if (handle == 3) {
4606#line 463 "ClientLib.c"
4607 if (index == 0) {
4608#line 2086
4609 retValue_acc = __ste_Client_Keyring2_User0;
4610#line 2088
4611 return (retValue_acc);
4612 } else {
4613#line 2090
4614 if (index == 1) {
4615#line 2095
4616 retValue_acc = __ste_Client_Keyring2_User1;
4617#line 2097
4618 return (retValue_acc);
4619 } else {
4620#line 2103
4621 retValue_acc = 0;
4622#line 2105
4623 return (retValue_acc);
4624 }
4625 }
4626 } else {
4627#line 2111 "ClientLib.c"
4628 retValue_acc = 0;
4629#line 2113
4630 return (retValue_acc);
4631 }
4632 }
4633 }
4634#line 2120 "ClientLib.c"
4635 return (retValue_acc);
4636}
4637}
4638#line 473 "ClientLib.c"
4639void setClientKeyringUser(int handle , int index , int value )
4640{
4641
4642 {
4643#line 499
4644 if (handle == 1) {
4645#line 482
4646 if (index == 0) {
4647#line 476
4648 __ste_Client_Keyring0_User0 = value;
4649 } else {
4650#line 477
4651 if (index == 1) {
4652#line 478
4653 __ste_Client_Keyring0_User1 = value;
4654 } else {
4655
4656 }
4657 }
4658 } else {
4659#line 479
4660 if (handle == 2) {
4661#line 490
4662 if (index == 0) {
4663#line 484
4664 __ste_Client_Keyring1_User0 = value;
4665 } else {
4666#line 485
4667 if (index == 1) {
4668#line 486
4669 __ste_Client_Keyring1_User1 = value;
4670 } else {
4671
4672 }
4673 }
4674 } else {
4675#line 487
4676 if (handle == 3) {
4677#line 498
4678 if (index == 0) {
4679#line 492
4680 __ste_Client_Keyring2_User0 = value;
4681 } else {
4682#line 493
4683 if (index == 1) {
4684#line 494
4685 __ste_Client_Keyring2_User1 = value;
4686 } else {
4687
4688 }
4689 }
4690 } else {
4691
4692 }
4693 }
4694 }
4695#line 2176 "ClientLib.c"
4696 return;
4697}
4698}
4699#line 501 "ClientLib.c"
4700int __ste_Client_Keyring0_PublicKey0 = 0;
4701#line 503 "ClientLib.c"
4702int __ste_Client_Keyring0_PublicKey1 = 0;
4703#line 505 "ClientLib.c"
4704int __ste_Client_Keyring0_PublicKey2 = 0;
4705#line 507 "ClientLib.c"
4706int __ste_Client_Keyring1_PublicKey0 = 0;
4707#line 509 "ClientLib.c"
4708int __ste_Client_Keyring1_PublicKey1 = 0;
4709#line 511 "ClientLib.c"
4710int __ste_Client_Keyring1_PublicKey2 = 0;
4711#line 513 "ClientLib.c"
4712int __ste_Client_Keyring2_PublicKey0 = 0;
4713#line 515 "ClientLib.c"
4714int __ste_Client_Keyring2_PublicKey1 = 0;
4715#line 517 "ClientLib.c"
4716int __ste_Client_Keyring2_PublicKey2 = 0;
4717#line 520 "ClientLib.c"
4718int getClientKeyringPublicKey(int handle , int index )
4719{ int retValue_acc ;
4720
4721 {
4722#line 553
4723 if (handle == 1) {
4724#line 530 "ClientLib.c"
4725 if (index == 0) {
4726#line 2218
4727 retValue_acc = __ste_Client_Keyring0_PublicKey0;
4728#line 2220
4729 return (retValue_acc);
4730 } else {
4731#line 2222
4732 if (index == 1) {
4733#line 2227
4734 retValue_acc = __ste_Client_Keyring0_PublicKey1;
4735#line 2229
4736 return (retValue_acc);
4737 } else {
4738#line 2235
4739 retValue_acc = 0;
4740#line 2237
4741 return (retValue_acc);
4742 }
4743 }
4744 } else {
4745#line 2239 "ClientLib.c"
4746 if (handle == 2) {
4747#line 540 "ClientLib.c"
4748 if (index == 0) {
4749#line 2247
4750 retValue_acc = __ste_Client_Keyring1_PublicKey0;
4751#line 2249
4752 return (retValue_acc);
4753 } else {
4754#line 2251
4755 if (index == 1) {
4756#line 2256
4757 retValue_acc = __ste_Client_Keyring1_PublicKey1;
4758#line 2258
4759 return (retValue_acc);
4760 } else {
4761#line 2264
4762 retValue_acc = 0;
4763#line 2266
4764 return (retValue_acc);
4765 }
4766 }
4767 } else {
4768#line 2268 "ClientLib.c"
4769 if (handle == 3) {
4770#line 550 "ClientLib.c"
4771 if (index == 0) {
4772#line 2276
4773 retValue_acc = __ste_Client_Keyring2_PublicKey0;
4774#line 2278
4775 return (retValue_acc);
4776 } else {
4777#line 2280
4778 if (index == 1) {
4779#line 2285
4780 retValue_acc = __ste_Client_Keyring2_PublicKey1;
4781#line 2287
4782 return (retValue_acc);
4783 } else {
4784#line 2293
4785 retValue_acc = 0;
4786#line 2295
4787 return (retValue_acc);
4788 }
4789 }
4790 } else {
4791#line 2301 "ClientLib.c"
4792 retValue_acc = 0;
4793#line 2303
4794 return (retValue_acc);
4795 }
4796 }
4797 }
4798#line 2310 "ClientLib.c"
4799 return (retValue_acc);
4800}
4801}
4802#line 557 "ClientLib.c"
4803int findPublicKey(int handle , int userid )
4804{ int retValue_acc ;
4805
4806 {
4807#line 591
4808 if (handle == 1) {
4809#line 568 "ClientLib.c"
4810 if (userid == __ste_Client_Keyring0_User0) {
4811#line 2338
4812 retValue_acc = __ste_Client_Keyring0_PublicKey0;
4813#line 2340
4814 return (retValue_acc);
4815 } else {
4816#line 2342
4817 if (userid == __ste_Client_Keyring0_User1) {
4818#line 2347
4819 retValue_acc = __ste_Client_Keyring0_PublicKey1;
4820#line 2349
4821 return (retValue_acc);
4822 } else {
4823#line 2355
4824 retValue_acc = 0;
4825#line 2357
4826 return (retValue_acc);
4827 }
4828 }
4829 } else {
4830#line 2359 "ClientLib.c"
4831 if (handle == 2) {
4832#line 578 "ClientLib.c"
4833 if (userid == __ste_Client_Keyring1_User0) {
4834#line 2367
4835 retValue_acc = __ste_Client_Keyring1_PublicKey0;
4836#line 2369
4837 return (retValue_acc);
4838 } else {
4839#line 2371
4840 if (userid == __ste_Client_Keyring1_User1) {
4841#line 2376
4842 retValue_acc = __ste_Client_Keyring1_PublicKey1;
4843#line 2378
4844 return (retValue_acc);
4845 } else {
4846#line 2384
4847 retValue_acc = 0;
4848#line 2386
4849 return (retValue_acc);
4850 }
4851 }
4852 } else {
4853#line 2388 "ClientLib.c"
4854 if (handle == 3) {
4855#line 588 "ClientLib.c"
4856 if (userid == __ste_Client_Keyring2_User0) {
4857#line 2396
4858 retValue_acc = __ste_Client_Keyring2_PublicKey0;
4859#line 2398
4860 return (retValue_acc);
4861 } else {
4862#line 2400
4863 if (userid == __ste_Client_Keyring2_User1) {
4864#line 2405
4865 retValue_acc = __ste_Client_Keyring2_PublicKey1;
4866#line 2407
4867 return (retValue_acc);
4868 } else {
4869#line 2413
4870 retValue_acc = 0;
4871#line 2415
4872 return (retValue_acc);
4873 }
4874 }
4875 } else {
4876#line 2421 "ClientLib.c"
4877 retValue_acc = 0;
4878#line 2423
4879 return (retValue_acc);
4880 }
4881 }
4882 }
4883#line 2430 "ClientLib.c"
4884 return (retValue_acc);
4885}
4886}
4887#line 595 "ClientLib.c"
4888void setClientKeyringPublicKey(int handle , int index , int value )
4889{
4890
4891 {
4892#line 621
4893 if (handle == 1) {
4894#line 604
4895 if (index == 0) {
4896#line 598
4897 __ste_Client_Keyring0_PublicKey0 = value;
4898 } else {
4899#line 599
4900 if (index == 1) {
4901#line 600
4902 __ste_Client_Keyring0_PublicKey1 = value;
4903 } else {
4904
4905 }
4906 }
4907 } else {
4908#line 601
4909 if (handle == 2) {
4910#line 612
4911 if (index == 0) {
4912#line 606
4913 __ste_Client_Keyring1_PublicKey0 = value;
4914 } else {
4915#line 607
4916 if (index == 1) {
4917#line 608
4918 __ste_Client_Keyring1_PublicKey1 = value;
4919 } else {
4920
4921 }
4922 }
4923 } else {
4924#line 609
4925 if (handle == 3) {
4926#line 620
4927 if (index == 0) {
4928#line 614
4929 __ste_Client_Keyring2_PublicKey0 = value;
4930 } else {
4931#line 615
4932 if (index == 1) {
4933#line 616
4934 __ste_Client_Keyring2_PublicKey1 = value;
4935 } else {
4936
4937 }
4938 }
4939 } else {
4940
4941 }
4942 }
4943 }
4944#line 2486 "ClientLib.c"
4945 return;
4946}
4947}
4948#line 623 "ClientLib.c"
4949int __ste_client_forwardReceiver0 = 0;
4950#line 625 "ClientLib.c"
4951int __ste_client_forwardReceiver1 = 0;
4952#line 627 "ClientLib.c"
4953int __ste_client_forwardReceiver2 = 0;
4954#line 629 "ClientLib.c"
4955int __ste_client_forwardReceiver3 = 0;
4956#line 631 "ClientLib.c"
4957int getClientForwardReceiver(int handle )
4958{ int retValue_acc ;
4959
4960 {
4961#line 640 "ClientLib.c"
4962 if (handle == 1) {
4963#line 2515
4964 retValue_acc = __ste_client_forwardReceiver0;
4965#line 2517
4966 return (retValue_acc);
4967 } else {
4968#line 2519
4969 if (handle == 2) {
4970#line 2524
4971 retValue_acc = __ste_client_forwardReceiver1;
4972#line 2526
4973 return (retValue_acc);
4974 } else {
4975#line 2528
4976 if (handle == 3) {
4977#line 2533
4978 retValue_acc = __ste_client_forwardReceiver2;
4979#line 2535
4980 return (retValue_acc);
4981 } else {
4982#line 2541 "ClientLib.c"
4983 retValue_acc = 0;
4984#line 2543
4985 return (retValue_acc);
4986 }
4987 }
4988 }
4989#line 2550 "ClientLib.c"
4990 return (retValue_acc);
4991}
4992}
4993#line 643 "ClientLib.c"
4994void setClientForwardReceiver(int handle , int value )
4995{
4996
4997 {
4998#line 651
4999 if (handle == 1) {
5000#line 645
5001 __ste_client_forwardReceiver0 = value;
5002 } else {
5003#line 646
5004 if (handle == 2) {
5005#line 647
5006 __ste_client_forwardReceiver1 = value;
5007 } else {
5008#line 648
5009 if (handle == 3) {
5010#line 649
5011 __ste_client_forwardReceiver2 = value;
5012 } else {
5013
5014 }
5015 }
5016 }
5017#line 2585 "ClientLib.c"
5018 return;
5019}
5020}
5021#line 653 "ClientLib.c"
5022int __ste_client_idCounter0 = 0;
5023#line 655 "ClientLib.c"
5024int __ste_client_idCounter1 = 0;
5025#line 657 "ClientLib.c"
5026int __ste_client_idCounter2 = 0;
5027#line 660 "ClientLib.c"
5028int getClientId(int handle )
5029{ int retValue_acc ;
5030
5031 {
5032#line 669 "ClientLib.c"
5033 if (handle == 1) {
5034#line 2612
5035 retValue_acc = __ste_client_idCounter0;
5036#line 2614
5037 return (retValue_acc);
5038 } else {
5039#line 2616
5040 if (handle == 2) {
5041#line 2621
5042 retValue_acc = __ste_client_idCounter1;
5043#line 2623
5044 return (retValue_acc);
5045 } else {
5046#line 2625
5047 if (handle == 3) {
5048#line 2630
5049 retValue_acc = __ste_client_idCounter2;
5050#line 2632
5051 return (retValue_acc);
5052 } else {
5053#line 2638 "ClientLib.c"
5054 retValue_acc = 0;
5055#line 2640
5056 return (retValue_acc);
5057 }
5058 }
5059 }
5060#line 2647 "ClientLib.c"
5061 return (retValue_acc);
5062}
5063}
5064#line 672 "ClientLib.c"
5065void setClientId(int handle , int value )
5066{
5067
5068 {
5069#line 680
5070 if (handle == 1) {
5071#line 674
5072 __ste_client_idCounter0 = value;
5073 } else {
5074#line 675
5075 if (handle == 2) {
5076#line 676
5077 __ste_client_idCounter1 = value;
5078 } else {
5079#line 677
5080 if (handle == 3) {
5081#line 678
5082 __ste_client_idCounter2 = value;
5083 } else {
5084
5085 }
5086 }
5087 }
5088#line 2682 "ClientLib.c"
5089 return;
5090}
5091}