Showing error 890

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


Source:

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