Showing error 750

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