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