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