Showing error 91

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.cil.c
Line in file: 6702
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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