Showing error 888

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