Showing error 803

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