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