Showing error 739

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