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