Showing error 92

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-drivers/module_get_put-drivers-hid-hid-magicmouse.ko_safe.cil.out.i.pp.i
Line in file: 5300
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   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}