1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 43 "include/asm-generic/int-ll64.h"
21typedef unsigned char u8;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 49 "include/asm-generic/int-ll64.h"
25typedef unsigned int u32;
26#line 51 "include/asm-generic/int-ll64.h"
27typedef long long s64;
28#line 52 "include/asm-generic/int-ll64.h"
29typedef unsigned long long u64;
30#line 11 "include/asm-generic/types.h"
31typedef unsigned short umode_t;
32#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
33typedef unsigned int __kernel_mode_t;
34#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
35typedef int __kernel_pid_t;
36#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
37typedef unsigned int __kernel_uid_t;
38#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
39typedef unsigned int __kernel_gid_t;
40#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
41typedef unsigned long __kernel_size_t;
42#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
43typedef long __kernel_ssize_t;
44#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
45typedef long __kernel_time_t;
46#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
47typedef long __kernel_clock_t;
48#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
49typedef int __kernel_timer_t;
50#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
51typedef int __kernel_clockid_t;
52#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
53typedef long long __kernel_loff_t;
54#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
55typedef __kernel_uid_t __kernel_uid32_t;
56#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
57typedef __kernel_gid_t __kernel_gid32_t;
58#line 21 "include/linux/types.h"
59typedef __u32 __kernel_dev_t;
60#line 24 "include/linux/types.h"
61typedef __kernel_dev_t dev_t;
62#line 26 "include/linux/types.h"
63typedef __kernel_mode_t mode_t;
64#line 29 "include/linux/types.h"
65typedef __kernel_pid_t pid_t;
66#line 34 "include/linux/types.h"
67typedef __kernel_clockid_t clockid_t;
68#line 37 "include/linux/types.h"
69typedef _Bool bool;
70#line 39 "include/linux/types.h"
71typedef __kernel_uid32_t uid_t;
72#line 40 "include/linux/types.h"
73typedef __kernel_gid32_t gid_t;
74#line 53 "include/linux/types.h"
75typedef __kernel_loff_t loff_t;
76#line 62 "include/linux/types.h"
77typedef __kernel_size_t size_t;
78#line 67 "include/linux/types.h"
79typedef __kernel_ssize_t ssize_t;
80#line 77 "include/linux/types.h"
81typedef __kernel_time_t time_t;
82#line 110 "include/linux/types.h"
83typedef __s32 int32_t;
84#line 116 "include/linux/types.h"
85typedef __u32 uint32_t;
86#line 141 "include/linux/types.h"
87typedef unsigned long sector_t;
88#line 142 "include/linux/types.h"
89typedef unsigned long blkcnt_t;
90#line 154 "include/linux/types.h"
91typedef u64 dma_addr_t;
92#line 177 "include/linux/types.h"
93typedef __u16 __le16;
94#line 201 "include/linux/types.h"
95typedef unsigned int gfp_t;
96#line 202 "include/linux/types.h"
97typedef unsigned int fmode_t;
98#line 205 "include/linux/types.h"
99typedef u64 phys_addr_t;
100#line 212 "include/linux/types.h"
101struct __anonstruct_atomic_t_7 {
102 int counter ;
103};
104#line 212 "include/linux/types.h"
105typedef struct __anonstruct_atomic_t_7 atomic_t;
106#line 217 "include/linux/types.h"
107struct __anonstruct_atomic64_t_8 {
108 long counter ;
109};
110#line 217 "include/linux/types.h"
111typedef struct __anonstruct_atomic64_t_8 atomic64_t;
112#line 222 "include/linux/types.h"
113struct list_head {
114 struct list_head *next ;
115 struct list_head *prev ;
116};
117#line 226
118struct hlist_node;
119#line 226
120struct hlist_node;
121#line 226
122struct hlist_node;
123#line 226 "include/linux/types.h"
124struct hlist_head {
125 struct hlist_node *first ;
126};
127#line 230 "include/linux/types.h"
128struct hlist_node {
129 struct hlist_node *next ;
130 struct hlist_node **pprev ;
131};
132#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
133struct module;
134#line 59
135struct module;
136#line 59
137struct module;
138#line 59
139struct module;
140#line 145 "include/linux/init.h"
141typedef void (*ctor_fn_t)(void);
142#line 10 "include/asm-generic/bug.h"
143struct bug_entry {
144 int bug_addr_disp ;
145 int file_disp ;
146 unsigned short line ;
147 unsigned short flags ;
148};
149#line 113 "include/linux/kernel.h"
150struct completion;
151#line 113
152struct completion;
153#line 113
154struct completion;
155#line 113
156struct completion;
157#line 114
158struct pt_regs;
159#line 114
160struct pt_regs;
161#line 114
162struct pt_regs;
163#line 114
164struct pt_regs;
165#line 322
166struct pid;
167#line 322
168struct pid;
169#line 322
170struct pid;
171#line 322
172struct pid;
173#line 12 "include/linux/thread_info.h"
174struct timespec;
175#line 12
176struct timespec;
177#line 12
178struct timespec;
179#line 12
180struct timespec;
181#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
182struct page;
183#line 18
184struct page;
185#line 18
186struct page;
187#line 18
188struct page;
189#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
190struct task_struct;
191#line 20
192struct task_struct;
193#line 20
194struct task_struct;
195#line 20
196struct task_struct;
197#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
198struct task_struct;
199#line 8
200struct mm_struct;
201#line 8
202struct mm_struct;
203#line 8
204struct mm_struct;
205#line 8
206struct mm_struct;
207#line 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
208struct pt_regs {
209 unsigned long r15 ;
210 unsigned long r14 ;
211 unsigned long r13 ;
212 unsigned long r12 ;
213 unsigned long bp ;
214 unsigned long bx ;
215 unsigned long r11 ;
216 unsigned long r10 ;
217 unsigned long r9 ;
218 unsigned long r8 ;
219 unsigned long ax ;
220 unsigned long cx ;
221 unsigned long dx ;
222 unsigned long si ;
223 unsigned long di ;
224 unsigned long orig_ax ;
225 unsigned long ip ;
226 unsigned long cs ;
227 unsigned long flags ;
228 unsigned long sp ;
229 unsigned long ss ;
230};
231#line 136
232struct task_struct;
233#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
234struct kernel_vm86_regs {
235 struct pt_regs pt ;
236 unsigned short es ;
237 unsigned short __esh ;
238 unsigned short ds ;
239 unsigned short __dsh ;
240 unsigned short fs ;
241 unsigned short __fsh ;
242 unsigned short gs ;
243 unsigned short __gsh ;
244};
245#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
246union __anonunion____missing_field_name_14 {
247 struct pt_regs *regs ;
248 struct kernel_vm86_regs *vm86 ;
249};
250#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
251struct math_emu_info {
252 long ___orig_eip ;
253 union __anonunion____missing_field_name_14 __annonCompField5 ;
254};
255#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
256struct task_struct;
257#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
258typedef unsigned long pteval_t;
259#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
260typedef unsigned long pmdval_t;
261#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
262typedef unsigned long pudval_t;
263#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
264typedef unsigned long pgdval_t;
265#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
266typedef unsigned long pgprotval_t;
267#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
268struct __anonstruct_pte_t_16 {
269 pteval_t pte ;
270};
271#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
272typedef struct __anonstruct_pte_t_16 pte_t;
273#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
274struct pgprot {
275 pgprotval_t pgprot ;
276};
277#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
278typedef struct pgprot pgprot_t;
279#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
280struct __anonstruct_pgd_t_17 {
281 pgdval_t pgd ;
282};
283#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
284typedef struct __anonstruct_pgd_t_17 pgd_t;
285#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
286struct __anonstruct_pud_t_18 {
287 pudval_t pud ;
288};
289#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
290typedef struct __anonstruct_pud_t_18 pud_t;
291#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
292struct __anonstruct_pmd_t_19 {
293 pmdval_t pmd ;
294};
295#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
296typedef struct __anonstruct_pmd_t_19 pmd_t;
297#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
298typedef struct page *pgtable_t;
299#line 293
300struct file;
301#line 293
302struct file;
303#line 293
304struct file;
305#line 293
306struct file;
307#line 311
308struct seq_file;
309#line 311
310struct seq_file;
311#line 311
312struct seq_file;
313#line 311
314struct seq_file;
315#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
316struct __anonstruct____missing_field_name_22 {
317 unsigned int a ;
318 unsigned int b ;
319};
320#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
321struct __anonstruct____missing_field_name_23 {
322 u16 limit0 ;
323 u16 base0 ;
324 unsigned int base1 : 8 ;
325 unsigned int type : 4 ;
326 unsigned int s : 1 ;
327 unsigned int dpl : 2 ;
328 unsigned int p : 1 ;
329 unsigned int limit : 4 ;
330 unsigned int avl : 1 ;
331 unsigned int l : 1 ;
332 unsigned int d : 1 ;
333 unsigned int g : 1 ;
334 unsigned int base2 : 8 ;
335};
336#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
337union __anonunion____missing_field_name_21 {
338 struct __anonstruct____missing_field_name_22 __annonCompField7 ;
339 struct __anonstruct____missing_field_name_23 __annonCompField8 ;
340};
341#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
342struct desc_struct {
343 union __anonunion____missing_field_name_21 __annonCompField9 ;
344} __attribute__((__packed__)) ;
345#line 51 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
346struct gate_struct64 {
347 u16 offset_low ;
348 u16 segment ;
349 unsigned int ist : 3 ;
350 unsigned int zero0 : 5 ;
351 unsigned int type : 5 ;
352 unsigned int dpl : 2 ;
353 unsigned int p : 1 ;
354 u16 offset_middle ;
355 u32 offset_high ;
356 u32 zero1 ;
357} __attribute__((__packed__)) ;
358#line 81 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
359typedef struct gate_struct64 gate_desc;
360#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
361struct desc_ptr {
362 unsigned short size ;
363 unsigned long address ;
364} __attribute__((__packed__)) ;
365#line 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
366struct page;
367#line 46
368struct thread_struct;
369#line 46
370struct thread_struct;
371#line 46
372struct thread_struct;
373#line 46
374struct thread_struct;
375#line 47
376struct desc_ptr;
377#line 48
378struct tss_struct;
379#line 48
380struct tss_struct;
381#line 48
382struct tss_struct;
383#line 48
384struct tss_struct;
385#line 49
386struct mm_struct;
387#line 50
388struct desc_struct;
389#line 51
390struct task_struct;
391#line 52
392struct cpumask;
393#line 52
394struct cpumask;
395#line 52
396struct cpumask;
397#line 52
398struct cpumask;
399#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
400struct paravirt_callee_save {
401 void *func ;
402};
403#line 70 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
404struct pv_init_ops {
405 unsigned int (*patch)(u8 type , u16 clobber , void *insnbuf , unsigned long addr ,
406 unsigned int len ) ;
407};
408#line 84 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
409struct pv_lazy_ops {
410 void (*enter)(void) ;
411 void (*leave)(void) ;
412};
413#line 90 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
414struct pv_time_ops {
415 unsigned long long (*sched_clock)(void) ;
416 unsigned long (*get_tsc_khz)(void) ;
417};
418#line 95 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
419struct pv_cpu_ops {
420 unsigned long (*get_debugreg)(int regno ) ;
421 void (*set_debugreg)(int regno , unsigned long value ) ;
422 void (*clts)(void) ;
423 unsigned long (*read_cr0)(void) ;
424 void (*write_cr0)(unsigned long ) ;
425 unsigned long (*read_cr4_safe)(void) ;
426 unsigned long (*read_cr4)(void) ;
427 void (*write_cr4)(unsigned long ) ;
428 unsigned long (*read_cr8)(void) ;
429 void (*write_cr8)(unsigned long ) ;
430 void (*load_tr_desc)(void) ;
431 void (*load_gdt)(struct desc_ptr const * ) ;
432 void (*load_idt)(struct desc_ptr const * ) ;
433 void (*store_gdt)(struct desc_ptr * ) ;
434 void (*store_idt)(struct desc_ptr * ) ;
435 void (*set_ldt)(void const *desc , unsigned int entries ) ;
436 unsigned long (*store_tr)(void) ;
437 void (*load_tls)(struct thread_struct *t , unsigned int cpu ) ;
438 void (*load_gs_index)(unsigned int idx ) ;
439 void (*write_ldt_entry)(struct desc_struct *ldt , int entrynum , void const *desc ) ;
440 void (*write_gdt_entry)(struct desc_struct * , int entrynum , void const *desc ,
441 int size ) ;
442 void (*write_idt_entry)(gate_desc * , int entrynum , gate_desc const *gate ) ;
443 void (*alloc_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
444 void (*free_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
445 void (*load_sp0)(struct tss_struct *tss , struct thread_struct *t ) ;
446 void (*set_iopl_mask)(unsigned int mask ) ;
447 void (*wbinvd)(void) ;
448 void (*io_delay)(void) ;
449 void (*cpuid)(unsigned int *eax , unsigned int *ebx , unsigned int *ecx , unsigned int *edx ) ;
450 u64 (*read_msr)(unsigned int msr , int *err ) ;
451 int (*rdmsr_regs)(u32 *regs ) ;
452 int (*write_msr)(unsigned int msr , unsigned int low , unsigned int high ) ;
453 int (*wrmsr_regs)(u32 *regs ) ;
454 u64 (*read_tsc)(void) ;
455 u64 (*read_pmc)(int counter ) ;
456 unsigned long long (*read_tscp)(unsigned int *aux ) ;
457 void (*irq_enable_sysexit)(void) ;
458 void (*usergs_sysret64)(void) ;
459 void (*usergs_sysret32)(void) ;
460 void (*iret)(void) ;
461 void (*swapgs)(void) ;
462 void (*start_context_switch)(struct task_struct *prev ) ;
463 void (*end_context_switch)(struct task_struct *next ) ;
464};
465#line 191 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
466struct pv_irq_ops {
467 struct paravirt_callee_save save_fl ;
468 struct paravirt_callee_save restore_fl ;
469 struct paravirt_callee_save irq_disable ;
470 struct paravirt_callee_save irq_enable ;
471 void (*safe_halt)(void) ;
472 void (*halt)(void) ;
473 void (*adjust_exception_frame)(void) ;
474};
475#line 214 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
476struct pv_apic_ops {
477 void (*startup_ipi_hook)(int phys_apicid , unsigned long start_eip , unsigned long start_esp ) ;
478};
479#line 222 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
480struct pv_mmu_ops {
481 unsigned long (*read_cr2)(void) ;
482 void (*write_cr2)(unsigned long ) ;
483 unsigned long (*read_cr3)(void) ;
484 void (*write_cr3)(unsigned long ) ;
485 void (*activate_mm)(struct mm_struct *prev , struct mm_struct *next ) ;
486 void (*dup_mmap)(struct mm_struct *oldmm , struct mm_struct *mm ) ;
487 void (*exit_mmap)(struct mm_struct *mm ) ;
488 void (*flush_tlb_user)(void) ;
489 void (*flush_tlb_kernel)(void) ;
490 void (*flush_tlb_single)(unsigned long addr ) ;
491 void (*flush_tlb_others)(struct cpumask const *cpus , struct mm_struct *mm ,
492 unsigned long va ) ;
493 int (*pgd_alloc)(struct mm_struct *mm ) ;
494 void (*pgd_free)(struct mm_struct *mm , pgd_t *pgd ) ;
495 void (*alloc_pte)(struct mm_struct *mm , unsigned long pfn ) ;
496 void (*alloc_pmd)(struct mm_struct *mm , unsigned long pfn ) ;
497 void (*alloc_pud)(struct mm_struct *mm , unsigned long pfn ) ;
498 void (*release_pte)(unsigned long pfn ) ;
499 void (*release_pmd)(unsigned long pfn ) ;
500 void (*release_pud)(unsigned long pfn ) ;
501 void (*set_pte)(pte_t *ptep , pte_t pteval ) ;
502 void (*set_pte_at)(struct mm_struct *mm , unsigned long addr , pte_t *ptep , pte_t pteval ) ;
503 void (*set_pmd)(pmd_t *pmdp , pmd_t pmdval ) ;
504 void (*set_pmd_at)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp , pmd_t pmdval ) ;
505 void (*pte_update)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
506 void (*pte_update_defer)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
507 void (*pmd_update)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
508 void (*pmd_update_defer)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
509 pte_t (*ptep_modify_prot_start)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
510 void (*ptep_modify_prot_commit)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ,
511 pte_t pte ) ;
512 struct paravirt_callee_save pte_val ;
513 struct paravirt_callee_save make_pte ;
514 struct paravirt_callee_save pgd_val ;
515 struct paravirt_callee_save make_pgd ;
516 void (*set_pud)(pud_t *pudp , pud_t pudval ) ;
517 struct paravirt_callee_save pmd_val ;
518 struct paravirt_callee_save make_pmd ;
519 struct paravirt_callee_save pud_val ;
520 struct paravirt_callee_save make_pud ;
521 void (*set_pgd)(pgd_t *pudp , pgd_t pgdval ) ;
522 struct pv_lazy_ops lazy_mode ;
523 void (*set_fixmap)(unsigned int idx , phys_addr_t phys , pgprot_t flags ) ;
524};
525#line 322
526struct arch_spinlock;
527#line 322
528struct arch_spinlock;
529#line 322
530struct arch_spinlock;
531#line 322
532struct arch_spinlock;
533#line 323 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
534struct pv_lock_ops {
535 int (*spin_is_locked)(struct arch_spinlock *lock ) ;
536 int (*spin_is_contended)(struct arch_spinlock *lock ) ;
537 void (*spin_lock)(struct arch_spinlock *lock ) ;
538 void (*spin_lock_flags)(struct arch_spinlock *lock , unsigned long flags ) ;
539 int (*spin_trylock)(struct arch_spinlock *lock ) ;
540 void (*spin_unlock)(struct arch_spinlock *lock ) ;
541};
542#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
543struct paravirt_patch_template {
544 struct pv_init_ops pv_init_ops ;
545 struct pv_time_ops pv_time_ops ;
546 struct pv_cpu_ops pv_cpu_ops ;
547 struct pv_irq_ops pv_irq_ops ;
548 struct pv_apic_ops pv_apic_ops ;
549 struct pv_mmu_ops pv_mmu_ops ;
550 struct pv_lock_ops pv_lock_ops ;
551};
552#line 13 "include/linux/cpumask.h"
553struct cpumask {
554 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
555};
556#line 13 "include/linux/cpumask.h"
557typedef struct cpumask cpumask_t;
558#line 622 "include/linux/cpumask.h"
559typedef struct cpumask *cpumask_var_t;
560#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
561struct task_struct;
562#line 23
563struct tss_struct;
564#line 11 "include/linux/personality.h"
565struct pt_regs;
566#line 224 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
567struct x86_hw_tss {
568 u32 reserved1 ;
569 u64 sp0 ;
570 u64 sp1 ;
571 u64 sp2 ;
572 u64 reserved2 ;
573 u64 ist[7] ;
574 u32 reserved3 ;
575 u32 reserved4 ;
576 u16 reserved5 ;
577 u16 io_bitmap_base ;
578} __attribute__((__packed__, __aligned__((1) << (6) ))) ;
579#line 248 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
580struct tss_struct {
581 struct x86_hw_tss x86_tss ;
582 unsigned long io_bitmap[8192UL / sizeof(long ) + 1UL] ;
583 unsigned long stack[64] ;
584} __attribute__((__aligned__((1) << (6) ))) ;
585#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
586struct i387_fsave_struct {
587 u32 cwd ;
588 u32 swd ;
589 u32 twd ;
590 u32 fip ;
591 u32 fcs ;
592 u32 foo ;
593 u32 fos ;
594 u32 st_space[20] ;
595 u32 status ;
596};
597#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
598struct __anonstruct____missing_field_name_31 {
599 u64 rip ;
600 u64 rdp ;
601};
602#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
603struct __anonstruct____missing_field_name_32 {
604 u32 fip ;
605 u32 fcs ;
606 u32 foo ;
607 u32 fos ;
608};
609#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
610union __anonunion____missing_field_name_30 {
611 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
612 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
613};
614#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
615union __anonunion____missing_field_name_33 {
616 u32 padding1[12] ;
617 u32 sw_reserved[12] ;
618};
619#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
620struct i387_fxsave_struct {
621 u16 cwd ;
622 u16 swd ;
623 u16 twd ;
624 u16 fop ;
625 union __anonunion____missing_field_name_30 __annonCompField14 ;
626 u32 mxcsr ;
627 u32 mxcsr_mask ;
628 u32 st_space[32] ;
629 u32 xmm_space[64] ;
630 u32 padding[12] ;
631 union __anonunion____missing_field_name_33 __annonCompField15 ;
632} __attribute__((__aligned__(16))) ;
633#line 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
634struct i387_soft_struct {
635 u32 cwd ;
636 u32 swd ;
637 u32 twd ;
638 u32 fip ;
639 u32 fcs ;
640 u32 foo ;
641 u32 fos ;
642 u32 st_space[20] ;
643 u8 ftop ;
644 u8 changed ;
645 u8 lookahead ;
646 u8 no_update ;
647 u8 rm ;
648 u8 alimit ;
649 struct math_emu_info *info ;
650 u32 entry_eip ;
651};
652#line 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
653struct ymmh_struct {
654 u32 ymmh_space[64] ;
655};
656#line 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
657struct xsave_hdr_struct {
658 u64 xstate_bv ;
659 u64 reserved1[2] ;
660 u64 reserved2[5] ;
661} __attribute__((__packed__)) ;
662#line 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
663struct xsave_struct {
664 struct i387_fxsave_struct i387 ;
665 struct xsave_hdr_struct xsave_hdr ;
666 struct ymmh_struct ymmh ;
667} __attribute__((__packed__, __aligned__(64))) ;
668#line 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
669union thread_xstate {
670 struct i387_fsave_struct fsave ;
671 struct i387_fxsave_struct fxsave ;
672 struct i387_soft_struct soft ;
673 struct xsave_struct xsave ;
674};
675#line 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
676struct fpu {
677 union thread_xstate *state ;
678};
679#line 421
680struct kmem_cache;
681#line 421
682struct kmem_cache;
683#line 421
684struct kmem_cache;
685#line 423
686struct perf_event;
687#line 423
688struct perf_event;
689#line 423
690struct perf_event;
691#line 423
692struct perf_event;
693#line 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
694struct thread_struct {
695 struct desc_struct tls_array[3] ;
696 unsigned long sp0 ;
697 unsigned long sp ;
698 unsigned long usersp ;
699 unsigned short es ;
700 unsigned short ds ;
701 unsigned short fsindex ;
702 unsigned short gsindex ;
703 unsigned long fs ;
704 unsigned long gs ;
705 struct perf_event *ptrace_bps[4] ;
706 unsigned long debugreg6 ;
707 unsigned long ptrace_dr7 ;
708 unsigned long cr2 ;
709 unsigned long trap_no ;
710 unsigned long error_code ;
711 struct fpu fpu ;
712 unsigned long *io_bitmap_ptr ;
713 unsigned long iopl ;
714 unsigned int io_bitmap_max ;
715};
716#line 23 "include/asm-generic/atomic-long.h"
717typedef atomic64_t atomic_long_t;
718#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
719struct arch_spinlock {
720 unsigned int slock ;
721};
722#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
723typedef struct arch_spinlock arch_spinlock_t;
724#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
725struct __anonstruct_arch_rwlock_t_36 {
726 unsigned int lock ;
727};
728#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
729typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
730#line 12 "include/linux/lockdep.h"
731struct task_struct;
732#line 13
733struct lockdep_map;
734#line 13
735struct lockdep_map;
736#line 13
737struct lockdep_map;
738#line 13
739struct lockdep_map;
740#line 8 "include/linux/debug_locks.h"
741struct task_struct;
742#line 48
743struct task_struct;
744#line 4 "include/linux/stacktrace.h"
745struct task_struct;
746#line 5
747struct pt_regs;
748#line 8
749struct task_struct;
750#line 10 "include/linux/stacktrace.h"
751struct stack_trace {
752 unsigned int nr_entries ;
753 unsigned int max_entries ;
754 unsigned long *entries ;
755 int skip ;
756};
757#line 50 "include/linux/lockdep.h"
758struct lockdep_subclass_key {
759 char __one_byte ;
760} __attribute__((__packed__)) ;
761#line 54 "include/linux/lockdep.h"
762struct lock_class_key {
763 struct lockdep_subclass_key subkeys[8UL] ;
764};
765#line 65 "include/linux/lockdep.h"
766struct lock_class {
767 struct list_head hash_entry ;
768 struct list_head lock_entry ;
769 struct lockdep_subclass_key *key ;
770 unsigned int subclass ;
771 unsigned int dep_gen_id ;
772 unsigned long usage_mask ;
773 struct stack_trace usage_traces[13] ;
774 struct list_head locks_after ;
775 struct list_head locks_before ;
776 unsigned int version ;
777 unsigned long ops ;
778 char const *name ;
779 int name_version ;
780 unsigned long contention_point[4] ;
781 unsigned long contending_point[4] ;
782};
783#line 150 "include/linux/lockdep.h"
784struct lockdep_map {
785 struct lock_class_key *key ;
786 struct lock_class *class_cache[2] ;
787 char const *name ;
788 int cpu ;
789 unsigned long ip ;
790};
791#line 196 "include/linux/lockdep.h"
792struct held_lock {
793 u64 prev_chain_key ;
794 unsigned long acquire_ip ;
795 struct lockdep_map *instance ;
796 struct lockdep_map *nest_lock ;
797 u64 waittime_stamp ;
798 u64 holdtime_stamp ;
799 unsigned int class_idx : 13 ;
800 unsigned int irq_context : 2 ;
801 unsigned int trylock : 1 ;
802 unsigned int read : 2 ;
803 unsigned int check : 2 ;
804 unsigned int hardirqs_off : 1 ;
805 unsigned int references : 11 ;
806};
807#line 20 "include/linux/spinlock_types.h"
808struct raw_spinlock {
809 arch_spinlock_t raw_lock ;
810 unsigned int magic ;
811 unsigned int owner_cpu ;
812 void *owner ;
813 struct lockdep_map dep_map ;
814};
815#line 20 "include/linux/spinlock_types.h"
816typedef struct raw_spinlock raw_spinlock_t;
817#line 64 "include/linux/spinlock_types.h"
818struct __anonstruct____missing_field_name_38 {
819 u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
820 struct lockdep_map dep_map ;
821};
822#line 64 "include/linux/spinlock_types.h"
823union __anonunion____missing_field_name_37 {
824 struct raw_spinlock rlock ;
825 struct __anonstruct____missing_field_name_38 __annonCompField17 ;
826};
827#line 64 "include/linux/spinlock_types.h"
828struct spinlock {
829 union __anonunion____missing_field_name_37 __annonCompField18 ;
830};
831#line 64 "include/linux/spinlock_types.h"
832typedef struct spinlock spinlock_t;
833#line 11 "include/linux/rwlock_types.h"
834struct __anonstruct_rwlock_t_39 {
835 arch_rwlock_t raw_lock ;
836 unsigned int magic ;
837 unsigned int owner_cpu ;
838 void *owner ;
839 struct lockdep_map dep_map ;
840};
841#line 11 "include/linux/rwlock_types.h"
842typedef struct __anonstruct_rwlock_t_39 rwlock_t;
843#line 119 "include/linux/seqlock.h"
844struct seqcount {
845 unsigned int sequence ;
846};
847#line 119 "include/linux/seqlock.h"
848typedef struct seqcount seqcount_t;
849#line 14 "include/linux/time.h"
850struct timespec {
851 __kernel_time_t tv_sec ;
852 long tv_nsec ;
853};
854#line 62 "include/linux/stat.h"
855struct kstat {
856 u64 ino ;
857 dev_t dev ;
858 umode_t mode ;
859 unsigned int nlink ;
860 uid_t uid ;
861 gid_t gid ;
862 dev_t rdev ;
863 loff_t size ;
864 struct timespec atime ;
865 struct timespec mtime ;
866 struct timespec ctime ;
867 unsigned long blksize ;
868 unsigned long long blocks ;
869};
870#line 50 "include/linux/wait.h"
871struct __wait_queue_head {
872 spinlock_t lock ;
873 struct list_head task_list ;
874};
875#line 54 "include/linux/wait.h"
876typedef struct __wait_queue_head wait_queue_head_t;
877#line 56
878struct task_struct;
879#line 96 "include/linux/nodemask.h"
880struct __anonstruct_nodemask_t_41 {
881 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
882};
883#line 96 "include/linux/nodemask.h"
884typedef struct __anonstruct_nodemask_t_41 nodemask_t;
885#line 60 "include/linux/pageblock-flags.h"
886struct page;
887#line 48 "include/linux/mutex.h"
888struct mutex {
889 atomic_t count ;
890 spinlock_t wait_lock ;
891 struct list_head wait_list ;
892 struct task_struct *owner ;
893 char const *name ;
894 void *magic ;
895 struct lockdep_map dep_map ;
896};
897#line 69 "include/linux/mutex.h"
898struct mutex_waiter {
899 struct list_head list ;
900 struct task_struct *task ;
901 void *magic ;
902};
903#line 20 "include/linux/rwsem.h"
904struct rw_semaphore;
905#line 20
906struct rw_semaphore;
907#line 20
908struct rw_semaphore;
909#line 20
910struct rw_semaphore;
911#line 26 "include/linux/rwsem.h"
912struct rw_semaphore {
913 long count ;
914 spinlock_t wait_lock ;
915 struct list_head wait_list ;
916 struct lockdep_map dep_map ;
917};
918#line 8 "include/linux/memory_hotplug.h"
919struct page;
920#line 177 "include/linux/ioport.h"
921struct device;
922#line 177
923struct device;
924#line 177
925struct device;
926#line 177
927struct device;
928#line 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
929struct device;
930#line 46 "include/linux/ktime.h"
931union ktime {
932 s64 tv64 ;
933};
934#line 59 "include/linux/ktime.h"
935typedef union ktime ktime_t;
936#line 10 "include/linux/timer.h"
937struct tvec_base;
938#line 10
939struct tvec_base;
940#line 10
941struct tvec_base;
942#line 10
943struct tvec_base;
944#line 12 "include/linux/timer.h"
945struct timer_list {
946 struct list_head entry ;
947 unsigned long expires ;
948 struct tvec_base *base ;
949 void (*function)(unsigned long ) ;
950 unsigned long data ;
951 int slack ;
952 int start_pid ;
953 void *start_site ;
954 char start_comm[16] ;
955 struct lockdep_map lockdep_map ;
956};
957#line 289
958struct hrtimer;
959#line 289
960struct hrtimer;
961#line 289
962struct hrtimer;
963#line 289
964struct hrtimer;
965#line 290
966enum hrtimer_restart;
967#line 290
968enum hrtimer_restart;
969#line 290
970enum hrtimer_restart;
971#line 17 "include/linux/workqueue.h"
972struct work_struct;
973#line 17
974struct work_struct;
975#line 17
976struct work_struct;
977#line 17
978struct work_struct;
979#line 79 "include/linux/workqueue.h"
980struct work_struct {
981 atomic_long_t data ;
982 struct list_head entry ;
983 void (*func)(struct work_struct *work ) ;
984 struct lockdep_map lockdep_map ;
985};
986#line 92 "include/linux/workqueue.h"
987struct delayed_work {
988 struct work_struct work ;
989 struct timer_list timer ;
990};
991#line 25 "include/linux/completion.h"
992struct completion {
993 unsigned int done ;
994 wait_queue_head_t wait ;
995};
996#line 42 "include/linux/pm.h"
997struct device;
998#line 50 "include/linux/pm.h"
999struct pm_message {
1000 int event ;
1001};
1002#line 50 "include/linux/pm.h"
1003typedef struct pm_message pm_message_t;
1004#line 204 "include/linux/pm.h"
1005struct dev_pm_ops {
1006 int (*prepare)(struct device *dev ) ;
1007 void (*complete)(struct device *dev ) ;
1008 int (*suspend)(struct device *dev ) ;
1009 int (*resume)(struct device *dev ) ;
1010 int (*freeze)(struct device *dev ) ;
1011 int (*thaw)(struct device *dev ) ;
1012 int (*poweroff)(struct device *dev ) ;
1013 int (*restore)(struct device *dev ) ;
1014 int (*suspend_noirq)(struct device *dev ) ;
1015 int (*resume_noirq)(struct device *dev ) ;
1016 int (*freeze_noirq)(struct device *dev ) ;
1017 int (*thaw_noirq)(struct device *dev ) ;
1018 int (*poweroff_noirq)(struct device *dev ) ;
1019 int (*restore_noirq)(struct device *dev ) ;
1020 int (*runtime_suspend)(struct device *dev ) ;
1021 int (*runtime_resume)(struct device *dev ) ;
1022 int (*runtime_idle)(struct device *dev ) ;
1023};
1024#line 392
1025enum rpm_status {
1026 RPM_ACTIVE = 0,
1027 RPM_RESUMING = 1,
1028 RPM_SUSPENDED = 2,
1029 RPM_SUSPENDING = 3
1030} ;
1031#line 414
1032enum rpm_request {
1033 RPM_REQ_NONE = 0,
1034 RPM_REQ_IDLE = 1,
1035 RPM_REQ_SUSPEND = 2,
1036 RPM_REQ_AUTOSUSPEND = 3,
1037 RPM_REQ_RESUME = 4
1038} ;
1039#line 422
1040struct wakeup_source;
1041#line 422
1042struct wakeup_source;
1043#line 422
1044struct wakeup_source;
1045#line 422
1046struct wakeup_source;
1047#line 424 "include/linux/pm.h"
1048struct dev_pm_info {
1049 pm_message_t power_state ;
1050 unsigned int can_wakeup : 1 ;
1051 unsigned int async_suspend : 1 ;
1052 bool is_prepared : 1 ;
1053 bool is_suspended : 1 ;
1054 spinlock_t lock ;
1055 struct list_head entry ;
1056 struct completion completion ;
1057 struct wakeup_source *wakeup ;
1058 struct timer_list suspend_timer ;
1059 unsigned long timer_expires ;
1060 struct work_struct work ;
1061 wait_queue_head_t wait_queue ;
1062 atomic_t usage_count ;
1063 atomic_t child_count ;
1064 unsigned int disable_depth : 3 ;
1065 unsigned int ignore_children : 1 ;
1066 unsigned int idle_notification : 1 ;
1067 unsigned int request_pending : 1 ;
1068 unsigned int deferred_resume : 1 ;
1069 unsigned int run_wake : 1 ;
1070 unsigned int runtime_auto : 1 ;
1071 unsigned int no_callbacks : 1 ;
1072 unsigned int irq_safe : 1 ;
1073 unsigned int use_autosuspend : 1 ;
1074 unsigned int timer_autosuspends : 1 ;
1075 enum rpm_request request ;
1076 enum rpm_status runtime_status ;
1077 int runtime_error ;
1078 int autosuspend_delay ;
1079 unsigned long last_busy ;
1080 unsigned long active_jiffies ;
1081 unsigned long suspended_jiffies ;
1082 unsigned long accounting_timestamp ;
1083 void *subsys_data ;
1084};
1085#line 475 "include/linux/pm.h"
1086struct dev_power_domain {
1087 struct dev_pm_ops ops ;
1088};
1089#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1090struct __anonstruct_mm_context_t_111 {
1091 void *ldt ;
1092 int size ;
1093 unsigned short ia32_compat ;
1094 struct mutex lock ;
1095 void *vdso ;
1096};
1097#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1098typedef struct __anonstruct_mm_context_t_111 mm_context_t;
1099#line 8 "include/linux/vmalloc.h"
1100struct vm_area_struct;
1101#line 8
1102struct vm_area_struct;
1103#line 8
1104struct vm_area_struct;
1105#line 8
1106struct vm_area_struct;
1107#line 964 "include/linux/mmzone.h"
1108struct page;
1109#line 10 "include/linux/gfp.h"
1110struct vm_area_struct;
1111#line 29 "include/linux/sysctl.h"
1112struct completion;
1113#line 72 "include/linux/rcupdate.h"
1114struct rcu_head {
1115 struct rcu_head *next ;
1116 void (*func)(struct rcu_head *head ) ;
1117};
1118#line 937 "include/linux/sysctl.h"
1119struct nsproxy;
1120#line 937
1121struct nsproxy;
1122#line 937
1123struct nsproxy;
1124#line 937
1125struct nsproxy;
1126#line 48 "include/linux/kmod.h"
1127struct cred;
1128#line 48
1129struct cred;
1130#line 48
1131struct cred;
1132#line 48
1133struct cred;
1134#line 49
1135struct file;
1136#line 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
1137struct task_struct;
1138#line 10 "include/linux/elf.h"
1139struct file;
1140#line 27 "include/linux/elf.h"
1141typedef __u64 Elf64_Addr;
1142#line 28 "include/linux/elf.h"
1143typedef __u16 Elf64_Half;
1144#line 32 "include/linux/elf.h"
1145typedef __u32 Elf64_Word;
1146#line 33 "include/linux/elf.h"
1147typedef __u64 Elf64_Xword;
1148#line 203 "include/linux/elf.h"
1149struct elf64_sym {
1150 Elf64_Word st_name ;
1151 unsigned char st_info ;
1152 unsigned char st_other ;
1153 Elf64_Half st_shndx ;
1154 Elf64_Addr st_value ;
1155 Elf64_Xword st_size ;
1156};
1157#line 203 "include/linux/elf.h"
1158typedef struct elf64_sym Elf64_Sym;
1159#line 20 "include/linux/kobject_ns.h"
1160struct sock;
1161#line 20
1162struct sock;
1163#line 20
1164struct sock;
1165#line 20
1166struct sock;
1167#line 21
1168struct kobject;
1169#line 21
1170struct kobject;
1171#line 21
1172struct kobject;
1173#line 21
1174struct kobject;
1175#line 27
1176enum kobj_ns_type {
1177 KOBJ_NS_TYPE_NONE = 0,
1178 KOBJ_NS_TYPE_NET = 1,
1179 KOBJ_NS_TYPES = 2
1180} ;
1181#line 40 "include/linux/kobject_ns.h"
1182struct kobj_ns_type_operations {
1183 enum kobj_ns_type type ;
1184 void *(*grab_current_ns)(void) ;
1185 void const *(*netlink_ns)(struct sock *sk ) ;
1186 void const *(*initial_ns)(void) ;
1187 void (*drop_ns)(void * ) ;
1188};
1189#line 22 "include/linux/sysfs.h"
1190struct kobject;
1191#line 23
1192struct module;
1193#line 24
1194enum kobj_ns_type;
1195#line 26 "include/linux/sysfs.h"
1196struct attribute {
1197 char const *name ;
1198 mode_t mode ;
1199 struct lock_class_key *key ;
1200 struct lock_class_key skey ;
1201};
1202#line 56 "include/linux/sysfs.h"
1203struct attribute_group {
1204 char const *name ;
1205 mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
1206 struct attribute **attrs ;
1207};
1208#line 85
1209struct file;
1210#line 86
1211struct vm_area_struct;
1212#line 88 "include/linux/sysfs.h"
1213struct bin_attribute {
1214 struct attribute attr ;
1215 size_t size ;
1216 void *private ;
1217 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1218 loff_t , size_t ) ;
1219 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1220 loff_t , size_t ) ;
1221 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
1222};
1223#line 112 "include/linux/sysfs.h"
1224struct sysfs_ops {
1225 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
1226 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
1227};
1228#line 117
1229struct sysfs_dirent;
1230#line 117
1231struct sysfs_dirent;
1232#line 117
1233struct sysfs_dirent;
1234#line 117
1235struct sysfs_dirent;
1236#line 20 "include/linux/kref.h"
1237struct kref {
1238 atomic_t refcount ;
1239};
1240#line 60 "include/linux/kobject.h"
1241struct kset;
1242#line 60
1243struct kset;
1244#line 60
1245struct kset;
1246#line 60
1247struct kobj_type;
1248#line 60
1249struct kobj_type;
1250#line 60
1251struct kobj_type;
1252#line 60 "include/linux/kobject.h"
1253struct kobject {
1254 char const *name ;
1255 struct list_head entry ;
1256 struct kobject *parent ;
1257 struct kset *kset ;
1258 struct kobj_type *ktype ;
1259 struct sysfs_dirent *sd ;
1260 struct kref kref ;
1261 unsigned int state_initialized : 1 ;
1262 unsigned int state_in_sysfs : 1 ;
1263 unsigned int state_add_uevent_sent : 1 ;
1264 unsigned int state_remove_uevent_sent : 1 ;
1265 unsigned int uevent_suppress : 1 ;
1266};
1267#line 110 "include/linux/kobject.h"
1268struct kobj_type {
1269 void (*release)(struct kobject *kobj ) ;
1270 struct sysfs_ops const *sysfs_ops ;
1271 struct attribute **default_attrs ;
1272 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
1273 void const *(*namespace)(struct kobject *kobj ) ;
1274};
1275#line 118 "include/linux/kobject.h"
1276struct kobj_uevent_env {
1277 char *envp[32] ;
1278 int envp_idx ;
1279 char buf[2048] ;
1280 int buflen ;
1281};
1282#line 125 "include/linux/kobject.h"
1283struct kset_uevent_ops {
1284 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1285 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1286 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1287};
1288#line 142
1289struct sock;
1290#line 161 "include/linux/kobject.h"
1291struct kset {
1292 struct list_head list ;
1293 spinlock_t list_lock ;
1294 struct kobject kobj ;
1295 struct kset_uevent_ops const *uevent_ops ;
1296};
1297#line 34 "include/linux/moduleparam.h"
1298struct kernel_param;
1299#line 34
1300struct kernel_param;
1301#line 34
1302struct kernel_param;
1303#line 34
1304struct kernel_param;
1305#line 36 "include/linux/moduleparam.h"
1306struct kernel_param_ops {
1307 int (*set)(char const *val , struct kernel_param const *kp ) ;
1308 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1309 void (*free)(void *arg ) ;
1310};
1311#line 48
1312struct kparam_string;
1313#line 48
1314struct kparam_string;
1315#line 48
1316struct kparam_string;
1317#line 48
1318struct kparam_array;
1319#line 48
1320struct kparam_array;
1321#line 48
1322struct kparam_array;
1323#line 48 "include/linux/moduleparam.h"
1324union __anonunion____missing_field_name_195 {
1325 void *arg ;
1326 struct kparam_string const *str ;
1327 struct kparam_array const *arr ;
1328};
1329#line 48 "include/linux/moduleparam.h"
1330struct kernel_param {
1331 char const *name ;
1332 struct kernel_param_ops const *ops ;
1333 u16 perm ;
1334 u16 flags ;
1335 union __anonunion____missing_field_name_195 __annonCompField31 ;
1336};
1337#line 61 "include/linux/moduleparam.h"
1338struct kparam_string {
1339 unsigned int maxlen ;
1340 char *string ;
1341};
1342#line 67 "include/linux/moduleparam.h"
1343struct kparam_array {
1344 unsigned int max ;
1345 unsigned int elemsize ;
1346 unsigned int *num ;
1347 struct kernel_param_ops const *ops ;
1348 void *elem ;
1349};
1350#line 391
1351struct module;
1352#line 26 "include/linux/jump_label.h"
1353struct module;
1354#line 61 "include/linux/jump_label.h"
1355struct jump_label_key {
1356 atomic_t enabled ;
1357};
1358#line 22 "include/linux/tracepoint.h"
1359struct module;
1360#line 23
1361struct tracepoint;
1362#line 23
1363struct tracepoint;
1364#line 23
1365struct tracepoint;
1366#line 23
1367struct tracepoint;
1368#line 25 "include/linux/tracepoint.h"
1369struct tracepoint_func {
1370 void *func ;
1371 void *data ;
1372};
1373#line 30 "include/linux/tracepoint.h"
1374struct tracepoint {
1375 char const *name ;
1376 struct jump_label_key key ;
1377 void (*regfunc)(void) ;
1378 void (*unregfunc)(void) ;
1379 struct tracepoint_func *funcs ;
1380};
1381#line 8 "include/asm-generic/module.h"
1382struct mod_arch_specific {
1383
1384};
1385#line 21 "include/trace/events/module.h"
1386struct module;
1387#line 37 "include/linux/module.h"
1388struct kernel_symbol {
1389 unsigned long value ;
1390 char const *name ;
1391};
1392#line 49
1393struct module;
1394#line 51 "include/linux/module.h"
1395struct module_attribute {
1396 struct attribute attr ;
1397 ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1398 ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1399 size_t count ) ;
1400 void (*setup)(struct module * , char const * ) ;
1401 int (*test)(struct module * ) ;
1402 void (*free)(struct module * ) ;
1403};
1404#line 70
1405struct module_param_attrs;
1406#line 70
1407struct module_param_attrs;
1408#line 70
1409struct module_param_attrs;
1410#line 70 "include/linux/module.h"
1411struct module_kobject {
1412 struct kobject kobj ;
1413 struct module *mod ;
1414 struct kobject *drivers_dir ;
1415 struct module_param_attrs *mp ;
1416};
1417#line 83
1418struct exception_table_entry;
1419#line 83
1420struct exception_table_entry;
1421#line 83
1422struct exception_table_entry;
1423#line 83
1424struct exception_table_entry;
1425#line 265
1426enum module_state {
1427 MODULE_STATE_LIVE = 0,
1428 MODULE_STATE_COMING = 1,
1429 MODULE_STATE_GOING = 2
1430} ;
1431#line 272
1432struct module_sect_attrs;
1433#line 272
1434struct module_sect_attrs;
1435#line 272
1436struct module_sect_attrs;
1437#line 272
1438struct module_notes_attrs;
1439#line 272
1440struct module_notes_attrs;
1441#line 272
1442struct module_notes_attrs;
1443#line 272
1444struct ftrace_event_call;
1445#line 272
1446struct ftrace_event_call;
1447#line 272
1448struct ftrace_event_call;
1449#line 272 "include/linux/module.h"
1450struct module_ref {
1451 unsigned int incs ;
1452 unsigned int decs ;
1453};
1454#line 272 "include/linux/module.h"
1455struct module {
1456 enum module_state state ;
1457 struct list_head list ;
1458 char name[64UL - sizeof(unsigned long )] ;
1459 struct module_kobject mkobj ;
1460 struct module_attribute *modinfo_attrs ;
1461 char const *version ;
1462 char const *srcversion ;
1463 struct kobject *holders_dir ;
1464 struct kernel_symbol const *syms ;
1465 unsigned long const *crcs ;
1466 unsigned int num_syms ;
1467 struct kernel_param *kp ;
1468 unsigned int num_kp ;
1469 unsigned int num_gpl_syms ;
1470 struct kernel_symbol const *gpl_syms ;
1471 unsigned long const *gpl_crcs ;
1472 struct kernel_symbol const *unused_syms ;
1473 unsigned long const *unused_crcs ;
1474 unsigned int num_unused_syms ;
1475 unsigned int num_unused_gpl_syms ;
1476 struct kernel_symbol const *unused_gpl_syms ;
1477 unsigned long const *unused_gpl_crcs ;
1478 struct kernel_symbol const *gpl_future_syms ;
1479 unsigned long const *gpl_future_crcs ;
1480 unsigned int num_gpl_future_syms ;
1481 unsigned int num_exentries ;
1482 struct exception_table_entry *extable ;
1483 int (*init)(void) ;
1484 void *module_init ;
1485 void *module_core ;
1486 unsigned int init_size ;
1487 unsigned int core_size ;
1488 unsigned int init_text_size ;
1489 unsigned int core_text_size ;
1490 unsigned int init_ro_size ;
1491 unsigned int core_ro_size ;
1492 struct mod_arch_specific arch ;
1493 unsigned int taints ;
1494 unsigned int num_bugs ;
1495 struct list_head bug_list ;
1496 struct bug_entry *bug_table ;
1497 Elf64_Sym *symtab ;
1498 Elf64_Sym *core_symtab ;
1499 unsigned int num_symtab ;
1500 unsigned int core_num_syms ;
1501 char *strtab ;
1502 char *core_strtab ;
1503 struct module_sect_attrs *sect_attrs ;
1504 struct module_notes_attrs *notes_attrs ;
1505 char *args ;
1506 void *percpu ;
1507 unsigned int percpu_size ;
1508 unsigned int num_tracepoints ;
1509 struct tracepoint * const *tracepoints_ptrs ;
1510 unsigned int num_trace_bprintk_fmt ;
1511 char const **trace_bprintk_fmt_start ;
1512 struct ftrace_event_call **trace_events ;
1513 unsigned int num_trace_events ;
1514 unsigned int num_ftrace_callsites ;
1515 unsigned long *ftrace_callsites ;
1516 struct list_head source_list ;
1517 struct list_head target_list ;
1518 struct task_struct *waiter ;
1519 void (*exit)(void) ;
1520 struct module_ref *refptr ;
1521 ctor_fn_t *ctors ;
1522 unsigned int num_ctors ;
1523};
1524#line 19 "include/linux/klist.h"
1525struct klist_node;
1526#line 19
1527struct klist_node;
1528#line 19
1529struct klist_node;
1530#line 19
1531struct klist_node;
1532#line 39 "include/linux/klist.h"
1533struct klist_node {
1534 void *n_klist ;
1535 struct list_head n_node ;
1536 struct kref n_ref ;
1537};
1538#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1539struct dma_map_ops;
1540#line 4
1541struct dma_map_ops;
1542#line 4
1543struct dma_map_ops;
1544#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1545struct dev_archdata {
1546 void *acpi_handle ;
1547 struct dma_map_ops *dma_ops ;
1548 void *iommu ;
1549};
1550#line 28 "include/linux/device.h"
1551struct device;
1552#line 29
1553struct device_private;
1554#line 29
1555struct device_private;
1556#line 29
1557struct device_private;
1558#line 29
1559struct device_private;
1560#line 30
1561struct device_driver;
1562#line 30
1563struct device_driver;
1564#line 30
1565struct device_driver;
1566#line 30
1567struct device_driver;
1568#line 31
1569struct driver_private;
1570#line 31
1571struct driver_private;
1572#line 31
1573struct driver_private;
1574#line 31
1575struct driver_private;
1576#line 32
1577struct class;
1578#line 32
1579struct class;
1580#line 32
1581struct class;
1582#line 32
1583struct class;
1584#line 33
1585struct subsys_private;
1586#line 33
1587struct subsys_private;
1588#line 33
1589struct subsys_private;
1590#line 33
1591struct subsys_private;
1592#line 34
1593struct bus_type;
1594#line 34
1595struct bus_type;
1596#line 34
1597struct bus_type;
1598#line 34
1599struct bus_type;
1600#line 35
1601struct device_node;
1602#line 35
1603struct device_node;
1604#line 35
1605struct device_node;
1606#line 35
1607struct device_node;
1608#line 37 "include/linux/device.h"
1609struct bus_attribute {
1610 struct attribute attr ;
1611 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1612 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
1613};
1614#line 82
1615struct device_attribute;
1616#line 82
1617struct device_attribute;
1618#line 82
1619struct device_attribute;
1620#line 82
1621struct driver_attribute;
1622#line 82
1623struct driver_attribute;
1624#line 82
1625struct driver_attribute;
1626#line 82 "include/linux/device.h"
1627struct bus_type {
1628 char const *name ;
1629 struct bus_attribute *bus_attrs ;
1630 struct device_attribute *dev_attrs ;
1631 struct driver_attribute *drv_attrs ;
1632 int (*match)(struct device *dev , struct device_driver *drv ) ;
1633 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1634 int (*probe)(struct device *dev ) ;
1635 int (*remove)(struct device *dev ) ;
1636 void (*shutdown)(struct device *dev ) ;
1637 int (*suspend)(struct device *dev , pm_message_t state ) ;
1638 int (*resume)(struct device *dev ) ;
1639 struct dev_pm_ops const *pm ;
1640 struct subsys_private *p ;
1641};
1642#line 185
1643struct of_device_id;
1644#line 185
1645struct of_device_id;
1646#line 185
1647struct of_device_id;
1648#line 185 "include/linux/device.h"
1649struct device_driver {
1650 char const *name ;
1651 struct bus_type *bus ;
1652 struct module *owner ;
1653 char const *mod_name ;
1654 bool suppress_bind_attrs ;
1655 struct of_device_id const *of_match_table ;
1656 int (*probe)(struct device *dev ) ;
1657 int (*remove)(struct device *dev ) ;
1658 void (*shutdown)(struct device *dev ) ;
1659 int (*suspend)(struct device *dev , pm_message_t state ) ;
1660 int (*resume)(struct device *dev ) ;
1661 struct attribute_group const **groups ;
1662 struct dev_pm_ops const *pm ;
1663 struct driver_private *p ;
1664};
1665#line 222 "include/linux/device.h"
1666struct driver_attribute {
1667 struct attribute attr ;
1668 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1669 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
1670};
1671#line 280
1672struct class_attribute;
1673#line 280
1674struct class_attribute;
1675#line 280
1676struct class_attribute;
1677#line 280 "include/linux/device.h"
1678struct class {
1679 char const *name ;
1680 struct module *owner ;
1681 struct class_attribute *class_attrs ;
1682 struct device_attribute *dev_attrs ;
1683 struct bin_attribute *dev_bin_attrs ;
1684 struct kobject *dev_kobj ;
1685 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1686 char *(*devnode)(struct device *dev , mode_t *mode ) ;
1687 void (*class_release)(struct class *class ) ;
1688 void (*dev_release)(struct device *dev ) ;
1689 int (*suspend)(struct device *dev , pm_message_t state ) ;
1690 int (*resume)(struct device *dev ) ;
1691 struct kobj_ns_type_operations const *ns_type ;
1692 void const *(*namespace)(struct device *dev ) ;
1693 struct dev_pm_ops const *pm ;
1694 struct subsys_private *p ;
1695};
1696#line 306
1697struct device_type;
1698#line 306
1699struct device_type;
1700#line 306
1701struct device_type;
1702#line 347 "include/linux/device.h"
1703struct class_attribute {
1704 struct attribute attr ;
1705 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1706 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
1707 size_t count ) ;
1708};
1709#line 413 "include/linux/device.h"
1710struct device_type {
1711 char const *name ;
1712 struct attribute_group const **groups ;
1713 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1714 char *(*devnode)(struct device *dev , mode_t *mode ) ;
1715 void (*release)(struct device *dev ) ;
1716 struct dev_pm_ops const *pm ;
1717};
1718#line 424 "include/linux/device.h"
1719struct device_attribute {
1720 struct attribute attr ;
1721 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1722 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
1723 size_t count ) ;
1724};
1725#line 484 "include/linux/device.h"
1726struct device_dma_parameters {
1727 unsigned int max_segment_size ;
1728 unsigned long segment_boundary_mask ;
1729};
1730#line 551
1731struct dma_coherent_mem;
1732#line 551
1733struct dma_coherent_mem;
1734#line 551
1735struct dma_coherent_mem;
1736#line 551 "include/linux/device.h"
1737struct device {
1738 struct device *parent ;
1739 struct device_private *p ;
1740 struct kobject kobj ;
1741 char const *init_name ;
1742 struct device_type const *type ;
1743 struct mutex mutex ;
1744 struct bus_type *bus ;
1745 struct device_driver *driver ;
1746 void *platform_data ;
1747 struct dev_pm_info power ;
1748 struct dev_power_domain *pwr_domain ;
1749 int numa_node ;
1750 u64 *dma_mask ;
1751 u64 coherent_dma_mask ;
1752 struct device_dma_parameters *dma_parms ;
1753 struct list_head dma_pools ;
1754 struct dma_coherent_mem *dma_mem ;
1755 struct dev_archdata archdata ;
1756 struct device_node *of_node ;
1757 dev_t devt ;
1758 spinlock_t devres_lock ;
1759 struct list_head devres_head ;
1760 struct klist_node knode_class ;
1761 struct class *class ;
1762 struct attribute_group const **groups ;
1763 void (*release)(struct device *dev ) ;
1764};
1765#line 43 "include/linux/pm_wakeup.h"
1766struct wakeup_source {
1767 char *name ;
1768 struct list_head entry ;
1769 spinlock_t lock ;
1770 struct timer_list timer ;
1771 unsigned long timer_expires ;
1772 ktime_t total_time ;
1773 ktime_t max_time ;
1774 ktime_t last_time ;
1775 unsigned long event_count ;
1776 unsigned long active_count ;
1777 unsigned long relax_count ;
1778 unsigned long hit_count ;
1779 unsigned int active : 1 ;
1780};
1781#line 14 "include/linux/prio_tree.h"
1782struct prio_tree_node;
1783#line 14
1784struct prio_tree_node;
1785#line 14
1786struct prio_tree_node;
1787#line 14 "include/linux/prio_tree.h"
1788struct raw_prio_tree_node {
1789 struct prio_tree_node *left ;
1790 struct prio_tree_node *right ;
1791 struct prio_tree_node *parent ;
1792};
1793#line 20 "include/linux/prio_tree.h"
1794struct prio_tree_node {
1795 struct prio_tree_node *left ;
1796 struct prio_tree_node *right ;
1797 struct prio_tree_node *parent ;
1798 unsigned long start ;
1799 unsigned long last ;
1800};
1801#line 28 "include/linux/prio_tree.h"
1802struct prio_tree_root {
1803 struct prio_tree_node *prio_tree_node ;
1804 unsigned short index_bits ;
1805 unsigned short raw ;
1806};
1807#line 100 "include/linux/rbtree.h"
1808struct rb_node {
1809 unsigned long rb_parent_color ;
1810 struct rb_node *rb_right ;
1811 struct rb_node *rb_left ;
1812} __attribute__((__aligned__(sizeof(long )))) ;
1813#line 110 "include/linux/rbtree.h"
1814struct rb_root {
1815 struct rb_node *rb_node ;
1816};
1817#line 23 "include/linux/mm_types.h"
1818struct address_space;
1819#line 23
1820struct address_space;
1821#line 23
1822struct address_space;
1823#line 23
1824struct address_space;
1825#line 34 "include/linux/mm_types.h"
1826struct __anonstruct____missing_field_name_198 {
1827 u16 inuse ;
1828 u16 objects ;
1829};
1830#line 34 "include/linux/mm_types.h"
1831union __anonunion____missing_field_name_197 {
1832 atomic_t _mapcount ;
1833 struct __anonstruct____missing_field_name_198 __annonCompField32 ;
1834};
1835#line 34 "include/linux/mm_types.h"
1836struct __anonstruct____missing_field_name_200 {
1837 unsigned long private ;
1838 struct address_space *mapping ;
1839};
1840#line 34 "include/linux/mm_types.h"
1841union __anonunion____missing_field_name_199 {
1842 struct __anonstruct____missing_field_name_200 __annonCompField34 ;
1843 struct kmem_cache *slab ;
1844 struct page *first_page ;
1845};
1846#line 34 "include/linux/mm_types.h"
1847union __anonunion____missing_field_name_201 {
1848 unsigned long index ;
1849 void *freelist ;
1850};
1851#line 34 "include/linux/mm_types.h"
1852struct page {
1853 unsigned long flags ;
1854 atomic_t _count ;
1855 union __anonunion____missing_field_name_197 __annonCompField33 ;
1856 union __anonunion____missing_field_name_199 __annonCompField35 ;
1857 union __anonunion____missing_field_name_201 __annonCompField36 ;
1858 struct list_head lru ;
1859};
1860#line 132 "include/linux/mm_types.h"
1861struct __anonstruct_vm_set_203 {
1862 struct list_head list ;
1863 void *parent ;
1864 struct vm_area_struct *head ;
1865};
1866#line 132 "include/linux/mm_types.h"
1867union __anonunion_shared_202 {
1868 struct __anonstruct_vm_set_203 vm_set ;
1869 struct raw_prio_tree_node prio_tree_node ;
1870};
1871#line 132
1872struct anon_vma;
1873#line 132
1874struct anon_vma;
1875#line 132
1876struct anon_vma;
1877#line 132
1878struct vm_operations_struct;
1879#line 132
1880struct vm_operations_struct;
1881#line 132
1882struct vm_operations_struct;
1883#line 132
1884struct mempolicy;
1885#line 132
1886struct mempolicy;
1887#line 132
1888struct mempolicy;
1889#line 132 "include/linux/mm_types.h"
1890struct vm_area_struct {
1891 struct mm_struct *vm_mm ;
1892 unsigned long vm_start ;
1893 unsigned long vm_end ;
1894 struct vm_area_struct *vm_next ;
1895 struct vm_area_struct *vm_prev ;
1896 pgprot_t vm_page_prot ;
1897 unsigned long vm_flags ;
1898 struct rb_node vm_rb ;
1899 union __anonunion_shared_202 shared ;
1900 struct list_head anon_vma_chain ;
1901 struct anon_vma *anon_vma ;
1902 struct vm_operations_struct const *vm_ops ;
1903 unsigned long vm_pgoff ;
1904 struct file *vm_file ;
1905 void *vm_private_data ;
1906 struct mempolicy *vm_policy ;
1907};
1908#line 189 "include/linux/mm_types.h"
1909struct core_thread {
1910 struct task_struct *task ;
1911 struct core_thread *next ;
1912};
1913#line 194 "include/linux/mm_types.h"
1914struct core_state {
1915 atomic_t nr_threads ;
1916 struct core_thread dumper ;
1917 struct completion startup ;
1918};
1919#line 216 "include/linux/mm_types.h"
1920struct mm_rss_stat {
1921 atomic_long_t count[3] ;
1922};
1923#line 220
1924struct linux_binfmt;
1925#line 220
1926struct linux_binfmt;
1927#line 220
1928struct linux_binfmt;
1929#line 220
1930struct mmu_notifier_mm;
1931#line 220
1932struct mmu_notifier_mm;
1933#line 220
1934struct mmu_notifier_mm;
1935#line 220 "include/linux/mm_types.h"
1936struct mm_struct {
1937 struct vm_area_struct *mmap ;
1938 struct rb_root mm_rb ;
1939 struct vm_area_struct *mmap_cache ;
1940 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1941 unsigned long pgoff , unsigned long flags ) ;
1942 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1943 unsigned long mmap_base ;
1944 unsigned long task_size ;
1945 unsigned long cached_hole_size ;
1946 unsigned long free_area_cache ;
1947 pgd_t *pgd ;
1948 atomic_t mm_users ;
1949 atomic_t mm_count ;
1950 int map_count ;
1951 spinlock_t page_table_lock ;
1952 struct rw_semaphore mmap_sem ;
1953 struct list_head mmlist ;
1954 unsigned long hiwater_rss ;
1955 unsigned long hiwater_vm ;
1956 unsigned long total_vm ;
1957 unsigned long locked_vm ;
1958 unsigned long shared_vm ;
1959 unsigned long exec_vm ;
1960 unsigned long stack_vm ;
1961 unsigned long reserved_vm ;
1962 unsigned long def_flags ;
1963 unsigned long nr_ptes ;
1964 unsigned long start_code ;
1965 unsigned long end_code ;
1966 unsigned long start_data ;
1967 unsigned long end_data ;
1968 unsigned long start_brk ;
1969 unsigned long brk ;
1970 unsigned long start_stack ;
1971 unsigned long arg_start ;
1972 unsigned long arg_end ;
1973 unsigned long env_start ;
1974 unsigned long env_end ;
1975 unsigned long saved_auxv[44] ;
1976 struct mm_rss_stat rss_stat ;
1977 struct linux_binfmt *binfmt ;
1978 cpumask_var_t cpu_vm_mask_var ;
1979 mm_context_t context ;
1980 unsigned int faultstamp ;
1981 unsigned int token_priority ;
1982 unsigned int last_interval ;
1983 atomic_t oom_disable_count ;
1984 unsigned long flags ;
1985 struct core_state *core_state ;
1986 spinlock_t ioctx_lock ;
1987 struct hlist_head ioctx_list ;
1988 struct task_struct *owner ;
1989 struct file *exe_file ;
1990 unsigned long num_exe_file_vmas ;
1991 struct mmu_notifier_mm *mmu_notifier_mm ;
1992 pgtable_t pmd_huge_pte ;
1993 struct cpumask cpumask_allocation ;
1994};
1995#line 51 "include/linux/idr.h"
1996struct idr_layer {
1997 unsigned long bitmap ;
1998 struct idr_layer *ary[1 << 6] ;
1999 int count ;
2000 int layer ;
2001 struct rcu_head rcu_head ;
2002};
2003#line 59 "include/linux/idr.h"
2004struct idr {
2005 struct idr_layer *top ;
2006 struct idr_layer *id_free ;
2007 int layers ;
2008 int id_free_cnt ;
2009 spinlock_t lock ;
2010};
2011#line 18 "include/linux/capability.h"
2012struct task_struct;
2013#line 94 "include/linux/capability.h"
2014struct kernel_cap_struct {
2015 __u32 cap[2] ;
2016};
2017#line 94 "include/linux/capability.h"
2018typedef struct kernel_cap_struct kernel_cap_t;
2019#line 376
2020struct dentry;
2021#line 376
2022struct dentry;
2023#line 376
2024struct dentry;
2025#line 376
2026struct dentry;
2027#line 377
2028struct user_namespace;
2029#line 377
2030struct user_namespace;
2031#line 377
2032struct user_namespace;
2033#line 377
2034struct user_namespace;
2035#line 7 "include/asm-generic/cputime.h"
2036typedef unsigned long cputime_t;
2037#line 84 "include/linux/sem.h"
2038struct task_struct;
2039#line 122
2040struct sem_undo_list;
2041#line 122
2042struct sem_undo_list;
2043#line 122
2044struct sem_undo_list;
2045#line 135 "include/linux/sem.h"
2046struct sem_undo_list {
2047 atomic_t refcnt ;
2048 spinlock_t lock ;
2049 struct list_head list_proc ;
2050};
2051#line 141 "include/linux/sem.h"
2052struct sysv_sem {
2053 struct sem_undo_list *undo_list ;
2054};
2055#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2056struct siginfo;
2057#line 10
2058struct siginfo;
2059#line 10
2060struct siginfo;
2061#line 10
2062struct siginfo;
2063#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2064struct __anonstruct_sigset_t_206 {
2065 unsigned long sig[1] ;
2066};
2067#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2068typedef struct __anonstruct_sigset_t_206 sigset_t;
2069#line 17 "include/asm-generic/signal-defs.h"
2070typedef void __signalfn_t(int );
2071#line 18 "include/asm-generic/signal-defs.h"
2072typedef __signalfn_t *__sighandler_t;
2073#line 20 "include/asm-generic/signal-defs.h"
2074typedef void __restorefn_t(void);
2075#line 21 "include/asm-generic/signal-defs.h"
2076typedef __restorefn_t *__sigrestore_t;
2077#line 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2078struct sigaction {
2079 __sighandler_t sa_handler ;
2080 unsigned long sa_flags ;
2081 __sigrestore_t sa_restorer ;
2082 sigset_t sa_mask ;
2083};
2084#line 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2085struct k_sigaction {
2086 struct sigaction sa ;
2087};
2088#line 7 "include/asm-generic/siginfo.h"
2089union sigval {
2090 int sival_int ;
2091 void *sival_ptr ;
2092};
2093#line 7 "include/asm-generic/siginfo.h"
2094typedef union sigval sigval_t;
2095#line 40 "include/asm-generic/siginfo.h"
2096struct __anonstruct__kill_208 {
2097 __kernel_pid_t _pid ;
2098 __kernel_uid32_t _uid ;
2099};
2100#line 40 "include/asm-generic/siginfo.h"
2101struct __anonstruct__timer_209 {
2102 __kernel_timer_t _tid ;
2103 int _overrun ;
2104 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
2105 sigval_t _sigval ;
2106 int _sys_private ;
2107};
2108#line 40 "include/asm-generic/siginfo.h"
2109struct __anonstruct__rt_210 {
2110 __kernel_pid_t _pid ;
2111 __kernel_uid32_t _uid ;
2112 sigval_t _sigval ;
2113};
2114#line 40 "include/asm-generic/siginfo.h"
2115struct __anonstruct__sigchld_211 {
2116 __kernel_pid_t _pid ;
2117 __kernel_uid32_t _uid ;
2118 int _status ;
2119 __kernel_clock_t _utime ;
2120 __kernel_clock_t _stime ;
2121};
2122#line 40 "include/asm-generic/siginfo.h"
2123struct __anonstruct__sigfault_212 {
2124 void *_addr ;
2125 short _addr_lsb ;
2126};
2127#line 40 "include/asm-generic/siginfo.h"
2128struct __anonstruct__sigpoll_213 {
2129 long _band ;
2130 int _fd ;
2131};
2132#line 40 "include/asm-generic/siginfo.h"
2133union __anonunion__sifields_207 {
2134 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
2135 struct __anonstruct__kill_208 _kill ;
2136 struct __anonstruct__timer_209 _timer ;
2137 struct __anonstruct__rt_210 _rt ;
2138 struct __anonstruct__sigchld_211 _sigchld ;
2139 struct __anonstruct__sigfault_212 _sigfault ;
2140 struct __anonstruct__sigpoll_213 _sigpoll ;
2141};
2142#line 40 "include/asm-generic/siginfo.h"
2143struct siginfo {
2144 int si_signo ;
2145 int si_errno ;
2146 int si_code ;
2147 union __anonunion__sifields_207 _sifields ;
2148};
2149#line 40 "include/asm-generic/siginfo.h"
2150typedef struct siginfo siginfo_t;
2151#line 280
2152struct siginfo;
2153#line 10 "include/linux/signal.h"
2154struct task_struct;
2155#line 18
2156struct user_struct;
2157#line 18
2158struct user_struct;
2159#line 18
2160struct user_struct;
2161#line 28 "include/linux/signal.h"
2162struct sigpending {
2163 struct list_head list ;
2164 sigset_t signal ;
2165};
2166#line 239
2167struct timespec;
2168#line 240
2169struct pt_regs;
2170#line 6 "include/linux/pid.h"
2171enum pid_type {
2172 PIDTYPE_PID = 0,
2173 PIDTYPE_PGID = 1,
2174 PIDTYPE_SID = 2,
2175 PIDTYPE_MAX = 3
2176} ;
2177#line 50
2178struct pid_namespace;
2179#line 50
2180struct pid_namespace;
2181#line 50
2182struct pid_namespace;
2183#line 50 "include/linux/pid.h"
2184struct upid {
2185 int nr ;
2186 struct pid_namespace *ns ;
2187 struct hlist_node pid_chain ;
2188};
2189#line 57 "include/linux/pid.h"
2190struct pid {
2191 atomic_t count ;
2192 unsigned int level ;
2193 struct hlist_head tasks[3] ;
2194 struct rcu_head rcu ;
2195 struct upid numbers[1] ;
2196};
2197#line 69 "include/linux/pid.h"
2198struct pid_link {
2199 struct hlist_node node ;
2200 struct pid *pid ;
2201};
2202#line 100
2203struct pid_namespace;
2204#line 97 "include/linux/proportions.h"
2205struct prop_local_single {
2206 unsigned long events ;
2207 unsigned long period ;
2208 int shift ;
2209 spinlock_t lock ;
2210};
2211#line 10 "include/linux/seccomp.h"
2212struct __anonstruct_seccomp_t_216 {
2213 int mode ;
2214};
2215#line 10 "include/linux/seccomp.h"
2216typedef struct __anonstruct_seccomp_t_216 seccomp_t;
2217#line 82 "include/linux/plist.h"
2218struct plist_head {
2219 struct list_head node_list ;
2220 raw_spinlock_t *rawlock ;
2221 spinlock_t *spinlock ;
2222};
2223#line 90 "include/linux/plist.h"
2224struct plist_node {
2225 int prio ;
2226 struct list_head prio_list ;
2227 struct list_head node_list ;
2228};
2229#line 40 "include/linux/rtmutex.h"
2230struct rt_mutex_waiter;
2231#line 40
2232struct rt_mutex_waiter;
2233#line 40
2234struct rt_mutex_waiter;
2235#line 40
2236struct rt_mutex_waiter;
2237#line 42 "include/linux/resource.h"
2238struct rlimit {
2239 unsigned long rlim_cur ;
2240 unsigned long rlim_max ;
2241};
2242#line 81
2243struct task_struct;
2244#line 8 "include/linux/timerqueue.h"
2245struct timerqueue_node {
2246 struct rb_node node ;
2247 ktime_t expires ;
2248};
2249#line 13 "include/linux/timerqueue.h"
2250struct timerqueue_head {
2251 struct rb_root head ;
2252 struct timerqueue_node *next ;
2253};
2254#line 27 "include/linux/hrtimer.h"
2255struct hrtimer_clock_base;
2256#line 27
2257struct hrtimer_clock_base;
2258#line 27
2259struct hrtimer_clock_base;
2260#line 27
2261struct hrtimer_clock_base;
2262#line 28
2263struct hrtimer_cpu_base;
2264#line 28
2265struct hrtimer_cpu_base;
2266#line 28
2267struct hrtimer_cpu_base;
2268#line 28
2269struct hrtimer_cpu_base;
2270#line 44
2271enum hrtimer_restart {
2272 HRTIMER_NORESTART = 0,
2273 HRTIMER_RESTART = 1
2274} ;
2275#line 108 "include/linux/hrtimer.h"
2276struct hrtimer {
2277 struct timerqueue_node node ;
2278 ktime_t _softexpires ;
2279 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2280 struct hrtimer_clock_base *base ;
2281 unsigned long state ;
2282 int start_pid ;
2283 void *start_site ;
2284 char start_comm[16] ;
2285};
2286#line 145 "include/linux/hrtimer.h"
2287struct hrtimer_clock_base {
2288 struct hrtimer_cpu_base *cpu_base ;
2289 int index ;
2290 clockid_t clockid ;
2291 struct timerqueue_head active ;
2292 ktime_t resolution ;
2293 ktime_t (*get_time)(void) ;
2294 ktime_t softirq_time ;
2295 ktime_t offset ;
2296};
2297#line 178 "include/linux/hrtimer.h"
2298struct hrtimer_cpu_base {
2299 raw_spinlock_t lock ;
2300 unsigned long active_bases ;
2301 ktime_t expires_next ;
2302 int hres_active ;
2303 int hang_detected ;
2304 unsigned long nr_events ;
2305 unsigned long nr_retries ;
2306 unsigned long nr_hangs ;
2307 ktime_t max_hang_time ;
2308 struct hrtimer_clock_base clock_base[3] ;
2309};
2310#line 11 "include/linux/task_io_accounting.h"
2311struct task_io_accounting {
2312 u64 rchar ;
2313 u64 wchar ;
2314 u64 syscr ;
2315 u64 syscw ;
2316 u64 read_bytes ;
2317 u64 write_bytes ;
2318 u64 cancelled_write_bytes ;
2319};
2320#line 18 "include/linux/latencytop.h"
2321struct latency_record {
2322 unsigned long backtrace[12] ;
2323 unsigned int count ;
2324 unsigned long time ;
2325 unsigned long max ;
2326};
2327#line 26
2328struct task_struct;
2329#line 29 "include/linux/key.h"
2330typedef int32_t key_serial_t;
2331#line 32 "include/linux/key.h"
2332typedef uint32_t key_perm_t;
2333#line 34
2334struct key;
2335#line 34
2336struct key;
2337#line 34
2338struct key;
2339#line 34
2340struct key;
2341#line 74
2342struct seq_file;
2343#line 75
2344struct user_struct;
2345#line 76
2346struct signal_struct;
2347#line 76
2348struct signal_struct;
2349#line 76
2350struct signal_struct;
2351#line 76
2352struct signal_struct;
2353#line 77
2354struct cred;
2355#line 79
2356struct key_type;
2357#line 79
2358struct key_type;
2359#line 79
2360struct key_type;
2361#line 79
2362struct key_type;
2363#line 81
2364struct keyring_list;
2365#line 81
2366struct keyring_list;
2367#line 81
2368struct keyring_list;
2369#line 81
2370struct keyring_list;
2371#line 124
2372struct key_user;
2373#line 124
2374struct key_user;
2375#line 124
2376struct key_user;
2377#line 124 "include/linux/key.h"
2378union __anonunion____missing_field_name_217 {
2379 time_t expiry ;
2380 time_t revoked_at ;
2381};
2382#line 124 "include/linux/key.h"
2383union __anonunion_type_data_218 {
2384 struct list_head link ;
2385 unsigned long x[2] ;
2386 void *p[2] ;
2387 int reject_error ;
2388};
2389#line 124 "include/linux/key.h"
2390union __anonunion_payload_219 {
2391 unsigned long value ;
2392 void *rcudata ;
2393 void *data ;
2394 struct keyring_list *subscriptions ;
2395};
2396#line 124 "include/linux/key.h"
2397struct key {
2398 atomic_t usage ;
2399 key_serial_t serial ;
2400 struct rb_node serial_node ;
2401 struct key_type *type ;
2402 struct rw_semaphore sem ;
2403 struct key_user *user ;
2404 void *security ;
2405 union __anonunion____missing_field_name_217 __annonCompField37 ;
2406 uid_t uid ;
2407 gid_t gid ;
2408 key_perm_t perm ;
2409 unsigned short quotalen ;
2410 unsigned short datalen ;
2411 unsigned long flags ;
2412 char *description ;
2413 union __anonunion_type_data_218 type_data ;
2414 union __anonunion_payload_219 payload ;
2415};
2416#line 18 "include/linux/selinux.h"
2417struct audit_context;
2418#line 18
2419struct audit_context;
2420#line 18
2421struct audit_context;
2422#line 18
2423struct audit_context;
2424#line 21 "include/linux/cred.h"
2425struct user_struct;
2426#line 22
2427struct cred;
2428#line 23
2429struct inode;
2430#line 23
2431struct inode;
2432#line 23
2433struct inode;
2434#line 23
2435struct inode;
2436#line 31 "include/linux/cred.h"
2437struct group_info {
2438 atomic_t usage ;
2439 int ngroups ;
2440 int nblocks ;
2441 gid_t small_block[32] ;
2442 gid_t *blocks[0] ;
2443};
2444#line 83 "include/linux/cred.h"
2445struct thread_group_cred {
2446 atomic_t usage ;
2447 pid_t tgid ;
2448 spinlock_t lock ;
2449 struct key *session_keyring ;
2450 struct key *process_keyring ;
2451 struct rcu_head rcu ;
2452};
2453#line 116 "include/linux/cred.h"
2454struct cred {
2455 atomic_t usage ;
2456 atomic_t subscribers ;
2457 void *put_addr ;
2458 unsigned int magic ;
2459 uid_t uid ;
2460 gid_t gid ;
2461 uid_t suid ;
2462 gid_t sgid ;
2463 uid_t euid ;
2464 gid_t egid ;
2465 uid_t fsuid ;
2466 gid_t fsgid ;
2467 unsigned int securebits ;
2468 kernel_cap_t cap_inheritable ;
2469 kernel_cap_t cap_permitted ;
2470 kernel_cap_t cap_effective ;
2471 kernel_cap_t cap_bset ;
2472 unsigned char jit_keyring ;
2473 struct key *thread_keyring ;
2474 struct key *request_key_auth ;
2475 struct thread_group_cred *tgcred ;
2476 void *security ;
2477 struct user_struct *user ;
2478 struct user_namespace *user_ns ;
2479 struct group_info *group_info ;
2480 struct rcu_head rcu ;
2481};
2482#line 97 "include/linux/sched.h"
2483struct futex_pi_state;
2484#line 97
2485struct futex_pi_state;
2486#line 97
2487struct futex_pi_state;
2488#line 97
2489struct futex_pi_state;
2490#line 98
2491struct robust_list_head;
2492#line 98
2493struct robust_list_head;
2494#line 98
2495struct robust_list_head;
2496#line 98
2497struct robust_list_head;
2498#line 99
2499struct bio_list;
2500#line 99
2501struct bio_list;
2502#line 99
2503struct bio_list;
2504#line 99
2505struct bio_list;
2506#line 100
2507struct fs_struct;
2508#line 100
2509struct fs_struct;
2510#line 100
2511struct fs_struct;
2512#line 100
2513struct fs_struct;
2514#line 101
2515struct perf_event_context;
2516#line 101
2517struct perf_event_context;
2518#line 101
2519struct perf_event_context;
2520#line 101
2521struct perf_event_context;
2522#line 102
2523struct blk_plug;
2524#line 102
2525struct blk_plug;
2526#line 102
2527struct blk_plug;
2528#line 102
2529struct blk_plug;
2530#line 150
2531struct seq_file;
2532#line 151
2533struct cfs_rq;
2534#line 151
2535struct cfs_rq;
2536#line 151
2537struct cfs_rq;
2538#line 151
2539struct cfs_rq;
2540#line 259
2541struct task_struct;
2542#line 364
2543struct nsproxy;
2544#line 365
2545struct user_namespace;
2546#line 58 "include/linux/aio_abi.h"
2547struct io_event {
2548 __u64 data ;
2549 __u64 obj ;
2550 __s64 res ;
2551 __s64 res2 ;
2552};
2553#line 16 "include/linux/uio.h"
2554struct iovec {
2555 void *iov_base ;
2556 __kernel_size_t iov_len ;
2557};
2558#line 15 "include/linux/aio.h"
2559struct kioctx;
2560#line 15
2561struct kioctx;
2562#line 15
2563struct kioctx;
2564#line 15
2565struct kioctx;
2566#line 87 "include/linux/aio.h"
2567union __anonunion_ki_obj_221 {
2568 void *user ;
2569 struct task_struct *tsk ;
2570};
2571#line 87
2572struct eventfd_ctx;
2573#line 87
2574struct eventfd_ctx;
2575#line 87
2576struct eventfd_ctx;
2577#line 87 "include/linux/aio.h"
2578struct kiocb {
2579 struct list_head ki_run_list ;
2580 unsigned long ki_flags ;
2581 int ki_users ;
2582 unsigned int ki_key ;
2583 struct file *ki_filp ;
2584 struct kioctx *ki_ctx ;
2585 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2586 ssize_t (*ki_retry)(struct kiocb * ) ;
2587 void (*ki_dtor)(struct kiocb * ) ;
2588 union __anonunion_ki_obj_221 ki_obj ;
2589 __u64 ki_user_data ;
2590 loff_t ki_pos ;
2591 void *private ;
2592 unsigned short ki_opcode ;
2593 size_t ki_nbytes ;
2594 char *ki_buf ;
2595 size_t ki_left ;
2596 struct iovec ki_inline_vec ;
2597 struct iovec *ki_iovec ;
2598 unsigned long ki_nr_segs ;
2599 unsigned long ki_cur_seg ;
2600 struct list_head ki_list ;
2601 struct eventfd_ctx *ki_eventfd ;
2602};
2603#line 165 "include/linux/aio.h"
2604struct aio_ring_info {
2605 unsigned long mmap_base ;
2606 unsigned long mmap_size ;
2607 struct page **ring_pages ;
2608 spinlock_t ring_lock ;
2609 long nr_pages ;
2610 unsigned int nr ;
2611 unsigned int tail ;
2612 struct page *internal_pages[8] ;
2613};
2614#line 178 "include/linux/aio.h"
2615struct kioctx {
2616 atomic_t users ;
2617 int dead ;
2618 struct mm_struct *mm ;
2619 unsigned long user_id ;
2620 struct hlist_node list ;
2621 wait_queue_head_t wait ;
2622 spinlock_t ctx_lock ;
2623 int reqs_active ;
2624 struct list_head active_reqs ;
2625 struct list_head run_list ;
2626 unsigned int max_reqs ;
2627 struct aio_ring_info ring_info ;
2628 struct delayed_work wq ;
2629 struct rcu_head rcu_head ;
2630};
2631#line 213
2632struct mm_struct;
2633#line 441 "include/linux/sched.h"
2634struct sighand_struct {
2635 atomic_t count ;
2636 struct k_sigaction action[64] ;
2637 spinlock_t siglock ;
2638 wait_queue_head_t signalfd_wqh ;
2639};
2640#line 448 "include/linux/sched.h"
2641struct pacct_struct {
2642 int ac_flag ;
2643 long ac_exitcode ;
2644 unsigned long ac_mem ;
2645 cputime_t ac_utime ;
2646 cputime_t ac_stime ;
2647 unsigned long ac_minflt ;
2648 unsigned long ac_majflt ;
2649};
2650#line 456 "include/linux/sched.h"
2651struct cpu_itimer {
2652 cputime_t expires ;
2653 cputime_t incr ;
2654 u32 error ;
2655 u32 incr_error ;
2656};
2657#line 474 "include/linux/sched.h"
2658struct task_cputime {
2659 cputime_t utime ;
2660 cputime_t stime ;
2661 unsigned long long sum_exec_runtime ;
2662};
2663#line 510 "include/linux/sched.h"
2664struct thread_group_cputimer {
2665 struct task_cputime cputime ;
2666 int running ;
2667 spinlock_t lock ;
2668};
2669#line 517
2670struct autogroup;
2671#line 517
2672struct autogroup;
2673#line 517
2674struct autogroup;
2675#line 517
2676struct autogroup;
2677#line 526
2678struct tty_struct;
2679#line 526
2680struct tty_struct;
2681#line 526
2682struct tty_struct;
2683#line 526
2684struct taskstats;
2685#line 526
2686struct taskstats;
2687#line 526
2688struct taskstats;
2689#line 526
2690struct tty_audit_buf;
2691#line 526
2692struct tty_audit_buf;
2693#line 526
2694struct tty_audit_buf;
2695#line 526 "include/linux/sched.h"
2696struct signal_struct {
2697 atomic_t sigcnt ;
2698 atomic_t live ;
2699 int nr_threads ;
2700 wait_queue_head_t wait_chldexit ;
2701 struct task_struct *curr_target ;
2702 struct sigpending shared_pending ;
2703 int group_exit_code ;
2704 int notify_count ;
2705 struct task_struct *group_exit_task ;
2706 int group_stop_count ;
2707 unsigned int flags ;
2708 struct list_head posix_timers ;
2709 struct hrtimer real_timer ;
2710 struct pid *leader_pid ;
2711 ktime_t it_real_incr ;
2712 struct cpu_itimer it[2] ;
2713 struct thread_group_cputimer cputimer ;
2714 struct task_cputime cputime_expires ;
2715 struct list_head cpu_timers[3] ;
2716 struct pid *tty_old_pgrp ;
2717 int leader ;
2718 struct tty_struct *tty ;
2719 struct autogroup *autogroup ;
2720 cputime_t utime ;
2721 cputime_t stime ;
2722 cputime_t cutime ;
2723 cputime_t cstime ;
2724 cputime_t gtime ;
2725 cputime_t cgtime ;
2726 cputime_t prev_utime ;
2727 cputime_t prev_stime ;
2728 unsigned long nvcsw ;
2729 unsigned long nivcsw ;
2730 unsigned long cnvcsw ;
2731 unsigned long cnivcsw ;
2732 unsigned long min_flt ;
2733 unsigned long maj_flt ;
2734 unsigned long cmin_flt ;
2735 unsigned long cmaj_flt ;
2736 unsigned long inblock ;
2737 unsigned long oublock ;
2738 unsigned long cinblock ;
2739 unsigned long coublock ;
2740 unsigned long maxrss ;
2741 unsigned long cmaxrss ;
2742 struct task_io_accounting ioac ;
2743 unsigned long long sum_sched_runtime ;
2744 struct rlimit rlim[16] ;
2745 struct pacct_struct pacct ;
2746 struct taskstats *stats ;
2747 unsigned int audit_tty ;
2748 struct tty_audit_buf *tty_audit_buf ;
2749 struct rw_semaphore threadgroup_fork_lock ;
2750 int oom_adj ;
2751 int oom_score_adj ;
2752 int oom_score_adj_min ;
2753 struct mutex cred_guard_mutex ;
2754};
2755#line 687 "include/linux/sched.h"
2756struct user_struct {
2757 atomic_t __count ;
2758 atomic_t processes ;
2759 atomic_t files ;
2760 atomic_t sigpending ;
2761 atomic_t inotify_watches ;
2762 atomic_t inotify_devs ;
2763 atomic_t fanotify_listeners ;
2764 atomic_long_t epoll_watches ;
2765 unsigned long mq_bytes ;
2766 unsigned long locked_shm ;
2767 struct key *uid_keyring ;
2768 struct key *session_keyring ;
2769 struct hlist_node uidhash_node ;
2770 uid_t uid ;
2771 struct user_namespace *user_ns ;
2772 atomic_long_t locked_vm ;
2773};
2774#line 731
2775struct backing_dev_info;
2776#line 731
2777struct backing_dev_info;
2778#line 731
2779struct backing_dev_info;
2780#line 731
2781struct backing_dev_info;
2782#line 732
2783struct reclaim_state;
2784#line 732
2785struct reclaim_state;
2786#line 732
2787struct reclaim_state;
2788#line 732
2789struct reclaim_state;
2790#line 735 "include/linux/sched.h"
2791struct sched_info {
2792 unsigned long pcount ;
2793 unsigned long long run_delay ;
2794 unsigned long long last_arrival ;
2795 unsigned long long last_queued ;
2796};
2797#line 747 "include/linux/sched.h"
2798struct task_delay_info {
2799 spinlock_t lock ;
2800 unsigned int flags ;
2801 struct timespec blkio_start ;
2802 struct timespec blkio_end ;
2803 u64 blkio_delay ;
2804 u64 swapin_delay ;
2805 u32 blkio_count ;
2806 u32 swapin_count ;
2807 struct timespec freepages_start ;
2808 struct timespec freepages_end ;
2809 u64 freepages_delay ;
2810 u32 freepages_count ;
2811};
2812#line 1050
2813struct io_context;
2814#line 1050
2815struct io_context;
2816#line 1050
2817struct io_context;
2818#line 1050
2819struct io_context;
2820#line 1059
2821struct audit_context;
2822#line 1060
2823struct mempolicy;
2824#line 1061
2825struct pipe_inode_info;
2826#line 1061
2827struct pipe_inode_info;
2828#line 1061
2829struct pipe_inode_info;
2830#line 1061
2831struct pipe_inode_info;
2832#line 1064
2833struct rq;
2834#line 1064
2835struct rq;
2836#line 1064
2837struct rq;
2838#line 1064
2839struct rq;
2840#line 1084 "include/linux/sched.h"
2841struct sched_class {
2842 struct sched_class const *next ;
2843 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2844 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2845 void (*yield_task)(struct rq *rq ) ;
2846 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2847 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2848 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2849 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2850 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2851 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2852 void (*post_schedule)(struct rq *this_rq ) ;
2853 void (*task_waking)(struct task_struct *task ) ;
2854 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2855 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2856 void (*rq_online)(struct rq *rq ) ;
2857 void (*rq_offline)(struct rq *rq ) ;
2858 void (*set_curr_task)(struct rq *rq ) ;
2859 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2860 void (*task_fork)(struct task_struct *p ) ;
2861 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2862 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2863 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2864 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2865 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2866};
2867#line 1129 "include/linux/sched.h"
2868struct load_weight {
2869 unsigned long weight ;
2870 unsigned long inv_weight ;
2871};
2872#line 1134 "include/linux/sched.h"
2873struct sched_statistics {
2874 u64 wait_start ;
2875 u64 wait_max ;
2876 u64 wait_count ;
2877 u64 wait_sum ;
2878 u64 iowait_count ;
2879 u64 iowait_sum ;
2880 u64 sleep_start ;
2881 u64 sleep_max ;
2882 s64 sum_sleep_runtime ;
2883 u64 block_start ;
2884 u64 block_max ;
2885 u64 exec_max ;
2886 u64 slice_max ;
2887 u64 nr_migrations_cold ;
2888 u64 nr_failed_migrations_affine ;
2889 u64 nr_failed_migrations_running ;
2890 u64 nr_failed_migrations_hot ;
2891 u64 nr_forced_migrations ;
2892 u64 nr_wakeups ;
2893 u64 nr_wakeups_sync ;
2894 u64 nr_wakeups_migrate ;
2895 u64 nr_wakeups_local ;
2896 u64 nr_wakeups_remote ;
2897 u64 nr_wakeups_affine ;
2898 u64 nr_wakeups_affine_attempts ;
2899 u64 nr_wakeups_passive ;
2900 u64 nr_wakeups_idle ;
2901};
2902#line 1169 "include/linux/sched.h"
2903struct sched_entity {
2904 struct load_weight load ;
2905 struct rb_node run_node ;
2906 struct list_head group_node ;
2907 unsigned int on_rq ;
2908 u64 exec_start ;
2909 u64 sum_exec_runtime ;
2910 u64 vruntime ;
2911 u64 prev_sum_exec_runtime ;
2912 u64 nr_migrations ;
2913 struct sched_statistics statistics ;
2914 struct sched_entity *parent ;
2915 struct cfs_rq *cfs_rq ;
2916 struct cfs_rq *my_q ;
2917};
2918#line 1195
2919struct rt_rq;
2920#line 1195
2921struct rt_rq;
2922#line 1195
2923struct rt_rq;
2924#line 1195 "include/linux/sched.h"
2925struct sched_rt_entity {
2926 struct list_head run_list ;
2927 unsigned long timeout ;
2928 unsigned int time_slice ;
2929 int nr_cpus_allowed ;
2930 struct sched_rt_entity *back ;
2931 struct sched_rt_entity *parent ;
2932 struct rt_rq *rt_rq ;
2933 struct rt_rq *my_q ;
2934};
2935#line 1220
2936struct files_struct;
2937#line 1220
2938struct files_struct;
2939#line 1220
2940struct files_struct;
2941#line 1220
2942struct irqaction;
2943#line 1220
2944struct irqaction;
2945#line 1220
2946struct irqaction;
2947#line 1220
2948struct css_set;
2949#line 1220
2950struct css_set;
2951#line 1220
2952struct css_set;
2953#line 1220
2954struct compat_robust_list_head;
2955#line 1220
2956struct compat_robust_list_head;
2957#line 1220
2958struct compat_robust_list_head;
2959#line 1220
2960struct ftrace_ret_stack;
2961#line 1220
2962struct ftrace_ret_stack;
2963#line 1220
2964struct ftrace_ret_stack;
2965#line 1220
2966struct mem_cgroup;
2967#line 1220
2968struct mem_cgroup;
2969#line 1220
2970struct mem_cgroup;
2971#line 1220 "include/linux/sched.h"
2972struct memcg_batch_info {
2973 int do_batch ;
2974 struct mem_cgroup *memcg ;
2975 unsigned long nr_pages ;
2976 unsigned long memsw_nr_pages ;
2977};
2978#line 1220 "include/linux/sched.h"
2979struct task_struct {
2980 long volatile state ;
2981 void *stack ;
2982 atomic_t usage ;
2983 unsigned int flags ;
2984 unsigned int ptrace ;
2985 struct task_struct *wake_entry ;
2986 int on_cpu ;
2987 int on_rq ;
2988 int prio ;
2989 int static_prio ;
2990 int normal_prio ;
2991 unsigned int rt_priority ;
2992 struct sched_class const *sched_class ;
2993 struct sched_entity se ;
2994 struct sched_rt_entity rt ;
2995 struct hlist_head preempt_notifiers ;
2996 unsigned char fpu_counter ;
2997 unsigned int btrace_seq ;
2998 unsigned int policy ;
2999 cpumask_t cpus_allowed ;
3000 struct sched_info sched_info ;
3001 struct list_head tasks ;
3002 struct plist_node pushable_tasks ;
3003 struct mm_struct *mm ;
3004 struct mm_struct *active_mm ;
3005 unsigned int brk_randomized : 1 ;
3006 int exit_state ;
3007 int exit_code ;
3008 int exit_signal ;
3009 int pdeath_signal ;
3010 unsigned int group_stop ;
3011 unsigned int personality ;
3012 unsigned int did_exec : 1 ;
3013 unsigned int in_execve : 1 ;
3014 unsigned int in_iowait : 1 ;
3015 unsigned int sched_reset_on_fork : 1 ;
3016 unsigned int sched_contributes_to_load : 1 ;
3017 pid_t pid ;
3018 pid_t tgid ;
3019 unsigned long stack_canary ;
3020 struct task_struct *real_parent ;
3021 struct task_struct *parent ;
3022 struct list_head children ;
3023 struct list_head sibling ;
3024 struct task_struct *group_leader ;
3025 struct list_head ptraced ;
3026 struct list_head ptrace_entry ;
3027 struct pid_link pids[3] ;
3028 struct list_head thread_group ;
3029 struct completion *vfork_done ;
3030 int *set_child_tid ;
3031 int *clear_child_tid ;
3032 cputime_t utime ;
3033 cputime_t stime ;
3034 cputime_t utimescaled ;
3035 cputime_t stimescaled ;
3036 cputime_t gtime ;
3037 cputime_t prev_utime ;
3038 cputime_t prev_stime ;
3039 unsigned long nvcsw ;
3040 unsigned long nivcsw ;
3041 struct timespec start_time ;
3042 struct timespec real_start_time ;
3043 unsigned long min_flt ;
3044 unsigned long maj_flt ;
3045 struct task_cputime cputime_expires ;
3046 struct list_head cpu_timers[3] ;
3047 struct cred const *real_cred ;
3048 struct cred const *cred ;
3049 struct cred *replacement_session_keyring ;
3050 char comm[16] ;
3051 int link_count ;
3052 int total_link_count ;
3053 struct sysv_sem sysvsem ;
3054 unsigned long last_switch_count ;
3055 struct thread_struct thread ;
3056 struct fs_struct *fs ;
3057 struct files_struct *files ;
3058 struct nsproxy *nsproxy ;
3059 struct signal_struct *signal ;
3060 struct sighand_struct *sighand ;
3061 sigset_t blocked ;
3062 sigset_t real_blocked ;
3063 sigset_t saved_sigmask ;
3064 struct sigpending pending ;
3065 unsigned long sas_ss_sp ;
3066 size_t sas_ss_size ;
3067 int (*notifier)(void *priv ) ;
3068 void *notifier_data ;
3069 sigset_t *notifier_mask ;
3070 struct audit_context *audit_context ;
3071 uid_t loginuid ;
3072 unsigned int sessionid ;
3073 seccomp_t seccomp ;
3074 u32 parent_exec_id ;
3075 u32 self_exec_id ;
3076 spinlock_t alloc_lock ;
3077 struct irqaction *irqaction ;
3078 raw_spinlock_t pi_lock ;
3079 struct plist_head pi_waiters ;
3080 struct rt_mutex_waiter *pi_blocked_on ;
3081 struct mutex_waiter *blocked_on ;
3082 unsigned int irq_events ;
3083 unsigned long hardirq_enable_ip ;
3084 unsigned long hardirq_disable_ip ;
3085 unsigned int hardirq_enable_event ;
3086 unsigned int hardirq_disable_event ;
3087 int hardirqs_enabled ;
3088 int hardirq_context ;
3089 unsigned long softirq_disable_ip ;
3090 unsigned long softirq_enable_ip ;
3091 unsigned int softirq_disable_event ;
3092 unsigned int softirq_enable_event ;
3093 int softirqs_enabled ;
3094 int softirq_context ;
3095 u64 curr_chain_key ;
3096 int lockdep_depth ;
3097 unsigned int lockdep_recursion ;
3098 struct held_lock held_locks[48UL] ;
3099 gfp_t lockdep_reclaim_gfp ;
3100 void *journal_info ;
3101 struct bio_list *bio_list ;
3102 struct blk_plug *plug ;
3103 struct reclaim_state *reclaim_state ;
3104 struct backing_dev_info *backing_dev_info ;
3105 struct io_context *io_context ;
3106 unsigned long ptrace_message ;
3107 siginfo_t *last_siginfo ;
3108 struct task_io_accounting ioac ;
3109 u64 acct_rss_mem1 ;
3110 u64 acct_vm_mem1 ;
3111 cputime_t acct_timexpd ;
3112 nodemask_t mems_allowed ;
3113 int mems_allowed_change_disable ;
3114 int cpuset_mem_spread_rotor ;
3115 int cpuset_slab_spread_rotor ;
3116 struct css_set *cgroups ;
3117 struct list_head cg_list ;
3118 struct robust_list_head *robust_list ;
3119 struct compat_robust_list_head *compat_robust_list ;
3120 struct list_head pi_state_list ;
3121 struct futex_pi_state *pi_state_cache ;
3122 struct perf_event_context *perf_event_ctxp[2] ;
3123 struct mutex perf_event_mutex ;
3124 struct list_head perf_event_list ;
3125 struct mempolicy *mempolicy ;
3126 short il_next ;
3127 short pref_node_fork ;
3128 atomic_t fs_excl ;
3129 struct rcu_head rcu ;
3130 struct pipe_inode_info *splice_pipe ;
3131 struct task_delay_info *delays ;
3132 int make_it_fail ;
3133 struct prop_local_single dirties ;
3134 int latency_record_count ;
3135 struct latency_record latency_record[32] ;
3136 unsigned long timer_slack_ns ;
3137 unsigned long default_timer_slack_ns ;
3138 struct list_head *scm_work_list ;
3139 int curr_ret_stack ;
3140 struct ftrace_ret_stack *ret_stack ;
3141 unsigned long long ftrace_timestamp ;
3142 atomic_t trace_overrun ;
3143 atomic_t tracing_graph_pause ;
3144 unsigned long trace ;
3145 unsigned long trace_recursion ;
3146 struct memcg_batch_info memcg_batch ;
3147 atomic_t ptrace_bp_refcnt ;
3148};
3149#line 1634
3150struct pid_namespace;
3151#line 38 "include/linux/slub_def.h"
3152struct kmem_cache_cpu {
3153 void **freelist ;
3154 unsigned long tid ;
3155 struct page *page ;
3156 int node ;
3157 unsigned int stat[19] ;
3158};
3159#line 48 "include/linux/slub_def.h"
3160struct kmem_cache_node {
3161 spinlock_t list_lock ;
3162 unsigned long nr_partial ;
3163 struct list_head partial ;
3164 atomic_long_t nr_slabs ;
3165 atomic_long_t total_objects ;
3166 struct list_head full ;
3167};
3168#line 64 "include/linux/slub_def.h"
3169struct kmem_cache_order_objects {
3170 unsigned long x ;
3171};
3172#line 71 "include/linux/slub_def.h"
3173struct kmem_cache {
3174 struct kmem_cache_cpu *cpu_slab ;
3175 unsigned long flags ;
3176 unsigned long min_partial ;
3177 int size ;
3178 int objsize ;
3179 int offset ;
3180 struct kmem_cache_order_objects oo ;
3181 struct kmem_cache_order_objects max ;
3182 struct kmem_cache_order_objects min ;
3183 gfp_t allocflags ;
3184 int refcount ;
3185 void (*ctor)(void * ) ;
3186 int inuse ;
3187 int align ;
3188 int reserved ;
3189 char const *name ;
3190 struct list_head list ;
3191 struct kobject kobj ;
3192 int remote_node_defrag_ratio ;
3193 struct kmem_cache_node *node[1 << 10] ;
3194};
3195#line 22 "include/linux/c2port.h"
3196struct c2port_ops;
3197#line 22
3198struct c2port_ops;
3199#line 22
3200struct c2port_ops;
3201#line 22
3202struct c2port_ops;
3203#line 23 "include/linux/c2port.h"
3204struct c2port_device {
3205 unsigned int access : 1 ;
3206 unsigned int flash_access : 1 ;
3207 int id ;
3208 char name[32] ;
3209 struct c2port_ops *ops ;
3210 struct mutex mutex ;
3211 struct device *dev ;
3212 void *private_data ;
3213};
3214#line 40 "include/linux/c2port.h"
3215struct c2port_ops {
3216 unsigned short block_size ;
3217 unsigned short blocks_num ;
3218 void (*access)(struct c2port_device *dev , int status ) ;
3219 void (*c2d_dir)(struct c2port_device *dev , int dir ) ;
3220 int (*c2d_get)(struct c2port_device *dev ) ;
3221 void (*c2d_set)(struct c2port_device *dev , int status ) ;
3222 void (*c2ck_set)(struct c2port_device *dev , int status ) ;
3223};
3224#line 219 "include/linux/mod_devicetable.h"
3225struct of_device_id {
3226 char name[32] ;
3227 char type[32] ;
3228 char compatible[128] ;
3229 void *data ;
3230};
3231#line 244 "include/linux/usb/ch9.h"
3232struct usb_device_descriptor {
3233 __u8 bLength ;
3234 __u8 bDescriptorType ;
3235 __le16 bcdUSB ;
3236 __u8 bDeviceClass ;
3237 __u8 bDeviceSubClass ;
3238 __u8 bDeviceProtocol ;
3239 __u8 bMaxPacketSize0 ;
3240 __le16 idVendor ;
3241 __le16 idProduct ;
3242 __le16 bcdDevice ;
3243 __u8 iManufacturer ;
3244 __u8 iProduct ;
3245 __u8 iSerialNumber ;
3246 __u8 bNumConfigurations ;
3247} __attribute__((__packed__)) ;
3248#line 300 "include/linux/usb/ch9.h"
3249struct usb_config_descriptor {
3250 __u8 bLength ;
3251 __u8 bDescriptorType ;
3252 __le16 wTotalLength ;
3253 __u8 bNumInterfaces ;
3254 __u8 bConfigurationValue ;
3255 __u8 iConfiguration ;
3256 __u8 bmAttributes ;
3257 __u8 bMaxPower ;
3258} __attribute__((__packed__)) ;
3259#line 337 "include/linux/usb/ch9.h"
3260struct usb_interface_descriptor {
3261 __u8 bLength ;
3262 __u8 bDescriptorType ;
3263 __u8 bInterfaceNumber ;
3264 __u8 bAlternateSetting ;
3265 __u8 bNumEndpoints ;
3266 __u8 bInterfaceClass ;
3267 __u8 bInterfaceSubClass ;
3268 __u8 bInterfaceProtocol ;
3269 __u8 iInterface ;
3270} __attribute__((__packed__)) ;
3271#line 355 "include/linux/usb/ch9.h"
3272struct usb_endpoint_descriptor {
3273 __u8 bLength ;
3274 __u8 bDescriptorType ;
3275 __u8 bEndpointAddress ;
3276 __u8 bmAttributes ;
3277 __le16 wMaxPacketSize ;
3278 __u8 bInterval ;
3279 __u8 bRefresh ;
3280 __u8 bSynchAddress ;
3281} __attribute__((__packed__)) ;
3282#line 576 "include/linux/usb/ch9.h"
3283struct usb_ss_ep_comp_descriptor {
3284 __u8 bLength ;
3285 __u8 bDescriptorType ;
3286 __u8 bMaxBurst ;
3287 __u8 bmAttributes ;
3288 __le16 wBytesPerInterval ;
3289} __attribute__((__packed__)) ;
3290#line 637 "include/linux/usb/ch9.h"
3291struct usb_interface_assoc_descriptor {
3292 __u8 bLength ;
3293 __u8 bDescriptorType ;
3294 __u8 bFirstInterface ;
3295 __u8 bInterfaceCount ;
3296 __u8 bFunctionClass ;
3297 __u8 bFunctionSubClass ;
3298 __u8 bFunctionProtocol ;
3299 __u8 iFunction ;
3300} __attribute__((__packed__)) ;
3301#line 846
3302enum usb_device_speed {
3303 USB_SPEED_UNKNOWN = 0,
3304 USB_SPEED_LOW = 1,
3305 USB_SPEED_FULL = 2,
3306 USB_SPEED_HIGH = 3,
3307 USB_SPEED_WIRELESS = 4,
3308 USB_SPEED_SUPER = 5
3309} ;
3310#line 854
3311enum usb_device_state {
3312 USB_STATE_NOTATTACHED = 0,
3313 USB_STATE_ATTACHED = 1,
3314 USB_STATE_POWERED = 2,
3315 USB_STATE_RECONNECTING = 3,
3316 USB_STATE_UNAUTHENTICATED = 4,
3317 USB_STATE_DEFAULT = 5,
3318 USB_STATE_ADDRESS = 6,
3319 USB_STATE_CONFIGURED = 7,
3320 USB_STATE_SUSPENDED = 8
3321} ;
3322#line 10 "include/linux/irqreturn.h"
3323enum irqreturn {
3324 IRQ_NONE = 0,
3325 IRQ_HANDLED = 1,
3326 IRQ_WAKE_THREAD = 2
3327} ;
3328#line 16 "include/linux/irqreturn.h"
3329typedef enum irqreturn irqreturn_t;
3330#line 31 "include/linux/irq.h"
3331struct seq_file;
3332#line 12 "include/linux/irqdesc.h"
3333struct proc_dir_entry;
3334#line 12
3335struct proc_dir_entry;
3336#line 12
3337struct proc_dir_entry;
3338#line 12
3339struct proc_dir_entry;
3340#line 16 "include/linux/profile.h"
3341struct proc_dir_entry;
3342#line 17
3343struct pt_regs;
3344#line 65
3345struct task_struct;
3346#line 66
3347struct mm_struct;
3348#line 88
3349struct pt_regs;
3350#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
3351struct exception_table_entry {
3352 unsigned long insn ;
3353 unsigned long fixup ;
3354};
3355#line 363 "include/linux/irq.h"
3356struct irqaction;
3357#line 132 "include/linux/hardirq.h"
3358struct task_struct;
3359#line 9 "include/trace/events/irq.h"
3360struct irqaction;
3361#line 106 "include/linux/interrupt.h"
3362struct irqaction {
3363 irqreturn_t (*handler)(int , void * ) ;
3364 unsigned long flags ;
3365 void *dev_id ;
3366 struct irqaction *next ;
3367 int irq ;
3368 irqreturn_t (*thread_fn)(int , void * ) ;
3369 struct task_struct *thread ;
3370 unsigned long thread_flags ;
3371 unsigned long thread_mask ;
3372 char const *name ;
3373 struct proc_dir_entry *dir ;
3374} __attribute__((__aligned__((1) << (12) ))) ;
3375#line 172
3376struct device;
3377#line 682
3378struct seq_file;
3379#line 15 "include/linux/blk_types.h"
3380struct page;
3381#line 16
3382struct block_device;
3383#line 16
3384struct block_device;
3385#line 16
3386struct block_device;
3387#line 16
3388struct block_device;
3389#line 33 "include/linux/list_bl.h"
3390struct hlist_bl_node;
3391#line 33
3392struct hlist_bl_node;
3393#line 33
3394struct hlist_bl_node;
3395#line 33 "include/linux/list_bl.h"
3396struct hlist_bl_head {
3397 struct hlist_bl_node *first ;
3398};
3399#line 37 "include/linux/list_bl.h"
3400struct hlist_bl_node {
3401 struct hlist_bl_node *next ;
3402 struct hlist_bl_node **pprev ;
3403};
3404#line 13 "include/linux/dcache.h"
3405struct nameidata;
3406#line 13
3407struct nameidata;
3408#line 13
3409struct nameidata;
3410#line 13
3411struct nameidata;
3412#line 14
3413struct path;
3414#line 14
3415struct path;
3416#line 14
3417struct path;
3418#line 14
3419struct path;
3420#line 15
3421struct vfsmount;
3422#line 15
3423struct vfsmount;
3424#line 15
3425struct vfsmount;
3426#line 15
3427struct vfsmount;
3428#line 35 "include/linux/dcache.h"
3429struct qstr {
3430 unsigned int hash ;
3431 unsigned int len ;
3432 unsigned char const *name ;
3433};
3434#line 116
3435struct dentry_operations;
3436#line 116
3437struct dentry_operations;
3438#line 116
3439struct dentry_operations;
3440#line 116
3441struct super_block;
3442#line 116
3443struct super_block;
3444#line 116
3445struct super_block;
3446#line 116 "include/linux/dcache.h"
3447union __anonunion_d_u_232 {
3448 struct list_head d_child ;
3449 struct rcu_head d_rcu ;
3450};
3451#line 116 "include/linux/dcache.h"
3452struct dentry {
3453 unsigned int d_flags ;
3454 seqcount_t d_seq ;
3455 struct hlist_bl_node d_hash ;
3456 struct dentry *d_parent ;
3457 struct qstr d_name ;
3458 struct inode *d_inode ;
3459 unsigned char d_iname[32] ;
3460 unsigned int d_count ;
3461 spinlock_t d_lock ;
3462 struct dentry_operations const *d_op ;
3463 struct super_block *d_sb ;
3464 unsigned long d_time ;
3465 void *d_fsdata ;
3466 struct list_head d_lru ;
3467 union __anonunion_d_u_232 d_u ;
3468 struct list_head d_subdirs ;
3469 struct list_head d_alias ;
3470};
3471#line 159 "include/linux/dcache.h"
3472struct dentry_operations {
3473 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
3474 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
3475 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
3476 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
3477 int (*d_delete)(struct dentry const * ) ;
3478 void (*d_release)(struct dentry * ) ;
3479 void (*d_iput)(struct dentry * , struct inode * ) ;
3480 char *(*d_dname)(struct dentry * , char * , int ) ;
3481 struct vfsmount *(*d_automount)(struct path * ) ;
3482 int (*d_manage)(struct dentry * , bool ) ;
3483} __attribute__((__aligned__((1) << (6) ))) ;
3484#line 4 "include/linux/path.h"
3485struct dentry;
3486#line 5
3487struct vfsmount;
3488#line 7 "include/linux/path.h"
3489struct path {
3490 struct vfsmount *mnt ;
3491 struct dentry *dentry ;
3492};
3493#line 57 "include/linux/radix-tree.h"
3494struct radix_tree_node;
3495#line 57
3496struct radix_tree_node;
3497#line 57
3498struct radix_tree_node;
3499#line 57 "include/linux/radix-tree.h"
3500struct radix_tree_root {
3501 unsigned int height ;
3502 gfp_t gfp_mask ;
3503 struct radix_tree_node *rnode ;
3504};
3505#line 16 "include/linux/fiemap.h"
3506struct fiemap_extent {
3507 __u64 fe_logical ;
3508 __u64 fe_physical ;
3509 __u64 fe_length ;
3510 __u64 fe_reserved64[2] ;
3511 __u32 fe_flags ;
3512 __u32 fe_reserved[3] ;
3513};
3514#line 399 "include/linux/fs.h"
3515struct export_operations;
3516#line 399
3517struct export_operations;
3518#line 399
3519struct export_operations;
3520#line 399
3521struct export_operations;
3522#line 401
3523struct iovec;
3524#line 402
3525struct nameidata;
3526#line 403
3527struct kiocb;
3528#line 404
3529struct kobject;
3530#line 405
3531struct pipe_inode_info;
3532#line 406
3533struct poll_table_struct;
3534#line 406
3535struct poll_table_struct;
3536#line 406
3537struct poll_table_struct;
3538#line 406
3539struct poll_table_struct;
3540#line 407
3541struct kstatfs;
3542#line 407
3543struct kstatfs;
3544#line 407
3545struct kstatfs;
3546#line 407
3547struct kstatfs;
3548#line 408
3549struct vm_area_struct;
3550#line 409
3551struct vfsmount;
3552#line 410
3553struct cred;
3554#line 460 "include/linux/fs.h"
3555struct iattr {
3556 unsigned int ia_valid ;
3557 umode_t ia_mode ;
3558 uid_t ia_uid ;
3559 gid_t ia_gid ;
3560 loff_t ia_size ;
3561 struct timespec ia_atime ;
3562 struct timespec ia_mtime ;
3563 struct timespec ia_ctime ;
3564 struct file *ia_file ;
3565};
3566#line 129 "include/linux/quota.h"
3567struct if_dqinfo {
3568 __u64 dqi_bgrace ;
3569 __u64 dqi_igrace ;
3570 __u32 dqi_flags ;
3571 __u32 dqi_valid ;
3572};
3573#line 50 "include/linux/dqblk_xfs.h"
3574struct fs_disk_quota {
3575 __s8 d_version ;
3576 __s8 d_flags ;
3577 __u16 d_fieldmask ;
3578 __u32 d_id ;
3579 __u64 d_blk_hardlimit ;
3580 __u64 d_blk_softlimit ;
3581 __u64 d_ino_hardlimit ;
3582 __u64 d_ino_softlimit ;
3583 __u64 d_bcount ;
3584 __u64 d_icount ;
3585 __s32 d_itimer ;
3586 __s32 d_btimer ;
3587 __u16 d_iwarns ;
3588 __u16 d_bwarns ;
3589 __s32 d_padding2 ;
3590 __u64 d_rtb_hardlimit ;
3591 __u64 d_rtb_softlimit ;
3592 __u64 d_rtbcount ;
3593 __s32 d_rtbtimer ;
3594 __u16 d_rtbwarns ;
3595 __s16 d_padding3 ;
3596 char d_padding4[8] ;
3597};
3598#line 146 "include/linux/dqblk_xfs.h"
3599struct fs_qfilestat {
3600 __u64 qfs_ino ;
3601 __u64 qfs_nblks ;
3602 __u32 qfs_nextents ;
3603};
3604#line 146 "include/linux/dqblk_xfs.h"
3605typedef struct fs_qfilestat fs_qfilestat_t;
3606#line 152 "include/linux/dqblk_xfs.h"
3607struct fs_quota_stat {
3608 __s8 qs_version ;
3609 __u16 qs_flags ;
3610 __s8 qs_pad ;
3611 fs_qfilestat_t qs_uquota ;
3612 fs_qfilestat_t qs_gquota ;
3613 __u32 qs_incoredqs ;
3614 __s32 qs_btimelimit ;
3615 __s32 qs_itimelimit ;
3616 __s32 qs_rtbtimelimit ;
3617 __u16 qs_bwarnlimit ;
3618 __u16 qs_iwarnlimit ;
3619};
3620#line 17 "include/linux/dqblk_qtree.h"
3621struct dquot;
3622#line 17
3623struct dquot;
3624#line 17
3625struct dquot;
3626#line 17
3627struct dquot;
3628#line 185 "include/linux/quota.h"
3629typedef __kernel_uid32_t qid_t;
3630#line 186 "include/linux/quota.h"
3631typedef long long qsize_t;
3632#line 200 "include/linux/quota.h"
3633struct mem_dqblk {
3634 qsize_t dqb_bhardlimit ;
3635 qsize_t dqb_bsoftlimit ;
3636 qsize_t dqb_curspace ;
3637 qsize_t dqb_rsvspace ;
3638 qsize_t dqb_ihardlimit ;
3639 qsize_t dqb_isoftlimit ;
3640 qsize_t dqb_curinodes ;
3641 time_t dqb_btime ;
3642 time_t dqb_itime ;
3643};
3644#line 215
3645struct quota_format_type;
3646#line 215
3647struct quota_format_type;
3648#line 215
3649struct quota_format_type;
3650#line 215
3651struct quota_format_type;
3652#line 217 "include/linux/quota.h"
3653struct mem_dqinfo {
3654 struct quota_format_type *dqi_format ;
3655 int dqi_fmt_id ;
3656 struct list_head dqi_dirty_list ;
3657 unsigned long dqi_flags ;
3658 unsigned int dqi_bgrace ;
3659 unsigned int dqi_igrace ;
3660 qsize_t dqi_maxblimit ;
3661 qsize_t dqi_maxilimit ;
3662 void *dqi_priv ;
3663};
3664#line 230
3665struct super_block;
3666#line 284 "include/linux/quota.h"
3667struct dquot {
3668 struct hlist_node dq_hash ;
3669 struct list_head dq_inuse ;
3670 struct list_head dq_free ;
3671 struct list_head dq_dirty ;
3672 struct mutex dq_lock ;
3673 atomic_t dq_count ;
3674 wait_queue_head_t dq_wait_unused ;
3675 struct super_block *dq_sb ;
3676 unsigned int dq_id ;
3677 loff_t dq_off ;
3678 unsigned long dq_flags ;
3679 short dq_type ;
3680 struct mem_dqblk dq_dqb ;
3681};
3682#line 301 "include/linux/quota.h"
3683struct quota_format_ops {
3684 int (*check_quota_file)(struct super_block *sb , int type ) ;
3685 int (*read_file_info)(struct super_block *sb , int type ) ;
3686 int (*write_file_info)(struct super_block *sb , int type ) ;
3687 int (*free_file_info)(struct super_block *sb , int type ) ;
3688 int (*read_dqblk)(struct dquot *dquot ) ;
3689 int (*commit_dqblk)(struct dquot *dquot ) ;
3690 int (*release_dqblk)(struct dquot *dquot ) ;
3691};
3692#line 312 "include/linux/quota.h"
3693struct dquot_operations {
3694 int (*write_dquot)(struct dquot * ) ;
3695 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3696 void (*destroy_dquot)(struct dquot * ) ;
3697 int (*acquire_dquot)(struct dquot * ) ;
3698 int (*release_dquot)(struct dquot * ) ;
3699 int (*mark_dirty)(struct dquot * ) ;
3700 int (*write_info)(struct super_block * , int ) ;
3701 qsize_t *(*get_reserved_space)(struct inode * ) ;
3702};
3703#line 325
3704struct path;
3705#line 328 "include/linux/quota.h"
3706struct quotactl_ops {
3707 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3708 int (*quota_on_meta)(struct super_block * , int , int ) ;
3709 int (*quota_off)(struct super_block * , int ) ;
3710 int (*quota_sync)(struct super_block * , int , int ) ;
3711 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3712 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3713 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3714 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3715 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3716 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3717};
3718#line 341 "include/linux/quota.h"
3719struct quota_format_type {
3720 int qf_fmt_id ;
3721 struct quota_format_ops const *qf_ops ;
3722 struct module *qf_owner ;
3723 struct quota_format_type *qf_next ;
3724};
3725#line 395 "include/linux/quota.h"
3726struct quota_info {
3727 unsigned int flags ;
3728 struct mutex dqio_mutex ;
3729 struct mutex dqonoff_mutex ;
3730 struct rw_semaphore dqptr_sem ;
3731 struct inode *files[2] ;
3732 struct mem_dqinfo info[2] ;
3733 struct quota_format_ops const *ops[2] ;
3734};
3735#line 523 "include/linux/fs.h"
3736struct page;
3737#line 524
3738struct address_space;
3739#line 525
3740struct writeback_control;
3741#line 525
3742struct writeback_control;
3743#line 525
3744struct writeback_control;
3745#line 525
3746struct writeback_control;
3747#line 568 "include/linux/fs.h"
3748union __anonunion_arg_239 {
3749 char *buf ;
3750 void *data ;
3751};
3752#line 568 "include/linux/fs.h"
3753struct __anonstruct_read_descriptor_t_238 {
3754 size_t written ;
3755 size_t count ;
3756 union __anonunion_arg_239 arg ;
3757 int error ;
3758};
3759#line 568 "include/linux/fs.h"
3760typedef struct __anonstruct_read_descriptor_t_238 read_descriptor_t;
3761#line 581 "include/linux/fs.h"
3762struct address_space_operations {
3763 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3764 int (*readpage)(struct file * , struct page * ) ;
3765 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3766 int (*set_page_dirty)(struct page *page ) ;
3767 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3768 unsigned int nr_pages ) ;
3769 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3770 unsigned int len , unsigned int flags , struct page **pagep ,
3771 void **fsdata ) ;
3772 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3773 unsigned int copied , struct page *page , void *fsdata ) ;
3774 sector_t (*bmap)(struct address_space * , sector_t ) ;
3775 void (*invalidatepage)(struct page * , unsigned long ) ;
3776 int (*releasepage)(struct page * , gfp_t ) ;
3777 void (*freepage)(struct page * ) ;
3778 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3779 unsigned long nr_segs ) ;
3780 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3781 int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
3782 int (*launder_page)(struct page * ) ;
3783 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3784 int (*error_remove_page)(struct address_space * , struct page * ) ;
3785};
3786#line 633
3787struct backing_dev_info;
3788#line 634 "include/linux/fs.h"
3789struct address_space {
3790 struct inode *host ;
3791 struct radix_tree_root page_tree ;
3792 spinlock_t tree_lock ;
3793 unsigned int i_mmap_writable ;
3794 struct prio_tree_root i_mmap ;
3795 struct list_head i_mmap_nonlinear ;
3796 struct mutex i_mmap_mutex ;
3797 unsigned long nrpages ;
3798 unsigned long writeback_index ;
3799 struct address_space_operations const *a_ops ;
3800 unsigned long flags ;
3801 struct backing_dev_info *backing_dev_info ;
3802 spinlock_t private_lock ;
3803 struct list_head private_list ;
3804 struct address_space *assoc_mapping ;
3805} __attribute__((__aligned__(sizeof(long )))) ;
3806#line 658
3807struct hd_struct;
3808#line 658
3809struct hd_struct;
3810#line 658
3811struct hd_struct;
3812#line 658
3813struct gendisk;
3814#line 658
3815struct gendisk;
3816#line 658
3817struct gendisk;
3818#line 658 "include/linux/fs.h"
3819struct block_device {
3820 dev_t bd_dev ;
3821 int bd_openers ;
3822 struct inode *bd_inode ;
3823 struct super_block *bd_super ;
3824 struct mutex bd_mutex ;
3825 struct list_head bd_inodes ;
3826 void *bd_claiming ;
3827 void *bd_holder ;
3828 int bd_holders ;
3829 bool bd_write_holder ;
3830 struct list_head bd_holder_disks ;
3831 struct block_device *bd_contains ;
3832 unsigned int bd_block_size ;
3833 struct hd_struct *bd_part ;
3834 unsigned int bd_part_count ;
3835 int bd_invalidated ;
3836 struct gendisk *bd_disk ;
3837 struct list_head bd_list ;
3838 unsigned long bd_private ;
3839 int bd_fsfreeze_count ;
3840 struct mutex bd_fsfreeze_mutex ;
3841};
3842#line 735
3843struct posix_acl;
3844#line 735
3845struct posix_acl;
3846#line 735
3847struct posix_acl;
3848#line 735
3849struct posix_acl;
3850#line 738
3851struct inode_operations;
3852#line 738
3853struct inode_operations;
3854#line 738
3855struct inode_operations;
3856#line 738 "include/linux/fs.h"
3857union __anonunion____missing_field_name_240 {
3858 struct list_head i_dentry ;
3859 struct rcu_head i_rcu ;
3860};
3861#line 738
3862struct file_operations;
3863#line 738
3864struct file_operations;
3865#line 738
3866struct file_operations;
3867#line 738
3868struct file_lock;
3869#line 738
3870struct file_lock;
3871#line 738
3872struct file_lock;
3873#line 738
3874struct cdev;
3875#line 738
3876struct cdev;
3877#line 738
3878struct cdev;
3879#line 738 "include/linux/fs.h"
3880union __anonunion____missing_field_name_241 {
3881 struct pipe_inode_info *i_pipe ;
3882 struct block_device *i_bdev ;
3883 struct cdev *i_cdev ;
3884};
3885#line 738 "include/linux/fs.h"
3886struct inode {
3887 umode_t i_mode ;
3888 uid_t i_uid ;
3889 gid_t i_gid ;
3890 struct inode_operations const *i_op ;
3891 struct super_block *i_sb ;
3892 spinlock_t i_lock ;
3893 unsigned int i_flags ;
3894 unsigned long i_state ;
3895 void *i_security ;
3896 struct mutex i_mutex ;
3897 unsigned long dirtied_when ;
3898 struct hlist_node i_hash ;
3899 struct list_head i_wb_list ;
3900 struct list_head i_lru ;
3901 struct list_head i_sb_list ;
3902 union __anonunion____missing_field_name_240 __annonCompField39 ;
3903 unsigned long i_ino ;
3904 atomic_t i_count ;
3905 unsigned int i_nlink ;
3906 dev_t i_rdev ;
3907 unsigned int i_blkbits ;
3908 u64 i_version ;
3909 loff_t i_size ;
3910 struct timespec i_atime ;
3911 struct timespec i_mtime ;
3912 struct timespec i_ctime ;
3913 blkcnt_t i_blocks ;
3914 unsigned short i_bytes ;
3915 struct rw_semaphore i_alloc_sem ;
3916 struct file_operations const *i_fop ;
3917 struct file_lock *i_flock ;
3918 struct address_space *i_mapping ;
3919 struct address_space i_data ;
3920 struct dquot *i_dquot[2] ;
3921 struct list_head i_devices ;
3922 union __anonunion____missing_field_name_241 __annonCompField40 ;
3923 __u32 i_generation ;
3924 __u32 i_fsnotify_mask ;
3925 struct hlist_head i_fsnotify_marks ;
3926 atomic_t i_readcount ;
3927 atomic_t i_writecount ;
3928 struct posix_acl *i_acl ;
3929 struct posix_acl *i_default_acl ;
3930 void *i_private ;
3931};
3932#line 903 "include/linux/fs.h"
3933struct fown_struct {
3934 rwlock_t lock ;
3935 struct pid *pid ;
3936 enum pid_type pid_type ;
3937 uid_t uid ;
3938 uid_t euid ;
3939 int signum ;
3940};
3941#line 914 "include/linux/fs.h"
3942struct file_ra_state {
3943 unsigned long start ;
3944 unsigned int size ;
3945 unsigned int async_size ;
3946 unsigned int ra_pages ;
3947 unsigned int mmap_miss ;
3948 loff_t prev_pos ;
3949};
3950#line 937 "include/linux/fs.h"
3951union __anonunion_f_u_242 {
3952 struct list_head fu_list ;
3953 struct rcu_head fu_rcuhead ;
3954};
3955#line 937 "include/linux/fs.h"
3956struct file {
3957 union __anonunion_f_u_242 f_u ;
3958 struct path f_path ;
3959 struct file_operations const *f_op ;
3960 spinlock_t f_lock ;
3961 int f_sb_list_cpu ;
3962 atomic_long_t f_count ;
3963 unsigned int f_flags ;
3964 fmode_t f_mode ;
3965 loff_t f_pos ;
3966 struct fown_struct f_owner ;
3967 struct cred const *f_cred ;
3968 struct file_ra_state f_ra ;
3969 u64 f_version ;
3970 void *f_security ;
3971 void *private_data ;
3972 struct list_head f_ep_links ;
3973 struct address_space *f_mapping ;
3974 unsigned long f_mnt_write_state ;
3975};
3976#line 1064 "include/linux/fs.h"
3977typedef struct files_struct *fl_owner_t;
3978#line 1066 "include/linux/fs.h"
3979struct file_lock_operations {
3980 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3981 void (*fl_release_private)(struct file_lock * ) ;
3982};
3983#line 1071 "include/linux/fs.h"
3984struct lock_manager_operations {
3985 int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
3986 void (*fl_notify)(struct file_lock * ) ;
3987 int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
3988 void (*fl_release_private)(struct file_lock * ) ;
3989 void (*fl_break)(struct file_lock * ) ;
3990 int (*fl_change)(struct file_lock ** , int ) ;
3991};
3992#line 8 "include/linux/nfs_fs_i.h"
3993struct nlm_lockowner;
3994#line 8
3995struct nlm_lockowner;
3996#line 8
3997struct nlm_lockowner;
3998#line 8
3999struct nlm_lockowner;
4000#line 13 "include/linux/nfs_fs_i.h"
4001struct nfs_lock_info {
4002 u32 state ;
4003 struct nlm_lockowner *owner ;
4004 struct list_head list ;
4005};
4006#line 19
4007struct nfs4_lock_state;
4008#line 19
4009struct nfs4_lock_state;
4010#line 19
4011struct nfs4_lock_state;
4012#line 19
4013struct nfs4_lock_state;
4014#line 20 "include/linux/nfs_fs_i.h"
4015struct nfs4_lock_info {
4016 struct nfs4_lock_state *owner ;
4017};
4018#line 1091 "include/linux/fs.h"
4019struct fasync_struct;
4020#line 1091
4021struct fasync_struct;
4022#line 1091
4023struct fasync_struct;
4024#line 1091 "include/linux/fs.h"
4025struct __anonstruct_afs_244 {
4026 struct list_head link ;
4027 int state ;
4028};
4029#line 1091 "include/linux/fs.h"
4030union __anonunion_fl_u_243 {
4031 struct nfs_lock_info nfs_fl ;
4032 struct nfs4_lock_info nfs4_fl ;
4033 struct __anonstruct_afs_244 afs ;
4034};
4035#line 1091 "include/linux/fs.h"
4036struct file_lock {
4037 struct file_lock *fl_next ;
4038 struct list_head fl_link ;
4039 struct list_head fl_block ;
4040 fl_owner_t fl_owner ;
4041 unsigned char fl_flags ;
4042 unsigned char fl_type ;
4043 unsigned int fl_pid ;
4044 struct pid *fl_nspid ;
4045 wait_queue_head_t fl_wait ;
4046 struct file *fl_file ;
4047 loff_t fl_start ;
4048 loff_t fl_end ;
4049 struct fasync_struct *fl_fasync ;
4050 unsigned long fl_break_time ;
4051 struct file_lock_operations const *fl_ops ;
4052 struct lock_manager_operations const *fl_lmops ;
4053 union __anonunion_fl_u_243 fl_u ;
4054};
4055#line 1324 "include/linux/fs.h"
4056struct fasync_struct {
4057 spinlock_t fa_lock ;
4058 int magic ;
4059 int fa_fd ;
4060 struct fasync_struct *fa_next ;
4061 struct file *fa_file ;
4062 struct rcu_head fa_rcu ;
4063};
4064#line 1364
4065struct file_system_type;
4066#line 1364
4067struct file_system_type;
4068#line 1364
4069struct file_system_type;
4070#line 1364
4071struct super_operations;
4072#line 1364
4073struct super_operations;
4074#line 1364
4075struct super_operations;
4076#line 1364
4077struct xattr_handler;
4078#line 1364
4079struct xattr_handler;
4080#line 1364
4081struct xattr_handler;
4082#line 1364
4083struct mtd_info;
4084#line 1364
4085struct mtd_info;
4086#line 1364
4087struct mtd_info;
4088#line 1364 "include/linux/fs.h"
4089struct super_block {
4090 struct list_head s_list ;
4091 dev_t s_dev ;
4092 unsigned char s_dirt ;
4093 unsigned char s_blocksize_bits ;
4094 unsigned long s_blocksize ;
4095 loff_t s_maxbytes ;
4096 struct file_system_type *s_type ;
4097 struct super_operations const *s_op ;
4098 struct dquot_operations const *dq_op ;
4099 struct quotactl_ops const *s_qcop ;
4100 struct export_operations const *s_export_op ;
4101 unsigned long s_flags ;
4102 unsigned long s_magic ;
4103 struct dentry *s_root ;
4104 struct rw_semaphore s_umount ;
4105 struct mutex s_lock ;
4106 int s_count ;
4107 atomic_t s_active ;
4108 void *s_security ;
4109 struct xattr_handler const **s_xattr ;
4110 struct list_head s_inodes ;
4111 struct hlist_bl_head s_anon ;
4112 struct list_head *s_files ;
4113 struct list_head s_dentry_lru ;
4114 int s_nr_dentry_unused ;
4115 struct block_device *s_bdev ;
4116 struct backing_dev_info *s_bdi ;
4117 struct mtd_info *s_mtd ;
4118 struct list_head s_instances ;
4119 struct quota_info s_dquot ;
4120 int s_frozen ;
4121 wait_queue_head_t s_wait_unfrozen ;
4122 char s_id[32] ;
4123 u8 s_uuid[16] ;
4124 void *s_fs_info ;
4125 fmode_t s_mode ;
4126 u32 s_time_gran ;
4127 struct mutex s_vfs_rename_mutex ;
4128 char *s_subtype ;
4129 char *s_options ;
4130 struct dentry_operations const *s_d_op ;
4131 int cleancache_poolid ;
4132};
4133#line 1499 "include/linux/fs.h"
4134struct fiemap_extent_info {
4135 unsigned int fi_flags ;
4136 unsigned int fi_extents_mapped ;
4137 unsigned int fi_extents_max ;
4138 struct fiemap_extent *fi_extents_start ;
4139};
4140#line 1546 "include/linux/fs.h"
4141struct file_operations {
4142 struct module *owner ;
4143 loff_t (*llseek)(struct file * , loff_t , int ) ;
4144 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
4145 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
4146 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
4147 loff_t ) ;
4148 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
4149 loff_t ) ;
4150 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
4151 loff_t , u64 , unsigned int ) ) ;
4152 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
4153 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
4154 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
4155 int (*mmap)(struct file * , struct vm_area_struct * ) ;
4156 int (*open)(struct inode * , struct file * ) ;
4157 int (*flush)(struct file * , fl_owner_t id ) ;
4158 int (*release)(struct inode * , struct file * ) ;
4159 int (*fsync)(struct file * , int datasync ) ;
4160 int (*aio_fsync)(struct kiocb * , int datasync ) ;
4161 int (*fasync)(int , struct file * , int ) ;
4162 int (*lock)(struct file * , int , struct file_lock * ) ;
4163 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
4164 int ) ;
4165 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
4166 unsigned long , unsigned long ) ;
4167 int (*check_flags)(int ) ;
4168 int (*flock)(struct file * , int , struct file_lock * ) ;
4169 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
4170 unsigned int ) ;
4171 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
4172 unsigned int ) ;
4173 int (*setlease)(struct file * , long , struct file_lock ** ) ;
4174 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
4175};
4176#line 1578 "include/linux/fs.h"
4177struct inode_operations {
4178 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
4179 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
4180 int (*permission)(struct inode * , int , unsigned int ) ;
4181 int (*check_acl)(struct inode * , int , unsigned int ) ;
4182 int (*readlink)(struct dentry * , char * , int ) ;
4183 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
4184 int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
4185 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
4186 int (*unlink)(struct inode * , struct dentry * ) ;
4187 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
4188 int (*mkdir)(struct inode * , struct dentry * , int ) ;
4189 int (*rmdir)(struct inode * , struct dentry * ) ;
4190 int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
4191 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
4192 void (*truncate)(struct inode * ) ;
4193 int (*setattr)(struct dentry * , struct iattr * ) ;
4194 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
4195 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
4196 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
4197 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
4198 int (*removexattr)(struct dentry * , char const * ) ;
4199 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
4200 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
4201} __attribute__((__aligned__((1) << (6) ))) ;
4202#line 1608
4203struct seq_file;
4204#line 1622 "include/linux/fs.h"
4205struct super_operations {
4206 struct inode *(*alloc_inode)(struct super_block *sb ) ;
4207 void (*destroy_inode)(struct inode * ) ;
4208 void (*dirty_inode)(struct inode * , int flags ) ;
4209 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
4210 int (*drop_inode)(struct inode * ) ;
4211 void (*evict_inode)(struct inode * ) ;
4212 void (*put_super)(struct super_block * ) ;
4213 void (*write_super)(struct super_block * ) ;
4214 int (*sync_fs)(struct super_block *sb , int wait ) ;
4215 int (*freeze_fs)(struct super_block * ) ;
4216 int (*unfreeze_fs)(struct super_block * ) ;
4217 int (*statfs)(struct dentry * , struct kstatfs * ) ;
4218 int (*remount_fs)(struct super_block * , int * , char * ) ;
4219 void (*umount_begin)(struct super_block * ) ;
4220 int (*show_options)(struct seq_file * , struct vfsmount * ) ;
4221 int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
4222 int (*show_path)(struct seq_file * , struct vfsmount * ) ;
4223 int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
4224 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
4225 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
4226 loff_t ) ;
4227 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
4228};
4229#line 1802 "include/linux/fs.h"
4230struct file_system_type {
4231 char const *name ;
4232 int fs_flags ;
4233 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
4234 void (*kill_sb)(struct super_block * ) ;
4235 struct module *owner ;
4236 struct file_system_type *next ;
4237 struct list_head fs_supers ;
4238 struct lock_class_key s_lock_key ;
4239 struct lock_class_key s_umount_key ;
4240 struct lock_class_key s_vfs_rename_key ;
4241 struct lock_class_key i_lock_key ;
4242 struct lock_class_key i_mutex_key ;
4243 struct lock_class_key i_mutex_dir_key ;
4244 struct lock_class_key i_alloc_sem_key ;
4245};
4246#line 25 "include/linux/usb.h"
4247struct usb_device;
4248#line 25
4249struct usb_device;
4250#line 25
4251struct usb_device;
4252#line 25
4253struct usb_device;
4254#line 27
4255struct wusb_dev;
4256#line 27
4257struct wusb_dev;
4258#line 27
4259struct wusb_dev;
4260#line 27
4261struct wusb_dev;
4262#line 47
4263struct ep_device;
4264#line 47
4265struct ep_device;
4266#line 47
4267struct ep_device;
4268#line 47
4269struct ep_device;
4270#line 64 "include/linux/usb.h"
4271struct usb_host_endpoint {
4272 struct usb_endpoint_descriptor desc ;
4273 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4274 struct list_head urb_list ;
4275 void *hcpriv ;
4276 struct ep_device *ep_dev ;
4277 unsigned char *extra ;
4278 int extralen ;
4279 int enabled ;
4280};
4281#line 77 "include/linux/usb.h"
4282struct usb_host_interface {
4283 struct usb_interface_descriptor desc ;
4284 struct usb_host_endpoint *endpoint ;
4285 char *string ;
4286 unsigned char *extra ;
4287 int extralen ;
4288};
4289#line 90
4290enum usb_interface_condition {
4291 USB_INTERFACE_UNBOUND = 0,
4292 USB_INTERFACE_BINDING = 1,
4293 USB_INTERFACE_BOUND = 2,
4294 USB_INTERFACE_UNBINDING = 3
4295} ;
4296#line 159 "include/linux/usb.h"
4297struct usb_interface {
4298 struct usb_host_interface *altsetting ;
4299 struct usb_host_interface *cur_altsetting ;
4300 unsigned int num_altsetting ;
4301 struct usb_interface_assoc_descriptor *intf_assoc ;
4302 int minor ;
4303 enum usb_interface_condition condition ;
4304 unsigned int sysfs_files_created : 1 ;
4305 unsigned int ep_devs_created : 1 ;
4306 unsigned int unregistering : 1 ;
4307 unsigned int needs_remote_wakeup : 1 ;
4308 unsigned int needs_altsetting0 : 1 ;
4309 unsigned int needs_binding : 1 ;
4310 unsigned int reset_running : 1 ;
4311 unsigned int resetting_device : 1 ;
4312 struct device dev ;
4313 struct device *usb_dev ;
4314 atomic_t pm_usage_cnt ;
4315 struct work_struct reset_ws ;
4316};
4317#line 222 "include/linux/usb.h"
4318struct usb_interface_cache {
4319 unsigned int num_altsetting ;
4320 struct kref ref ;
4321 struct usb_host_interface altsetting[0] ;
4322};
4323#line 274 "include/linux/usb.h"
4324struct usb_host_config {
4325 struct usb_config_descriptor desc ;
4326 char *string ;
4327 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4328 struct usb_interface *interface[32] ;
4329 struct usb_interface_cache *intf_cache[32] ;
4330 unsigned char *extra ;
4331 int extralen ;
4332};
4333#line 305 "include/linux/usb.h"
4334struct usb_devmap {
4335 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4336};
4337#line 312
4338struct mon_bus;
4339#line 312
4340struct mon_bus;
4341#line 312
4342struct mon_bus;
4343#line 312 "include/linux/usb.h"
4344struct usb_bus {
4345 struct device *controller ;
4346 int busnum ;
4347 char const *bus_name ;
4348 u8 uses_dma ;
4349 u8 uses_pio_for_control ;
4350 u8 otg_port ;
4351 unsigned int is_b_host : 1 ;
4352 unsigned int b_hnp_enable : 1 ;
4353 unsigned int sg_tablesize ;
4354 int devnum_next ;
4355 struct usb_devmap devmap ;
4356 struct usb_device *root_hub ;
4357 struct usb_bus *hs_companion ;
4358 struct list_head bus_list ;
4359 int bandwidth_allocated ;
4360 int bandwidth_int_reqs ;
4361 int bandwidth_isoc_reqs ;
4362 struct dentry *usbfs_dentry ;
4363 struct mon_bus *mon_bus ;
4364 int monitored ;
4365};
4366#line 367
4367struct usb_tt;
4368#line 367
4369struct usb_tt;
4370#line 367
4371struct usb_tt;
4372#line 367
4373struct usb_tt;
4374#line 426 "include/linux/usb.h"
4375struct usb_device {
4376 int devnum ;
4377 char devpath[16] ;
4378 u32 route ;
4379 enum usb_device_state state ;
4380 enum usb_device_speed speed ;
4381 struct usb_tt *tt ;
4382 int ttport ;
4383 unsigned int toggle[2] ;
4384 struct usb_device *parent ;
4385 struct usb_bus *bus ;
4386 struct usb_host_endpoint ep0 ;
4387 struct device dev ;
4388 struct usb_device_descriptor descriptor ;
4389 struct usb_host_config *config ;
4390 struct usb_host_config *actconfig ;
4391 struct usb_host_endpoint *ep_in[16] ;
4392 struct usb_host_endpoint *ep_out[16] ;
4393 char **rawdescriptors ;
4394 unsigned short bus_mA ;
4395 u8 portnum ;
4396 u8 level ;
4397 unsigned int can_submit : 1 ;
4398 unsigned int persist_enabled : 1 ;
4399 unsigned int have_langid : 1 ;
4400 unsigned int authorized : 1 ;
4401 unsigned int authenticated : 1 ;
4402 unsigned int wusb : 1 ;
4403 int string_langid ;
4404 char *product ;
4405 char *manufacturer ;
4406 char *serial ;
4407 struct list_head filelist ;
4408 struct device *usb_classdev ;
4409 struct dentry *usbfs_dentry ;
4410 int maxchild ;
4411 struct usb_device *children[31] ;
4412 u32 quirks ;
4413 atomic_t urbnum ;
4414 unsigned long active_duration ;
4415 unsigned long connect_time ;
4416 unsigned int do_remote_wakeup : 1 ;
4417 unsigned int reset_resume : 1 ;
4418 struct wusb_dev *wusb_dev ;
4419 int slot_id ;
4420};
4421#line 983 "include/linux/usb.h"
4422struct usb_iso_packet_descriptor {
4423 unsigned int offset ;
4424 unsigned int length ;
4425 unsigned int actual_length ;
4426 int status ;
4427};
4428#line 990
4429struct urb;
4430#line 990
4431struct urb;
4432#line 990
4433struct urb;
4434#line 990
4435struct urb;
4436#line 992 "include/linux/usb.h"
4437struct usb_anchor {
4438 struct list_head urb_list ;
4439 wait_queue_head_t wait ;
4440 spinlock_t lock ;
4441 unsigned int poisoned : 1 ;
4442};
4443#line 1183
4444struct scatterlist;
4445#line 1183
4446struct scatterlist;
4447#line 1183
4448struct scatterlist;
4449#line 1183 "include/linux/usb.h"
4450struct urb {
4451 struct kref kref ;
4452 void *hcpriv ;
4453 atomic_t use_count ;
4454 atomic_t reject ;
4455 int unlinked ;
4456 struct list_head urb_list ;
4457 struct list_head anchor_list ;
4458 struct usb_anchor *anchor ;
4459 struct usb_device *dev ;
4460 struct usb_host_endpoint *ep ;
4461 unsigned int pipe ;
4462 unsigned int stream_id ;
4463 int status ;
4464 unsigned int transfer_flags ;
4465 void *transfer_buffer ;
4466 dma_addr_t transfer_dma ;
4467 struct scatterlist *sg ;
4468 int num_sgs ;
4469 u32 transfer_buffer_length ;
4470 u32 actual_length ;
4471 unsigned char *setup_packet ;
4472 dma_addr_t setup_dma ;
4473 int start_frame ;
4474 int number_of_packets ;
4475 int interval ;
4476 int error_count ;
4477 void *context ;
4478 void (*complete)(struct urb * ) ;
4479 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4480};
4481#line 1388
4482struct scatterlist;
4483#line 1 "<compiler builtins>"
4484long __builtin_expect(long , long ) ;
4485#line 100 "include/linux/printk.h"
4486extern int printk(char const *fmt , ...) ;
4487#line 291 "include/linux/kernel.h"
4488extern int sprintf(char *buf , char const *fmt , ...) ;
4489#line 307
4490extern int sscanf(char const * , char const * , ...) ;
4491#line 349 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
4492extern struct pv_irq_ops pv_irq_ops ;
4493#line 27 "include/linux/string.h"
4494extern char *strncpy(char * , char const * , __kernel_size_t ) ;
4495#line 861 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
4496__inline static void arch_local_irq_disable(void) __attribute__((__no_instrument_function__)) ;
4497#line 861
4498__inline static void arch_local_irq_disable(void) __attribute__((__no_instrument_function__)) ;
4499#line 861 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
4500__inline static void arch_local_irq_disable(void)
4501{ unsigned long __edi ;
4502 unsigned long __esi ;
4503 unsigned long __edx ;
4504 unsigned long __ecx ;
4505 unsigned long __eax ;
4506 long tmp ;
4507 void *__cil_tmp7 ;
4508 unsigned long __cil_tmp8 ;
4509 unsigned long __cil_tmp9 ;
4510 int __cil_tmp10 ;
4511 int __cil_tmp11 ;
4512 int __cil_tmp12 ;
4513 long __cil_tmp13 ;
4514 struct paravirt_patch_template *__cil_tmp14 ;
4515 void **__cil_tmp15 ;
4516 unsigned int __cil_tmp16 ;
4517 unsigned long __cil_tmp17 ;
4518
4519 {
4520#line 863
4521 __edi = __edi;
4522#line 863
4523 __esi = __esi;
4524#line 863
4525 __edx = __edx;
4526#line 863
4527 __ecx = __ecx;
4528#line 863
4529 __eax = __eax;
4530 {
4531#line 863
4532 while (1) {
4533 while_continue: ;
4534 {
4535#line 863
4536 __cil_tmp7 = (void *)0;
4537#line 863
4538 __cil_tmp8 = (unsigned long )__cil_tmp7;
4539#line 863
4540 __cil_tmp9 = (unsigned long )pv_irq_ops.irq_disable.func;
4541#line 863
4542 __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
4543#line 863
4544 __cil_tmp11 = ! __cil_tmp10;
4545#line 863
4546 __cil_tmp12 = ! __cil_tmp11;
4547#line 863
4548 __cil_tmp13 = (long )__cil_tmp12;
4549#line 863
4550 tmp = __builtin_expect(__cil_tmp13, 0L);
4551 }
4552#line 863
4553 if (tmp) {
4554 {
4555#line 863
4556 while (1) {
4557 while_continue___0: ;
4558#line 863
4559 __asm__ volatile ("1:\tud2\n"
4560 ".pushsection __bug_table,\"a\"\n"
4561 "2:\t.long 1b - 2b, %c0 - 2b\n"
4562 "\t.word %c1, 0\n"
4563 "\t.org 2b+%c2\n"
4564 ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
4565 "i" (863), "i" (12UL));
4566 {
4567#line 863
4568 while (1) {
4569 while_continue___1: ;
4570
4571 }
4572 while_break___3: ;
4573 }
4574
4575#line 863
4576 goto while_break___0;
4577 }
4578 while_break___2: ;
4579 }
4580
4581 while_break___0: ;
4582 } else {
4583
4584 }
4585#line 863
4586 goto while_break;
4587 }
4588 while_break___1: ;
4589 }
4590
4591 while_break:
4592#line 863
4593 __cil_tmp14 = (struct paravirt_patch_template *)0;
4594#line 863
4595 __cil_tmp15 = & __cil_tmp14->pv_irq_ops.irq_disable.func;
4596#line 863
4597 __cil_tmp16 = (unsigned int )__cil_tmp15;
4598#line 863
4599 __cil_tmp17 = (unsigned long )__cil_tmp16;
4600#line 863
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626#line 864
4627 return;
4628}
4629}
4630#line 866
4631__inline static void arch_local_irq_enable(void) __attribute__((__no_instrument_function__)) ;
4632#line 866
4633__inline static void arch_local_irq_enable(void) __attribute__((__no_instrument_function__)) ;
4634#line 866 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
4635__inline static void arch_local_irq_enable(void)
4636{ unsigned long __edi ;
4637 unsigned long __esi ;
4638 unsigned long __edx ;
4639 unsigned long __ecx ;
4640 unsigned long __eax ;
4641 long tmp ;
4642 void *__cil_tmp7 ;
4643 unsigned long __cil_tmp8 ;
4644 unsigned long __cil_tmp9 ;
4645 int __cil_tmp10 ;
4646 int __cil_tmp11 ;
4647 int __cil_tmp12 ;
4648 long __cil_tmp13 ;
4649 struct paravirt_patch_template *__cil_tmp14 ;
4650 void **__cil_tmp15 ;
4651 unsigned int __cil_tmp16 ;
4652 unsigned long __cil_tmp17 ;
4653
4654 {
4655#line 868
4656 __edi = __edi;
4657#line 868
4658 __esi = __esi;
4659#line 868
4660 __edx = __edx;
4661#line 868
4662 __ecx = __ecx;
4663#line 868
4664 __eax = __eax;
4665 {
4666#line 868
4667 while (1) {
4668 while_continue: ;
4669 {
4670#line 868
4671 __cil_tmp7 = (void *)0;
4672#line 868
4673 __cil_tmp8 = (unsigned long )__cil_tmp7;
4674#line 868
4675 __cil_tmp9 = (unsigned long )pv_irq_ops.irq_enable.func;
4676#line 868
4677 __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
4678#line 868
4679 __cil_tmp11 = ! __cil_tmp10;
4680#line 868
4681 __cil_tmp12 = ! __cil_tmp11;
4682#line 868
4683 __cil_tmp13 = (long )__cil_tmp12;
4684#line 868
4685 tmp = __builtin_expect(__cil_tmp13, 0L);
4686 }
4687#line 868
4688 if (tmp) {
4689 {
4690#line 868
4691 while (1) {
4692 while_continue___0: ;
4693#line 868
4694 __asm__ volatile ("1:\tud2\n"
4695 ".pushsection __bug_table,\"a\"\n"
4696 "2:\t.long 1b - 2b, %c0 - 2b\n"
4697 "\t.word %c1, 0\n"
4698 "\t.org 2b+%c2\n"
4699 ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
4700 "i" (868), "i" (12UL));
4701 {
4702#line 868
4703 while (1) {
4704 while_continue___1: ;
4705
4706 }
4707 while_break___3: ;
4708 }
4709
4710#line 868
4711 goto while_break___0;
4712 }
4713 while_break___2: ;
4714 }
4715
4716 while_break___0: ;
4717 } else {
4718
4719 }
4720#line 868
4721 goto while_break;
4722 }
4723 while_break___1: ;
4724 }
4725
4726 while_break:
4727#line 868
4728 __cil_tmp14 = (struct paravirt_patch_template *)0;
4729#line 868
4730 __cil_tmp15 = & __cil_tmp14->pv_irq_ops.irq_enable.func;
4731#line 868
4732 __cil_tmp16 = (unsigned int )__cil_tmp15;
4733#line 868
4734 __cil_tmp17 = (unsigned long )__cil_tmp16;
4735#line 868
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761#line 869
4762 return;
4763}
4764}
4765#line 20 "include/linux/irqflags.h"
4766extern void trace_hardirqs_on(void) ;
4767#line 21
4768extern void trace_hardirqs_off(void) ;
4769#line 22 "include/linux/err.h"
4770__inline static void * __attribute__((__warn_unused_result__)) ERR_PTR(long error )
4771{
4772
4773 {
4774#line 24
4775 return ((void *)error);
4776}
4777}
4778#line 27 "include/linux/err.h"
4779__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr )
4780{
4781
4782 {
4783#line 29
4784 return ((long )ptr);
4785}
4786}
4787#line 32 "include/linux/err.h"
4788__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr )
4789{ long tmp ;
4790 unsigned long __cil_tmp3 ;
4791 int __cil_tmp4 ;
4792 int __cil_tmp5 ;
4793 int __cil_tmp6 ;
4794 long __cil_tmp7 ;
4795
4796 {
4797 {
4798#line 34
4799 __cil_tmp3 = (unsigned long )ptr;
4800#line 34
4801 __cil_tmp4 = __cil_tmp3 >= 1152921504606842881UL;
4802#line 34
4803 __cil_tmp5 = ! __cil_tmp4;
4804#line 34
4805 __cil_tmp6 = ! __cil_tmp5;
4806#line 34
4807 __cil_tmp7 = (long )__cil_tmp6;
4808#line 34
4809 tmp = __builtin_expect(__cil_tmp7, 0L);
4810 }
4811#line 34
4812 return (tmp);
4813}
4814}
4815#line 29 "include/linux/spinlock_api_smp.h"
4816extern void _raw_spin_lock_irq(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
4817#line 41
4818extern void _raw_spin_unlock_irq(raw_spinlock_t *lock ) __attribute__((__section__(".spinlock.text"))) ;
4819#line 308 "include/linux/spinlock.h"
4820__inline static void spin_lock_irq(spinlock_t *lock )
4821{ struct raw_spinlock *__cil_tmp2 ;
4822
4823 {
4824 {
4825#line 310
4826 __cil_tmp2 = & lock->__annonCompField18.rlock;
4827#line 310
4828 _raw_spin_lock_irq(__cil_tmp2);
4829 }
4830#line 311
4831 return;
4832}
4833}
4834#line 333 "include/linux/spinlock.h"
4835__inline static void spin_unlock_irq(spinlock_t *lock )
4836{ struct raw_spinlock *__cil_tmp2 ;
4837
4838 {
4839 {
4840#line 335
4841 __cil_tmp2 = & lock->__annonCompField18.rlock;
4842#line 335
4843 _raw_spin_unlock_irq(__cil_tmp2);
4844 }
4845#line 336
4846 return;
4847}
4848}
4849#line 115 "include/linux/mutex.h"
4850extern void __mutex_init(struct mutex *lock , char const *name , struct lock_class_key *key ) ;
4851#line 134
4852extern void mutex_lock_nested(struct mutex *lock , unsigned int subclass ) ;
4853#line 169
4854extern void mutex_unlock(struct mutex *lock ) ;
4855#line 830 "include/linux/rcupdate.h"
4856extern void kfree(void const * ) ;
4857#line 79 "include/linux/module.h"
4858int init_module(void) ;
4859#line 80
4860void cleanup_module(void) ;
4861#line 99
4862extern struct module __this_module ;
4863#line 391 "include/linux/device.h"
4864extern struct class * __attribute__((__warn_unused_result__)) __class_create(struct module *owner ,
4865 char const *name ,
4866 struct lock_class_key *key ) ;
4867#line 394
4868extern void class_destroy(struct class *cls ) ;
4869#line 439
4870extern int __attribute__((__warn_unused_result__)) device_create_bin_file(struct device *dev ,
4871 struct bin_attribute const *attr ) ;
4872#line 441
4873extern void device_remove_bin_file(struct device *dev , struct bin_attribute const *attr ) ;
4874#line 705
4875extern void *dev_get_drvdata(struct device const *dev ) __attribute__((__ldv_model__)) ;
4876#line 706
4877extern int dev_set_drvdata(struct device *dev , void *data ) ;
4878#line 743
4879extern struct device *device_create(struct class *cls , struct device *parent , dev_t devt ,
4880 void *drvdata , char const *fmt , ...) ;
4881#line 747
4882extern void device_destroy(struct class *cls , dev_t devt ) ;
4883#line 797
4884extern int dev_err(struct device const *dev , char const *fmt , ...) ;
4885#line 803
4886extern int _dev_info(struct device const *dev , char const *fmt , ...) ;
4887#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/delay.h"
4888extern void __const_udelay(unsigned long xloops ) ;
4889#line 105 "include/linux/idr.h"
4890extern int idr_pre_get(struct idr *idp , gfp_t gfp_mask ) ;
4891#line 106
4892extern int idr_get_new(struct idr *idp , void *ptr , int *id ) ;
4893#line 112
4894extern void idr_remove(struct idr *idp , int id ) ;
4895#line 221 "include/linux/slub_def.h"
4896extern void *__kmalloc(size_t size , gfp_t flags ) ;
4897#line 255 "include/linux/slub_def.h"
4898__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4899 gfp_t flags )
4900{ void *tmp___10 ;
4901
4902 {
4903 {
4904#line 270
4905 tmp___10 = __kmalloc(size, flags);
4906 }
4907#line 270
4908 return (tmp___10);
4909}
4910}
4911#line 63 "include/linux/c2port.h"
4912struct c2port_device *c2port_device_register(char *name , struct c2port_ops *ops ,
4913 void *devdata ) ;
4914#line 65
4915void c2port_device_unregister(struct c2port_device *c2dev ) ;
4916#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4917static spinlock_t c2port_idr_lock = {{{{0U}, 3735899821U, 4294967295U, (void *)-1L, {(struct lock_class_key *)0, {(struct lock_class *)0,
4918 (struct lock_class *)0},
4919 "c2port_idr_lock", 0, 0UL}}}};
4920#line 32 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4921static struct idr c2port_idr = {(struct idr_layer *)((void *)0), (struct idr_layer *)((void *)0), 0, 0, {{{{0U},
4922 3735899821U,
4923 4294967295U,
4924 (void *)-1L,
4925 {(struct lock_class_key *)0,
4926 {(struct lock_class *)0,
4927 (struct lock_class *)0},
4928 "c2port_idr.lock",
4929 0,
4930 0UL}}}}};
4931#line 38 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4932static struct class *c2port_class ;
4933#line 66 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4934static void c2port_reset(struct c2port_device *dev )
4935{ struct c2port_ops *ops ;
4936 void (*__cil_tmp3)(struct c2port_device *dev , int status ) ;
4937 void (*__cil_tmp4)(struct c2port_device *dev , int status ) ;
4938
4939 {
4940#line 68
4941 ops = dev->ops;
4942 {
4943#line 73
4944 while (1) {
4945 while_continue: ;
4946 {
4947#line 73
4948 arch_local_irq_disable();
4949#line 73
4950 trace_hardirqs_off();
4951 }
4952#line 73
4953 goto while_break;
4954 }
4955 while_break___1: ;
4956 }
4957
4958 while_break:
4959 {
4960#line 74
4961 __cil_tmp3 = ops->c2ck_set;
4962#line 74
4963 (*__cil_tmp3)(dev, 0);
4964#line 75
4965 __const_udelay(107375UL);
4966#line 76
4967 __cil_tmp4 = ops->c2ck_set;
4968#line 76
4969 (*__cil_tmp4)(dev, 1);
4970 }
4971 {
4972#line 77
4973 while (1) {
4974 while_continue___0: ;
4975 {
4976#line 77
4977 trace_hardirqs_on();
4978#line 77
4979 arch_local_irq_enable();
4980 }
4981#line 77
4982 goto while_break___0;
4983 }
4984 while_break___2: ;
4985 }
4986
4987 while_break___0:
4988 {
4989#line 79
4990 __const_udelay(4295UL);
4991 }
4992#line 80
4993 return;
4994}
4995}
4996#line 82 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4997static void c2port_strobe_ck(struct c2port_device *dev )
4998{ struct c2port_ops *ops ;
4999 void (*__cil_tmp3)(struct c2port_device *dev , int status ) ;
5000 void (*__cil_tmp4)(struct c2port_device *dev , int status ) ;
5001
5002 {
5003#line 84
5004 ops = dev->ops;
5005 {
5006#line 91
5007 while (1) {
5008 while_continue: ;
5009 {
5010#line 91
5011 arch_local_irq_disable();
5012#line 91
5013 trace_hardirqs_off();
5014 }
5015#line 91
5016 goto while_break;
5017 }
5018 while_break___1: ;
5019 }
5020
5021 while_break:
5022 {
5023#line 92
5024 __cil_tmp3 = ops->c2ck_set;
5025#line 92
5026 (*__cil_tmp3)(dev, 0);
5027#line 93
5028 __const_udelay(4295UL);
5029#line 94
5030 __cil_tmp4 = ops->c2ck_set;
5031#line 94
5032 (*__cil_tmp4)(dev, 1);
5033 }
5034 {
5035#line 95
5036 while (1) {
5037 while_continue___0: ;
5038 {
5039#line 95
5040 trace_hardirqs_on();
5041#line 95
5042 arch_local_irq_enable();
5043 }
5044#line 95
5045 goto while_break___0;
5046 }
5047 while_break___2: ;
5048 }
5049
5050 while_break___0:
5051 {
5052#line 97
5053 __const_udelay(4295UL);
5054 }
5055#line 98
5056 return;
5057}
5058}
5059#line 104 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5060static void c2port_write_ar(struct c2port_device *dev , u8 addr )
5061{ struct c2port_ops *ops ;
5062 int i ;
5063 void (*__cil_tmp5)(struct c2port_device *dev , int dir ) ;
5064 void (*__cil_tmp6)(struct c2port_device *dev , int status ) ;
5065 void (*__cil_tmp7)(struct c2port_device *dev , int status ) ;
5066 void (*__cil_tmp8)(struct c2port_device *dev , int status ) ;
5067 int __cil_tmp9 ;
5068 int __cil_tmp10 ;
5069 int __cil_tmp11 ;
5070 int __cil_tmp12 ;
5071 void (*__cil_tmp13)(struct c2port_device *dev , int dir ) ;
5072
5073 {
5074 {
5075#line 106
5076 ops = dev->ops;
5077#line 110
5078 c2port_strobe_ck(dev);
5079#line 113
5080 __cil_tmp5 = ops->c2d_dir;
5081#line 113
5082 (*__cil_tmp5)(dev, 0);
5083#line 114
5084 __cil_tmp6 = ops->c2d_set;
5085#line 114
5086 (*__cil_tmp6)(dev, 1);
5087#line 115
5088 c2port_strobe_ck(dev);
5089#line 116
5090 __cil_tmp7 = ops->c2d_set;
5091#line 116
5092 (*__cil_tmp7)(dev, 1);
5093#line 117
5094 c2port_strobe_ck(dev);
5095#line 120
5096 i = 0;
5097 }
5098 {
5099#line 120
5100 while (1) {
5101 while_continue: ;
5102
5103#line 120
5104 if (i < 8) {
5105
5106 } else {
5107#line 120
5108 goto while_break;
5109 }
5110 {
5111#line 121
5112 __cil_tmp8 = ops->c2d_set;
5113#line 121
5114 __cil_tmp9 = (int )addr;
5115#line 121
5116 __cil_tmp10 = __cil_tmp9 & 1;
5117#line 121
5118 (*__cil_tmp8)(dev, __cil_tmp10);
5119#line 122
5120 c2port_strobe_ck(dev);
5121#line 124
5122 __cil_tmp11 = (int )addr;
5123#line 124
5124 __cil_tmp12 = __cil_tmp11 >> 1;
5125#line 124
5126 addr = (u8 )__cil_tmp12;
5127#line 120
5128 i = i + 1;
5129 }
5130 }
5131 while_break___0: ;
5132 }
5133
5134 while_break:
5135 {
5136#line 128
5137 __cil_tmp13 = ops->c2d_dir;
5138#line 128
5139 (*__cil_tmp13)(dev, 1);
5140#line 129
5141 c2port_strobe_ck(dev);
5142 }
5143#line 130
5144 return;
5145}
5146}
5147#line 132 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5148static int c2port_read_ar(struct c2port_device *dev , u8 *addr )
5149{ struct c2port_ops *ops ;
5150 int i ;
5151 int tmp___7 ;
5152 void (*__cil_tmp6)(struct c2port_device *dev , int dir ) ;
5153 void (*__cil_tmp7)(struct c2port_device *dev , int status ) ;
5154 void (*__cil_tmp8)(struct c2port_device *dev , int status ) ;
5155 void (*__cil_tmp9)(struct c2port_device *dev , int dir ) ;
5156 u8 __cil_tmp10 ;
5157 int __cil_tmp11 ;
5158 int __cil_tmp12 ;
5159 int (*__cil_tmp13)(struct c2port_device *dev ) ;
5160 u8 __cil_tmp14 ;
5161 int __cil_tmp15 ;
5162 int __cil_tmp16 ;
5163
5164 {
5165 {
5166#line 134
5167 ops = dev->ops;
5168#line 138
5169 c2port_strobe_ck(dev);
5170#line 141
5171 __cil_tmp6 = ops->c2d_dir;
5172#line 141
5173 (*__cil_tmp6)(dev, 0);
5174#line 142
5175 __cil_tmp7 = ops->c2d_set;
5176#line 142
5177 (*__cil_tmp7)(dev, 0);
5178#line 143
5179 c2port_strobe_ck(dev);
5180#line 144
5181 __cil_tmp8 = ops->c2d_set;
5182#line 144
5183 (*__cil_tmp8)(dev, 1);
5184#line 145
5185 c2port_strobe_ck(dev);
5186#line 148
5187 __cil_tmp9 = ops->c2d_dir;
5188#line 148
5189 (*__cil_tmp9)(dev, 1);
5190#line 149
5191 *addr = (u8 )0;
5192#line 150
5193 i = 0;
5194 }
5195 {
5196#line 150
5197 while (1) {
5198 while_continue: ;
5199
5200#line 150
5201 if (i < 8) {
5202
5203 } else {
5204#line 150
5205 goto while_break;
5206 }
5207 {
5208#line 151
5209 __cil_tmp10 = *addr;
5210#line 151
5211 __cil_tmp11 = (int )__cil_tmp10;
5212#line 151
5213 __cil_tmp12 = __cil_tmp11 >> 1;
5214#line 151
5215 *addr = (u8 )__cil_tmp12;
5216#line 153
5217 c2port_strobe_ck(dev);
5218#line 154
5219 __cil_tmp13 = ops->c2d_get;
5220#line 154
5221 tmp___7 = (*__cil_tmp13)(dev);
5222 }
5223#line 154
5224 if (tmp___7) {
5225#line 155
5226 __cil_tmp14 = *addr;
5227#line 155
5228 __cil_tmp15 = (int )__cil_tmp14;
5229#line 155
5230 __cil_tmp16 = __cil_tmp15 | 128;
5231#line 155
5232 *addr = (u8 )__cil_tmp16;
5233 } else {
5234
5235 }
5236#line 150
5237 i = i + 1;
5238 }
5239 while_break___0: ;
5240 }
5241
5242 while_break:
5243 {
5244#line 159
5245 c2port_strobe_ck(dev);
5246 }
5247#line 161
5248 return (0);
5249}
5250}
5251#line 164 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5252static int c2port_write_dr(struct c2port_device *dev , u8 data )
5253{ struct c2port_ops *ops ;
5254 int timeout ;
5255 int i ;
5256 int tmp___7 ;
5257 void (*__cil_tmp7)(struct c2port_device *dev , int dir ) ;
5258 void (*__cil_tmp8)(struct c2port_device *dev , int status ) ;
5259 void (*__cil_tmp9)(struct c2port_device *dev , int status ) ;
5260 void (*__cil_tmp10)(struct c2port_device *dev , int status ) ;
5261 void (*__cil_tmp11)(struct c2port_device *dev , int status ) ;
5262 void (*__cil_tmp12)(struct c2port_device *dev , int status ) ;
5263 int __cil_tmp13 ;
5264 int __cil_tmp14 ;
5265 int __cil_tmp15 ;
5266 int __cil_tmp16 ;
5267 void (*__cil_tmp17)(struct c2port_device *dev , int dir ) ;
5268 int (*__cil_tmp18)(struct c2port_device *dev ) ;
5269
5270 {
5271 {
5272#line 166
5273 ops = dev->ops;
5274#line 170
5275 c2port_strobe_ck(dev);
5276#line 173
5277 __cil_tmp7 = ops->c2d_dir;
5278#line 173
5279 (*__cil_tmp7)(dev, 0);
5280#line 174
5281 __cil_tmp8 = ops->c2d_set;
5282#line 174
5283 (*__cil_tmp8)(dev, 1);
5284#line 175
5285 c2port_strobe_ck(dev);
5286#line 176
5287 __cil_tmp9 = ops->c2d_set;
5288#line 176
5289 (*__cil_tmp9)(dev, 0);
5290#line 177
5291 c2port_strobe_ck(dev);
5292#line 180
5293 __cil_tmp10 = ops->c2d_set;
5294#line 180
5295 (*__cil_tmp10)(dev, 0);
5296#line 181
5297 c2port_strobe_ck(dev);
5298#line 182
5299 __cil_tmp11 = ops->c2d_set;
5300#line 182
5301 (*__cil_tmp11)(dev, 0);
5302#line 183
5303 c2port_strobe_ck(dev);
5304#line 186
5305 i = 0;
5306 }
5307 {
5308#line 186
5309 while (1) {
5310 while_continue: ;
5311
5312#line 186
5313 if (i < 8) {
5314
5315 } else {
5316#line 186
5317 goto while_break;
5318 }
5319 {
5320#line 187
5321 __cil_tmp12 = ops->c2d_set;
5322#line 187
5323 __cil_tmp13 = (int )data;
5324#line 187
5325 __cil_tmp14 = __cil_tmp13 & 1;
5326#line 187
5327 (*__cil_tmp12)(dev, __cil_tmp14);
5328#line 188
5329 c2port_strobe_ck(dev);
5330#line 190
5331 __cil_tmp15 = (int )data;
5332#line 190
5333 __cil_tmp16 = __cil_tmp15 >> 1;
5334#line 190
5335 data = (u8 )__cil_tmp16;
5336#line 186
5337 i = i + 1;
5338 }
5339 }
5340 while_break___1: ;
5341 }
5342
5343 while_break:
5344 {
5345#line 194
5346 __cil_tmp17 = ops->c2d_dir;
5347#line 194
5348 (*__cil_tmp17)(dev, 1);
5349#line 195
5350 timeout = 20;
5351 }
5352 {
5353#line 196
5354 while (1) {
5355 while_continue___0: ;
5356 {
5357#line 197
5358 c2port_strobe_ck(dev);
5359#line 198
5360 __cil_tmp18 = ops->c2d_get;
5361#line 198
5362 tmp___7 = (*__cil_tmp18)(dev);
5363 }
5364#line 198
5365 if (tmp___7) {
5366#line 199
5367 goto while_break___0;
5368 } else {
5369
5370 }
5371 {
5372#line 201
5373 __const_udelay(4295UL);
5374#line 196
5375 timeout = timeout - 1;
5376 }
5377#line 196
5378 if (timeout > 0) {
5379
5380 } else {
5381#line 196
5382 goto while_break___0;
5383 }
5384 }
5385 while_break___2: ;
5386 }
5387
5388 while_break___0: ;
5389#line 203
5390 if (timeout == 0) {
5391#line 204
5392 return (-5);
5393 } else {
5394
5395 }
5396 {
5397#line 207
5398 c2port_strobe_ck(dev);
5399 }
5400#line 209
5401 return (0);
5402}
5403}
5404#line 212 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5405static int c2port_read_dr(struct c2port_device *dev , u8 *data )
5406{ struct c2port_ops *ops ;
5407 int timeout ;
5408 int i ;
5409 int tmp___7 ;
5410 int tmp___8 ;
5411 void (*__cil_tmp8)(struct c2port_device *dev , int dir ) ;
5412 void (*__cil_tmp9)(struct c2port_device *dev , int status ) ;
5413 void (*__cil_tmp10)(struct c2port_device *dev , int status ) ;
5414 void (*__cil_tmp11)(struct c2port_device *dev , int status ) ;
5415 void (*__cil_tmp12)(struct c2port_device *dev , int status ) ;
5416 void (*__cil_tmp13)(struct c2port_device *dev , int dir ) ;
5417 int (*__cil_tmp14)(struct c2port_device *dev ) ;
5418 u8 __cil_tmp15 ;
5419 int __cil_tmp16 ;
5420 int __cil_tmp17 ;
5421 int (*__cil_tmp18)(struct c2port_device *dev ) ;
5422 u8 __cil_tmp19 ;
5423 int __cil_tmp20 ;
5424 int __cil_tmp21 ;
5425
5426 {
5427 {
5428#line 214
5429 ops = dev->ops;
5430#line 218
5431 c2port_strobe_ck(dev);
5432#line 221
5433 __cil_tmp8 = ops->c2d_dir;
5434#line 221
5435 (*__cil_tmp8)(dev, 0);
5436#line 222
5437 __cil_tmp9 = ops->c2d_set;
5438#line 222
5439 (*__cil_tmp9)(dev, 0);
5440#line 223
5441 c2port_strobe_ck(dev);
5442#line 224
5443 __cil_tmp10 = ops->c2d_set;
5444#line 224
5445 (*__cil_tmp10)(dev, 0);
5446#line 225
5447 c2port_strobe_ck(dev);
5448#line 228
5449 __cil_tmp11 = ops->c2d_set;
5450#line 228
5451 (*__cil_tmp11)(dev, 0);
5452#line 229
5453 c2port_strobe_ck(dev);
5454#line 230
5455 __cil_tmp12 = ops->c2d_set;
5456#line 230
5457 (*__cil_tmp12)(dev, 0);
5458#line 231
5459 c2port_strobe_ck(dev);
5460#line 234
5461 __cil_tmp13 = ops->c2d_dir;
5462#line 234
5463 (*__cil_tmp13)(dev, 1);
5464#line 235
5465 timeout = 20;
5466 }
5467 {
5468#line 236
5469 while (1) {
5470 while_continue: ;
5471 {
5472#line 237
5473 c2port_strobe_ck(dev);
5474#line 238
5475 __cil_tmp14 = ops->c2d_get;
5476#line 238
5477 tmp___7 = (*__cil_tmp14)(dev);
5478 }
5479#line 238
5480 if (tmp___7) {
5481#line 239
5482 goto while_break;
5483 } else {
5484
5485 }
5486 {
5487#line 241
5488 __const_udelay(4295UL);
5489#line 236
5490 timeout = timeout - 1;
5491 }
5492#line 236
5493 if (timeout > 0) {
5494
5495 } else {
5496#line 236
5497 goto while_break;
5498 }
5499 }
5500 while_break___1: ;
5501 }
5502
5503 while_break: ;
5504#line 243
5505 if (timeout == 0) {
5506#line 244
5507 return (-5);
5508 } else {
5509
5510 }
5511#line 247
5512 *data = (u8 )0;
5513#line 248
5514 i = 0;
5515 {
5516#line 248
5517 while (1) {
5518 while_continue___0: ;
5519
5520#line 248
5521 if (i < 8) {
5522
5523 } else {
5524#line 248
5525 goto while_break___0;
5526 }
5527 {
5528#line 249
5529 __cil_tmp15 = *data;
5530#line 249
5531 __cil_tmp16 = (int )__cil_tmp15;
5532#line 249
5533 __cil_tmp17 = __cil_tmp16 >> 1;
5534#line 249
5535 *data = (u8 )__cil_tmp17;
5536#line 251
5537 c2port_strobe_ck(dev);
5538#line 252
5539 __cil_tmp18 = ops->c2d_get;
5540#line 252
5541 tmp___8 = (*__cil_tmp18)(dev);
5542 }
5543#line 252
5544 if (tmp___8) {
5545#line 253
5546 __cil_tmp19 = *data;
5547#line 253
5548 __cil_tmp20 = (int )__cil_tmp19;
5549#line 253
5550 __cil_tmp21 = __cil_tmp20 | 128;
5551#line 253
5552 *data = (u8 )__cil_tmp21;
5553 } else {
5554
5555 }
5556#line 248
5557 i = i + 1;
5558 }
5559 while_break___2: ;
5560 }
5561
5562 while_break___0:
5563 {
5564#line 257
5565 c2port_strobe_ck(dev);
5566 }
5567#line 259
5568 return (0);
5569}
5570}
5571#line 262 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5572static int c2port_poll_in_busy(struct c2port_device *dev )
5573{ u8 addr ;
5574 int ret ;
5575 int timeout ;
5576 int __cil_tmp5 ;
5577 int __cil_tmp6 ;
5578
5579 {
5580#line 265
5581 timeout = 20;
5582 {
5583#line 267
5584 while (1) {
5585 while_continue: ;
5586 {
5587#line 268
5588 ret = c2port_read_ar(dev, & addr);
5589 }
5590#line 269
5591 if (ret < 0) {
5592#line 270
5593 return (-5);
5594 } else {
5595
5596 }
5597 {
5598#line 272
5599 __cil_tmp5 = (int )addr;
5600#line 272
5601 __cil_tmp6 = __cil_tmp5 & 2;
5602#line 272
5603 if (! __cil_tmp6) {
5604#line 273
5605 goto while_break;
5606 } else {
5607
5608 }
5609 }
5610 {
5611#line 275
5612 __const_udelay(4295UL);
5613#line 267
5614 timeout = timeout - 1;
5615 }
5616#line 267
5617 if (timeout > 0) {
5618
5619 } else {
5620#line 267
5621 goto while_break;
5622 }
5623 }
5624 while_break___0: ;
5625 }
5626
5627 while_break: ;
5628#line 277
5629 if (timeout == 0) {
5630#line 278
5631 return (-5);
5632 } else {
5633
5634 }
5635#line 280
5636 return (0);
5637}
5638}
5639#line 283 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5640static int c2port_poll_out_ready(struct c2port_device *dev )
5641{ u8 addr ;
5642 int ret ;
5643 int timeout ;
5644 int __cil_tmp5 ;
5645
5646 {
5647#line 286
5648 timeout = 10000;
5649 {
5650#line 288
5651 while (1) {
5652 while_continue: ;
5653 {
5654#line 289
5655 ret = c2port_read_ar(dev, & addr);
5656 }
5657#line 290
5658 if (ret < 0) {
5659#line 291
5660 return (-5);
5661 } else {
5662
5663 }
5664 {
5665#line 293
5666 __cil_tmp5 = (int )addr;
5667#line 293
5668 if (__cil_tmp5 & 1) {
5669#line 294
5670 goto while_break;
5671 } else {
5672
5673 }
5674 }
5675 {
5676#line 296
5677 __const_udelay(4295UL);
5678#line 288
5679 timeout = timeout - 1;
5680 }
5681#line 288
5682 if (timeout > 0) {
5683
5684 } else {
5685#line 288
5686 goto while_break;
5687 }
5688 }
5689 while_break___0: ;
5690 }
5691
5692 while_break: ;
5693#line 298
5694 if (timeout == 0) {
5695#line 299
5696 return (-5);
5697 } else {
5698
5699 }
5700#line 301
5701 return (0);
5702}
5703}
5704#line 308 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5705static ssize_t c2port_show_name(struct device *dev , struct device_attribute *attr ,
5706 char *buf )
5707{ struct c2port_device *c2dev ;
5708 void *tmp___7 ;
5709 int tmp___8 ;
5710 struct device const *__cil_tmp7 ;
5711 char *__cil_tmp8 ;
5712
5713 {
5714 {
5715#line 311
5716 __cil_tmp7 = (struct device const *)dev;
5717#line 311
5718 tmp___7 = dev_get_drvdata(__cil_tmp7);
5719#line 311
5720 c2dev = (struct c2port_device *)tmp___7;
5721#line 313
5722 __cil_tmp8 = & c2dev->name[0];
5723#line 313
5724 tmp___8 = sprintf(buf, "%s\n", __cil_tmp8);
5725 }
5726#line 313
5727 return ((ssize_t )tmp___8);
5728}
5729}
5730#line 316 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5731static ssize_t c2port_show_flash_blocks_num(struct device *dev , struct device_attribute *attr ,
5732 char *buf )
5733{ struct c2port_device *c2dev ;
5734 void *tmp___7 ;
5735 struct c2port_ops *ops ;
5736 int tmp___8 ;
5737 struct device const *__cil_tmp8 ;
5738 unsigned short __cil_tmp9 ;
5739 int __cil_tmp10 ;
5740
5741 {
5742 {
5743#line 319
5744 __cil_tmp8 = (struct device const *)dev;
5745#line 319
5746 tmp___7 = dev_get_drvdata(__cil_tmp8);
5747#line 319
5748 c2dev = (struct c2port_device *)tmp___7;
5749#line 320
5750 ops = c2dev->ops;
5751#line 322
5752 __cil_tmp9 = ops->blocks_num;
5753#line 322
5754 __cil_tmp10 = (int )__cil_tmp9;
5755#line 322
5756 tmp___8 = sprintf(buf, "%d\n", __cil_tmp10);
5757 }
5758#line 322
5759 return ((ssize_t )tmp___8);
5760}
5761}
5762#line 325 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5763static ssize_t c2port_show_flash_block_size(struct device *dev , struct device_attribute *attr ,
5764 char *buf )
5765{ struct c2port_device *c2dev ;
5766 void *tmp___7 ;
5767 struct c2port_ops *ops ;
5768 int tmp___8 ;
5769 struct device const *__cil_tmp8 ;
5770 unsigned short __cil_tmp9 ;
5771 int __cil_tmp10 ;
5772
5773 {
5774 {
5775#line 328
5776 __cil_tmp8 = (struct device const *)dev;
5777#line 328
5778 tmp___7 = dev_get_drvdata(__cil_tmp8);
5779#line 328
5780 c2dev = (struct c2port_device *)tmp___7;
5781#line 329
5782 ops = c2dev->ops;
5783#line 331
5784 __cil_tmp9 = ops->block_size;
5785#line 331
5786 __cil_tmp10 = (int )__cil_tmp9;
5787#line 331
5788 tmp___8 = sprintf(buf, "%d\n", __cil_tmp10);
5789 }
5790#line 331
5791 return ((ssize_t )tmp___8);
5792}
5793}
5794#line 334 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5795static ssize_t c2port_show_flash_size(struct device *dev , struct device_attribute *attr ,
5796 char *buf )
5797{ struct c2port_device *c2dev ;
5798 void *tmp___7 ;
5799 struct c2port_ops *ops ;
5800 int tmp___8 ;
5801 struct device const *__cil_tmp8 ;
5802 unsigned short __cil_tmp9 ;
5803 int __cil_tmp10 ;
5804 unsigned short __cil_tmp11 ;
5805 int __cil_tmp12 ;
5806 int __cil_tmp13 ;
5807
5808 {
5809 {
5810#line 337
5811 __cil_tmp8 = (struct device const *)dev;
5812#line 337
5813 tmp___7 = dev_get_drvdata(__cil_tmp8);
5814#line 337
5815 c2dev = (struct c2port_device *)tmp___7;
5816#line 338
5817 ops = c2dev->ops;
5818#line 340
5819 __cil_tmp9 = ops->block_size;
5820#line 340
5821 __cil_tmp10 = (int )__cil_tmp9;
5822#line 340
5823 __cil_tmp11 = ops->blocks_num;
5824#line 340
5825 __cil_tmp12 = (int )__cil_tmp11;
5826#line 340
5827 __cil_tmp13 = __cil_tmp12 * __cil_tmp10;
5828#line 340
5829 tmp___8 = sprintf(buf, "%d\n", __cil_tmp13);
5830 }
5831#line 340
5832 return ((ssize_t )tmp___8);
5833}
5834}
5835#line 343 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5836static ssize_t c2port_show_access(struct device *dev , struct device_attribute *attr ,
5837 char *buf )
5838{ struct c2port_device *c2dev ;
5839 void *tmp___7 ;
5840 int tmp___8 ;
5841 struct device const *__cil_tmp7 ;
5842 unsigned int __cil_tmp8 ;
5843
5844 {
5845 {
5846#line 346
5847 __cil_tmp7 = (struct device const *)dev;
5848#line 346
5849 tmp___7 = dev_get_drvdata(__cil_tmp7);
5850#line 346
5851 c2dev = (struct c2port_device *)tmp___7;
5852#line 348
5853 __cil_tmp8 = c2dev->access;
5854#line 348
5855 tmp___8 = sprintf(buf, "%d\n", __cil_tmp8);
5856 }
5857#line 348
5858 return ((ssize_t )tmp___8);
5859}
5860}
5861#line 351 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5862static ssize_t c2port_store_access(struct device *dev , struct device_attribute *attr ,
5863 char const *buf , size_t count )
5864{ struct c2port_device *c2dev ;
5865 void *tmp___7 ;
5866 struct c2port_ops *ops ;
5867 int status ;
5868 int ret ;
5869 struct device const *__cil_tmp10 ;
5870 struct mutex *__cil_tmp11 ;
5871 int __cil_tmp12 ;
5872 int __cil_tmp13 ;
5873 void (*__cil_tmp14)(struct c2port_device *dev , int status ) ;
5874 void (*__cil_tmp15)(struct c2port_device *dev , int status ) ;
5875 unsigned int __cil_tmp16 ;
5876 int __cil_tmp17 ;
5877 void (*__cil_tmp18)(struct c2port_device *dev , int dir ) ;
5878 struct mutex *__cil_tmp19 ;
5879
5880 {
5881 {
5882#line 355
5883 __cil_tmp10 = (struct device const *)dev;
5884#line 355
5885 tmp___7 = dev_get_drvdata(__cil_tmp10);
5886#line 355
5887 c2dev = (struct c2port_device *)tmp___7;
5888#line 356
5889 ops = c2dev->ops;
5890#line 359
5891 ret = sscanf(buf, "%d", & status);
5892 }
5893#line 360
5894 if (ret != 1) {
5895#line 361
5896 return ((ssize_t )-22);
5897 } else {
5898
5899 }
5900 {
5901#line 363
5902 __cil_tmp11 = & c2dev->mutex;
5903#line 363
5904 mutex_lock_nested(__cil_tmp11, 0U);
5905#line 365
5906 __cil_tmp12 = ! status;
5907#line 365
5908 __cil_tmp13 = ! __cil_tmp12;
5909#line 365
5910 c2dev->access = (unsigned int )__cil_tmp13;
5911 }
5912#line 369
5913 if (c2dev->access) {
5914 {
5915#line 370
5916 __cil_tmp14 = ops->c2ck_set;
5917#line 370
5918 (*__cil_tmp14)(c2dev, 1);
5919 }
5920 } else {
5921
5922 }
5923 {
5924#line 371
5925 __cil_tmp15 = ops->access;
5926#line 371
5927 __cil_tmp16 = c2dev->access;
5928#line 371
5929 __cil_tmp17 = (int )__cil_tmp16;
5930#line 371
5931 (*__cil_tmp15)(c2dev, __cil_tmp17);
5932 }
5933#line 372
5934 if (c2dev->access) {
5935 {
5936#line 373
5937 __cil_tmp18 = ops->c2d_dir;
5938#line 373
5939 (*__cil_tmp18)(c2dev, 1);
5940 }
5941 } else {
5942
5943 }
5944 {
5945#line 375
5946 __cil_tmp19 = & c2dev->mutex;
5947#line 375
5948 mutex_unlock(__cil_tmp19);
5949 }
5950#line 377
5951 return ((ssize_t )count);
5952}
5953}
5954#line 380 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5955static ssize_t c2port_store_reset(struct device *dev , struct device_attribute *attr ,
5956 char const *buf , size_t count )
5957{ struct c2port_device *c2dev ;
5958 void *tmp___7 ;
5959 struct device const *__cil_tmp7 ;
5960 unsigned int __cil_tmp8 ;
5961 struct mutex *__cil_tmp9 ;
5962 struct mutex *__cil_tmp10 ;
5963
5964 {
5965 {
5966#line 384
5967 __cil_tmp7 = (struct device const *)dev;
5968#line 384
5969 tmp___7 = dev_get_drvdata(__cil_tmp7);
5970#line 384
5971 c2dev = (struct c2port_device *)tmp___7;
5972 }
5973 {
5974#line 387
5975 __cil_tmp8 = c2dev->access;
5976#line 387
5977 if (! __cil_tmp8) {
5978#line 388
5979 return ((ssize_t )-16);
5980 } else {
5981
5982 }
5983 }
5984 {
5985#line 390
5986 __cil_tmp9 = & c2dev->mutex;
5987#line 390
5988 mutex_lock_nested(__cil_tmp9, 0U);
5989#line 392
5990 c2port_reset(c2dev);
5991#line 393
5992 c2dev->flash_access = 0U;
5993#line 395
5994 __cil_tmp10 = & c2dev->mutex;
5995#line 395
5996 mutex_unlock(__cil_tmp10);
5997 }
5998#line 397
5999 return ((ssize_t )count);
6000}
6001}
6002#line 400 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6003static ssize_t __c2port_show_dev_id(struct c2port_device *dev , char *buf )
6004{ u8 data ;
6005 int ret ;
6006 int tmp___7 ;
6007 u8 __cil_tmp6 ;
6008 int __cil_tmp7 ;
6009
6010 {
6011 {
6012#line 406
6013 __cil_tmp6 = (u8 )0;
6014#line 406
6015 c2port_write_ar(dev, __cil_tmp6);
6016#line 409
6017 ret = c2port_read_dr(dev, & data);
6018 }
6019#line 410
6020 if (ret < 0) {
6021#line 411
6022 return ((ssize_t )ret);
6023 } else {
6024
6025 }
6026 {
6027#line 413
6028 __cil_tmp7 = (int )data;
6029#line 413
6030 tmp___7 = sprintf(buf, "%d\n", __cil_tmp7);
6031 }
6032#line 413
6033 return ((ssize_t )tmp___7);
6034}
6035}
6036#line 416 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6037static ssize_t c2port_show_dev_id(struct device *dev , struct device_attribute *attr ,
6038 char *buf )
6039{ struct c2port_device *c2dev ;
6040 void *tmp___7 ;
6041 ssize_t ret ;
6042 struct device const *__cil_tmp7 ;
6043 unsigned int __cil_tmp8 ;
6044 struct mutex *__cil_tmp9 ;
6045 struct mutex *__cil_tmp10 ;
6046 struct device const *__cil_tmp11 ;
6047 char *__cil_tmp12 ;
6048
6049 {
6050 {
6051#line 419
6052 __cil_tmp7 = (struct device const *)dev;
6053#line 419
6054 tmp___7 = dev_get_drvdata(__cil_tmp7);
6055#line 419
6056 c2dev = (struct c2port_device *)tmp___7;
6057 }
6058 {
6059#line 423
6060 __cil_tmp8 = c2dev->access;
6061#line 423
6062 if (! __cil_tmp8) {
6063#line 424
6064 return ((ssize_t )-16);
6065 } else {
6066
6067 }
6068 }
6069 {
6070#line 426
6071 __cil_tmp9 = & c2dev->mutex;
6072#line 426
6073 mutex_lock_nested(__cil_tmp9, 0U);
6074#line 427
6075 ret = __c2port_show_dev_id(c2dev, buf);
6076#line 428
6077 __cil_tmp10 = & c2dev->mutex;
6078#line 428
6079 mutex_unlock(__cil_tmp10);
6080 }
6081#line 430
6082 if (ret < 0L) {
6083 {
6084#line 431
6085 __cil_tmp11 = (struct device const *)dev;
6086#line 431
6087 __cil_tmp12 = & c2dev->name[0];
6088#line 431
6089 dev_err(__cil_tmp11, "cannot read from %s\n", __cil_tmp12);
6090 }
6091 } else {
6092
6093 }
6094#line 433
6095 return (ret);
6096}
6097}
6098#line 436 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6099static ssize_t __c2port_show_rev_id(struct c2port_device *dev , char *buf )
6100{ u8 data ;
6101 int ret ;
6102 int tmp___7 ;
6103 u8 __cil_tmp6 ;
6104 int __cil_tmp7 ;
6105
6106 {
6107 {
6108#line 442
6109 __cil_tmp6 = (u8 )1;
6110#line 442
6111 c2port_write_ar(dev, __cil_tmp6);
6112#line 445
6113 ret = c2port_read_dr(dev, & data);
6114 }
6115#line 446
6116 if (ret < 0) {
6117#line 447
6118 return ((ssize_t )ret);
6119 } else {
6120
6121 }
6122 {
6123#line 449
6124 __cil_tmp7 = (int )data;
6125#line 449
6126 tmp___7 = sprintf(buf, "%d\n", __cil_tmp7);
6127 }
6128#line 449
6129 return ((ssize_t )tmp___7);
6130}
6131}
6132#line 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6133static ssize_t c2port_show_rev_id(struct device *dev , struct device_attribute *attr ,
6134 char *buf )
6135{ struct c2port_device *c2dev ;
6136 void *tmp___7 ;
6137 ssize_t ret ;
6138 struct device const *__cil_tmp7 ;
6139 unsigned int __cil_tmp8 ;
6140 struct mutex *__cil_tmp9 ;
6141 struct mutex *__cil_tmp10 ;
6142 struct device *__cil_tmp11 ;
6143 struct device const *__cil_tmp12 ;
6144 char *__cil_tmp13 ;
6145
6146 {
6147 {
6148#line 455
6149 __cil_tmp7 = (struct device const *)dev;
6150#line 455
6151 tmp___7 = dev_get_drvdata(__cil_tmp7);
6152#line 455
6153 c2dev = (struct c2port_device *)tmp___7;
6154 }
6155 {
6156#line 459
6157 __cil_tmp8 = c2dev->access;
6158#line 459
6159 if (! __cil_tmp8) {
6160#line 460
6161 return ((ssize_t )-16);
6162 } else {
6163
6164 }
6165 }
6166 {
6167#line 462
6168 __cil_tmp9 = & c2dev->mutex;
6169#line 462
6170 mutex_lock_nested(__cil_tmp9, 0U);
6171#line 463
6172 ret = __c2port_show_rev_id(c2dev, buf);
6173#line 464
6174 __cil_tmp10 = & c2dev->mutex;
6175#line 464
6176 mutex_unlock(__cil_tmp10);
6177 }
6178#line 466
6179 if (ret < 0L) {
6180 {
6181#line 467
6182 __cil_tmp11 = c2dev->dev;
6183#line 467
6184 __cil_tmp12 = (struct device const *)__cil_tmp11;
6185#line 467
6186 __cil_tmp13 = & c2dev->name[0];
6187#line 467
6188 dev_err(__cil_tmp12, "cannot read from %s\n", __cil_tmp13);
6189 }
6190 } else {
6191
6192 }
6193#line 469
6194 return (ret);
6195}
6196}
6197#line 472 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6198static ssize_t c2port_show_flash_access(struct device *dev , struct device_attribute *attr ,
6199 char *buf )
6200{ struct c2port_device *c2dev ;
6201 void *tmp___7 ;
6202 int tmp___8 ;
6203 struct device const *__cil_tmp7 ;
6204 unsigned int __cil_tmp8 ;
6205
6206 {
6207 {
6208#line 475
6209 __cil_tmp7 = (struct device const *)dev;
6210#line 475
6211 tmp___7 = dev_get_drvdata(__cil_tmp7);
6212#line 475
6213 c2dev = (struct c2port_device *)tmp___7;
6214#line 477
6215 __cil_tmp8 = c2dev->flash_access;
6216#line 477
6217 tmp___8 = sprintf(buf, "%d\n", __cil_tmp8);
6218 }
6219#line 477
6220 return ((ssize_t )tmp___8);
6221}
6222}
6223#line 480 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6224static ssize_t __c2port_store_flash_access(struct c2port_device *dev , int status )
6225{ int ret ;
6226 unsigned long __ms ;
6227 unsigned long tmp___7 ;
6228 unsigned int __cil_tmp6 ;
6229 int __cil_tmp7 ;
6230 int __cil_tmp8 ;
6231 unsigned int __cil_tmp9 ;
6232 u8 __cil_tmp10 ;
6233 u8 __cil_tmp11 ;
6234 u8 __cil_tmp12 ;
6235
6236 {
6237 {
6238#line 486
6239 __cil_tmp6 = dev->access;
6240#line 486
6241 if (! __cil_tmp6) {
6242#line 487
6243 return ((ssize_t )-16);
6244 } else {
6245
6246 }
6247 }
6248#line 489
6249 __cil_tmp7 = ! status;
6250#line 489
6251 __cil_tmp8 = ! __cil_tmp7;
6252#line 489
6253 dev->flash_access = (unsigned int )__cil_tmp8;
6254 {
6255#line 492
6256 __cil_tmp9 = dev->flash_access;
6257#line 492
6258 if (__cil_tmp9 == 0U) {
6259#line 493
6260 return ((ssize_t )0);
6261 } else {
6262
6263 }
6264 }
6265 {
6266#line 497
6267 __cil_tmp10 = (u8 )2;
6268#line 497
6269 c2port_write_ar(dev, __cil_tmp10);
6270#line 500
6271 __cil_tmp11 = (u8 )2;
6272#line 500
6273 ret = c2port_write_dr(dev, __cil_tmp11);
6274 }
6275#line 501
6276 if (ret < 0) {
6277#line 502
6278 return ((ssize_t )ret);
6279 } else {
6280
6281 }
6282 {
6283#line 505
6284 __cil_tmp12 = (u8 )1;
6285#line 505
6286 ret = c2port_write_dr(dev, __cil_tmp12);
6287 }
6288#line 506
6289 if (ret < 0) {
6290#line 507
6291 return ((ssize_t )ret);
6292 } else {
6293
6294 }
6295#line 511
6296 __ms = 25UL;
6297 {
6298#line 511
6299 while (1) {
6300 while_continue: ;
6301#line 511
6302 tmp___7 = __ms;
6303#line 511
6304 __ms = __ms - 1UL;
6305#line 511
6306 if (tmp___7) {
6307
6308 } else {
6309#line 511
6310 goto while_break;
6311 }
6312 {
6313#line 511
6314 __const_udelay(4295000UL);
6315 }
6316 }
6317 while_break___0: ;
6318 }
6319
6320 while_break: ;
6321#line 513
6322 return ((ssize_t )0);
6323}
6324}
6325#line 516 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6326static ssize_t c2port_store_flash_access(struct device *dev , struct device_attribute *attr ,
6327 char const *buf , size_t count )
6328{ struct c2port_device *c2dev ;
6329 void *tmp___7 ;
6330 int status ;
6331 ssize_t ret ;
6332 int tmp___8 ;
6333 struct device const *__cil_tmp10 ;
6334 struct mutex *__cil_tmp11 ;
6335 struct mutex *__cil_tmp12 ;
6336 struct device *__cil_tmp13 ;
6337 struct device const *__cil_tmp14 ;
6338 char *__cil_tmp15 ;
6339
6340 {
6341 {
6342#line 520
6343 __cil_tmp10 = (struct device const *)dev;
6344#line 520
6345 tmp___7 = dev_get_drvdata(__cil_tmp10);
6346#line 520
6347 c2dev = (struct c2port_device *)tmp___7;
6348#line 524
6349 tmp___8 = sscanf(buf, "%d", & status);
6350#line 524
6351 ret = (ssize_t )tmp___8;
6352 }
6353#line 525
6354 if (ret != 1L) {
6355#line 526
6356 return ((ssize_t )-22);
6357 } else {
6358
6359 }
6360 {
6361#line 528
6362 __cil_tmp11 = & c2dev->mutex;
6363#line 528
6364 mutex_lock_nested(__cil_tmp11, 0U);
6365#line 529
6366 ret = __c2port_store_flash_access(c2dev, status);
6367#line 530
6368 __cil_tmp12 = & c2dev->mutex;
6369#line 530
6370 mutex_unlock(__cil_tmp12);
6371 }
6372#line 532
6373 if (ret < 0L) {
6374 {
6375#line 533
6376 __cil_tmp13 = c2dev->dev;
6377#line 533
6378 __cil_tmp14 = (struct device const *)__cil_tmp13;
6379#line 533
6380 __cil_tmp15 = & c2dev->name[0];
6381#line 533
6382 dev_err(__cil_tmp14, "cannot enable %s flash programming\n", __cil_tmp15);
6383 }
6384#line 535
6385 return (ret);
6386 } else {
6387
6388 }
6389#line 538
6390 return ((ssize_t )count);
6391}
6392}
6393#line 541 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6394static ssize_t __c2port_write_flash_erase(struct c2port_device *dev )
6395{ u8 status ;
6396 int ret ;
6397 u8 __cil_tmp4 ;
6398 u8 __cil_tmp5 ;
6399 int __cil_tmp6 ;
6400 u8 __cil_tmp7 ;
6401 u8 __cil_tmp8 ;
6402 u8 __cil_tmp9 ;
6403
6404 {
6405 {
6406#line 549
6407 __cil_tmp4 = (u8 )180;
6408#line 549
6409 c2port_write_ar(dev, __cil_tmp4);
6410#line 552
6411 __cil_tmp5 = (u8 )3;
6412#line 552
6413 c2port_write_dr(dev, __cil_tmp5);
6414#line 555
6415 ret = c2port_poll_in_busy(dev);
6416 }
6417#line 556
6418 if (ret < 0) {
6419#line 557
6420 return ((ssize_t )ret);
6421 } else {
6422
6423 }
6424 {
6425#line 562
6426 ret = c2port_poll_out_ready(dev);
6427 }
6428#line 563
6429 if (ret < 0) {
6430#line 564
6431 return ((ssize_t )ret);
6432 } else {
6433
6434 }
6435 {
6436#line 567
6437 ret = c2port_read_dr(dev, & status);
6438 }
6439#line 568
6440 if (ret < 0) {
6441#line 569
6442 return ((ssize_t )ret);
6443 } else {
6444
6445 }
6446 {
6447#line 570
6448 __cil_tmp6 = (int )status;
6449#line 570
6450 if (__cil_tmp6 != 13) {
6451#line 571
6452 return ((ssize_t )-16);
6453 } else {
6454
6455 }
6456 }
6457 {
6458#line 578
6459 __cil_tmp7 = (u8 )222;
6460#line 578
6461 c2port_write_dr(dev, __cil_tmp7);
6462#line 579
6463 ret = c2port_poll_in_busy(dev);
6464 }
6465#line 580
6466 if (ret < 0) {
6467#line 581
6468 return ((ssize_t )ret);
6469 } else {
6470
6471 }
6472 {
6473#line 582
6474 __cil_tmp8 = (u8 )173;
6475#line 582
6476 c2port_write_dr(dev, __cil_tmp8);
6477#line 583
6478 ret = c2port_poll_in_busy(dev);
6479 }
6480#line 584
6481 if (ret < 0) {
6482#line 585
6483 return ((ssize_t )ret);
6484 } else {
6485
6486 }
6487 {
6488#line 586
6489 __cil_tmp9 = (u8 )165;
6490#line 586
6491 c2port_write_dr(dev, __cil_tmp9);
6492#line 587
6493 ret = c2port_poll_in_busy(dev);
6494 }
6495#line 588
6496 if (ret < 0) {
6497#line 589
6498 return ((ssize_t )ret);
6499 } else {
6500
6501 }
6502 {
6503#line 591
6504 ret = c2port_poll_out_ready(dev);
6505 }
6506#line 592
6507 if (ret < 0) {
6508#line 593
6509 return ((ssize_t )ret);
6510 } else {
6511
6512 }
6513#line 595
6514 return ((ssize_t )0);
6515}
6516}
6517#line 598 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6518static ssize_t c2port_store_flash_erase(struct device *dev , struct device_attribute *attr ,
6519 char const *buf , size_t count )
6520{ struct c2port_device *c2dev ;
6521 void *tmp___7 ;
6522 int ret ;
6523 ssize_t tmp___8 ;
6524 struct device const *__cil_tmp9 ;
6525 unsigned int __cil_tmp10 ;
6526 unsigned int __cil_tmp11 ;
6527 struct mutex *__cil_tmp12 ;
6528 struct mutex *__cil_tmp13 ;
6529 struct device *__cil_tmp14 ;
6530 struct device const *__cil_tmp15 ;
6531 char *__cil_tmp16 ;
6532
6533 {
6534 {
6535#line 602
6536 __cil_tmp9 = (struct device const *)dev;
6537#line 602
6538 tmp___7 = dev_get_drvdata(__cil_tmp9);
6539#line 602
6540 c2dev = (struct c2port_device *)tmp___7;
6541 }
6542 {
6543#line 606
6544 __cil_tmp10 = c2dev->access;
6545#line 606
6546 if (! __cil_tmp10) {
6547#line 607
6548 return ((ssize_t )-16);
6549 } else {
6550 {
6551#line 606
6552 __cil_tmp11 = c2dev->flash_access;
6553#line 606
6554 if (! __cil_tmp11) {
6555#line 607
6556 return ((ssize_t )-16);
6557 } else {
6558
6559 }
6560 }
6561 }
6562 }
6563 {
6564#line 609
6565 __cil_tmp12 = & c2dev->mutex;
6566#line 609
6567 mutex_lock_nested(__cil_tmp12, 0U);
6568#line 610
6569 tmp___8 = __c2port_write_flash_erase(c2dev);
6570#line 610
6571 ret = (int )tmp___8;
6572#line 611
6573 __cil_tmp13 = & c2dev->mutex;
6574#line 611
6575 mutex_unlock(__cil_tmp13);
6576 }
6577#line 613
6578 if (ret < 0) {
6579 {
6580#line 614
6581 __cil_tmp14 = c2dev->dev;
6582#line 614
6583 __cil_tmp15 = (struct device const *)__cil_tmp14;
6584#line 614
6585 __cil_tmp16 = & c2dev->name[0];
6586#line 614
6587 dev_err(__cil_tmp15, "cannot erase %s flash\n", __cil_tmp16);
6588 }
6589#line 615
6590 return ((ssize_t )ret);
6591 } else {
6592
6593 }
6594#line 618
6595 return ((ssize_t )count);
6596}
6597}
6598#line 621 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6599static ssize_t __c2port_read_flash_data(struct c2port_device *dev , char *buffer ,
6600 loff_t offset , size_t count )
6601{ struct c2port_ops *ops ;
6602 u8 status ;
6603 u8 nread ;
6604 int i ;
6605 int ret ;
6606 unsigned short __cil_tmp10 ;
6607 int __cil_tmp11 ;
6608 unsigned short __cil_tmp12 ;
6609 int __cil_tmp13 ;
6610 int __cil_tmp14 ;
6611 loff_t __cil_tmp15 ;
6612 loff_t __cil_tmp16 ;
6613 unsigned short __cil_tmp17 ;
6614 int __cil_tmp18 ;
6615 unsigned short __cil_tmp19 ;
6616 int __cil_tmp20 ;
6617 int __cil_tmp21 ;
6618 loff_t __cil_tmp22 ;
6619 loff_t __cil_tmp23 ;
6620 unsigned short __cil_tmp24 ;
6621 int __cil_tmp25 ;
6622 unsigned short __cil_tmp26 ;
6623 int __cil_tmp27 ;
6624 int __cil_tmp28 ;
6625 loff_t __cil_tmp29 ;
6626 loff_t __cil_tmp30 ;
6627 size_t __cil_tmp31 ;
6628 int __cil_tmp32 ;
6629 u8 __cil_tmp33 ;
6630 u8 __cil_tmp34 ;
6631 int __cil_tmp35 ;
6632 loff_t __cil_tmp36 ;
6633 u8 __cil_tmp37 ;
6634 long long __cil_tmp38 ;
6635 u8 __cil_tmp39 ;
6636 int __cil_tmp40 ;
6637 int __cil_tmp41 ;
6638 char *__cil_tmp42 ;
6639 u8 *__cil_tmp43 ;
6640
6641 {
6642#line 624
6643 ops = dev->ops;
6644#line 625
6645 nread = (u8 )128;
6646 {
6647#line 629
6648 __cil_tmp10 = ops->blocks_num;
6649#line 629
6650 __cil_tmp11 = (int )__cil_tmp10;
6651#line 629
6652 __cil_tmp12 = ops->block_size;
6653#line 629
6654 __cil_tmp13 = (int )__cil_tmp12;
6655#line 629
6656 __cil_tmp14 = __cil_tmp13 * __cil_tmp11;
6657#line 629
6658 __cil_tmp15 = (loff_t )__cil_tmp14;
6659#line 629
6660 if (offset >= __cil_tmp15) {
6661#line 630
6662 return ((ssize_t )0);
6663 } else {
6664
6665 }
6666 }
6667 {
6668#line 632
6669 __cil_tmp16 = (loff_t )nread;
6670#line 632
6671 __cil_tmp17 = ops->blocks_num;
6672#line 632
6673 __cil_tmp18 = (int )__cil_tmp17;
6674#line 632
6675 __cil_tmp19 = ops->block_size;
6676#line 632
6677 __cil_tmp20 = (int )__cil_tmp19;
6678#line 632
6679 __cil_tmp21 = __cil_tmp20 * __cil_tmp18;
6680#line 632
6681 __cil_tmp22 = (loff_t )__cil_tmp21;
6682#line 632
6683 __cil_tmp23 = __cil_tmp22 - offset;
6684#line 632
6685 if (__cil_tmp23 < __cil_tmp16) {
6686#line 633
6687 __cil_tmp24 = ops->blocks_num;
6688#line 633
6689 __cil_tmp25 = (int )__cil_tmp24;
6690#line 633
6691 __cil_tmp26 = ops->block_size;
6692#line 633
6693 __cil_tmp27 = (int )__cil_tmp26;
6694#line 633
6695 __cil_tmp28 = __cil_tmp27 * __cil_tmp25;
6696#line 633
6697 __cil_tmp29 = (loff_t )__cil_tmp28;
6698#line 633
6699 __cil_tmp30 = __cil_tmp29 - offset;
6700#line 633
6701 nread = (u8 )__cil_tmp30;
6702 } else {
6703
6704 }
6705 }
6706 {
6707#line 634
6708 __cil_tmp31 = (size_t )nread;
6709#line 634
6710 if (count < __cil_tmp31) {
6711#line 635
6712 nread = (u8 )count;
6713 } else {
6714
6715 }
6716 }
6717 {
6718#line 636
6719 __cil_tmp32 = (int )nread;
6720#line 636
6721 if (__cil_tmp32 == 0) {
6722#line 637
6723 return ((ssize_t )nread);
6724 } else {
6725
6726 }
6727 }
6728 {
6729#line 641
6730 __cil_tmp33 = (u8 )180;
6731#line 641
6732 c2port_write_ar(dev, __cil_tmp33);
6733#line 644
6734 __cil_tmp34 = (u8 )6;
6735#line 644
6736 c2port_write_dr(dev, __cil_tmp34);
6737#line 647
6738 ret = c2port_poll_in_busy(dev);
6739 }
6740#line 648
6741 if (ret < 0) {
6742#line 649
6743 return ((ssize_t )ret);
6744 } else {
6745
6746 }
6747 {
6748#line 654
6749 ret = c2port_poll_out_ready(dev);
6750 }
6751#line 655
6752 if (ret < 0) {
6753#line 656
6754 return ((ssize_t )ret);
6755 } else {
6756
6757 }
6758 {
6759#line 659
6760 ret = c2port_read_dr(dev, & status);
6761 }
6762#line 660
6763 if (ret < 0) {
6764#line 661
6765 return ((ssize_t )ret);
6766 } else {
6767
6768 }
6769 {
6770#line 662
6771 __cil_tmp35 = (int )status;
6772#line 662
6773 if (__cil_tmp35 != 13) {
6774#line 663
6775 return ((ssize_t )-16);
6776 } else {
6777
6778 }
6779 }
6780 {
6781#line 666
6782 __cil_tmp36 = offset >> 8;
6783#line 666
6784 __cil_tmp37 = (u8 )__cil_tmp36;
6785#line 666
6786 c2port_write_dr(dev, __cil_tmp37);
6787#line 667
6788 ret = c2port_poll_in_busy(dev);
6789 }
6790#line 668
6791 if (ret < 0) {
6792#line 669
6793 return ((ssize_t )ret);
6794 } else {
6795
6796 }
6797 {
6798#line 672
6799 __cil_tmp38 = offset & 255LL;
6800#line 672
6801 __cil_tmp39 = (u8 )__cil_tmp38;
6802#line 672
6803 c2port_write_dr(dev, __cil_tmp39);
6804#line 673
6805 ret = c2port_poll_in_busy(dev);
6806 }
6807#line 674
6808 if (ret < 0) {
6809#line 675
6810 return ((ssize_t )ret);
6811 } else {
6812
6813 }
6814 {
6815#line 678
6816 c2port_write_dr(dev, nread);
6817#line 679
6818 ret = c2port_poll_in_busy(dev);
6819 }
6820#line 680
6821 if (ret < 0) {
6822#line 681
6823 return ((ssize_t )ret);
6824 } else {
6825
6826 }
6827 {
6828#line 686
6829 ret = c2port_poll_out_ready(dev);
6830 }
6831#line 687
6832 if (ret < 0) {
6833#line 688
6834 return ((ssize_t )ret);
6835 } else {
6836
6837 }
6838 {
6839#line 691
6840 ret = c2port_read_dr(dev, & status);
6841 }
6842#line 692
6843 if (ret < 0) {
6844#line 693
6845 return ((ssize_t )ret);
6846 } else {
6847
6848 }
6849 {
6850#line 694
6851 __cil_tmp40 = (int )status;
6852#line 694
6853 if (__cil_tmp40 != 13) {
6854#line 695
6855 return ((ssize_t )-16);
6856 } else {
6857
6858 }
6859 }
6860#line 698
6861 i = 0;
6862 {
6863#line 698
6864 while (1) {
6865 while_continue: ;
6866
6867 {
6868#line 698
6869 __cil_tmp41 = (int )nread;
6870#line 698
6871 if (i < __cil_tmp41) {
6872
6873 } else {
6874#line 698
6875 goto while_break;
6876 }
6877 }
6878 {
6879#line 699
6880 ret = c2port_poll_out_ready(dev);
6881 }
6882#line 700
6883 if (ret < 0) {
6884#line 701
6885 return ((ssize_t )ret);
6886 } else {
6887
6888 }
6889 {
6890#line 703
6891 __cil_tmp42 = buffer + i;
6892#line 703
6893 __cil_tmp43 = (u8 *)__cil_tmp42;
6894#line 703
6895 ret = c2port_read_dr(dev, __cil_tmp43);
6896 }
6897#line 704
6898 if (ret < 0) {
6899#line 705
6900 return ((ssize_t )ret);
6901 } else {
6902
6903 }
6904#line 698
6905 i = i + 1;
6906 }
6907 while_break___0: ;
6908 }
6909
6910 while_break: ;
6911#line 708
6912 return ((ssize_t )nread);
6913}
6914}
6915#line 711 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6916static ssize_t c2port_read_flash_data(struct file *filp , struct kobject *kobj , struct bin_attribute *attr ,
6917 char *buffer , loff_t offset , size_t count )
6918{ struct c2port_device *c2dev ;
6919 struct kobject const *__mptr ;
6920 void *tmp___7 ;
6921 ssize_t ret ;
6922 struct device *__cil_tmp11 ;
6923 struct kobject *__cil_tmp12 ;
6924 unsigned int __cil_tmp13 ;
6925 char *__cil_tmp14 ;
6926 char *__cil_tmp15 ;
6927 struct device *__cil_tmp16 ;
6928 struct device const *__cil_tmp17 ;
6929 unsigned int __cil_tmp18 ;
6930 unsigned int __cil_tmp19 ;
6931 struct mutex *__cil_tmp20 ;
6932 struct mutex *__cil_tmp21 ;
6933 struct device *__cil_tmp22 ;
6934 struct device const *__cil_tmp23 ;
6935 char *__cil_tmp24 ;
6936
6937 {
6938 {
6939#line 716
6940 __mptr = (struct kobject const *)kobj;
6941#line 716
6942 __cil_tmp11 = (struct device *)0;
6943#line 716
6944 __cil_tmp12 = & __cil_tmp11->kobj;
6945#line 716
6946 __cil_tmp13 = (unsigned int )__cil_tmp12;
6947#line 716
6948 __cil_tmp14 = (char *)__mptr;
6949#line 716
6950 __cil_tmp15 = __cil_tmp14 - __cil_tmp13;
6951#line 716
6952 __cil_tmp16 = (struct device *)__cil_tmp15;
6953#line 716
6954 __cil_tmp17 = (struct device const *)__cil_tmp16;
6955#line 716
6956 tmp___7 = dev_get_drvdata(__cil_tmp17);
6957#line 716
6958 c2dev = (struct c2port_device *)tmp___7;
6959 }
6960 {
6961#line 721
6962 __cil_tmp18 = c2dev->access;
6963#line 721
6964 if (! __cil_tmp18) {
6965#line 722
6966 return ((ssize_t )-16);
6967 } else {
6968 {
6969#line 721
6970 __cil_tmp19 = c2dev->flash_access;
6971#line 721
6972 if (! __cil_tmp19) {
6973#line 722
6974 return ((ssize_t )-16);
6975 } else {
6976
6977 }
6978 }
6979 }
6980 }
6981 {
6982#line 724
6983 __cil_tmp20 = & c2dev->mutex;
6984#line 724
6985 mutex_lock_nested(__cil_tmp20, 0U);
6986#line 725
6987 ret = __c2port_read_flash_data(c2dev, buffer, offset, count);
6988#line 726
6989 __cil_tmp21 = & c2dev->mutex;
6990#line 726
6991 mutex_unlock(__cil_tmp21);
6992 }
6993#line 728
6994 if (ret < 0L) {
6995 {
6996#line 729
6997 __cil_tmp22 = c2dev->dev;
6998#line 729
6999 __cil_tmp23 = (struct device const *)__cil_tmp22;
7000#line 729
7001 __cil_tmp24 = & c2dev->name[0];
7002#line 729
7003 dev_err(__cil_tmp23, "cannot read %s flash\n", __cil_tmp24);
7004 }
7005 } else {
7006
7007 }
7008#line 731
7009 return (ret);
7010}
7011}
7012#line 734 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7013static ssize_t __c2port_write_flash_data(struct c2port_device *dev , char *buffer ,
7014 loff_t offset , size_t count )
7015{ struct c2port_ops *ops ;
7016 u8 status ;
7017 u8 nwrite ;
7018 int i ;
7019 int ret ;
7020 size_t __cil_tmp10 ;
7021 loff_t __cil_tmp11 ;
7022 unsigned short __cil_tmp12 ;
7023 int __cil_tmp13 ;
7024 unsigned short __cil_tmp14 ;
7025 int __cil_tmp15 ;
7026 int __cil_tmp16 ;
7027 loff_t __cil_tmp17 ;
7028 loff_t __cil_tmp18 ;
7029 unsigned short __cil_tmp19 ;
7030 int __cil_tmp20 ;
7031 unsigned short __cil_tmp21 ;
7032 int __cil_tmp22 ;
7033 int __cil_tmp23 ;
7034 loff_t __cil_tmp24 ;
7035 loff_t __cil_tmp25 ;
7036 unsigned short __cil_tmp26 ;
7037 int __cil_tmp27 ;
7038 unsigned short __cil_tmp28 ;
7039 int __cil_tmp29 ;
7040 int __cil_tmp30 ;
7041 loff_t __cil_tmp31 ;
7042 u8 __cil_tmp32 ;
7043 u8 __cil_tmp33 ;
7044 int __cil_tmp34 ;
7045 loff_t __cil_tmp35 ;
7046 u8 __cil_tmp36 ;
7047 long long __cil_tmp37 ;
7048 u8 __cil_tmp38 ;
7049 int __cil_tmp39 ;
7050 int __cil_tmp40 ;
7051 char *__cil_tmp41 ;
7052 char __cil_tmp42 ;
7053 u8 __cil_tmp43 ;
7054
7055 {
7056#line 737
7057 ops = dev->ops;
7058#line 738
7059 nwrite = (u8 )128;
7060 {
7061#line 741
7062 __cil_tmp10 = (size_t )nwrite;
7063#line 741
7064 if (__cil_tmp10 > count) {
7065#line 742
7066 nwrite = (u8 )count;
7067 } else {
7068
7069 }
7070 }
7071 {
7072#line 743
7073 __cil_tmp11 = (loff_t )nwrite;
7074#line 743
7075 __cil_tmp12 = ops->blocks_num;
7076#line 743
7077 __cil_tmp13 = (int )__cil_tmp12;
7078#line 743
7079 __cil_tmp14 = ops->block_size;
7080#line 743
7081 __cil_tmp15 = (int )__cil_tmp14;
7082#line 743
7083 __cil_tmp16 = __cil_tmp15 * __cil_tmp13;
7084#line 743
7085 __cil_tmp17 = (loff_t )__cil_tmp16;
7086#line 743
7087 __cil_tmp18 = __cil_tmp17 - offset;
7088#line 743
7089 if (__cil_tmp18 < __cil_tmp11) {
7090#line 744
7091 __cil_tmp19 = ops->blocks_num;
7092#line 744
7093 __cil_tmp20 = (int )__cil_tmp19;
7094#line 744
7095 __cil_tmp21 = ops->block_size;
7096#line 744
7097 __cil_tmp22 = (int )__cil_tmp21;
7098#line 744
7099 __cil_tmp23 = __cil_tmp22 * __cil_tmp20;
7100#line 744
7101 __cil_tmp24 = (loff_t )__cil_tmp23;
7102#line 744
7103 __cil_tmp25 = __cil_tmp24 - offset;
7104#line 744
7105 nwrite = (u8 )__cil_tmp25;
7106 } else {
7107
7108 }
7109 }
7110 {
7111#line 747
7112 __cil_tmp26 = ops->blocks_num;
7113#line 747
7114 __cil_tmp27 = (int )__cil_tmp26;
7115#line 747
7116 __cil_tmp28 = ops->block_size;
7117#line 747
7118 __cil_tmp29 = (int )__cil_tmp28;
7119#line 747
7120 __cil_tmp30 = __cil_tmp29 * __cil_tmp27;
7121#line 747
7122 __cil_tmp31 = (loff_t )__cil_tmp30;
7123#line 747
7124 if (offset >= __cil_tmp31) {
7125#line 748
7126 return ((ssize_t )-22);
7127 } else {
7128
7129 }
7130 }
7131 {
7132#line 752
7133 __cil_tmp32 = (u8 )180;
7134#line 752
7135 c2port_write_ar(dev, __cil_tmp32);
7136#line 755
7137 __cil_tmp33 = (u8 )7;
7138#line 755
7139 c2port_write_dr(dev, __cil_tmp33);
7140#line 758
7141 ret = c2port_poll_in_busy(dev);
7142 }
7143#line 759
7144 if (ret < 0) {
7145#line 760
7146 return ((ssize_t )ret);
7147 } else {
7148
7149 }
7150 {
7151#line 765
7152 ret = c2port_poll_out_ready(dev);
7153 }
7154#line 766
7155 if (ret < 0) {
7156#line 767
7157 return ((ssize_t )ret);
7158 } else {
7159
7160 }
7161 {
7162#line 770
7163 ret = c2port_read_dr(dev, & status);
7164 }
7165#line 771
7166 if (ret < 0) {
7167#line 772
7168 return ((ssize_t )ret);
7169 } else {
7170
7171 }
7172 {
7173#line 773
7174 __cil_tmp34 = (int )status;
7175#line 773
7176 if (__cil_tmp34 != 13) {
7177#line 774
7178 return ((ssize_t )-16);
7179 } else {
7180
7181 }
7182 }
7183 {
7184#line 777
7185 __cil_tmp35 = offset >> 8;
7186#line 777
7187 __cil_tmp36 = (u8 )__cil_tmp35;
7188#line 777
7189 c2port_write_dr(dev, __cil_tmp36);
7190#line 778
7191 ret = c2port_poll_in_busy(dev);
7192 }
7193#line 779
7194 if (ret < 0) {
7195#line 780
7196 return ((ssize_t )ret);
7197 } else {
7198
7199 }
7200 {
7201#line 783
7202 __cil_tmp37 = offset & 255LL;
7203#line 783
7204 __cil_tmp38 = (u8 )__cil_tmp37;
7205#line 783
7206 c2port_write_dr(dev, __cil_tmp38);
7207#line 784
7208 ret = c2port_poll_in_busy(dev);
7209 }
7210#line 785
7211 if (ret < 0) {
7212#line 786
7213 return ((ssize_t )ret);
7214 } else {
7215
7216 }
7217 {
7218#line 789
7219 c2port_write_dr(dev, nwrite);
7220#line 790
7221 ret = c2port_poll_in_busy(dev);
7222 }
7223#line 791
7224 if (ret < 0) {
7225#line 792
7226 return ((ssize_t )ret);
7227 } else {
7228
7229 }
7230 {
7231#line 797
7232 ret = c2port_poll_out_ready(dev);
7233 }
7234#line 798
7235 if (ret < 0) {
7236#line 799
7237 return ((ssize_t )ret);
7238 } else {
7239
7240 }
7241 {
7242#line 802
7243 ret = c2port_read_dr(dev, & status);
7244 }
7245#line 803
7246 if (ret < 0) {
7247#line 804
7248 return ((ssize_t )ret);
7249 } else {
7250
7251 }
7252 {
7253#line 805
7254 __cil_tmp39 = (int )status;
7255#line 805
7256 if (__cil_tmp39 != 13) {
7257#line 806
7258 return ((ssize_t )-16);
7259 } else {
7260
7261 }
7262 }
7263#line 809
7264 i = 0;
7265 {
7266#line 809
7267 while (1) {
7268 while_continue: ;
7269
7270 {
7271#line 809
7272 __cil_tmp40 = (int )nwrite;
7273#line 809
7274 if (i < __cil_tmp40) {
7275
7276 } else {
7277#line 809
7278 goto while_break;
7279 }
7280 }
7281 {
7282#line 810
7283 __cil_tmp41 = buffer + i;
7284#line 810
7285 __cil_tmp42 = *__cil_tmp41;
7286#line 810
7287 __cil_tmp43 = (u8 )__cil_tmp42;
7288#line 810
7289 ret = c2port_write_dr(dev, __cil_tmp43);
7290 }
7291#line 811
7292 if (ret < 0) {
7293#line 812
7294 return ((ssize_t )ret);
7295 } else {
7296
7297 }
7298 {
7299#line 814
7300 ret = c2port_poll_in_busy(dev);
7301 }
7302#line 815
7303 if (ret < 0) {
7304#line 816
7305 return ((ssize_t )ret);
7306 } else {
7307
7308 }
7309#line 809
7310 i = i + 1;
7311 }
7312 while_break___0: ;
7313 }
7314
7315 while_break:
7316 {
7317#line 821
7318 ret = c2port_poll_out_ready(dev);
7319 }
7320#line 822
7321 if (ret < 0) {
7322#line 823
7323 return ((ssize_t )ret);
7324 } else {
7325
7326 }
7327#line 825
7328 return ((ssize_t )nwrite);
7329}
7330}
7331#line 828 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7332static ssize_t c2port_write_flash_data(struct file *filp , struct kobject *kobj ,
7333 struct bin_attribute *attr , char *buffer ,
7334 loff_t offset , size_t count )
7335{ struct c2port_device *c2dev ;
7336 struct kobject const *__mptr ;
7337 void *tmp___7 ;
7338 int ret ;
7339 ssize_t tmp___8 ;
7340 struct device *__cil_tmp12 ;
7341 struct kobject *__cil_tmp13 ;
7342 unsigned int __cil_tmp14 ;
7343 char *__cil_tmp15 ;
7344 char *__cil_tmp16 ;
7345 struct device *__cil_tmp17 ;
7346 struct device const *__cil_tmp18 ;
7347 unsigned int __cil_tmp19 ;
7348 unsigned int __cil_tmp20 ;
7349 struct mutex *__cil_tmp21 ;
7350 struct mutex *__cil_tmp22 ;
7351 struct device *__cil_tmp23 ;
7352 struct device const *__cil_tmp24 ;
7353 char *__cil_tmp25 ;
7354
7355 {
7356 {
7357#line 833
7358 __mptr = (struct kobject const *)kobj;
7359#line 833
7360 __cil_tmp12 = (struct device *)0;
7361#line 833
7362 __cil_tmp13 = & __cil_tmp12->kobj;
7363#line 833
7364 __cil_tmp14 = (unsigned int )__cil_tmp13;
7365#line 833
7366 __cil_tmp15 = (char *)__mptr;
7367#line 833
7368 __cil_tmp16 = __cil_tmp15 - __cil_tmp14;
7369#line 833
7370 __cil_tmp17 = (struct device *)__cil_tmp16;
7371#line 833
7372 __cil_tmp18 = (struct device const *)__cil_tmp17;
7373#line 833
7374 tmp___7 = dev_get_drvdata(__cil_tmp18);
7375#line 833
7376 c2dev = (struct c2port_device *)tmp___7;
7377 }
7378 {
7379#line 838
7380 __cil_tmp19 = c2dev->access;
7381#line 838
7382 if (! __cil_tmp19) {
7383#line 839
7384 return ((ssize_t )-16);
7385 } else {
7386 {
7387#line 838
7388 __cil_tmp20 = c2dev->flash_access;
7389#line 838
7390 if (! __cil_tmp20) {
7391#line 839
7392 return ((ssize_t )-16);
7393 } else {
7394
7395 }
7396 }
7397 }
7398 }
7399 {
7400#line 841
7401 __cil_tmp21 = & c2dev->mutex;
7402#line 841
7403 mutex_lock_nested(__cil_tmp21, 0U);
7404#line 842
7405 tmp___8 = __c2port_write_flash_data(c2dev, buffer, offset, count);
7406#line 842
7407 ret = (int )tmp___8;
7408#line 843
7409 __cil_tmp22 = & c2dev->mutex;
7410#line 843
7411 mutex_unlock(__cil_tmp22);
7412 }
7413#line 845
7414 if (ret < 0) {
7415 {
7416#line 846
7417 __cil_tmp23 = c2dev->dev;
7418#line 846
7419 __cil_tmp24 = (struct device const *)__cil_tmp23;
7420#line 846
7421 __cil_tmp25 = & c2dev->name[0];
7422#line 846
7423 dev_err(__cil_tmp24, "cannot write %s flash\n", __cil_tmp25);
7424 }
7425 } else {
7426
7427 }
7428#line 848
7429 return ((ssize_t )ret);
7430}
7431}
7432#line 855 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7433static struct device_attribute c2port_attrs[11] =
7434#line 855
7435 { {{"name", (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7436 {(char)0}, {(char)0}, {(char)0},
7437 {(char)0}, {(char)0}}}},
7438 & c2port_show_name, (ssize_t (*)(struct device *dev , struct device_attribute *attr ,
7439 char const *buf , size_t count ))((void *)0)},
7440 {{"flash_blocks_num",
7441 (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7442 {(char)0}, {(char)0}, {(char)0},
7443 {(char)0}, {(char)0}}}}, & c2port_show_flash_blocks_num,
7444 (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const *buf ,
7445 size_t count ))((void *)0)},
7446 {{"flash_block_size", (mode_t )292, (struct lock_class_key *)0, {{{(char)0},
7447 {(char)0},
7448 {(char)0},
7449 {(char)0},
7450 {(char)0},
7451 {(char)0},
7452 {(char)0},
7453 {(char)0}}}},
7454 & c2port_show_flash_block_size, (ssize_t (*)(struct device *dev , struct device_attribute *attr ,
7455 char const *buf , size_t count ))((void *)0)},
7456 {{"flash_size",
7457 (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7458 {(char)0}, {(char)0}, {(char)0},
7459 {(char)0}, {(char)0}}}}, & c2port_show_flash_size,
7460 (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const *buf ,
7461 size_t count ))((void *)0)},
7462 {{"access", (mode_t )420, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7463 {(char)0}, {(char)0},
7464 {(char)0}, {(char)0},
7465 {(char)0}, {(char)0}}}},
7466 & c2port_show_access, & c2port_store_access},
7467 {{"reset", (mode_t )128, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7468 {(char)0}, {(char)0},
7469 {(char)0}, {(char)0},
7470 {(char)0}, {(char)0}}}},
7471 (ssize_t (*)(struct device *dev , struct device_attribute *attr , char *buf ))((void *)0),
7472 & c2port_store_reset},
7473 {{"dev_id", (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7474 {(char)0}, {(char)0},
7475 {(char)0}, {(char)0},
7476 {(char)0}, {(char)0}}}},
7477 & c2port_show_dev_id, (ssize_t (*)(struct device *dev , struct device_attribute *attr ,
7478 char const *buf , size_t count ))((void *)0)},
7479 {{"rev_id",
7480 (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7481 {(char)0}, {(char)0}, {(char)0},
7482 {(char)0}, {(char)0}}}}, & c2port_show_rev_id,
7483 (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const *buf ,
7484 size_t count ))((void *)0)},
7485 {{"flash_access", (mode_t )420, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7486 {(char)0}, {(char)0},
7487 {(char)0}, {(char)0},
7488 {(char)0}, {(char)0}}}},
7489 & c2port_show_flash_access, & c2port_store_flash_access},
7490 {{"flash_erase", (mode_t )128, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7491 {(char)0}, {(char)0},
7492 {(char)0}, {(char)0},
7493 {(char)0}, {(char)0}}}},
7494 (ssize_t (*)(struct device *dev , struct device_attribute *attr , char *buf ))((void *)0),
7495 & c2port_store_flash_erase},
7496 {{(char const *)((void *)0), 0U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7497 {(char)0}, {(char)0},
7498 {(char)0}, {(char)0},
7499 {(char)0}, {(char)0}}}},
7500 (ssize_t (*)(struct device *dev , struct device_attribute *attr , char *buf ))0,
7501 (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const *buf ,
7502 size_t count ))0}};
7503#line 871 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7504static struct bin_attribute c2port_bin_attrs = {{"flash_data", (mode_t )420, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7505 {(char)0}, {(char)0},
7506 {(char)0}, {(char)0},
7507 {(char)0}, {(char)0}}}},
7508 0UL, (void *)0, & c2port_read_flash_data, & c2port_write_flash_data, (int (*)(struct file * ,
7509 struct kobject * ,
7510 struct bin_attribute *attr ,
7511 struct vm_area_struct *vma ))0};
7512#line 925 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7513static struct lock_class_key __key___4 ;
7514#line 885 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7515struct c2port_device *c2port_device_register(char *name , struct c2port_ops *ops ,
7516 void *devdata )
7517{ struct c2port_device *c2dev ;
7518 int id ;
7519 int ret ;
7520 void *tmp___7 ;
7521 long tmp___8 ;
7522 long tmp___9 ;
7523 long tmp___10 ;
7524 long tmp___11 ;
7525 long tmp___12 ;
7526 long tmp___13 ;
7527 void *tmp___14 ;
7528 void *tmp___15 ;
7529 long tmp___16 ;
7530 long tmp___17 ;
7531 long tmp___18 ;
7532 int tmp___19 ;
7533 long tmp___20 ;
7534 long tmp___21 ;
7535 unsigned int tmp___22 ;
7536 void *tmp___23 ;
7537 void *tmp ;
7538 void *tmp___24 ;
7539 void *tmp___25 ;
7540 void *tmp___26 ;
7541 void *tmp___27 ;
7542 void *tmp___28 ;
7543 void *tmp___29 ;
7544 long tmp___30 ;
7545 long tmp___31 ;
7546 int tmp___32 ;
7547 void *tmp___33 ;
7548 void *tmp___34 ;
7549 void *tmp___35 ;
7550 void *tmp___36 ;
7551 void *tmp___37 ;
7552 void *tmp___38 ;
7553 void *tmp___39 ;
7554 void *tmp___40 ;
7555 long tmp___41 ;
7556 long tmp___42 ;
7557 int tmp___43 ;
7558 void *tmp___44 ;
7559 int __cil_tmp46 ;
7560 int __cil_tmp47 ;
7561 int __cil_tmp48 ;
7562 long __cil_tmp49 ;
7563 void (*__cil_tmp50)(struct c2port_device *dev , int status ) ;
7564 int __cil_tmp51 ;
7565 int __cil_tmp52 ;
7566 int __cil_tmp53 ;
7567 long __cil_tmp54 ;
7568 void (*__cil_tmp55)(struct c2port_device *dev , int dir ) ;
7569 int __cil_tmp56 ;
7570 int __cil_tmp57 ;
7571 int __cil_tmp58 ;
7572 long __cil_tmp59 ;
7573 void (*__cil_tmp60)(struct c2port_device *dev , int status ) ;
7574 int __cil_tmp61 ;
7575 int __cil_tmp62 ;
7576 int __cil_tmp63 ;
7577 long __cil_tmp64 ;
7578 int (*__cil_tmp65)(struct c2port_device *dev ) ;
7579 int __cil_tmp66 ;
7580 int __cil_tmp67 ;
7581 int __cil_tmp68 ;
7582 long __cil_tmp69 ;
7583 void (*__cil_tmp70)(struct c2port_device *dev , int status ) ;
7584 int __cil_tmp71 ;
7585 int __cil_tmp72 ;
7586 int __cil_tmp73 ;
7587 long __cil_tmp74 ;
7588 int __cil_tmp75 ;
7589 int __cil_tmp76 ;
7590 int __cil_tmp77 ;
7591 long __cil_tmp78 ;
7592 void *__cil_tmp79 ;
7593 void *__cil_tmp80 ;
7594 struct device *__cil_tmp81 ;
7595 dev_t __cil_tmp82 ;
7596 void *__cil_tmp83 ;
7597 struct device *__cil_tmp84 ;
7598 void const *__cil_tmp85 ;
7599 long __cil_tmp86 ;
7600 struct device *__cil_tmp87 ;
7601 void const *__cil_tmp88 ;
7602 struct device *__cil_tmp89 ;
7603 void *__cil_tmp90 ;
7604 char *__cil_tmp91 ;
7605 char const *__cil_tmp92 ;
7606 __kernel_size_t __cil_tmp93 ;
7607 struct mutex *__cil_tmp94 ;
7608 unsigned short __cil_tmp95 ;
7609 int __cil_tmp96 ;
7610 unsigned short __cil_tmp97 ;
7611 int __cil_tmp98 ;
7612 int __cil_tmp99 ;
7613 struct device *__cil_tmp100 ;
7614 struct bin_attribute const *__cil_tmp101 ;
7615 int __cil_tmp102 ;
7616 int __cil_tmp103 ;
7617 long __cil_tmp104 ;
7618 void (*__cil_tmp105)(struct c2port_device *dev , int status ) ;
7619 struct device *__cil_tmp106 ;
7620 struct device const *__cil_tmp107 ;
7621 struct device *__cil_tmp108 ;
7622 struct device const *__cil_tmp109 ;
7623 unsigned short __cil_tmp110 ;
7624 int __cil_tmp111 ;
7625 unsigned short __cil_tmp112 ;
7626 int __cil_tmp113 ;
7627 unsigned short __cil_tmp114 ;
7628 int __cil_tmp115 ;
7629 unsigned short __cil_tmp116 ;
7630 int __cil_tmp117 ;
7631 int __cil_tmp118 ;
7632 dev_t __cil_tmp119 ;
7633 void const *__cil_tmp120 ;
7634 long __cil_tmp121 ;
7635
7636 {
7637 {
7638#line 891
7639 __cil_tmp46 = ! ops;
7640#line 891
7641 __cil_tmp47 = ! __cil_tmp46;
7642#line 891
7643 __cil_tmp48 = ! __cil_tmp47;
7644#line 891
7645 __cil_tmp49 = (long )__cil_tmp48;
7646#line 891
7647 tmp___8 = __builtin_expect(__cil_tmp49, 0L);
7648 }
7649#line 891
7650 if (tmp___8) {
7651 {
7652#line 894
7653 tmp___34 = (void *)ERR_PTR(-22L);
7654#line 894
7655 tmp = tmp___34;
7656#line 894
7657 tmp___7 = tmp;
7658 }
7659#line 894
7660 return ((struct c2port_device *)tmp___7);
7661 } else {
7662 {
7663#line 891
7664 __cil_tmp50 = ops->access;
7665#line 891
7666 __cil_tmp51 = ! __cil_tmp50;
7667#line 891
7668 __cil_tmp52 = ! __cil_tmp51;
7669#line 891
7670 __cil_tmp53 = ! __cil_tmp52;
7671#line 891
7672 __cil_tmp54 = (long )__cil_tmp53;
7673#line 891
7674 tmp___9 = __builtin_expect(__cil_tmp54, 0L);
7675 }
7676#line 891
7677 if (tmp___9) {
7678 {
7679#line 894
7680 tmp___35 = (void *)ERR_PTR(-22L);
7681#line 894
7682 tmp___24 = tmp___35;
7683#line 894
7684 tmp___7 = tmp___24;
7685 }
7686#line 894
7687 return ((struct c2port_device *)tmp___7);
7688 } else {
7689 {
7690#line 891
7691 __cil_tmp55 = ops->c2d_dir;
7692#line 891
7693 __cil_tmp56 = ! __cil_tmp55;
7694#line 891
7695 __cil_tmp57 = ! __cil_tmp56;
7696#line 891
7697 __cil_tmp58 = ! __cil_tmp57;
7698#line 891
7699 __cil_tmp59 = (long )__cil_tmp58;
7700#line 891
7701 tmp___10 = __builtin_expect(__cil_tmp59, 0L);
7702 }
7703#line 891
7704 if (tmp___10) {
7705 {
7706#line 894
7707 tmp___36 = (void *)ERR_PTR(-22L);
7708#line 894
7709 tmp___25 = tmp___36;
7710#line 894
7711 tmp___7 = tmp___25;
7712 }
7713#line 894
7714 return ((struct c2port_device *)tmp___7);
7715 } else {
7716 {
7717#line 891
7718 __cil_tmp60 = ops->c2ck_set;
7719#line 891
7720 __cil_tmp61 = ! __cil_tmp60;
7721#line 891
7722 __cil_tmp62 = ! __cil_tmp61;
7723#line 891
7724 __cil_tmp63 = ! __cil_tmp62;
7725#line 891
7726 __cil_tmp64 = (long )__cil_tmp63;
7727#line 891
7728 tmp___11 = __builtin_expect(__cil_tmp64, 0L);
7729 }
7730#line 891
7731 if (tmp___11) {
7732 {
7733#line 894
7734 tmp___37 = (void *)ERR_PTR(-22L);
7735#line 894
7736 tmp___26 = tmp___37;
7737#line 894
7738 tmp___7 = tmp___26;
7739 }
7740#line 894
7741 return ((struct c2port_device *)tmp___7);
7742 } else {
7743 {
7744#line 891
7745 __cil_tmp65 = ops->c2d_get;
7746#line 891
7747 __cil_tmp66 = ! __cil_tmp65;
7748#line 891
7749 __cil_tmp67 = ! __cil_tmp66;
7750#line 891
7751 __cil_tmp68 = ! __cil_tmp67;
7752#line 891
7753 __cil_tmp69 = (long )__cil_tmp68;
7754#line 891
7755 tmp___12 = __builtin_expect(__cil_tmp69, 0L);
7756 }
7757#line 891
7758 if (tmp___12) {
7759 {
7760#line 894
7761 tmp___38 = (void *)ERR_PTR(-22L);
7762#line 894
7763 tmp___27 = tmp___38;
7764#line 894
7765 tmp___7 = tmp___27;
7766 }
7767#line 894
7768 return ((struct c2port_device *)tmp___7);
7769 } else {
7770 {
7771#line 891
7772 __cil_tmp70 = ops->c2d_set;
7773#line 891
7774 __cil_tmp71 = ! __cil_tmp70;
7775#line 891
7776 __cil_tmp72 = ! __cil_tmp71;
7777#line 891
7778 __cil_tmp73 = ! __cil_tmp72;
7779#line 891
7780 __cil_tmp74 = (long )__cil_tmp73;
7781#line 891
7782 tmp___13 = __builtin_expect(__cil_tmp74, 0L);
7783 }
7784#line 891
7785 if (tmp___13) {
7786 {
7787#line 894
7788 tmp___39 = (void *)ERR_PTR(-22L);
7789#line 894
7790 tmp___28 = tmp___39;
7791#line 894
7792 tmp___7 = tmp___28;
7793 }
7794#line 894
7795 return ((struct c2port_device *)tmp___7);
7796 } else {
7797
7798 }
7799 }
7800 }
7801 }
7802 }
7803 }
7804 {
7805#line 896
7806 tmp___14 = kmalloc(232UL, 208U);
7807#line 896
7808 c2dev = (struct c2port_device *)tmp___14;
7809 }
7810 {
7811#line 897
7812 while (1) {
7813 while_continue: ;
7814
7815#line 897
7816 goto while_break;
7817 }
7818 while_break___1: ;
7819 }
7820
7821 while_break:
7822 {
7823#line 898
7824 __cil_tmp75 = ! c2dev;
7825#line 898
7826 __cil_tmp76 = ! __cil_tmp75;
7827#line 898
7828 __cil_tmp77 = ! __cil_tmp76;
7829#line 898
7830 __cil_tmp78 = (long )__cil_tmp77;
7831#line 898
7832 tmp___16 = __builtin_expect(__cil_tmp78, 0L);
7833 }
7834#line 898
7835 if (tmp___16) {
7836 {
7837#line 899
7838 tmp___40 = (void *)ERR_PTR(-12L);
7839#line 899
7840 tmp___29 = tmp___40;
7841#line 899
7842 tmp___15 = tmp___29;
7843 }
7844#line 899
7845 return ((struct c2port_device *)tmp___15);
7846 } else {
7847
7848 }
7849 {
7850#line 901
7851 ret = idr_pre_get(& c2port_idr, 208U);
7852 }
7853#line 902
7854 if (! ret) {
7855#line 903
7856 ret = -12;
7857#line 904
7858 goto error_idr_get_new;
7859 } else {
7860
7861 }
7862 {
7863#line 907
7864 spin_lock_irq(& c2port_idr_lock);
7865#line 908
7866 __cil_tmp79 = (void *)c2dev;
7867#line 908
7868 ret = idr_get_new(& c2port_idr, __cil_tmp79, & id);
7869#line 909
7870 spin_unlock_irq(& c2port_idr_lock);
7871 }
7872#line 911
7873 if (ret < 0) {
7874#line 912
7875 goto error_idr_get_new;
7876 } else {
7877
7878 }
7879 {
7880#line 913
7881 c2dev->id = id;
7882#line 915
7883 __cil_tmp80 = (void *)0;
7884#line 915
7885 __cil_tmp81 = (struct device *)__cil_tmp80;
7886#line 915
7887 __cil_tmp82 = (dev_t )0;
7888#line 915
7889 __cil_tmp83 = (void *)c2dev;
7890#line 915
7891 c2dev->dev = device_create(c2port_class, __cil_tmp81, __cil_tmp82, __cil_tmp83,
7892 "c2port%d", id);
7893#line 917
7894 __cil_tmp84 = c2dev->dev;
7895#line 917
7896 __cil_tmp85 = (void const *)__cil_tmp84;
7897#line 917
7898 tmp___41 = (long )IS_ERR(__cil_tmp85);
7899#line 917
7900 tmp___30 = tmp___41;
7901#line 917
7902 tmp___18 = tmp___30;
7903 }
7904#line 917
7905 if (tmp___18) {
7906#line 917
7907 tmp___19 = 1;
7908 } else {
7909#line 917
7910 tmp___19 = 0;
7911 }
7912 {
7913#line 917
7914 __cil_tmp86 = (long )tmp___19;
7915#line 917
7916 tmp___20 = __builtin_expect(__cil_tmp86, 0L);
7917 }
7918#line 917
7919 if (tmp___20) {
7920 {
7921#line 918
7922 __cil_tmp87 = c2dev->dev;
7923#line 918
7924 __cil_tmp88 = (void const *)__cil_tmp87;
7925#line 918
7926 tmp___42 = (long )PTR_ERR(__cil_tmp88);
7927#line 918
7928 tmp___31 = tmp___42;
7929#line 918
7930 tmp___17 = tmp___31;
7931#line 918
7932 ret = (int )tmp___17;
7933 }
7934#line 919
7935 goto error_device_create;
7936 } else {
7937
7938 }
7939 {
7940#line 921
7941 __cil_tmp89 = c2dev->dev;
7942#line 921
7943 __cil_tmp90 = (void *)c2dev;
7944#line 921
7945 dev_set_drvdata(__cil_tmp89, __cil_tmp90);
7946#line 923
7947 __cil_tmp91 = & c2dev->name[0];
7948#line 923
7949 __cil_tmp92 = (char const *)name;
7950#line 923
7951 __cil_tmp93 = (__kernel_size_t )32;
7952#line 923
7953 strncpy(__cil_tmp91, __cil_tmp92, __cil_tmp93);
7954#line 924
7955 c2dev->ops = ops;
7956 }
7957 {
7958#line 925
7959 while (1) {
7960 while_continue___0: ;
7961 {
7962#line 925
7963 __cil_tmp94 = & c2dev->mutex;
7964#line 925
7965 __mutex_init(__cil_tmp94, "&c2dev->mutex", & __key___4);
7966 }
7967#line 925
7968 goto while_break___0;
7969 }
7970 while_break___2: ;
7971 }
7972
7973 while_break___0:
7974 {
7975#line 928
7976 __cil_tmp95 = ops->block_size;
7977#line 928
7978 __cil_tmp96 = (int )__cil_tmp95;
7979#line 928
7980 __cil_tmp97 = ops->blocks_num;
7981#line 928
7982 __cil_tmp98 = (int )__cil_tmp97;
7983#line 928
7984 __cil_tmp99 = __cil_tmp98 * __cil_tmp96;
7985#line 928
7986 c2port_bin_attrs.size = (size_t )__cil_tmp99;
7987#line 929
7988 __cil_tmp100 = c2dev->dev;
7989#line 929
7990 __cil_tmp101 = (struct bin_attribute const *)(& c2port_bin_attrs);
7991#line 929
7992 tmp___43 = (int )device_create_bin_file(__cil_tmp100, __cil_tmp101);
7993#line 929
7994 tmp___32 = tmp___43;
7995#line 929
7996 ret = tmp___32;
7997#line 930
7998 __cil_tmp102 = ! ret;
7999#line 930
8000 __cil_tmp103 = ! __cil_tmp102;
8001#line 930
8002 __cil_tmp104 = (long )__cil_tmp103;
8003#line 930
8004 tmp___21 = __builtin_expect(__cil_tmp104, 0L);
8005 }
8006#line 930
8007 if (tmp___21) {
8008#line 931
8009 goto error_device_create_bin_file;
8010 } else {
8011
8012 }
8013 {
8014#line 934
8015 tmp___22 = 0U;
8016#line 934
8017 c2dev->flash_access = tmp___22;
8018#line 934
8019 c2dev->access = tmp___22;
8020#line 935
8021 __cil_tmp105 = ops->access;
8022#line 935
8023 (*__cil_tmp105)(c2dev, 0);
8024#line 937
8025 __cil_tmp106 = c2dev->dev;
8026#line 937
8027 __cil_tmp107 = (struct device const *)__cil_tmp106;
8028#line 937
8029 _dev_info(__cil_tmp107, "C2 port %s added\n", name);
8030#line 938
8031 __cil_tmp108 = c2dev->dev;
8032#line 938
8033 __cil_tmp109 = (struct device const *)__cil_tmp108;
8034#line 938
8035 __cil_tmp110 = ops->blocks_num;
8036#line 938
8037 __cil_tmp111 = (int )__cil_tmp110;
8038#line 938
8039 __cil_tmp112 = ops->block_size;
8040#line 938
8041 __cil_tmp113 = (int )__cil_tmp112;
8042#line 938
8043 __cil_tmp114 = ops->block_size;
8044#line 938
8045 __cil_tmp115 = (int )__cil_tmp114;
8046#line 938
8047 __cil_tmp116 = ops->blocks_num;
8048#line 938
8049 __cil_tmp117 = (int )__cil_tmp116;
8050#line 938
8051 __cil_tmp118 = __cil_tmp117 * __cil_tmp115;
8052#line 938
8053 _dev_info(__cil_tmp109, "%s flash has %d blocks x %d bytes (%d bytes total)\n",
8054 name, __cil_tmp111, __cil_tmp113, __cil_tmp118);
8055 }
8056#line 943
8057 return (c2dev);
8058 error_device_create_bin_file:
8059 {
8060#line 946
8061 __cil_tmp119 = (dev_t )0;
8062#line 946
8063 device_destroy(c2port_class, __cil_tmp119);
8064 }
8065 error_device_create:
8066 {
8067#line 949
8068 spin_lock_irq(& c2port_idr_lock);
8069#line 950
8070 idr_remove(& c2port_idr, id);
8071#line 951
8072 spin_unlock_irq(& c2port_idr_lock);
8073 }
8074 error_idr_get_new:
8075 {
8076#line 954
8077 __cil_tmp120 = (void const *)c2dev;
8078#line 954
8079 kfree(__cil_tmp120);
8080#line 956
8081 __cil_tmp121 = (long )ret;
8082#line 956
8083 tmp___44 = (void *)ERR_PTR(__cil_tmp121);
8084#line 956
8085 tmp___33 = tmp___44;
8086#line 956
8087 tmp___23 = tmp___33;
8088 }
8089#line 956
8090 return ((struct c2port_device *)tmp___23);
8091}
8092}
8093#line 958
8094extern void *__crc_c2port_device_register __attribute__((__weak__)) ;
8095#line 958 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8096static unsigned long const __kcrctab_c2port_device_register __attribute__((__used__,
8097__unused__, __section__("___kcrctab+c2port_device_register"))) = (unsigned long const )((unsigned long )(& __crc_c2port_device_register));
8098#line 958 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8099static char const __kstrtab_c2port_device_register[23] __attribute__((__section__("__ksymtab_strings"),
8100__aligned__(1))) =
8101#line 958
8102 { (char const )'c', (char const )'2', (char const )'p', (char const )'o',
8103 (char const )'r', (char const )'t', (char const )'_', (char const )'d',
8104 (char const )'e', (char const )'v', (char const )'i', (char const )'c',
8105 (char const )'e', (char const )'_', (char const )'r', (char const )'e',
8106 (char const )'g', (char const )'i', (char const )'s', (char const )'t',
8107 (char const )'e', (char const )'r', (char const )'\000'};
8108#line 958 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8109static struct kernel_symbol const __ksymtab_c2port_device_register __attribute__((__used__,
8110__unused__, __section__("___ksymtab+c2port_device_register"))) = {(unsigned long )(& c2port_device_register), __kstrtab_c2port_device_register};
8111#line 960 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8112void c2port_device_unregister(struct c2port_device *c2dev )
8113{ struct device *__cil_tmp2 ;
8114 struct device const *__cil_tmp3 ;
8115 char *__cil_tmp4 ;
8116 struct device *__cil_tmp5 ;
8117 struct bin_attribute const *__cil_tmp6 ;
8118 int __cil_tmp7 ;
8119 int __cil_tmp8 ;
8120 dev_t __cil_tmp9 ;
8121 void const *__cil_tmp10 ;
8122
8123 {
8124#line 962
8125 if (! c2dev) {
8126#line 963
8127 return;
8128 } else {
8129
8130 }
8131 {
8132#line 965
8133 __cil_tmp2 = c2dev->dev;
8134#line 965
8135 __cil_tmp3 = (struct device const *)__cil_tmp2;
8136#line 965
8137 __cil_tmp4 = & c2dev->name[0];
8138#line 965
8139 _dev_info(__cil_tmp3, "C2 port %s removed\n", __cil_tmp4);
8140#line 967
8141 __cil_tmp5 = c2dev->dev;
8142#line 967
8143 __cil_tmp6 = (struct bin_attribute const *)(& c2port_bin_attrs);
8144#line 967
8145 device_remove_bin_file(__cil_tmp5, __cil_tmp6);
8146#line 968
8147 spin_lock_irq(& c2port_idr_lock);
8148#line 969
8149 __cil_tmp7 = c2dev->id;
8150#line 969
8151 idr_remove(& c2port_idr, __cil_tmp7);
8152#line 970
8153 spin_unlock_irq(& c2port_idr_lock);
8154#line 972
8155 __cil_tmp8 = c2dev->id;
8156#line 972
8157 __cil_tmp9 = (dev_t )__cil_tmp8;
8158#line 972
8159 device_destroy(c2port_class, __cil_tmp9);
8160#line 974
8161 __cil_tmp10 = (void const *)c2dev;
8162#line 974
8163 kfree(__cil_tmp10);
8164 }
8165#line 975
8166 return;
8167}
8168}
8169#line 976
8170extern void *__crc_c2port_device_unregister __attribute__((__weak__)) ;
8171#line 976 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8172static unsigned long const __kcrctab_c2port_device_unregister __attribute__((__used__,
8173__unused__, __section__("___kcrctab+c2port_device_unregister"))) = (unsigned long const )((unsigned long )(& __crc_c2port_device_unregister));
8174#line 976 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8175static char const __kstrtab_c2port_device_unregister[25] __attribute__((__section__("__ksymtab_strings"),
8176__aligned__(1))) =
8177#line 976
8178 { (char const )'c', (char const )'2', (char const )'p', (char const )'o',
8179 (char const )'r', (char const )'t', (char const )'_', (char const )'d',
8180 (char const )'e', (char const )'v', (char const )'i', (char const )'c',
8181 (char const )'e', (char const )'_', (char const )'u', (char const )'n',
8182 (char const )'r', (char const )'e', (char const )'g', (char const )'i',
8183 (char const )'s', (char const )'t', (char const )'e', (char const )'r',
8184 (char const )'\000'};
8185#line 976 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8186static struct kernel_symbol const __ksymtab_c2port_device_unregister __attribute__((__used__,
8187__unused__, __section__("___ksymtab+c2port_device_unregister"))) = {(unsigned long )(& c2port_device_unregister), __kstrtab_c2port_device_unregister};
8188#line 987 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8189static struct lock_class_key __key___5 ;
8190#line 982
8191static int c2port_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8192#line 982
8193static int c2port_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8194#line 982 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8195static int c2port_init(void)
8196{ struct class *tmp___7 ;
8197 struct class *tmp ;
8198 struct class *tmp___8 ;
8199
8200 {
8201 {
8202#line 984
8203 printk("<6>Silicon Labs C2 port support v. 0.51.0 - (C) 2007 Rodolfo Giometti\n");
8204#line 987
8205 tmp___8 = (struct class *)__class_create(& __this_module, "c2port", & __key___5);
8206#line 987
8207 tmp = tmp___8;
8208#line 987
8209 tmp___7 = tmp;
8210#line 987
8211 c2port_class = tmp___7;
8212 }
8213#line 988
8214 if (! c2port_class) {
8215 {
8216#line 989
8217 printk("<3>c2port: failed to allocate class\n");
8218 }
8219#line 990
8220 return (-12);
8221 } else {
8222
8223 }
8224#line 992
8225 c2port_class->dev_attrs = & c2port_attrs[0];
8226#line 994
8227 return (0);
8228}
8229}
8230#line 997
8231static void c2port_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8232#line 997
8233static void c2port_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8234#line 997 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8235static void c2port_exit(void)
8236{
8237
8238 {
8239 {
8240#line 999
8241 class_destroy(c2port_class);
8242 }
8243#line 1000
8244 return;
8245}
8246}
8247#line 1002 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8248int init_module(void)
8249{ int tmp___7 ;
8250
8251 {
8252 {
8253#line 1002
8254 tmp___7 = c2port_init();
8255 }
8256#line 1002
8257 return (tmp___7);
8258}
8259}
8260#line 1003 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8261void cleanup_module(void)
8262{
8263
8264 {
8265 {
8266#line 1003
8267 c2port_exit();
8268 }
8269#line 1003
8270 return;
8271}
8272}
8273#line 1005 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8274static char const __mod_author1005[44] __attribute__((__used__, __unused__, __section__(".modinfo"),
8275__aligned__(1))) =
8276#line 1005
8277 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
8278 (char const )'o', (char const )'r', (char const )'=', (char const )'R',
8279 (char const )'o', (char const )'d', (char const )'o', (char const )'l',
8280 (char const )'f', (char const )'o', (char const )' ', (char const )'G',
8281 (char const )'i', (char const )'o', (char const )'m', (char const )'e',
8282 (char const )'t', (char const )'t', (char const )'i', (char const )' ',
8283 (char const )'<', (char const )'g', (char const )'i', (char const )'o',
8284 (char const )'m', (char const )'e', (char const )'t', (char const )'t',
8285 (char const )'i', (char const )'@', (char const )'l', (char const )'i',
8286 (char const )'n', (char const )'u', (char const )'x', (char const )'.',
8287 (char const )'i', (char const )'t', (char const )'>', (char const )'\000'};
8288#line 1006 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8289static char const __mod_description1006[51] __attribute__((__used__, __unused__,
8290__section__(".modinfo"), __aligned__(1))) =
8291#line 1006
8292 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
8293 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
8294 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
8295 (char const )'S', (char const )'i', (char const )'l', (char const )'i',
8296 (char const )'c', (char const )'o', (char const )'n', (char const )' ',
8297 (char const )'L', (char const )'a', (char const )'b', (char const )'s',
8298 (char const )' ', (char const )'C', (char const )'2', (char const )' ',
8299 (char const )'p', (char const )'o', (char const )'r', (char const )'t',
8300 (char const )' ', (char const )'s', (char const )'u', (char const )'p',
8301 (char const )'p', (char const )'o', (char const )'r', (char const )'t',
8302 (char const )' ', (char const )'v', (char const )'.', (char const )' ',
8303 (char const )'0', (char const )'.', (char const )'5', (char const )'1',
8304 (char const )'.', (char const )'0', (char const )'\000'};
8305#line 1007 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8306static char const __mod_license1007[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
8307__aligned__(1))) =
8308#line 1007
8309 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
8310 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
8311 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
8312#line 1025
8313void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
8314#line 1031
8315extern void ldv_initialize(void) ;
8316#line 1034
8317extern int nondet_int(void) ;
8318#line 1037 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8319int LDV_IN_INTERRUPT ;
8320#line 1040 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8321void main(void)
8322{ struct file *var_group1 ;
8323 struct kobject *var_group2 ;
8324 struct bin_attribute *var_c2port_read_flash_data_25_p2 ;
8325 char *var_c2port_read_flash_data_25_p3 ;
8326 loff_t var_c2port_read_flash_data_25_p4 ;
8327 size_t var_c2port_read_flash_data_25_p5 ;
8328 struct bin_attribute *var_c2port_write_flash_data_27_p2 ;
8329 char *var_c2port_write_flash_data_27_p3 ;
8330 loff_t var_c2port_write_flash_data_27_p4 ;
8331 size_t var_c2port_write_flash_data_27_p5 ;
8332 int tmp___7 ;
8333 int tmp___8 ;
8334 int tmp___9 ;
8335
8336 {
8337 {
8338#line 1108
8339 LDV_IN_INTERRUPT = 1;
8340#line 1117
8341 ldv_initialize();
8342#line 1138
8343 tmp___7 = c2port_init();
8344 }
8345#line 1138
8346 if (tmp___7) {
8347#line 1139
8348 goto ldv_final;
8349 } else {
8350
8351 }
8352 {
8353#line 1143
8354 while (1) {
8355 while_continue: ;
8356 {
8357#line 1143
8358 tmp___9 = nondet_int();
8359 }
8360#line 1143
8361 if (tmp___9) {
8362
8363 } else {
8364#line 1143
8365 goto while_break;
8366 }
8367 {
8368#line 1146
8369 tmp___8 = nondet_int();
8370 }
8371#line 1148
8372 if (tmp___8 == 0) {
8373#line 1148
8374 goto case_0;
8375 } else
8376#line 1179
8377 if (tmp___8 == 1) {
8378#line 1179
8379 goto case_1;
8380 } else {
8381#line 1210
8382 goto switch_default;
8383#line 1146
8384 if (0) {
8385 case_0:
8386 {
8387#line 1171
8388 c2port_read_flash_data(var_group1, var_group2, var_c2port_read_flash_data_25_p2,
8389 var_c2port_read_flash_data_25_p3, var_c2port_read_flash_data_25_p4,
8390 var_c2port_read_flash_data_25_p5);
8391 }
8392#line 1178
8393 goto switch_break;
8394 case_1:
8395 {
8396#line 1202
8397 c2port_write_flash_data(var_group1, var_group2, var_c2port_write_flash_data_27_p2,
8398 var_c2port_write_flash_data_27_p3, var_c2port_write_flash_data_27_p4,
8399 var_c2port_write_flash_data_27_p5);
8400 }
8401#line 1209
8402 goto switch_break;
8403 switch_default:
8404#line 1210
8405 goto switch_break;
8406 } else {
8407 switch_break: ;
8408 }
8409 }
8410 }
8411 while_break___0: ;
8412 }
8413
8414 while_break:
8415 {
8416#line 1237
8417 c2port_exit();
8418 }
8419 ldv_final:
8420 {
8421#line 1240
8422 ldv_check_final_state();
8423 }
8424#line 1243
8425 return;
8426}
8427}
8428#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
8429void ldv_blast_assert(void)
8430{
8431
8432 {
8433 ERROR:
8434#line 6
8435 goto ERROR;
8436}
8437}
8438#line 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
8439extern void *ldv_undefined_pointer(void) ;
8440#line 1332 "include/linux/usb.h"
8441struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
8442#line 1333
8443void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
8444#line 1377
8445void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8446 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
8447#line 1379
8448void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
8449#line 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8450void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
8451#line 22
8452void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
8453#line 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8454void ldv_assume_stop(void)
8455{
8456
8457 {
8458 LDV_STOP:
8459#line 23
8460 goto LDV_STOP;
8461}
8462}
8463#line 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8464int ldv_urb_state = 0;
8465#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8466int ldv_coherent_state = 0;
8467#line 62
8468void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8469 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
8470#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8471void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8472 dma_addr_t *dma )
8473{ void *arbitrary_memory ;
8474 void *tmp___7 ;
8475
8476 {
8477 {
8478#line 64
8479 while (1) {
8480 while_continue: ;
8481 {
8482#line 64
8483 tmp___7 = ldv_undefined_pointer();
8484#line 64
8485 arbitrary_memory = tmp___7;
8486 }
8487#line 64
8488 if (! arbitrary_memory) {
8489#line 64
8490 return ((void *)0);
8491 } else {
8492
8493 }
8494#line 64
8495 ldv_coherent_state = ldv_coherent_state + 1;
8496#line 64
8497 return (arbitrary_memory);
8498#line 64
8499 goto while_break;
8500 }
8501 while_break___0: ;
8502 }
8503
8504 while_break: ;
8505#line 65
8506 return ((void *)0);
8507}
8508}
8509#line 68
8510void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
8511#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8512void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )
8513{ void *__cil_tmp5 ;
8514 unsigned long __cil_tmp6 ;
8515 unsigned long __cil_tmp7 ;
8516 int __cil_tmp8 ;
8517
8518 {
8519 {
8520#line 70
8521 while (1) {
8522 while_continue: ;
8523
8524 {
8525#line 70
8526 __cil_tmp5 = (void *)0;
8527#line 70
8528 __cil_tmp6 = (unsigned long )__cil_tmp5;
8529#line 70
8530 __cil_tmp7 = (unsigned long )addr;
8531#line 70
8532 __cil_tmp8 = __cil_tmp7 != __cil_tmp6;
8533#line 70
8534 if (! __cil_tmp8) {
8535 {
8536#line 70
8537 ldv_assume_stop();
8538 }
8539 } else {
8540
8541 }
8542 }
8543#line 70
8544 if (addr) {
8545#line 70
8546 if (ldv_coherent_state >= 1) {
8547
8548 } else {
8549 {
8550#line 70
8551 ldv_blast_assert();
8552 }
8553 }
8554#line 70
8555 ldv_coherent_state = ldv_coherent_state - 1;
8556 } else {
8557
8558 }
8559#line 70
8560 goto while_break;
8561 }
8562 while_break___0: ;
8563 }
8564
8565 while_break: ;
8566#line 71
8567 return;
8568}
8569}
8570#line 74
8571struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
8572#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8573struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )
8574{ void *arbitrary_memory ;
8575 void *tmp___7 ;
8576 void *__cil_tmp5 ;
8577
8578 {
8579 {
8580#line 75
8581 while (1) {
8582 while_continue: ;
8583 {
8584#line 75
8585 tmp___7 = ldv_undefined_pointer();
8586#line 75
8587 arbitrary_memory = tmp___7;
8588 }
8589#line 75
8590 if (! arbitrary_memory) {
8591 {
8592#line 75
8593 __cil_tmp5 = (void *)0;
8594#line 75
8595 return ((struct urb *)__cil_tmp5);
8596 }
8597 } else {
8598
8599 }
8600#line 75
8601 ldv_urb_state = ldv_urb_state + 1;
8602#line 75
8603 return ((struct urb *)arbitrary_memory);
8604#line 75
8605 goto while_break;
8606 }
8607 while_break___0: ;
8608 }
8609
8610 while_break: ;
8611#line 76
8612 return ((struct urb *)0);
8613}
8614}
8615#line 79
8616void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
8617#line 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8618void usb_free_urb(struct urb *urb )
8619{ struct urb *__cil_tmp2 ;
8620 unsigned long __cil_tmp3 ;
8621 unsigned long __cil_tmp4 ;
8622 int __cil_tmp5 ;
8623
8624 {
8625 {
8626#line 80
8627 while (1) {
8628 while_continue: ;
8629
8630 {
8631#line 80
8632 __cil_tmp2 = (struct urb *)0;
8633#line 80
8634 __cil_tmp3 = (unsigned long )__cil_tmp2;
8635#line 80
8636 __cil_tmp4 = (unsigned long )urb;
8637#line 80
8638 __cil_tmp5 = __cil_tmp4 != __cil_tmp3;
8639#line 80
8640 if (! __cil_tmp5) {
8641 {
8642#line 80
8643 ldv_assume_stop();
8644 }
8645 } else {
8646
8647 }
8648 }
8649#line 80
8650 if (urb) {
8651#line 80
8652 if (ldv_urb_state >= 1) {
8653
8654 } else {
8655 {
8656#line 80
8657 ldv_blast_assert();
8658 }
8659 }
8660#line 80
8661 ldv_urb_state = ldv_urb_state - 1;
8662 } else {
8663
8664 }
8665#line 80
8666 goto while_break;
8667 }
8668 while_break___0: ;
8669 }
8670
8671 while_break: ;
8672#line 81
8673 return;
8674}
8675}
8676#line 84
8677void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
8678#line 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8679void ldv_check_final_state(void)
8680{
8681
8682 {
8683#line 86
8684 if (ldv_urb_state == 0) {
8685
8686 } else {
8687 {
8688#line 86
8689 ldv_blast_assert();
8690 }
8691 }
8692#line 88
8693 if (ldv_coherent_state == 0) {
8694
8695 } else {
8696 {
8697#line 88
8698 ldv_blast_assert();
8699 }
8700 }
8701#line 89
8702 return;
8703}
8704}