Showing error 1264

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/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--usb--image--mdc800.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 9578
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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