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