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