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 201 "include/linux/types.h"
91typedef unsigned int gfp_t;
92#line 202 "include/linux/types.h"
93typedef unsigned int fmode_t;
94#line 214 "include/linux/types.h"
95struct __anonstruct_atomic_t_6 {
96 int counter ;
97};
98#line 214 "include/linux/types.h"
99typedef struct __anonstruct_atomic_t_6 atomic_t;
100#line 219 "include/linux/types.h"
101struct __anonstruct_atomic64_t_7 {
102 long counter ;
103};
104#line 219 "include/linux/types.h"
105typedef struct __anonstruct_atomic64_t_7 atomic64_t;
106#line 220 "include/linux/types.h"
107struct list_head {
108 struct list_head *next ;
109 struct list_head *prev ;
110};
111#line 225
112struct hlist_node;
113#line 225
114struct hlist_node;
115#line 225
116struct hlist_node;
117#line 225 "include/linux/types.h"
118struct hlist_head {
119 struct hlist_node *first ;
120};
121#line 229 "include/linux/types.h"
122struct hlist_node {
123 struct hlist_node *next ;
124 struct hlist_node **pprev ;
125};
126#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
127struct module;
128#line 58
129struct module;
130#line 58
131struct module;
132#line 58
133struct module;
134#line 145 "include/linux/init.h"
135typedef void (*ctor_fn_t)(void);
136#line 48 "include/linux/dynamic_debug.h"
137struct bug_entry {
138 int bug_addr_disp ;
139 int file_disp ;
140 unsigned short line ;
141 unsigned short flags ;
142};
143#line 70 "include/asm-generic/bug.h"
144struct completion;
145#line 70
146struct completion;
147#line 70
148struct completion;
149#line 70
150struct completion;
151#line 71
152struct pt_regs;
153#line 71
154struct pt_regs;
155#line 71
156struct pt_regs;
157#line 71
158struct pt_regs;
159#line 321 "include/linux/kernel.h"
160struct pid;
161#line 321
162struct pid;
163#line 321
164struct pid;
165#line 321
166struct pid;
167#line 671
168struct timespec;
169#line 671
170struct timespec;
171#line 671
172struct timespec;
173#line 671
174struct timespec;
175#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_types.h"
176struct page;
177#line 59
178struct page;
179#line 59
180struct page;
181#line 59
182struct page;
183#line 21 "include/asm-generic/getorder.h"
184struct task_struct;
185#line 21
186struct task_struct;
187#line 21
188struct task_struct;
189#line 21
190struct task_struct;
191#line 23
192struct mm_struct;
193#line 23
194struct mm_struct;
195#line 23
196struct mm_struct;
197#line 23
198struct mm_struct;
199#line 215 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/segment.h"
200struct pt_regs {
201 unsigned long r15 ;
202 unsigned long r14 ;
203 unsigned long r13 ;
204 unsigned long r12 ;
205 unsigned long bp ;
206 unsigned long bx ;
207 unsigned long r11 ;
208 unsigned long r10 ;
209 unsigned long r9 ;
210 unsigned long r8 ;
211 unsigned long ax ;
212 unsigned long cx ;
213 unsigned long dx ;
214 unsigned long si ;
215 unsigned long di ;
216 unsigned long orig_ax ;
217 unsigned long ip ;
218 unsigned long cs ;
219 unsigned long flags ;
220 unsigned long sp ;
221 unsigned long ss ;
222};
223#line 282 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
224struct kernel_vm86_regs {
225 struct pt_regs pt ;
226 unsigned short es ;
227 unsigned short __esh ;
228 unsigned short ds ;
229 unsigned short __dsh ;
230 unsigned short fs ;
231 unsigned short __fsh ;
232 unsigned short gs ;
233 unsigned short __gsh ;
234};
235#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
236union __anonunion_ldv_2292_12 {
237 struct pt_regs *regs ;
238 struct kernel_vm86_regs *vm86 ;
239};
240#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
241struct math_emu_info {
242 long ___orig_eip ;
243 union __anonunion_ldv_2292_12 ldv_2292 ;
244};
245#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"
246typedef unsigned long pgdval_t;
247#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"
248typedef unsigned long pgprotval_t;
249#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
250struct pgprot {
251 pgprotval_t pgprot ;
252};
253#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
254typedef struct pgprot pgprot_t;
255#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
256struct __anonstruct_pgd_t_15 {
257 pgdval_t pgd ;
258};
259#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
260typedef struct __anonstruct_pgd_t_15 pgd_t;
261#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
262typedef struct page *pgtable_t;
263#line 288
264struct file;
265#line 288
266struct file;
267#line 288
268struct file;
269#line 288
270struct file;
271#line 303
272struct seq_file;
273#line 303
274struct seq_file;
275#line 303
276struct seq_file;
277#line 303
278struct seq_file;
279#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
280struct __anonstruct_ldv_2526_19 {
281 unsigned int a ;
282 unsigned int b ;
283};
284#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
285struct __anonstruct_ldv_2541_20 {
286 u16 limit0 ;
287 u16 base0 ;
288 unsigned char base1 ;
289 unsigned char type : 4 ;
290 unsigned char s : 1 ;
291 unsigned char dpl : 2 ;
292 unsigned char p : 1 ;
293 unsigned char limit : 4 ;
294 unsigned char avl : 1 ;
295 unsigned char l : 1 ;
296 unsigned char d : 1 ;
297 unsigned char g : 1 ;
298 unsigned char base2 ;
299};
300#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
301union __anonunion_ldv_2542_18 {
302 struct __anonstruct_ldv_2526_19 ldv_2526 ;
303 struct __anonstruct_ldv_2541_20 ldv_2541 ;
304};
305#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
306struct desc_struct {
307 union __anonunion_ldv_2542_18 ldv_2542 ;
308};
309#line 122 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
310struct thread_struct;
311#line 122
312struct thread_struct;
313#line 122
314struct thread_struct;
315#line 122
316struct thread_struct;
317#line 124
318struct cpumask;
319#line 124
320struct cpumask;
321#line 124
322struct cpumask;
323#line 124
324struct cpumask;
325#line 320 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
326struct arch_spinlock;
327#line 320
328struct arch_spinlock;
329#line 320
330struct arch_spinlock;
331#line 320
332struct arch_spinlock;
333#line 304 "include/linux/bitmap.h"
334struct cpumask {
335 unsigned long bits[64U] ;
336};
337#line 13 "include/linux/cpumask.h"
338typedef struct cpumask cpumask_t;
339#line 622 "include/linux/cpumask.h"
340typedef struct cpumask *cpumask_var_t;
341#line 277 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
342struct i387_fsave_struct {
343 u32 cwd ;
344 u32 swd ;
345 u32 twd ;
346 u32 fip ;
347 u32 fcs ;
348 u32 foo ;
349 u32 fos ;
350 u32 st_space[20U] ;
351 u32 status ;
352};
353#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
354struct __anonstruct_ldv_5171_24 {
355 u64 rip ;
356 u64 rdp ;
357};
358#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
359struct __anonstruct_ldv_5177_25 {
360 u32 fip ;
361 u32 fcs ;
362 u32 foo ;
363 u32 fos ;
364};
365#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
366union __anonunion_ldv_5178_23 {
367 struct __anonstruct_ldv_5171_24 ldv_5171 ;
368 struct __anonstruct_ldv_5177_25 ldv_5177 ;
369};
370#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
371union __anonunion_ldv_5187_26 {
372 u32 padding1[12U] ;
373 u32 sw_reserved[12U] ;
374};
375#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
376struct i387_fxsave_struct {
377 u16 cwd ;
378 u16 swd ;
379 u16 twd ;
380 u16 fop ;
381 union __anonunion_ldv_5178_23 ldv_5178 ;
382 u32 mxcsr ;
383 u32 mxcsr_mask ;
384 u32 st_space[32U] ;
385 u32 xmm_space[64U] ;
386 u32 padding[12U] ;
387 union __anonunion_ldv_5187_26 ldv_5187 ;
388};
389#line 329 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
390struct i387_soft_struct {
391 u32 cwd ;
392 u32 swd ;
393 u32 twd ;
394 u32 fip ;
395 u32 fcs ;
396 u32 foo ;
397 u32 fos ;
398 u32 st_space[20U] ;
399 u8 ftop ;
400 u8 changed ;
401 u8 lookahead ;
402 u8 no_update ;
403 u8 rm ;
404 u8 alimit ;
405 struct math_emu_info *info ;
406 u32 entry_eip ;
407};
408#line 350 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
409struct ymmh_struct {
410 u32 ymmh_space[64U] ;
411};
412#line 355 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
413struct xsave_hdr_struct {
414 u64 xstate_bv ;
415 u64 reserved1[2U] ;
416 u64 reserved2[5U] ;
417};
418#line 361 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
419struct xsave_struct {
420 struct i387_fxsave_struct i387 ;
421 struct xsave_hdr_struct xsave_hdr ;
422 struct ymmh_struct ymmh ;
423};
424#line 367 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
425union thread_xstate {
426 struct i387_fsave_struct fsave ;
427 struct i387_fxsave_struct fxsave ;
428 struct i387_soft_struct soft ;
429 struct xsave_struct xsave ;
430};
431#line 375 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
432struct fpu {
433 union thread_xstate *state ;
434};
435#line 421
436struct kmem_cache;
437#line 421
438struct kmem_cache;
439#line 421
440struct kmem_cache;
441#line 422
442struct perf_event;
443#line 422
444struct perf_event;
445#line 422
446struct perf_event;
447#line 422
448struct perf_event;
449#line 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
450struct thread_struct {
451 struct desc_struct tls_array[3U] ;
452 unsigned long sp0 ;
453 unsigned long sp ;
454 unsigned long usersp ;
455 unsigned short es ;
456 unsigned short ds ;
457 unsigned short fsindex ;
458 unsigned short gsindex ;
459 unsigned long fs ;
460 unsigned long gs ;
461 struct perf_event *ptrace_bps[4U] ;
462 unsigned long debugreg6 ;
463 unsigned long ptrace_dr7 ;
464 unsigned long cr2 ;
465 unsigned long trap_no ;
466 unsigned long error_code ;
467 struct fpu fpu ;
468 unsigned long *io_bitmap_ptr ;
469 unsigned long iopl ;
470 unsigned int io_bitmap_max ;
471};
472#line 23 "include/asm-generic/atomic-long.h"
473typedef atomic64_t atomic_long_t;
474#line 8 "include/linux/bottom_half.h"
475struct arch_spinlock {
476 unsigned int slock ;
477};
478#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
479typedef struct arch_spinlock arch_spinlock_t;
480#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
481struct __anonstruct_arch_rwlock_t_29 {
482 unsigned int lock ;
483};
484#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
485typedef struct __anonstruct_arch_rwlock_t_29 arch_rwlock_t;
486#line 17
487struct lockdep_map;
488#line 17
489struct lockdep_map;
490#line 17
491struct lockdep_map;
492#line 17
493struct lockdep_map;
494#line 55 "include/linux/debug_locks.h"
495struct stack_trace {
496 unsigned int nr_entries ;
497 unsigned int max_entries ;
498 unsigned long *entries ;
499 int skip ;
500};
501#line 26 "include/linux/stacktrace.h"
502struct lockdep_subclass_key {
503 char __one_byte ;
504};
505#line 53 "include/linux/lockdep.h"
506struct lock_class_key {
507 struct lockdep_subclass_key subkeys[8U] ;
508};
509#line 59 "include/linux/lockdep.h"
510struct lock_class {
511 struct list_head hash_entry ;
512 struct list_head lock_entry ;
513 struct lockdep_subclass_key *key ;
514 unsigned int subclass ;
515 unsigned int dep_gen_id ;
516 unsigned long usage_mask ;
517 struct stack_trace usage_traces[13U] ;
518 struct list_head locks_after ;
519 struct list_head locks_before ;
520 unsigned int version ;
521 unsigned long ops ;
522 char const *name ;
523 int name_version ;
524 unsigned long contention_point[4U] ;
525 unsigned long contending_point[4U] ;
526};
527#line 144 "include/linux/lockdep.h"
528struct lockdep_map {
529 struct lock_class_key *key ;
530 struct lock_class *class_cache[2U] ;
531 char const *name ;
532 int cpu ;
533 unsigned long ip ;
534};
535#line 187 "include/linux/lockdep.h"
536struct held_lock {
537 u64 prev_chain_key ;
538 unsigned long acquire_ip ;
539 struct lockdep_map *instance ;
540 struct lockdep_map *nest_lock ;
541 u64 waittime_stamp ;
542 u64 holdtime_stamp ;
543 unsigned short class_idx : 13 ;
544 unsigned char irq_context : 2 ;
545 unsigned char trylock : 1 ;
546 unsigned char read : 2 ;
547 unsigned char check : 2 ;
548 unsigned char hardirqs_off : 1 ;
549 unsigned short references : 11 ;
550};
551#line 552 "include/linux/lockdep.h"
552struct raw_spinlock {
553 arch_spinlock_t raw_lock ;
554 unsigned int magic ;
555 unsigned int owner_cpu ;
556 void *owner ;
557 struct lockdep_map dep_map ;
558};
559#line 32 "include/linux/spinlock_types.h"
560typedef struct raw_spinlock raw_spinlock_t;
561#line 33 "include/linux/spinlock_types.h"
562struct __anonstruct_ldv_6059_31 {
563 u8 __padding[24U] ;
564 struct lockdep_map dep_map ;
565};
566#line 33 "include/linux/spinlock_types.h"
567union __anonunion_ldv_6060_30 {
568 struct raw_spinlock rlock ;
569 struct __anonstruct_ldv_6059_31 ldv_6059 ;
570};
571#line 33 "include/linux/spinlock_types.h"
572struct spinlock {
573 union __anonunion_ldv_6060_30 ldv_6060 ;
574};
575#line 76 "include/linux/spinlock_types.h"
576typedef struct spinlock spinlock_t;
577#line 23 "include/linux/rwlock_types.h"
578struct __anonstruct_rwlock_t_32 {
579 arch_rwlock_t raw_lock ;
580 unsigned int magic ;
581 unsigned int owner_cpu ;
582 void *owner ;
583 struct lockdep_map dep_map ;
584};
585#line 23 "include/linux/rwlock_types.h"
586typedef struct __anonstruct_rwlock_t_32 rwlock_t;
587#line 110 "include/linux/seqlock.h"
588struct seqcount {
589 unsigned int sequence ;
590};
591#line 121 "include/linux/seqlock.h"
592typedef struct seqcount seqcount_t;
593#line 233 "include/linux/seqlock.h"
594struct timespec {
595 __kernel_time_t tv_sec ;
596 long tv_nsec ;
597};
598#line 286 "include/linux/time.h"
599struct kstat {
600 u64 ino ;
601 dev_t dev ;
602 umode_t mode ;
603 unsigned int nlink ;
604 uid_t uid ;
605 gid_t gid ;
606 dev_t rdev ;
607 loff_t size ;
608 struct timespec atime ;
609 struct timespec mtime ;
610 struct timespec ctime ;
611 unsigned long blksize ;
612 unsigned long long blocks ;
613};
614#line 49 "include/linux/wait.h"
615struct __wait_queue_head {
616 spinlock_t lock ;
617 struct list_head task_list ;
618};
619#line 54 "include/linux/wait.h"
620typedef struct __wait_queue_head wait_queue_head_t;
621#line 96 "include/linux/nodemask.h"
622struct __anonstruct_nodemask_t_34 {
623 unsigned long bits[16U] ;
624};
625#line 96 "include/linux/nodemask.h"
626typedef struct __anonstruct_nodemask_t_34 nodemask_t;
627#line 640 "include/linux/mmzone.h"
628struct mutex {
629 atomic_t count ;
630 spinlock_t wait_lock ;
631 struct list_head wait_list ;
632 struct task_struct *owner ;
633 char const *name ;
634 void *magic ;
635 struct lockdep_map dep_map ;
636};
637#line 63 "include/linux/mutex.h"
638struct mutex_waiter {
639 struct list_head list ;
640 struct task_struct *task ;
641 void *magic ;
642};
643#line 171
644struct rw_semaphore;
645#line 171
646struct rw_semaphore;
647#line 171
648struct rw_semaphore;
649#line 171
650struct rw_semaphore;
651#line 172 "include/linux/mutex.h"
652struct rw_semaphore {
653 long count ;
654 spinlock_t wait_lock ;
655 struct list_head wait_list ;
656 struct lockdep_map dep_map ;
657};
658#line 175 "include/linux/ioport.h"
659struct device;
660#line 175
661struct device;
662#line 175
663struct device;
664#line 175
665struct device;
666#line 312 "include/linux/jiffies.h"
667union ktime {
668 s64 tv64 ;
669};
670#line 59 "include/linux/ktime.h"
671typedef union ktime ktime_t;
672#line 99 "include/linux/debugobjects.h"
673struct tvec_base;
674#line 99
675struct tvec_base;
676#line 99
677struct tvec_base;
678#line 99
679struct tvec_base;
680#line 100 "include/linux/debugobjects.h"
681struct timer_list {
682 struct list_head entry ;
683 unsigned long expires ;
684 struct tvec_base *base ;
685 void (*function)(unsigned long ) ;
686 unsigned long data ;
687 int slack ;
688 int start_pid ;
689 void *start_site ;
690 char start_comm[16U] ;
691 struct lockdep_map lockdep_map ;
692};
693#line 289 "include/linux/timer.h"
694struct hrtimer;
695#line 289
696struct hrtimer;
697#line 289
698struct hrtimer;
699#line 289
700struct hrtimer;
701#line 290
702enum hrtimer_restart;
703#line 290
704enum hrtimer_restart;
705#line 290
706enum hrtimer_restart;
707#line 302
708struct work_struct;
709#line 302
710struct work_struct;
711#line 302
712struct work_struct;
713#line 302
714struct work_struct;
715#line 45 "include/linux/workqueue.h"
716struct work_struct {
717 atomic_long_t data ;
718 struct list_head entry ;
719 void (*func)(struct work_struct * ) ;
720 struct lockdep_map lockdep_map ;
721};
722#line 86 "include/linux/workqueue.h"
723struct delayed_work {
724 struct work_struct work ;
725 struct timer_list timer ;
726};
727#line 443 "include/linux/workqueue.h"
728struct completion {
729 unsigned int done ;
730 wait_queue_head_t wait ;
731};
732#line 46 "include/linux/pm.h"
733struct pm_message {
734 int event ;
735};
736#line 52 "include/linux/pm.h"
737typedef struct pm_message pm_message_t;
738#line 53 "include/linux/pm.h"
739struct dev_pm_ops {
740 int (*prepare)(struct device * ) ;
741 void (*complete)(struct device * ) ;
742 int (*suspend)(struct device * ) ;
743 int (*resume)(struct device * ) ;
744 int (*freeze)(struct device * ) ;
745 int (*thaw)(struct device * ) ;
746 int (*poweroff)(struct device * ) ;
747 int (*restore)(struct device * ) ;
748 int (*suspend_noirq)(struct device * ) ;
749 int (*resume_noirq)(struct device * ) ;
750 int (*freeze_noirq)(struct device * ) ;
751 int (*thaw_noirq)(struct device * ) ;
752 int (*poweroff_noirq)(struct device * ) ;
753 int (*restore_noirq)(struct device * ) ;
754 int (*runtime_suspend)(struct device * ) ;
755 int (*runtime_resume)(struct device * ) ;
756 int (*runtime_idle)(struct device * ) ;
757};
758#line 272
759enum rpm_status {
760 RPM_ACTIVE = 0,
761 RPM_RESUMING = 1,
762 RPM_SUSPENDED = 2,
763 RPM_SUSPENDING = 3
764} ;
765#line 279
766enum rpm_request {
767 RPM_REQ_NONE = 0,
768 RPM_REQ_IDLE = 1,
769 RPM_REQ_SUSPEND = 2,
770 RPM_REQ_AUTOSUSPEND = 3,
771 RPM_REQ_RESUME = 4
772} ;
773#line 287
774struct wakeup_source;
775#line 287
776struct wakeup_source;
777#line 287
778struct wakeup_source;
779#line 287
780struct wakeup_source;
781#line 288 "include/linux/pm.h"
782struct dev_pm_info {
783 pm_message_t power_state ;
784 unsigned char can_wakeup : 1 ;
785 unsigned char async_suspend : 1 ;
786 bool is_prepared ;
787 bool is_suspended ;
788 spinlock_t lock ;
789 struct list_head entry ;
790 struct completion completion ;
791 struct wakeup_source *wakeup ;
792 struct timer_list suspend_timer ;
793 unsigned long timer_expires ;
794 struct work_struct work ;
795 wait_queue_head_t wait_queue ;
796 atomic_t usage_count ;
797 atomic_t child_count ;
798 unsigned char disable_depth : 3 ;
799 unsigned char ignore_children : 1 ;
800 unsigned char idle_notification : 1 ;
801 unsigned char request_pending : 1 ;
802 unsigned char deferred_resume : 1 ;
803 unsigned char run_wake : 1 ;
804 unsigned char runtime_auto : 1 ;
805 unsigned char no_callbacks : 1 ;
806 unsigned char irq_safe : 1 ;
807 unsigned char use_autosuspend : 1 ;
808 unsigned char timer_autosuspends : 1 ;
809 enum rpm_request request ;
810 enum rpm_status runtime_status ;
811 int runtime_error ;
812 int autosuspend_delay ;
813 unsigned long last_busy ;
814 unsigned long active_jiffies ;
815 unsigned long suspended_jiffies ;
816 unsigned long accounting_timestamp ;
817 void *subsys_data ;
818};
819#line 469 "include/linux/pm.h"
820struct dev_power_domain {
821 struct dev_pm_ops ops ;
822};
823#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
824struct __anonstruct_mm_context_t_99 {
825 void *ldt ;
826 int size ;
827 unsigned short ia32_compat ;
828 struct mutex lock ;
829 void *vdso ;
830};
831#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
832typedef struct __anonstruct_mm_context_t_99 mm_context_t;
833#line 71 "include/asm-generic/iomap.h"
834struct vm_area_struct;
835#line 71
836struct vm_area_struct;
837#line 71
838struct vm_area_struct;
839#line 71
840struct vm_area_struct;
841#line 53 "include/linux/rcupdate.h"
842struct rcu_head {
843 struct rcu_head *next ;
844 void (*func)(struct rcu_head * ) ;
845};
846#line 841
847struct nsproxy;
848#line 841
849struct nsproxy;
850#line 841
851struct nsproxy;
852#line 841
853struct nsproxy;
854#line 36 "include/linux/kmod.h"
855struct cred;
856#line 36
857struct cred;
858#line 36
859struct cred;
860#line 36
861struct cred;
862#line 27 "include/linux/elf.h"
863typedef __u64 Elf64_Addr;
864#line 28 "include/linux/elf.h"
865typedef __u16 Elf64_Half;
866#line 32 "include/linux/elf.h"
867typedef __u32 Elf64_Word;
868#line 33 "include/linux/elf.h"
869typedef __u64 Elf64_Xword;
870#line 202 "include/linux/elf.h"
871struct elf64_sym {
872 Elf64_Word st_name ;
873 unsigned char st_info ;
874 unsigned char st_other ;
875 Elf64_Half st_shndx ;
876 Elf64_Addr st_value ;
877 Elf64_Xword st_size ;
878};
879#line 210 "include/linux/elf.h"
880typedef struct elf64_sym Elf64_Sym;
881#line 444
882struct sock;
883#line 444
884struct sock;
885#line 444
886struct sock;
887#line 444
888struct sock;
889#line 445
890struct kobject;
891#line 445
892struct kobject;
893#line 445
894struct kobject;
895#line 445
896struct kobject;
897#line 446
898enum kobj_ns_type {
899 KOBJ_NS_TYPE_NONE = 0,
900 KOBJ_NS_TYPE_NET = 1,
901 KOBJ_NS_TYPES = 2
902} ;
903#line 452 "include/linux/elf.h"
904struct kobj_ns_type_operations {
905 enum kobj_ns_type type ;
906 void *(*grab_current_ns)(void) ;
907 void const *(*netlink_ns)(struct sock * ) ;
908 void const *(*initial_ns)(void) ;
909 void (*drop_ns)(void * ) ;
910};
911#line 57 "include/linux/kobject_ns.h"
912struct attribute {
913 char const *name ;
914 mode_t mode ;
915 struct lock_class_key *key ;
916 struct lock_class_key skey ;
917};
918#line 33 "include/linux/sysfs.h"
919struct attribute_group {
920 char const *name ;
921 mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
922 struct attribute **attrs ;
923};
924#line 62 "include/linux/sysfs.h"
925struct bin_attribute {
926 struct attribute attr ;
927 size_t size ;
928 void *private ;
929 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
930 loff_t , size_t ) ;
931 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
932 loff_t , size_t ) ;
933 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
934};
935#line 98 "include/linux/sysfs.h"
936struct sysfs_ops {
937 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
938 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
939};
940#line 116
941struct sysfs_dirent;
942#line 116
943struct sysfs_dirent;
944#line 116
945struct sysfs_dirent;
946#line 116
947struct sysfs_dirent;
948#line 181 "include/linux/sysfs.h"
949struct kref {
950 atomic_t refcount ;
951};
952#line 49 "include/linux/kobject.h"
953struct kset;
954#line 49
955struct kset;
956#line 49
957struct kset;
958#line 49
959struct kobj_type;
960#line 49
961struct kobj_type;
962#line 49
963struct kobj_type;
964#line 49 "include/linux/kobject.h"
965struct kobject {
966 char const *name ;
967 struct list_head entry ;
968 struct kobject *parent ;
969 struct kset *kset ;
970 struct kobj_type *ktype ;
971 struct sysfs_dirent *sd ;
972 struct kref kref ;
973 unsigned char state_initialized : 1 ;
974 unsigned char state_in_sysfs : 1 ;
975 unsigned char state_add_uevent_sent : 1 ;
976 unsigned char state_remove_uevent_sent : 1 ;
977 unsigned char uevent_suppress : 1 ;
978};
979#line 109 "include/linux/kobject.h"
980struct kobj_type {
981 void (*release)(struct kobject * ) ;
982 struct sysfs_ops const *sysfs_ops ;
983 struct attribute **default_attrs ;
984 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
985 void const *(*namespace)(struct kobject * ) ;
986};
987#line 117 "include/linux/kobject.h"
988struct kobj_uevent_env {
989 char *envp[32U] ;
990 int envp_idx ;
991 char buf[2048U] ;
992 int buflen ;
993};
994#line 124 "include/linux/kobject.h"
995struct kset_uevent_ops {
996 int (* const filter)(struct kset * , struct kobject * ) ;
997 char const *(* const name)(struct kset * , struct kobject * ) ;
998 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
999};
1000#line 141 "include/linux/kobject.h"
1001struct kset {
1002 struct list_head list ;
1003 spinlock_t list_lock ;
1004 struct kobject kobj ;
1005 struct kset_uevent_ops const *uevent_ops ;
1006};
1007#line 219
1008struct kernel_param;
1009#line 219
1010struct kernel_param;
1011#line 219
1012struct kernel_param;
1013#line 219
1014struct kernel_param;
1015#line 220 "include/linux/kobject.h"
1016struct kernel_param_ops {
1017 int (*set)(char const * , struct kernel_param const * ) ;
1018 int (*get)(char * , struct kernel_param const * ) ;
1019 void (*free)(void * ) ;
1020};
1021#line 44 "include/linux/moduleparam.h"
1022struct kparam_string;
1023#line 44
1024struct kparam_string;
1025#line 44
1026struct kparam_string;
1027#line 44
1028struct kparam_array;
1029#line 44
1030struct kparam_array;
1031#line 44
1032struct kparam_array;
1033#line 44 "include/linux/moduleparam.h"
1034union __anonunion_ldv_12924_129 {
1035 void *arg ;
1036 struct kparam_string const *str ;
1037 struct kparam_array const *arr ;
1038};
1039#line 44 "include/linux/moduleparam.h"
1040struct kernel_param {
1041 char const *name ;
1042 struct kernel_param_ops const *ops ;
1043 u16 perm ;
1044 u16 flags ;
1045 union __anonunion_ldv_12924_129 ldv_12924 ;
1046};
1047#line 59 "include/linux/moduleparam.h"
1048struct kparam_string {
1049 unsigned int maxlen ;
1050 char *string ;
1051};
1052#line 65 "include/linux/moduleparam.h"
1053struct kparam_array {
1054 unsigned int max ;
1055 unsigned int elemsize ;
1056 unsigned int *num ;
1057 struct kernel_param_ops const *ops ;
1058 void *elem ;
1059};
1060#line 404 "include/linux/moduleparam.h"
1061struct jump_label_key {
1062 atomic_t enabled ;
1063};
1064#line 99 "include/linux/jump_label.h"
1065struct tracepoint;
1066#line 99
1067struct tracepoint;
1068#line 99
1069struct tracepoint;
1070#line 99
1071struct tracepoint;
1072#line 100 "include/linux/jump_label.h"
1073struct tracepoint_func {
1074 void *func ;
1075 void *data ;
1076};
1077#line 29 "include/linux/tracepoint.h"
1078struct tracepoint {
1079 char const *name ;
1080 struct jump_label_key key ;
1081 void (*regfunc)(void) ;
1082 void (*unregfunc)(void) ;
1083 struct tracepoint_func *funcs ;
1084};
1085#line 84 "include/linux/tracepoint.h"
1086struct mod_arch_specific {
1087
1088};
1089#line 127 "include/trace/events/module.h"
1090struct kernel_symbol {
1091 unsigned long value ;
1092 char const *name ;
1093};
1094#line 48 "include/linux/module.h"
1095struct module_attribute {
1096 struct attribute attr ;
1097 ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1098 ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1099 size_t ) ;
1100 void (*setup)(struct module * , char const * ) ;
1101 int (*test)(struct module * ) ;
1102 void (*free)(struct module * ) ;
1103};
1104#line 68
1105struct module_param_attrs;
1106#line 68
1107struct module_param_attrs;
1108#line 68
1109struct module_param_attrs;
1110#line 68 "include/linux/module.h"
1111struct module_kobject {
1112 struct kobject kobj ;
1113 struct module *mod ;
1114 struct kobject *drivers_dir ;
1115 struct module_param_attrs *mp ;
1116};
1117#line 81
1118struct exception_table_entry;
1119#line 81
1120struct exception_table_entry;
1121#line 81
1122struct exception_table_entry;
1123#line 81
1124struct exception_table_entry;
1125#line 218
1126enum module_state {
1127 MODULE_STATE_LIVE = 0,
1128 MODULE_STATE_COMING = 1,
1129 MODULE_STATE_GOING = 2
1130} ;
1131#line 224 "include/linux/module.h"
1132struct module_ref {
1133 unsigned int incs ;
1134 unsigned int decs ;
1135};
1136#line 418
1137struct module_sect_attrs;
1138#line 418
1139struct module_sect_attrs;
1140#line 418
1141struct module_sect_attrs;
1142#line 418
1143struct module_notes_attrs;
1144#line 418
1145struct module_notes_attrs;
1146#line 418
1147struct module_notes_attrs;
1148#line 418
1149struct ftrace_event_call;
1150#line 418
1151struct ftrace_event_call;
1152#line 418
1153struct ftrace_event_call;
1154#line 418 "include/linux/module.h"
1155struct module {
1156 enum module_state state ;
1157 struct list_head list ;
1158 char name[56U] ;
1159 struct module_kobject mkobj ;
1160 struct module_attribute *modinfo_attrs ;
1161 char const *version ;
1162 char const *srcversion ;
1163 struct kobject *holders_dir ;
1164 struct kernel_symbol const *syms ;
1165 unsigned long const *crcs ;
1166 unsigned int num_syms ;
1167 struct kernel_param *kp ;
1168 unsigned int num_kp ;
1169 unsigned int num_gpl_syms ;
1170 struct kernel_symbol const *gpl_syms ;
1171 unsigned long const *gpl_crcs ;
1172 struct kernel_symbol const *unused_syms ;
1173 unsigned long const *unused_crcs ;
1174 unsigned int num_unused_syms ;
1175 unsigned int num_unused_gpl_syms ;
1176 struct kernel_symbol const *unused_gpl_syms ;
1177 unsigned long const *unused_gpl_crcs ;
1178 struct kernel_symbol const *gpl_future_syms ;
1179 unsigned long const *gpl_future_crcs ;
1180 unsigned int num_gpl_future_syms ;
1181 unsigned int num_exentries ;
1182 struct exception_table_entry *extable ;
1183 int (*init)(void) ;
1184 void *module_init ;
1185 void *module_core ;
1186 unsigned int init_size ;
1187 unsigned int core_size ;
1188 unsigned int init_text_size ;
1189 unsigned int core_text_size ;
1190 unsigned int init_ro_size ;
1191 unsigned int core_ro_size ;
1192 struct mod_arch_specific arch ;
1193 unsigned int taints ;
1194 unsigned int num_bugs ;
1195 struct list_head bug_list ;
1196 struct bug_entry *bug_table ;
1197 Elf64_Sym *symtab ;
1198 Elf64_Sym *core_symtab ;
1199 unsigned int num_symtab ;
1200 unsigned int core_num_syms ;
1201 char *strtab ;
1202 char *core_strtab ;
1203 struct module_sect_attrs *sect_attrs ;
1204 struct module_notes_attrs *notes_attrs ;
1205 char *args ;
1206 void *percpu ;
1207 unsigned int percpu_size ;
1208 unsigned int num_tracepoints ;
1209 struct tracepoint * const *tracepoints_ptrs ;
1210 unsigned int num_trace_bprintk_fmt ;
1211 char const **trace_bprintk_fmt_start ;
1212 struct ftrace_event_call **trace_events ;
1213 unsigned int num_trace_events ;
1214 unsigned int num_ftrace_callsites ;
1215 unsigned long *ftrace_callsites ;
1216 struct list_head source_list ;
1217 struct list_head target_list ;
1218 struct task_struct *waiter ;
1219 void (*exit)(void) ;
1220 struct module_ref *refptr ;
1221 ctor_fn_t (**ctors)(void) ;
1222 unsigned int num_ctors ;
1223};
1224#line 8 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
1225struct klist_node;
1226#line 8
1227struct klist_node;
1228#line 8
1229struct klist_node;
1230#line 8
1231struct klist_node;
1232#line 37 "include/linux/klist.h"
1233struct klist_node {
1234 void *n_klist ;
1235 struct list_head n_node ;
1236 struct kref n_ref ;
1237};
1238#line 67
1239struct dma_map_ops;
1240#line 67
1241struct dma_map_ops;
1242#line 67
1243struct dma_map_ops;
1244#line 67 "include/linux/klist.h"
1245struct dev_archdata {
1246 void *acpi_handle ;
1247 struct dma_map_ops *dma_ops ;
1248 void *iommu ;
1249};
1250#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1251struct device_private;
1252#line 17
1253struct device_private;
1254#line 17
1255struct device_private;
1256#line 17
1257struct device_private;
1258#line 18
1259struct device_driver;
1260#line 18
1261struct device_driver;
1262#line 18
1263struct device_driver;
1264#line 18
1265struct device_driver;
1266#line 19
1267struct driver_private;
1268#line 19
1269struct driver_private;
1270#line 19
1271struct driver_private;
1272#line 19
1273struct driver_private;
1274#line 20
1275struct class;
1276#line 20
1277struct class;
1278#line 20
1279struct class;
1280#line 20
1281struct class;
1282#line 21
1283struct subsys_private;
1284#line 21
1285struct subsys_private;
1286#line 21
1287struct subsys_private;
1288#line 21
1289struct subsys_private;
1290#line 22
1291struct bus_type;
1292#line 22
1293struct bus_type;
1294#line 22
1295struct bus_type;
1296#line 22
1297struct bus_type;
1298#line 23
1299struct device_node;
1300#line 23
1301struct device_node;
1302#line 23
1303struct device_node;
1304#line 23
1305struct device_node;
1306#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1307struct bus_attribute {
1308 struct attribute attr ;
1309 ssize_t (*show)(struct bus_type * , char * ) ;
1310 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1311};
1312#line 49 "include/linux/device.h"
1313struct device_attribute;
1314#line 49
1315struct device_attribute;
1316#line 49
1317struct device_attribute;
1318#line 49
1319struct driver_attribute;
1320#line 49
1321struct driver_attribute;
1322#line 49
1323struct driver_attribute;
1324#line 49 "include/linux/device.h"
1325struct bus_type {
1326 char const *name ;
1327 struct bus_attribute *bus_attrs ;
1328 struct device_attribute *dev_attrs ;
1329 struct driver_attribute *drv_attrs ;
1330 int (*match)(struct device * , struct device_driver * ) ;
1331 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1332 int (*probe)(struct device * ) ;
1333 int (*remove)(struct device * ) ;
1334 void (*shutdown)(struct device * ) ;
1335 int (*suspend)(struct device * , pm_message_t ) ;
1336 int (*resume)(struct device * ) ;
1337 struct dev_pm_ops const *pm ;
1338 struct subsys_private *p ;
1339};
1340#line 153
1341struct of_device_id;
1342#line 153
1343struct of_device_id;
1344#line 153
1345struct of_device_id;
1346#line 153 "include/linux/device.h"
1347struct device_driver {
1348 char const *name ;
1349 struct bus_type *bus ;
1350 struct module *owner ;
1351 char const *mod_name ;
1352 bool suppress_bind_attrs ;
1353 struct of_device_id const *of_match_table ;
1354 int (*probe)(struct device * ) ;
1355 int (*remove)(struct device * ) ;
1356 void (*shutdown)(struct device * ) ;
1357 int (*suspend)(struct device * , pm_message_t ) ;
1358 int (*resume)(struct device * ) ;
1359 struct attribute_group const **groups ;
1360 struct dev_pm_ops const *pm ;
1361 struct driver_private *p ;
1362};
1363#line 218 "include/linux/device.h"
1364struct driver_attribute {
1365 struct attribute attr ;
1366 ssize_t (*show)(struct device_driver * , char * ) ;
1367 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1368};
1369#line 248
1370struct class_attribute;
1371#line 248
1372struct class_attribute;
1373#line 248
1374struct class_attribute;
1375#line 248 "include/linux/device.h"
1376struct class {
1377 char const *name ;
1378 struct module *owner ;
1379 struct class_attribute *class_attrs ;
1380 struct device_attribute *dev_attrs ;
1381 struct bin_attribute *dev_bin_attrs ;
1382 struct kobject *dev_kobj ;
1383 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1384 char *(*devnode)(struct device * , mode_t * ) ;
1385 void (*class_release)(struct class * ) ;
1386 void (*dev_release)(struct device * ) ;
1387 int (*suspend)(struct device * , pm_message_t ) ;
1388 int (*resume)(struct device * ) ;
1389 struct kobj_ns_type_operations const *ns_type ;
1390 void const *(*namespace)(struct device * ) ;
1391 struct dev_pm_ops const *pm ;
1392 struct subsys_private *p ;
1393};
1394#line 305
1395struct device_type;
1396#line 305
1397struct device_type;
1398#line 305
1399struct device_type;
1400#line 344 "include/linux/device.h"
1401struct class_attribute {
1402 struct attribute attr ;
1403 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1404 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1405};
1406#line 395 "include/linux/device.h"
1407struct device_type {
1408 char const *name ;
1409 struct attribute_group const **groups ;
1410 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1411 char *(*devnode)(struct device * , mode_t * ) ;
1412 void (*release)(struct device * ) ;
1413 struct dev_pm_ops const *pm ;
1414};
1415#line 422 "include/linux/device.h"
1416struct device_attribute {
1417 struct attribute attr ;
1418 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1419 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1420 size_t ) ;
1421};
1422#line 483 "include/linux/device.h"
1423struct device_dma_parameters {
1424 unsigned int max_segment_size ;
1425 unsigned long segment_boundary_mask ;
1426};
1427#line 492
1428struct dma_coherent_mem;
1429#line 492
1430struct dma_coherent_mem;
1431#line 492
1432struct dma_coherent_mem;
1433#line 492 "include/linux/device.h"
1434struct device {
1435 struct device *parent ;
1436 struct device_private *p ;
1437 struct kobject kobj ;
1438 char const *init_name ;
1439 struct device_type const *type ;
1440 struct mutex mutex ;
1441 struct bus_type *bus ;
1442 struct device_driver *driver ;
1443 void *platform_data ;
1444 struct dev_pm_info power ;
1445 struct dev_power_domain *pwr_domain ;
1446 int numa_node ;
1447 u64 *dma_mask ;
1448 u64 coherent_dma_mask ;
1449 struct device_dma_parameters *dma_parms ;
1450 struct list_head dma_pools ;
1451 struct dma_coherent_mem *dma_mem ;
1452 struct dev_archdata archdata ;
1453 struct device_node *of_node ;
1454 dev_t devt ;
1455 spinlock_t devres_lock ;
1456 struct list_head devres_head ;
1457 struct klist_node knode_class ;
1458 struct class *class ;
1459 struct attribute_group const **groups ;
1460 void (*release)(struct device * ) ;
1461};
1462#line 604 "include/linux/device.h"
1463struct wakeup_source {
1464 char *name ;
1465 struct list_head entry ;
1466 spinlock_t lock ;
1467 struct timer_list timer ;
1468 unsigned long timer_expires ;
1469 ktime_t total_time ;
1470 ktime_t max_time ;
1471 ktime_t last_time ;
1472 unsigned long event_count ;
1473 unsigned long active_count ;
1474 unsigned long relax_count ;
1475 unsigned long hit_count ;
1476 unsigned char active : 1 ;
1477};
1478#line 118 "include/linux/kmemleak.h"
1479struct kmem_cache_cpu {
1480 void **freelist ;
1481 unsigned long tid ;
1482 struct page *page ;
1483 int node ;
1484 unsigned int stat[19U] ;
1485};
1486#line 46 "include/linux/slub_def.h"
1487struct kmem_cache_node {
1488 spinlock_t list_lock ;
1489 unsigned long nr_partial ;
1490 struct list_head partial ;
1491 atomic_long_t nr_slabs ;
1492 atomic_long_t total_objects ;
1493 struct list_head full ;
1494};
1495#line 57 "include/linux/slub_def.h"
1496struct kmem_cache_order_objects {
1497 unsigned long x ;
1498};
1499#line 67 "include/linux/slub_def.h"
1500struct kmem_cache {
1501 struct kmem_cache_cpu *cpu_slab ;
1502 unsigned long flags ;
1503 unsigned long min_partial ;
1504 int size ;
1505 int objsize ;
1506 int offset ;
1507 struct kmem_cache_order_objects oo ;
1508 struct kmem_cache_order_objects max ;
1509 struct kmem_cache_order_objects min ;
1510 gfp_t allocflags ;
1511 int refcount ;
1512 void (*ctor)(void * ) ;
1513 int inuse ;
1514 int align ;
1515 int reserved ;
1516 char const *name ;
1517 struct list_head list ;
1518 struct kobject kobj ;
1519 int remote_node_defrag_ratio ;
1520 struct kmem_cache_node *node[1024U] ;
1521};
1522#line 12 "include/linux/mod_devicetable.h"
1523typedef unsigned long kernel_ulong_t;
1524#line 121 "include/linux/mod_devicetable.h"
1525struct hid_device_id {
1526 __u16 bus ;
1527 __u16 pad1 ;
1528 __u32 vendor ;
1529 __u32 product ;
1530 kernel_ulong_t driver_data ;
1531};
1532#line 215 "include/linux/mod_devicetable.h"
1533struct of_device_id {
1534 char name[32U] ;
1535 char type[32U] ;
1536 char compatible[128U] ;
1537 void *data ;
1538};
1539#line 269 "include/linux/mod_devicetable.h"
1540struct input_device_id {
1541 kernel_ulong_t flags ;
1542 __u16 bustype ;
1543 __u16 vendor ;
1544 __u16 product ;
1545 __u16 version ;
1546 kernel_ulong_t evbit[1U] ;
1547 kernel_ulong_t keybit[12U] ;
1548 kernel_ulong_t relbit[1U] ;
1549 kernel_ulong_t absbit[1U] ;
1550 kernel_ulong_t mscbit[1U] ;
1551 kernel_ulong_t ledbit[1U] ;
1552 kernel_ulong_t sndbit[1U] ;
1553 kernel_ulong_t ffbit[2U] ;
1554 kernel_ulong_t swbit[1U] ;
1555 kernel_ulong_t driver_info ;
1556};
1557#line 32 "include/linux/input.h"
1558struct input_id {
1559 __u16 bustype ;
1560 __u16 vendor ;
1561 __u16 product ;
1562 __u16 version ;
1563};
1564#line 49 "include/linux/input.h"
1565struct input_absinfo {
1566 __s32 value ;
1567 __s32 minimum ;
1568 __s32 maximum ;
1569 __s32 fuzz ;
1570 __s32 flat ;
1571 __s32 resolution ;
1572};
1573#line 77 "include/linux/input.h"
1574struct input_keymap_entry {
1575 __u8 flags ;
1576 __u8 len ;
1577 __u16 index ;
1578 __u32 keycode ;
1579 __u8 scancode[32U] ;
1580};
1581#line 101 "include/linux/input.h"
1582struct ff_replay {
1583 __u16 length ;
1584 __u16 delay ;
1585};
1586#line 930 "include/linux/input.h"
1587struct ff_trigger {
1588 __u16 button ;
1589 __u16 interval ;
1590};
1591#line 940 "include/linux/input.h"
1592struct ff_envelope {
1593 __u16 attack_length ;
1594 __u16 attack_level ;
1595 __u16 fade_length ;
1596 __u16 fade_level ;
1597};
1598#line 959 "include/linux/input.h"
1599struct ff_constant_effect {
1600 __s16 level ;
1601 struct ff_envelope envelope ;
1602};
1603#line 969 "include/linux/input.h"
1604struct ff_ramp_effect {
1605 __s16 start_level ;
1606 __s16 end_level ;
1607 struct ff_envelope envelope ;
1608};
1609#line 981 "include/linux/input.h"
1610struct ff_condition_effect {
1611 __u16 right_saturation ;
1612 __u16 left_saturation ;
1613 __s16 right_coeff ;
1614 __s16 left_coeff ;
1615 __u16 deadband ;
1616 __s16 center ;
1617};
1618#line 1002 "include/linux/input.h"
1619struct ff_periodic_effect {
1620 __u16 waveform ;
1621 __u16 period ;
1622 __s16 magnitude ;
1623 __s16 offset ;
1624 __u16 phase ;
1625 struct ff_envelope envelope ;
1626 __u32 custom_len ;
1627 __s16 *custom_data ;
1628};
1629#line 1033 "include/linux/input.h"
1630struct ff_rumble_effect {
1631 __u16 strong_magnitude ;
1632 __u16 weak_magnitude ;
1633};
1634#line 1046 "include/linux/input.h"
1635union __anonunion_u_131 {
1636 struct ff_constant_effect constant ;
1637 struct ff_ramp_effect ramp ;
1638 struct ff_periodic_effect periodic ;
1639 struct ff_condition_effect condition[2U] ;
1640 struct ff_rumble_effect rumble ;
1641};
1642#line 1046 "include/linux/input.h"
1643struct ff_effect {
1644 __u16 type ;
1645 __s16 id ;
1646 __u16 direction ;
1647 struct ff_trigger trigger ;
1648 struct ff_replay replay ;
1649 union __anonunion_u_131 u ;
1650};
1651#line 1088
1652struct block_device;
1653#line 1088
1654struct block_device;
1655#line 1088
1656struct block_device;
1657#line 1088
1658struct block_device;
1659#line 92 "include/linux/bit_spinlock.h"
1660struct hlist_bl_node;
1661#line 92
1662struct hlist_bl_node;
1663#line 92
1664struct hlist_bl_node;
1665#line 92 "include/linux/bit_spinlock.h"
1666struct hlist_bl_head {
1667 struct hlist_bl_node *first ;
1668};
1669#line 36 "include/linux/list_bl.h"
1670struct hlist_bl_node {
1671 struct hlist_bl_node *next ;
1672 struct hlist_bl_node **pprev ;
1673};
1674#line 114 "include/linux/rculist_bl.h"
1675struct nameidata;
1676#line 114
1677struct nameidata;
1678#line 114
1679struct nameidata;
1680#line 114
1681struct nameidata;
1682#line 115
1683struct path;
1684#line 115
1685struct path;
1686#line 115
1687struct path;
1688#line 115
1689struct path;
1690#line 116
1691struct vfsmount;
1692#line 116
1693struct vfsmount;
1694#line 116
1695struct vfsmount;
1696#line 116
1697struct vfsmount;
1698#line 117 "include/linux/rculist_bl.h"
1699struct qstr {
1700 unsigned int hash ;
1701 unsigned int len ;
1702 unsigned char const *name ;
1703};
1704#line 100 "include/linux/dcache.h"
1705struct inode;
1706#line 100
1707struct inode;
1708#line 100
1709struct inode;
1710#line 100
1711struct dentry_operations;
1712#line 100
1713struct dentry_operations;
1714#line 100
1715struct dentry_operations;
1716#line 100
1717struct super_block;
1718#line 100
1719struct super_block;
1720#line 100
1721struct super_block;
1722#line 100 "include/linux/dcache.h"
1723union __anonunion_d_u_132 {
1724 struct list_head d_child ;
1725 struct rcu_head d_rcu ;
1726};
1727#line 100 "include/linux/dcache.h"
1728struct dentry {
1729 unsigned int d_flags ;
1730 seqcount_t d_seq ;
1731 struct hlist_bl_node d_hash ;
1732 struct dentry *d_parent ;
1733 struct qstr d_name ;
1734 struct inode *d_inode ;
1735 unsigned char d_iname[32U] ;
1736 unsigned int d_count ;
1737 spinlock_t d_lock ;
1738 struct dentry_operations const *d_op ;
1739 struct super_block *d_sb ;
1740 unsigned long d_time ;
1741 void *d_fsdata ;
1742 struct list_head d_lru ;
1743 union __anonunion_d_u_132 d_u ;
1744 struct list_head d_subdirs ;
1745 struct list_head d_alias ;
1746};
1747#line 151 "include/linux/dcache.h"
1748struct dentry_operations {
1749 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1750 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1751 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1752 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1753 int (*d_delete)(struct dentry const * ) ;
1754 void (*d_release)(struct dentry * ) ;
1755 void (*d_iput)(struct dentry * , struct inode * ) ;
1756 char *(*d_dname)(struct dentry * , char * , int ) ;
1757 struct vfsmount *(*d_automount)(struct path * ) ;
1758 int (*d_manage)(struct dentry * , bool ) ;
1759};
1760#line 422 "include/linux/dcache.h"
1761struct path {
1762 struct vfsmount *mnt ;
1763 struct dentry *dentry ;
1764};
1765#line 51 "include/linux/radix-tree.h"
1766struct radix_tree_node;
1767#line 51
1768struct radix_tree_node;
1769#line 51
1770struct radix_tree_node;
1771#line 51 "include/linux/radix-tree.h"
1772struct radix_tree_root {
1773 unsigned int height ;
1774 gfp_t gfp_mask ;
1775 struct radix_tree_node *rnode ;
1776};
1777#line 229
1778struct prio_tree_node;
1779#line 229
1780struct prio_tree_node;
1781#line 229
1782struct prio_tree_node;
1783#line 229 "include/linux/radix-tree.h"
1784struct raw_prio_tree_node {
1785 struct prio_tree_node *left ;
1786 struct prio_tree_node *right ;
1787 struct prio_tree_node *parent ;
1788};
1789#line 19 "include/linux/prio_tree.h"
1790struct prio_tree_node {
1791 struct prio_tree_node *left ;
1792 struct prio_tree_node *right ;
1793 struct prio_tree_node *parent ;
1794 unsigned long start ;
1795 unsigned long last ;
1796};
1797#line 27 "include/linux/prio_tree.h"
1798struct prio_tree_root {
1799 struct prio_tree_node *prio_tree_node ;
1800 unsigned short index_bits ;
1801 unsigned short raw ;
1802};
1803#line 111
1804enum pid_type {
1805 PIDTYPE_PID = 0,
1806 PIDTYPE_PGID = 1,
1807 PIDTYPE_SID = 2,
1808 PIDTYPE_MAX = 3
1809} ;
1810#line 118
1811struct pid_namespace;
1812#line 118
1813struct pid_namespace;
1814#line 118
1815struct pid_namespace;
1816#line 118 "include/linux/prio_tree.h"
1817struct upid {
1818 int nr ;
1819 struct pid_namespace *ns ;
1820 struct hlist_node pid_chain ;
1821};
1822#line 56 "include/linux/pid.h"
1823struct pid {
1824 atomic_t count ;
1825 unsigned int level ;
1826 struct hlist_head tasks[3U] ;
1827 struct rcu_head rcu ;
1828 struct upid numbers[1U] ;
1829};
1830#line 68 "include/linux/pid.h"
1831struct pid_link {
1832 struct hlist_node node ;
1833 struct pid *pid ;
1834};
1835#line 93 "include/linux/capability.h"
1836struct kernel_cap_struct {
1837 __u32 cap[2U] ;
1838};
1839#line 96 "include/linux/capability.h"
1840typedef struct kernel_cap_struct kernel_cap_t;
1841#line 104
1842struct user_namespace;
1843#line 104
1844struct user_namespace;
1845#line 104
1846struct user_namespace;
1847#line 104
1848struct user_namespace;
1849#line 45 "include/linux/semaphore.h"
1850struct fiemap_extent {
1851 __u64 fe_logical ;
1852 __u64 fe_physical ;
1853 __u64 fe_length ;
1854 __u64 fe_reserved64[2U] ;
1855 __u32 fe_flags ;
1856 __u32 fe_reserved[3U] ;
1857};
1858#line 38 "include/linux/fiemap.h"
1859struct export_operations;
1860#line 38
1861struct export_operations;
1862#line 38
1863struct export_operations;
1864#line 38
1865struct export_operations;
1866#line 40
1867struct iovec;
1868#line 40
1869struct iovec;
1870#line 40
1871struct iovec;
1872#line 40
1873struct iovec;
1874#line 41
1875struct kiocb;
1876#line 41
1877struct kiocb;
1878#line 41
1879struct kiocb;
1880#line 41
1881struct kiocb;
1882#line 42
1883struct pipe_inode_info;
1884#line 42
1885struct pipe_inode_info;
1886#line 42
1887struct pipe_inode_info;
1888#line 42
1889struct pipe_inode_info;
1890#line 43
1891struct poll_table_struct;
1892#line 43
1893struct poll_table_struct;
1894#line 43
1895struct poll_table_struct;
1896#line 43
1897struct poll_table_struct;
1898#line 44
1899struct kstatfs;
1900#line 44
1901struct kstatfs;
1902#line 44
1903struct kstatfs;
1904#line 44
1905struct kstatfs;
1906#line 426 "include/linux/fs.h"
1907struct iattr {
1908 unsigned int ia_valid ;
1909 umode_t ia_mode ;
1910 uid_t ia_uid ;
1911 gid_t ia_gid ;
1912 loff_t ia_size ;
1913 struct timespec ia_atime ;
1914 struct timespec ia_mtime ;
1915 struct timespec ia_ctime ;
1916 struct file *ia_file ;
1917};
1918#line 119 "include/linux/quota.h"
1919struct if_dqinfo {
1920 __u64 dqi_bgrace ;
1921 __u64 dqi_igrace ;
1922 __u32 dqi_flags ;
1923 __u32 dqi_valid ;
1924};
1925#line 176 "include/linux/percpu_counter.h"
1926struct fs_disk_quota {
1927 __s8 d_version ;
1928 __s8 d_flags ;
1929 __u16 d_fieldmask ;
1930 __u32 d_id ;
1931 __u64 d_blk_hardlimit ;
1932 __u64 d_blk_softlimit ;
1933 __u64 d_ino_hardlimit ;
1934 __u64 d_ino_softlimit ;
1935 __u64 d_bcount ;
1936 __u64 d_icount ;
1937 __s32 d_itimer ;
1938 __s32 d_btimer ;
1939 __u16 d_iwarns ;
1940 __u16 d_bwarns ;
1941 __s32 d_padding2 ;
1942 __u64 d_rtb_hardlimit ;
1943 __u64 d_rtb_softlimit ;
1944 __u64 d_rtbcount ;
1945 __s32 d_rtbtimer ;
1946 __u16 d_rtbwarns ;
1947 __s16 d_padding3 ;
1948 char d_padding4[8U] ;
1949};
1950#line 75 "include/linux/dqblk_xfs.h"
1951struct fs_qfilestat {
1952 __u64 qfs_ino ;
1953 __u64 qfs_nblks ;
1954 __u32 qfs_nextents ;
1955};
1956#line 150 "include/linux/dqblk_xfs.h"
1957typedef struct fs_qfilestat fs_qfilestat_t;
1958#line 151 "include/linux/dqblk_xfs.h"
1959struct fs_quota_stat {
1960 __s8 qs_version ;
1961 __u16 qs_flags ;
1962 __s8 qs_pad ;
1963 fs_qfilestat_t qs_uquota ;
1964 fs_qfilestat_t qs_gquota ;
1965 __u32 qs_incoredqs ;
1966 __s32 qs_btimelimit ;
1967 __s32 qs_itimelimit ;
1968 __s32 qs_rtbtimelimit ;
1969 __u16 qs_bwarnlimit ;
1970 __u16 qs_iwarnlimit ;
1971};
1972#line 165
1973struct dquot;
1974#line 165
1975struct dquot;
1976#line 165
1977struct dquot;
1978#line 165
1979struct dquot;
1980#line 185 "include/linux/quota.h"
1981typedef __kernel_uid32_t qid_t;
1982#line 186 "include/linux/quota.h"
1983typedef long long qsize_t;
1984#line 189 "include/linux/quota.h"
1985struct mem_dqblk {
1986 qsize_t dqb_bhardlimit ;
1987 qsize_t dqb_bsoftlimit ;
1988 qsize_t dqb_curspace ;
1989 qsize_t dqb_rsvspace ;
1990 qsize_t dqb_ihardlimit ;
1991 qsize_t dqb_isoftlimit ;
1992 qsize_t dqb_curinodes ;
1993 time_t dqb_btime ;
1994 time_t dqb_itime ;
1995};
1996#line 211
1997struct quota_format_type;
1998#line 211
1999struct quota_format_type;
2000#line 211
2001struct quota_format_type;
2002#line 211
2003struct quota_format_type;
2004#line 212 "include/linux/quota.h"
2005struct mem_dqinfo {
2006 struct quota_format_type *dqi_format ;
2007 int dqi_fmt_id ;
2008 struct list_head dqi_dirty_list ;
2009 unsigned long dqi_flags ;
2010 unsigned int dqi_bgrace ;
2011 unsigned int dqi_igrace ;
2012 qsize_t dqi_maxblimit ;
2013 qsize_t dqi_maxilimit ;
2014 void *dqi_priv ;
2015};
2016#line 271 "include/linux/quota.h"
2017struct dquot {
2018 struct hlist_node dq_hash ;
2019 struct list_head dq_inuse ;
2020 struct list_head dq_free ;
2021 struct list_head dq_dirty ;
2022 struct mutex dq_lock ;
2023 atomic_t dq_count ;
2024 wait_queue_head_t dq_wait_unused ;
2025 struct super_block *dq_sb ;
2026 unsigned int dq_id ;
2027 loff_t dq_off ;
2028 unsigned long dq_flags ;
2029 short dq_type ;
2030 struct mem_dqblk dq_dqb ;
2031};
2032#line 299 "include/linux/quota.h"
2033struct quota_format_ops {
2034 int (*check_quota_file)(struct super_block * , int ) ;
2035 int (*read_file_info)(struct super_block * , int ) ;
2036 int (*write_file_info)(struct super_block * , int ) ;
2037 int (*free_file_info)(struct super_block * , int ) ;
2038 int (*read_dqblk)(struct dquot * ) ;
2039 int (*commit_dqblk)(struct dquot * ) ;
2040 int (*release_dqblk)(struct dquot * ) ;
2041};
2042#line 310 "include/linux/quota.h"
2043struct dquot_operations {
2044 int (*write_dquot)(struct dquot * ) ;
2045 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
2046 void (*destroy_dquot)(struct dquot * ) ;
2047 int (*acquire_dquot)(struct dquot * ) ;
2048 int (*release_dquot)(struct dquot * ) ;
2049 int (*mark_dirty)(struct dquot * ) ;
2050 int (*write_info)(struct super_block * , int ) ;
2051 qsize_t *(*get_reserved_space)(struct inode * ) ;
2052};
2053#line 324 "include/linux/quota.h"
2054struct quotactl_ops {
2055 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
2056 int (*quota_on_meta)(struct super_block * , int , int ) ;
2057 int (*quota_off)(struct super_block * , int ) ;
2058 int (*quota_sync)(struct super_block * , int , int ) ;
2059 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
2060 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
2061 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2062 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
2063 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2064 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
2065};
2066#line 340 "include/linux/quota.h"
2067struct quota_format_type {
2068 int qf_fmt_id ;
2069 struct quota_format_ops const *qf_ops ;
2070 struct module *qf_owner ;
2071 struct quota_format_type *qf_next ;
2072};
2073#line 386 "include/linux/quota.h"
2074struct quota_info {
2075 unsigned int flags ;
2076 struct mutex dqio_mutex ;
2077 struct mutex dqonoff_mutex ;
2078 struct rw_semaphore dqptr_sem ;
2079 struct inode *files[2U] ;
2080 struct mem_dqinfo info[2U] ;
2081 struct quota_format_ops const *ops[2U] ;
2082};
2083#line 417
2084struct address_space;
2085#line 417
2086struct address_space;
2087#line 417
2088struct address_space;
2089#line 417
2090struct address_space;
2091#line 418
2092struct writeback_control;
2093#line 418
2094struct writeback_control;
2095#line 418
2096struct writeback_control;
2097#line 418
2098struct writeback_control;
2099#line 576 "include/linux/fs.h"
2100union __anonunion_arg_135 {
2101 char *buf ;
2102 void *data ;
2103};
2104#line 576 "include/linux/fs.h"
2105struct __anonstruct_read_descriptor_t_134 {
2106 size_t written ;
2107 size_t count ;
2108 union __anonunion_arg_135 arg ;
2109 int error ;
2110};
2111#line 576 "include/linux/fs.h"
2112typedef struct __anonstruct_read_descriptor_t_134 read_descriptor_t;
2113#line 579 "include/linux/fs.h"
2114struct address_space_operations {
2115 int (*writepage)(struct page * , struct writeback_control * ) ;
2116 int (*readpage)(struct file * , struct page * ) ;
2117 int (*writepages)(struct address_space * , struct writeback_control * ) ;
2118 int (*set_page_dirty)(struct page * ) ;
2119 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
2120 unsigned int ) ;
2121 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
2122 unsigned int , struct page ** , void ** ) ;
2123 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
2124 unsigned int , struct page * , void * ) ;
2125 sector_t (*bmap)(struct address_space * , sector_t ) ;
2126 void (*invalidatepage)(struct page * , unsigned long ) ;
2127 int (*releasepage)(struct page * , gfp_t ) ;
2128 void (*freepage)(struct page * ) ;
2129 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
2130 unsigned long ) ;
2131 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
2132 int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
2133 int (*launder_page)(struct page * ) ;
2134 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
2135 int (*error_remove_page)(struct address_space * , struct page * ) ;
2136};
2137#line 630
2138struct backing_dev_info;
2139#line 630
2140struct backing_dev_info;
2141#line 630
2142struct backing_dev_info;
2143#line 630
2144struct backing_dev_info;
2145#line 631 "include/linux/fs.h"
2146struct address_space {
2147 struct inode *host ;
2148 struct radix_tree_root page_tree ;
2149 spinlock_t tree_lock ;
2150 unsigned int i_mmap_writable ;
2151 struct prio_tree_root i_mmap ;
2152 struct list_head i_mmap_nonlinear ;
2153 struct mutex i_mmap_mutex ;
2154 unsigned long nrpages ;
2155 unsigned long writeback_index ;
2156 struct address_space_operations const *a_ops ;
2157 unsigned long flags ;
2158 struct backing_dev_info *backing_dev_info ;
2159 spinlock_t private_lock ;
2160 struct list_head private_list ;
2161 struct address_space *assoc_mapping ;
2162};
2163#line 652
2164struct hd_struct;
2165#line 652
2166struct hd_struct;
2167#line 652
2168struct hd_struct;
2169#line 652
2170struct gendisk;
2171#line 652
2172struct gendisk;
2173#line 652
2174struct gendisk;
2175#line 652 "include/linux/fs.h"
2176struct block_device {
2177 dev_t bd_dev ;
2178 int bd_openers ;
2179 struct inode *bd_inode ;
2180 struct super_block *bd_super ;
2181 struct mutex bd_mutex ;
2182 struct list_head bd_inodes ;
2183 void *bd_claiming ;
2184 void *bd_holder ;
2185 int bd_holders ;
2186 bool bd_write_holder ;
2187 struct list_head bd_holder_disks ;
2188 struct block_device *bd_contains ;
2189 unsigned int bd_block_size ;
2190 struct hd_struct *bd_part ;
2191 unsigned int bd_part_count ;
2192 int bd_invalidated ;
2193 struct gendisk *bd_disk ;
2194 struct list_head bd_list ;
2195 unsigned long bd_private ;
2196 int bd_fsfreeze_count ;
2197 struct mutex bd_fsfreeze_mutex ;
2198};
2199#line 723
2200struct posix_acl;
2201#line 723
2202struct posix_acl;
2203#line 723
2204struct posix_acl;
2205#line 723
2206struct posix_acl;
2207#line 724
2208struct inode_operations;
2209#line 724
2210struct inode_operations;
2211#line 724
2212struct inode_operations;
2213#line 724 "include/linux/fs.h"
2214union __anonunion_ldv_16359_136 {
2215 struct list_head i_dentry ;
2216 struct rcu_head i_rcu ;
2217};
2218#line 724
2219struct file_operations;
2220#line 724
2221struct file_operations;
2222#line 724
2223struct file_operations;
2224#line 724
2225struct file_lock;
2226#line 724
2227struct file_lock;
2228#line 724
2229struct file_lock;
2230#line 724
2231struct cdev;
2232#line 724
2233struct cdev;
2234#line 724
2235struct cdev;
2236#line 724 "include/linux/fs.h"
2237union __anonunion_ldv_16386_137 {
2238 struct pipe_inode_info *i_pipe ;
2239 struct block_device *i_bdev ;
2240 struct cdev *i_cdev ;
2241};
2242#line 724 "include/linux/fs.h"
2243struct inode {
2244 umode_t i_mode ;
2245 uid_t i_uid ;
2246 gid_t i_gid ;
2247 struct inode_operations const *i_op ;
2248 struct super_block *i_sb ;
2249 spinlock_t i_lock ;
2250 unsigned int i_flags ;
2251 unsigned long i_state ;
2252 void *i_security ;
2253 struct mutex i_mutex ;
2254 unsigned long dirtied_when ;
2255 struct hlist_node i_hash ;
2256 struct list_head i_wb_list ;
2257 struct list_head i_lru ;
2258 struct list_head i_sb_list ;
2259 union __anonunion_ldv_16359_136 ldv_16359 ;
2260 unsigned long i_ino ;
2261 atomic_t i_count ;
2262 unsigned int i_nlink ;
2263 dev_t i_rdev ;
2264 unsigned int i_blkbits ;
2265 u64 i_version ;
2266 loff_t i_size ;
2267 struct timespec i_atime ;
2268 struct timespec i_mtime ;
2269 struct timespec i_ctime ;
2270 blkcnt_t i_blocks ;
2271 unsigned short i_bytes ;
2272 struct rw_semaphore i_alloc_sem ;
2273 struct file_operations const *i_fop ;
2274 struct file_lock *i_flock ;
2275 struct address_space *i_mapping ;
2276 struct address_space i_data ;
2277 struct dquot *i_dquot[2U] ;
2278 struct list_head i_devices ;
2279 union __anonunion_ldv_16386_137 ldv_16386 ;
2280 __u32 i_generation ;
2281 __u32 i_fsnotify_mask ;
2282 struct hlist_head i_fsnotify_marks ;
2283 atomic_t i_readcount ;
2284 atomic_t i_writecount ;
2285 struct posix_acl *i_acl ;
2286 struct posix_acl *i_default_acl ;
2287 void *i_private ;
2288};
2289#line 902 "include/linux/fs.h"
2290struct fown_struct {
2291 rwlock_t lock ;
2292 struct pid *pid ;
2293 enum pid_type pid_type ;
2294 uid_t uid ;
2295 uid_t euid ;
2296 int signum ;
2297};
2298#line 910 "include/linux/fs.h"
2299struct file_ra_state {
2300 unsigned long start ;
2301 unsigned int size ;
2302 unsigned int async_size ;
2303 unsigned int ra_pages ;
2304 unsigned int mmap_miss ;
2305 loff_t prev_pos ;
2306};
2307#line 933 "include/linux/fs.h"
2308union __anonunion_f_u_138 {
2309 struct list_head fu_list ;
2310 struct rcu_head fu_rcuhead ;
2311};
2312#line 933 "include/linux/fs.h"
2313struct file {
2314 union __anonunion_f_u_138 f_u ;
2315 struct path f_path ;
2316 struct file_operations const *f_op ;
2317 spinlock_t f_lock ;
2318 int f_sb_list_cpu ;
2319 atomic_long_t f_count ;
2320 unsigned int f_flags ;
2321 fmode_t f_mode ;
2322 loff_t f_pos ;
2323 struct fown_struct f_owner ;
2324 struct cred const *f_cred ;
2325 struct file_ra_state f_ra ;
2326 u64 f_version ;
2327 void *f_security ;
2328 void *private_data ;
2329 struct list_head f_ep_links ;
2330 struct address_space *f_mapping ;
2331 unsigned long f_mnt_write_state ;
2332};
2333#line 1064
2334struct files_struct;
2335#line 1064
2336struct files_struct;
2337#line 1064
2338struct files_struct;
2339#line 1064 "include/linux/fs.h"
2340typedef struct files_struct *fl_owner_t;
2341#line 1065 "include/linux/fs.h"
2342struct file_lock_operations {
2343 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
2344 void (*fl_release_private)(struct file_lock * ) ;
2345};
2346#line 1070 "include/linux/fs.h"
2347struct lock_manager_operations {
2348 int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
2349 void (*fl_notify)(struct file_lock * ) ;
2350 int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
2351 void (*fl_release_private)(struct file_lock * ) ;
2352 void (*fl_break)(struct file_lock * ) ;
2353 int (*fl_change)(struct file_lock ** , int ) ;
2354};
2355#line 163 "include/linux/nfs.h"
2356struct nlm_lockowner;
2357#line 163
2358struct nlm_lockowner;
2359#line 163
2360struct nlm_lockowner;
2361#line 163
2362struct nlm_lockowner;
2363#line 164 "include/linux/nfs.h"
2364struct nfs_lock_info {
2365 u32 state ;
2366 struct nlm_lockowner *owner ;
2367 struct list_head list ;
2368};
2369#line 18 "include/linux/nfs_fs_i.h"
2370struct nfs4_lock_state;
2371#line 18
2372struct nfs4_lock_state;
2373#line 18
2374struct nfs4_lock_state;
2375#line 18
2376struct nfs4_lock_state;
2377#line 19 "include/linux/nfs_fs_i.h"
2378struct nfs4_lock_info {
2379 struct nfs4_lock_state *owner ;
2380};
2381#line 23
2382struct fasync_struct;
2383#line 23
2384struct fasync_struct;
2385#line 23
2386struct fasync_struct;
2387#line 23 "include/linux/nfs_fs_i.h"
2388struct __anonstruct_afs_140 {
2389 struct list_head link ;
2390 int state ;
2391};
2392#line 23 "include/linux/nfs_fs_i.h"
2393union __anonunion_fl_u_139 {
2394 struct nfs_lock_info nfs_fl ;
2395 struct nfs4_lock_info nfs4_fl ;
2396 struct __anonstruct_afs_140 afs ;
2397};
2398#line 23 "include/linux/nfs_fs_i.h"
2399struct file_lock {
2400 struct file_lock *fl_next ;
2401 struct list_head fl_link ;
2402 struct list_head fl_block ;
2403 fl_owner_t fl_owner ;
2404 unsigned char fl_flags ;
2405 unsigned char fl_type ;
2406 unsigned int fl_pid ;
2407 struct pid *fl_nspid ;
2408 wait_queue_head_t fl_wait ;
2409 struct file *fl_file ;
2410 loff_t fl_start ;
2411 loff_t fl_end ;
2412 struct fasync_struct *fl_fasync ;
2413 unsigned long fl_break_time ;
2414 struct file_lock_operations const *fl_ops ;
2415 struct lock_manager_operations const *fl_lmops ;
2416 union __anonunion_fl_u_139 fl_u ;
2417};
2418#line 1171 "include/linux/fs.h"
2419struct fasync_struct {
2420 spinlock_t fa_lock ;
2421 int magic ;
2422 int fa_fd ;
2423 struct fasync_struct *fa_next ;
2424 struct file *fa_file ;
2425 struct rcu_head fa_rcu ;
2426};
2427#line 1363
2428struct file_system_type;
2429#line 1363
2430struct file_system_type;
2431#line 1363
2432struct file_system_type;
2433#line 1363
2434struct super_operations;
2435#line 1363
2436struct super_operations;
2437#line 1363
2438struct super_operations;
2439#line 1363
2440struct xattr_handler;
2441#line 1363
2442struct xattr_handler;
2443#line 1363
2444struct xattr_handler;
2445#line 1363
2446struct mtd_info;
2447#line 1363
2448struct mtd_info;
2449#line 1363
2450struct mtd_info;
2451#line 1363 "include/linux/fs.h"
2452struct super_block {
2453 struct list_head s_list ;
2454 dev_t s_dev ;
2455 unsigned char s_dirt ;
2456 unsigned char s_blocksize_bits ;
2457 unsigned long s_blocksize ;
2458 loff_t s_maxbytes ;
2459 struct file_system_type *s_type ;
2460 struct super_operations const *s_op ;
2461 struct dquot_operations const *dq_op ;
2462 struct quotactl_ops const *s_qcop ;
2463 struct export_operations const *s_export_op ;
2464 unsigned long s_flags ;
2465 unsigned long s_magic ;
2466 struct dentry *s_root ;
2467 struct rw_semaphore s_umount ;
2468 struct mutex s_lock ;
2469 int s_count ;
2470 atomic_t s_active ;
2471 void *s_security ;
2472 struct xattr_handler const **s_xattr ;
2473 struct list_head s_inodes ;
2474 struct hlist_bl_head s_anon ;
2475 struct list_head *s_files ;
2476 struct list_head s_dentry_lru ;
2477 int s_nr_dentry_unused ;
2478 struct block_device *s_bdev ;
2479 struct backing_dev_info *s_bdi ;
2480 struct mtd_info *s_mtd ;
2481 struct list_head s_instances ;
2482 struct quota_info s_dquot ;
2483 int s_frozen ;
2484 wait_queue_head_t s_wait_unfrozen ;
2485 char s_id[32U] ;
2486 u8 s_uuid[16U] ;
2487 void *s_fs_info ;
2488 fmode_t s_mode ;
2489 u32 s_time_gran ;
2490 struct mutex s_vfs_rename_mutex ;
2491 char *s_subtype ;
2492 char *s_options ;
2493 struct dentry_operations const *s_d_op ;
2494 int cleancache_poolid ;
2495};
2496#line 1495 "include/linux/fs.h"
2497struct fiemap_extent_info {
2498 unsigned int fi_flags ;
2499 unsigned int fi_extents_mapped ;
2500 unsigned int fi_extents_max ;
2501 struct fiemap_extent *fi_extents_start ;
2502};
2503#line 1534 "include/linux/fs.h"
2504struct file_operations {
2505 struct module *owner ;
2506 loff_t (*llseek)(struct file * , loff_t , int ) ;
2507 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
2508 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
2509 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
2510 loff_t ) ;
2511 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
2512 loff_t ) ;
2513 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
2514 loff_t , u64 , unsigned int ) ) ;
2515 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
2516 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
2517 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
2518 int (*mmap)(struct file * , struct vm_area_struct * ) ;
2519 int (*open)(struct inode * , struct file * ) ;
2520 int (*flush)(struct file * , fl_owner_t ) ;
2521 int (*release)(struct inode * , struct file * ) ;
2522 int (*fsync)(struct file * , int ) ;
2523 int (*aio_fsync)(struct kiocb * , int ) ;
2524 int (*fasync)(int , struct file * , int ) ;
2525 int (*lock)(struct file * , int , struct file_lock * ) ;
2526 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
2527 int ) ;
2528 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2529 unsigned long , unsigned long ) ;
2530 int (*check_flags)(int ) ;
2531 int (*flock)(struct file * , int , struct file_lock * ) ;
2532 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
2533 unsigned int ) ;
2534 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
2535 unsigned int ) ;
2536 int (*setlease)(struct file * , long , struct file_lock ** ) ;
2537 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
2538};
2539#line 1574 "include/linux/fs.h"
2540struct inode_operations {
2541 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
2542 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2543 int (*permission)(struct inode * , int , unsigned int ) ;
2544 int (*check_acl)(struct inode * , int , unsigned int ) ;
2545 int (*readlink)(struct dentry * , char * , int ) ;
2546 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2547 int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
2548 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2549 int (*unlink)(struct inode * , struct dentry * ) ;
2550 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
2551 int (*mkdir)(struct inode * , struct dentry * , int ) ;
2552 int (*rmdir)(struct inode * , struct dentry * ) ;
2553 int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
2554 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2555 void (*truncate)(struct inode * ) ;
2556 int (*setattr)(struct dentry * , struct iattr * ) ;
2557 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
2558 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2559 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2560 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2561 int (*removexattr)(struct dentry * , char const * ) ;
2562 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2563 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
2564};
2565#line 1620 "include/linux/fs.h"
2566struct super_operations {
2567 struct inode *(*alloc_inode)(struct super_block * ) ;
2568 void (*destroy_inode)(struct inode * ) ;
2569 void (*dirty_inode)(struct inode * , int ) ;
2570 int (*write_inode)(struct inode * , struct writeback_control * ) ;
2571 int (*drop_inode)(struct inode * ) ;
2572 void (*evict_inode)(struct inode * ) ;
2573 void (*put_super)(struct super_block * ) ;
2574 void (*write_super)(struct super_block * ) ;
2575 int (*sync_fs)(struct super_block * , int ) ;
2576 int (*freeze_fs)(struct super_block * ) ;
2577 int (*unfreeze_fs)(struct super_block * ) ;
2578 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2579 int (*remount_fs)(struct super_block * , int * , char * ) ;
2580 void (*umount_begin)(struct super_block * ) ;
2581 int (*show_options)(struct seq_file * , struct vfsmount * ) ;
2582 int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
2583 int (*show_path)(struct seq_file * , struct vfsmount * ) ;
2584 int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
2585 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2586 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2587 loff_t ) ;
2588 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2589};
2590#line 1801 "include/linux/fs.h"
2591struct file_system_type {
2592 char const *name ;
2593 int fs_flags ;
2594 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2595 void (*kill_sb)(struct super_block * ) ;
2596 struct module *owner ;
2597 struct file_system_type *next ;
2598 struct list_head fs_supers ;
2599 struct lock_class_key s_lock_key ;
2600 struct lock_class_key s_umount_key ;
2601 struct lock_class_key s_vfs_rename_key ;
2602 struct lock_class_key i_lock_key ;
2603 struct lock_class_key i_mutex_key ;
2604 struct lock_class_key i_mutex_dir_key ;
2605 struct lock_class_key i_alloc_sem_key ;
2606};
2607#line 2600
2608struct ff_device;
2609#line 2600
2610struct ff_device;
2611#line 2600
2612struct ff_device;
2613#line 2600
2614struct input_mt_slot;
2615#line 2600
2616struct input_mt_slot;
2617#line 2600
2618struct input_mt_slot;
2619#line 2600
2620struct input_handle;
2621#line 2600
2622struct input_handle;
2623#line 2600
2624struct input_handle;
2625#line 2600 "include/linux/fs.h"
2626struct input_dev {
2627 char const *name ;
2628 char const *phys ;
2629 char const *uniq ;
2630 struct input_id id ;
2631 unsigned long propbit[1U] ;
2632 unsigned long evbit[1U] ;
2633 unsigned long keybit[12U] ;
2634 unsigned long relbit[1U] ;
2635 unsigned long absbit[1U] ;
2636 unsigned long mscbit[1U] ;
2637 unsigned long ledbit[1U] ;
2638 unsigned long sndbit[1U] ;
2639 unsigned long ffbit[2U] ;
2640 unsigned long swbit[1U] ;
2641 unsigned int hint_events_per_packet ;
2642 unsigned int keycodemax ;
2643 unsigned int keycodesize ;
2644 void *keycode ;
2645 int (*setkeycode)(struct input_dev * , struct input_keymap_entry const * , unsigned int * ) ;
2646 int (*getkeycode)(struct input_dev * , struct input_keymap_entry * ) ;
2647 struct ff_device *ff ;
2648 unsigned int repeat_key ;
2649 struct timer_list timer ;
2650 int rep[2U] ;
2651 struct input_mt_slot *mt ;
2652 int mtsize ;
2653 int slot ;
2654 int trkid ;
2655 struct input_absinfo *absinfo ;
2656 unsigned long key[12U] ;
2657 unsigned long led[1U] ;
2658 unsigned long snd[1U] ;
2659 unsigned long sw[1U] ;
2660 int (*open)(struct input_dev * ) ;
2661 void (*close)(struct input_dev * ) ;
2662 int (*flush)(struct input_dev * , struct file * ) ;
2663 int (*event)(struct input_dev * , unsigned int , unsigned int , int ) ;
2664 struct input_handle *grab ;
2665 spinlock_t event_lock ;
2666 struct mutex mutex ;
2667 unsigned int users ;
2668 bool going_away ;
2669 bool sync ;
2670 struct device dev ;
2671 struct list_head h_list ;
2672 struct list_head node ;
2673};
2674#line 1288 "include/linux/input.h"
2675struct input_handler {
2676 void *private ;
2677 void (*event)(struct input_handle * , unsigned int , unsigned int , int ) ;
2678 bool (*filter)(struct input_handle * , unsigned int , unsigned int , int ) ;
2679 bool (*match)(struct input_handler * , struct input_dev * ) ;
2680 int (*connect)(struct input_handler * , struct input_dev * , struct input_device_id const * ) ;
2681 void (*disconnect)(struct input_handle * ) ;
2682 void (*start)(struct input_handle * ) ;
2683 struct file_operations const *fops ;
2684 int minor ;
2685 char const *name ;
2686 struct input_device_id const *id_table ;
2687 struct list_head h_list ;
2688 struct list_head node ;
2689};
2690#line 1398 "include/linux/input.h"
2691struct input_handle {
2692 void *private ;
2693 int open ;
2694 char const *name ;
2695 struct input_dev *dev ;
2696 struct input_handler *handler ;
2697 struct list_head d_node ;
2698 struct list_head h_node ;
2699};
2700#line 1560 "include/linux/input.h"
2701struct ff_device {
2702 int (*upload)(struct input_dev * , struct ff_effect * , struct ff_effect * ) ;
2703 int (*erase)(struct input_dev * , int ) ;
2704 int (*playback)(struct input_dev * , int , int ) ;
2705 void (*set_gain)(struct input_dev * , u16 ) ;
2706 void (*set_autocenter)(struct input_dev * , u16 ) ;
2707 void (*destroy)(struct ff_device * ) ;
2708 void *private ;
2709 unsigned long ffbit[2U] ;
2710 struct mutex mutex ;
2711 int max_effects ;
2712 struct ff_effect *effects ;
2713 struct file *effect_owners[0U] ;
2714};
2715#line 355 "include/linux/hid.h"
2716struct hid_collection {
2717 unsigned int type ;
2718 unsigned int usage ;
2719 unsigned int level ;
2720};
2721#line 366 "include/linux/hid.h"
2722struct hid_usage {
2723 unsigned int hid ;
2724 unsigned int collection_index ;
2725 __u16 code ;
2726 __u8 type ;
2727 __s8 hat_min ;
2728 __s8 hat_max ;
2729 __s8 hat_dir ;
2730};
2731#line 377
2732struct hid_input;
2733#line 377
2734struct hid_input;
2735#line 377
2736struct hid_input;
2737#line 377
2738struct hid_input;
2739#line 378
2740struct hid_report;
2741#line 378
2742struct hid_report;
2743#line 378
2744struct hid_report;
2745#line 378 "include/linux/hid.h"
2746struct hid_field {
2747 unsigned int physical ;
2748 unsigned int logical ;
2749 unsigned int application ;
2750 struct hid_usage *usage ;
2751 unsigned int maxusage ;
2752 unsigned int flags ;
2753 unsigned int report_offset ;
2754 unsigned int report_size ;
2755 unsigned int report_count ;
2756 unsigned int report_type ;
2757 __s32 *value ;
2758 __s32 logical_minimum ;
2759 __s32 logical_maximum ;
2760 __s32 physical_minimum ;
2761 __s32 physical_maximum ;
2762 __s32 unit_exponent ;
2763 unsigned int unit ;
2764 struct hid_report *report ;
2765 unsigned int index ;
2766 struct hid_input *hidinput ;
2767 __u16 dpad ;
2768};
2769#line 404
2770struct hid_device;
2771#line 404
2772struct hid_device;
2773#line 404
2774struct hid_device;
2775#line 404 "include/linux/hid.h"
2776struct hid_report {
2777 struct list_head list ;
2778 unsigned int id ;
2779 unsigned int type ;
2780 struct hid_field *field[128U] ;
2781 unsigned int maxfield ;
2782 unsigned int size ;
2783 struct hid_device *device ;
2784};
2785#line 416 "include/linux/hid.h"
2786struct hid_report_enum {
2787 unsigned int numbered ;
2788 struct list_head report_list ;
2789 struct hid_report *report_id_hash[256U] ;
2790};
2791#line 440 "include/linux/hid.h"
2792struct hid_input {
2793 struct list_head list ;
2794 struct hid_report *report ;
2795 struct input_dev *input ;
2796};
2797#line 453
2798enum hid_type {
2799 HID_TYPE_OTHER = 0,
2800 HID_TYPE_USBMOUSE = 1
2801} ;
2802#line 458
2803struct hid_driver;
2804#line 458
2805struct hid_driver;
2806#line 458
2807struct hid_driver;
2808#line 458
2809struct hid_driver;
2810#line 459
2811struct hid_ll_driver;
2812#line 459
2813struct hid_ll_driver;
2814#line 459
2815struct hid_ll_driver;
2816#line 459
2817struct hid_ll_driver;
2818#line 460 "include/linux/hid.h"
2819struct hid_device {
2820 __u8 *rdesc ;
2821 unsigned int rsize ;
2822 struct hid_collection *collection ;
2823 unsigned int collection_size ;
2824 unsigned int maxcollection ;
2825 unsigned int maxapplication ;
2826 __u16 bus ;
2827 __u32 vendor ;
2828 __u32 product ;
2829 __u32 version ;
2830 enum hid_type type ;
2831 unsigned int country ;
2832 struct hid_report_enum report_enum[3U] ;
2833 struct device dev ;
2834 struct hid_driver *driver ;
2835 struct hid_ll_driver *ll_driver ;
2836 unsigned int status ;
2837 unsigned int claimed ;
2838 unsigned int quirks ;
2839 struct list_head inputs ;
2840 void *hiddev ;
2841 void *hidraw ;
2842 int minor ;
2843 int open ;
2844 char name[128U] ;
2845 char phys[64U] ;
2846 char uniq[64U] ;
2847 void *driver_data ;
2848 int (*ff_init)(struct hid_device * ) ;
2849 int (*hiddev_connect)(struct hid_device * , unsigned int ) ;
2850 void (*hiddev_disconnect)(struct hid_device * ) ;
2851 void (*hiddev_hid_event)(struct hid_device * , struct hid_field * , struct hid_usage * ,
2852 __s32 ) ;
2853 void (*hiddev_report_event)(struct hid_device * , struct hid_report * ) ;
2854 int (*hid_get_raw_report)(struct hid_device * , unsigned char , __u8 * , size_t ,
2855 unsigned char ) ;
2856 int (*hid_output_raw_report)(struct hid_device * , __u8 * , size_t , unsigned char ) ;
2857 unsigned short debug ;
2858 struct dentry *debug_dir ;
2859 struct dentry *debug_rdesc ;
2860 struct dentry *debug_events ;
2861 struct list_head debug_list ;
2862 wait_queue_head_t debug_wait ;
2863};
2864#line 559 "include/linux/hid.h"
2865struct hid_report_id {
2866 __u32 report_type ;
2867};
2868#line 577 "include/linux/hid.h"
2869struct hid_usage_id {
2870 __u32 usage_hid ;
2871 __u32 usage_type ;
2872 __u32 usage_code ;
2873};
2874#line 582 "include/linux/hid.h"
2875struct hid_driver {
2876 char *name ;
2877 struct hid_device_id const *id_table ;
2878 struct list_head dyn_list ;
2879 spinlock_t dyn_lock ;
2880 int (*probe)(struct hid_device * , struct hid_device_id const * ) ;
2881 void (*remove)(struct hid_device * ) ;
2882 struct hid_report_id const *report_table ;
2883 int (*raw_event)(struct hid_device * , struct hid_report * , u8 * , int ) ;
2884 struct hid_usage_id const *usage_table ;
2885 int (*event)(struct hid_device * , struct hid_field * , struct hid_usage * , __s32 ) ;
2886 __u8 *(*report_fixup)(struct hid_device * , __u8 * , unsigned int * ) ;
2887 int (*input_mapping)(struct hid_device * , struct hid_input * , struct hid_field * ,
2888 struct hid_usage * , unsigned long ** , int * ) ;
2889 int (*input_mapped)(struct hid_device * , struct hid_input * , struct hid_field * ,
2890 struct hid_usage * , unsigned long ** , int * ) ;
2891 void (*feature_mapping)(struct hid_device * , struct hid_field * , struct hid_usage * ) ;
2892 int (*suspend)(struct hid_device * , pm_message_t ) ;
2893 int (*resume)(struct hid_device * ) ;
2894 int (*reset_resume)(struct hid_device * ) ;
2895 struct device_driver driver ;
2896};
2897#line 654 "include/linux/hid.h"
2898struct hid_ll_driver {
2899 int (*start)(struct hid_device * ) ;
2900 void (*stop)(struct hid_device * ) ;
2901 int (*open)(struct hid_device * ) ;
2902 void (*close)(struct hid_device * ) ;
2903 int (*power)(struct hid_device * , int ) ;
2904 int (*hidinput_input_event)(struct input_dev * , unsigned int , unsigned int ,
2905 int ) ;
2906 int (*parse)(struct hid_device * ) ;
2907};
2908#line 54 "include/linux/delay.h"
2909enum irqreturn {
2910 IRQ_NONE = 0,
2911 IRQ_HANDLED = 1,
2912 IRQ_WAKE_THREAD = 2
2913} ;
2914#line 16 "include/linux/irqreturn.h"
2915typedef enum irqreturn irqreturn_t;
2916#line 331 "include/linux/irq.h"
2917struct proc_dir_entry;
2918#line 331
2919struct proc_dir_entry;
2920#line 331
2921struct proc_dir_entry;
2922#line 331
2923struct proc_dir_entry;
2924#line 333
2925struct irqaction;
2926#line 333
2927struct irqaction;
2928#line 333
2929struct irqaction;
2930#line 41 "include/asm-generic/sections.h"
2931struct exception_table_entry {
2932 unsigned long insn ;
2933 unsigned long fixup ;
2934};
2935#line 210 "include/linux/hardirq.h"
2936struct rb_node {
2937 unsigned long rb_parent_color ;
2938 struct rb_node *rb_right ;
2939 struct rb_node *rb_left ;
2940};
2941#line 108 "include/linux/rbtree.h"
2942struct rb_root {
2943 struct rb_node *rb_node ;
2944};
2945#line 176 "include/linux/rbtree.h"
2946struct timerqueue_node {
2947 struct rb_node node ;
2948 ktime_t expires ;
2949};
2950#line 12 "include/linux/timerqueue.h"
2951struct timerqueue_head {
2952 struct rb_root head ;
2953 struct timerqueue_node *next ;
2954};
2955#line 50
2956struct hrtimer_clock_base;
2957#line 50
2958struct hrtimer_clock_base;
2959#line 50
2960struct hrtimer_clock_base;
2961#line 50
2962struct hrtimer_clock_base;
2963#line 51
2964struct hrtimer_cpu_base;
2965#line 51
2966struct hrtimer_cpu_base;
2967#line 51
2968struct hrtimer_cpu_base;
2969#line 51
2970struct hrtimer_cpu_base;
2971#line 60
2972enum hrtimer_restart {
2973 HRTIMER_NORESTART = 0,
2974 HRTIMER_RESTART = 1
2975} ;
2976#line 65 "include/linux/timerqueue.h"
2977struct hrtimer {
2978 struct timerqueue_node node ;
2979 ktime_t _softexpires ;
2980 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2981 struct hrtimer_clock_base *base ;
2982 unsigned long state ;
2983 int start_pid ;
2984 void *start_site ;
2985 char start_comm[16U] ;
2986};
2987#line 132 "include/linux/hrtimer.h"
2988struct hrtimer_clock_base {
2989 struct hrtimer_cpu_base *cpu_base ;
2990 int index ;
2991 clockid_t clockid ;
2992 struct timerqueue_head active ;
2993 ktime_t resolution ;
2994 ktime_t (*get_time)(void) ;
2995 ktime_t softirq_time ;
2996 ktime_t offset ;
2997};
2998#line 162 "include/linux/hrtimer.h"
2999struct hrtimer_cpu_base {
3000 raw_spinlock_t lock ;
3001 unsigned long active_bases ;
3002 ktime_t expires_next ;
3003 int hres_active ;
3004 int hang_detected ;
3005 unsigned long nr_events ;
3006 unsigned long nr_retries ;
3007 unsigned long nr_hangs ;
3008 ktime_t max_hang_time ;
3009 struct hrtimer_clock_base clock_base[3U] ;
3010};
3011#line 91 "include/linux/interrupt.h"
3012struct irqaction {
3013 irqreturn_t (*handler)(int , void * ) ;
3014 unsigned long flags ;
3015 void *dev_id ;
3016 struct irqaction *next ;
3017 int irq ;
3018 irqreturn_t (*thread_fn)(int , void * ) ;
3019 struct task_struct *thread ;
3020 unsigned long thread_flags ;
3021 unsigned long thread_mask ;
3022 char const *name ;
3023 struct proc_dir_entry *dir ;
3024};
3025#line 54 "include/linux/sched.h"
3026struct __anonstruct_ldv_21165_144 {
3027 u16 inuse ;
3028 u16 objects ;
3029};
3030#line 54 "include/linux/sched.h"
3031union __anonunion_ldv_21166_143 {
3032 atomic_t _mapcount ;
3033 struct __anonstruct_ldv_21165_144 ldv_21165 ;
3034};
3035#line 54 "include/linux/sched.h"
3036struct __anonstruct_ldv_21171_146 {
3037 unsigned long private ;
3038 struct address_space *mapping ;
3039};
3040#line 54 "include/linux/sched.h"
3041union __anonunion_ldv_21174_145 {
3042 struct __anonstruct_ldv_21171_146 ldv_21171 ;
3043 struct kmem_cache *slab ;
3044 struct page *first_page ;
3045};
3046#line 54 "include/linux/sched.h"
3047union __anonunion_ldv_21178_147 {
3048 unsigned long index ;
3049 void *freelist ;
3050};
3051#line 54 "include/linux/sched.h"
3052struct page {
3053 unsigned long flags ;
3054 atomic_t _count ;
3055 union __anonunion_ldv_21166_143 ldv_21166 ;
3056 union __anonunion_ldv_21174_145 ldv_21174 ;
3057 union __anonunion_ldv_21178_147 ldv_21178 ;
3058 struct list_head lru ;
3059};
3060#line 124 "include/linux/mm_types.h"
3061struct __anonstruct_vm_set_149 {
3062 struct list_head list ;
3063 void *parent ;
3064 struct vm_area_struct *head ;
3065};
3066#line 124 "include/linux/mm_types.h"
3067union __anonunion_shared_148 {
3068 struct __anonstruct_vm_set_149 vm_set ;
3069 struct raw_prio_tree_node prio_tree_node ;
3070};
3071#line 124
3072struct anon_vma;
3073#line 124
3074struct anon_vma;
3075#line 124
3076struct anon_vma;
3077#line 124
3078struct vm_operations_struct;
3079#line 124
3080struct vm_operations_struct;
3081#line 124
3082struct vm_operations_struct;
3083#line 124
3084struct mempolicy;
3085#line 124
3086struct mempolicy;
3087#line 124
3088struct mempolicy;
3089#line 124 "include/linux/mm_types.h"
3090struct vm_area_struct {
3091 struct mm_struct *vm_mm ;
3092 unsigned long vm_start ;
3093 unsigned long vm_end ;
3094 struct vm_area_struct *vm_next ;
3095 struct vm_area_struct *vm_prev ;
3096 pgprot_t vm_page_prot ;
3097 unsigned long vm_flags ;
3098 struct rb_node vm_rb ;
3099 union __anonunion_shared_148 shared ;
3100 struct list_head anon_vma_chain ;
3101 struct anon_vma *anon_vma ;
3102 struct vm_operations_struct const *vm_ops ;
3103 unsigned long vm_pgoff ;
3104 struct file *vm_file ;
3105 void *vm_private_data ;
3106 struct mempolicy *vm_policy ;
3107};
3108#line 187 "include/linux/mm_types.h"
3109struct core_thread {
3110 struct task_struct *task ;
3111 struct core_thread *next ;
3112};
3113#line 193 "include/linux/mm_types.h"
3114struct core_state {
3115 atomic_t nr_threads ;
3116 struct core_thread dumper ;
3117 struct completion startup ;
3118};
3119#line 206 "include/linux/mm_types.h"
3120struct mm_rss_stat {
3121 atomic_long_t count[3U] ;
3122};
3123#line 219
3124struct linux_binfmt;
3125#line 219
3126struct linux_binfmt;
3127#line 219
3128struct linux_binfmt;
3129#line 219
3130struct mmu_notifier_mm;
3131#line 219
3132struct mmu_notifier_mm;
3133#line 219
3134struct mmu_notifier_mm;
3135#line 219 "include/linux/mm_types.h"
3136struct mm_struct {
3137 struct vm_area_struct *mmap ;
3138 struct rb_root mm_rb ;
3139 struct vm_area_struct *mmap_cache ;
3140 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3141 unsigned long , unsigned long ) ;
3142 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
3143 unsigned long mmap_base ;
3144 unsigned long task_size ;
3145 unsigned long cached_hole_size ;
3146 unsigned long free_area_cache ;
3147 pgd_t *pgd ;
3148 atomic_t mm_users ;
3149 atomic_t mm_count ;
3150 int map_count ;
3151 spinlock_t page_table_lock ;
3152 struct rw_semaphore mmap_sem ;
3153 struct list_head mmlist ;
3154 unsigned long hiwater_rss ;
3155 unsigned long hiwater_vm ;
3156 unsigned long total_vm ;
3157 unsigned long locked_vm ;
3158 unsigned long shared_vm ;
3159 unsigned long exec_vm ;
3160 unsigned long stack_vm ;
3161 unsigned long reserved_vm ;
3162 unsigned long def_flags ;
3163 unsigned long nr_ptes ;
3164 unsigned long start_code ;
3165 unsigned long end_code ;
3166 unsigned long start_data ;
3167 unsigned long end_data ;
3168 unsigned long start_brk ;
3169 unsigned long brk ;
3170 unsigned long start_stack ;
3171 unsigned long arg_start ;
3172 unsigned long arg_end ;
3173 unsigned long env_start ;
3174 unsigned long env_end ;
3175 unsigned long saved_auxv[44U] ;
3176 struct mm_rss_stat rss_stat ;
3177 struct linux_binfmt *binfmt ;
3178 cpumask_var_t cpu_vm_mask_var ;
3179 mm_context_t context ;
3180 unsigned int faultstamp ;
3181 unsigned int token_priority ;
3182 unsigned int last_interval ;
3183 atomic_t oom_disable_count ;
3184 unsigned long flags ;
3185 struct core_state *core_state ;
3186 spinlock_t ioctx_lock ;
3187 struct hlist_head ioctx_list ;
3188 struct task_struct *owner ;
3189 struct file *exe_file ;
3190 unsigned long num_exe_file_vmas ;
3191 struct mmu_notifier_mm *mmu_notifier_mm ;
3192 pgtable_t pmd_huge_pte ;
3193 struct cpumask cpumask_allocation ;
3194};
3195#line 7 "include/asm-generic/cputime.h"
3196typedef unsigned long cputime_t;
3197#line 118 "include/linux/sem.h"
3198struct sem_undo_list;
3199#line 118
3200struct sem_undo_list;
3201#line 118
3202struct sem_undo_list;
3203#line 131 "include/linux/sem.h"
3204struct sem_undo_list {
3205 atomic_t refcnt ;
3206 spinlock_t lock ;
3207 struct list_head list_proc ;
3208};
3209#line 140 "include/linux/sem.h"
3210struct sysv_sem {
3211 struct sem_undo_list *undo_list ;
3212};
3213#line 149
3214struct siginfo;
3215#line 149
3216struct siginfo;
3217#line 149
3218struct siginfo;
3219#line 149
3220struct siginfo;
3221#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3222struct __anonstruct_sigset_t_150 {
3223 unsigned long sig[1U] ;
3224};
3225#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3226typedef struct __anonstruct_sigset_t_150 sigset_t;
3227#line 17 "include/asm-generic/signal-defs.h"
3228typedef void __signalfn_t(int );
3229#line 18 "include/asm-generic/signal-defs.h"
3230typedef __signalfn_t *__sighandler_t;
3231#line 20 "include/asm-generic/signal-defs.h"
3232typedef void __restorefn_t(void);
3233#line 21 "include/asm-generic/signal-defs.h"
3234typedef __restorefn_t *__sigrestore_t;
3235#line 126 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3236struct sigaction {
3237 __sighandler_t sa_handler ;
3238 unsigned long sa_flags ;
3239 __sigrestore_t sa_restorer ;
3240 sigset_t sa_mask ;
3241};
3242#line 173 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3243struct k_sigaction {
3244 struct sigaction sa ;
3245};
3246#line 185 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
3247union sigval {
3248 int sival_int ;
3249 void *sival_ptr ;
3250};
3251#line 10 "include/asm-generic/siginfo.h"
3252typedef union sigval sigval_t;
3253#line 11 "include/asm-generic/siginfo.h"
3254struct __anonstruct__kill_152 {
3255 __kernel_pid_t _pid ;
3256 __kernel_uid32_t _uid ;
3257};
3258#line 11 "include/asm-generic/siginfo.h"
3259struct __anonstruct__timer_153 {
3260 __kernel_timer_t _tid ;
3261 int _overrun ;
3262 char _pad[0U] ;
3263 sigval_t _sigval ;
3264 int _sys_private ;
3265};
3266#line 11 "include/asm-generic/siginfo.h"
3267struct __anonstruct__rt_154 {
3268 __kernel_pid_t _pid ;
3269 __kernel_uid32_t _uid ;
3270 sigval_t _sigval ;
3271};
3272#line 11 "include/asm-generic/siginfo.h"
3273struct __anonstruct__sigchld_155 {
3274 __kernel_pid_t _pid ;
3275 __kernel_uid32_t _uid ;
3276 int _status ;
3277 __kernel_clock_t _utime ;
3278 __kernel_clock_t _stime ;
3279};
3280#line 11 "include/asm-generic/siginfo.h"
3281struct __anonstruct__sigfault_156 {
3282 void *_addr ;
3283 short _addr_lsb ;
3284};
3285#line 11 "include/asm-generic/siginfo.h"
3286struct __anonstruct__sigpoll_157 {
3287 long _band ;
3288 int _fd ;
3289};
3290#line 11 "include/asm-generic/siginfo.h"
3291union __anonunion__sifields_151 {
3292 int _pad[28U] ;
3293 struct __anonstruct__kill_152 _kill ;
3294 struct __anonstruct__timer_153 _timer ;
3295 struct __anonstruct__rt_154 _rt ;
3296 struct __anonstruct__sigchld_155 _sigchld ;
3297 struct __anonstruct__sigfault_156 _sigfault ;
3298 struct __anonstruct__sigpoll_157 _sigpoll ;
3299};
3300#line 11 "include/asm-generic/siginfo.h"
3301struct siginfo {
3302 int si_signo ;
3303 int si_errno ;
3304 int si_code ;
3305 union __anonunion__sifields_151 _sifields ;
3306};
3307#line 94 "include/asm-generic/siginfo.h"
3308typedef struct siginfo siginfo_t;
3309#line 14 "include/linux/signal.h"
3310struct user_struct;
3311#line 14
3312struct user_struct;
3313#line 14
3314struct user_struct;
3315#line 24 "include/linux/signal.h"
3316struct sigpending {
3317 struct list_head list ;
3318 sigset_t signal ;
3319};
3320#line 90 "include/linux/proportions.h"
3321struct prop_local_single {
3322 unsigned long events ;
3323 unsigned long period ;
3324 int shift ;
3325 spinlock_t lock ;
3326};
3327#line 10 "include/linux/seccomp.h"
3328struct __anonstruct_seccomp_t_160 {
3329 int mode ;
3330};
3331#line 10 "include/linux/seccomp.h"
3332typedef struct __anonstruct_seccomp_t_160 seccomp_t;
3333#line 21 "include/linux/seccomp.h"
3334struct plist_head {
3335 struct list_head node_list ;
3336 raw_spinlock_t *rawlock ;
3337 spinlock_t *spinlock ;
3338};
3339#line 88 "include/linux/plist.h"
3340struct plist_node {
3341 int prio ;
3342 struct list_head prio_list ;
3343 struct list_head node_list ;
3344};
3345#line 38 "include/linux/rtmutex.h"
3346struct rt_mutex_waiter;
3347#line 38
3348struct rt_mutex_waiter;
3349#line 38
3350struct rt_mutex_waiter;
3351#line 38
3352struct rt_mutex_waiter;
3353#line 41 "include/linux/resource.h"
3354struct rlimit {
3355 unsigned long rlim_cur ;
3356 unsigned long rlim_max ;
3357};
3358#line 85 "include/linux/resource.h"
3359struct task_io_accounting {
3360 u64 rchar ;
3361 u64 wchar ;
3362 u64 syscr ;
3363 u64 syscw ;
3364 u64 read_bytes ;
3365 u64 write_bytes ;
3366 u64 cancelled_write_bytes ;
3367};
3368#line 45 "include/linux/task_io_accounting.h"
3369struct latency_record {
3370 unsigned long backtrace[12U] ;
3371 unsigned int count ;
3372 unsigned long time ;
3373 unsigned long max ;
3374};
3375#line 29 "include/linux/key.h"
3376typedef int32_t key_serial_t;
3377#line 32 "include/linux/key.h"
3378typedef uint32_t key_perm_t;
3379#line 33
3380struct key;
3381#line 33
3382struct key;
3383#line 33
3384struct key;
3385#line 33
3386struct key;
3387#line 34
3388struct signal_struct;
3389#line 34
3390struct signal_struct;
3391#line 34
3392struct signal_struct;
3393#line 34
3394struct signal_struct;
3395#line 35
3396struct key_type;
3397#line 35
3398struct key_type;
3399#line 35
3400struct key_type;
3401#line 35
3402struct key_type;
3403#line 37
3404struct keyring_list;
3405#line 37
3406struct keyring_list;
3407#line 37
3408struct keyring_list;
3409#line 37
3410struct keyring_list;
3411#line 115
3412struct key_user;
3413#line 115
3414struct key_user;
3415#line 115
3416struct key_user;
3417#line 115 "include/linux/key.h"
3418union __anonunion_ldv_21996_161 {
3419 time_t expiry ;
3420 time_t revoked_at ;
3421};
3422#line 115 "include/linux/key.h"
3423union __anonunion_type_data_162 {
3424 struct list_head link ;
3425 unsigned long x[2U] ;
3426 void *p[2U] ;
3427 int reject_error ;
3428};
3429#line 115 "include/linux/key.h"
3430union __anonunion_payload_163 {
3431 unsigned long value ;
3432 void *rcudata ;
3433 void *data ;
3434 struct keyring_list *subscriptions ;
3435};
3436#line 115 "include/linux/key.h"
3437struct key {
3438 atomic_t usage ;
3439 key_serial_t serial ;
3440 struct rb_node serial_node ;
3441 struct key_type *type ;
3442 struct rw_semaphore sem ;
3443 struct key_user *user ;
3444 void *security ;
3445 union __anonunion_ldv_21996_161 ldv_21996 ;
3446 uid_t uid ;
3447 gid_t gid ;
3448 key_perm_t perm ;
3449 unsigned short quotalen ;
3450 unsigned short datalen ;
3451 unsigned long flags ;
3452 char *description ;
3453 union __anonunion_type_data_162 type_data ;
3454 union __anonunion_payload_163 payload ;
3455};
3456#line 310
3457struct audit_context;
3458#line 310
3459struct audit_context;
3460#line 310
3461struct audit_context;
3462#line 310
3463struct audit_context;
3464#line 27 "include/linux/selinux.h"
3465struct group_info {
3466 atomic_t usage ;
3467 int ngroups ;
3468 int nblocks ;
3469 gid_t small_block[32U] ;
3470 gid_t *blocks[0U] ;
3471};
3472#line 77 "include/linux/cred.h"
3473struct thread_group_cred {
3474 atomic_t usage ;
3475 pid_t tgid ;
3476 spinlock_t lock ;
3477 struct key *session_keyring ;
3478 struct key *process_keyring ;
3479 struct rcu_head rcu ;
3480};
3481#line 91 "include/linux/cred.h"
3482struct cred {
3483 atomic_t usage ;
3484 atomic_t subscribers ;
3485 void *put_addr ;
3486 unsigned int magic ;
3487 uid_t uid ;
3488 gid_t gid ;
3489 uid_t suid ;
3490 gid_t sgid ;
3491 uid_t euid ;
3492 gid_t egid ;
3493 uid_t fsuid ;
3494 gid_t fsgid ;
3495 unsigned int securebits ;
3496 kernel_cap_t cap_inheritable ;
3497 kernel_cap_t cap_permitted ;
3498 kernel_cap_t cap_effective ;
3499 kernel_cap_t cap_bset ;
3500 unsigned char jit_keyring ;
3501 struct key *thread_keyring ;
3502 struct key *request_key_auth ;
3503 struct thread_group_cred *tgcred ;
3504 void *security ;
3505 struct user_struct *user ;
3506 struct user_namespace *user_ns ;
3507 struct group_info *group_info ;
3508 struct rcu_head rcu ;
3509};
3510#line 264
3511struct futex_pi_state;
3512#line 264
3513struct futex_pi_state;
3514#line 264
3515struct futex_pi_state;
3516#line 264
3517struct futex_pi_state;
3518#line 265
3519struct robust_list_head;
3520#line 265
3521struct robust_list_head;
3522#line 265
3523struct robust_list_head;
3524#line 265
3525struct robust_list_head;
3526#line 266
3527struct bio_list;
3528#line 266
3529struct bio_list;
3530#line 266
3531struct bio_list;
3532#line 266
3533struct bio_list;
3534#line 267
3535struct fs_struct;
3536#line 267
3537struct fs_struct;
3538#line 267
3539struct fs_struct;
3540#line 267
3541struct fs_struct;
3542#line 268
3543struct perf_event_context;
3544#line 268
3545struct perf_event_context;
3546#line 268
3547struct perf_event_context;
3548#line 268
3549struct perf_event_context;
3550#line 269
3551struct blk_plug;
3552#line 269
3553struct blk_plug;
3554#line 269
3555struct blk_plug;
3556#line 269
3557struct blk_plug;
3558#line 149 "include/linux/sched.h"
3559struct cfs_rq;
3560#line 149
3561struct cfs_rq;
3562#line 149
3563struct cfs_rq;
3564#line 149
3565struct cfs_rq;
3566#line 44 "include/linux/aio_abi.h"
3567struct io_event {
3568 __u64 data ;
3569 __u64 obj ;
3570 __s64 res ;
3571 __s64 res2 ;
3572};
3573#line 106 "include/linux/aio_abi.h"
3574struct iovec {
3575 void *iov_base ;
3576 __kernel_size_t iov_len ;
3577};
3578#line 54 "include/linux/uio.h"
3579struct kioctx;
3580#line 54
3581struct kioctx;
3582#line 54
3583struct kioctx;
3584#line 54
3585struct kioctx;
3586#line 55 "include/linux/uio.h"
3587union __anonunion_ki_obj_164 {
3588 void *user ;
3589 struct task_struct *tsk ;
3590};
3591#line 55
3592struct eventfd_ctx;
3593#line 55
3594struct eventfd_ctx;
3595#line 55
3596struct eventfd_ctx;
3597#line 55 "include/linux/uio.h"
3598struct kiocb {
3599 struct list_head ki_run_list ;
3600 unsigned long ki_flags ;
3601 int ki_users ;
3602 unsigned int ki_key ;
3603 struct file *ki_filp ;
3604 struct kioctx *ki_ctx ;
3605 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
3606 ssize_t (*ki_retry)(struct kiocb * ) ;
3607 void (*ki_dtor)(struct kiocb * ) ;
3608 union __anonunion_ki_obj_164 ki_obj ;
3609 __u64 ki_user_data ;
3610 loff_t ki_pos ;
3611 void *private ;
3612 unsigned short ki_opcode ;
3613 size_t ki_nbytes ;
3614 char *ki_buf ;
3615 size_t ki_left ;
3616 struct iovec ki_inline_vec ;
3617 struct iovec *ki_iovec ;
3618 unsigned long ki_nr_segs ;
3619 unsigned long ki_cur_seg ;
3620 struct list_head ki_list ;
3621 struct eventfd_ctx *ki_eventfd ;
3622};
3623#line 161 "include/linux/aio.h"
3624struct aio_ring_info {
3625 unsigned long mmap_base ;
3626 unsigned long mmap_size ;
3627 struct page **ring_pages ;
3628 spinlock_t ring_lock ;
3629 long nr_pages ;
3630 unsigned int nr ;
3631 unsigned int tail ;
3632 struct page *internal_pages[8U] ;
3633};
3634#line 177 "include/linux/aio.h"
3635struct kioctx {
3636 atomic_t users ;
3637 int dead ;
3638 struct mm_struct *mm ;
3639 unsigned long user_id ;
3640 struct hlist_node list ;
3641 wait_queue_head_t wait ;
3642 spinlock_t ctx_lock ;
3643 int reqs_active ;
3644 struct list_head active_reqs ;
3645 struct list_head run_list ;
3646 unsigned int max_reqs ;
3647 struct aio_ring_info ring_info ;
3648 struct delayed_work wq ;
3649 struct rcu_head rcu_head ;
3650};
3651#line 404 "include/linux/sched.h"
3652struct sighand_struct {
3653 atomic_t count ;
3654 struct k_sigaction action[64U] ;
3655 spinlock_t siglock ;
3656 wait_queue_head_t signalfd_wqh ;
3657};
3658#line 447 "include/linux/sched.h"
3659struct pacct_struct {
3660 int ac_flag ;
3661 long ac_exitcode ;
3662 unsigned long ac_mem ;
3663 cputime_t ac_utime ;
3664 cputime_t ac_stime ;
3665 unsigned long ac_minflt ;
3666 unsigned long ac_majflt ;
3667};
3668#line 455 "include/linux/sched.h"
3669struct cpu_itimer {
3670 cputime_t expires ;
3671 cputime_t incr ;
3672 u32 error ;
3673 u32 incr_error ;
3674};
3675#line 462 "include/linux/sched.h"
3676struct task_cputime {
3677 cputime_t utime ;
3678 cputime_t stime ;
3679 unsigned long long sum_exec_runtime ;
3680};
3681#line 479 "include/linux/sched.h"
3682struct thread_group_cputimer {
3683 struct task_cputime cputime ;
3684 int running ;
3685 spinlock_t lock ;
3686};
3687#line 515
3688struct autogroup;
3689#line 515
3690struct autogroup;
3691#line 515
3692struct autogroup;
3693#line 515
3694struct autogroup;
3695#line 516
3696struct tty_struct;
3697#line 516
3698struct tty_struct;
3699#line 516
3700struct tty_struct;
3701#line 516
3702struct taskstats;
3703#line 516
3704struct taskstats;
3705#line 516
3706struct taskstats;
3707#line 516
3708struct tty_audit_buf;
3709#line 516
3710struct tty_audit_buf;
3711#line 516
3712struct tty_audit_buf;
3713#line 516 "include/linux/sched.h"
3714struct signal_struct {
3715 atomic_t sigcnt ;
3716 atomic_t live ;
3717 int nr_threads ;
3718 wait_queue_head_t wait_chldexit ;
3719 struct task_struct *curr_target ;
3720 struct sigpending shared_pending ;
3721 int group_exit_code ;
3722 int notify_count ;
3723 struct task_struct *group_exit_task ;
3724 int group_stop_count ;
3725 unsigned int flags ;
3726 struct list_head posix_timers ;
3727 struct hrtimer real_timer ;
3728 struct pid *leader_pid ;
3729 ktime_t it_real_incr ;
3730 struct cpu_itimer it[2U] ;
3731 struct thread_group_cputimer cputimer ;
3732 struct task_cputime cputime_expires ;
3733 struct list_head cpu_timers[3U] ;
3734 struct pid *tty_old_pgrp ;
3735 int leader ;
3736 struct tty_struct *tty ;
3737 struct autogroup *autogroup ;
3738 cputime_t utime ;
3739 cputime_t stime ;
3740 cputime_t cutime ;
3741 cputime_t cstime ;
3742 cputime_t gtime ;
3743 cputime_t cgtime ;
3744 cputime_t prev_utime ;
3745 cputime_t prev_stime ;
3746 unsigned long nvcsw ;
3747 unsigned long nivcsw ;
3748 unsigned long cnvcsw ;
3749 unsigned long cnivcsw ;
3750 unsigned long min_flt ;
3751 unsigned long maj_flt ;
3752 unsigned long cmin_flt ;
3753 unsigned long cmaj_flt ;
3754 unsigned long inblock ;
3755 unsigned long oublock ;
3756 unsigned long cinblock ;
3757 unsigned long coublock ;
3758 unsigned long maxrss ;
3759 unsigned long cmaxrss ;
3760 struct task_io_accounting ioac ;
3761 unsigned long long sum_sched_runtime ;
3762 struct rlimit rlim[16U] ;
3763 struct pacct_struct pacct ;
3764 struct taskstats *stats ;
3765 unsigned int audit_tty ;
3766 struct tty_audit_buf *tty_audit_buf ;
3767 struct rw_semaphore threadgroup_fork_lock ;
3768 int oom_adj ;
3769 int oom_score_adj ;
3770 int oom_score_adj_min ;
3771 struct mutex cred_guard_mutex ;
3772};
3773#line 683 "include/linux/sched.h"
3774struct user_struct {
3775 atomic_t __count ;
3776 atomic_t processes ;
3777 atomic_t files ;
3778 atomic_t sigpending ;
3779 atomic_t inotify_watches ;
3780 atomic_t inotify_devs ;
3781 atomic_t fanotify_listeners ;
3782 atomic_long_t epoll_watches ;
3783 unsigned long mq_bytes ;
3784 unsigned long locked_shm ;
3785 struct key *uid_keyring ;
3786 struct key *session_keyring ;
3787 struct hlist_node uidhash_node ;
3788 uid_t uid ;
3789 struct user_namespace *user_ns ;
3790 atomic_long_t locked_vm ;
3791};
3792#line 728
3793struct reclaim_state;
3794#line 728
3795struct reclaim_state;
3796#line 728
3797struct reclaim_state;
3798#line 728
3799struct reclaim_state;
3800#line 729 "include/linux/sched.h"
3801struct sched_info {
3802 unsigned long pcount ;
3803 unsigned long long run_delay ;
3804 unsigned long long last_arrival ;
3805 unsigned long long last_queued ;
3806};
3807#line 744 "include/linux/sched.h"
3808struct task_delay_info {
3809 spinlock_t lock ;
3810 unsigned int flags ;
3811 struct timespec blkio_start ;
3812 struct timespec blkio_end ;
3813 u64 blkio_delay ;
3814 u64 swapin_delay ;
3815 u32 blkio_count ;
3816 u32 swapin_count ;
3817 struct timespec freepages_start ;
3818 struct timespec freepages_end ;
3819 u64 freepages_delay ;
3820 u32 freepages_count ;
3821};
3822#line 1037
3823struct io_context;
3824#line 1037
3825struct io_context;
3826#line 1037
3827struct io_context;
3828#line 1037
3829struct io_context;
3830#line 1060
3831struct rq;
3832#line 1060
3833struct rq;
3834#line 1060
3835struct rq;
3836#line 1060
3837struct rq;
3838#line 1061 "include/linux/sched.h"
3839struct sched_class {
3840 struct sched_class const *next ;
3841 void (*enqueue_task)(struct rq * , struct task_struct * , int ) ;
3842 void (*dequeue_task)(struct rq * , struct task_struct * , int ) ;
3843 void (*yield_task)(struct rq * ) ;
3844 bool (*yield_to_task)(struct rq * , struct task_struct * , bool ) ;
3845 void (*check_preempt_curr)(struct rq * , struct task_struct * , int ) ;
3846 struct task_struct *(*pick_next_task)(struct rq * ) ;
3847 void (*put_prev_task)(struct rq * , struct task_struct * ) ;
3848 int (*select_task_rq)(struct task_struct * , int , int ) ;
3849 void (*pre_schedule)(struct rq * , struct task_struct * ) ;
3850 void (*post_schedule)(struct rq * ) ;
3851 void (*task_waking)(struct task_struct * ) ;
3852 void (*task_woken)(struct rq * , struct task_struct * ) ;
3853 void (*set_cpus_allowed)(struct task_struct * , struct cpumask const * ) ;
3854 void (*rq_online)(struct rq * ) ;
3855 void (*rq_offline)(struct rq * ) ;
3856 void (*set_curr_task)(struct rq * ) ;
3857 void (*task_tick)(struct rq * , struct task_struct * , int ) ;
3858 void (*task_fork)(struct task_struct * ) ;
3859 void (*switched_from)(struct rq * , struct task_struct * ) ;
3860 void (*switched_to)(struct rq * , struct task_struct * ) ;
3861 void (*prio_changed)(struct rq * , struct task_struct * , int ) ;
3862 unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
3863 void (*task_move_group)(struct task_struct * , int ) ;
3864};
3865#line 1127 "include/linux/sched.h"
3866struct load_weight {
3867 unsigned long weight ;
3868 unsigned long inv_weight ;
3869};
3870#line 1132 "include/linux/sched.h"
3871struct sched_statistics {
3872 u64 wait_start ;
3873 u64 wait_max ;
3874 u64 wait_count ;
3875 u64 wait_sum ;
3876 u64 iowait_count ;
3877 u64 iowait_sum ;
3878 u64 sleep_start ;
3879 u64 sleep_max ;
3880 s64 sum_sleep_runtime ;
3881 u64 block_start ;
3882 u64 block_max ;
3883 u64 exec_max ;
3884 u64 slice_max ;
3885 u64 nr_migrations_cold ;
3886 u64 nr_failed_migrations_affine ;
3887 u64 nr_failed_migrations_running ;
3888 u64 nr_failed_migrations_hot ;
3889 u64 nr_forced_migrations ;
3890 u64 nr_wakeups ;
3891 u64 nr_wakeups_sync ;
3892 u64 nr_wakeups_migrate ;
3893 u64 nr_wakeups_local ;
3894 u64 nr_wakeups_remote ;
3895 u64 nr_wakeups_affine ;
3896 u64 nr_wakeups_affine_attempts ;
3897 u64 nr_wakeups_passive ;
3898 u64 nr_wakeups_idle ;
3899};
3900#line 1167 "include/linux/sched.h"
3901struct sched_entity {
3902 struct load_weight load ;
3903 struct rb_node run_node ;
3904 struct list_head group_node ;
3905 unsigned int on_rq ;
3906 u64 exec_start ;
3907 u64 sum_exec_runtime ;
3908 u64 vruntime ;
3909 u64 prev_sum_exec_runtime ;
3910 u64 nr_migrations ;
3911 struct sched_statistics statistics ;
3912 struct sched_entity *parent ;
3913 struct cfs_rq *cfs_rq ;
3914 struct cfs_rq *my_q ;
3915};
3916#line 1193
3917struct rt_rq;
3918#line 1193
3919struct rt_rq;
3920#line 1193
3921struct rt_rq;
3922#line 1193 "include/linux/sched.h"
3923struct sched_rt_entity {
3924 struct list_head run_list ;
3925 unsigned long timeout ;
3926 unsigned int time_slice ;
3927 int nr_cpus_allowed ;
3928 struct sched_rt_entity *back ;
3929 struct sched_rt_entity *parent ;
3930 struct rt_rq *rt_rq ;
3931 struct rt_rq *my_q ;
3932};
3933#line 1217
3934struct mem_cgroup;
3935#line 1217
3936struct mem_cgroup;
3937#line 1217
3938struct mem_cgroup;
3939#line 1217 "include/linux/sched.h"
3940struct memcg_batch_info {
3941 int do_batch ;
3942 struct mem_cgroup *memcg ;
3943 unsigned long nr_pages ;
3944 unsigned long memsw_nr_pages ;
3945};
3946#line 1569
3947struct css_set;
3948#line 1569
3949struct css_set;
3950#line 1569
3951struct css_set;
3952#line 1569
3953struct compat_robust_list_head;
3954#line 1569
3955struct compat_robust_list_head;
3956#line 1569
3957struct compat_robust_list_head;
3958#line 1569
3959struct ftrace_ret_stack;
3960#line 1569
3961struct ftrace_ret_stack;
3962#line 1569
3963struct ftrace_ret_stack;
3964#line 1569 "include/linux/sched.h"
3965struct task_struct {
3966 long volatile state ;
3967 void *stack ;
3968 atomic_t usage ;
3969 unsigned int flags ;
3970 unsigned int ptrace ;
3971 struct task_struct *wake_entry ;
3972 int on_cpu ;
3973 int on_rq ;
3974 int prio ;
3975 int static_prio ;
3976 int normal_prio ;
3977 unsigned int rt_priority ;
3978 struct sched_class const *sched_class ;
3979 struct sched_entity se ;
3980 struct sched_rt_entity rt ;
3981 struct hlist_head preempt_notifiers ;
3982 unsigned char fpu_counter ;
3983 unsigned int btrace_seq ;
3984 unsigned int policy ;
3985 cpumask_t cpus_allowed ;
3986 struct sched_info sched_info ;
3987 struct list_head tasks ;
3988 struct plist_node pushable_tasks ;
3989 struct mm_struct *mm ;
3990 struct mm_struct *active_mm ;
3991 unsigned char brk_randomized : 1 ;
3992 int exit_state ;
3993 int exit_code ;
3994 int exit_signal ;
3995 int pdeath_signal ;
3996 unsigned int group_stop ;
3997 unsigned int personality ;
3998 unsigned char did_exec : 1 ;
3999 unsigned char in_execve : 1 ;
4000 unsigned char in_iowait : 1 ;
4001 unsigned char sched_reset_on_fork : 1 ;
4002 unsigned char sched_contributes_to_load : 1 ;
4003 pid_t pid ;
4004 pid_t tgid ;
4005 unsigned long stack_canary ;
4006 struct task_struct *real_parent ;
4007 struct task_struct *parent ;
4008 struct list_head children ;
4009 struct list_head sibling ;
4010 struct task_struct *group_leader ;
4011 struct list_head ptraced ;
4012 struct list_head ptrace_entry ;
4013 struct pid_link pids[3U] ;
4014 struct list_head thread_group ;
4015 struct completion *vfork_done ;
4016 int *set_child_tid ;
4017 int *clear_child_tid ;
4018 cputime_t utime ;
4019 cputime_t stime ;
4020 cputime_t utimescaled ;
4021 cputime_t stimescaled ;
4022 cputime_t gtime ;
4023 cputime_t prev_utime ;
4024 cputime_t prev_stime ;
4025 unsigned long nvcsw ;
4026 unsigned long nivcsw ;
4027 struct timespec start_time ;
4028 struct timespec real_start_time ;
4029 unsigned long min_flt ;
4030 unsigned long maj_flt ;
4031 struct task_cputime cputime_expires ;
4032 struct list_head cpu_timers[3U] ;
4033 struct cred const *real_cred ;
4034 struct cred const *cred ;
4035 struct cred *replacement_session_keyring ;
4036 char comm[16U] ;
4037 int link_count ;
4038 int total_link_count ;
4039 struct sysv_sem sysvsem ;
4040 unsigned long last_switch_count ;
4041 struct thread_struct thread ;
4042 struct fs_struct *fs ;
4043 struct files_struct *files ;
4044 struct nsproxy *nsproxy ;
4045 struct signal_struct *signal ;
4046 struct sighand_struct *sighand ;
4047 sigset_t blocked ;
4048 sigset_t real_blocked ;
4049 sigset_t saved_sigmask ;
4050 struct sigpending pending ;
4051 unsigned long sas_ss_sp ;
4052 size_t sas_ss_size ;
4053 int (*notifier)(void * ) ;
4054 void *notifier_data ;
4055 sigset_t *notifier_mask ;
4056 struct audit_context *audit_context ;
4057 uid_t loginuid ;
4058 unsigned int sessionid ;
4059 seccomp_t seccomp ;
4060 u32 parent_exec_id ;
4061 u32 self_exec_id ;
4062 spinlock_t alloc_lock ;
4063 struct irqaction *irqaction ;
4064 raw_spinlock_t pi_lock ;
4065 struct plist_head pi_waiters ;
4066 struct rt_mutex_waiter *pi_blocked_on ;
4067 struct mutex_waiter *blocked_on ;
4068 unsigned int irq_events ;
4069 unsigned long hardirq_enable_ip ;
4070 unsigned long hardirq_disable_ip ;
4071 unsigned int hardirq_enable_event ;
4072 unsigned int hardirq_disable_event ;
4073 int hardirqs_enabled ;
4074 int hardirq_context ;
4075 unsigned long softirq_disable_ip ;
4076 unsigned long softirq_enable_ip ;
4077 unsigned int softirq_disable_event ;
4078 unsigned int softirq_enable_event ;
4079 int softirqs_enabled ;
4080 int softirq_context ;
4081 u64 curr_chain_key ;
4082 int lockdep_depth ;
4083 unsigned int lockdep_recursion ;
4084 struct held_lock held_locks[48U] ;
4085 gfp_t lockdep_reclaim_gfp ;
4086 void *journal_info ;
4087 struct bio_list *bio_list ;
4088 struct blk_plug *plug ;
4089 struct reclaim_state *reclaim_state ;
4090 struct backing_dev_info *backing_dev_info ;
4091 struct io_context *io_context ;
4092 unsigned long ptrace_message ;
4093 siginfo_t *last_siginfo ;
4094 struct task_io_accounting ioac ;
4095 u64 acct_rss_mem1 ;
4096 u64 acct_vm_mem1 ;
4097 cputime_t acct_timexpd ;
4098 nodemask_t mems_allowed ;
4099 int mems_allowed_change_disable ;
4100 int cpuset_mem_spread_rotor ;
4101 int cpuset_slab_spread_rotor ;
4102 struct css_set *cgroups ;
4103 struct list_head cg_list ;
4104 struct robust_list_head *robust_list ;
4105 struct compat_robust_list_head *compat_robust_list ;
4106 struct list_head pi_state_list ;
4107 struct futex_pi_state *pi_state_cache ;
4108 struct perf_event_context *perf_event_ctxp[2U] ;
4109 struct mutex perf_event_mutex ;
4110 struct list_head perf_event_list ;
4111 struct mempolicy *mempolicy ;
4112 short il_next ;
4113 short pref_node_fork ;
4114 atomic_t fs_excl ;
4115 struct rcu_head rcu ;
4116 struct pipe_inode_info *splice_pipe ;
4117 struct task_delay_info *delays ;
4118 int make_it_fail ;
4119 struct prop_local_single dirties ;
4120 int latency_record_count ;
4121 struct latency_record latency_record[32U] ;
4122 unsigned long timer_slack_ns ;
4123 unsigned long default_timer_slack_ns ;
4124 struct list_head *scm_work_list ;
4125 int curr_ret_stack ;
4126 struct ftrace_ret_stack *ret_stack ;
4127 unsigned long long ftrace_timestamp ;
4128 atomic_t trace_overrun ;
4129 atomic_t tracing_graph_pause ;
4130 unsigned long trace ;
4131 unsigned long trace_recursion ;
4132 struct memcg_batch_info memcg_batch ;
4133 atomic_t ptrace_bp_refcnt ;
4134};
4135#line 66 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4136struct __anonstruct_touches_166 {
4137 short x ;
4138 short y ;
4139 short scroll_x ;
4140 short scroll_y ;
4141 u8 size ;
4142};
4143#line 66 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4144struct magicmouse_sc {
4145 struct input_dev *input ;
4146 unsigned long quirks ;
4147 int ntouches ;
4148 int scroll_accel ;
4149 unsigned long scroll_jiffies ;
4150 struct __anonstruct_touches_166 touches[16U] ;
4151 int tracking_ids[16U] ;
4152 int single_touch_id ;
4153};
4154#line 82 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4155__inline static void __set_bit(int nr , unsigned long volatile *addr )
4156{ long volatile *__cil_tmp3 ;
4157
4158 {
4159#line 84
4160 __cil_tmp3 = (long volatile *)addr;
4161#line 84
4162 __asm__ volatile ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
4163#line 85
4164 return;
4165}
4166}
4167#line 309 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
4168__inline static int constant_test_bit(unsigned int nr , unsigned long const volatile *addr )
4169{ int __cil_tmp3 ;
4170 int __cil_tmp4 ;
4171 unsigned int __cil_tmp5 ;
4172 unsigned long __cil_tmp6 ;
4173 unsigned long const volatile *__cil_tmp7 ;
4174 unsigned long volatile __cil_tmp8 ;
4175 unsigned long __cil_tmp9 ;
4176 unsigned long __cil_tmp10 ;
4177 int __cil_tmp11 ;
4178
4179 {
4180 {
4181#line 311
4182 __cil_tmp3 = (int )nr;
4183#line 311
4184 __cil_tmp4 = __cil_tmp3 & 63;
4185#line 311
4186 __cil_tmp5 = nr / 64U;
4187#line 311
4188 __cil_tmp6 = (unsigned long )__cil_tmp5;
4189#line 311
4190 __cil_tmp7 = addr + __cil_tmp6;
4191#line 311
4192 __cil_tmp8 = *__cil_tmp7;
4193#line 311
4194 __cil_tmp9 = (unsigned long )__cil_tmp8;
4195#line 311
4196 __cil_tmp10 = __cil_tmp9 >> __cil_tmp4;
4197#line 311
4198 __cil_tmp11 = (int )__cil_tmp10;
4199#line 311
4200 return (__cil_tmp11 & 1);
4201 }
4202}
4203}
4204#line 101 "include/linux/printk.h"
4205extern int printk(char const * , ...) ;
4206#line 82 "include/linux/jiffies.h"
4207extern unsigned long volatile jiffies ;
4208#line 830 "include/linux/rcupdate.h"
4209extern void kfree(void const * ) ;
4210#line 99 "include/linux/module.h"
4211extern struct module __this_module ;
4212#line 3 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4213int ldv_try_module_get(struct module *module ) ;
4214#line 4
4215void ldv_module_get(struct module *module ) ;
4216#line 5
4217void ldv_module_put(struct module *module ) ;
4218#line 6
4219unsigned int ldv_module_refcount(void) ;
4220#line 7
4221void ldv_module_put_and_exit(void) ;
4222#line 705 "include/linux/device.h"
4223extern void *dev_get_drvdata(struct device const * ) ;
4224#line 706
4225extern int dev_set_drvdata(struct device * , void * ) ;
4226#line 797
4227extern int dev_err(struct device const * , char const * , ...) ;
4228#line 221 "include/linux/slub_def.h"
4229extern void *__kmalloc(size_t , gfp_t ) ;
4230#line 255 "include/linux/slub_def.h"
4231__inline static void *kmalloc(size_t size , gfp_t flags )
4232{ void *tmp___2 ;
4233
4234 {
4235 {
4236#line 270
4237 tmp___2 = __kmalloc(size, flags);
4238 }
4239#line 270
4240 return (tmp___2);
4241}
4242}
4243#line 318 "include/linux/slab.h"
4244__inline static void *kzalloc(size_t size , gfp_t flags )
4245{ void *tmp ;
4246 unsigned int __cil_tmp4 ;
4247
4248 {
4249 {
4250#line 320
4251 __cil_tmp4 = flags | 32768U;
4252#line 320
4253 tmp = kmalloc(size, __cil_tmp4);
4254 }
4255#line 320
4256 return (tmp);
4257}
4258}
4259#line 1471 "include/linux/input.h"
4260extern void input_event(struct input_dev * , unsigned int , unsigned int , int ) ;
4261#line 1474 "include/linux/input.h"
4262__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
4263 int value )
4264{ int __cil_tmp4 ;
4265
4266 {
4267 {
4268#line 1476
4269 __cil_tmp4 = value != 0;
4270#line 1476
4271 input_event(dev, 1U, code, __cil_tmp4);
4272 }
4273#line 1477
4274 return;
4275}
4276}
4277#line 1479 "include/linux/input.h"
4278__inline static void input_report_rel(struct input_dev *dev , unsigned int code ,
4279 int value )
4280{
4281
4282 {
4283 {
4284#line 1481
4285 input_event(dev, 2U, code, value);
4286 }
4287#line 1482
4288 return;
4289}
4290}
4291#line 1484 "include/linux/input.h"
4292__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
4293 int value )
4294{
4295
4296 {
4297 {
4298#line 1486
4299 input_event(dev, 3U, code, value);
4300 }
4301#line 1487
4302 return;
4303}
4304}
4305#line 1499 "include/linux/input.h"
4306__inline static void input_sync(struct input_dev *dev )
4307{
4308
4309 {
4310 {
4311#line 1501
4312 input_event(dev, 0U, 0U, 0);
4313 }
4314#line 1502
4315 return;
4316}
4317}
4318#line 1504 "include/linux/input.h"
4319__inline static void input_mt_sync(struct input_dev *dev )
4320{
4321
4322 {
4323 {
4324#line 1506
4325 input_event(dev, 0U, 2U, 0);
4326 }
4327#line 1507
4328 return;
4329}
4330}
4331#line 1521 "include/linux/input.h"
4332__inline static void input_set_events_per_packet(struct input_dev *dev , int n_events )
4333{
4334
4335 {
4336#line 1523
4337 dev->hint_events_per_packet = (unsigned int )n_events;
4338#line 1524
4339 return;
4340}
4341}
4342#line 1527
4343extern void input_set_abs_params(struct input_dev * , unsigned int , int , int ,
4344 int , int ) ;
4345#line 522 "include/linux/hid.h"
4346__inline static void *hid_get_drvdata(struct hid_device *hdev )
4347{ void *tmp ;
4348 struct device *__cil_tmp3 ;
4349 struct device const *__cil_tmp4 ;
4350
4351 {
4352 {
4353#line 524
4354 __cil_tmp3 = & hdev->dev;
4355#line 524
4356 __cil_tmp4 = (struct device const *)__cil_tmp3;
4357#line 524
4358 tmp = dev_get_drvdata(__cil_tmp4);
4359 }
4360#line 524
4361 return (tmp);
4362}
4363}
4364#line 527 "include/linux/hid.h"
4365__inline static void hid_set_drvdata(struct hid_device *hdev , void *data )
4366{ struct device *__cil_tmp3 ;
4367
4368 {
4369 {
4370#line 529
4371 __cil_tmp3 = & hdev->dev;
4372#line 529
4373 dev_set_drvdata(__cil_tmp3, data);
4374 }
4375#line 530
4376 return;
4377}
4378}
4379#line 694
4380extern int __hid_register_driver(struct hid_driver * , struct module * , char const * ) ;
4381#line 696 "include/linux/hid.h"
4382__inline static int hid_register_driver(struct hid_driver *driver )
4383{ int tmp ;
4384
4385 {
4386 {
4387#line 698
4388 tmp = __hid_register_driver(driver, & __this_module, "hid_magicmouse");
4389 }
4390#line 698
4391 return (tmp);
4392}
4393}
4394#line 700
4395extern void hid_unregister_driver(struct hid_driver * ) ;
4396#line 712
4397extern struct hid_report *hid_register_report(struct hid_device * , unsigned int ,
4398 unsigned int ) ;
4399#line 715
4400extern int hid_connect(struct hid_device * , unsigned int ) ;
4401#line 716
4402extern void hid_disconnect(struct hid_device * ) ;
4403#line 780 "include/linux/hid.h"
4404__inline static int hid_parse(struct hid_device *hdev )
4405{ int ret ;
4406 unsigned int __cil_tmp3 ;
4407 unsigned int __cil_tmp4 ;
4408 struct hid_ll_driver *__cil_tmp5 ;
4409 int (*__cil_tmp6)(struct hid_device * ) ;
4410 unsigned int __cil_tmp7 ;
4411
4412 {
4413 {
4414#line 784
4415 __cil_tmp3 = hdev->status;
4416#line 784
4417 __cil_tmp4 = __cil_tmp3 & 2U;
4418#line 784
4419 if (__cil_tmp4 != 0U) {
4420#line 785
4421 return (0);
4422 } else {
4423
4424 }
4425 }
4426 {
4427#line 787
4428 __cil_tmp5 = hdev->ll_driver;
4429#line 787
4430 __cil_tmp6 = __cil_tmp5->parse;
4431#line 787
4432 ret = (*__cil_tmp6)(hdev);
4433 }
4434#line 788
4435 if (ret == 0) {
4436#line 789
4437 __cil_tmp7 = hdev->status;
4438#line 789
4439 hdev->status = __cil_tmp7 | 2U;
4440 } else {
4441
4442 }
4443#line 791
4444 return (ret);
4445}
4446}
4447#line 804 "include/linux/hid.h"
4448__inline static int hid_hw_start(struct hid_device *hdev , unsigned int connect_mask )
4449{ int ret ;
4450 int tmp ;
4451 struct hid_ll_driver *__cil_tmp5 ;
4452 int (*__cil_tmp6)(struct hid_device * ) ;
4453 struct hid_ll_driver *__cil_tmp7 ;
4454 void (*__cil_tmp8)(struct hid_device * ) ;
4455
4456 {
4457 {
4458#line 807
4459 __cil_tmp5 = hdev->ll_driver;
4460#line 807
4461 __cil_tmp6 = __cil_tmp5->start;
4462#line 807
4463 tmp = (*__cil_tmp6)(hdev);
4464#line 807
4465 ret = tmp;
4466 }
4467#line 808
4468 if (ret != 0) {
4469#line 809
4470 return (ret);
4471 } else
4472#line 808
4473 if (connect_mask == 0U) {
4474#line 809
4475 return (ret);
4476 } else {
4477
4478 }
4479 {
4480#line 810
4481 ret = hid_connect(hdev, connect_mask);
4482 }
4483#line 811
4484 if (ret != 0) {
4485 {
4486#line 812
4487 __cil_tmp7 = hdev->ll_driver;
4488#line 812
4489 __cil_tmp8 = __cil_tmp7->stop;
4490#line 812
4491 (*__cil_tmp8)(hdev);
4492 }
4493 } else {
4494
4495 }
4496#line 813
4497 return (ret);
4498}
4499}
4500#line 824 "include/linux/hid.h"
4501__inline static void hid_hw_stop(struct hid_device *hdev )
4502{ struct hid_ll_driver *__cil_tmp2 ;
4503 void (*__cil_tmp3)(struct hid_device * ) ;
4504
4505 {
4506 {
4507#line 826
4508 hid_disconnect(hdev);
4509#line 827
4510 __cil_tmp2 = hdev->ll_driver;
4511#line 827
4512 __cil_tmp3 = __cil_tmp2->stop;
4513#line 827
4514 (*__cil_tmp3)(hdev);
4515 }
4516#line 828
4517 return;
4518}
4519}
4520#line 33 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4521static bool emulate_3button = (bool )1;
4522#line 37 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4523static int middle_button_start = -350;
4524#line 38 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4525static int middle_button_stop = 350;
4526#line 40 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4527static bool emulate_scroll_wheel = (bool )1;
4528#line 44 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4529static unsigned int scroll_speed = 32U;
4530#line 55 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4531static bool scroll_acceleration = (bool )0;
4532#line 59 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4533static bool report_touches = (bool )1;
4534#line 63 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4535static bool report_undeciphered ;
4536#line 121 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4537static int magicmouse_firm_touch(struct magicmouse_sc *msc )
4538{ int touch ;
4539 int ii ;
4540 int idx ;
4541 u8 __cil_tmp5 ;
4542 unsigned int __cil_tmp6 ;
4543 int __cil_tmp7 ;
4544
4545 {
4546#line 123
4547 touch = -1;
4548#line 129
4549 ii = 0;
4550#line 129
4551 goto ldv_24569;
4552 ldv_24568:
4553#line 130
4554 idx = msc->tracking_ids[ii];
4555 {
4556#line 131
4557 __cil_tmp5 = msc->touches[idx].size;
4558#line 131
4559 __cil_tmp6 = (unsigned int )__cil_tmp5;
4560#line 131
4561 if (__cil_tmp6 <= 7U) {
4562
4563 } else
4564#line 133
4565 if (touch >= 0) {
4566#line 134
4567 touch = -1;
4568#line 135
4569 goto ldv_24567;
4570 } else {
4571#line 137
4572 touch = idx;
4573 }
4574 }
4575#line 129
4576 ii = ii + 1;
4577 ldv_24569: ;
4578 {
4579#line 129
4580 __cil_tmp7 = msc->ntouches;
4581#line 129
4582 if (__cil_tmp7 > ii) {
4583#line 130
4584 goto ldv_24568;
4585 } else {
4586#line 132
4587 goto ldv_24567;
4588 }
4589 }
4590 ldv_24567: ;
4591#line 141
4592 return (touch);
4593}
4594}
4595#line 144 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4596static void magicmouse_emit_buttons(struct magicmouse_sc *msc , int state )
4597{ int last_state ;
4598 int tmp ;
4599 int tmp___0 ;
4600 int tmp___1 ;
4601 int id ;
4602 int x ;
4603 struct input_dev *__cil_tmp9 ;
4604 unsigned long (*__cil_tmp10)[12U] ;
4605 unsigned long const volatile *__cil_tmp11 ;
4606 struct input_dev *__cil_tmp12 ;
4607 unsigned long (*__cil_tmp13)[12U] ;
4608 unsigned long const volatile *__cil_tmp14 ;
4609 struct input_dev *__cil_tmp15 ;
4610 unsigned long (*__cil_tmp16)[12U] ;
4611 unsigned long const volatile *__cil_tmp17 ;
4612 int __cil_tmp18 ;
4613 int __cil_tmp19 ;
4614 int __cil_tmp20 ;
4615 short __cil_tmp21 ;
4616 struct input_dev *__cil_tmp22 ;
4617 int __cil_tmp23 ;
4618 struct input_dev *__cil_tmp24 ;
4619 int __cil_tmp25 ;
4620 struct input_dev *__cil_tmp26 ;
4621 int __cil_tmp27 ;
4622
4623 {
4624 {
4625#line 146
4626 __cil_tmp9 = msc->input;
4627#line 146
4628 __cil_tmp10 = & __cil_tmp9->key;
4629#line 146
4630 __cil_tmp11 = (unsigned long const volatile *)__cil_tmp10;
4631#line 146
4632 tmp = constant_test_bit(272U, __cil_tmp11);
4633#line 146
4634 __cil_tmp12 = msc->input;
4635#line 146
4636 __cil_tmp13 = & __cil_tmp12->key;
4637#line 146
4638 __cil_tmp14 = (unsigned long const volatile *)__cil_tmp13;
4639#line 146
4640 tmp___0 = constant_test_bit(273U, __cil_tmp14);
4641#line 146
4642 __cil_tmp15 = msc->input;
4643#line 146
4644 __cil_tmp16 = & __cil_tmp15->key;
4645#line 146
4646 __cil_tmp17 = (unsigned long const volatile *)__cil_tmp16;
4647#line 146
4648 tmp___1 = constant_test_bit(274U, __cil_tmp17);
4649#line 146
4650 __cil_tmp18 = tmp___1 << 2;
4651#line 146
4652 __cil_tmp19 = tmp___0 << 1;
4653#line 146
4654 __cil_tmp20 = tmp | __cil_tmp19;
4655#line 146
4656 last_state = __cil_tmp20 | __cil_tmp18;
4657 }
4658#line 150
4659 if ((int )emulate_3button) {
4660#line 157
4661 if (state == 0) {
4662
4663 } else
4664#line 159
4665 if (last_state != 0) {
4666#line 160
4667 state = last_state;
4668 } else {
4669 {
4670#line 161
4671 id = magicmouse_firm_touch(msc);
4672 }
4673#line 161
4674 if (id >= 0) {
4675#line 162
4676 __cil_tmp21 = msc->touches[id].x;
4677#line 162
4678 x = (int )__cil_tmp21;
4679#line 163
4680 if (x < middle_button_start) {
4681#line 164
4682 state = 1;
4683 } else
4684#line 165
4685 if (x > middle_button_stop) {
4686#line 166
4687 state = 2;
4688 } else {
4689#line 168
4690 state = 4;
4691 }
4692 } else {
4693
4694 }
4695 }
4696 {
4697#line 171
4698 __cil_tmp22 = msc->input;
4699#line 171
4700 __cil_tmp23 = state & 4;
4701#line 171
4702 input_report_key(__cil_tmp22, 274U, __cil_tmp23);
4703 }
4704 } else {
4705
4706 }
4707 {
4708#line 174
4709 __cil_tmp24 = msc->input;
4710#line 174
4711 __cil_tmp25 = state & 1;
4712#line 174
4713 input_report_key(__cil_tmp24, 272U, __cil_tmp25);
4714#line 175
4715 __cil_tmp26 = msc->input;
4716#line 175
4717 __cil_tmp27 = state & 2;
4718#line 175
4719 input_report_key(__cil_tmp26, 273U, __cil_tmp27);
4720 }
4721#line 177
4722 if (state != last_state) {
4723#line 178
4724 msc->scroll_accel = 7;
4725 } else {
4726
4727 }
4728#line 179
4729 return;
4730}
4731}
4732#line 181 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
4733static void magicmouse_emit_touch(struct magicmouse_sc *msc , int raw_id , u8 *tdata )
4734{ struct input_dev *input ;
4735 int id ;
4736 int x ;
4737 int y ;
4738 int size ;
4739 int orientation ;
4740 int touch_major ;
4741 int touch_minor ;
4742 int state ;
4743 int down___0 ;
4744 unsigned long now ;
4745 int step_x ;
4746 int step_y ;
4747 int __max1 ;
4748 int __max2 ;
4749 int tmp ;
4750 __u16 __cil_tmp20 ;
4751 unsigned int __cil_tmp21 ;
4752 u8 *__cil_tmp22 ;
4753 u8 __cil_tmp23 ;
4754 int __cil_tmp24 ;
4755 int __cil_tmp25 ;
4756 u8 *__cil_tmp26 ;
4757 u8 __cil_tmp27 ;
4758 int __cil_tmp28 ;
4759 int __cil_tmp29 ;
4760 int __cil_tmp30 ;
4761 u8 __cil_tmp31 ;
4762 int __cil_tmp32 ;
4763 int __cil_tmp33 ;
4764 u8 *__cil_tmp34 ;
4765 u8 __cil_tmp35 ;
4766 int __cil_tmp36 ;
4767 int __cil_tmp37 ;
4768 int __cil_tmp38 ;
4769 u8 *__cil_tmp39 ;
4770 u8 __cil_tmp40 ;
4771 int __cil_tmp41 ;
4772 int __cil_tmp42 ;
4773 u8 *__cil_tmp43 ;
4774 u8 __cil_tmp44 ;
4775 int __cil_tmp45 ;
4776 int __cil_tmp46 ;
4777 int __cil_tmp47 ;
4778 int __cil_tmp48 ;
4779 u8 *__cil_tmp49 ;
4780 u8 __cil_tmp50 ;
4781 int __cil_tmp51 ;
4782 u8 *__cil_tmp52 ;
4783 u8 __cil_tmp53 ;
4784 int __cil_tmp54 ;
4785 int __cil_tmp55 ;
4786 u8 *__cil_tmp56 ;
4787 u8 __cil_tmp57 ;
4788 u8 *__cil_tmp58 ;
4789 u8 __cil_tmp59 ;
4790 u8 *__cil_tmp60 ;
4791 u8 __cil_tmp61 ;
4792 int __cil_tmp62 ;
4793 u8 *__cil_tmp63 ;
4794 u8 __cil_tmp64 ;
4795 int __cil_tmp65 ;
4796 int __cil_tmp66 ;
4797 u8 *__cil_tmp67 ;
4798 u8 __cil_tmp68 ;
4799 int __cil_tmp69 ;
4800 int __cil_tmp70 ;
4801 int __cil_tmp71 ;
4802 u8 __cil_tmp72 ;
4803 int __cil_tmp73 ;
4804 int __cil_tmp74 ;
4805 u8 *__cil_tmp75 ;
4806 u8 __cil_tmp76 ;
4807 int __cil_tmp77 ;
4808 int __cil_tmp78 ;
4809 int __cil_tmp79 ;
4810 u8 *__cil_tmp80 ;
4811 u8 __cil_tmp81 ;
4812 int __cil_tmp82 ;
4813 int __cil_tmp83 ;
4814 u8 *__cil_tmp84 ;
4815 u8 __cil_tmp85 ;
4816 int __cil_tmp86 ;
4817 int __cil_tmp87 ;
4818 u8 *__cil_tmp88 ;
4819 u8 __cil_tmp89 ;
4820 int __cil_tmp90 ;
4821 int __cil_tmp91 ;
4822 int __cil_tmp92 ;
4823 int __cil_tmp93 ;
4824 int __cil_tmp94 ;
4825 u8 *__cil_tmp95 ;
4826 u8 __cil_tmp96 ;
4827 int __cil_tmp97 ;
4828 u8 *__cil_tmp98 ;
4829 u8 __cil_tmp99 ;
4830 int __cil_tmp100 ;
4831 int __cil_tmp101 ;
4832 u8 *__cil_tmp102 ;
4833 u8 __cil_tmp103 ;
4834 u8 *__cil_tmp104 ;
4835 u8 __cil_tmp105 ;
4836 u8 *__cil_tmp106 ;
4837 u8 __cil_tmp107 ;
4838 int __cil_tmp108 ;
4839 short __cil_tmp109 ;
4840 int __cil_tmp110 ;
4841 short __cil_tmp111 ;
4842 int __cil_tmp112 ;
4843 unsigned long __cil_tmp113 ;
4844 unsigned long __cil_tmp114 ;
4845 long __cil_tmp115 ;
4846 long __cil_tmp116 ;
4847 long __cil_tmp117 ;
4848 int __cil_tmp118 ;
4849 int __cil_tmp119 ;
4850 int __cil_tmp120 ;
4851 int __cil_tmp121 ;
4852 int __cil_tmp122 ;
4853 int __cil_tmp123 ;
4854 unsigned short __cil_tmp124 ;
4855 int __cil_tmp125 ;
4856 unsigned short __cil_tmp126 ;
4857 int __cil_tmp127 ;
4858 unsigned int __cil_tmp128 ;
4859 unsigned short __cil_tmp129 ;
4860 int __cil_tmp130 ;
4861 int __cil_tmp131 ;
4862 int __cil_tmp132 ;
4863 short __cil_tmp133 ;
4864 unsigned short __cil_tmp134 ;
4865 int __cil_tmp135 ;
4866 int __cil_tmp136 ;
4867 int __cil_tmp137 ;
4868 int __cil_tmp138 ;
4869 int __cil_tmp139 ;
4870 int __cil_tmp140 ;
4871 int __cil_tmp141 ;
4872 int __cil_tmp142 ;
4873 unsigned short __cil_tmp143 ;
4874 int __cil_tmp144 ;
4875 unsigned short __cil_tmp145 ;
4876 int __cil_tmp146 ;
4877 unsigned int __cil_tmp147 ;
4878 unsigned short __cil_tmp148 ;
4879 int __cil_tmp149 ;
4880 int __cil_tmp150 ;
4881 int __cil_tmp151 ;
4882 short __cil_tmp152 ;
4883 unsigned short __cil_tmp153 ;
4884 int __cil_tmp154 ;
4885 int __cil_tmp155 ;
4886 int __cil_tmp156 ;
4887 int __cil_tmp157 ;
4888 int __cil_tmp158 ;
4889 int __cil_tmp159 ;
4890 int __cil_tmp160 ;
4891 int __cil_tmp161 ;
4892 __u16 __cil_tmp162 ;
4893 unsigned int __cil_tmp163 ;
4894 u8 *__cil_tmp164 ;
4895 u8 __cil_tmp165 ;
4896 int __cil_tmp166 ;
4897 u8 *__cil_tmp167 ;
4898 u8 __cil_tmp168 ;
4899 int __cil_tmp169 ;
4900
4901 {
4902#line 183
4903 input = msc->input;
4904 {
4905#line 186
4906 __cil_tmp20 = input->id.product;
4907#line 186
4908 __cil_tmp21 = (unsigned int )__cil_tmp20;
4909#line 186
4910 if (__cil_tmp21 == 781U) {
4911#line 187
4912 __cil_tmp22 = tdata + 5UL;
4913#line 187
4914 __cil_tmp23 = *__cil_tmp22;
4915#line 187
4916 __cil_tmp24 = (int )__cil_tmp23;
4917#line 187
4918 __cil_tmp25 = __cil_tmp24 >> 6;
4919#line 187
4920 __cil_tmp26 = tdata + 6UL;
4921#line 187
4922 __cil_tmp27 = *__cil_tmp26;
4923#line 187
4924 __cil_tmp28 = (int )__cil_tmp27;
4925#line 187
4926 __cil_tmp29 = __cil_tmp28 << 2;
4927#line 187
4928 __cil_tmp30 = __cil_tmp29 | __cil_tmp25;
4929#line 187
4930 id = __cil_tmp30 & 15;
4931#line 188
4932 __cil_tmp31 = *tdata;
4933#line 188
4934 __cil_tmp32 = (int )__cil_tmp31;
4935#line 188
4936 __cil_tmp33 = __cil_tmp32 << 20;
4937#line 188
4938 __cil_tmp34 = tdata + 1UL;
4939#line 188
4940 __cil_tmp35 = *__cil_tmp34;
4941#line 188
4942 __cil_tmp36 = (int )__cil_tmp35;
4943#line 188
4944 __cil_tmp37 = __cil_tmp36 << 28;
4945#line 188
4946 __cil_tmp38 = __cil_tmp37 | __cil_tmp33;
4947#line 188
4948 x = __cil_tmp38 >> 20;
4949#line 189
4950 __cil_tmp39 = tdata + 1UL;
4951#line 189
4952 __cil_tmp40 = *__cil_tmp39;
4953#line 189
4954 __cil_tmp41 = (int )__cil_tmp40;
4955#line 189
4956 __cil_tmp42 = __cil_tmp41 << 16;
4957#line 189
4958 __cil_tmp43 = tdata + 2UL;
4959#line 189
4960 __cil_tmp44 = *__cil_tmp43;
4961#line 189
4962 __cil_tmp45 = (int )__cil_tmp44;
4963#line 189
4964 __cil_tmp46 = __cil_tmp45 << 24;
4965#line 189
4966 __cil_tmp47 = __cil_tmp46 | __cil_tmp42;
4967#line 189
4968 __cil_tmp48 = __cil_tmp47 >> 20;
4969#line 189
4970 y = - __cil_tmp48;
4971#line 190
4972 __cil_tmp49 = tdata + 5UL;
4973#line 190
4974 __cil_tmp50 = *__cil_tmp49;
4975#line 190
4976 __cil_tmp51 = (int )__cil_tmp50;
4977#line 190
4978 size = __cil_tmp51 & 63;
4979#line 191
4980 __cil_tmp52 = tdata + 6UL;
4981#line 191
4982 __cil_tmp53 = *__cil_tmp52;
4983#line 191
4984 __cil_tmp54 = (int )__cil_tmp53;
4985#line 191
4986 __cil_tmp55 = __cil_tmp54 >> 2;
4987#line 191
4988 orientation = __cil_tmp55 + -32;
4989#line 192
4990 __cil_tmp56 = tdata + 3UL;
4991#line 192
4992 __cil_tmp57 = *__cil_tmp56;
4993#line 192
4994 touch_major = (int )__cil_tmp57;
4995#line 193
4996 __cil_tmp58 = tdata + 4UL;
4997#line 193
4998 __cil_tmp59 = *__cil_tmp58;
4999#line 193
5000 touch_minor = (int )__cil_tmp59;
5001#line 194
5002 __cil_tmp60 = tdata + 7UL;
5003#line 194
5004 __cil_tmp61 = *__cil_tmp60;
5005#line 194
5006 __cil_tmp62 = (int )__cil_tmp61;
5007#line 194
5008 state = __cil_tmp62 & 240;
5009#line 195
5010 down___0 = state != 0;
5011 } else {
5012#line 197
5013 __cil_tmp63 = tdata + 6UL;
5014#line 197
5015 __cil_tmp64 = *__cil_tmp63;
5016#line 197
5017 __cil_tmp65 = (int )__cil_tmp64;
5018#line 197
5019 __cil_tmp66 = __cil_tmp65 >> 6;
5020#line 197
5021 __cil_tmp67 = tdata + 7UL;
5022#line 197
5023 __cil_tmp68 = *__cil_tmp67;
5024#line 197
5025 __cil_tmp69 = (int )__cil_tmp68;
5026#line 197
5027 __cil_tmp70 = __cil_tmp69 << 2;
5028#line 197
5029 __cil_tmp71 = __cil_tmp70 | __cil_tmp66;
5030#line 197
5031 id = __cil_tmp71 & 15;
5032#line 198
5033 __cil_tmp72 = *tdata;
5034#line 198
5035 __cil_tmp73 = (int )__cil_tmp72;
5036#line 198
5037 __cil_tmp74 = __cil_tmp73 << 19;
5038#line 198
5039 __cil_tmp75 = tdata + 1UL;
5040#line 198
5041 __cil_tmp76 = *__cil_tmp75;
5042#line 198
5043 __cil_tmp77 = (int )__cil_tmp76;
5044#line 198
5045 __cil_tmp78 = __cil_tmp77 << 27;
5046#line 198
5047 __cil_tmp79 = __cil_tmp78 | __cil_tmp74;
5048#line 198
5049 x = __cil_tmp79 >> 19;
5050#line 199
5051 __cil_tmp80 = tdata + 1UL;
5052#line 199
5053 __cil_tmp81 = *__cil_tmp80;
5054#line 199
5055 __cil_tmp82 = (int )__cil_tmp81;
5056#line 199
5057 __cil_tmp83 = __cil_tmp82 << 14;
5058#line 199
5059 __cil_tmp84 = tdata + 2UL;
5060#line 199
5061 __cil_tmp85 = *__cil_tmp84;
5062#line 199
5063 __cil_tmp86 = (int )__cil_tmp85;
5064#line 199
5065 __cil_tmp87 = __cil_tmp86 << 22;
5066#line 199
5067 __cil_tmp88 = tdata + 3UL;
5068#line 199
5069 __cil_tmp89 = *__cil_tmp88;
5070#line 199
5071 __cil_tmp90 = (int )__cil_tmp89;
5072#line 199
5073 __cil_tmp91 = __cil_tmp90 << 30;
5074#line 199
5075 __cil_tmp92 = __cil_tmp91 | __cil_tmp87;
5076#line 199
5077 __cil_tmp93 = __cil_tmp92 | __cil_tmp83;
5078#line 199
5079 __cil_tmp94 = __cil_tmp93 >> 19;
5080#line 199
5081 y = - __cil_tmp94;
5082#line 200
5083 __cil_tmp95 = tdata + 6UL;
5084#line 200
5085 __cil_tmp96 = *__cil_tmp95;
5086#line 200
5087 __cil_tmp97 = (int )__cil_tmp96;
5088#line 200
5089 size = __cil_tmp97 & 63;
5090#line 201
5091 __cil_tmp98 = tdata + 7UL;
5092#line 201
5093 __cil_tmp99 = *__cil_tmp98;
5094#line 201
5095 __cil_tmp100 = (int )__cil_tmp99;
5096#line 201
5097 __cil_tmp101 = __cil_tmp100 >> 2;
5098#line 201
5099 orientation = __cil_tmp101 + -32;
5100#line 202
5101 __cil_tmp102 = tdata + 4UL;
5102#line 202
5103 __cil_tmp103 = *__cil_tmp102;
5104#line 202
5105 touch_major = (int )__cil_tmp103;
5106#line 203
5107 __cil_tmp104 = tdata + 5UL;
5108#line 203
5109 __cil_tmp105 = *__cil_tmp104;
5110#line 203
5111 touch_minor = (int )__cil_tmp105;
5112#line 204
5113 __cil_tmp106 = tdata + 8UL;
5114#line 204
5115 __cil_tmp107 = *__cil_tmp106;
5116#line 204
5117 __cil_tmp108 = (int )__cil_tmp107;
5118#line 204
5119 state = __cil_tmp108 & 240;
5120#line 205
5121 down___0 = state != 0;
5122 }
5123 }
5124#line 209
5125 msc->tracking_ids[raw_id] = id;
5126#line 210
5127 msc->touches[id].x = (short )x;
5128#line 211
5129 msc->touches[id].y = (short )y;
5130#line 212
5131 msc->touches[id].size = (u8 )size;
5132#line 217
5133 if ((int )emulate_scroll_wheel) {
5134#line 218
5135 now = (unsigned long )jiffies;
5136#line 219
5137 __cil_tmp109 = msc->touches[id].scroll_x;
5138#line 219
5139 __cil_tmp110 = (int )__cil_tmp109;
5140#line 219
5141 step_x = __cil_tmp110 - x;
5142#line 220
5143 __cil_tmp111 = msc->touches[id].scroll_y;
5144#line 220
5145 __cil_tmp112 = (int )__cil_tmp111;
5146#line 220
5147 step_y = __cil_tmp112 - y;
5148#line 224
5149 if (state == 48) {
5150#line 224
5151 goto case_48;
5152 } else
5153#line 237
5154 if (state == 64) {
5155#line 237
5156 goto case_64;
5157 } else
5158#line 223
5159 if (0) {
5160 case_48:
5161#line 225
5162 msc->touches[id].scroll_x = (short )x;
5163#line 226
5164 msc->touches[id].scroll_y = (short )y;
5165#line 229
5166 if ((int )scroll_acceleration) {
5167 {
5168#line 229
5169 __cil_tmp113 = msc->scroll_jiffies;
5170#line 229
5171 __cil_tmp114 = __cil_tmp113 + 125UL;
5172#line 229
5173 __cil_tmp115 = (long )__cil_tmp114;
5174#line 229
5175 __cil_tmp116 = (long )now;
5176#line 229
5177 __cil_tmp117 = __cil_tmp116 - __cil_tmp115;
5178#line 229
5179 if (__cil_tmp117 < 0L) {
5180#line 231
5181 __cil_tmp118 = msc->scroll_accel;
5182#line 231
5183 __max1 = __cil_tmp118 + -1;
5184#line 231
5185 __max2 = 1;
5186#line 231
5187 if (__max1 > __max2) {
5188#line 231
5189 tmp = __max1;
5190 } else {
5191#line 231
5192 tmp = __max2;
5193 }
5194#line 231
5195 msc->scroll_accel = tmp;
5196 } else {
5197#line 234
5198 msc->scroll_accel = 7;
5199 }
5200 }
5201 } else {
5202#line 234
5203 msc->scroll_accel = 7;
5204 }
5205#line 236
5206 goto ldv_24605;
5207 case_64:
5208#line 238
5209 __cil_tmp119 = msc->scroll_accel;
5210#line 238
5211 __cil_tmp120 = (int )scroll_speed;
5212#line 238
5213 __cil_tmp121 = 64 - __cil_tmp120;
5214#line 238
5215 __cil_tmp122 = __cil_tmp121 * __cil_tmp119;
5216#line 238
5217 step_x = step_x / __cil_tmp122;
5218#line 239
5219 if (step_x != 0) {
5220 {
5221#line 240
5222 __cil_tmp123 = msc->scroll_accel;
5223#line 240
5224 __cil_tmp124 = (unsigned short )__cil_tmp123;
5225#line 240
5226 __cil_tmp125 = (int )__cil_tmp124;
5227#line 240
5228 __cil_tmp126 = (unsigned short )step_x;
5229#line 240
5230 __cil_tmp127 = (int )__cil_tmp126;
5231#line 240
5232 __cil_tmp128 = 64U - scroll_speed;
5233#line 240
5234 __cil_tmp129 = (unsigned short )__cil_tmp128;
5235#line 240
5236 __cil_tmp130 = (int )__cil_tmp129;
5237#line 240
5238 __cil_tmp131 = __cil_tmp130 * __cil_tmp127;
5239#line 240
5240 __cil_tmp132 = __cil_tmp131 * __cil_tmp125;
5241#line 240
5242 __cil_tmp133 = msc->touches[id].scroll_x;
5243#line 240
5244 __cil_tmp134 = (unsigned short )__cil_tmp133;
5245#line 240
5246 __cil_tmp135 = (int )__cil_tmp134;
5247#line 240
5248 __cil_tmp136 = __cil_tmp135 - __cil_tmp132;
5249#line 240
5250 msc->touches[id].scroll_x = (short )__cil_tmp136;
5251#line 242
5252 msc->scroll_jiffies = now;
5253#line 243
5254 __cil_tmp137 = - step_x;
5255#line 243
5256 input_report_rel(input, 6U, __cil_tmp137);
5257 }
5258 } else {
5259
5260 }
5261#line 246
5262 __cil_tmp138 = msc->scroll_accel;
5263#line 246
5264 __cil_tmp139 = (int )scroll_speed;
5265#line 246
5266 __cil_tmp140 = 64 - __cil_tmp139;
5267#line 246
5268 __cil_tmp141 = __cil_tmp140 * __cil_tmp138;
5269#line 246
5270 step_y = step_y / __cil_tmp141;
5271#line 247
5272 if (step_y != 0) {
5273 {
5274#line 248
5275 __cil_tmp142 = msc->scroll_accel;
5276#line 248
5277 __cil_tmp143 = (unsigned short )__cil_tmp142;
5278#line 248
5279 __cil_tmp144 = (int )__cil_tmp143;
5280#line 248
5281 __cil_tmp145 = (unsigned short )step_y;
5282#line 248
5283 __cil_tmp146 = (int )__cil_tmp145;
5284#line 248
5285 __cil_tmp147 = 64U - scroll_speed;
5286#line 248
5287 __cil_tmp148 = (unsigned short )__cil_tmp147;
5288#line 248
5289 __cil_tmp149 = (int )__cil_tmp148;
5290#line 248
5291 __cil_tmp150 = __cil_tmp149 * __cil_tmp146;
5292#line 248
5293 __cil_tmp151 = __cil_tmp150 * __cil_tmp144;
5294#line 248
5295 __cil_tmp152 = msc->touches[id].scroll_y;
5296#line 248
5297 __cil_tmp153 = (unsigned short )__cil_tmp152;
5298#line 248
5299 __cil_tmp154 = (int )__cil_tmp153;
5300#line 248
5301 __cil_tmp155 = __cil_tmp154 - __cil_tmp151;
5302#line 248
5303 msc->touches[id].scroll_y = (short )__cil_tmp155;
5304#line 250
5305 msc->scroll_jiffies = now;
5306#line 251
5307 input_report_rel(input, 8U, step_y);
5308 }
5309 } else {
5310
5311 }
5312#line 253
5313 goto ldv_24605;
5314 } else {
5315
5316 }
5317 ldv_24605: ;
5318 } else {
5319
5320 }
5321#line 257
5322 if (down___0 != 0) {
5323#line 258
5324 __cil_tmp156 = msc->ntouches;
5325#line 258
5326 msc->ntouches = __cil_tmp156 + 1;
5327 {
5328#line 259
5329 __cil_tmp157 = msc->single_touch_id;
5330#line 259
5331 if (__cil_tmp157 == -1) {
5332#line 260
5333 msc->single_touch_id = id;
5334 } else {
5335
5336 }
5337 }
5338 } else {
5339 {
5340#line 261
5341 __cil_tmp158 = msc->single_touch_id;
5342#line 261
5343 if (__cil_tmp158 == id) {
5344#line 262
5345 msc->single_touch_id = -2;
5346 } else {
5347
5348 }
5349 }
5350 }
5351#line 265
5352 if ((int )report_touches) {
5353#line 265
5354 if (down___0 != 0) {
5355 {
5356#line 266
5357 input_report_abs(input, 57U, id);
5358#line 267
5359 __cil_tmp159 = touch_major << 2;
5360#line 267
5361 input_report_abs(input, 48U, __cil_tmp159);
5362#line 268
5363 __cil_tmp160 = touch_minor << 2;
5364#line 268
5365 input_report_abs(input, 49U, __cil_tmp160);
5366#line 269
5367 __cil_tmp161 = - orientation;
5368#line 269
5369 input_report_abs(input, 52U, __cil_tmp161);
5370#line 270
5371 input_report_abs(input, 53U, x);
5372#line 271
5373 input_report_abs(input, 54U, y);
5374 }
5375#line 273
5376 if ((int )report_undeciphered) {
5377 {
5378#line 274
5379 __cil_tmp162 = input->id.product;
5380#line 274
5381 __cil_tmp163 = (unsigned int )__cil_tmp162;
5382#line 274
5383 if (__cil_tmp163 == 781U) {
5384 {
5385#line 275
5386 __cil_tmp164 = tdata + 7UL;
5387#line 275
5388 __cil_tmp165 = *__cil_tmp164;
5389#line 275
5390 __cil_tmp166 = (int )__cil_tmp165;
5391#line 275
5392 input_event(input, 4U, 3U, __cil_tmp166);
5393 }
5394 } else {
5395 {
5396#line 277
5397 __cil_tmp167 = tdata + 8UL;
5398#line 277
5399 __cil_tmp168 = *__cil_tmp167;
5400#line 277
5401 __cil_tmp169 = (int )__cil_tmp168;
5402#line 277
5403 input_event(input, 4U, 3U, __cil_tmp169);
5404 }
5405 }
5406 }
5407 } else {
5408
5409 }
5410 {
5411#line 280
5412 input_mt_sync(input);
5413 }
5414 } else {
5415
5416 }
5417 } else {
5418
5419 }
5420#line 282
5421 return;
5422}
5423}
5424#line 284 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
5425static int magicmouse_raw_event(struct hid_device *hdev , struct hid_report *report ,
5426 u8 *data , int size )
5427{ struct magicmouse_sc *msc ;
5428 void *tmp ;
5429 struct input_dev *input ;
5430 int x ;
5431 int y ;
5432 int ii ;
5433 int clicks ;
5434 int npoints ;
5435 u8 __cil_tmp13 ;
5436 int __cil_tmp14 ;
5437 u8 __cil_tmp15 ;
5438 int __cil_tmp16 ;
5439 u8 __cil_tmp17 ;
5440 int __cil_tmp18 ;
5441 int __cil_tmp19 ;
5442 int __cil_tmp20 ;
5443 int __cil_tmp21 ;
5444 int __cil_tmp22 ;
5445 unsigned long __cil_tmp23 ;
5446 unsigned long __cil_tmp24 ;
5447 u8 *__cil_tmp25 ;
5448 int __cil_tmp26 ;
5449 u8 *__cil_tmp27 ;
5450 u8 __cil_tmp28 ;
5451 int __cil_tmp29 ;
5452 unsigned int __cil_tmp30 ;
5453 unsigned int __cil_tmp31 ;
5454 int __cil_tmp32 ;
5455 int __cil_tmp33 ;
5456 unsigned long __cil_tmp34 ;
5457 unsigned long __cil_tmp35 ;
5458 u8 *__cil_tmp36 ;
5459 int __cil_tmp37 ;
5460 u8 *__cil_tmp38 ;
5461 u8 __cil_tmp39 ;
5462 int __cil_tmp40 ;
5463 int __cil_tmp41 ;
5464 u8 *__cil_tmp42 ;
5465 u8 __cil_tmp43 ;
5466 int __cil_tmp44 ;
5467 int __cil_tmp45 ;
5468 int __cil_tmp46 ;
5469 int __cil_tmp47 ;
5470 u8 *__cil_tmp48 ;
5471 u8 __cil_tmp49 ;
5472 int __cil_tmp50 ;
5473 int __cil_tmp51 ;
5474 u8 *__cil_tmp52 ;
5475 u8 __cil_tmp53 ;
5476 int __cil_tmp54 ;
5477 int __cil_tmp55 ;
5478 int __cil_tmp56 ;
5479 int __cil_tmp57 ;
5480 u8 *__cil_tmp58 ;
5481 u8 __cil_tmp59 ;
5482 u8 *__cil_tmp60 ;
5483 u8 *__cil_tmp61 ;
5484 u8 __cil_tmp62 ;
5485 int __cil_tmp63 ;
5486 u8 *__cil_tmp64 ;
5487 u8 __cil_tmp65 ;
5488 unsigned long __cil_tmp66 ;
5489 unsigned long __cil_tmp67 ;
5490 u8 *__cil_tmp68 ;
5491 u8 *__cil_tmp69 ;
5492 u8 __cil_tmp70 ;
5493 int __cil_tmp71 ;
5494 int __cil_tmp72 ;
5495 int __cil_tmp73 ;
5496 __u16 __cil_tmp74 ;
5497 unsigned int __cil_tmp75 ;
5498 int __cil_tmp76 ;
5499 int __cil_tmp77 ;
5500 int __cil_tmp78 ;
5501 int __cil_tmp79 ;
5502 int __cil_tmp80 ;
5503 int __cil_tmp81 ;
5504 int __cil_tmp82 ;
5505 int __cil_tmp83 ;
5506 int __cil_tmp84 ;
5507 int __cil_tmp85 ;
5508 int __cil_tmp86 ;
5509 int __cil_tmp87 ;
5510 int __cil_tmp88 ;
5511 short __cil_tmp89 ;
5512 int __cil_tmp90 ;
5513 short __cil_tmp91 ;
5514 int __cil_tmp92 ;
5515
5516 {
5517 {
5518#line 287
5519 tmp = hid_get_drvdata(hdev);
5520#line 287
5521 msc = (struct magicmouse_sc *)tmp;
5522#line 288
5523 input = msc->input;
5524#line 289
5525 x = 0;
5526#line 289
5527 y = 0;
5528#line 289
5529 clicks = 0;
5530 }
5531 {
5532#line 292
5533 __cil_tmp13 = *data;
5534#line 292
5535 __cil_tmp14 = (int )__cil_tmp13;
5536#line 292
5537 if (__cil_tmp14 == 40) {
5538#line 292
5539 goto case_40;
5540 } else {
5541 {
5542#line 315
5543 __cil_tmp15 = *data;
5544#line 315
5545 __cil_tmp16 = (int )__cil_tmp15;
5546#line 315
5547 if (__cil_tmp16 == 41) {
5548#line 315
5549 goto case_41;
5550 } else {
5551 {
5552#line 341
5553 __cil_tmp17 = *data;
5554#line 341
5555 __cil_tmp18 = (int )__cil_tmp17;
5556#line 341
5557 if (__cil_tmp18 == 247) {
5558#line 341
5559 goto case_247;
5560 } else {
5561#line 349
5562 goto switch_default;
5563#line 291
5564 if (0) {
5565 case_40: ;
5566#line 294
5567 if (size <= 3) {
5568#line 295
5569 return (0);
5570 } else {
5571 {
5572#line 294
5573 __cil_tmp19 = size + -4;
5574#line 294
5575 __cil_tmp20 = __cil_tmp19 % 9;
5576#line 294
5577 if (__cil_tmp20 != 0) {
5578#line 295
5579 return (0);
5580 } else {
5581
5582 }
5583 }
5584 }
5585#line 296
5586 __cil_tmp21 = size + -4;
5587#line 296
5588 npoints = __cil_tmp21 / 9;
5589#line 297
5590 msc->ntouches = 0;
5591#line 298
5592 ii = 0;
5593#line 298
5594 goto ldv_24622;
5595 ldv_24621:
5596 {
5597#line 299
5598 __cil_tmp22 = ii * 9;
5599#line 299
5600 __cil_tmp23 = (unsigned long )__cil_tmp22;
5601#line 299
5602 __cil_tmp24 = __cil_tmp23 + 4UL;
5603#line 299
5604 __cil_tmp25 = data + __cil_tmp24;
5605#line 299
5606 magicmouse_emit_touch(msc, ii, __cil_tmp25);
5607#line 298
5608 ii = ii + 1;
5609 }
5610 ldv_24622: ;
5611#line 298
5612 if (ii < npoints) {
5613#line 299
5614 goto ldv_24621;
5615 } else {
5616#line 301
5617 goto ldv_24623;
5618 }
5619 ldv_24623: ;
5620 {
5621#line 304
5622 __cil_tmp26 = msc->ntouches;
5623#line 304
5624 if (__cil_tmp26 == 0) {
5625#line 305
5626 msc->single_touch_id = -1;
5627 } else {
5628
5629 }
5630 }
5631#line 307
5632 __cil_tmp27 = data + 1UL;
5633#line 307
5634 __cil_tmp28 = *__cil_tmp27;
5635#line 307
5636 clicks = (int )__cil_tmp28;
5637#line 314
5638 goto ldv_24624;
5639 case_41: ;
5640#line 317
5641 if (size <= 5) {
5642#line 318
5643 return (0);
5644 } else {
5645 {
5646#line 317
5647 __cil_tmp29 = size + -6;
5648#line 317
5649 __cil_tmp30 = (unsigned int )__cil_tmp29;
5650#line 317
5651 __cil_tmp31 = __cil_tmp30 & 7U;
5652#line 317
5653 if (__cil_tmp31 != 0U) {
5654#line 318
5655 return (0);
5656 } else {
5657
5658 }
5659 }
5660 }
5661#line 319
5662 __cil_tmp32 = size + -6;
5663#line 319
5664 npoints = __cil_tmp32 / 8;
5665#line 320
5666 msc->ntouches = 0;
5667#line 321
5668 ii = 0;
5669#line 321
5670 goto ldv_24627;
5671 ldv_24626:
5672 {
5673#line 322
5674 __cil_tmp33 = ii * 8;
5675#line 322
5676 __cil_tmp34 = (unsigned long )__cil_tmp33;
5677#line 322
5678 __cil_tmp35 = __cil_tmp34 + 6UL;
5679#line 322
5680 __cil_tmp36 = data + __cil_tmp35;
5681#line 322
5682 magicmouse_emit_touch(msc, ii, __cil_tmp36);
5683#line 321
5684 ii = ii + 1;
5685 }
5686 ldv_24627: ;
5687#line 321
5688 if (ii < npoints) {
5689#line 322
5690 goto ldv_24626;
5691 } else {
5692#line 324
5693 goto ldv_24628;
5694 }
5695 ldv_24628: ;
5696#line 324
5697 if ((int )report_touches) {
5698 {
5699#line 324
5700 __cil_tmp37 = msc->ntouches;
5701#line 324
5702 if (__cil_tmp37 == 0) {
5703 {
5704#line 325
5705 input_mt_sync(input);
5706 }
5707 } else {
5708
5709 }
5710 }
5711 } else {
5712
5713 }
5714#line 331
5715 __cil_tmp38 = data + 1UL;
5716#line 331
5717 __cil_tmp39 = *__cil_tmp38;
5718#line 331
5719 __cil_tmp40 = (int )__cil_tmp39;
5720#line 331
5721 __cil_tmp41 = __cil_tmp40 << 22;
5722#line 331
5723 __cil_tmp42 = data + 3UL;
5724#line 331
5725 __cil_tmp43 = *__cil_tmp42;
5726#line 331
5727 __cil_tmp44 = (int )__cil_tmp43;
5728#line 331
5729 __cil_tmp45 = __cil_tmp44 & 12;
5730#line 331
5731 __cil_tmp46 = __cil_tmp45 << 28;
5732#line 331
5733 __cil_tmp47 = __cil_tmp46 | __cil_tmp41;
5734#line 331
5735 x = __cil_tmp47 >> 22;
5736#line 332
5737 __cil_tmp48 = data + 2UL;
5738#line 332
5739 __cil_tmp49 = *__cil_tmp48;
5740#line 332
5741 __cil_tmp50 = (int )__cil_tmp49;
5742#line 332
5743 __cil_tmp51 = __cil_tmp50 << 22;
5744#line 332
5745 __cil_tmp52 = data + 3UL;
5746#line 332
5747 __cil_tmp53 = *__cil_tmp52;
5748#line 332
5749 __cil_tmp54 = (int )__cil_tmp53;
5750#line 332
5751 __cil_tmp55 = __cil_tmp54 & 48;
5752#line 332
5753 __cil_tmp56 = __cil_tmp55 << 26;
5754#line 332
5755 __cil_tmp57 = __cil_tmp56 | __cil_tmp51;
5756#line 332
5757 y = __cil_tmp57 >> 22;
5758#line 333
5759 __cil_tmp58 = data + 3UL;
5760#line 333
5761 __cil_tmp59 = *__cil_tmp58;
5762#line 333
5763 clicks = (int )__cil_tmp59;
5764#line 340
5765 goto ldv_24624;
5766 case_247:
5767 {
5768#line 345
5769 __cil_tmp60 = data + 2UL;
5770#line 345
5771 __cil_tmp61 = data + 1UL;
5772#line 345
5773 __cil_tmp62 = *__cil_tmp61;
5774#line 345
5775 __cil_tmp63 = (int )__cil_tmp62;
5776#line 345
5777 magicmouse_raw_event(hdev, report, __cil_tmp60, __cil_tmp63);
5778#line 346
5779 __cil_tmp64 = data + 1UL;
5780#line 346
5781 __cil_tmp65 = *__cil_tmp64;
5782#line 346
5783 __cil_tmp66 = (unsigned long )__cil_tmp65;
5784#line 346
5785 __cil_tmp67 = __cil_tmp66 + 2UL;
5786#line 346
5787 __cil_tmp68 = data + __cil_tmp67;
5788#line 346
5789 __cil_tmp69 = data + 1UL;
5790#line 346
5791 __cil_tmp70 = *__cil_tmp69;
5792#line 346
5793 __cil_tmp71 = (int )__cil_tmp70;
5794#line 346
5795 __cil_tmp72 = size + -2;
5796#line 346
5797 __cil_tmp73 = __cil_tmp72 - __cil_tmp71;
5798#line 346
5799 magicmouse_raw_event(hdev, report, __cil_tmp68, __cil_tmp73);
5800 }
5801#line 348
5802 goto ldv_24624;
5803 switch_default: ;
5804#line 350
5805 return (0);
5806 } else {
5807
5808 }
5809 }
5810 }
5811 }
5812 }
5813 }
5814 }
5815 ldv_24624: ;
5816 {
5817#line 353
5818 __cil_tmp74 = input->id.product;
5819#line 353
5820 __cil_tmp75 = (unsigned int )__cil_tmp74;
5821#line 353
5822 if (__cil_tmp75 == 781U) {
5823 {
5824#line 354
5825 __cil_tmp76 = clicks & 3;
5826#line 354
5827 magicmouse_emit_buttons(msc, __cil_tmp76);
5828#line 355
5829 input_report_rel(input, 0U, x);
5830#line 356
5831 input_report_rel(input, 1U, y);
5832 }
5833 } else {
5834 {
5835#line 358
5836 __cil_tmp77 = clicks & 1;
5837#line 358
5838 input_report_key(input, 272U, __cil_tmp77);
5839#line 359
5840 __cil_tmp78 = msc->ntouches;
5841#line 359
5842 __cil_tmp79 = __cil_tmp78 > 0;
5843#line 359
5844 input_report_key(input, 330U, __cil_tmp79);
5845#line 360
5846 __cil_tmp80 = msc->ntouches;
5847#line 360
5848 __cil_tmp81 = __cil_tmp80 == 1;
5849#line 360
5850 input_report_key(input, 325U, __cil_tmp81);
5851#line 361
5852 __cil_tmp82 = msc->ntouches;
5853#line 361
5854 __cil_tmp83 = __cil_tmp82 == 2;
5855#line 361
5856 input_report_key(input, 333U, __cil_tmp83);
5857#line 362
5858 __cil_tmp84 = msc->ntouches;
5859#line 362
5860 __cil_tmp85 = __cil_tmp84 == 3;
5861#line 362
5862 input_report_key(input, 334U, __cil_tmp85);
5863#line 363
5864 __cil_tmp86 = msc->ntouches;
5865#line 363
5866 __cil_tmp87 = __cil_tmp86 == 4;
5867#line 363
5868 input_report_key(input, 335U, __cil_tmp87);
5869 }
5870 {
5871#line 364
5872 __cil_tmp88 = msc->single_touch_id;
5873#line 364
5874 if (__cil_tmp88 >= 0) {
5875 {
5876#line 365
5877 __cil_tmp89 = msc->touches[msc->single_touch_id].x;
5878#line 365
5879 __cil_tmp90 = (int )__cil_tmp89;
5880#line 365
5881 input_report_abs(input, 0U, __cil_tmp90);
5882#line 367
5883 __cil_tmp91 = msc->touches[msc->single_touch_id].y;
5884#line 367
5885 __cil_tmp92 = (int )__cil_tmp91;
5886#line 367
5887 input_report_abs(input, 1U, __cil_tmp92);
5888 }
5889 } else {
5890
5891 }
5892 }
5893 }
5894 }
5895 {
5896#line 372
5897 input_sync(input);
5898 }
5899#line 373
5900 return (1);
5901}
5902}
5903#line 376 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
5904static void magicmouse_setup_input(struct input_dev *input , struct hid_device *hdev )
5905{ unsigned long (*__cil_tmp3)[1U] ;
5906 unsigned long volatile *__cil_tmp4 ;
5907 __u16 __cil_tmp5 ;
5908 unsigned int __cil_tmp6 ;
5909 unsigned long (*__cil_tmp7)[12U] ;
5910 unsigned long volatile *__cil_tmp8 ;
5911 unsigned long (*__cil_tmp9)[12U] ;
5912 unsigned long volatile *__cil_tmp10 ;
5913 unsigned long (*__cil_tmp11)[12U] ;
5914 unsigned long volatile *__cil_tmp12 ;
5915 unsigned long (*__cil_tmp13)[1U] ;
5916 unsigned long volatile *__cil_tmp14 ;
5917 unsigned long (*__cil_tmp15)[1U] ;
5918 unsigned long volatile *__cil_tmp16 ;
5919 unsigned long (*__cil_tmp17)[1U] ;
5920 unsigned long volatile *__cil_tmp18 ;
5921 unsigned long (*__cil_tmp19)[1U] ;
5922 unsigned long volatile *__cil_tmp20 ;
5923 unsigned long (*__cil_tmp21)[1U] ;
5924 unsigned long volatile *__cil_tmp22 ;
5925 unsigned long (*__cil_tmp23)[12U] ;
5926 unsigned long volatile *__cil_tmp24 ;
5927 unsigned long (*__cil_tmp25)[12U] ;
5928 unsigned long volatile *__cil_tmp26 ;
5929 unsigned long (*__cil_tmp27)[12U] ;
5930 unsigned long volatile *__cil_tmp28 ;
5931 unsigned long (*__cil_tmp29)[12U] ;
5932 unsigned long volatile *__cil_tmp30 ;
5933 unsigned long (*__cil_tmp31)[12U] ;
5934 unsigned long volatile *__cil_tmp32 ;
5935 unsigned long (*__cil_tmp33)[12U] ;
5936 unsigned long volatile *__cil_tmp34 ;
5937 unsigned long (*__cil_tmp35)[1U] ;
5938 unsigned long volatile *__cil_tmp36 ;
5939 __u16 __cil_tmp37 ;
5940 unsigned int __cil_tmp38 ;
5941 unsigned long (*__cil_tmp39)[1U] ;
5942 unsigned long volatile *__cil_tmp40 ;
5943 unsigned long (*__cil_tmp41)[1U] ;
5944 unsigned long volatile *__cil_tmp42 ;
5945
5946 {
5947 {
5948#line 378
5949 __cil_tmp3 = & input->evbit;
5950#line 378
5951 __cil_tmp4 = (unsigned long volatile *)__cil_tmp3;
5952#line 378
5953 __set_bit(1, __cil_tmp4);
5954 }
5955 {
5956#line 380
5957 __cil_tmp5 = input->id.product;
5958#line 380
5959 __cil_tmp6 = (unsigned int )__cil_tmp5;
5960#line 380
5961 if (__cil_tmp6 == 781U) {
5962 {
5963#line 381
5964 __cil_tmp7 = & input->keybit;
5965#line 381
5966 __cil_tmp8 = (unsigned long volatile *)__cil_tmp7;
5967#line 381
5968 __set_bit(272, __cil_tmp8);
5969#line 382
5970 __cil_tmp9 = & input->keybit;
5971#line 382
5972 __cil_tmp10 = (unsigned long volatile *)__cil_tmp9;
5973#line 382
5974 __set_bit(273, __cil_tmp10);
5975 }
5976#line 383
5977 if ((int )emulate_3button) {
5978 {
5979#line 384
5980 __cil_tmp11 = & input->keybit;
5981#line 384
5982 __cil_tmp12 = (unsigned long volatile *)__cil_tmp11;
5983#line 384
5984 __set_bit(274, __cil_tmp12);
5985 }
5986 } else {
5987
5988 }
5989 {
5990#line 386
5991 __cil_tmp13 = & input->evbit;
5992#line 386
5993 __cil_tmp14 = (unsigned long volatile *)__cil_tmp13;
5994#line 386
5995 __set_bit(2, __cil_tmp14);
5996#line 387
5997 __cil_tmp15 = & input->relbit;
5998#line 387
5999 __cil_tmp16 = (unsigned long volatile *)__cil_tmp15;
6000#line 387
6001 __set_bit(0, __cil_tmp16);
6002#line 388
6003 __cil_tmp17 = & input->relbit;
6004#line 388
6005 __cil_tmp18 = (unsigned long volatile *)__cil_tmp17;
6006#line 388
6007 __set_bit(1, __cil_tmp18);
6008 }
6009#line 389
6010 if ((int )emulate_scroll_wheel) {
6011 {
6012#line 390
6013 __cil_tmp19 = & input->relbit;
6014#line 390
6015 __cil_tmp20 = (unsigned long volatile *)__cil_tmp19;
6016#line 390
6017 __set_bit(8, __cil_tmp20);
6018#line 391
6019 __cil_tmp21 = & input->relbit;
6020#line 391
6021 __cil_tmp22 = (unsigned long volatile *)__cil_tmp21;
6022#line 391
6023 __set_bit(6, __cil_tmp22);
6024 }
6025 } else {
6026
6027 }
6028 } else {
6029 {
6030#line 394
6031 __cil_tmp23 = & input->keybit;
6032#line 394
6033 __cil_tmp24 = (unsigned long volatile *)__cil_tmp23;
6034#line 394
6035 __set_bit(272, __cil_tmp24);
6036#line 395
6037 __cil_tmp25 = & input->keybit;
6038#line 395
6039 __cil_tmp26 = (unsigned long volatile *)__cil_tmp25;
6040#line 395
6041 __set_bit(325, __cil_tmp26);
6042#line 396
6043 __cil_tmp27 = & input->keybit;
6044#line 396
6045 __cil_tmp28 = (unsigned long volatile *)__cil_tmp27;
6046#line 396
6047 __set_bit(333, __cil_tmp28);
6048#line 397
6049 __cil_tmp29 = & input->keybit;
6050#line 397
6051 __cil_tmp30 = (unsigned long volatile *)__cil_tmp29;
6052#line 397
6053 __set_bit(334, __cil_tmp30);
6054#line 398
6055 __cil_tmp31 = & input->keybit;
6056#line 398
6057 __cil_tmp32 = (unsigned long volatile *)__cil_tmp31;
6058#line 398
6059 __set_bit(335, __cil_tmp32);
6060#line 399
6061 __cil_tmp33 = & input->keybit;
6062#line 399
6063 __cil_tmp34 = (unsigned long volatile *)__cil_tmp33;
6064#line 399
6065 __set_bit(330, __cil_tmp34);
6066 }
6067 }
6068 }
6069#line 402
6070 if ((int )report_touches) {
6071 {
6072#line 403
6073 __cil_tmp35 = & input->evbit;
6074#line 403
6075 __cil_tmp36 = (unsigned long volatile *)__cil_tmp35;
6076#line 403
6077 __set_bit(3, __cil_tmp36);
6078#line 405
6079 input_set_abs_params(input, 57U, 0, 15, 0, 0);
6080#line 406
6081 input_set_abs_params(input, 48U, 0, 255, 4, 0);
6082#line 407
6083 input_set_abs_params(input, 49U, 0, 255, 4, 0);
6084#line 408
6085 input_set_abs_params(input, 52U, -31, 32, 1, 0);
6086 }
6087 {
6088#line 416
6089 __cil_tmp37 = input->id.product;
6090#line 416
6091 __cil_tmp38 = (unsigned int )__cil_tmp37;
6092#line 416
6093 if (__cil_tmp38 == 781U) {
6094 {
6095#line 417
6096 input_set_abs_params(input, 53U, -1100, 1358, 4, 0);
6097#line 419
6098 input_set_abs_params(input, 54U, -1589, 2047, 4, 0);
6099 }
6100 } else {
6101 {
6102#line 422
6103 input_set_abs_params(input, 0U, -2909, 3167, 4, 0);
6104#line 423
6105 input_set_abs_params(input, 1U, -2456, 2565, 4, 0);
6106#line 424
6107 input_set_abs_params(input, 53U, -2909, 3167, 4, 0);
6108#line 426
6109 input_set_abs_params(input, 54U, -2456, 2565, 4, 0);
6110 }
6111 }
6112 }
6113 {
6114#line 430
6115 input_set_events_per_packet(input, 60);
6116 }
6117 } else {
6118
6119 }
6120#line 433
6121 if ((int )report_undeciphered) {
6122 {
6123#line 434
6124 __cil_tmp39 = & input->evbit;
6125#line 434
6126 __cil_tmp40 = (unsigned long volatile *)__cil_tmp39;
6127#line 434
6128 __set_bit(4, __cil_tmp40);
6129#line 435
6130 __cil_tmp41 = & input->mscbit;
6131#line 435
6132 __cil_tmp42 = (unsigned long volatile *)__cil_tmp41;
6133#line 435
6134 __set_bit(3, __cil_tmp42);
6135 }
6136 } else {
6137
6138 }
6139#line 437
6140 return;
6141}
6142}
6143#line 439 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6144static int magicmouse_input_mapping(struct hid_device *hdev , struct hid_input *hi ,
6145 struct hid_field *field , struct hid_usage *usage ,
6146 unsigned long **bit , int *max )
6147{ struct magicmouse_sc *msc ;
6148 void *tmp ;
6149 struct input_dev *__cil_tmp9 ;
6150 unsigned long __cil_tmp10 ;
6151 struct input_dev *__cil_tmp11 ;
6152 unsigned long __cil_tmp12 ;
6153 struct input_dev *__cil_tmp13 ;
6154 __u16 __cil_tmp14 ;
6155 unsigned int __cil_tmp15 ;
6156 unsigned int __cil_tmp16 ;
6157 unsigned int __cil_tmp17 ;
6158
6159 {
6160 {
6161#line 443
6162 tmp = hid_get_drvdata(hdev);
6163#line 443
6164 msc = (struct magicmouse_sc *)tmp;
6165 }
6166 {
6167#line 445
6168 __cil_tmp9 = (struct input_dev *)0;
6169#line 445
6170 __cil_tmp10 = (unsigned long )__cil_tmp9;
6171#line 445
6172 __cil_tmp11 = msc->input;
6173#line 445
6174 __cil_tmp12 = (unsigned long )__cil_tmp11;
6175#line 445
6176 if (__cil_tmp12 == __cil_tmp10) {
6177#line 446
6178 msc->input = hi->input;
6179 } else {
6180
6181 }
6182 }
6183 {
6184#line 449
6185 __cil_tmp13 = hi->input;
6186#line 449
6187 __cil_tmp14 = __cil_tmp13->id.product;
6188#line 449
6189 __cil_tmp15 = (unsigned int )__cil_tmp14;
6190#line 449
6191 if (__cil_tmp15 == 782U) {
6192 {
6193#line 449
6194 __cil_tmp16 = field->flags;
6195#line 449
6196 __cil_tmp17 = __cil_tmp16 & 4U;
6197#line 449
6198 if (__cil_tmp17 != 0U) {
6199#line 451
6200 return (-1);
6201 } else {
6202
6203 }
6204 }
6205 } else {
6206
6207 }
6208 }
6209#line 453
6210 return (0);
6211}
6212}
6213#line 456 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6214static int magicmouse_probe(struct hid_device *hdev , struct hid_device_id const *id )
6215{ __u8 feature[2U] ;
6216 struct magicmouse_sc *msc ;
6217 struct hid_report *report ;
6218 int ret ;
6219 void *tmp ;
6220 struct magicmouse_sc *__cil_tmp8 ;
6221 unsigned long __cil_tmp9 ;
6222 unsigned long __cil_tmp10 ;
6223 struct device *__cil_tmp11 ;
6224 struct device const *__cil_tmp12 ;
6225 kernel_ulong_t __cil_tmp13 ;
6226 void *__cil_tmp14 ;
6227 struct device *__cil_tmp15 ;
6228 struct device const *__cil_tmp16 ;
6229 struct device *__cil_tmp17 ;
6230 struct device const *__cil_tmp18 ;
6231 struct input_dev *__cil_tmp19 ;
6232 unsigned long __cil_tmp20 ;
6233 struct input_dev *__cil_tmp21 ;
6234 unsigned long __cil_tmp22 ;
6235 struct input_dev *__cil_tmp23 ;
6236 __u32 __cil_tmp24 ;
6237 unsigned int __cil_tmp25 ;
6238 struct hid_report *__cil_tmp26 ;
6239 unsigned long __cil_tmp27 ;
6240 unsigned long __cil_tmp28 ;
6241 struct device *__cil_tmp29 ;
6242 struct device const *__cil_tmp30 ;
6243 int (*__cil_tmp31)(struct hid_device * , __u8 * , size_t , unsigned char ) ;
6244 __u8 *__cil_tmp32 ;
6245 struct device *__cil_tmp33 ;
6246 struct device const *__cil_tmp34 ;
6247 void const *__cil_tmp35 ;
6248
6249 {
6250 {
6251#line 459
6252 feature[0] = (__u8 )215U;
6253#line 459
6254 feature[1] = (__u8 )1U;
6255#line 464
6256 tmp = kzalloc(264UL, 208U);
6257#line 464
6258 msc = (struct magicmouse_sc *)tmp;
6259 }
6260 {
6261#line 465
6262 __cil_tmp8 = (struct magicmouse_sc *)0;
6263#line 465
6264 __cil_tmp9 = (unsigned long )__cil_tmp8;
6265#line 465
6266 __cil_tmp10 = (unsigned long )msc;
6267#line 465
6268 if (__cil_tmp10 == __cil_tmp9) {
6269 {
6270#line 466
6271 __cil_tmp11 = & hdev->dev;
6272#line 466
6273 __cil_tmp12 = (struct device const *)__cil_tmp11;
6274#line 466
6275 dev_err(__cil_tmp12, "can\'t alloc magicmouse descriptor\n");
6276 }
6277#line 467
6278 return (-12);
6279 } else {
6280
6281 }
6282 }
6283 {
6284#line 470
6285 msc->scroll_accel = 7;
6286#line 472
6287 __cil_tmp13 = id->driver_data;
6288#line 472
6289 msc->quirks = (unsigned long )__cil_tmp13;
6290#line 473
6291 __cil_tmp14 = (void *)msc;
6292#line 473
6293 hid_set_drvdata(hdev, __cil_tmp14);
6294#line 475
6295 msc->single_touch_id = -1;
6296#line 477
6297 ret = hid_parse(hdev);
6298 }
6299#line 478
6300 if (ret != 0) {
6301 {
6302#line 479
6303 __cil_tmp15 = & hdev->dev;
6304#line 479
6305 __cil_tmp16 = (struct device const *)__cil_tmp15;
6306#line 479
6307 dev_err(__cil_tmp16, "magicmouse hid parse failed\n");
6308 }
6309#line 480
6310 goto err_free;
6311 } else {
6312
6313 }
6314 {
6315#line 483
6316 ret = hid_hw_start(hdev, 45U);
6317 }
6318#line 484
6319 if (ret != 0) {
6320 {
6321#line 485
6322 __cil_tmp17 = & hdev->dev;
6323#line 485
6324 __cil_tmp18 = (struct device const *)__cil_tmp17;
6325#line 485
6326 dev_err(__cil_tmp18, "magicmouse hw start failed\n");
6327 }
6328#line 486
6329 goto err_free;
6330 } else {
6331
6332 }
6333 {
6334#line 492
6335 __cil_tmp19 = (struct input_dev *)0;
6336#line 492
6337 __cil_tmp20 = (unsigned long )__cil_tmp19;
6338#line 492
6339 __cil_tmp21 = msc->input;
6340#line 492
6341 __cil_tmp22 = (unsigned long )__cil_tmp21;
6342#line 492
6343 if (__cil_tmp22 != __cil_tmp20) {
6344 {
6345#line 493
6346 __cil_tmp23 = msc->input;
6347#line 493
6348 magicmouse_setup_input(__cil_tmp23, hdev);
6349 }
6350 } else {
6351
6352 }
6353 }
6354 {
6355#line 495
6356 __cil_tmp24 = id->product;
6357#line 495
6358 __cil_tmp25 = (unsigned int )__cil_tmp24;
6359#line 495
6360 if (__cil_tmp25 == 781U) {
6361 {
6362#line 496
6363 report = hid_register_report(hdev, 0U, 41U);
6364 }
6365 } else {
6366 {
6367#line 499
6368 report = hid_register_report(hdev, 0U, 40U);
6369#line 501
6370 report = hid_register_report(hdev, 0U, 247U);
6371 }
6372 }
6373 }
6374 {
6375#line 505
6376 __cil_tmp26 = (struct hid_report *)0;
6377#line 505
6378 __cil_tmp27 = (unsigned long )__cil_tmp26;
6379#line 505
6380 __cil_tmp28 = (unsigned long )report;
6381#line 505
6382 if (__cil_tmp28 == __cil_tmp27) {
6383 {
6384#line 506
6385 __cil_tmp29 = & hdev->dev;
6386#line 506
6387 __cil_tmp30 = (struct device const *)__cil_tmp29;
6388#line 506
6389 dev_err(__cil_tmp30, "unable to register touch report\n");
6390#line 507
6391 ret = -12;
6392 }
6393#line 508
6394 goto err_stop_hw;
6395 } else {
6396
6397 }
6398 }
6399 {
6400#line 510
6401 report->size = 6U;
6402#line 512
6403 __cil_tmp31 = hdev->hid_output_raw_report;
6404#line 512
6405 __cil_tmp32 = (__u8 *)(& feature);
6406#line 512
6407 ret = (*__cil_tmp31)(hdev, __cil_tmp32, 2UL, (unsigned char)2);
6408 }
6409#line 514
6410 if (ret != 2) {
6411 {
6412#line 515
6413 __cil_tmp33 = & hdev->dev;
6414#line 515
6415 __cil_tmp34 = (struct device const *)__cil_tmp33;
6416#line 515
6417 dev_err(__cil_tmp34, "unable to request touch data (%d)\n", ret);
6418 }
6419#line 516
6420 goto err_stop_hw;
6421 } else {
6422
6423 }
6424#line 519
6425 return (0);
6426 err_stop_hw:
6427 {
6428#line 521
6429 hid_hw_stop(hdev);
6430 }
6431 err_free:
6432 {
6433#line 523
6434 __cil_tmp35 = (void const *)msc;
6435#line 523
6436 kfree(__cil_tmp35);
6437 }
6438#line 524
6439 return (ret);
6440}
6441}
6442#line 527 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6443static void magicmouse_remove(struct hid_device *hdev )
6444{ struct magicmouse_sc *msc ;
6445 void *tmp ;
6446 void const *__cil_tmp4 ;
6447
6448 {
6449 {
6450#line 529
6451 tmp = hid_get_drvdata(hdev);
6452#line 529
6453 msc = (struct magicmouse_sc *)tmp;
6454#line 531
6455 hid_hw_stop(hdev);
6456#line 532
6457 __cil_tmp4 = (void const *)msc;
6458#line 532
6459 kfree(__cil_tmp4);
6460 }
6461#line 533
6462 return;
6463}
6464}
6465#line 535 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6466static struct hid_device_id const magic_mice[3U] = { {(__u16 )5U, (unsigned short)0, 1452U, 781U, 0UL},
6467 {(__u16 )5U, (unsigned short)0, 1452U, 782U, 0UL},
6468 {(unsigned short)0, (unsigned short)0, 0U, 0U, 0UL}};
6469#line 542 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6470struct hid_device_id const __mod_hid_device_table ;
6471#line 544 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6472static struct hid_driver magicmouse_driver =
6473#line 544
6474 {(char *)"magicmouse", (struct hid_device_id const *)(& magic_mice), {(struct list_head *)0,
6475 (struct list_head *)0},
6476 {{{{0U}, 0U, 0U, (void *)0, {(struct lock_class_key *)0, {(struct lock_class *)0,
6477 (struct lock_class *)0},
6478 (char const *)0, 0, 0UL}}}}, & magicmouse_probe,
6479 & magicmouse_remove, (struct hid_report_id const *)0, & magicmouse_raw_event,
6480 (struct hid_usage_id const *)0, (int (*)(struct hid_device * , struct hid_field * ,
6481 struct hid_usage * , __s32 ))0, (__u8 *(*)(struct hid_device * ,
6482 __u8 * ,
6483 unsigned int * ))0,
6484 & magicmouse_input_mapping, (int (*)(struct hid_device * , struct hid_input * ,
6485 struct hid_field * , struct hid_usage * ,
6486 unsigned long ** , int * ))0, (void (*)(struct hid_device * ,
6487 struct hid_field * ,
6488 struct hid_usage * ))0,
6489 (int (*)(struct hid_device * , pm_message_t ))0, (int (*)(struct hid_device * ))0,
6490 (int (*)(struct hid_device * ))0, {(char const *)0, (struct bus_type *)0, (struct module *)0,
6491 (char const *)0, (_Bool)0, (struct of_device_id const *)0,
6492 (int (*)(struct device * ))0, (int (*)(struct device * ))0,
6493 (void (*)(struct device * ))0, (int (*)(struct device * ,
6494 pm_message_t ))0,
6495 (int (*)(struct device * ))0, (struct attribute_group const **)0,
6496 (struct dev_pm_ops const *)0, (struct driver_private *)0}};
6497#line 553 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6498static int magicmouse_init(void)
6499{ int ret ;
6500
6501 {
6502 {
6503#line 557
6504 ret = hid_register_driver(& magicmouse_driver);
6505 }
6506#line 558
6507 if (ret != 0) {
6508 {
6509#line 559
6510 printk("<3>hid_magicmouse: can\'t register magicmouse driver\n");
6511 }
6512 } else {
6513
6514 }
6515#line 561
6516 return (ret);
6517}
6518}
6519#line 564 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6520static void magicmouse_exit(void)
6521{
6522
6523 {
6524 {
6525#line 566
6526 hid_unregister_driver(& magicmouse_driver);
6527 }
6528#line 567
6529 return;
6530}
6531}
6532#line 589
6533void ldv_check_final_state(void) ;
6534#line 592
6535extern void ldv_check_return_value(int ) ;
6536#line 595
6537extern void ldv_initialize(void) ;
6538#line 598
6539extern int nondet_int(void) ;
6540#line 601 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6541int LDV_IN_INTERRUPT ;
6542#line 604 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6543void main(void)
6544{ struct hid_device *var_group1 ;
6545 struct hid_device_id const *var_magicmouse_probe_7_p1 ;
6546 int res_magicmouse_probe_7 ;
6547 struct hid_report *var_group2 ;
6548 u8 *var_magicmouse_raw_event_4_p2 ;
6549 int var_magicmouse_raw_event_4_p3 ;
6550 struct hid_input *var_group3 ;
6551 struct hid_field *var_magicmouse_input_mapping_6_p2 ;
6552 struct hid_usage *var_magicmouse_input_mapping_6_p3 ;
6553 unsigned long **var_magicmouse_input_mapping_6_p4 ;
6554 int *var_magicmouse_input_mapping_6_p5 ;
6555 int ldv_s_magicmouse_driver_hid_driver ;
6556 int tmp ;
6557 int tmp___0 ;
6558 int tmp___1 ;
6559
6560 {
6561 {
6562#line 725
6563 ldv_s_magicmouse_driver_hid_driver = 0;
6564#line 696
6565 LDV_IN_INTERRUPT = 1;
6566#line 705
6567 ldv_initialize();
6568#line 723
6569 tmp = magicmouse_init();
6570 }
6571#line 723
6572 if (tmp != 0) {
6573#line 724
6574 goto ldv_final;
6575 } else {
6576
6577 }
6578#line 729
6579 goto ldv_24712;
6580 ldv_24711:
6581 {
6582#line 733
6583 tmp___0 = nondet_int();
6584 }
6585#line 735
6586 if (tmp___0 == 0) {
6587#line 735
6588 goto case_0;
6589 } else
6590#line 766
6591 if (tmp___0 == 1) {
6592#line 766
6593 goto case_1;
6594 } else
6595#line 794
6596 if (tmp___0 == 2) {
6597#line 794
6598 goto case_2;
6599 } else
6600#line 822
6601 if (tmp___0 == 3) {
6602#line 822
6603 goto case_3;
6604 } else {
6605#line 850
6606 goto switch_default;
6607#line 733
6608 if (0) {
6609 case_0: ;
6610#line 738
6611 if (ldv_s_magicmouse_driver_hid_driver == 0) {
6612 {
6613#line 755
6614 res_magicmouse_probe_7 = magicmouse_probe(var_group1, var_magicmouse_probe_7_p1);
6615#line 756
6616 ldv_check_return_value(res_magicmouse_probe_7);
6617 }
6618#line 757
6619 if (res_magicmouse_probe_7 != 0) {
6620#line 758
6621 goto ldv_module_exit;
6622 } else {
6623
6624 }
6625#line 759
6626 ldv_s_magicmouse_driver_hid_driver = 0;
6627 } else {
6628
6629 }
6630#line 765
6631 goto ldv_24706;
6632 case_1:
6633 {
6634#line 786
6635 magicmouse_remove(var_group1);
6636 }
6637#line 793
6638 goto ldv_24706;
6639 case_2:
6640 {
6641#line 814
6642 magicmouse_raw_event(var_group1, var_group2, var_magicmouse_raw_event_4_p2,
6643 var_magicmouse_raw_event_4_p3);
6644 }
6645#line 821
6646 goto ldv_24706;
6647 case_3:
6648 {
6649#line 842
6650 magicmouse_input_mapping(var_group1, var_group3, var_magicmouse_input_mapping_6_p2,
6651 var_magicmouse_input_mapping_6_p3, var_magicmouse_input_mapping_6_p4,
6652 var_magicmouse_input_mapping_6_p5);
6653 }
6654#line 849
6655 goto ldv_24706;
6656 switch_default: ;
6657#line 850
6658 goto ldv_24706;
6659 } else {
6660
6661 }
6662 }
6663 ldv_24706: ;
6664 ldv_24712:
6665 {
6666#line 729
6667 tmp___1 = nondet_int();
6668 }
6669#line 729
6670 if (tmp___1 != 0) {
6671#line 731
6672 goto ldv_24711;
6673 } else
6674#line 729
6675 if (ldv_s_magicmouse_driver_hid_driver != 0) {
6676#line 731
6677 goto ldv_24711;
6678 } else {
6679#line 733
6680 goto ldv_24713;
6681 }
6682 ldv_24713: ;
6683 ldv_module_exit:
6684 {
6685#line 874
6686 magicmouse_exit();
6687 }
6688 ldv_final:
6689 {
6690#line 877
6691 ldv_check_final_state();
6692 }
6693#line 880
6694 return;
6695}
6696}
6697#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast-assert.h"
6698void ldv_blast_assert(void)
6699{
6700
6701 {
6702 ERROR: ;
6703#line 6
6704 goto ERROR;
6705}
6706}
6707#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast.h"
6708extern int ldv_undefined_int(void) ;
6709#line 897 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6710int ldv_module_refcounter = 1;
6711#line 900 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6712void ldv_module_get(struct module *module )
6713{ struct module *__cil_tmp2 ;
6714 unsigned long __cil_tmp3 ;
6715 unsigned long __cil_tmp4 ;
6716
6717 {
6718 {
6719#line 903
6720 __cil_tmp2 = (struct module *)0;
6721#line 903
6722 __cil_tmp3 = (unsigned long )__cil_tmp2;
6723#line 903
6724 __cil_tmp4 = (unsigned long )module;
6725#line 903
6726 if (__cil_tmp4 != __cil_tmp3) {
6727#line 905
6728 ldv_module_refcounter = ldv_module_refcounter + 1;
6729 } else {
6730
6731 }
6732 }
6733#line 906
6734 return;
6735}
6736}
6737#line 910 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6738int ldv_try_module_get(struct module *module )
6739{ int module_get_succeeded ;
6740 struct module *__cil_tmp3 ;
6741 unsigned long __cil_tmp4 ;
6742 unsigned long __cil_tmp5 ;
6743
6744 {
6745 {
6746#line 915
6747 __cil_tmp3 = (struct module *)0;
6748#line 915
6749 __cil_tmp4 = (unsigned long )__cil_tmp3;
6750#line 915
6751 __cil_tmp5 = (unsigned long )module;
6752#line 915
6753 if (__cil_tmp5 != __cil_tmp4) {
6754 {
6755#line 918
6756 module_get_succeeded = ldv_undefined_int();
6757 }
6758#line 920
6759 if (module_get_succeeded == 1) {
6760#line 922
6761 ldv_module_refcounter = ldv_module_refcounter + 1;
6762#line 924
6763 return (1);
6764 } else {
6765#line 929
6766 return (0);
6767 }
6768 } else {
6769
6770 }
6771 }
6772#line 931
6773 return (0);
6774}
6775}
6776#line 935 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6777void ldv_module_put(struct module *module )
6778{ struct module *__cil_tmp2 ;
6779 unsigned long __cil_tmp3 ;
6780 unsigned long __cil_tmp4 ;
6781
6782 {
6783 {
6784#line 938
6785 __cil_tmp2 = (struct module *)0;
6786#line 938
6787 __cil_tmp3 = (unsigned long )__cil_tmp2;
6788#line 938
6789 __cil_tmp4 = (unsigned long )module;
6790#line 938
6791 if (__cil_tmp4 != __cil_tmp3) {
6792#line 940
6793 if (ldv_module_refcounter <= 1) {
6794 {
6795#line 940
6796 ldv_blast_assert();
6797 }
6798 } else {
6799
6800 }
6801#line 942
6802 ldv_module_refcounter = ldv_module_refcounter - 1;
6803 } else {
6804
6805 }
6806 }
6807#line 944
6808 return;
6809}
6810}
6811#line 947 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6812void ldv_module_put_and_exit(void)
6813{ struct module *__cil_tmp1 ;
6814
6815 {
6816 {
6817#line 949
6818 __cil_tmp1 = (struct module *)1;
6819#line 949
6820 ldv_module_put(__cil_tmp1);
6821 }
6822 LDV_STOP: ;
6823#line 951
6824 goto LDV_STOP;
6825}
6826}
6827#line 955 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6828unsigned int ldv_module_refcount(void)
6829{ int __cil_tmp1 ;
6830
6831 {
6832 {
6833#line 958
6834 __cil_tmp1 = ldv_module_refcounter + -1;
6835#line 958
6836 return ((unsigned int )__cil_tmp1);
6837 }
6838}
6839}
6840#line 962 "/anthill/stuff/tacas-comp/work/current--X--drivers/hid/hid-magicmouse.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/08_1/drivers/hid/hid-magicmouse.c.p"
6841void ldv_check_final_state(void)
6842{
6843
6844 {
6845#line 965
6846 if (ldv_module_refcounter != 1) {
6847 {
6848#line 965
6849 ldv_blast_assert();
6850 }
6851 } else {
6852
6853 }
6854#line 968
6855 return;
6856}
6857}