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