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