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