Showing error 812

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-zydacron.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 3856
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 30 "include/asm-generic/int-ll64.h"
  17typedef unsigned long long __u64;
  18#line 43 "include/asm-generic/int-ll64.h"
  19typedef unsigned char u8;
  20#line 45 "include/asm-generic/int-ll64.h"
  21typedef short s16;
  22#line 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 48 "include/asm-generic/int-ll64.h"
  25typedef int s32;
  26#line 49 "include/asm-generic/int-ll64.h"
  27typedef unsigned int u32;
  28#line 51 "include/asm-generic/int-ll64.h"
  29typedef long long s64;
  30#line 52 "include/asm-generic/int-ll64.h"
  31typedef unsigned long long u64;
  32#line 14 "include/asm-generic/posix_types.h"
  33typedef long __kernel_long_t;
  34#line 15 "include/asm-generic/posix_types.h"
  35typedef unsigned long __kernel_ulong_t;
  36#line 52 "include/asm-generic/posix_types.h"
  37typedef unsigned int __kernel_uid32_t;
  38#line 53 "include/asm-generic/posix_types.h"
  39typedef unsigned int __kernel_gid32_t;
  40#line 75 "include/asm-generic/posix_types.h"
  41typedef __kernel_ulong_t __kernel_size_t;
  42#line 76 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_ssize_t;
  44#line 91 "include/asm-generic/posix_types.h"
  45typedef long long __kernel_loff_t;
  46#line 92 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_time_t;
  48#line 21 "include/linux/types.h"
  49typedef __u32 __kernel_dev_t;
  50#line 24 "include/linux/types.h"
  51typedef __kernel_dev_t dev_t;
  52#line 27 "include/linux/types.h"
  53typedef unsigned short umode_t;
  54#line 38 "include/linux/types.h"
  55typedef _Bool bool;
  56#line 40 "include/linux/types.h"
  57typedef __kernel_uid32_t uid_t;
  58#line 41 "include/linux/types.h"
  59typedef __kernel_gid32_t gid_t;
  60#line 54 "include/linux/types.h"
  61typedef __kernel_loff_t loff_t;
  62#line 63 "include/linux/types.h"
  63typedef __kernel_size_t size_t;
  64#line 68 "include/linux/types.h"
  65typedef __kernel_ssize_t ssize_t;
  66#line 78 "include/linux/types.h"
  67typedef __kernel_time_t time_t;
  68#line 142 "include/linux/types.h"
  69typedef unsigned long sector_t;
  70#line 143 "include/linux/types.h"
  71typedef unsigned long blkcnt_t;
  72#line 202 "include/linux/types.h"
  73typedef unsigned int gfp_t;
  74#line 203 "include/linux/types.h"
  75typedef unsigned int fmode_t;
  76#line 221 "include/linux/types.h"
  77struct __anonstruct_atomic_t_6 {
  78   int counter ;
  79};
  80#line 221 "include/linux/types.h"
  81typedef struct __anonstruct_atomic_t_6 atomic_t;
  82#line 226 "include/linux/types.h"
  83struct __anonstruct_atomic64_t_7 {
  84   long counter ;
  85};
  86#line 226 "include/linux/types.h"
  87typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  88#line 227 "include/linux/types.h"
  89struct list_head {
  90   struct list_head *next ;
  91   struct list_head *prev ;
  92};
  93#line 232
  94struct hlist_node;
  95#line 232 "include/linux/types.h"
  96struct hlist_head {
  97   struct hlist_node *first ;
  98};
  99#line 236 "include/linux/types.h"
 100struct hlist_node {
 101   struct hlist_node *next ;
 102   struct hlist_node **pprev ;
 103};
 104#line 247 "include/linux/types.h"
 105struct rcu_head {
 106   struct rcu_head *next ;
 107   void (*func)(struct rcu_head * ) ;
 108};
 109#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 110struct module;
 111#line 55
 112struct module;
 113#line 146 "include/linux/init.h"
 114typedef void (*ctor_fn_t)(void);
 115#line 46 "include/linux/dynamic_debug.h"
 116struct device;
 117#line 46
 118struct device;
 119#line 57
 120struct completion;
 121#line 57
 122struct completion;
 123#line 348 "include/linux/kernel.h"
 124struct pid;
 125#line 348
 126struct pid;
 127#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 128struct timespec;
 129#line 112
 130struct timespec;
 131#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 132struct page;
 133#line 58
 134struct page;
 135#line 26 "include/asm-generic/getorder.h"
 136struct task_struct;
 137#line 26
 138struct task_struct;
 139#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 140struct file;
 141#line 290
 142struct file;
 143#line 305
 144struct seq_file;
 145#line 305
 146struct seq_file;
 147#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 148struct arch_spinlock;
 149#line 327
 150struct arch_spinlock;
 151#line 306 "include/linux/bitmap.h"
 152struct bug_entry {
 153   int bug_addr_disp ;
 154   int file_disp ;
 155   unsigned short line ;
 156   unsigned short flags ;
 157};
 158#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 159struct static_key;
 160#line 234
 161struct static_key;
 162#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 163struct kmem_cache;
 164#line 23 "include/asm-generic/atomic-long.h"
 165typedef atomic64_t atomic_long_t;
 166#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 167typedef u16 __ticket_t;
 168#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 169typedef u32 __ticketpair_t;
 170#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 171struct __raw_tickets {
 172   __ticket_t head ;
 173   __ticket_t tail ;
 174};
 175#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 176union __anonunion_ldv_5907_29 {
 177   __ticketpair_t head_tail ;
 178   struct __raw_tickets tickets ;
 179};
 180#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 181struct arch_spinlock {
 182   union __anonunion_ldv_5907_29 ldv_5907 ;
 183};
 184#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 185typedef struct arch_spinlock arch_spinlock_t;
 186#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 187struct __anonstruct_ldv_5914_31 {
 188   u32 read ;
 189   s32 write ;
 190};
 191#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 192union __anonunion_arch_rwlock_t_30 {
 193   s64 lock ;
 194   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 195};
 196#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 197typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 198#line 34
 199struct lockdep_map;
 200#line 34
 201struct lockdep_map;
 202#line 55 "include/linux/debug_locks.h"
 203struct stack_trace {
 204   unsigned int nr_entries ;
 205   unsigned int max_entries ;
 206   unsigned long *entries ;
 207   int skip ;
 208};
 209#line 26 "include/linux/stacktrace.h"
 210struct lockdep_subclass_key {
 211   char __one_byte ;
 212};
 213#line 53 "include/linux/lockdep.h"
 214struct lock_class_key {
 215   struct lockdep_subclass_key subkeys[8U] ;
 216};
 217#line 59 "include/linux/lockdep.h"
 218struct lock_class {
 219   struct list_head hash_entry ;
 220   struct list_head lock_entry ;
 221   struct lockdep_subclass_key *key ;
 222   unsigned int subclass ;
 223   unsigned int dep_gen_id ;
 224   unsigned long usage_mask ;
 225   struct stack_trace usage_traces[13U] ;
 226   struct list_head locks_after ;
 227   struct list_head locks_before ;
 228   unsigned int version ;
 229   unsigned long ops ;
 230   char const   *name ;
 231   int name_version ;
 232   unsigned long contention_point[4U] ;
 233   unsigned long contending_point[4U] ;
 234};
 235#line 144 "include/linux/lockdep.h"
 236struct lockdep_map {
 237   struct lock_class_key *key ;
 238   struct lock_class *class_cache[2U] ;
 239   char const   *name ;
 240   int cpu ;
 241   unsigned long ip ;
 242};
 243#line 556 "include/linux/lockdep.h"
 244struct raw_spinlock {
 245   arch_spinlock_t raw_lock ;
 246   unsigned int magic ;
 247   unsigned int owner_cpu ;
 248   void *owner ;
 249   struct lockdep_map dep_map ;
 250};
 251#line 32 "include/linux/spinlock_types.h"
 252typedef struct raw_spinlock raw_spinlock_t;
 253#line 33 "include/linux/spinlock_types.h"
 254struct __anonstruct_ldv_6122_33 {
 255   u8 __padding[24U] ;
 256   struct lockdep_map dep_map ;
 257};
 258#line 33 "include/linux/spinlock_types.h"
 259union __anonunion_ldv_6123_32 {
 260   struct raw_spinlock rlock ;
 261   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 262};
 263#line 33 "include/linux/spinlock_types.h"
 264struct spinlock {
 265   union __anonunion_ldv_6123_32 ldv_6123 ;
 266};
 267#line 76 "include/linux/spinlock_types.h"
 268typedef struct spinlock spinlock_t;
 269#line 23 "include/linux/rwlock_types.h"
 270struct __anonstruct_rwlock_t_34 {
 271   arch_rwlock_t raw_lock ;
 272   unsigned int magic ;
 273   unsigned int owner_cpu ;
 274   void *owner ;
 275   struct lockdep_map dep_map ;
 276};
 277#line 23 "include/linux/rwlock_types.h"
 278typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 279#line 110 "include/linux/seqlock.h"
 280struct seqcount {
 281   unsigned int sequence ;
 282};
 283#line 121 "include/linux/seqlock.h"
 284typedef struct seqcount seqcount_t;
 285#line 254 "include/linux/seqlock.h"
 286struct timespec {
 287   __kernel_time_t tv_sec ;
 288   long tv_nsec ;
 289};
 290#line 286 "include/linux/time.h"
 291struct kstat {
 292   u64 ino ;
 293   dev_t dev ;
 294   umode_t mode ;
 295   unsigned int nlink ;
 296   uid_t uid ;
 297   gid_t gid ;
 298   dev_t rdev ;
 299   loff_t size ;
 300   struct timespec atime ;
 301   struct timespec mtime ;
 302   struct timespec ctime ;
 303   unsigned long blksize ;
 304   unsigned long long blocks ;
 305};
 306#line 48 "include/linux/wait.h"
 307struct __wait_queue_head {
 308   spinlock_t lock ;
 309   struct list_head task_list ;
 310};
 311#line 53 "include/linux/wait.h"
 312typedef struct __wait_queue_head wait_queue_head_t;
 313#line 670 "include/linux/mmzone.h"
 314struct mutex {
 315   atomic_t count ;
 316   spinlock_t wait_lock ;
 317   struct list_head wait_list ;
 318   struct task_struct *owner ;
 319   char const   *name ;
 320   void *magic ;
 321   struct lockdep_map dep_map ;
 322};
 323#line 171 "include/linux/mutex.h"
 324struct rw_semaphore;
 325#line 171
 326struct rw_semaphore;
 327#line 172 "include/linux/mutex.h"
 328struct rw_semaphore {
 329   long count ;
 330   raw_spinlock_t wait_lock ;
 331   struct list_head wait_list ;
 332   struct lockdep_map dep_map ;
 333};
 334#line 128 "include/linux/rwsem.h"
 335struct completion {
 336   unsigned int done ;
 337   wait_queue_head_t wait ;
 338};
 339#line 312 "include/linux/jiffies.h"
 340union ktime {
 341   s64 tv64 ;
 342};
 343#line 59 "include/linux/ktime.h"
 344typedef union ktime ktime_t;
 345#line 341
 346struct tvec_base;
 347#line 341
 348struct tvec_base;
 349#line 342 "include/linux/ktime.h"
 350struct timer_list {
 351   struct list_head entry ;
 352   unsigned long expires ;
 353   struct tvec_base *base ;
 354   void (*function)(unsigned long  ) ;
 355   unsigned long data ;
 356   int slack ;
 357   int start_pid ;
 358   void *start_site ;
 359   char start_comm[16U] ;
 360   struct lockdep_map lockdep_map ;
 361};
 362#line 302 "include/linux/timer.h"
 363struct work_struct;
 364#line 302
 365struct work_struct;
 366#line 45 "include/linux/workqueue.h"
 367struct work_struct {
 368   atomic_long_t data ;
 369   struct list_head entry ;
 370   void (*func)(struct work_struct * ) ;
 371   struct lockdep_map lockdep_map ;
 372};
 373#line 46 "include/linux/pm.h"
 374struct pm_message {
 375   int event ;
 376};
 377#line 52 "include/linux/pm.h"
 378typedef struct pm_message pm_message_t;
 379#line 53 "include/linux/pm.h"
 380struct dev_pm_ops {
 381   int (*prepare)(struct device * ) ;
 382   void (*complete)(struct device * ) ;
 383   int (*suspend)(struct device * ) ;
 384   int (*resume)(struct device * ) ;
 385   int (*freeze)(struct device * ) ;
 386   int (*thaw)(struct device * ) ;
 387   int (*poweroff)(struct device * ) ;
 388   int (*restore)(struct device * ) ;
 389   int (*suspend_late)(struct device * ) ;
 390   int (*resume_early)(struct device * ) ;
 391   int (*freeze_late)(struct device * ) ;
 392   int (*thaw_early)(struct device * ) ;
 393   int (*poweroff_late)(struct device * ) ;
 394   int (*restore_early)(struct device * ) ;
 395   int (*suspend_noirq)(struct device * ) ;
 396   int (*resume_noirq)(struct device * ) ;
 397   int (*freeze_noirq)(struct device * ) ;
 398   int (*thaw_noirq)(struct device * ) ;
 399   int (*poweroff_noirq)(struct device * ) ;
 400   int (*restore_noirq)(struct device * ) ;
 401   int (*runtime_suspend)(struct device * ) ;
 402   int (*runtime_resume)(struct device * ) ;
 403   int (*runtime_idle)(struct device * ) ;
 404};
 405#line 289
 406enum rpm_status {
 407    RPM_ACTIVE = 0,
 408    RPM_RESUMING = 1,
 409    RPM_SUSPENDED = 2,
 410    RPM_SUSPENDING = 3
 411} ;
 412#line 296
 413enum rpm_request {
 414    RPM_REQ_NONE = 0,
 415    RPM_REQ_IDLE = 1,
 416    RPM_REQ_SUSPEND = 2,
 417    RPM_REQ_AUTOSUSPEND = 3,
 418    RPM_REQ_RESUME = 4
 419} ;
 420#line 304
 421struct wakeup_source;
 422#line 304
 423struct wakeup_source;
 424#line 494 "include/linux/pm.h"
 425struct pm_subsys_data {
 426   spinlock_t lock ;
 427   unsigned int refcount ;
 428};
 429#line 499
 430struct dev_pm_qos_request;
 431#line 499
 432struct pm_qos_constraints;
 433#line 499 "include/linux/pm.h"
 434struct dev_pm_info {
 435   pm_message_t power_state ;
 436   unsigned char can_wakeup : 1 ;
 437   unsigned char async_suspend : 1 ;
 438   bool is_prepared ;
 439   bool is_suspended ;
 440   bool ignore_children ;
 441   spinlock_t lock ;
 442   struct list_head entry ;
 443   struct completion completion ;
 444   struct wakeup_source *wakeup ;
 445   bool wakeup_path ;
 446   struct timer_list suspend_timer ;
 447   unsigned long timer_expires ;
 448   struct work_struct work ;
 449   wait_queue_head_t wait_queue ;
 450   atomic_t usage_count ;
 451   atomic_t child_count ;
 452   unsigned char disable_depth : 3 ;
 453   unsigned char idle_notification : 1 ;
 454   unsigned char request_pending : 1 ;
 455   unsigned char deferred_resume : 1 ;
 456   unsigned char run_wake : 1 ;
 457   unsigned char runtime_auto : 1 ;
 458   unsigned char no_callbacks : 1 ;
 459   unsigned char irq_safe : 1 ;
 460   unsigned char use_autosuspend : 1 ;
 461   unsigned char timer_autosuspends : 1 ;
 462   enum rpm_request request ;
 463   enum rpm_status runtime_status ;
 464   int runtime_error ;
 465   int autosuspend_delay ;
 466   unsigned long last_busy ;
 467   unsigned long active_jiffies ;
 468   unsigned long suspended_jiffies ;
 469   unsigned long accounting_timestamp ;
 470   ktime_t suspend_time ;
 471   s64 max_time_suspended_ns ;
 472   struct dev_pm_qos_request *pq_req ;
 473   struct pm_subsys_data *subsys_data ;
 474   struct pm_qos_constraints *constraints ;
 475};
 476#line 558 "include/linux/pm.h"
 477struct dev_pm_domain {
 478   struct dev_pm_ops ops ;
 479};
 480#line 18 "include/asm-generic/pci_iomap.h"
 481struct vm_area_struct;
 482#line 18
 483struct vm_area_struct;
 484#line 37 "include/linux/kmod.h"
 485struct cred;
 486#line 37
 487struct cred;
 488#line 18 "include/linux/elf.h"
 489typedef __u64 Elf64_Addr;
 490#line 19 "include/linux/elf.h"
 491typedef __u16 Elf64_Half;
 492#line 23 "include/linux/elf.h"
 493typedef __u32 Elf64_Word;
 494#line 24 "include/linux/elf.h"
 495typedef __u64 Elf64_Xword;
 496#line 193 "include/linux/elf.h"
 497struct elf64_sym {
 498   Elf64_Word st_name ;
 499   unsigned char st_info ;
 500   unsigned char st_other ;
 501   Elf64_Half st_shndx ;
 502   Elf64_Addr st_value ;
 503   Elf64_Xword st_size ;
 504};
 505#line 201 "include/linux/elf.h"
 506typedef struct elf64_sym Elf64_Sym;
 507#line 445
 508struct sock;
 509#line 445
 510struct sock;
 511#line 446
 512struct kobject;
 513#line 446
 514struct kobject;
 515#line 447
 516enum kobj_ns_type {
 517    KOBJ_NS_TYPE_NONE = 0,
 518    KOBJ_NS_TYPE_NET = 1,
 519    KOBJ_NS_TYPES = 2
 520} ;
 521#line 453 "include/linux/elf.h"
 522struct kobj_ns_type_operations {
 523   enum kobj_ns_type type ;
 524   void *(*grab_current_ns)(void) ;
 525   void const   *(*netlink_ns)(struct sock * ) ;
 526   void const   *(*initial_ns)(void) ;
 527   void (*drop_ns)(void * ) ;
 528};
 529#line 57 "include/linux/kobject_ns.h"
 530struct attribute {
 531   char const   *name ;
 532   umode_t mode ;
 533   struct lock_class_key *key ;
 534   struct lock_class_key skey ;
 535};
 536#line 33 "include/linux/sysfs.h"
 537struct attribute_group {
 538   char const   *name ;
 539   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 540   struct attribute **attrs ;
 541};
 542#line 62 "include/linux/sysfs.h"
 543struct bin_attribute {
 544   struct attribute attr ;
 545   size_t size ;
 546   void *private ;
 547   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 548                   loff_t  , size_t  ) ;
 549   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 550                    loff_t  , size_t  ) ;
 551   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 552};
 553#line 98 "include/linux/sysfs.h"
 554struct sysfs_ops {
 555   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 556   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 557   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 558};
 559#line 117
 560struct sysfs_dirent;
 561#line 117
 562struct sysfs_dirent;
 563#line 182 "include/linux/sysfs.h"
 564struct kref {
 565   atomic_t refcount ;
 566};
 567#line 49 "include/linux/kobject.h"
 568struct kset;
 569#line 49
 570struct kobj_type;
 571#line 49 "include/linux/kobject.h"
 572struct kobject {
 573   char const   *name ;
 574   struct list_head entry ;
 575   struct kobject *parent ;
 576   struct kset *kset ;
 577   struct kobj_type *ktype ;
 578   struct sysfs_dirent *sd ;
 579   struct kref kref ;
 580   unsigned char state_initialized : 1 ;
 581   unsigned char state_in_sysfs : 1 ;
 582   unsigned char state_add_uevent_sent : 1 ;
 583   unsigned char state_remove_uevent_sent : 1 ;
 584   unsigned char uevent_suppress : 1 ;
 585};
 586#line 107 "include/linux/kobject.h"
 587struct kobj_type {
 588   void (*release)(struct kobject * ) ;
 589   struct sysfs_ops  const  *sysfs_ops ;
 590   struct attribute **default_attrs ;
 591   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 592   void const   *(*namespace)(struct kobject * ) ;
 593};
 594#line 115 "include/linux/kobject.h"
 595struct kobj_uevent_env {
 596   char *envp[32U] ;
 597   int envp_idx ;
 598   char buf[2048U] ;
 599   int buflen ;
 600};
 601#line 122 "include/linux/kobject.h"
 602struct kset_uevent_ops {
 603   int (* const  filter)(struct kset * , struct kobject * ) ;
 604   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 605   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 606};
 607#line 139 "include/linux/kobject.h"
 608struct kset {
 609   struct list_head list ;
 610   spinlock_t list_lock ;
 611   struct kobject kobj ;
 612   struct kset_uevent_ops  const  *uevent_ops ;
 613};
 614#line 215
 615struct kernel_param;
 616#line 215
 617struct kernel_param;
 618#line 216 "include/linux/kobject.h"
 619struct kernel_param_ops {
 620   int (*set)(char const   * , struct kernel_param  const  * ) ;
 621   int (*get)(char * , struct kernel_param  const  * ) ;
 622   void (*free)(void * ) ;
 623};
 624#line 49 "include/linux/moduleparam.h"
 625struct kparam_string;
 626#line 49
 627struct kparam_array;
 628#line 49 "include/linux/moduleparam.h"
 629union __anonunion_ldv_13363_134 {
 630   void *arg ;
 631   struct kparam_string  const  *str ;
 632   struct kparam_array  const  *arr ;
 633};
 634#line 49 "include/linux/moduleparam.h"
 635struct kernel_param {
 636   char const   *name ;
 637   struct kernel_param_ops  const  *ops ;
 638   u16 perm ;
 639   s16 level ;
 640   union __anonunion_ldv_13363_134 ldv_13363 ;
 641};
 642#line 61 "include/linux/moduleparam.h"
 643struct kparam_string {
 644   unsigned int maxlen ;
 645   char *string ;
 646};
 647#line 67 "include/linux/moduleparam.h"
 648struct kparam_array {
 649   unsigned int max ;
 650   unsigned int elemsize ;
 651   unsigned int *num ;
 652   struct kernel_param_ops  const  *ops ;
 653   void *elem ;
 654};
 655#line 458 "include/linux/moduleparam.h"
 656struct static_key {
 657   atomic_t enabled ;
 658};
 659#line 225 "include/linux/jump_label.h"
 660struct tracepoint;
 661#line 225
 662struct tracepoint;
 663#line 226 "include/linux/jump_label.h"
 664struct tracepoint_func {
 665   void *func ;
 666   void *data ;
 667};
 668#line 29 "include/linux/tracepoint.h"
 669struct tracepoint {
 670   char const   *name ;
 671   struct static_key key ;
 672   void (*regfunc)(void) ;
 673   void (*unregfunc)(void) ;
 674   struct tracepoint_func *funcs ;
 675};
 676#line 86 "include/linux/tracepoint.h"
 677struct kernel_symbol {
 678   unsigned long value ;
 679   char const   *name ;
 680};
 681#line 27 "include/linux/export.h"
 682struct mod_arch_specific {
 683
 684};
 685#line 34 "include/linux/module.h"
 686struct module_param_attrs;
 687#line 34 "include/linux/module.h"
 688struct module_kobject {
 689   struct kobject kobj ;
 690   struct module *mod ;
 691   struct kobject *drivers_dir ;
 692   struct module_param_attrs *mp ;
 693};
 694#line 43 "include/linux/module.h"
 695struct module_attribute {
 696   struct attribute attr ;
 697   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 698   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 699                    size_t  ) ;
 700   void (*setup)(struct module * , char const   * ) ;
 701   int (*test)(struct module * ) ;
 702   void (*free)(struct module * ) ;
 703};
 704#line 69
 705struct exception_table_entry;
 706#line 69
 707struct exception_table_entry;
 708#line 198
 709enum module_state {
 710    MODULE_STATE_LIVE = 0,
 711    MODULE_STATE_COMING = 1,
 712    MODULE_STATE_GOING = 2
 713} ;
 714#line 204 "include/linux/module.h"
 715struct module_ref {
 716   unsigned long incs ;
 717   unsigned long decs ;
 718};
 719#line 219
 720struct module_sect_attrs;
 721#line 219
 722struct module_notes_attrs;
 723#line 219
 724struct ftrace_event_call;
 725#line 219 "include/linux/module.h"
 726struct module {
 727   enum module_state state ;
 728   struct list_head list ;
 729   char name[56U] ;
 730   struct module_kobject mkobj ;
 731   struct module_attribute *modinfo_attrs ;
 732   char const   *version ;
 733   char const   *srcversion ;
 734   struct kobject *holders_dir ;
 735   struct kernel_symbol  const  *syms ;
 736   unsigned long const   *crcs ;
 737   unsigned int num_syms ;
 738   struct kernel_param *kp ;
 739   unsigned int num_kp ;
 740   unsigned int num_gpl_syms ;
 741   struct kernel_symbol  const  *gpl_syms ;
 742   unsigned long const   *gpl_crcs ;
 743   struct kernel_symbol  const  *unused_syms ;
 744   unsigned long const   *unused_crcs ;
 745   unsigned int num_unused_syms ;
 746   unsigned int num_unused_gpl_syms ;
 747   struct kernel_symbol  const  *unused_gpl_syms ;
 748   unsigned long const   *unused_gpl_crcs ;
 749   struct kernel_symbol  const  *gpl_future_syms ;
 750   unsigned long const   *gpl_future_crcs ;
 751   unsigned int num_gpl_future_syms ;
 752   unsigned int num_exentries ;
 753   struct exception_table_entry *extable ;
 754   int (*init)(void) ;
 755   void *module_init ;
 756   void *module_core ;
 757   unsigned int init_size ;
 758   unsigned int core_size ;
 759   unsigned int init_text_size ;
 760   unsigned int core_text_size ;
 761   unsigned int init_ro_size ;
 762   unsigned int core_ro_size ;
 763   struct mod_arch_specific arch ;
 764   unsigned int taints ;
 765   unsigned int num_bugs ;
 766   struct list_head bug_list ;
 767   struct bug_entry *bug_table ;
 768   Elf64_Sym *symtab ;
 769   Elf64_Sym *core_symtab ;
 770   unsigned int num_symtab ;
 771   unsigned int core_num_syms ;
 772   char *strtab ;
 773   char *core_strtab ;
 774   struct module_sect_attrs *sect_attrs ;
 775   struct module_notes_attrs *notes_attrs ;
 776   char *args ;
 777   void *percpu ;
 778   unsigned int percpu_size ;
 779   unsigned int num_tracepoints ;
 780   struct tracepoint * const  *tracepoints_ptrs ;
 781   unsigned int num_trace_bprintk_fmt ;
 782   char const   **trace_bprintk_fmt_start ;
 783   struct ftrace_event_call **trace_events ;
 784   unsigned int num_trace_events ;
 785   struct list_head source_list ;
 786   struct list_head target_list ;
 787   struct task_struct *waiter ;
 788   void (*exit)(void) ;
 789   struct module_ref *refptr ;
 790   ctor_fn_t (**ctors)(void) ;
 791   unsigned int num_ctors ;
 792};
 793#line 88 "include/linux/kmemleak.h"
 794struct kmem_cache_cpu {
 795   void **freelist ;
 796   unsigned long tid ;
 797   struct page *page ;
 798   struct page *partial ;
 799   int node ;
 800   unsigned int stat[26U] ;
 801};
 802#line 55 "include/linux/slub_def.h"
 803struct kmem_cache_node {
 804   spinlock_t list_lock ;
 805   unsigned long nr_partial ;
 806   struct list_head partial ;
 807   atomic_long_t nr_slabs ;
 808   atomic_long_t total_objects ;
 809   struct list_head full ;
 810};
 811#line 66 "include/linux/slub_def.h"
 812struct kmem_cache_order_objects {
 813   unsigned long x ;
 814};
 815#line 76 "include/linux/slub_def.h"
 816struct kmem_cache {
 817   struct kmem_cache_cpu *cpu_slab ;
 818   unsigned long flags ;
 819   unsigned long min_partial ;
 820   int size ;
 821   int objsize ;
 822   int offset ;
 823   int cpu_partial ;
 824   struct kmem_cache_order_objects oo ;
 825   struct kmem_cache_order_objects max ;
 826   struct kmem_cache_order_objects min ;
 827   gfp_t allocflags ;
 828   int refcount ;
 829   void (*ctor)(void * ) ;
 830   int inuse ;
 831   int align ;
 832   int reserved ;
 833   char const   *name ;
 834   struct list_head list ;
 835   struct kobject kobj ;
 836   int remote_node_defrag_ratio ;
 837   struct kmem_cache_node *node[1024U] ;
 838};
 839#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
 840struct klist_node;
 841#line 15
 842struct klist_node;
 843#line 37 "include/linux/klist.h"
 844struct klist_node {
 845   void *n_klist ;
 846   struct list_head n_node ;
 847   struct kref n_ref ;
 848};
 849#line 67
 850struct dma_map_ops;
 851#line 67 "include/linux/klist.h"
 852struct dev_archdata {
 853   void *acpi_handle ;
 854   struct dma_map_ops *dma_ops ;
 855   void *iommu ;
 856};
 857#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 858struct device_private;
 859#line 17
 860struct device_private;
 861#line 18
 862struct device_driver;
 863#line 18
 864struct device_driver;
 865#line 19
 866struct driver_private;
 867#line 19
 868struct driver_private;
 869#line 20
 870struct class;
 871#line 20
 872struct class;
 873#line 21
 874struct subsys_private;
 875#line 21
 876struct subsys_private;
 877#line 22
 878struct bus_type;
 879#line 22
 880struct bus_type;
 881#line 23
 882struct device_node;
 883#line 23
 884struct device_node;
 885#line 24
 886struct iommu_ops;
 887#line 24
 888struct iommu_ops;
 889#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 890struct bus_attribute {
 891   struct attribute attr ;
 892   ssize_t (*show)(struct bus_type * , char * ) ;
 893   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 894};
 895#line 51 "include/linux/device.h"
 896struct device_attribute;
 897#line 51
 898struct driver_attribute;
 899#line 51 "include/linux/device.h"
 900struct bus_type {
 901   char const   *name ;
 902   char const   *dev_name ;
 903   struct device *dev_root ;
 904   struct bus_attribute *bus_attrs ;
 905   struct device_attribute *dev_attrs ;
 906   struct driver_attribute *drv_attrs ;
 907   int (*match)(struct device * , struct device_driver * ) ;
 908   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 909   int (*probe)(struct device * ) ;
 910   int (*remove)(struct device * ) ;
 911   void (*shutdown)(struct device * ) ;
 912   int (*suspend)(struct device * , pm_message_t  ) ;
 913   int (*resume)(struct device * ) ;
 914   struct dev_pm_ops  const  *pm ;
 915   struct iommu_ops *iommu_ops ;
 916   struct subsys_private *p ;
 917};
 918#line 125
 919struct device_type;
 920#line 182
 921struct of_device_id;
 922#line 182 "include/linux/device.h"
 923struct device_driver {
 924   char const   *name ;
 925   struct bus_type *bus ;
 926   struct module *owner ;
 927   char const   *mod_name ;
 928   bool suppress_bind_attrs ;
 929   struct of_device_id  const  *of_match_table ;
 930   int (*probe)(struct device * ) ;
 931   int (*remove)(struct device * ) ;
 932   void (*shutdown)(struct device * ) ;
 933   int (*suspend)(struct device * , pm_message_t  ) ;
 934   int (*resume)(struct device * ) ;
 935   struct attribute_group  const  **groups ;
 936   struct dev_pm_ops  const  *pm ;
 937   struct driver_private *p ;
 938};
 939#line 245 "include/linux/device.h"
 940struct driver_attribute {
 941   struct attribute attr ;
 942   ssize_t (*show)(struct device_driver * , char * ) ;
 943   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 944};
 945#line 299
 946struct class_attribute;
 947#line 299 "include/linux/device.h"
 948struct class {
 949   char const   *name ;
 950   struct module *owner ;
 951   struct class_attribute *class_attrs ;
 952   struct device_attribute *dev_attrs ;
 953   struct bin_attribute *dev_bin_attrs ;
 954   struct kobject *dev_kobj ;
 955   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 956   char *(*devnode)(struct device * , umode_t * ) ;
 957   void (*class_release)(struct class * ) ;
 958   void (*dev_release)(struct device * ) ;
 959   int (*suspend)(struct device * , pm_message_t  ) ;
 960   int (*resume)(struct device * ) ;
 961   struct kobj_ns_type_operations  const  *ns_type ;
 962   void const   *(*namespace)(struct device * ) ;
 963   struct dev_pm_ops  const  *pm ;
 964   struct subsys_private *p ;
 965};
 966#line 394 "include/linux/device.h"
 967struct class_attribute {
 968   struct attribute attr ;
 969   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 970   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 971   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
 972};
 973#line 447 "include/linux/device.h"
 974struct device_type {
 975   char const   *name ;
 976   struct attribute_group  const  **groups ;
 977   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 978   char *(*devnode)(struct device * , umode_t * ) ;
 979   void (*release)(struct device * ) ;
 980   struct dev_pm_ops  const  *pm ;
 981};
 982#line 474 "include/linux/device.h"
 983struct device_attribute {
 984   struct attribute attr ;
 985   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
 986   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
 987                    size_t  ) ;
 988};
 989#line 557 "include/linux/device.h"
 990struct device_dma_parameters {
 991   unsigned int max_segment_size ;
 992   unsigned long segment_boundary_mask ;
 993};
 994#line 567
 995struct dma_coherent_mem;
 996#line 567 "include/linux/device.h"
 997struct device {
 998   struct device *parent ;
 999   struct device_private *p ;
1000   struct kobject kobj ;
1001   char const   *init_name ;
1002   struct device_type  const  *type ;
1003   struct mutex mutex ;
1004   struct bus_type *bus ;
1005   struct device_driver *driver ;
1006   void *platform_data ;
1007   struct dev_pm_info power ;
1008   struct dev_pm_domain *pm_domain ;
1009   int numa_node ;
1010   u64 *dma_mask ;
1011   u64 coherent_dma_mask ;
1012   struct device_dma_parameters *dma_parms ;
1013   struct list_head dma_pools ;
1014   struct dma_coherent_mem *dma_mem ;
1015   struct dev_archdata archdata ;
1016   struct device_node *of_node ;
1017   dev_t devt ;
1018   u32 id ;
1019   spinlock_t devres_lock ;
1020   struct list_head devres_head ;
1021   struct klist_node knode_class ;
1022   struct class *class ;
1023   struct attribute_group  const  **groups ;
1024   void (*release)(struct device * ) ;
1025};
1026#line 681 "include/linux/device.h"
1027struct wakeup_source {
1028   char const   *name ;
1029   struct list_head entry ;
1030   spinlock_t lock ;
1031   struct timer_list timer ;
1032   unsigned long timer_expires ;
1033   ktime_t total_time ;
1034   ktime_t max_time ;
1035   ktime_t last_time ;
1036   unsigned long event_count ;
1037   unsigned long active_count ;
1038   unsigned long relax_count ;
1039   unsigned long hit_count ;
1040   unsigned char active : 1 ;
1041};
1042#line 12 "include/linux/mod_devicetable.h"
1043typedef unsigned long kernel_ulong_t;
1044#line 121 "include/linux/mod_devicetable.h"
1045struct hid_device_id {
1046   __u16 bus ;
1047   __u16 pad1 ;
1048   __u32 vendor ;
1049   __u32 product ;
1050   kernel_ulong_t driver_data ;
1051};
1052#line 215 "include/linux/mod_devicetable.h"
1053struct of_device_id {
1054   char name[32U] ;
1055   char type[32U] ;
1056   char compatible[128U] ;
1057   void *data ;
1058};
1059#line 269 "include/linux/mod_devicetable.h"
1060struct input_device_id {
1061   kernel_ulong_t flags ;
1062   __u16 bustype ;
1063   __u16 vendor ;
1064   __u16 product ;
1065   __u16 version ;
1066   kernel_ulong_t evbit[1U] ;
1067   kernel_ulong_t keybit[12U] ;
1068   kernel_ulong_t relbit[1U] ;
1069   kernel_ulong_t absbit[1U] ;
1070   kernel_ulong_t mscbit[1U] ;
1071   kernel_ulong_t ledbit[1U] ;
1072   kernel_ulong_t sndbit[1U] ;
1073   kernel_ulong_t ffbit[2U] ;
1074   kernel_ulong_t swbit[1U] ;
1075   kernel_ulong_t driver_info ;
1076};
1077#line 32 "include/linux/input.h"
1078struct input_id {
1079   __u16 bustype ;
1080   __u16 vendor ;
1081   __u16 product ;
1082   __u16 version ;
1083};
1084#line 49 "include/linux/input.h"
1085struct input_absinfo {
1086   __s32 value ;
1087   __s32 minimum ;
1088   __s32 maximum ;
1089   __s32 fuzz ;
1090   __s32 flat ;
1091   __s32 resolution ;
1092};
1093#line 77 "include/linux/input.h"
1094struct input_keymap_entry {
1095   __u8 flags ;
1096   __u8 len ;
1097   __u16 index ;
1098   __u32 keycode ;
1099   __u8 scancode[32U] ;
1100};
1101#line 101 "include/linux/input.h"
1102struct ff_replay {
1103   __u16 length ;
1104   __u16 delay ;
1105};
1106#line 961 "include/linux/input.h"
1107struct ff_trigger {
1108   __u16 button ;
1109   __u16 interval ;
1110};
1111#line 971 "include/linux/input.h"
1112struct ff_envelope {
1113   __u16 attack_length ;
1114   __u16 attack_level ;
1115   __u16 fade_length ;
1116   __u16 fade_level ;
1117};
1118#line 990 "include/linux/input.h"
1119struct ff_constant_effect {
1120   __s16 level ;
1121   struct ff_envelope envelope ;
1122};
1123#line 1000 "include/linux/input.h"
1124struct ff_ramp_effect {
1125   __s16 start_level ;
1126   __s16 end_level ;
1127   struct ff_envelope envelope ;
1128};
1129#line 1012 "include/linux/input.h"
1130struct ff_condition_effect {
1131   __u16 right_saturation ;
1132   __u16 left_saturation ;
1133   __s16 right_coeff ;
1134   __s16 left_coeff ;
1135   __u16 deadband ;
1136   __s16 center ;
1137};
1138#line 1033 "include/linux/input.h"
1139struct ff_periodic_effect {
1140   __u16 waveform ;
1141   __u16 period ;
1142   __s16 magnitude ;
1143   __s16 offset ;
1144   __u16 phase ;
1145   struct ff_envelope envelope ;
1146   __u32 custom_len ;
1147   __s16 *custom_data ;
1148};
1149#line 1064 "include/linux/input.h"
1150struct ff_rumble_effect {
1151   __u16 strong_magnitude ;
1152   __u16 weak_magnitude ;
1153};
1154#line 1077 "include/linux/input.h"
1155union __anonunion_u_136 {
1156   struct ff_constant_effect constant ;
1157   struct ff_ramp_effect ramp ;
1158   struct ff_periodic_effect periodic ;
1159   struct ff_condition_effect condition[2U] ;
1160   struct ff_rumble_effect rumble ;
1161};
1162#line 1077 "include/linux/input.h"
1163struct ff_effect {
1164   __u16 type ;
1165   __s16 id ;
1166   __u16 direction ;
1167   struct ff_trigger trigger ;
1168   struct ff_replay replay ;
1169   union __anonunion_u_136 u ;
1170};
1171#line 1119
1172struct block_device;
1173#line 1119
1174struct block_device;
1175#line 93 "include/linux/bit_spinlock.h"
1176struct hlist_bl_node;
1177#line 93 "include/linux/bit_spinlock.h"
1178struct hlist_bl_head {
1179   struct hlist_bl_node *first ;
1180};
1181#line 36 "include/linux/list_bl.h"
1182struct hlist_bl_node {
1183   struct hlist_bl_node *next ;
1184   struct hlist_bl_node **pprev ;
1185};
1186#line 114 "include/linux/rculist_bl.h"
1187struct nameidata;
1188#line 114
1189struct nameidata;
1190#line 115
1191struct path;
1192#line 115
1193struct path;
1194#line 116
1195struct vfsmount;
1196#line 116
1197struct vfsmount;
1198#line 117 "include/linux/rculist_bl.h"
1199struct qstr {
1200   unsigned int hash ;
1201   unsigned int len ;
1202   unsigned char const   *name ;
1203};
1204#line 72 "include/linux/dcache.h"
1205struct inode;
1206#line 72
1207struct dentry_operations;
1208#line 72
1209struct super_block;
1210#line 72 "include/linux/dcache.h"
1211union __anonunion_d_u_137 {
1212   struct list_head d_child ;
1213   struct rcu_head d_rcu ;
1214};
1215#line 72 "include/linux/dcache.h"
1216struct dentry {
1217   unsigned int d_flags ;
1218   seqcount_t d_seq ;
1219   struct hlist_bl_node d_hash ;
1220   struct dentry *d_parent ;
1221   struct qstr d_name ;
1222   struct inode *d_inode ;
1223   unsigned char d_iname[32U] ;
1224   unsigned int d_count ;
1225   spinlock_t d_lock ;
1226   struct dentry_operations  const  *d_op ;
1227   struct super_block *d_sb ;
1228   unsigned long d_time ;
1229   void *d_fsdata ;
1230   struct list_head d_lru ;
1231   union __anonunion_d_u_137 d_u ;
1232   struct list_head d_subdirs ;
1233   struct list_head d_alias ;
1234};
1235#line 123 "include/linux/dcache.h"
1236struct dentry_operations {
1237   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1238   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
1239   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
1240                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
1241   int (*d_delete)(struct dentry  const  * ) ;
1242   void (*d_release)(struct dentry * ) ;
1243   void (*d_prune)(struct dentry * ) ;
1244   void (*d_iput)(struct dentry * , struct inode * ) ;
1245   char *(*d_dname)(struct dentry * , char * , int  ) ;
1246   struct vfsmount *(*d_automount)(struct path * ) ;
1247   int (*d_manage)(struct dentry * , bool  ) ;
1248};
1249#line 402 "include/linux/dcache.h"
1250struct path {
1251   struct vfsmount *mnt ;
1252   struct dentry *dentry ;
1253};
1254#line 58 "include/linux/radix-tree.h"
1255struct radix_tree_node;
1256#line 58 "include/linux/radix-tree.h"
1257struct radix_tree_root {
1258   unsigned int height ;
1259   gfp_t gfp_mask ;
1260   struct radix_tree_node *rnode ;
1261};
1262#line 377
1263struct prio_tree_node;
1264#line 19 "include/linux/prio_tree.h"
1265struct prio_tree_node {
1266   struct prio_tree_node *left ;
1267   struct prio_tree_node *right ;
1268   struct prio_tree_node *parent ;
1269   unsigned long start ;
1270   unsigned long last ;
1271};
1272#line 27 "include/linux/prio_tree.h"
1273struct prio_tree_root {
1274   struct prio_tree_node *prio_tree_node ;
1275   unsigned short index_bits ;
1276   unsigned short raw ;
1277};
1278#line 111
1279enum pid_type {
1280    PIDTYPE_PID = 0,
1281    PIDTYPE_PGID = 1,
1282    PIDTYPE_SID = 2,
1283    PIDTYPE_MAX = 3
1284} ;
1285#line 118
1286struct pid_namespace;
1287#line 118 "include/linux/prio_tree.h"
1288struct upid {
1289   int nr ;
1290   struct pid_namespace *ns ;
1291   struct hlist_node pid_chain ;
1292};
1293#line 56 "include/linux/pid.h"
1294struct pid {
1295   atomic_t count ;
1296   unsigned int level ;
1297   struct hlist_head tasks[3U] ;
1298   struct rcu_head rcu ;
1299   struct upid numbers[1U] ;
1300};
1301#line 554 "include/linux/capability.h"
1302struct semaphore {
1303   raw_spinlock_t lock ;
1304   unsigned int count ;
1305   struct list_head wait_list ;
1306};
1307#line 45 "include/linux/semaphore.h"
1308struct fiemap_extent {
1309   __u64 fe_logical ;
1310   __u64 fe_physical ;
1311   __u64 fe_length ;
1312   __u64 fe_reserved64[2U] ;
1313   __u32 fe_flags ;
1314   __u32 fe_reserved[3U] ;
1315};
1316#line 38 "include/linux/fiemap.h"
1317struct shrink_control {
1318   gfp_t gfp_mask ;
1319   unsigned long nr_to_scan ;
1320};
1321#line 14 "include/linux/shrinker.h"
1322struct shrinker {
1323   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1324   int seeks ;
1325   long batch ;
1326   struct list_head list ;
1327   atomic_long_t nr_in_batch ;
1328};
1329#line 43
1330enum migrate_mode {
1331    MIGRATE_ASYNC = 0,
1332    MIGRATE_SYNC_LIGHT = 1,
1333    MIGRATE_SYNC = 2
1334} ;
1335#line 49
1336struct export_operations;
1337#line 49
1338struct export_operations;
1339#line 51
1340struct iovec;
1341#line 51
1342struct iovec;
1343#line 52
1344struct kiocb;
1345#line 52
1346struct kiocb;
1347#line 53
1348struct pipe_inode_info;
1349#line 53
1350struct pipe_inode_info;
1351#line 54
1352struct poll_table_struct;
1353#line 54
1354struct poll_table_struct;
1355#line 55
1356struct kstatfs;
1357#line 55
1358struct kstatfs;
1359#line 435 "include/linux/fs.h"
1360struct iattr {
1361   unsigned int ia_valid ;
1362   umode_t ia_mode ;
1363   uid_t ia_uid ;
1364   gid_t ia_gid ;
1365   loff_t ia_size ;
1366   struct timespec ia_atime ;
1367   struct timespec ia_mtime ;
1368   struct timespec ia_ctime ;
1369   struct file *ia_file ;
1370};
1371#line 119 "include/linux/quota.h"
1372struct if_dqinfo {
1373   __u64 dqi_bgrace ;
1374   __u64 dqi_igrace ;
1375   __u32 dqi_flags ;
1376   __u32 dqi_valid ;
1377};
1378#line 176 "include/linux/percpu_counter.h"
1379struct fs_disk_quota {
1380   __s8 d_version ;
1381   __s8 d_flags ;
1382   __u16 d_fieldmask ;
1383   __u32 d_id ;
1384   __u64 d_blk_hardlimit ;
1385   __u64 d_blk_softlimit ;
1386   __u64 d_ino_hardlimit ;
1387   __u64 d_ino_softlimit ;
1388   __u64 d_bcount ;
1389   __u64 d_icount ;
1390   __s32 d_itimer ;
1391   __s32 d_btimer ;
1392   __u16 d_iwarns ;
1393   __u16 d_bwarns ;
1394   __s32 d_padding2 ;
1395   __u64 d_rtb_hardlimit ;
1396   __u64 d_rtb_softlimit ;
1397   __u64 d_rtbcount ;
1398   __s32 d_rtbtimer ;
1399   __u16 d_rtbwarns ;
1400   __s16 d_padding3 ;
1401   char d_padding4[8U] ;
1402};
1403#line 75 "include/linux/dqblk_xfs.h"
1404struct fs_qfilestat {
1405   __u64 qfs_ino ;
1406   __u64 qfs_nblks ;
1407   __u32 qfs_nextents ;
1408};
1409#line 150 "include/linux/dqblk_xfs.h"
1410typedef struct fs_qfilestat fs_qfilestat_t;
1411#line 151 "include/linux/dqblk_xfs.h"
1412struct fs_quota_stat {
1413   __s8 qs_version ;
1414   __u16 qs_flags ;
1415   __s8 qs_pad ;
1416   fs_qfilestat_t qs_uquota ;
1417   fs_qfilestat_t qs_gquota ;
1418   __u32 qs_incoredqs ;
1419   __s32 qs_btimelimit ;
1420   __s32 qs_itimelimit ;
1421   __s32 qs_rtbtimelimit ;
1422   __u16 qs_bwarnlimit ;
1423   __u16 qs_iwarnlimit ;
1424};
1425#line 165
1426struct dquot;
1427#line 165
1428struct dquot;
1429#line 185 "include/linux/quota.h"
1430typedef __kernel_uid32_t qid_t;
1431#line 186 "include/linux/quota.h"
1432typedef long long qsize_t;
1433#line 189 "include/linux/quota.h"
1434struct mem_dqblk {
1435   qsize_t dqb_bhardlimit ;
1436   qsize_t dqb_bsoftlimit ;
1437   qsize_t dqb_curspace ;
1438   qsize_t dqb_rsvspace ;
1439   qsize_t dqb_ihardlimit ;
1440   qsize_t dqb_isoftlimit ;
1441   qsize_t dqb_curinodes ;
1442   time_t dqb_btime ;
1443   time_t dqb_itime ;
1444};
1445#line 211
1446struct quota_format_type;
1447#line 211
1448struct quota_format_type;
1449#line 212 "include/linux/quota.h"
1450struct mem_dqinfo {
1451   struct quota_format_type *dqi_format ;
1452   int dqi_fmt_id ;
1453   struct list_head dqi_dirty_list ;
1454   unsigned long dqi_flags ;
1455   unsigned int dqi_bgrace ;
1456   unsigned int dqi_igrace ;
1457   qsize_t dqi_maxblimit ;
1458   qsize_t dqi_maxilimit ;
1459   void *dqi_priv ;
1460};
1461#line 275 "include/linux/quota.h"
1462struct dquot {
1463   struct hlist_node dq_hash ;
1464   struct list_head dq_inuse ;
1465   struct list_head dq_free ;
1466   struct list_head dq_dirty ;
1467   struct mutex dq_lock ;
1468   atomic_t dq_count ;
1469   wait_queue_head_t dq_wait_unused ;
1470   struct super_block *dq_sb ;
1471   unsigned int dq_id ;
1472   loff_t dq_off ;
1473   unsigned long dq_flags ;
1474   short dq_type ;
1475   struct mem_dqblk dq_dqb ;
1476};
1477#line 303 "include/linux/quota.h"
1478struct quota_format_ops {
1479   int (*check_quota_file)(struct super_block * , int  ) ;
1480   int (*read_file_info)(struct super_block * , int  ) ;
1481   int (*write_file_info)(struct super_block * , int  ) ;
1482   int (*free_file_info)(struct super_block * , int  ) ;
1483   int (*read_dqblk)(struct dquot * ) ;
1484   int (*commit_dqblk)(struct dquot * ) ;
1485   int (*release_dqblk)(struct dquot * ) ;
1486};
1487#line 314 "include/linux/quota.h"
1488struct dquot_operations {
1489   int (*write_dquot)(struct dquot * ) ;
1490   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1491   void (*destroy_dquot)(struct dquot * ) ;
1492   int (*acquire_dquot)(struct dquot * ) ;
1493   int (*release_dquot)(struct dquot * ) ;
1494   int (*mark_dirty)(struct dquot * ) ;
1495   int (*write_info)(struct super_block * , int  ) ;
1496   qsize_t *(*get_reserved_space)(struct inode * ) ;
1497};
1498#line 328 "include/linux/quota.h"
1499struct quotactl_ops {
1500   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1501   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1502   int (*quota_off)(struct super_block * , int  ) ;
1503   int (*quota_sync)(struct super_block * , int  , int  ) ;
1504   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1505   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1506   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1507   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1508   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1509   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1510};
1511#line 344 "include/linux/quota.h"
1512struct quota_format_type {
1513   int qf_fmt_id ;
1514   struct quota_format_ops  const  *qf_ops ;
1515   struct module *qf_owner ;
1516   struct quota_format_type *qf_next ;
1517};
1518#line 390 "include/linux/quota.h"
1519struct quota_info {
1520   unsigned int flags ;
1521   struct mutex dqio_mutex ;
1522   struct mutex dqonoff_mutex ;
1523   struct rw_semaphore dqptr_sem ;
1524   struct inode *files[2U] ;
1525   struct mem_dqinfo info[2U] ;
1526   struct quota_format_ops  const  *ops[2U] ;
1527};
1528#line 421
1529struct address_space;
1530#line 421
1531struct address_space;
1532#line 422
1533struct writeback_control;
1534#line 422
1535struct writeback_control;
1536#line 585 "include/linux/fs.h"
1537union __anonunion_arg_140 {
1538   char *buf ;
1539   void *data ;
1540};
1541#line 585 "include/linux/fs.h"
1542struct __anonstruct_read_descriptor_t_139 {
1543   size_t written ;
1544   size_t count ;
1545   union __anonunion_arg_140 arg ;
1546   int error ;
1547};
1548#line 585 "include/linux/fs.h"
1549typedef struct __anonstruct_read_descriptor_t_139 read_descriptor_t;
1550#line 588 "include/linux/fs.h"
1551struct address_space_operations {
1552   int (*writepage)(struct page * , struct writeback_control * ) ;
1553   int (*readpage)(struct file * , struct page * ) ;
1554   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1555   int (*set_page_dirty)(struct page * ) ;
1556   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1557                    unsigned int  ) ;
1558   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1559                      unsigned int  , struct page ** , void ** ) ;
1560   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
1561                    unsigned int  , struct page * , void * ) ;
1562   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1563   void (*invalidatepage)(struct page * , unsigned long  ) ;
1564   int (*releasepage)(struct page * , gfp_t  ) ;
1565   void (*freepage)(struct page * ) ;
1566   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
1567                        unsigned long  ) ;
1568   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1569   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1570   int (*launder_page)(struct page * ) ;
1571   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1572   int (*error_remove_page)(struct address_space * , struct page * ) ;
1573};
1574#line 642
1575struct backing_dev_info;
1576#line 642
1577struct backing_dev_info;
1578#line 643 "include/linux/fs.h"
1579struct address_space {
1580   struct inode *host ;
1581   struct radix_tree_root page_tree ;
1582   spinlock_t tree_lock ;
1583   unsigned int i_mmap_writable ;
1584   struct prio_tree_root i_mmap ;
1585   struct list_head i_mmap_nonlinear ;
1586   struct mutex i_mmap_mutex ;
1587   unsigned long nrpages ;
1588   unsigned long writeback_index ;
1589   struct address_space_operations  const  *a_ops ;
1590   unsigned long flags ;
1591   struct backing_dev_info *backing_dev_info ;
1592   spinlock_t private_lock ;
1593   struct list_head private_list ;
1594   struct address_space *assoc_mapping ;
1595};
1596#line 664
1597struct request_queue;
1598#line 664
1599struct request_queue;
1600#line 665
1601struct hd_struct;
1602#line 665
1603struct gendisk;
1604#line 665 "include/linux/fs.h"
1605struct block_device {
1606   dev_t bd_dev ;
1607   int bd_openers ;
1608   struct inode *bd_inode ;
1609   struct super_block *bd_super ;
1610   struct mutex bd_mutex ;
1611   struct list_head bd_inodes ;
1612   void *bd_claiming ;
1613   void *bd_holder ;
1614   int bd_holders ;
1615   bool bd_write_holder ;
1616   struct list_head bd_holder_disks ;
1617   struct block_device *bd_contains ;
1618   unsigned int bd_block_size ;
1619   struct hd_struct *bd_part ;
1620   unsigned int bd_part_count ;
1621   int bd_invalidated ;
1622   struct gendisk *bd_disk ;
1623   struct request_queue *bd_queue ;
1624   struct list_head bd_list ;
1625   unsigned long bd_private ;
1626   int bd_fsfreeze_count ;
1627   struct mutex bd_fsfreeze_mutex ;
1628};
1629#line 737
1630struct posix_acl;
1631#line 737
1632struct posix_acl;
1633#line 738
1634struct inode_operations;
1635#line 738 "include/linux/fs.h"
1636union __anonunion_ldv_16775_141 {
1637   unsigned int const   i_nlink ;
1638   unsigned int __i_nlink ;
1639};
1640#line 738 "include/linux/fs.h"
1641union __anonunion_ldv_16794_142 {
1642   struct list_head i_dentry ;
1643   struct rcu_head i_rcu ;
1644};
1645#line 738
1646struct file_operations;
1647#line 738
1648struct file_lock;
1649#line 738
1650struct cdev;
1651#line 738 "include/linux/fs.h"
1652union __anonunion_ldv_16812_143 {
1653   struct pipe_inode_info *i_pipe ;
1654   struct block_device *i_bdev ;
1655   struct cdev *i_cdev ;
1656};
1657#line 738 "include/linux/fs.h"
1658struct inode {
1659   umode_t i_mode ;
1660   unsigned short i_opflags ;
1661   uid_t i_uid ;
1662   gid_t i_gid ;
1663   unsigned int i_flags ;
1664   struct posix_acl *i_acl ;
1665   struct posix_acl *i_default_acl ;
1666   struct inode_operations  const  *i_op ;
1667   struct super_block *i_sb ;
1668   struct address_space *i_mapping ;
1669   void *i_security ;
1670   unsigned long i_ino ;
1671   union __anonunion_ldv_16775_141 ldv_16775 ;
1672   dev_t i_rdev ;
1673   struct timespec i_atime ;
1674   struct timespec i_mtime ;
1675   struct timespec i_ctime ;
1676   spinlock_t i_lock ;
1677   unsigned short i_bytes ;
1678   blkcnt_t i_blocks ;
1679   loff_t i_size ;
1680   unsigned long i_state ;
1681   struct mutex i_mutex ;
1682   unsigned long dirtied_when ;
1683   struct hlist_node i_hash ;
1684   struct list_head i_wb_list ;
1685   struct list_head i_lru ;
1686   struct list_head i_sb_list ;
1687   union __anonunion_ldv_16794_142 ldv_16794 ;
1688   atomic_t i_count ;
1689   unsigned int i_blkbits ;
1690   u64 i_version ;
1691   atomic_t i_dio_count ;
1692   atomic_t i_writecount ;
1693   struct file_operations  const  *i_fop ;
1694   struct file_lock *i_flock ;
1695   struct address_space i_data ;
1696   struct dquot *i_dquot[2U] ;
1697   struct list_head i_devices ;
1698   union __anonunion_ldv_16812_143 ldv_16812 ;
1699   __u32 i_generation ;
1700   __u32 i_fsnotify_mask ;
1701   struct hlist_head i_fsnotify_marks ;
1702   atomic_t i_readcount ;
1703   void *i_private ;
1704};
1705#line 941 "include/linux/fs.h"
1706struct fown_struct {
1707   rwlock_t lock ;
1708   struct pid *pid ;
1709   enum pid_type pid_type ;
1710   uid_t uid ;
1711   uid_t euid ;
1712   int signum ;
1713};
1714#line 949 "include/linux/fs.h"
1715struct file_ra_state {
1716   unsigned long start ;
1717   unsigned int size ;
1718   unsigned int async_size ;
1719   unsigned int ra_pages ;
1720   unsigned int mmap_miss ;
1721   loff_t prev_pos ;
1722};
1723#line 972 "include/linux/fs.h"
1724union __anonunion_f_u_144 {
1725   struct list_head fu_list ;
1726   struct rcu_head fu_rcuhead ;
1727};
1728#line 972 "include/linux/fs.h"
1729struct file {
1730   union __anonunion_f_u_144 f_u ;
1731   struct path f_path ;
1732   struct file_operations  const  *f_op ;
1733   spinlock_t f_lock ;
1734   int f_sb_list_cpu ;
1735   atomic_long_t f_count ;
1736   unsigned int f_flags ;
1737   fmode_t f_mode ;
1738   loff_t f_pos ;
1739   struct fown_struct f_owner ;
1740   struct cred  const  *f_cred ;
1741   struct file_ra_state f_ra ;
1742   u64 f_version ;
1743   void *f_security ;
1744   void *private_data ;
1745   struct list_head f_ep_links ;
1746   struct list_head f_tfile_llink ;
1747   struct address_space *f_mapping ;
1748   unsigned long f_mnt_write_state ;
1749};
1750#line 1111
1751struct files_struct;
1752#line 1111 "include/linux/fs.h"
1753typedef struct files_struct *fl_owner_t;
1754#line 1112 "include/linux/fs.h"
1755struct file_lock_operations {
1756   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1757   void (*fl_release_private)(struct file_lock * ) ;
1758};
1759#line 1117 "include/linux/fs.h"
1760struct lock_manager_operations {
1761   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1762   void (*lm_notify)(struct file_lock * ) ;
1763   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1764   void (*lm_release_private)(struct file_lock * ) ;
1765   void (*lm_break)(struct file_lock * ) ;
1766   int (*lm_change)(struct file_lock ** , int  ) ;
1767};
1768#line 1134
1769struct nlm_lockowner;
1770#line 1134
1771struct nlm_lockowner;
1772#line 1135 "include/linux/fs.h"
1773struct nfs_lock_info {
1774   u32 state ;
1775   struct nlm_lockowner *owner ;
1776   struct list_head list ;
1777};
1778#line 14 "include/linux/nfs_fs_i.h"
1779struct nfs4_lock_state;
1780#line 14
1781struct nfs4_lock_state;
1782#line 15 "include/linux/nfs_fs_i.h"
1783struct nfs4_lock_info {
1784   struct nfs4_lock_state *owner ;
1785};
1786#line 19
1787struct fasync_struct;
1788#line 19 "include/linux/nfs_fs_i.h"
1789struct __anonstruct_afs_146 {
1790   struct list_head link ;
1791   int state ;
1792};
1793#line 19 "include/linux/nfs_fs_i.h"
1794union __anonunion_fl_u_145 {
1795   struct nfs_lock_info nfs_fl ;
1796   struct nfs4_lock_info nfs4_fl ;
1797   struct __anonstruct_afs_146 afs ;
1798};
1799#line 19 "include/linux/nfs_fs_i.h"
1800struct file_lock {
1801   struct file_lock *fl_next ;
1802   struct list_head fl_link ;
1803   struct list_head fl_block ;
1804   fl_owner_t fl_owner ;
1805   unsigned int fl_flags ;
1806   unsigned char fl_type ;
1807   unsigned int fl_pid ;
1808   struct pid *fl_nspid ;
1809   wait_queue_head_t fl_wait ;
1810   struct file *fl_file ;
1811   loff_t fl_start ;
1812   loff_t fl_end ;
1813   struct fasync_struct *fl_fasync ;
1814   unsigned long fl_break_time ;
1815   unsigned long fl_downgrade_time ;
1816   struct file_lock_operations  const  *fl_ops ;
1817   struct lock_manager_operations  const  *fl_lmops ;
1818   union __anonunion_fl_u_145 fl_u ;
1819};
1820#line 1221 "include/linux/fs.h"
1821struct fasync_struct {
1822   spinlock_t fa_lock ;
1823   int magic ;
1824   int fa_fd ;
1825   struct fasync_struct *fa_next ;
1826   struct file *fa_file ;
1827   struct rcu_head fa_rcu ;
1828};
1829#line 1417
1830struct file_system_type;
1831#line 1417
1832struct super_operations;
1833#line 1417
1834struct xattr_handler;
1835#line 1417
1836struct mtd_info;
1837#line 1417 "include/linux/fs.h"
1838struct super_block {
1839   struct list_head s_list ;
1840   dev_t s_dev ;
1841   unsigned char s_dirt ;
1842   unsigned char s_blocksize_bits ;
1843   unsigned long s_blocksize ;
1844   loff_t s_maxbytes ;
1845   struct file_system_type *s_type ;
1846   struct super_operations  const  *s_op ;
1847   struct dquot_operations  const  *dq_op ;
1848   struct quotactl_ops  const  *s_qcop ;
1849   struct export_operations  const  *s_export_op ;
1850   unsigned long s_flags ;
1851   unsigned long s_magic ;
1852   struct dentry *s_root ;
1853   struct rw_semaphore s_umount ;
1854   struct mutex s_lock ;
1855   int s_count ;
1856   atomic_t s_active ;
1857   void *s_security ;
1858   struct xattr_handler  const  **s_xattr ;
1859   struct list_head s_inodes ;
1860   struct hlist_bl_head s_anon ;
1861   struct list_head *s_files ;
1862   struct list_head s_mounts ;
1863   struct list_head s_dentry_lru ;
1864   int s_nr_dentry_unused ;
1865   spinlock_t s_inode_lru_lock ;
1866   struct list_head s_inode_lru ;
1867   int s_nr_inodes_unused ;
1868   struct block_device *s_bdev ;
1869   struct backing_dev_info *s_bdi ;
1870   struct mtd_info *s_mtd ;
1871   struct hlist_node s_instances ;
1872   struct quota_info s_dquot ;
1873   int s_frozen ;
1874   wait_queue_head_t s_wait_unfrozen ;
1875   char s_id[32U] ;
1876   u8 s_uuid[16U] ;
1877   void *s_fs_info ;
1878   unsigned int s_max_links ;
1879   fmode_t s_mode ;
1880   u32 s_time_gran ;
1881   struct mutex s_vfs_rename_mutex ;
1882   char *s_subtype ;
1883   char *s_options ;
1884   struct dentry_operations  const  *s_d_op ;
1885   int cleancache_poolid ;
1886   struct shrinker s_shrink ;
1887   atomic_long_t s_remove_count ;
1888   int s_readonly_remount ;
1889};
1890#line 1563 "include/linux/fs.h"
1891struct fiemap_extent_info {
1892   unsigned int fi_flags ;
1893   unsigned int fi_extents_mapped ;
1894   unsigned int fi_extents_max ;
1895   struct fiemap_extent *fi_extents_start ;
1896};
1897#line 1602 "include/linux/fs.h"
1898struct file_operations {
1899   struct module *owner ;
1900   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1901   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1902   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1903   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1904                       loff_t  ) ;
1905   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1906                        loff_t  ) ;
1907   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1908                                                   loff_t  , u64  , unsigned int  ) ) ;
1909   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1910   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1911   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1912   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1913   int (*open)(struct inode * , struct file * ) ;
1914   int (*flush)(struct file * , fl_owner_t  ) ;
1915   int (*release)(struct inode * , struct file * ) ;
1916   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
1917   int (*aio_fsync)(struct kiocb * , int  ) ;
1918   int (*fasync)(int  , struct file * , int  ) ;
1919   int (*lock)(struct file * , int  , struct file_lock * ) ;
1920   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1921                       int  ) ;
1922   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1923                                      unsigned long  , unsigned long  ) ;
1924   int (*check_flags)(int  ) ;
1925   int (*flock)(struct file * , int  , struct file_lock * ) ;
1926   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1927                           unsigned int  ) ;
1928   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1929                          unsigned int  ) ;
1930   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1931   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
1932};
1933#line 1637 "include/linux/fs.h"
1934struct inode_operations {
1935   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1936   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1937   int (*permission)(struct inode * , int  ) ;
1938   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1939   int (*readlink)(struct dentry * , char * , int  ) ;
1940   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1941   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1942   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1943   int (*unlink)(struct inode * , struct dentry * ) ;
1944   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1945   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1946   int (*rmdir)(struct inode * , struct dentry * ) ;
1947   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1948   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1949   void (*truncate)(struct inode * ) ;
1950   int (*setattr)(struct dentry * , struct iattr * ) ;
1951   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1952   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1953   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1954   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1955   int (*removexattr)(struct dentry * , char const   * ) ;
1956   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1957   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
1958};
1959#line 1682 "include/linux/fs.h"
1960struct super_operations {
1961   struct inode *(*alloc_inode)(struct super_block * ) ;
1962   void (*destroy_inode)(struct inode * ) ;
1963   void (*dirty_inode)(struct inode * , int  ) ;
1964   int (*write_inode)(struct inode * , struct writeback_control * ) ;
1965   int (*drop_inode)(struct inode * ) ;
1966   void (*evict_inode)(struct inode * ) ;
1967   void (*put_super)(struct super_block * ) ;
1968   void (*write_super)(struct super_block * ) ;
1969   int (*sync_fs)(struct super_block * , int  ) ;
1970   int (*freeze_fs)(struct super_block * ) ;
1971   int (*unfreeze_fs)(struct super_block * ) ;
1972   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1973   int (*remount_fs)(struct super_block * , int * , char * ) ;
1974   void (*umount_begin)(struct super_block * ) ;
1975   int (*show_options)(struct seq_file * , struct dentry * ) ;
1976   int (*show_devname)(struct seq_file * , struct dentry * ) ;
1977   int (*show_path)(struct seq_file * , struct dentry * ) ;
1978   int (*show_stats)(struct seq_file * , struct dentry * ) ;
1979   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
1980   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
1981                          loff_t  ) ;
1982   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
1983   int (*nr_cached_objects)(struct super_block * ) ;
1984   void (*free_cached_objects)(struct super_block * , int  ) ;
1985};
1986#line 1834 "include/linux/fs.h"
1987struct file_system_type {
1988   char const   *name ;
1989   int fs_flags ;
1990   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
1991   void (*kill_sb)(struct super_block * ) ;
1992   struct module *owner ;
1993   struct file_system_type *next ;
1994   struct hlist_head fs_supers ;
1995   struct lock_class_key s_lock_key ;
1996   struct lock_class_key s_umount_key ;
1997   struct lock_class_key s_vfs_rename_key ;
1998   struct lock_class_key i_lock_key ;
1999   struct lock_class_key i_mutex_key ;
2000   struct lock_class_key i_mutex_dir_key ;
2001};
2002#line 2674
2003struct ff_device;
2004#line 2674
2005struct input_mt_slot;
2006#line 2674
2007struct input_handle;
2008#line 2674 "include/linux/fs.h"
2009struct input_dev {
2010   char const   *name ;
2011   char const   *phys ;
2012   char const   *uniq ;
2013   struct input_id id ;
2014   unsigned long propbit[1U] ;
2015   unsigned long evbit[1U] ;
2016   unsigned long keybit[12U] ;
2017   unsigned long relbit[1U] ;
2018   unsigned long absbit[1U] ;
2019   unsigned long mscbit[1U] ;
2020   unsigned long ledbit[1U] ;
2021   unsigned long sndbit[1U] ;
2022   unsigned long ffbit[2U] ;
2023   unsigned long swbit[1U] ;
2024   unsigned int hint_events_per_packet ;
2025   unsigned int keycodemax ;
2026   unsigned int keycodesize ;
2027   void *keycode ;
2028   int (*setkeycode)(struct input_dev * , struct input_keymap_entry  const  * , unsigned int * ) ;
2029   int (*getkeycode)(struct input_dev * , struct input_keymap_entry * ) ;
2030   struct ff_device *ff ;
2031   unsigned int repeat_key ;
2032   struct timer_list timer ;
2033   int rep[2U] ;
2034   struct input_mt_slot *mt ;
2035   int mtsize ;
2036   int slot ;
2037   int trkid ;
2038   struct input_absinfo *absinfo ;
2039   unsigned long key[12U] ;
2040   unsigned long led[1U] ;
2041   unsigned long snd[1U] ;
2042   unsigned long sw[1U] ;
2043   int (*open)(struct input_dev * ) ;
2044   void (*close)(struct input_dev * ) ;
2045   int (*flush)(struct input_dev * , struct file * ) ;
2046   int (*event)(struct input_dev * , unsigned int  , unsigned int  , int  ) ;
2047   struct input_handle *grab ;
2048   spinlock_t event_lock ;
2049   struct mutex mutex ;
2050   unsigned int users ;
2051   bool going_away ;
2052   bool sync ;
2053   struct device dev ;
2054   struct list_head h_list ;
2055   struct list_head node ;
2056};
2057#line 1319 "include/linux/input.h"
2058struct input_handler {
2059   void *private ;
2060   void (*event)(struct input_handle * , unsigned int  , unsigned int  , int  ) ;
2061   bool (*filter)(struct input_handle * , unsigned int  , unsigned int  , int  ) ;
2062   bool (*match)(struct input_handler * , struct input_dev * ) ;
2063   int (*connect)(struct input_handler * , struct input_dev * , struct input_device_id  const  * ) ;
2064   void (*disconnect)(struct input_handle * ) ;
2065   void (*start)(struct input_handle * ) ;
2066   struct file_operations  const  *fops ;
2067   int minor ;
2068   char const   *name ;
2069   struct input_device_id  const  *id_table ;
2070   struct list_head h_list ;
2071   struct list_head node ;
2072};
2073#line 1429 "include/linux/input.h"
2074struct input_handle {
2075   void *private ;
2076   int open ;
2077   char const   *name ;
2078   struct input_dev *dev ;
2079   struct input_handler *handler ;
2080   struct list_head d_node ;
2081   struct list_head h_node ;
2082};
2083#line 1591 "include/linux/input.h"
2084struct ff_device {
2085   int (*upload)(struct input_dev * , struct ff_effect * , struct ff_effect * ) ;
2086   int (*erase)(struct input_dev * , int  ) ;
2087   int (*playback)(struct input_dev * , int  , int  ) ;
2088   void (*set_gain)(struct input_dev * , u16  ) ;
2089   void (*set_autocenter)(struct input_dev * , u16  ) ;
2090   void (*destroy)(struct ff_device * ) ;
2091   void *private ;
2092   unsigned long ffbit[2U] ;
2093   struct mutex mutex ;
2094   int max_effects ;
2095   struct ff_effect *effects ;
2096   struct file *effect_owners[0U] ;
2097};
2098#line 361 "include/linux/hid.h"
2099struct hid_collection {
2100   unsigned int type ;
2101   unsigned int usage ;
2102   unsigned int level ;
2103};
2104#line 372 "include/linux/hid.h"
2105struct hid_usage {
2106   unsigned int hid ;
2107   unsigned int collection_index ;
2108   __u16 code ;
2109   __u8 type ;
2110   __s8 hat_min ;
2111   __s8 hat_max ;
2112   __s8 hat_dir ;
2113};
2114#line 383
2115struct hid_input;
2116#line 383
2117struct hid_input;
2118#line 384
2119struct hid_report;
2120#line 384 "include/linux/hid.h"
2121struct hid_field {
2122   unsigned int physical ;
2123   unsigned int logical ;
2124   unsigned int application ;
2125   struct hid_usage *usage ;
2126   unsigned int maxusage ;
2127   unsigned int flags ;
2128   unsigned int report_offset ;
2129   unsigned int report_size ;
2130   unsigned int report_count ;
2131   unsigned int report_type ;
2132   __s32 *value ;
2133   __s32 logical_minimum ;
2134   __s32 logical_maximum ;
2135   __s32 physical_minimum ;
2136   __s32 physical_maximum ;
2137   __s32 unit_exponent ;
2138   unsigned int unit ;
2139   struct hid_report *report ;
2140   unsigned int index ;
2141   struct hid_input *hidinput ;
2142   __u16 dpad ;
2143};
2144#line 410
2145struct hid_device;
2146#line 410 "include/linux/hid.h"
2147struct hid_report {
2148   struct list_head list ;
2149   unsigned int id ;
2150   unsigned int type ;
2151   struct hid_field *field[128U] ;
2152   unsigned int maxfield ;
2153   unsigned int size ;
2154   struct hid_device *device ;
2155};
2156#line 422 "include/linux/hid.h"
2157struct hid_report_enum {
2158   unsigned int numbered ;
2159   struct list_head report_list ;
2160   struct hid_report *report_id_hash[256U] ;
2161};
2162#line 446 "include/linux/hid.h"
2163struct hid_input {
2164   struct list_head list ;
2165   struct hid_report *report ;
2166   struct input_dev *input ;
2167};
2168#line 459
2169enum hid_type {
2170    HID_TYPE_OTHER = 0,
2171    HID_TYPE_USBMOUSE = 1,
2172    HID_TYPE_USBNONE = 2
2173} ;
2174#line 465
2175struct hid_driver;
2176#line 465
2177struct hid_driver;
2178#line 466
2179struct hid_ll_driver;
2180#line 466
2181struct hid_ll_driver;
2182#line 467 "include/linux/hid.h"
2183struct hid_device {
2184   __u8 *rdesc ;
2185   unsigned int rsize ;
2186   struct hid_collection *collection ;
2187   unsigned int collection_size ;
2188   unsigned int maxcollection ;
2189   unsigned int maxapplication ;
2190   __u16 bus ;
2191   __u32 vendor ;
2192   __u32 product ;
2193   __u32 version ;
2194   enum hid_type type ;
2195   unsigned int country ;
2196   struct hid_report_enum report_enum[3U] ;
2197   struct semaphore driver_lock ;
2198   struct device dev ;
2199   struct hid_driver *driver ;
2200   struct hid_ll_driver *ll_driver ;
2201   unsigned int status ;
2202   unsigned int claimed ;
2203   unsigned int quirks ;
2204   struct list_head inputs ;
2205   void *hiddev ;
2206   void *hidraw ;
2207   int minor ;
2208   int open ;
2209   char name[128U] ;
2210   char phys[64U] ;
2211   char uniq[64U] ;
2212   void *driver_data ;
2213   int (*ff_init)(struct hid_device * ) ;
2214   int (*hiddev_connect)(struct hid_device * , unsigned int  ) ;
2215   void (*hiddev_disconnect)(struct hid_device * ) ;
2216   void (*hiddev_hid_event)(struct hid_device * , struct hid_field * , struct hid_usage * ,
2217                            __s32  ) ;
2218   void (*hiddev_report_event)(struct hid_device * , struct hid_report * ) ;
2219   int (*hid_get_raw_report)(struct hid_device * , unsigned char  , __u8 * , size_t  ,
2220                             unsigned char  ) ;
2221   int (*hid_output_raw_report)(struct hid_device * , __u8 * , size_t  , unsigned char  ) ;
2222   unsigned short debug ;
2223   struct dentry *debug_dir ;
2224   struct dentry *debug_rdesc ;
2225   struct dentry *debug_events ;
2226   struct list_head debug_list ;
2227   wait_queue_head_t debug_wait ;
2228};
2229#line 580 "include/linux/hid.h"
2230struct hid_report_id {
2231   __u32 report_type ;
2232};
2233#line 598 "include/linux/hid.h"
2234struct hid_usage_id {
2235   __u32 usage_hid ;
2236   __u32 usage_type ;
2237   __u32 usage_code ;
2238};
2239#line 603 "include/linux/hid.h"
2240struct hid_driver {
2241   char *name ;
2242   struct hid_device_id  const  *id_table ;
2243   struct list_head dyn_list ;
2244   spinlock_t dyn_lock ;
2245   int (*probe)(struct hid_device * , struct hid_device_id  const  * ) ;
2246   void (*remove)(struct hid_device * ) ;
2247   struct hid_report_id  const  *report_table ;
2248   int (*raw_event)(struct hid_device * , struct hid_report * , u8 * , int  ) ;
2249   struct hid_usage_id  const  *usage_table ;
2250   int (*event)(struct hid_device * , struct hid_field * , struct hid_usage * , __s32  ) ;
2251   __u8 *(*report_fixup)(struct hid_device * , __u8 * , unsigned int * ) ;
2252   int (*input_mapping)(struct hid_device * , struct hid_input * , struct hid_field * ,
2253                        struct hid_usage * , unsigned long ** , int * ) ;
2254   int (*input_mapped)(struct hid_device * , struct hid_input * , struct hid_field * ,
2255                       struct hid_usage * , unsigned long ** , int * ) ;
2256   void (*feature_mapping)(struct hid_device * , struct hid_field * , struct hid_usage * ) ;
2257   int (*suspend)(struct hid_device * , pm_message_t  ) ;
2258   int (*resume)(struct hid_device * ) ;
2259   int (*reset_resume)(struct hid_device * ) ;
2260   struct device_driver driver ;
2261};
2262#line 675 "include/linux/hid.h"
2263struct hid_ll_driver {
2264   int (*start)(struct hid_device * ) ;
2265   void (*stop)(struct hid_device * ) ;
2266   int (*open)(struct hid_device * ) ;
2267   void (*close)(struct hid_device * ) ;
2268   int (*power)(struct hid_device * , int  ) ;
2269   int (*hidinput_input_event)(struct input_dev * , unsigned int  , unsigned int  ,
2270                               int  ) ;
2271   int (*parse)(struct hid_device * ) ;
2272};
2273#line 913 "include/linux/hid.h"
2274struct zc_device {
2275   struct input_dev *input_ep81 ;
2276   unsigned short last_key[4U] ;
2277};
2278#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
2279void ldv_spin_lock(void) ;
2280#line 3
2281void ldv_spin_unlock(void) ;
2282#line 4
2283int ldv_spin_trylock(void) ;
2284#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2285__inline static void clear_bit(int nr , unsigned long volatile   *addr ) 
2286{ long volatile   *__cil_tmp3 ;
2287
2288  {
2289#line 105
2290  __cil_tmp3 = (long volatile   *)addr;
2291#line 105
2292  __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));
2293#line 107
2294  return;
2295}
2296}
2297#line 101 "include/linux/printk.h"
2298extern int printk(char const   *  , ...) ;
2299#line 26 "include/linux/export.h"
2300extern struct module __this_module ;
2301#line 161 "include/linux/slab.h"
2302extern void kfree(void const   * ) ;
2303#line 220 "include/linux/slub_def.h"
2304extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
2305#line 223
2306void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2307#line 353 "include/linux/slab.h"
2308__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2309#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
2310extern void *__VERIFIER_nondet_pointer(void) ;
2311#line 11
2312void ldv_check_alloc_flags(gfp_t flags ) ;
2313#line 12
2314void ldv_check_alloc_nonatomic(void) ;
2315#line 14
2316struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2317#line 792 "include/linux/device.h"
2318extern void *dev_get_drvdata(struct device  const  * ) ;
2319#line 793
2320extern int dev_set_drvdata(struct device * , void * ) ;
2321#line 892
2322extern int dev_err(struct device  const  * , char const   *  , ...) ;
2323#line 898
2324extern int _dev_info(struct device  const  * , char const   *  , ...) ;
2325#line 1502 "include/linux/input.h"
2326extern void input_event(struct input_dev * , unsigned int  , unsigned int  , int  ) ;
2327#line 543 "include/linux/hid.h"
2328__inline static void *hid_get_drvdata(struct hid_device *hdev ) 
2329{ void *tmp ;
2330  unsigned long __cil_tmp3 ;
2331  unsigned long __cil_tmp4 ;
2332  struct device *__cil_tmp5 ;
2333  struct device  const  *__cil_tmp6 ;
2334
2335  {
2336  {
2337#line 545
2338  __cil_tmp3 = (unsigned long )hdev;
2339#line 545
2340  __cil_tmp4 = __cil_tmp3 + 6376;
2341#line 545
2342  __cil_tmp5 = (struct device *)__cil_tmp4;
2343#line 545
2344  __cil_tmp6 = (struct device  const  *)__cil_tmp5;
2345#line 545
2346  tmp = dev_get_drvdata(__cil_tmp6);
2347  }
2348#line 545
2349  return (tmp);
2350}
2351}
2352#line 548 "include/linux/hid.h"
2353__inline static void hid_set_drvdata(struct hid_device *hdev , void *data ) 
2354{ unsigned long __cil_tmp3 ;
2355  unsigned long __cil_tmp4 ;
2356  struct device *__cil_tmp5 ;
2357
2358  {
2359  {
2360#line 550
2361  __cil_tmp3 = (unsigned long )hdev;
2362#line 550
2363  __cil_tmp4 = __cil_tmp3 + 6376;
2364#line 550
2365  __cil_tmp5 = (struct device *)__cil_tmp4;
2366#line 550
2367  dev_set_drvdata(__cil_tmp5, data);
2368  }
2369#line 551
2370  return;
2371}
2372}
2373#line 710
2374extern int hid_debug ;
2375#line 715
2376extern int __hid_register_driver(struct hid_driver * , struct module * , char const   * ) ;
2377#line 722
2378extern void hid_unregister_driver(struct hid_driver * ) ;
2379#line 739
2380extern int hid_connect(struct hid_device * , unsigned int  ) ;
2381#line 740
2382extern void hid_disconnect(struct hid_device * ) ;
2383#line 754 "include/linux/hid.h"
2384__inline static void hid_map_usage(struct hid_input *hidinput , struct hid_usage *usage ,
2385                                   unsigned long **bit , int *max , __u8 type , __u16 c ) 
2386{ struct input_dev *input ;
2387  unsigned long __cil_tmp8 ;
2388  unsigned long __cil_tmp9 ;
2389  unsigned long __cil_tmp10 ;
2390  unsigned long __cil_tmp11 ;
2391  unsigned long __cil_tmp12 ;
2392  unsigned long __cil_tmp13 ;
2393  unsigned long __cil_tmp14 ;
2394  unsigned long __cil_tmp15 ;
2395  unsigned long (*__cil_tmp16)[1U] ;
2396  unsigned long __cil_tmp17 ;
2397  unsigned long __cil_tmp18 ;
2398  unsigned long (*__cil_tmp19)[1U] ;
2399  unsigned long __cil_tmp20 ;
2400  unsigned long __cil_tmp21 ;
2401  unsigned long (*__cil_tmp22)[12U] ;
2402  unsigned long __cil_tmp23 ;
2403  unsigned long __cil_tmp24 ;
2404  unsigned long (*__cil_tmp25)[1U] ;
2405
2406  {
2407#line 758
2408  __cil_tmp8 = (unsigned long )hidinput;
2409#line 758
2410  __cil_tmp9 = __cil_tmp8 + 24;
2411#line 758
2412  input = *((struct input_dev **)__cil_tmp9);
2413#line 760
2414  __cil_tmp10 = (unsigned long )usage;
2415#line 760
2416  __cil_tmp11 = __cil_tmp10 + 10;
2417#line 760
2418  *((__u8 *)__cil_tmp11) = type;
2419#line 761
2420  __cil_tmp12 = (unsigned long )usage;
2421#line 761
2422  __cil_tmp13 = __cil_tmp12 + 8;
2423#line 761
2424  *((__u16 *)__cil_tmp13) = c;
2425#line 764
2426  if ((int )type == 3) {
2427#line 764
2428    goto case_3;
2429  } else
2430#line 768
2431  if ((int )type == 2) {
2432#line 768
2433    goto case_2;
2434  } else
2435#line 772
2436  if ((int )type == 1) {
2437#line 772
2438    goto case_1;
2439  } else
2440#line 776
2441  if ((int )type == 17) {
2442#line 776
2443    goto case_17;
2444  } else
2445#line 763
2446  if (0) {
2447    case_3: /* CIL Label */ 
2448#line 765
2449    __cil_tmp14 = (unsigned long )input;
2450#line 765
2451    __cil_tmp15 = __cil_tmp14 + 152;
2452#line 765
2453    __cil_tmp16 = (unsigned long (*)[1U])__cil_tmp15;
2454#line 765
2455    *bit = (unsigned long *)__cil_tmp16;
2456#line 766
2457    *max = 63;
2458#line 767
2459    goto ldv_19644;
2460    case_2: /* CIL Label */ 
2461#line 769
2462    __cil_tmp17 = (unsigned long )input;
2463#line 769
2464    __cil_tmp18 = __cil_tmp17 + 144;
2465#line 769
2466    __cil_tmp19 = (unsigned long (*)[1U])__cil_tmp18;
2467#line 769
2468    *bit = (unsigned long *)__cil_tmp19;
2469#line 770
2470    *max = 15;
2471#line 771
2472    goto ldv_19644;
2473    case_1: /* CIL Label */ 
2474#line 773
2475    __cil_tmp20 = (unsigned long )input;
2476#line 773
2477    __cil_tmp21 = __cil_tmp20 + 48;
2478#line 773
2479    __cil_tmp22 = (unsigned long (*)[12U])__cil_tmp21;
2480#line 773
2481    *bit = (unsigned long *)__cil_tmp22;
2482#line 774
2483    *max = 767;
2484#line 775
2485    goto ldv_19644;
2486    case_17: /* CIL Label */ 
2487#line 777
2488    __cil_tmp23 = (unsigned long )input;
2489#line 777
2490    __cil_tmp24 = __cil_tmp23 + 168;
2491#line 777
2492    __cil_tmp25 = (unsigned long (*)[1U])__cil_tmp24;
2493#line 777
2494    *bit = (unsigned long *)__cil_tmp25;
2495#line 778
2496    *max = 15;
2497#line 779
2498    goto ldv_19644;
2499  } else {
2500    switch_break: /* CIL Label */ ;
2501  }
2502  ldv_19644: ;
2503#line 782
2504  return;
2505}
2506}
2507#line 789 "include/linux/hid.h"
2508__inline static void hid_map_usage_clear(struct hid_input *hidinput , struct hid_usage *usage ,
2509                                         unsigned long **bit , int *max , __u8 type ,
2510                                         __u16 c ) 
2511{ int __cil_tmp7 ;
2512  __u8 __cil_tmp8 ;
2513  int __cil_tmp9 ;
2514  __u16 __cil_tmp10 ;
2515  int __cil_tmp11 ;
2516  unsigned long *__cil_tmp12 ;
2517  unsigned long volatile   *__cil_tmp13 ;
2518
2519  {
2520  {
2521#line 793
2522  __cil_tmp7 = (int )type;
2523#line 793
2524  __cil_tmp8 = (__u8 )__cil_tmp7;
2525#line 793
2526  __cil_tmp9 = (int )c;
2527#line 793
2528  __cil_tmp10 = (__u16 )__cil_tmp9;
2529#line 793
2530  hid_map_usage(hidinput, usage, bit, max, __cil_tmp8, __cil_tmp10);
2531#line 794
2532  __cil_tmp11 = (int )c;
2533#line 794
2534  __cil_tmp12 = *bit;
2535#line 794
2536  __cil_tmp13 = (unsigned long volatile   *)__cil_tmp12;
2537#line 794
2538  clear_bit(__cil_tmp11, __cil_tmp13);
2539  }
2540#line 795
2541  return;
2542}
2543}
2544#line 806 "include/linux/hid.h"
2545__inline static int hid_parse(struct hid_device *hdev ) 
2546{ int ret ;
2547  unsigned long __cil_tmp3 ;
2548  unsigned long __cil_tmp4 ;
2549  unsigned int __cil_tmp5 ;
2550  unsigned int __cil_tmp6 ;
2551  unsigned long __cil_tmp7 ;
2552  unsigned long __cil_tmp8 ;
2553  struct hid_ll_driver *__cil_tmp9 ;
2554  unsigned long __cil_tmp10 ;
2555  unsigned long __cil_tmp11 ;
2556  int (*__cil_tmp12)(struct hid_device * ) ;
2557  unsigned long __cil_tmp13 ;
2558  unsigned long __cil_tmp14 ;
2559  unsigned long __cil_tmp15 ;
2560  unsigned long __cil_tmp16 ;
2561  unsigned int __cil_tmp17 ;
2562
2563  {
2564  {
2565#line 810
2566  __cil_tmp3 = (unsigned long )hdev;
2567#line 810
2568  __cil_tmp4 = __cil_tmp3 + 7544;
2569#line 810
2570  __cil_tmp5 = *((unsigned int *)__cil_tmp4);
2571#line 810
2572  __cil_tmp6 = __cil_tmp5 & 2U;
2573#line 810
2574  if (__cil_tmp6 != 0U) {
2575#line 811
2576    return (0);
2577  } else {
2578
2579  }
2580  }
2581  {
2582#line 813
2583  __cil_tmp7 = (unsigned long )hdev;
2584#line 813
2585  __cil_tmp8 = __cil_tmp7 + 7536;
2586#line 813
2587  __cil_tmp9 = *((struct hid_ll_driver **)__cil_tmp8);
2588#line 813
2589  __cil_tmp10 = (unsigned long )__cil_tmp9;
2590#line 813
2591  __cil_tmp11 = __cil_tmp10 + 48;
2592#line 813
2593  __cil_tmp12 = *((int (**)(struct hid_device * ))__cil_tmp11);
2594#line 813
2595  ret = (*__cil_tmp12)(hdev);
2596  }
2597#line 814
2598  if (ret == 0) {
2599#line 815
2600    __cil_tmp13 = (unsigned long )hdev;
2601#line 815
2602    __cil_tmp14 = __cil_tmp13 + 7544;
2603#line 815
2604    __cil_tmp15 = (unsigned long )hdev;
2605#line 815
2606    __cil_tmp16 = __cil_tmp15 + 7544;
2607#line 815
2608    __cil_tmp17 = *((unsigned int *)__cil_tmp16);
2609#line 815
2610    *((unsigned int *)__cil_tmp14) = __cil_tmp17 | 2U;
2611  } else {
2612
2613  }
2614#line 817
2615  return (ret);
2616}
2617}
2618#line 830 "include/linux/hid.h"
2619__inline static int hid_hw_start(struct hid_device *hdev , unsigned int connect_mask ) 
2620{ int ret ;
2621  int tmp ;
2622  unsigned long __cil_tmp5 ;
2623  unsigned long __cil_tmp6 ;
2624  struct hid_ll_driver *__cil_tmp7 ;
2625  int (*__cil_tmp8)(struct hid_device * ) ;
2626  unsigned long __cil_tmp9 ;
2627  unsigned long __cil_tmp10 ;
2628  struct hid_ll_driver *__cil_tmp11 ;
2629  unsigned long __cil_tmp12 ;
2630  unsigned long __cil_tmp13 ;
2631  void (*__cil_tmp14)(struct hid_device * ) ;
2632
2633  {
2634  {
2635#line 833
2636  __cil_tmp5 = (unsigned long )hdev;
2637#line 833
2638  __cil_tmp6 = __cil_tmp5 + 7536;
2639#line 833
2640  __cil_tmp7 = *((struct hid_ll_driver **)__cil_tmp6);
2641#line 833
2642  __cil_tmp8 = *((int (**)(struct hid_device * ))__cil_tmp7);
2643#line 833
2644  tmp = (*__cil_tmp8)(hdev);
2645#line 833
2646  ret = tmp;
2647  }
2648#line 834
2649  if (ret != 0) {
2650#line 835
2651    return (ret);
2652  } else
2653#line 834
2654  if (connect_mask == 0U) {
2655#line 835
2656    return (ret);
2657  } else {
2658
2659  }
2660  {
2661#line 836
2662  ret = hid_connect(hdev, connect_mask);
2663  }
2664#line 837
2665  if (ret != 0) {
2666    {
2667#line 838
2668    __cil_tmp9 = (unsigned long )hdev;
2669#line 838
2670    __cil_tmp10 = __cil_tmp9 + 7536;
2671#line 838
2672    __cil_tmp11 = *((struct hid_ll_driver **)__cil_tmp10);
2673#line 838
2674    __cil_tmp12 = (unsigned long )__cil_tmp11;
2675#line 838
2676    __cil_tmp13 = __cil_tmp12 + 8;
2677#line 838
2678    __cil_tmp14 = *((void (**)(struct hid_device * ))__cil_tmp13);
2679#line 838
2680    (*__cil_tmp14)(hdev);
2681    }
2682  } else {
2683
2684  }
2685#line 839
2686  return (ret);
2687}
2688}
2689#line 850 "include/linux/hid.h"
2690__inline static void hid_hw_stop(struct hid_device *hdev ) 
2691{ unsigned long __cil_tmp2 ;
2692  unsigned long __cil_tmp3 ;
2693  struct hid_ll_driver *__cil_tmp4 ;
2694  unsigned long __cil_tmp5 ;
2695  unsigned long __cil_tmp6 ;
2696  void (*__cil_tmp7)(struct hid_device * ) ;
2697
2698  {
2699  {
2700#line 852
2701  hid_disconnect(hdev);
2702#line 853
2703  __cil_tmp2 = (unsigned long )hdev;
2704#line 853
2705  __cil_tmp3 = __cil_tmp2 + 7536;
2706#line 853
2707  __cil_tmp4 = *((struct hid_ll_driver **)__cil_tmp3);
2708#line 853
2709  __cil_tmp5 = (unsigned long )__cil_tmp4;
2710#line 853
2711  __cil_tmp6 = __cil_tmp5 + 8;
2712#line 853
2713  __cil_tmp7 = *((void (**)(struct hid_device * ))__cil_tmp6);
2714#line 853
2715  (*__cil_tmp7)(hdev);
2716  }
2717#line 854
2718  return;
2719}
2720}
2721#line 45 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
2722static __u8 *zc_report_fixup(struct hid_device *hdev , __u8 *rdesc , unsigned int *rsize ) 
2723{ __u8 tmp ;
2724  __u8 tmp___0 ;
2725  __u8 tmp___1 ;
2726  __u8 tmp___2 ;
2727  unsigned int __cil_tmp8 ;
2728  __u8 *__cil_tmp9 ;
2729  __u8 __cil_tmp10 ;
2730  unsigned int __cil_tmp11 ;
2731  __u8 *__cil_tmp12 ;
2732  __u8 __cil_tmp13 ;
2733  unsigned int __cil_tmp14 ;
2734  __u8 *__cil_tmp15 ;
2735  __u8 __cil_tmp16 ;
2736  unsigned int __cil_tmp17 ;
2737  __u8 *__cil_tmp18 ;
2738  __u8 __cil_tmp19 ;
2739  unsigned int __cil_tmp20 ;
2740  __u8 *__cil_tmp21 ;
2741  __u8 __cil_tmp22 ;
2742  unsigned int __cil_tmp23 ;
2743  __u8 *__cil_tmp24 ;
2744  __u8 __cil_tmp25 ;
2745  unsigned int __cil_tmp26 ;
2746  unsigned long __cil_tmp27 ;
2747  unsigned long __cil_tmp28 ;
2748  struct device *__cil_tmp29 ;
2749  struct device  const  *__cil_tmp30 ;
2750  __u8 *__cil_tmp31 ;
2751  __u8 *__cil_tmp32 ;
2752  __u8 *__cil_tmp33 ;
2753  __u8 *__cil_tmp34 ;
2754  __u8 *__cil_tmp35 ;
2755  __u8 *__cil_tmp36 ;
2756
2757  {
2758  {
2759#line 48
2760  __cil_tmp8 = *rsize;
2761#line 48
2762  if (__cil_tmp8 > 252U) {
2763    {
2764#line 48
2765    __cil_tmp9 = rdesc + 150UL;
2766#line 48
2767    __cil_tmp10 = *__cil_tmp9;
2768#line 48
2769    __cil_tmp11 = (unsigned int )__cil_tmp10;
2770#line 48
2771    if (__cil_tmp11 == 188U) {
2772      {
2773#line 48
2774      __cil_tmp12 = rdesc + 151UL;
2775#line 48
2776      __cil_tmp13 = *__cil_tmp12;
2777#line 48
2778      __cil_tmp14 = (unsigned int )__cil_tmp13;
2779#line 48
2780      if (__cil_tmp14 == 255U) {
2781        {
2782#line 48
2783        __cil_tmp15 = rdesc + 202UL;
2784#line 48
2785        __cil_tmp16 = *__cil_tmp15;
2786#line 48
2787        __cil_tmp17 = (unsigned int )__cil_tmp16;
2788#line 48
2789        if (__cil_tmp17 == 188U) {
2790          {
2791#line 48
2792          __cil_tmp18 = rdesc + 203UL;
2793#line 48
2794          __cil_tmp19 = *__cil_tmp18;
2795#line 48
2796          __cil_tmp20 = (unsigned int )__cil_tmp19;
2797#line 48
2798          if (__cil_tmp20 == 255U) {
2799            {
2800#line 48
2801            __cil_tmp21 = rdesc + 225UL;
2802#line 48
2803            __cil_tmp22 = *__cil_tmp21;
2804#line 48
2805            __cil_tmp23 = (unsigned int )__cil_tmp22;
2806#line 48
2807            if (__cil_tmp23 == 188U) {
2808              {
2809#line 48
2810              __cil_tmp24 = rdesc + 226UL;
2811#line 48
2812              __cil_tmp25 = *__cil_tmp24;
2813#line 48
2814              __cil_tmp26 = (unsigned int )__cil_tmp25;
2815#line 48
2816              if (__cil_tmp26 == 255U) {
2817                {
2818#line 52
2819                __cil_tmp27 = (unsigned long )hdev;
2820#line 52
2821                __cil_tmp28 = __cil_tmp27 + 6376;
2822#line 52
2823                __cil_tmp29 = (struct device *)__cil_tmp28;
2824#line 52
2825                __cil_tmp30 = (struct device  const  *)__cil_tmp29;
2826#line 52
2827                _dev_info(__cil_tmp30, "fixing up zydacron remote control report descriptor\n");
2828#line 54
2829                tmp___0 = (__u8 )12U;
2830#line 54
2831                __cil_tmp31 = rdesc + 225UL;
2832#line 54
2833                *__cil_tmp31 = tmp___0;
2834#line 54
2835                tmp = tmp___0;
2836#line 54
2837                __cil_tmp32 = rdesc + 202UL;
2838#line 54
2839                *__cil_tmp32 = tmp;
2840#line 54
2841                __cil_tmp33 = rdesc + 150UL;
2842#line 54
2843                *__cil_tmp33 = tmp;
2844#line 55
2845                tmp___2 = (__u8 )0U;
2846#line 55
2847                __cil_tmp34 = rdesc + 226UL;
2848#line 55
2849                *__cil_tmp34 = tmp___2;
2850#line 55
2851                tmp___1 = tmp___2;
2852#line 55
2853                __cil_tmp35 = rdesc + 203UL;
2854#line 55
2855                *__cil_tmp35 = tmp___1;
2856#line 55
2857                __cil_tmp36 = rdesc + 151UL;
2858#line 55
2859                *__cil_tmp36 = tmp___1;
2860                }
2861              } else {
2862
2863              }
2864              }
2865            } else {
2866
2867            }
2868            }
2869          } else {
2870
2871          }
2872          }
2873        } else {
2874
2875        }
2876        }
2877      } else {
2878
2879      }
2880      }
2881    } else {
2882
2883    }
2884    }
2885  } else {
2886
2887  }
2888  }
2889#line 57
2890  return (rdesc);
2891}
2892}
2893#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
2894static int zc_input_mapping(struct hid_device *hdev , struct hid_input *hi , struct hid_field *field ,
2895                            struct hid_usage *usage , unsigned long **bit , int *max ) 
2896{ int i ;
2897  struct zc_device *zc ;
2898  void *tmp ;
2899  unsigned long __cil_tmp10 ;
2900  unsigned long __cil_tmp11 ;
2901  unsigned int __cil_tmp12 ;
2902  unsigned int __cil_tmp13 ;
2903  char *__cil_tmp14 ;
2904  unsigned int __cil_tmp15 ;
2905  unsigned int __cil_tmp16 ;
2906  unsigned int __cil_tmp17 ;
2907  unsigned int __cil_tmp18 ;
2908  __u8 __cil_tmp19 ;
2909  __u16 __cil_tmp20 ;
2910  __u8 __cil_tmp21 ;
2911  __u16 __cil_tmp22 ;
2912  __u8 __cil_tmp23 ;
2913  __u16 __cil_tmp24 ;
2914  __u8 __cil_tmp25 ;
2915  __u16 __cil_tmp26 ;
2916  __u8 __cil_tmp27 ;
2917  __u16 __cil_tmp28 ;
2918  __u8 __cil_tmp29 ;
2919  __u16 __cil_tmp30 ;
2920  __u8 __cil_tmp31 ;
2921  __u16 __cil_tmp32 ;
2922  __u8 __cil_tmp33 ;
2923  __u16 __cil_tmp34 ;
2924  __u8 __cil_tmp35 ;
2925  __u16 __cil_tmp36 ;
2926  __u8 __cil_tmp37 ;
2927  __u16 __cil_tmp38 ;
2928  __u8 __cil_tmp39 ;
2929  __u16 __cil_tmp40 ;
2930  __u8 __cil_tmp41 ;
2931  __u16 __cil_tmp42 ;
2932  unsigned long __cil_tmp43 ;
2933  unsigned long __cil_tmp44 ;
2934  unsigned long __cil_tmp45 ;
2935  unsigned long __cil_tmp46 ;
2936
2937  {
2938  {
2939#line 68
2940  tmp = hid_get_drvdata(hdev);
2941#line 68
2942  zc = (struct zc_device *)tmp;
2943#line 69
2944  __cil_tmp10 = (unsigned long )hi;
2945#line 69
2946  __cil_tmp11 = __cil_tmp10 + 24;
2947#line 69
2948  *((struct input_dev **)zc) = *((struct input_dev **)__cil_tmp11);
2949  }
2950  {
2951#line 71
2952  __cil_tmp12 = *((unsigned int *)usage);
2953#line 71
2954  __cil_tmp13 = __cil_tmp12 & 4294901760U;
2955#line 71
2956  if (__cil_tmp13 != 786432U) {
2957#line 72
2958    return (0);
2959  } else {
2960
2961  }
2962  }
2963#line 74
2964  if (hid_debug != 0) {
2965    {
2966#line 74
2967    __cil_tmp14 = (char *)"/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p";
2968#line 74
2969    __cil_tmp15 = *((unsigned int *)usage);
2970#line 74
2971    __cil_tmp16 = __cil_tmp15 & 65535U;
2972#line 74
2973    printk("<7>%s: zynacron input mapping event [0x%x]\n", __cil_tmp14, __cil_tmp16);
2974    }
2975  } else {
2976
2977  }
2978  {
2979#line 77
2980  __cil_tmp17 = *((unsigned int *)usage);
2981#line 77
2982  __cil_tmp18 = __cil_tmp17 & 65535U;
2983#line 79
2984  if ((int )__cil_tmp18 == 16) {
2985#line 79
2986    goto case_16;
2987  } else
2988#line 82
2989  if ((int )__cil_tmp18 == 48) {
2990#line 82
2991    goto case_48;
2992  } else
2993#line 85
2994  if ((int )__cil_tmp18 == 112) {
2995#line 85
2996    goto case_112;
2997  } else
2998#line 89
2999  if ((int )__cil_tmp18 == 4) {
3000#line 89
3001    goto case_4;
3002  } else
3003#line 93
3004  if ((int )__cil_tmp18 == 13) {
3005#line 93
3006    goto case_13;
3007  } else
3008#line 96
3009  if ((int )__cil_tmp18 == 37) {
3010#line 96
3011    goto case_37;
3012  } else
3013#line 99
3014  if ((int )__cil_tmp18 == 71) {
3015#line 99
3016    goto case_71;
3017  } else
3018#line 102
3019  if ((int )__cil_tmp18 == 73) {
3020#line 102
3021    goto case_73;
3022  } else
3023#line 105
3024  if ((int )__cil_tmp18 == 74) {
3025#line 105
3026    goto case_74;
3027  } else
3028#line 108
3029  if ((int )__cil_tmp18 == 72) {
3030#line 108
3031    goto case_72;
3032  } else
3033#line 111
3034  if ((int )__cil_tmp18 == 36) {
3035#line 111
3036    goto case_36;
3037  } else
3038#line 114
3039  if ((int )__cil_tmp18 == 50) {
3040#line 114
3041    goto case_50;
3042  } else {
3043    {
3044#line 117
3045    goto switch_default;
3046#line 77
3047    if (0) {
3048      case_16: /* CIL Label */ 
3049      {
3050#line 80
3051      __cil_tmp19 = (__u8 )1;
3052#line 80
3053      __cil_tmp20 = (__u16 )373;
3054#line 80
3055      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp19, __cil_tmp20);
3056      }
3057#line 81
3058      goto ldv_19718;
3059      case_48: /* CIL Label */ 
3060      {
3061#line 83
3062      __cil_tmp21 = (__u8 )1;
3063#line 83
3064      __cil_tmp22 = (__u16 )375;
3065#line 83
3066      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp21, __cil_tmp22);
3067      }
3068#line 84
3069      goto ldv_19718;
3070      case_112: /* CIL Label */ 
3071      {
3072#line 86
3073      __cil_tmp23 = (__u8 )1;
3074#line 86
3075      __cil_tmp24 = (__u16 )358;
3076#line 86
3077      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp23, __cil_tmp24);
3078      }
3079#line 87
3080      goto ldv_19718;
3081      case_4: /* CIL Label */ 
3082      {
3083#line 90
3084      __cil_tmp25 = (__u8 )1;
3085#line 90
3086      __cil_tmp26 = (__u16 )385;
3087#line 90
3088      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp25, __cil_tmp26);
3089      }
3090#line 91
3091      goto ldv_19718;
3092      case_13: /* CIL Label */ 
3093      {
3094#line 94
3095      __cil_tmp27 = (__u8 )1;
3096#line 94
3097      __cil_tmp28 = (__u16 )366;
3098#line 94
3099      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp27, __cil_tmp28);
3100      }
3101#line 95
3102      goto ldv_19718;
3103      case_37: /* CIL Label */ 
3104      {
3105#line 97
3106      __cil_tmp29 = (__u8 )1;
3107#line 97
3108      __cil_tmp30 = (__u16 )377;
3109#line 97
3110      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp29, __cil_tmp30);
3111      }
3112#line 98
3113      goto ldv_19718;
3114      case_71: /* CIL Label */ 
3115      {
3116#line 100
3117      __cil_tmp31 = (__u8 )1;
3118#line 100
3119      __cil_tmp32 = (__u16 )392;
3120#line 100
3121      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp31, __cil_tmp32);
3122      }
3123#line 101
3124      goto ldv_19718;
3125      case_73: /* CIL Label */ 
3126      {
3127#line 103
3128      __cil_tmp33 = (__u8 )1;
3129#line 103
3130      __cil_tmp34 = (__u16 )390;
3131#line 103
3132      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp33, __cil_tmp34);
3133      }
3134#line 104
3135      goto ldv_19718;
3136      case_74: /* CIL Label */ 
3137      {
3138#line 106
3139      __cil_tmp35 = (__u8 )1;
3140#line 106
3141      __cil_tmp36 = (__u16 )393;
3142#line 106
3143      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp35, __cil_tmp36);
3144      }
3145#line 107
3146      goto ldv_19718;
3147      case_72: /* CIL Label */ 
3148      {
3149#line 109
3150      __cil_tmp37 = (__u8 )1;
3151#line 109
3152      __cil_tmp38 = (__u16 )389;
3153#line 109
3154      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp37, __cil_tmp38);
3155      }
3156#line 110
3157      goto ldv_19718;
3158      case_36: /* CIL Label */ 
3159      {
3160#line 112
3161      __cil_tmp39 = (__u8 )1;
3162#line 112
3163      __cil_tmp40 = (__u16 )139;
3164#line 112
3165      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp39, __cil_tmp40);
3166      }
3167#line 113
3168      goto ldv_19718;
3169      case_50: /* CIL Label */ 
3170      {
3171#line 115
3172      __cil_tmp41 = (__u8 )1;
3173#line 115
3174      __cil_tmp42 = (__u16 )388;
3175#line 115
3176      hid_map_usage_clear(hi, usage, bit, max, __cil_tmp41, __cil_tmp42);
3177      }
3178#line 116
3179      goto ldv_19718;
3180      switch_default: /* CIL Label */ ;
3181#line 118
3182      return (0);
3183    } else {
3184      switch_break: /* CIL Label */ ;
3185    }
3186    }
3187  }
3188  }
3189  ldv_19718: 
3190#line 121
3191  i = 0;
3192#line 121
3193  goto ldv_19732;
3194  ldv_19731: 
3195#line 122
3196  __cil_tmp43 = i * 2UL;
3197#line 122
3198  __cil_tmp44 = 8 + __cil_tmp43;
3199#line 122
3200  __cil_tmp45 = (unsigned long )zc;
3201#line 122
3202  __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
3203#line 122
3204  *((unsigned short *)__cil_tmp46) = (unsigned short)0;
3205#line 121
3206  i = i + 1;
3207  ldv_19732: ;
3208#line 121
3209  if (i <= 3) {
3210#line 122
3211    goto ldv_19731;
3212  } else {
3213#line 124
3214    goto ldv_19733;
3215  }
3216  ldv_19733: ;
3217#line 124
3218  return (1);
3219}
3220}
3221#line 127 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3222static int zc_raw_event(struct hid_device *hdev , struct hid_report *report , u8 *data ,
3223                        int size ) 
3224{ struct zc_device *zc ;
3225  void *tmp ;
3226  int ret ;
3227  unsigned int key ;
3228  unsigned short index ;
3229  u8 __cil_tmp10 ;
3230  unsigned int __cil_tmp11 ;
3231  unsigned long __cil_tmp12 ;
3232  unsigned long __cil_tmp13 ;
3233  unsigned int __cil_tmp14 ;
3234  int __cil_tmp15 ;
3235  unsigned long __cil_tmp16 ;
3236  unsigned long __cil_tmp17 ;
3237  unsigned long __cil_tmp18 ;
3238  unsigned long __cil_tmp19 ;
3239  unsigned short __cil_tmp20 ;
3240  struct input_dev *__cil_tmp21 ;
3241  int __cil_tmp22 ;
3242  unsigned long __cil_tmp23 ;
3243  unsigned long __cil_tmp24 ;
3244  unsigned long __cil_tmp25 ;
3245  unsigned long __cil_tmp26 ;
3246  int __cil_tmp27 ;
3247  int __cil_tmp28 ;
3248  unsigned int __cil_tmp29 ;
3249  unsigned long __cil_tmp30 ;
3250  unsigned long __cil_tmp31 ;
3251  unsigned int __cil_tmp32 ;
3252  u8 *__cil_tmp33 ;
3253  u8 __cil_tmp34 ;
3254  struct input_dev *__cil_tmp35 ;
3255  int __cil_tmp36 ;
3256  unsigned long __cil_tmp37 ;
3257  unsigned long __cil_tmp38 ;
3258  unsigned long __cil_tmp39 ;
3259  unsigned long __cil_tmp40 ;
3260
3261  {
3262  {
3263#line 130
3264  tmp = hid_get_drvdata(hdev);
3265#line 130
3266  zc = (struct zc_device *)tmp;
3267#line 131
3268  ret = 0;
3269  }
3270  {
3271#line 135
3272  __cil_tmp10 = *data;
3273#line 135
3274  __cil_tmp11 = (unsigned int )__cil_tmp10;
3275#line 135
3276  __cil_tmp12 = (unsigned long )report;
3277#line 135
3278  __cil_tmp13 = __cil_tmp12 + 16;
3279#line 135
3280  __cil_tmp14 = *((unsigned int *)__cil_tmp13);
3281#line 135
3282  if (__cil_tmp14 == __cil_tmp11) {
3283#line 138
3284    index = (unsigned short)0;
3285#line 138
3286    goto ldv_19745;
3287    ldv_19744: 
3288#line 139
3289    __cil_tmp15 = (int )index;
3290#line 139
3291    __cil_tmp16 = __cil_tmp15 * 2UL;
3292#line 139
3293    __cil_tmp17 = 8 + __cil_tmp16;
3294#line 139
3295    __cil_tmp18 = (unsigned long )zc;
3296#line 139
3297    __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
3298#line 139
3299    __cil_tmp20 = *((unsigned short *)__cil_tmp19);
3300#line 139
3301    key = (unsigned int )__cil_tmp20;
3302#line 140
3303    if (key != 0U) {
3304      {
3305#line 141
3306      __cil_tmp21 = *((struct input_dev **)zc);
3307#line 141
3308      input_event(__cil_tmp21, 1U, key, 0);
3309#line 142
3310      __cil_tmp22 = (int )index;
3311#line 142
3312      __cil_tmp23 = __cil_tmp22 * 2UL;
3313#line 142
3314      __cil_tmp24 = 8 + __cil_tmp23;
3315#line 142
3316      __cil_tmp25 = (unsigned long )zc;
3317#line 142
3318      __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
3319#line 142
3320      *((unsigned short *)__cil_tmp26) = (unsigned short)0;
3321      }
3322    } else {
3323
3324    }
3325#line 138
3326    __cil_tmp27 = (int )index;
3327#line 138
3328    __cil_tmp28 = __cil_tmp27 + 1;
3329#line 138
3330    index = (unsigned short )__cil_tmp28;
3331    ldv_19745: ;
3332    {
3333#line 138
3334    __cil_tmp29 = (unsigned int )index;
3335#line 138
3336    if (__cil_tmp29 <= 3U) {
3337#line 139
3338      goto ldv_19744;
3339    } else {
3340#line 141
3341      goto ldv_19746;
3342    }
3343    }
3344    ldv_19746: 
3345#line 146
3346    key = 0U;
3347    {
3348#line 147
3349    __cil_tmp30 = (unsigned long )report;
3350#line 147
3351    __cil_tmp31 = __cil_tmp30 + 16;
3352#line 147
3353    __cil_tmp32 = *((unsigned int *)__cil_tmp31);
3354#line 148
3355    if ((int )__cil_tmp32 == 2) {
3356#line 148
3357      goto case_2;
3358    } else
3359#line 149
3360    if ((int )__cil_tmp32 == 3) {
3361#line 149
3362      goto case_3;
3363    } else
3364#line 147
3365    if (0) {
3366      case_2: /* CIL Label */ ;
3367      case_3: /* CIL Label */ ;
3368      {
3369#line 150
3370      __cil_tmp33 = data + 1UL;
3371#line 150
3372      __cil_tmp34 = *__cil_tmp33;
3373#line 151
3374      if ((int )__cil_tmp34 == 16) {
3375#line 151
3376        goto case_16;
3377      } else
3378#line 155
3379      if ((int )__cil_tmp34 == 48) {
3380#line 155
3381        goto case_48;
3382      } else
3383#line 159
3384      if ((int )__cil_tmp34 == 112) {
3385#line 159
3386        goto case_112;
3387      } else
3388#line 163
3389      if ((int )__cil_tmp34 == 4) {
3390#line 163
3391        goto case_4;
3392      } else
3393#line 150
3394      if (0) {
3395        case_16: /* CIL Label */ 
3396#line 152
3397        key = 373U;
3398#line 153
3399        index = (unsigned short)0;
3400#line 154
3401        goto ldv_19750;
3402        case_48: /* CIL Label */ 
3403#line 156
3404        key = 375U;
3405#line 157
3406        index = (unsigned short)1;
3407#line 158
3408        goto ldv_19750;
3409        case_112: /* CIL Label */ 
3410#line 160
3411        key = 358U;
3412#line 161
3413        index = (unsigned short)2;
3414#line 162
3415        goto ldv_19750;
3416        case_4: /* CIL Label */ 
3417#line 164
3418        key = 385U;
3419#line 165
3420        index = (unsigned short)3;
3421#line 166
3422        goto ldv_19750;
3423      } else {
3424        switch_break___0: /* CIL Label */ ;
3425      }
3426      }
3427      ldv_19750: ;
3428#line 169
3429      if (key != 0U) {
3430        {
3431#line 170
3432        __cil_tmp35 = *((struct input_dev **)zc);
3433#line 170
3434        input_event(__cil_tmp35, 1U, key, 1);
3435#line 171
3436        __cil_tmp36 = (int )index;
3437#line 171
3438        __cil_tmp37 = __cil_tmp36 * 2UL;
3439#line 171
3440        __cil_tmp38 = 8 + __cil_tmp37;
3441#line 171
3442        __cil_tmp39 = (unsigned long )zc;
3443#line 171
3444        __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
3445#line 171
3446        *((unsigned short *)__cil_tmp40) = (unsigned short )key;
3447        }
3448      } else {
3449
3450      }
3451#line 174
3452      ret = 1;
3453#line 175
3454      goto ldv_19754;
3455    } else {
3456      switch_break: /* CIL Label */ ;
3457    }
3458    }
3459    ldv_19754: ;
3460  } else {
3461
3462  }
3463  }
3464#line 179
3465  return (ret);
3466}
3467}
3468#line 182 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3469static int zc_probe(struct hid_device *hdev , struct hid_device_id  const  *id ) 
3470{ int ret ;
3471  struct zc_device *zc ;
3472  void *tmp ;
3473  struct zc_device *__cil_tmp6 ;
3474  unsigned long __cil_tmp7 ;
3475  unsigned long __cil_tmp8 ;
3476  unsigned long __cil_tmp9 ;
3477  unsigned long __cil_tmp10 ;
3478  struct device *__cil_tmp11 ;
3479  struct device  const  *__cil_tmp12 ;
3480  void *__cil_tmp13 ;
3481  unsigned long __cil_tmp14 ;
3482  unsigned long __cil_tmp15 ;
3483  struct device *__cil_tmp16 ;
3484  struct device  const  *__cil_tmp17 ;
3485  unsigned long __cil_tmp18 ;
3486  unsigned long __cil_tmp19 ;
3487  struct device *__cil_tmp20 ;
3488  struct device  const  *__cil_tmp21 ;
3489  void const   *__cil_tmp22 ;
3490
3491  {
3492  {
3493#line 187
3494  tmp = kzalloc(16UL, 208U);
3495#line 187
3496  zc = (struct zc_device *)tmp;
3497  }
3498  {
3499#line 188
3500  __cil_tmp6 = (struct zc_device *)0;
3501#line 188
3502  __cil_tmp7 = (unsigned long )__cil_tmp6;
3503#line 188
3504  __cil_tmp8 = (unsigned long )zc;
3505#line 188
3506  if (__cil_tmp8 == __cil_tmp7) {
3507    {
3508#line 189
3509    __cil_tmp9 = (unsigned long )hdev;
3510#line 189
3511    __cil_tmp10 = __cil_tmp9 + 6376;
3512#line 189
3513    __cil_tmp11 = (struct device *)__cil_tmp10;
3514#line 189
3515    __cil_tmp12 = (struct device  const  *)__cil_tmp11;
3516#line 189
3517    dev_err(__cil_tmp12, "can\'t alloc descriptor\n");
3518    }
3519#line 190
3520    return (-12);
3521  } else {
3522
3523  }
3524  }
3525  {
3526#line 193
3527  __cil_tmp13 = (void *)zc;
3528#line 193
3529  hid_set_drvdata(hdev, __cil_tmp13);
3530#line 195
3531  ret = hid_parse(hdev);
3532  }
3533#line 196
3534  if (ret != 0) {
3535    {
3536#line 197
3537    __cil_tmp14 = (unsigned long )hdev;
3538#line 197
3539    __cil_tmp15 = __cil_tmp14 + 6376;
3540#line 197
3541    __cil_tmp16 = (struct device *)__cil_tmp15;
3542#line 197
3543    __cil_tmp17 = (struct device  const  *)__cil_tmp16;
3544#line 197
3545    dev_err(__cil_tmp17, "parse failed\n");
3546    }
3547#line 198
3548    goto err_free;
3549  } else {
3550
3551  }
3552  {
3553#line 201
3554  ret = hid_hw_start(hdev, 45U);
3555  }
3556#line 202
3557  if (ret != 0) {
3558    {
3559#line 203
3560    __cil_tmp18 = (unsigned long )hdev;
3561#line 203
3562    __cil_tmp19 = __cil_tmp18 + 6376;
3563#line 203
3564    __cil_tmp20 = (struct device *)__cil_tmp19;
3565#line 203
3566    __cil_tmp21 = (struct device  const  *)__cil_tmp20;
3567#line 203
3568    dev_err(__cil_tmp21, "hw start failed\n");
3569    }
3570#line 204
3571    goto err_free;
3572  } else {
3573
3574  }
3575#line 207
3576  return (0);
3577  err_free: 
3578  {
3579#line 209
3580  __cil_tmp22 = (void const   *)zc;
3581#line 209
3582  kfree(__cil_tmp22);
3583  }
3584#line 211
3585  return (ret);
3586}
3587}
3588#line 214 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3589static void zc_remove(struct hid_device *hdev ) 
3590{ struct zc_device *zc ;
3591  void *tmp ;
3592  void const   *__cil_tmp4 ;
3593
3594  {
3595  {
3596#line 216
3597  tmp = hid_get_drvdata(hdev);
3598#line 216
3599  zc = (struct zc_device *)tmp;
3600#line 218
3601  hid_hw_stop(hdev);
3602#line 219
3603  __cil_tmp4 = (void const   *)zc;
3604#line 219
3605  kfree(__cil_tmp4);
3606  }
3607#line 220
3608  return;
3609}
3610}
3611#line 222 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3612static struct hid_device_id  const  zc_devices[2U]  = {      {(__u16 )3U, (unsigned short)0, 5100U, 6U, 0UL}, 
3613        {(unsigned short)0, (unsigned short)0, 0U, 0U, 0UL}};
3614#line 226 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3615struct hid_device_id  const  __mod_hid_device_table  ;
3616#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3617static struct hid_driver zc_driver  = 
3618#line 228
3619     {(char *)"zydacron", (struct hid_device_id  const  *)(& zc_devices), {(struct list_head *)0,
3620                                                                         (struct list_head *)0},
3621    {{{{{0U}}, 0U, 0U, (void *)0, {(struct lock_class_key *)0, {(struct lock_class *)0,
3622                                                                (struct lock_class *)0},
3623                                   (char const   *)0, 0, 0UL}}}}, & zc_probe, & zc_remove,
3624    (struct hid_report_id  const  *)0, & zc_raw_event, (struct hid_usage_id  const  *)0,
3625    (int (*)(struct hid_device * , struct hid_field * , struct hid_usage * , __s32  ))0,
3626    & zc_report_fixup, & zc_input_mapping, (int (*)(struct hid_device * , struct hid_input * ,
3627                                                    struct hid_field * , struct hid_usage * ,
3628                                                    unsigned long ** , int * ))0,
3629    (void (*)(struct hid_device * , struct hid_field * , struct hid_usage * ))0, (int (*)(struct hid_device * ,
3630                                                                                          pm_message_t  ))0,
3631    (int (*)(struct hid_device * ))0, (int (*)(struct hid_device * ))0, {(char const   *)0,
3632                                                                         (struct bus_type *)0,
3633                                                                         (struct module *)0,
3634                                                                         (char const   *)0,
3635                                                                         (_Bool)0,
3636                                                                         (struct of_device_id  const  *)0,
3637                                                                         (int (*)(struct device * ))0,
3638                                                                         (int (*)(struct device * ))0,
3639                                                                         (void (*)(struct device * ))0,
3640                                                                         (int (*)(struct device * ,
3641                                                                                  pm_message_t  ))0,
3642                                                                         (int (*)(struct device * ))0,
3643                                                                         (struct attribute_group  const  **)0,
3644                                                                         (struct dev_pm_ops  const  *)0,
3645                                                                         (struct driver_private *)0}};
3646#line 238 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3647static int zc_init(void) 
3648{ int tmp ;
3649
3650  {
3651  {
3652#line 240
3653  tmp = __hid_register_driver(& zc_driver, & __this_module, "hid_zydacron");
3654  }
3655#line 240
3656  return (tmp);
3657}
3658}
3659#line 243 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3660static void zc_exit(void) 
3661{ 
3662
3663  {
3664  {
3665#line 245
3666  hid_unregister_driver(& zc_driver);
3667  }
3668#line 246
3669  return;
3670}
3671}
3672#line 268
3673extern void ldv_check_final_state(void) ;
3674#line 271
3675extern void ldv_check_return_value(int  ) ;
3676#line 274
3677extern void ldv_initialize(void) ;
3678#line 277
3679extern int __VERIFIER_nondet_int(void) ;
3680#line 280 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3681int LDV_IN_INTERRUPT  ;
3682#line 283 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3683void main(void) 
3684{ struct hid_device *var_group1 ;
3685  __u8 *var_zc_report_fixup_0_p1 ;
3686  unsigned int *var_zc_report_fixup_0_p2 ;
3687  struct hid_input *var_group2 ;
3688  struct hid_field *var_zc_input_mapping_1_p2 ;
3689  struct hid_usage *var_zc_input_mapping_1_p3 ;
3690  unsigned long **var_zc_input_mapping_1_p4 ;
3691  int *var_zc_input_mapping_1_p5 ;
3692  struct hid_report *var_group3 ;
3693  u8 *var_zc_raw_event_2_p2 ;
3694  int var_zc_raw_event_2_p3 ;
3695  struct hid_device_id  const  *var_zc_probe_3_p1 ;
3696  int res_zc_probe_3 ;
3697  int ldv_s_zc_driver_hid_driver ;
3698  int tmp ;
3699  int tmp___0 ;
3700  int tmp___1 ;
3701
3702  {
3703  {
3704#line 366
3705  ldv_s_zc_driver_hid_driver = 0;
3706#line 346
3707  LDV_IN_INTERRUPT = 1;
3708#line 355
3709  ldv_initialize();
3710#line 364
3711  tmp = zc_init();
3712  }
3713#line 364
3714  if (tmp != 0) {
3715#line 365
3716    goto ldv_final;
3717  } else {
3718
3719  }
3720#line 370
3721  goto ldv_19822;
3722  ldv_19821: 
3723  {
3724#line 374
3725  tmp___0 = __VERIFIER_nondet_int();
3726  }
3727#line 376
3728  if (tmp___0 == 0) {
3729#line 376
3730    goto case_0;
3731  } else
3732#line 398
3733  if (tmp___0 == 1) {
3734#line 398
3735    goto case_1;
3736  } else
3737#line 418
3738  if (tmp___0 == 2) {
3739#line 418
3740    goto case_2;
3741  } else
3742#line 434
3743  if (tmp___0 == 3) {
3744#line 434
3745    goto case_3;
3746  } else
3747#line 453
3748  if (tmp___0 == 4) {
3749#line 453
3750    goto case_4;
3751  } else {
3752    {
3753#line 472
3754    goto switch_default;
3755#line 374
3756    if (0) {
3757      case_0: /* CIL Label */ ;
3758#line 379
3759      if (ldv_s_zc_driver_hid_driver == 0) {
3760        {
3761#line 387
3762        res_zc_probe_3 = zc_probe(var_group1, var_zc_probe_3_p1);
3763#line 388
3764        ldv_check_return_value(res_zc_probe_3);
3765        }
3766#line 389
3767        if (res_zc_probe_3 != 0) {
3768#line 390
3769          goto ldv_module_exit;
3770        } else {
3771
3772        }
3773#line 391
3774        ldv_s_zc_driver_hid_driver = 0;
3775      } else {
3776
3777      }
3778#line 397
3779      goto ldv_19815;
3780      case_1: /* CIL Label */ 
3781      {
3782#line 406
3783      zc_report_fixup(var_group1, var_zc_report_fixup_0_p1, var_zc_report_fixup_0_p2);
3784      }
3785#line 417
3786      goto ldv_19815;
3787      case_2: /* CIL Label */ 
3788      {
3789#line 426
3790      zc_input_mapping(var_group1, var_group2, var_zc_input_mapping_1_p2, var_zc_input_mapping_1_p3,
3791                       var_zc_input_mapping_1_p4, var_zc_input_mapping_1_p5);
3792      }
3793#line 433
3794      goto ldv_19815;
3795      case_3: /* CIL Label */ 
3796      {
3797#line 445
3798      zc_raw_event(var_group1, var_group3, var_zc_raw_event_2_p2, var_zc_raw_event_2_p3);
3799      }
3800#line 452
3801      goto ldv_19815;
3802      case_4: /* CIL Label */ 
3803      {
3804#line 464
3805      zc_remove(var_group1);
3806      }
3807#line 471
3808      goto ldv_19815;
3809      switch_default: /* CIL Label */ ;
3810#line 472
3811      goto ldv_19815;
3812    } else {
3813      switch_break: /* CIL Label */ ;
3814    }
3815    }
3816  }
3817  ldv_19815: ;
3818  ldv_19822: 
3819  {
3820#line 370
3821  tmp___1 = __VERIFIER_nondet_int();
3822  }
3823#line 370
3824  if (tmp___1 != 0) {
3825#line 372
3826    goto ldv_19821;
3827  } else
3828#line 370
3829  if (ldv_s_zc_driver_hid_driver != 0) {
3830#line 372
3831    goto ldv_19821;
3832  } else {
3833#line 374
3834    goto ldv_19823;
3835  }
3836  ldv_19823: ;
3837  ldv_module_exit: 
3838  {
3839#line 487
3840  zc_exit();
3841  }
3842  ldv_final: 
3843  {
3844#line 490
3845  ldv_check_final_state();
3846  }
3847#line 493
3848  return;
3849}
3850}
3851#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3852void ldv_blast_assert(void) 
3853{ 
3854
3855  {
3856  ERROR: ;
3857#line 6
3858  goto ERROR;
3859}
3860}
3861#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3862extern int __VERIFIER_nondet_int(void) ;
3863#line 514 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3864int ldv_spin  =    0;
3865#line 518 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3866void ldv_check_alloc_flags(gfp_t flags ) 
3867{ 
3868
3869  {
3870#line 521
3871  if (ldv_spin != 0) {
3872#line 521
3873    if (flags != 32U) {
3874      {
3875#line 521
3876      ldv_blast_assert();
3877      }
3878    } else {
3879
3880    }
3881  } else {
3882
3883  }
3884#line 524
3885  return;
3886}
3887}
3888#line 524
3889extern struct page *ldv_some_page(void) ;
3890#line 527 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3891struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) 
3892{ struct page *tmp ;
3893
3894  {
3895#line 530
3896  if (ldv_spin != 0) {
3897#line 530
3898    if (flags != 32U) {
3899      {
3900#line 530
3901      ldv_blast_assert();
3902      }
3903    } else {
3904
3905    }
3906  } else {
3907
3908  }
3909  {
3910#line 532
3911  tmp = ldv_some_page();
3912  }
3913#line 532
3914  return (tmp);
3915}
3916}
3917#line 536 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3918void ldv_check_alloc_nonatomic(void) 
3919{ 
3920
3921  {
3922#line 539
3923  if (ldv_spin != 0) {
3924    {
3925#line 539
3926    ldv_blast_assert();
3927    }
3928  } else {
3929
3930  }
3931#line 542
3932  return;
3933}
3934}
3935#line 543 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3936void ldv_spin_lock(void) 
3937{ 
3938
3939  {
3940#line 546
3941  ldv_spin = 1;
3942#line 547
3943  return;
3944}
3945}
3946#line 550 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3947void ldv_spin_unlock(void) 
3948{ 
3949
3950  {
3951#line 553
3952  ldv_spin = 0;
3953#line 554
3954  return;
3955}
3956}
3957#line 557 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3958int ldv_spin_trylock(void) 
3959{ int is_lock ;
3960
3961  {
3962  {
3963#line 562
3964  is_lock = __VERIFIER_nondet_int();
3965  }
3966#line 564
3967  if (is_lock != 0) {
3968#line 567
3969    return (0);
3970  } else {
3971#line 572
3972    ldv_spin = 1;
3973#line 574
3974    return (1);
3975  }
3976}
3977}
3978#line 741 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3979void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) 
3980{ 
3981
3982  {
3983  {
3984#line 747
3985  ldv_check_alloc_flags(ldv_func_arg2);
3986#line 749
3987  kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3988  }
3989#line 750
3990  return ((void *)0);
3991}
3992}
3993#line 752 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/4869/dscv_tempdir/dscv/ri/43_1a/drivers/hid/hid-zydacron.c.p"
3994__inline static void *kzalloc(size_t size , gfp_t flags ) 
3995{ void *tmp ;
3996
3997  {
3998  {
3999#line 758
4000  ldv_check_alloc_flags(flags);
4001#line 759
4002  tmp = __VERIFIER_nondet_pointer();
4003  }
4004#line 759
4005  return (tmp);
4006}
4007}