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