Showing error 273

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/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--input--mouse--vsxxxaa.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 4685
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 219 "include/linux/types.h"
  77struct __anonstruct_atomic_t_7 {
  78   int counter ;
  79};
  80#line 219 "include/linux/types.h"
  81typedef struct __anonstruct_atomic_t_7 atomic_t;
  82#line 224 "include/linux/types.h"
  83struct __anonstruct_atomic64_t_8 {
  84   long counter ;
  85};
  86#line 224 "include/linux/types.h"
  87typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  88#line 229 "include/linux/types.h"
  89struct list_head {
  90   struct list_head *next ;
  91   struct list_head *prev ;
  92};
  93#line 233
  94struct hlist_node;
  95#line 233 "include/linux/types.h"
  96struct hlist_head {
  97   struct hlist_node *first ;
  98};
  99#line 237 "include/linux/types.h"
 100struct hlist_node {
 101   struct hlist_node *next ;
 102   struct hlist_node **pprev ;
 103};
 104#line 253 "include/linux/types.h"
 105struct rcu_head {
 106   struct rcu_head *next ;
 107   void (*func)(struct rcu_head *head ) ;
 108};
 109#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 110struct module;
 111#line 56
 112struct module;
 113#line 146 "include/linux/init.h"
 114typedef void (*ctor_fn_t)(void);
 115#line 47 "include/linux/dynamic_debug.h"
 116struct device;
 117#line 47
 118struct device;
 119#line 135 "include/linux/kernel.h"
 120struct completion;
 121#line 135
 122struct completion;
 123#line 349
 124struct pid;
 125#line 349
 126struct pid;
 127#line 12 "include/linux/thread_info.h"
 128struct timespec;
 129#line 12
 130struct timespec;
 131#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 132struct page;
 133#line 18
 134struct page;
 135#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 136struct task_struct;
 137#line 20
 138struct task_struct;
 139#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 140struct task_struct;
 141#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 142struct file;
 143#line 295
 144struct file;
 145#line 313
 146struct seq_file;
 147#line 313
 148struct seq_file;
 149#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 150struct page;
 151#line 52
 152struct task_struct;
 153#line 329
 154struct arch_spinlock;
 155#line 329
 156struct arch_spinlock;
 157#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 158struct task_struct;
 159#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 160struct task_struct;
 161#line 10 "include/asm-generic/bug.h"
 162struct bug_entry {
 163   int bug_addr_disp ;
 164   int file_disp ;
 165   unsigned short line ;
 166   unsigned short flags ;
 167};
 168#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 169struct static_key;
 170#line 234
 171struct static_key;
 172#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 173struct kmem_cache;
 174#line 23 "include/asm-generic/atomic-long.h"
 175typedef atomic64_t atomic_long_t;
 176#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 177typedef u16 __ticket_t;
 178#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 179typedef u32 __ticketpair_t;
 180#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 181struct __raw_tickets {
 182   __ticket_t head ;
 183   __ticket_t tail ;
 184};
 185#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 186union __anonunion____missing_field_name_36 {
 187   __ticketpair_t head_tail ;
 188   struct __raw_tickets tickets ;
 189};
 190#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 191struct arch_spinlock {
 192   union __anonunion____missing_field_name_36 __annonCompField17 ;
 193};
 194#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 195typedef struct arch_spinlock arch_spinlock_t;
 196#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 197struct __anonstruct____missing_field_name_38 {
 198   u32 read ;
 199   s32 write ;
 200};
 201#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 202union __anonunion_arch_rwlock_t_37 {
 203   s64 lock ;
 204   struct __anonstruct____missing_field_name_38 __annonCompField18 ;
 205};
 206#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 207typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
 208#line 12 "include/linux/lockdep.h"
 209struct task_struct;
 210#line 391 "include/linux/lockdep.h"
 211struct lock_class_key {
 212
 213};
 214#line 20 "include/linux/spinlock_types.h"
 215struct raw_spinlock {
 216   arch_spinlock_t raw_lock ;
 217   unsigned int magic ;
 218   unsigned int owner_cpu ;
 219   void *owner ;
 220};
 221#line 20 "include/linux/spinlock_types.h"
 222typedef struct raw_spinlock raw_spinlock_t;
 223#line 64 "include/linux/spinlock_types.h"
 224union __anonunion____missing_field_name_39 {
 225   struct raw_spinlock rlock ;
 226};
 227#line 64 "include/linux/spinlock_types.h"
 228struct spinlock {
 229   union __anonunion____missing_field_name_39 __annonCompField19 ;
 230};
 231#line 64 "include/linux/spinlock_types.h"
 232typedef struct spinlock spinlock_t;
 233#line 11 "include/linux/rwlock_types.h"
 234struct __anonstruct_rwlock_t_40 {
 235   arch_rwlock_t raw_lock ;
 236   unsigned int magic ;
 237   unsigned int owner_cpu ;
 238   void *owner ;
 239};
 240#line 11 "include/linux/rwlock_types.h"
 241typedef struct __anonstruct_rwlock_t_40 rwlock_t;
 242#line 119 "include/linux/seqlock.h"
 243struct seqcount {
 244   unsigned int sequence ;
 245};
 246#line 119 "include/linux/seqlock.h"
 247typedef struct seqcount seqcount_t;
 248#line 14 "include/linux/time.h"
 249struct timespec {
 250   __kernel_time_t tv_sec ;
 251   long tv_nsec ;
 252};
 253#line 62 "include/linux/stat.h"
 254struct kstat {
 255   u64 ino ;
 256   dev_t dev ;
 257   umode_t mode ;
 258   unsigned int nlink ;
 259   uid_t uid ;
 260   gid_t gid ;
 261   dev_t rdev ;
 262   loff_t size ;
 263   struct timespec atime ;
 264   struct timespec mtime ;
 265   struct timespec ctime ;
 266   unsigned long blksize ;
 267   unsigned long long blocks ;
 268};
 269#line 49 "include/linux/wait.h"
 270struct __wait_queue_head {
 271   spinlock_t lock ;
 272   struct list_head task_list ;
 273};
 274#line 53 "include/linux/wait.h"
 275typedef struct __wait_queue_head wait_queue_head_t;
 276#line 55
 277struct task_struct;
 278#line 60 "include/linux/pageblock-flags.h"
 279struct page;
 280#line 48 "include/linux/mutex.h"
 281struct mutex {
 282   atomic_t count ;
 283   spinlock_t wait_lock ;
 284   struct list_head wait_list ;
 285   struct task_struct *owner ;
 286   char const   *name ;
 287   void *magic ;
 288};
 289#line 19 "include/linux/rwsem.h"
 290struct rw_semaphore;
 291#line 19
 292struct rw_semaphore;
 293#line 25 "include/linux/rwsem.h"
 294struct rw_semaphore {
 295   long count ;
 296   raw_spinlock_t wait_lock ;
 297   struct list_head wait_list ;
 298};
 299#line 25 "include/linux/completion.h"
 300struct completion {
 301   unsigned int done ;
 302   wait_queue_head_t wait ;
 303};
 304#line 9 "include/linux/memory_hotplug.h"
 305struct page;
 306#line 202 "include/linux/ioport.h"
 307struct device;
 308#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 309struct device;
 310#line 46 "include/linux/ktime.h"
 311union ktime {
 312   s64 tv64 ;
 313};
 314#line 59 "include/linux/ktime.h"
 315typedef union ktime ktime_t;
 316#line 10 "include/linux/timer.h"
 317struct tvec_base;
 318#line 10
 319struct tvec_base;
 320#line 12 "include/linux/timer.h"
 321struct timer_list {
 322   struct list_head entry ;
 323   unsigned long expires ;
 324   struct tvec_base *base ;
 325   void (*function)(unsigned long  ) ;
 326   unsigned long data ;
 327   int slack ;
 328   int start_pid ;
 329   void *start_site ;
 330   char start_comm[16] ;
 331};
 332#line 17 "include/linux/workqueue.h"
 333struct work_struct;
 334#line 17
 335struct work_struct;
 336#line 79 "include/linux/workqueue.h"
 337struct work_struct {
 338   atomic_long_t data ;
 339   struct list_head entry ;
 340   void (*func)(struct work_struct *work ) ;
 341};
 342#line 42 "include/linux/pm.h"
 343struct device;
 344#line 50 "include/linux/pm.h"
 345struct pm_message {
 346   int event ;
 347};
 348#line 50 "include/linux/pm.h"
 349typedef struct pm_message pm_message_t;
 350#line 264 "include/linux/pm.h"
 351struct dev_pm_ops {
 352   int (*prepare)(struct device *dev ) ;
 353   void (*complete)(struct device *dev ) ;
 354   int (*suspend)(struct device *dev ) ;
 355   int (*resume)(struct device *dev ) ;
 356   int (*freeze)(struct device *dev ) ;
 357   int (*thaw)(struct device *dev ) ;
 358   int (*poweroff)(struct device *dev ) ;
 359   int (*restore)(struct device *dev ) ;
 360   int (*suspend_late)(struct device *dev ) ;
 361   int (*resume_early)(struct device *dev ) ;
 362   int (*freeze_late)(struct device *dev ) ;
 363   int (*thaw_early)(struct device *dev ) ;
 364   int (*poweroff_late)(struct device *dev ) ;
 365   int (*restore_early)(struct device *dev ) ;
 366   int (*suspend_noirq)(struct device *dev ) ;
 367   int (*resume_noirq)(struct device *dev ) ;
 368   int (*freeze_noirq)(struct device *dev ) ;
 369   int (*thaw_noirq)(struct device *dev ) ;
 370   int (*poweroff_noirq)(struct device *dev ) ;
 371   int (*restore_noirq)(struct device *dev ) ;
 372   int (*runtime_suspend)(struct device *dev ) ;
 373   int (*runtime_resume)(struct device *dev ) ;
 374   int (*runtime_idle)(struct device *dev ) ;
 375};
 376#line 458
 377enum rpm_status {
 378    RPM_ACTIVE = 0,
 379    RPM_RESUMING = 1,
 380    RPM_SUSPENDED = 2,
 381    RPM_SUSPENDING = 3
 382} ;
 383#line 480
 384enum rpm_request {
 385    RPM_REQ_NONE = 0,
 386    RPM_REQ_IDLE = 1,
 387    RPM_REQ_SUSPEND = 2,
 388    RPM_REQ_AUTOSUSPEND = 3,
 389    RPM_REQ_RESUME = 4
 390} ;
 391#line 488
 392struct wakeup_source;
 393#line 488
 394struct wakeup_source;
 395#line 495 "include/linux/pm.h"
 396struct pm_subsys_data {
 397   spinlock_t lock ;
 398   unsigned int refcount ;
 399};
 400#line 506
 401struct dev_pm_qos_request;
 402#line 506
 403struct pm_qos_constraints;
 404#line 506 "include/linux/pm.h"
 405struct dev_pm_info {
 406   pm_message_t power_state ;
 407   unsigned int can_wakeup : 1 ;
 408   unsigned int async_suspend : 1 ;
 409   bool is_prepared : 1 ;
 410   bool is_suspended : 1 ;
 411   bool ignore_children : 1 ;
 412   spinlock_t lock ;
 413   struct list_head entry ;
 414   struct completion completion ;
 415   struct wakeup_source *wakeup ;
 416   bool wakeup_path : 1 ;
 417   struct timer_list suspend_timer ;
 418   unsigned long timer_expires ;
 419   struct work_struct work ;
 420   wait_queue_head_t wait_queue ;
 421   atomic_t usage_count ;
 422   atomic_t child_count ;
 423   unsigned int disable_depth : 3 ;
 424   unsigned int idle_notification : 1 ;
 425   unsigned int request_pending : 1 ;
 426   unsigned int deferred_resume : 1 ;
 427   unsigned int run_wake : 1 ;
 428   unsigned int runtime_auto : 1 ;
 429   unsigned int no_callbacks : 1 ;
 430   unsigned int irq_safe : 1 ;
 431   unsigned int use_autosuspend : 1 ;
 432   unsigned int timer_autosuspends : 1 ;
 433   enum rpm_request request ;
 434   enum rpm_status runtime_status ;
 435   int runtime_error ;
 436   int autosuspend_delay ;
 437   unsigned long last_busy ;
 438   unsigned long active_jiffies ;
 439   unsigned long suspended_jiffies ;
 440   unsigned long accounting_timestamp ;
 441   ktime_t suspend_time ;
 442   s64 max_time_suspended_ns ;
 443   struct dev_pm_qos_request *pq_req ;
 444   struct pm_subsys_data *subsys_data ;
 445   struct pm_qos_constraints *constraints ;
 446};
 447#line 564 "include/linux/pm.h"
 448struct dev_pm_domain {
 449   struct dev_pm_ops ops ;
 450};
 451#line 8 "include/linux/vmalloc.h"
 452struct vm_area_struct;
 453#line 8
 454struct vm_area_struct;
 455#line 994 "include/linux/mmzone.h"
 456struct page;
 457#line 10 "include/linux/gfp.h"
 458struct vm_area_struct;
 459#line 29 "include/linux/sysctl.h"
 460struct completion;
 461#line 48 "include/linux/kmod.h"
 462struct cred;
 463#line 48
 464struct cred;
 465#line 49
 466struct file;
 467#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 468struct task_struct;
 469#line 18 "include/linux/elf.h"
 470typedef __u64 Elf64_Addr;
 471#line 19 "include/linux/elf.h"
 472typedef __u16 Elf64_Half;
 473#line 23 "include/linux/elf.h"
 474typedef __u32 Elf64_Word;
 475#line 24 "include/linux/elf.h"
 476typedef __u64 Elf64_Xword;
 477#line 194 "include/linux/elf.h"
 478struct elf64_sym {
 479   Elf64_Word st_name ;
 480   unsigned char st_info ;
 481   unsigned char st_other ;
 482   Elf64_Half st_shndx ;
 483   Elf64_Addr st_value ;
 484   Elf64_Xword st_size ;
 485};
 486#line 194 "include/linux/elf.h"
 487typedef struct elf64_sym Elf64_Sym;
 488#line 438
 489struct file;
 490#line 20 "include/linux/kobject_ns.h"
 491struct sock;
 492#line 20
 493struct sock;
 494#line 21
 495struct kobject;
 496#line 21
 497struct kobject;
 498#line 27
 499enum kobj_ns_type {
 500    KOBJ_NS_TYPE_NONE = 0,
 501    KOBJ_NS_TYPE_NET = 1,
 502    KOBJ_NS_TYPES = 2
 503} ;
 504#line 40 "include/linux/kobject_ns.h"
 505struct kobj_ns_type_operations {
 506   enum kobj_ns_type type ;
 507   void *(*grab_current_ns)(void) ;
 508   void const   *(*netlink_ns)(struct sock *sk ) ;
 509   void const   *(*initial_ns)(void) ;
 510   void (*drop_ns)(void * ) ;
 511};
 512#line 22 "include/linux/sysfs.h"
 513struct kobject;
 514#line 23
 515struct module;
 516#line 24
 517enum kobj_ns_type;
 518#line 26 "include/linux/sysfs.h"
 519struct attribute {
 520   char const   *name ;
 521   umode_t mode ;
 522};
 523#line 56 "include/linux/sysfs.h"
 524struct attribute_group {
 525   char const   *name ;
 526   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 527   struct attribute **attrs ;
 528};
 529#line 85
 530struct file;
 531#line 86
 532struct vm_area_struct;
 533#line 88 "include/linux/sysfs.h"
 534struct bin_attribute {
 535   struct attribute attr ;
 536   size_t size ;
 537   void *private ;
 538   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 539                   loff_t  , size_t  ) ;
 540   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 541                    loff_t  , size_t  ) ;
 542   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 543};
 544#line 112 "include/linux/sysfs.h"
 545struct sysfs_ops {
 546   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 547   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 548   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 549};
 550#line 118
 551struct sysfs_dirent;
 552#line 118
 553struct sysfs_dirent;
 554#line 22 "include/linux/kref.h"
 555struct kref {
 556   atomic_t refcount ;
 557};
 558#line 60 "include/linux/kobject.h"
 559struct kset;
 560#line 60
 561struct kobj_type;
 562#line 60 "include/linux/kobject.h"
 563struct kobject {
 564   char const   *name ;
 565   struct list_head entry ;
 566   struct kobject *parent ;
 567   struct kset *kset ;
 568   struct kobj_type *ktype ;
 569   struct sysfs_dirent *sd ;
 570   struct kref kref ;
 571   unsigned int state_initialized : 1 ;
 572   unsigned int state_in_sysfs : 1 ;
 573   unsigned int state_add_uevent_sent : 1 ;
 574   unsigned int state_remove_uevent_sent : 1 ;
 575   unsigned int uevent_suppress : 1 ;
 576};
 577#line 108 "include/linux/kobject.h"
 578struct kobj_type {
 579   void (*release)(struct kobject *kobj ) ;
 580   struct sysfs_ops  const  *sysfs_ops ;
 581   struct attribute **default_attrs ;
 582   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 583   void const   *(*namespace)(struct kobject *kobj ) ;
 584};
 585#line 116 "include/linux/kobject.h"
 586struct kobj_uevent_env {
 587   char *envp[32] ;
 588   int envp_idx ;
 589   char buf[2048] ;
 590   int buflen ;
 591};
 592#line 123 "include/linux/kobject.h"
 593struct kset_uevent_ops {
 594   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 595   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 596   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 597};
 598#line 140
 599struct sock;
 600#line 159 "include/linux/kobject.h"
 601struct kset {
 602   struct list_head list ;
 603   spinlock_t list_lock ;
 604   struct kobject kobj ;
 605   struct kset_uevent_ops  const  *uevent_ops ;
 606};
 607#line 39 "include/linux/moduleparam.h"
 608struct kernel_param;
 609#line 39
 610struct kernel_param;
 611#line 41 "include/linux/moduleparam.h"
 612struct kernel_param_ops {
 613   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 614   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 615   void (*free)(void *arg ) ;
 616};
 617#line 50
 618struct kparam_string;
 619#line 50
 620struct kparam_array;
 621#line 50 "include/linux/moduleparam.h"
 622union __anonunion____missing_field_name_199 {
 623   void *arg ;
 624   struct kparam_string  const  *str ;
 625   struct kparam_array  const  *arr ;
 626};
 627#line 50 "include/linux/moduleparam.h"
 628struct kernel_param {
 629   char const   *name ;
 630   struct kernel_param_ops  const  *ops ;
 631   u16 perm ;
 632   s16 level ;
 633   union __anonunion____missing_field_name_199 __annonCompField32 ;
 634};
 635#line 63 "include/linux/moduleparam.h"
 636struct kparam_string {
 637   unsigned int maxlen ;
 638   char *string ;
 639};
 640#line 69 "include/linux/moduleparam.h"
 641struct kparam_array {
 642   unsigned int max ;
 643   unsigned int elemsize ;
 644   unsigned int *num ;
 645   struct kernel_param_ops  const  *ops ;
 646   void *elem ;
 647};
 648#line 445
 649struct module;
 650#line 80 "include/linux/jump_label.h"
 651struct module;
 652#line 143 "include/linux/jump_label.h"
 653struct static_key {
 654   atomic_t enabled ;
 655};
 656#line 22 "include/linux/tracepoint.h"
 657struct module;
 658#line 23
 659struct tracepoint;
 660#line 23
 661struct tracepoint;
 662#line 25 "include/linux/tracepoint.h"
 663struct tracepoint_func {
 664   void *func ;
 665   void *data ;
 666};
 667#line 30 "include/linux/tracepoint.h"
 668struct tracepoint {
 669   char const   *name ;
 670   struct static_key key ;
 671   void (*regfunc)(void) ;
 672   void (*unregfunc)(void) ;
 673   struct tracepoint_func *funcs ;
 674};
 675#line 19 "include/linux/export.h"
 676struct kernel_symbol {
 677   unsigned long value ;
 678   char const   *name ;
 679};
 680#line 8 "include/asm-generic/module.h"
 681struct mod_arch_specific {
 682
 683};
 684#line 35 "include/linux/module.h"
 685struct module;
 686#line 37
 687struct module_param_attrs;
 688#line 37 "include/linux/module.h"
 689struct module_kobject {
 690   struct kobject kobj ;
 691   struct module *mod ;
 692   struct kobject *drivers_dir ;
 693   struct module_param_attrs *mp ;
 694};
 695#line 44 "include/linux/module.h"
 696struct module_attribute {
 697   struct attribute attr ;
 698   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 699   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 700                    size_t count ) ;
 701   void (*setup)(struct module * , char const   * ) ;
 702   int (*test)(struct module * ) ;
 703   void (*free)(struct module * ) ;
 704};
 705#line 71
 706struct exception_table_entry;
 707#line 71
 708struct exception_table_entry;
 709#line 199
 710enum module_state {
 711    MODULE_STATE_LIVE = 0,
 712    MODULE_STATE_COMING = 1,
 713    MODULE_STATE_GOING = 2
 714} ;
 715#line 215 "include/linux/module.h"
 716struct module_ref {
 717   unsigned long incs ;
 718   unsigned long decs ;
 719} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 720#line 220
 721struct module_sect_attrs;
 722#line 220
 723struct module_notes_attrs;
 724#line 220
 725struct ftrace_event_call;
 726#line 220 "include/linux/module.h"
 727struct module {
 728   enum module_state state ;
 729   struct list_head list ;
 730   char name[64UL - sizeof(unsigned long )] ;
 731   struct module_kobject mkobj ;
 732   struct module_attribute *modinfo_attrs ;
 733   char const   *version ;
 734   char const   *srcversion ;
 735   struct kobject *holders_dir ;
 736   struct kernel_symbol  const  *syms ;
 737   unsigned long const   *crcs ;
 738   unsigned int num_syms ;
 739   struct kernel_param *kp ;
 740   unsigned int num_kp ;
 741   unsigned int num_gpl_syms ;
 742   struct kernel_symbol  const  *gpl_syms ;
 743   unsigned long const   *gpl_crcs ;
 744   struct kernel_symbol  const  *unused_syms ;
 745   unsigned long const   *unused_crcs ;
 746   unsigned int num_unused_syms ;
 747   unsigned int num_unused_gpl_syms ;
 748   struct kernel_symbol  const  *unused_gpl_syms ;
 749   unsigned long const   *unused_gpl_crcs ;
 750   struct kernel_symbol  const  *gpl_future_syms ;
 751   unsigned long const   *gpl_future_crcs ;
 752   unsigned int num_gpl_future_syms ;
 753   unsigned int num_exentries ;
 754   struct exception_table_entry *extable ;
 755   int (*init)(void) ;
 756   void *module_init ;
 757   void *module_core ;
 758   unsigned int init_size ;
 759   unsigned int core_size ;
 760   unsigned int init_text_size ;
 761   unsigned int core_text_size ;
 762   unsigned int init_ro_size ;
 763   unsigned int core_ro_size ;
 764   struct mod_arch_specific arch ;
 765   unsigned int taints ;
 766   unsigned int num_bugs ;
 767   struct list_head bug_list ;
 768   struct bug_entry *bug_table ;
 769   Elf64_Sym *symtab ;
 770   Elf64_Sym *core_symtab ;
 771   unsigned int num_symtab ;
 772   unsigned int core_num_syms ;
 773   char *strtab ;
 774   char *core_strtab ;
 775   struct module_sect_attrs *sect_attrs ;
 776   struct module_notes_attrs *notes_attrs ;
 777   char *args ;
 778   void *percpu ;
 779   unsigned int percpu_size ;
 780   unsigned int num_tracepoints ;
 781   struct tracepoint * const  *tracepoints_ptrs ;
 782   unsigned int num_trace_bprintk_fmt ;
 783   char const   **trace_bprintk_fmt_start ;
 784   struct ftrace_event_call **trace_events ;
 785   unsigned int num_trace_events ;
 786   struct list_head source_list ;
 787   struct list_head target_list ;
 788   struct task_struct *waiter ;
 789   void (*exit)(void) ;
 790   struct module_ref *refptr ;
 791   ctor_fn_t *ctors ;
 792   unsigned int num_ctors ;
 793};
 794#line 46 "include/linux/slub_def.h"
 795struct kmem_cache_cpu {
 796   void **freelist ;
 797   unsigned long tid ;
 798   struct page *page ;
 799   struct page *partial ;
 800   int node ;
 801   unsigned int stat[26] ;
 802};
 803#line 57 "include/linux/slub_def.h"
 804struct kmem_cache_node {
 805   spinlock_t list_lock ;
 806   unsigned long nr_partial ;
 807   struct list_head partial ;
 808   atomic_long_t nr_slabs ;
 809   atomic_long_t total_objects ;
 810   struct list_head full ;
 811};
 812#line 73 "include/linux/slub_def.h"
 813struct kmem_cache_order_objects {
 814   unsigned long x ;
 815};
 816#line 80 "include/linux/slub_def.h"
 817struct kmem_cache {
 818   struct kmem_cache_cpu *cpu_slab ;
 819   unsigned long flags ;
 820   unsigned long min_partial ;
 821   int size ;
 822   int objsize ;
 823   int offset ;
 824   int cpu_partial ;
 825   struct kmem_cache_order_objects oo ;
 826   struct kmem_cache_order_objects max ;
 827   struct kmem_cache_order_objects min ;
 828   gfp_t allocflags ;
 829   int refcount ;
 830   void (*ctor)(void * ) ;
 831   int inuse ;
 832   int align ;
 833   int reserved ;
 834   char const   *name ;
 835   struct list_head list ;
 836   struct kobject kobj ;
 837   int remote_node_defrag_ratio ;
 838   struct kmem_cache_node *node[1 << 10] ;
 839};
 840#line 10 "include/linux/irqreturn.h"
 841enum irqreturn {
 842    IRQ_NONE = 0,
 843    IRQ_HANDLED = 1,
 844    IRQ_WAKE_THREAD = 2
 845} ;
 846#line 16 "include/linux/irqreturn.h"
 847typedef enum irqreturn irqreturn_t;
 848#line 31 "include/linux/irq.h"
 849struct seq_file;
 850#line 32
 851struct module;
 852#line 14 "include/linux/irqdesc.h"
 853struct module;
 854#line 65 "include/linux/profile.h"
 855struct task_struct;
 856#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
 857struct exception_table_entry {
 858   unsigned long insn ;
 859   unsigned long fixup ;
 860};
 861#line 132 "include/linux/hardirq.h"
 862struct task_struct;
 863#line 187 "include/linux/interrupt.h"
 864struct device;
 865#line 695
 866struct seq_file;
 867#line 43 "include/linux/input.h"
 868struct input_id {
 869   __u16 bustype ;
 870   __u16 vendor ;
 871   __u16 product ;
 872   __u16 version ;
 873};
 874#line 69 "include/linux/input.h"
 875struct input_absinfo {
 876   __s32 value ;
 877   __s32 minimum ;
 878   __s32 maximum ;
 879   __s32 fuzz ;
 880   __s32 flat ;
 881   __s32 resolution ;
 882};
 883#line 93 "include/linux/input.h"
 884struct input_keymap_entry {
 885   __u8 flags ;
 886   __u8 len ;
 887   __u16 index ;
 888   __u32 keycode ;
 889   __u8 scancode[32] ;
 890};
 891#line 957 "include/linux/input.h"
 892struct ff_replay {
 893   __u16 length ;
 894   __u16 delay ;
 895};
 896#line 967 "include/linux/input.h"
 897struct ff_trigger {
 898   __u16 button ;
 899   __u16 interval ;
 900};
 901#line 984 "include/linux/input.h"
 902struct ff_envelope {
 903   __u16 attack_length ;
 904   __u16 attack_level ;
 905   __u16 fade_length ;
 906   __u16 fade_level ;
 907};
 908#line 996 "include/linux/input.h"
 909struct ff_constant_effect {
 910   __s16 level ;
 911   struct ff_envelope envelope ;
 912};
 913#line 1007 "include/linux/input.h"
 914struct ff_ramp_effect {
 915   __s16 start_level ;
 916   __s16 end_level ;
 917   struct ff_envelope envelope ;
 918};
 919#line 1023 "include/linux/input.h"
 920struct ff_condition_effect {
 921   __u16 right_saturation ;
 922   __u16 left_saturation ;
 923   __s16 right_coeff ;
 924   __s16 left_coeff ;
 925   __u16 deadband ;
 926   __s16 center ;
 927};
 928#line 1052 "include/linux/input.h"
 929struct ff_periodic_effect {
 930   __u16 waveform ;
 931   __u16 period ;
 932   __s16 magnitude ;
 933   __s16 offset ;
 934   __u16 phase ;
 935   struct ff_envelope envelope ;
 936   __u32 custom_len ;
 937   __s16 *custom_data ;
 938};
 939#line 1073 "include/linux/input.h"
 940struct ff_rumble_effect {
 941   __u16 strong_magnitude ;
 942   __u16 weak_magnitude ;
 943};
 944#line 1101 "include/linux/input.h"
 945union __anonunion_u_209 {
 946   struct ff_constant_effect constant ;
 947   struct ff_ramp_effect ramp ;
 948   struct ff_periodic_effect periodic ;
 949   struct ff_condition_effect condition[2] ;
 950   struct ff_rumble_effect rumble ;
 951};
 952#line 1101 "include/linux/input.h"
 953struct ff_effect {
 954   __u16 type ;
 955   __s16 id ;
 956   __u16 direction ;
 957   struct ff_trigger trigger ;
 958   struct ff_replay replay ;
 959   union __anonunion_u_209 u ;
 960};
 961#line 19 "include/linux/klist.h"
 962struct klist_node;
 963#line 19
 964struct klist_node;
 965#line 39 "include/linux/klist.h"
 966struct klist_node {
 967   void *n_klist ;
 968   struct list_head n_node ;
 969   struct kref n_ref ;
 970};
 971#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 972struct dma_map_ops;
 973#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
 974struct dev_archdata {
 975   void *acpi_handle ;
 976   struct dma_map_ops *dma_ops ;
 977   void *iommu ;
 978};
 979#line 28 "include/linux/device.h"
 980struct device;
 981#line 29
 982struct device_private;
 983#line 29
 984struct device_private;
 985#line 30
 986struct device_driver;
 987#line 30
 988struct device_driver;
 989#line 31
 990struct driver_private;
 991#line 31
 992struct driver_private;
 993#line 32
 994struct module;
 995#line 33
 996struct class;
 997#line 33
 998struct class;
 999#line 34
1000struct subsys_private;
1001#line 34
1002struct subsys_private;
1003#line 35
1004struct bus_type;
1005#line 35
1006struct bus_type;
1007#line 36
1008struct device_node;
1009#line 36
1010struct device_node;
1011#line 37
1012struct iommu_ops;
1013#line 37
1014struct iommu_ops;
1015#line 39 "include/linux/device.h"
1016struct bus_attribute {
1017   struct attribute attr ;
1018   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1019   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1020};
1021#line 89
1022struct device_attribute;
1023#line 89
1024struct driver_attribute;
1025#line 89 "include/linux/device.h"
1026struct bus_type {
1027   char const   *name ;
1028   char const   *dev_name ;
1029   struct device *dev_root ;
1030   struct bus_attribute *bus_attrs ;
1031   struct device_attribute *dev_attrs ;
1032   struct driver_attribute *drv_attrs ;
1033   int (*match)(struct device *dev , struct device_driver *drv ) ;
1034   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1035   int (*probe)(struct device *dev ) ;
1036   int (*remove)(struct device *dev ) ;
1037   void (*shutdown)(struct device *dev ) ;
1038   int (*suspend)(struct device *dev , pm_message_t state ) ;
1039   int (*resume)(struct device *dev ) ;
1040   struct dev_pm_ops  const  *pm ;
1041   struct iommu_ops *iommu_ops ;
1042   struct subsys_private *p ;
1043};
1044#line 127
1045struct device_type;
1046#line 214
1047struct of_device_id;
1048#line 214 "include/linux/device.h"
1049struct device_driver {
1050   char const   *name ;
1051   struct bus_type *bus ;
1052   struct module *owner ;
1053   char const   *mod_name ;
1054   bool suppress_bind_attrs ;
1055   struct of_device_id  const  *of_match_table ;
1056   int (*probe)(struct device *dev ) ;
1057   int (*remove)(struct device *dev ) ;
1058   void (*shutdown)(struct device *dev ) ;
1059   int (*suspend)(struct device *dev , pm_message_t state ) ;
1060   int (*resume)(struct device *dev ) ;
1061   struct attribute_group  const  **groups ;
1062   struct dev_pm_ops  const  *pm ;
1063   struct driver_private *p ;
1064};
1065#line 249 "include/linux/device.h"
1066struct driver_attribute {
1067   struct attribute attr ;
1068   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1069   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1070};
1071#line 330
1072struct class_attribute;
1073#line 330 "include/linux/device.h"
1074struct class {
1075   char const   *name ;
1076   struct module *owner ;
1077   struct class_attribute *class_attrs ;
1078   struct device_attribute *dev_attrs ;
1079   struct bin_attribute *dev_bin_attrs ;
1080   struct kobject *dev_kobj ;
1081   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1082   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1083   void (*class_release)(struct class *class ) ;
1084   void (*dev_release)(struct device *dev ) ;
1085   int (*suspend)(struct device *dev , pm_message_t state ) ;
1086   int (*resume)(struct device *dev ) ;
1087   struct kobj_ns_type_operations  const  *ns_type ;
1088   void const   *(*namespace)(struct device *dev ) ;
1089   struct dev_pm_ops  const  *pm ;
1090   struct subsys_private *p ;
1091};
1092#line 397 "include/linux/device.h"
1093struct class_attribute {
1094   struct attribute attr ;
1095   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1096   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1097                    size_t count ) ;
1098   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
1099};
1100#line 465 "include/linux/device.h"
1101struct device_type {
1102   char const   *name ;
1103   struct attribute_group  const  **groups ;
1104   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1105   char *(*devnode)(struct device *dev , umode_t *mode ) ;
1106   void (*release)(struct device *dev ) ;
1107   struct dev_pm_ops  const  *pm ;
1108};
1109#line 476 "include/linux/device.h"
1110struct device_attribute {
1111   struct attribute attr ;
1112   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1113   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1114                    size_t count ) ;
1115};
1116#line 559 "include/linux/device.h"
1117struct device_dma_parameters {
1118   unsigned int max_segment_size ;
1119   unsigned long segment_boundary_mask ;
1120};
1121#line 627
1122struct dma_coherent_mem;
1123#line 627 "include/linux/device.h"
1124struct device {
1125   struct device *parent ;
1126   struct device_private *p ;
1127   struct kobject kobj ;
1128   char const   *init_name ;
1129   struct device_type  const  *type ;
1130   struct mutex mutex ;
1131   struct bus_type *bus ;
1132   struct device_driver *driver ;
1133   void *platform_data ;
1134   struct dev_pm_info power ;
1135   struct dev_pm_domain *pm_domain ;
1136   int numa_node ;
1137   u64 *dma_mask ;
1138   u64 coherent_dma_mask ;
1139   struct device_dma_parameters *dma_parms ;
1140   struct list_head dma_pools ;
1141   struct dma_coherent_mem *dma_mem ;
1142   struct dev_archdata archdata ;
1143   struct device_node *of_node ;
1144   dev_t devt ;
1145   u32 id ;
1146   spinlock_t devres_lock ;
1147   struct list_head devres_head ;
1148   struct klist_node knode_class ;
1149   struct class *class ;
1150   struct attribute_group  const  **groups ;
1151   void (*release)(struct device *dev ) ;
1152};
1153#line 43 "include/linux/pm_wakeup.h"
1154struct wakeup_source {
1155   char const   *name ;
1156   struct list_head entry ;
1157   spinlock_t lock ;
1158   struct timer_list timer ;
1159   unsigned long timer_expires ;
1160   ktime_t total_time ;
1161   ktime_t max_time ;
1162   ktime_t last_time ;
1163   unsigned long event_count ;
1164   unsigned long active_count ;
1165   unsigned long relax_count ;
1166   unsigned long hit_count ;
1167   unsigned int active : 1 ;
1168};
1169#line 15 "include/linux/blk_types.h"
1170struct page;
1171#line 16
1172struct block_device;
1173#line 16
1174struct block_device;
1175#line 33 "include/linux/list_bl.h"
1176struct hlist_bl_node;
1177#line 33 "include/linux/list_bl.h"
1178struct hlist_bl_head {
1179   struct hlist_bl_node *first ;
1180};
1181#line 37 "include/linux/list_bl.h"
1182struct hlist_bl_node {
1183   struct hlist_bl_node *next ;
1184   struct hlist_bl_node **pprev ;
1185};
1186#line 13 "include/linux/dcache.h"
1187struct nameidata;
1188#line 13
1189struct nameidata;
1190#line 14
1191struct path;
1192#line 14
1193struct path;
1194#line 15
1195struct vfsmount;
1196#line 15
1197struct vfsmount;
1198#line 35 "include/linux/dcache.h"
1199struct qstr {
1200   unsigned int hash ;
1201   unsigned int len ;
1202   unsigned char const   *name ;
1203};
1204#line 88
1205struct inode;
1206#line 88
1207struct dentry_operations;
1208#line 88
1209struct super_block;
1210#line 88 "include/linux/dcache.h"
1211union __anonunion_d_u_210 {
1212   struct list_head d_child ;
1213   struct rcu_head d_rcu ;
1214};
1215#line 88 "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[32] ;
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_210 d_u ;
1232   struct list_head d_subdirs ;
1233   struct list_head d_alias ;
1234};
1235#line 131 "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} __attribute__((__aligned__((1) <<  (6) ))) ;
1249#line 4 "include/linux/path.h"
1250struct dentry;
1251#line 5
1252struct vfsmount;
1253#line 7 "include/linux/path.h"
1254struct path {
1255   struct vfsmount *mnt ;
1256   struct dentry *dentry ;
1257};
1258#line 64 "include/linux/radix-tree.h"
1259struct radix_tree_node;
1260#line 64 "include/linux/radix-tree.h"
1261struct radix_tree_root {
1262   unsigned int height ;
1263   gfp_t gfp_mask ;
1264   struct radix_tree_node *rnode ;
1265};
1266#line 14 "include/linux/prio_tree.h"
1267struct prio_tree_node;
1268#line 20 "include/linux/prio_tree.h"
1269struct prio_tree_node {
1270   struct prio_tree_node *left ;
1271   struct prio_tree_node *right ;
1272   struct prio_tree_node *parent ;
1273   unsigned long start ;
1274   unsigned long last ;
1275};
1276#line 28 "include/linux/prio_tree.h"
1277struct prio_tree_root {
1278   struct prio_tree_node *prio_tree_node ;
1279   unsigned short index_bits ;
1280   unsigned short raw ;
1281};
1282#line 6 "include/linux/pid.h"
1283enum pid_type {
1284    PIDTYPE_PID = 0,
1285    PIDTYPE_PGID = 1,
1286    PIDTYPE_SID = 2,
1287    PIDTYPE_MAX = 3
1288} ;
1289#line 50
1290struct pid_namespace;
1291#line 50 "include/linux/pid.h"
1292struct upid {
1293   int nr ;
1294   struct pid_namespace *ns ;
1295   struct hlist_node pid_chain ;
1296};
1297#line 57 "include/linux/pid.h"
1298struct pid {
1299   atomic_t count ;
1300   unsigned int level ;
1301   struct hlist_head tasks[3] ;
1302   struct rcu_head rcu ;
1303   struct upid numbers[1] ;
1304};
1305#line 100
1306struct pid_namespace;
1307#line 18 "include/linux/capability.h"
1308struct task_struct;
1309#line 377
1310struct dentry;
1311#line 16 "include/linux/fiemap.h"
1312struct fiemap_extent {
1313   __u64 fe_logical ;
1314   __u64 fe_physical ;
1315   __u64 fe_length ;
1316   __u64 fe_reserved64[2] ;
1317   __u32 fe_flags ;
1318   __u32 fe_reserved[3] ;
1319};
1320#line 8 "include/linux/shrinker.h"
1321struct shrink_control {
1322   gfp_t gfp_mask ;
1323   unsigned long nr_to_scan ;
1324};
1325#line 31 "include/linux/shrinker.h"
1326struct shrinker {
1327   int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1328   int seeks ;
1329   long batch ;
1330   struct list_head list ;
1331   atomic_long_t nr_in_batch ;
1332};
1333#line 10 "include/linux/migrate_mode.h"
1334enum migrate_mode {
1335    MIGRATE_ASYNC = 0,
1336    MIGRATE_SYNC_LIGHT = 1,
1337    MIGRATE_SYNC = 2
1338} ;
1339#line 408 "include/linux/fs.h"
1340struct export_operations;
1341#line 408
1342struct export_operations;
1343#line 410
1344struct iovec;
1345#line 410
1346struct iovec;
1347#line 411
1348struct nameidata;
1349#line 412
1350struct kiocb;
1351#line 412
1352struct kiocb;
1353#line 413
1354struct kobject;
1355#line 414
1356struct pipe_inode_info;
1357#line 414
1358struct pipe_inode_info;
1359#line 415
1360struct poll_table_struct;
1361#line 415
1362struct poll_table_struct;
1363#line 416
1364struct kstatfs;
1365#line 416
1366struct kstatfs;
1367#line 417
1368struct vm_area_struct;
1369#line 418
1370struct vfsmount;
1371#line 419
1372struct cred;
1373#line 469 "include/linux/fs.h"
1374struct iattr {
1375   unsigned int ia_valid ;
1376   umode_t ia_mode ;
1377   uid_t ia_uid ;
1378   gid_t ia_gid ;
1379   loff_t ia_size ;
1380   struct timespec ia_atime ;
1381   struct timespec ia_mtime ;
1382   struct timespec ia_ctime ;
1383   struct file *ia_file ;
1384};
1385#line 129 "include/linux/quota.h"
1386struct if_dqinfo {
1387   __u64 dqi_bgrace ;
1388   __u64 dqi_igrace ;
1389   __u32 dqi_flags ;
1390   __u32 dqi_valid ;
1391};
1392#line 50 "include/linux/dqblk_xfs.h"
1393struct fs_disk_quota {
1394   __s8 d_version ;
1395   __s8 d_flags ;
1396   __u16 d_fieldmask ;
1397   __u32 d_id ;
1398   __u64 d_blk_hardlimit ;
1399   __u64 d_blk_softlimit ;
1400   __u64 d_ino_hardlimit ;
1401   __u64 d_ino_softlimit ;
1402   __u64 d_bcount ;
1403   __u64 d_icount ;
1404   __s32 d_itimer ;
1405   __s32 d_btimer ;
1406   __u16 d_iwarns ;
1407   __u16 d_bwarns ;
1408   __s32 d_padding2 ;
1409   __u64 d_rtb_hardlimit ;
1410   __u64 d_rtb_softlimit ;
1411   __u64 d_rtbcount ;
1412   __s32 d_rtbtimer ;
1413   __u16 d_rtbwarns ;
1414   __s16 d_padding3 ;
1415   char d_padding4[8] ;
1416};
1417#line 146 "include/linux/dqblk_xfs.h"
1418struct fs_qfilestat {
1419   __u64 qfs_ino ;
1420   __u64 qfs_nblks ;
1421   __u32 qfs_nextents ;
1422};
1423#line 146 "include/linux/dqblk_xfs.h"
1424typedef struct fs_qfilestat fs_qfilestat_t;
1425#line 152 "include/linux/dqblk_xfs.h"
1426struct fs_quota_stat {
1427   __s8 qs_version ;
1428   __u16 qs_flags ;
1429   __s8 qs_pad ;
1430   fs_qfilestat_t qs_uquota ;
1431   fs_qfilestat_t qs_gquota ;
1432   __u32 qs_incoredqs ;
1433   __s32 qs_btimelimit ;
1434   __s32 qs_itimelimit ;
1435   __s32 qs_rtbtimelimit ;
1436   __u16 qs_bwarnlimit ;
1437   __u16 qs_iwarnlimit ;
1438};
1439#line 17 "include/linux/dqblk_qtree.h"
1440struct dquot;
1441#line 17
1442struct dquot;
1443#line 185 "include/linux/quota.h"
1444typedef __kernel_uid32_t qid_t;
1445#line 186 "include/linux/quota.h"
1446typedef long long qsize_t;
1447#line 200 "include/linux/quota.h"
1448struct mem_dqblk {
1449   qsize_t dqb_bhardlimit ;
1450   qsize_t dqb_bsoftlimit ;
1451   qsize_t dqb_curspace ;
1452   qsize_t dqb_rsvspace ;
1453   qsize_t dqb_ihardlimit ;
1454   qsize_t dqb_isoftlimit ;
1455   qsize_t dqb_curinodes ;
1456   time_t dqb_btime ;
1457   time_t dqb_itime ;
1458};
1459#line 215
1460struct quota_format_type;
1461#line 215
1462struct quota_format_type;
1463#line 217 "include/linux/quota.h"
1464struct mem_dqinfo {
1465   struct quota_format_type *dqi_format ;
1466   int dqi_fmt_id ;
1467   struct list_head dqi_dirty_list ;
1468   unsigned long dqi_flags ;
1469   unsigned int dqi_bgrace ;
1470   unsigned int dqi_igrace ;
1471   qsize_t dqi_maxblimit ;
1472   qsize_t dqi_maxilimit ;
1473   void *dqi_priv ;
1474};
1475#line 230
1476struct super_block;
1477#line 288 "include/linux/quota.h"
1478struct dquot {
1479   struct hlist_node dq_hash ;
1480   struct list_head dq_inuse ;
1481   struct list_head dq_free ;
1482   struct list_head dq_dirty ;
1483   struct mutex dq_lock ;
1484   atomic_t dq_count ;
1485   wait_queue_head_t dq_wait_unused ;
1486   struct super_block *dq_sb ;
1487   unsigned int dq_id ;
1488   loff_t dq_off ;
1489   unsigned long dq_flags ;
1490   short dq_type ;
1491   struct mem_dqblk dq_dqb ;
1492};
1493#line 305 "include/linux/quota.h"
1494struct quota_format_ops {
1495   int (*check_quota_file)(struct super_block *sb , int type ) ;
1496   int (*read_file_info)(struct super_block *sb , int type ) ;
1497   int (*write_file_info)(struct super_block *sb , int type ) ;
1498   int (*free_file_info)(struct super_block *sb , int type ) ;
1499   int (*read_dqblk)(struct dquot *dquot ) ;
1500   int (*commit_dqblk)(struct dquot *dquot ) ;
1501   int (*release_dqblk)(struct dquot *dquot ) ;
1502};
1503#line 316 "include/linux/quota.h"
1504struct dquot_operations {
1505   int (*write_dquot)(struct dquot * ) ;
1506   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1507   void (*destroy_dquot)(struct dquot * ) ;
1508   int (*acquire_dquot)(struct dquot * ) ;
1509   int (*release_dquot)(struct dquot * ) ;
1510   int (*mark_dirty)(struct dquot * ) ;
1511   int (*write_info)(struct super_block * , int  ) ;
1512   qsize_t *(*get_reserved_space)(struct inode * ) ;
1513};
1514#line 329
1515struct path;
1516#line 332 "include/linux/quota.h"
1517struct quotactl_ops {
1518   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1519   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1520   int (*quota_off)(struct super_block * , int  ) ;
1521   int (*quota_sync)(struct super_block * , int  , int  ) ;
1522   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1523   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1524   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1525   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1526   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1527   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1528};
1529#line 345 "include/linux/quota.h"
1530struct quota_format_type {
1531   int qf_fmt_id ;
1532   struct quota_format_ops  const  *qf_ops ;
1533   struct module *qf_owner ;
1534   struct quota_format_type *qf_next ;
1535};
1536#line 399 "include/linux/quota.h"
1537struct quota_info {
1538   unsigned int flags ;
1539   struct mutex dqio_mutex ;
1540   struct mutex dqonoff_mutex ;
1541   struct rw_semaphore dqptr_sem ;
1542   struct inode *files[2] ;
1543   struct mem_dqinfo info[2] ;
1544   struct quota_format_ops  const  *ops[2] ;
1545};
1546#line 532 "include/linux/fs.h"
1547struct page;
1548#line 533
1549struct address_space;
1550#line 533
1551struct address_space;
1552#line 534
1553struct writeback_control;
1554#line 534
1555struct writeback_control;
1556#line 577 "include/linux/fs.h"
1557union __anonunion_arg_218 {
1558   char *buf ;
1559   void *data ;
1560};
1561#line 577 "include/linux/fs.h"
1562struct __anonstruct_read_descriptor_t_217 {
1563   size_t written ;
1564   size_t count ;
1565   union __anonunion_arg_218 arg ;
1566   int error ;
1567};
1568#line 577 "include/linux/fs.h"
1569typedef struct __anonstruct_read_descriptor_t_217 read_descriptor_t;
1570#line 590 "include/linux/fs.h"
1571struct address_space_operations {
1572   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1573   int (*readpage)(struct file * , struct page * ) ;
1574   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1575   int (*set_page_dirty)(struct page *page ) ;
1576   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1577                    unsigned int nr_pages ) ;
1578   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1579                      unsigned int len , unsigned int flags , struct page **pagep ,
1580                      void **fsdata ) ;
1581   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1582                    unsigned int copied , struct page *page , void *fsdata ) ;
1583   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1584   void (*invalidatepage)(struct page * , unsigned long  ) ;
1585   int (*releasepage)(struct page * , gfp_t  ) ;
1586   void (*freepage)(struct page * ) ;
1587   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
1588                        unsigned long nr_segs ) ;
1589   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1590   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1591   int (*launder_page)(struct page * ) ;
1592   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1593   int (*error_remove_page)(struct address_space * , struct page * ) ;
1594};
1595#line 645
1596struct backing_dev_info;
1597#line 645
1598struct backing_dev_info;
1599#line 646 "include/linux/fs.h"
1600struct address_space {
1601   struct inode *host ;
1602   struct radix_tree_root page_tree ;
1603   spinlock_t tree_lock ;
1604   unsigned int i_mmap_writable ;
1605   struct prio_tree_root i_mmap ;
1606   struct list_head i_mmap_nonlinear ;
1607   struct mutex i_mmap_mutex ;
1608   unsigned long nrpages ;
1609   unsigned long writeback_index ;
1610   struct address_space_operations  const  *a_ops ;
1611   unsigned long flags ;
1612   struct backing_dev_info *backing_dev_info ;
1613   spinlock_t private_lock ;
1614   struct list_head private_list ;
1615   struct address_space *assoc_mapping ;
1616} __attribute__((__aligned__(sizeof(long )))) ;
1617#line 669
1618struct request_queue;
1619#line 669
1620struct request_queue;
1621#line 671
1622struct hd_struct;
1623#line 671
1624struct gendisk;
1625#line 671 "include/linux/fs.h"
1626struct block_device {
1627   dev_t bd_dev ;
1628   int bd_openers ;
1629   struct inode *bd_inode ;
1630   struct super_block *bd_super ;
1631   struct mutex bd_mutex ;
1632   struct list_head bd_inodes ;
1633   void *bd_claiming ;
1634   void *bd_holder ;
1635   int bd_holders ;
1636   bool bd_write_holder ;
1637   struct list_head bd_holder_disks ;
1638   struct block_device *bd_contains ;
1639   unsigned int bd_block_size ;
1640   struct hd_struct *bd_part ;
1641   unsigned int bd_part_count ;
1642   int bd_invalidated ;
1643   struct gendisk *bd_disk ;
1644   struct request_queue *bd_queue ;
1645   struct list_head bd_list ;
1646   unsigned long bd_private ;
1647   int bd_fsfreeze_count ;
1648   struct mutex bd_fsfreeze_mutex ;
1649};
1650#line 749
1651struct posix_acl;
1652#line 749
1653struct posix_acl;
1654#line 761
1655struct inode_operations;
1656#line 761 "include/linux/fs.h"
1657union __anonunion____missing_field_name_219 {
1658   unsigned int const   i_nlink ;
1659   unsigned int __i_nlink ;
1660};
1661#line 761 "include/linux/fs.h"
1662union __anonunion____missing_field_name_220 {
1663   struct list_head i_dentry ;
1664   struct rcu_head i_rcu ;
1665};
1666#line 761
1667struct file_operations;
1668#line 761
1669struct file_lock;
1670#line 761
1671struct cdev;
1672#line 761 "include/linux/fs.h"
1673union __anonunion____missing_field_name_221 {
1674   struct pipe_inode_info *i_pipe ;
1675   struct block_device *i_bdev ;
1676   struct cdev *i_cdev ;
1677};
1678#line 761 "include/linux/fs.h"
1679struct inode {
1680   umode_t i_mode ;
1681   unsigned short i_opflags ;
1682   uid_t i_uid ;
1683   gid_t i_gid ;
1684   unsigned int i_flags ;
1685   struct posix_acl *i_acl ;
1686   struct posix_acl *i_default_acl ;
1687   struct inode_operations  const  *i_op ;
1688   struct super_block *i_sb ;
1689   struct address_space *i_mapping ;
1690   void *i_security ;
1691   unsigned long i_ino ;
1692   union __anonunion____missing_field_name_219 __annonCompField33 ;
1693   dev_t i_rdev ;
1694   struct timespec i_atime ;
1695   struct timespec i_mtime ;
1696   struct timespec i_ctime ;
1697   spinlock_t i_lock ;
1698   unsigned short i_bytes ;
1699   blkcnt_t i_blocks ;
1700   loff_t i_size ;
1701   unsigned long i_state ;
1702   struct mutex i_mutex ;
1703   unsigned long dirtied_when ;
1704   struct hlist_node i_hash ;
1705   struct list_head i_wb_list ;
1706   struct list_head i_lru ;
1707   struct list_head i_sb_list ;
1708   union __anonunion____missing_field_name_220 __annonCompField34 ;
1709   atomic_t i_count ;
1710   unsigned int i_blkbits ;
1711   u64 i_version ;
1712   atomic_t i_dio_count ;
1713   atomic_t i_writecount ;
1714   struct file_operations  const  *i_fop ;
1715   struct file_lock *i_flock ;
1716   struct address_space i_data ;
1717   struct dquot *i_dquot[2] ;
1718   struct list_head i_devices ;
1719   union __anonunion____missing_field_name_221 __annonCompField35 ;
1720   __u32 i_generation ;
1721   __u32 i_fsnotify_mask ;
1722   struct hlist_head i_fsnotify_marks ;
1723   atomic_t i_readcount ;
1724   void *i_private ;
1725};
1726#line 942 "include/linux/fs.h"
1727struct fown_struct {
1728   rwlock_t lock ;
1729   struct pid *pid ;
1730   enum pid_type pid_type ;
1731   uid_t uid ;
1732   uid_t euid ;
1733   int signum ;
1734};
1735#line 953 "include/linux/fs.h"
1736struct file_ra_state {
1737   unsigned long start ;
1738   unsigned int size ;
1739   unsigned int async_size ;
1740   unsigned int ra_pages ;
1741   unsigned int mmap_miss ;
1742   loff_t prev_pos ;
1743};
1744#line 976 "include/linux/fs.h"
1745union __anonunion_f_u_222 {
1746   struct list_head fu_list ;
1747   struct rcu_head fu_rcuhead ;
1748};
1749#line 976 "include/linux/fs.h"
1750struct file {
1751   union __anonunion_f_u_222 f_u ;
1752   struct path f_path ;
1753   struct file_operations  const  *f_op ;
1754   spinlock_t f_lock ;
1755   int f_sb_list_cpu ;
1756   atomic_long_t f_count ;
1757   unsigned int f_flags ;
1758   fmode_t f_mode ;
1759   loff_t f_pos ;
1760   struct fown_struct f_owner ;
1761   struct cred  const  *f_cred ;
1762   struct file_ra_state f_ra ;
1763   u64 f_version ;
1764   void *f_security ;
1765   void *private_data ;
1766   struct list_head f_ep_links ;
1767   struct list_head f_tfile_llink ;
1768   struct address_space *f_mapping ;
1769   unsigned long f_mnt_write_state ;
1770};
1771#line 1111
1772struct files_struct;
1773#line 1111 "include/linux/fs.h"
1774typedef struct files_struct *fl_owner_t;
1775#line 1113 "include/linux/fs.h"
1776struct file_lock_operations {
1777   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1778   void (*fl_release_private)(struct file_lock * ) ;
1779};
1780#line 1118 "include/linux/fs.h"
1781struct lock_manager_operations {
1782   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1783   void (*lm_notify)(struct file_lock * ) ;
1784   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1785   void (*lm_release_private)(struct file_lock * ) ;
1786   void (*lm_break)(struct file_lock * ) ;
1787   int (*lm_change)(struct file_lock ** , int  ) ;
1788};
1789#line 4 "include/linux/nfs_fs_i.h"
1790struct nlm_lockowner;
1791#line 4
1792struct nlm_lockowner;
1793#line 9 "include/linux/nfs_fs_i.h"
1794struct nfs_lock_info {
1795   u32 state ;
1796   struct nlm_lockowner *owner ;
1797   struct list_head list ;
1798};
1799#line 15
1800struct nfs4_lock_state;
1801#line 15
1802struct nfs4_lock_state;
1803#line 16 "include/linux/nfs_fs_i.h"
1804struct nfs4_lock_info {
1805   struct nfs4_lock_state *owner ;
1806};
1807#line 1138 "include/linux/fs.h"
1808struct fasync_struct;
1809#line 1138 "include/linux/fs.h"
1810struct __anonstruct_afs_224 {
1811   struct list_head link ;
1812   int state ;
1813};
1814#line 1138 "include/linux/fs.h"
1815union __anonunion_fl_u_223 {
1816   struct nfs_lock_info nfs_fl ;
1817   struct nfs4_lock_info nfs4_fl ;
1818   struct __anonstruct_afs_224 afs ;
1819};
1820#line 1138 "include/linux/fs.h"
1821struct file_lock {
1822   struct file_lock *fl_next ;
1823   struct list_head fl_link ;
1824   struct list_head fl_block ;
1825   fl_owner_t fl_owner ;
1826   unsigned int fl_flags ;
1827   unsigned char fl_type ;
1828   unsigned int fl_pid ;
1829   struct pid *fl_nspid ;
1830   wait_queue_head_t fl_wait ;
1831   struct file *fl_file ;
1832   loff_t fl_start ;
1833   loff_t fl_end ;
1834   struct fasync_struct *fl_fasync ;
1835   unsigned long fl_break_time ;
1836   unsigned long fl_downgrade_time ;
1837   struct file_lock_operations  const  *fl_ops ;
1838   struct lock_manager_operations  const  *fl_lmops ;
1839   union __anonunion_fl_u_223 fl_u ;
1840};
1841#line 1378 "include/linux/fs.h"
1842struct fasync_struct {
1843   spinlock_t fa_lock ;
1844   int magic ;
1845   int fa_fd ;
1846   struct fasync_struct *fa_next ;
1847   struct file *fa_file ;
1848   struct rcu_head fa_rcu ;
1849};
1850#line 1418
1851struct file_system_type;
1852#line 1418
1853struct super_operations;
1854#line 1418
1855struct xattr_handler;
1856#line 1418
1857struct mtd_info;
1858#line 1418 "include/linux/fs.h"
1859struct super_block {
1860   struct list_head s_list ;
1861   dev_t s_dev ;
1862   unsigned char s_dirt ;
1863   unsigned char s_blocksize_bits ;
1864   unsigned long s_blocksize ;
1865   loff_t s_maxbytes ;
1866   struct file_system_type *s_type ;
1867   struct super_operations  const  *s_op ;
1868   struct dquot_operations  const  *dq_op ;
1869   struct quotactl_ops  const  *s_qcop ;
1870   struct export_operations  const  *s_export_op ;
1871   unsigned long s_flags ;
1872   unsigned long s_magic ;
1873   struct dentry *s_root ;
1874   struct rw_semaphore s_umount ;
1875   struct mutex s_lock ;
1876   int s_count ;
1877   atomic_t s_active ;
1878   void *s_security ;
1879   struct xattr_handler  const  **s_xattr ;
1880   struct list_head s_inodes ;
1881   struct hlist_bl_head s_anon ;
1882   struct list_head *s_files ;
1883   struct list_head s_mounts ;
1884   struct list_head s_dentry_lru ;
1885   int s_nr_dentry_unused ;
1886   spinlock_t s_inode_lru_lock  __attribute__((__aligned__((1) <<  (6) ))) ;
1887   struct list_head s_inode_lru ;
1888   int s_nr_inodes_unused ;
1889   struct block_device *s_bdev ;
1890   struct backing_dev_info *s_bdi ;
1891   struct mtd_info *s_mtd ;
1892   struct hlist_node s_instances ;
1893   struct quota_info s_dquot ;
1894   int s_frozen ;
1895   wait_queue_head_t s_wait_unfrozen ;
1896   char s_id[32] ;
1897   u8 s_uuid[16] ;
1898   void *s_fs_info ;
1899   unsigned int s_max_links ;
1900   fmode_t s_mode ;
1901   u32 s_time_gran ;
1902   struct mutex s_vfs_rename_mutex ;
1903   char *s_subtype ;
1904   char *s_options ;
1905   struct dentry_operations  const  *s_d_op ;
1906   int cleancache_poolid ;
1907   struct shrinker s_shrink ;
1908   atomic_long_t s_remove_count ;
1909   int s_readonly_remount ;
1910};
1911#line 1567 "include/linux/fs.h"
1912struct fiemap_extent_info {
1913   unsigned int fi_flags ;
1914   unsigned int fi_extents_mapped ;
1915   unsigned int fi_extents_max ;
1916   struct fiemap_extent *fi_extents_start ;
1917};
1918#line 1609 "include/linux/fs.h"
1919struct file_operations {
1920   struct module *owner ;
1921   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1922   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1923   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1924   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1925                       loff_t  ) ;
1926   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1927                        loff_t  ) ;
1928   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1929                                                   loff_t  , u64  , unsigned int  ) ) ;
1930   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1931   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1932   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1933   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1934   int (*open)(struct inode * , struct file * ) ;
1935   int (*flush)(struct file * , fl_owner_t id ) ;
1936   int (*release)(struct inode * , struct file * ) ;
1937   int (*fsync)(struct file * , loff_t  , loff_t  , int datasync ) ;
1938   int (*aio_fsync)(struct kiocb * , int datasync ) ;
1939   int (*fasync)(int  , struct file * , int  ) ;
1940   int (*lock)(struct file * , int  , struct file_lock * ) ;
1941   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1942                       int  ) ;
1943   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1944                                      unsigned long  , unsigned long  ) ;
1945   int (*check_flags)(int  ) ;
1946   int (*flock)(struct file * , int  , struct file_lock * ) ;
1947   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1948                           unsigned int  ) ;
1949   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1950                          unsigned int  ) ;
1951   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1952   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1953};
1954#line 1639 "include/linux/fs.h"
1955struct inode_operations {
1956   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1957   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1958   int (*permission)(struct inode * , int  ) ;
1959   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1960   int (*readlink)(struct dentry * , char * , int  ) ;
1961   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1962   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1963   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1964   int (*unlink)(struct inode * , struct dentry * ) ;
1965   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1966   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1967   int (*rmdir)(struct inode * , struct dentry * ) ;
1968   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1969   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1970   void (*truncate)(struct inode * ) ;
1971   int (*setattr)(struct dentry * , struct iattr * ) ;
1972   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1973   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1974   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1975   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1976   int (*removexattr)(struct dentry * , char const   * ) ;
1977   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1978   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1979} __attribute__((__aligned__((1) <<  (6) ))) ;
1980#line 1669
1981struct seq_file;
1982#line 1684 "include/linux/fs.h"
1983struct super_operations {
1984   struct inode *(*alloc_inode)(struct super_block *sb ) ;
1985   void (*destroy_inode)(struct inode * ) ;
1986   void (*dirty_inode)(struct inode * , int flags ) ;
1987   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1988   int (*drop_inode)(struct inode * ) ;
1989   void (*evict_inode)(struct inode * ) ;
1990   void (*put_super)(struct super_block * ) ;
1991   void (*write_super)(struct super_block * ) ;
1992   int (*sync_fs)(struct super_block *sb , int wait ) ;
1993   int (*freeze_fs)(struct super_block * ) ;
1994   int (*unfreeze_fs)(struct super_block * ) ;
1995   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1996   int (*remount_fs)(struct super_block * , int * , char * ) ;
1997   void (*umount_begin)(struct super_block * ) ;
1998   int (*show_options)(struct seq_file * , struct dentry * ) ;
1999   int (*show_devname)(struct seq_file * , struct dentry * ) ;
2000   int (*show_path)(struct seq_file * , struct dentry * ) ;
2001   int (*show_stats)(struct seq_file * , struct dentry * ) ;
2002   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
2003   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
2004                          loff_t  ) ;
2005   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
2006   int (*nr_cached_objects)(struct super_block * ) ;
2007   void (*free_cached_objects)(struct super_block * , int  ) ;
2008};
2009#line 1835 "include/linux/fs.h"
2010struct file_system_type {
2011   char const   *name ;
2012   int fs_flags ;
2013   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
2014   void (*kill_sb)(struct super_block * ) ;
2015   struct module *owner ;
2016   struct file_system_type *next ;
2017   struct hlist_head fs_supers ;
2018   struct lock_class_key s_lock_key ;
2019   struct lock_class_key s_umount_key ;
2020   struct lock_class_key s_vfs_rename_key ;
2021   struct lock_class_key i_lock_key ;
2022   struct lock_class_key i_mutex_key ;
2023   struct lock_class_key i_mutex_dir_key ;
2024};
2025#line 12 "include/linux/mod_devicetable.h"
2026typedef unsigned long kernel_ulong_t;
2027#line 209 "include/linux/mod_devicetable.h"
2028struct serio_device_id {
2029   __u8 type ;
2030   __u8 extra ;
2031   __u8 id ;
2032   __u8 proto ;
2033};
2034#line 219 "include/linux/mod_devicetable.h"
2035struct of_device_id {
2036   char name[32] ;
2037   char type[32] ;
2038   char compatible[128] ;
2039   void *data ;
2040};
2041#line 312 "include/linux/mod_devicetable.h"
2042struct input_device_id {
2043   kernel_ulong_t flags ;
2044   __u16 bustype ;
2045   __u16 vendor ;
2046   __u16 product ;
2047   __u16 version ;
2048   kernel_ulong_t evbit[1] ;
2049   kernel_ulong_t keybit[12] ;
2050   kernel_ulong_t relbit[1] ;
2051   kernel_ulong_t absbit[1] ;
2052   kernel_ulong_t mscbit[1] ;
2053   kernel_ulong_t ledbit[1] ;
2054   kernel_ulong_t sndbit[1] ;
2055   kernel_ulong_t ffbit[2] ;
2056   kernel_ulong_t swbit[1] ;
2057   kernel_ulong_t driver_info ;
2058};
2059#line 1250 "include/linux/input.h"
2060struct ff_device;
2061#line 1250
2062struct input_mt_slot;
2063#line 1250
2064struct input_handle;
2065#line 1250 "include/linux/input.h"
2066struct input_dev {
2067   char const   *name ;
2068   char const   *phys ;
2069   char const   *uniq ;
2070   struct input_id id ;
2071   unsigned long propbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2072   unsigned long evbit[((32UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2073   unsigned long keybit[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2074   unsigned long relbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2075   unsigned long absbit[((64UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2076   unsigned long mscbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2077   unsigned long ledbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2078   unsigned long sndbit[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2079   unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2080   unsigned long swbit[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2081   unsigned int hint_events_per_packet ;
2082   unsigned int keycodemax ;
2083   unsigned int keycodesize ;
2084   void *keycode ;
2085   int (*setkeycode)(struct input_dev *dev , struct input_keymap_entry  const  *ke ,
2086                     unsigned int *old_keycode ) ;
2087   int (*getkeycode)(struct input_dev *dev , struct input_keymap_entry *ke ) ;
2088   struct ff_device *ff ;
2089   unsigned int repeat_key ;
2090   struct timer_list timer ;
2091   int rep[2] ;
2092   struct input_mt_slot *mt ;
2093   int mtsize ;
2094   int slot ;
2095   int trkid ;
2096   struct input_absinfo *absinfo ;
2097   unsigned long key[((768UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2098   unsigned long led[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2099   unsigned long snd[((8UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2100   unsigned long sw[((16UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2101   int (*open)(struct input_dev *dev ) ;
2102   void (*close)(struct input_dev *dev ) ;
2103   int (*flush)(struct input_dev *dev , struct file *file ) ;
2104   int (*event)(struct input_dev *dev , unsigned int type , unsigned int code , int value ) ;
2105   struct input_handle *grab ;
2106   spinlock_t event_lock ;
2107   struct mutex mutex ;
2108   unsigned int users ;
2109   bool going_away ;
2110   bool sync ;
2111   struct device dev ;
2112   struct list_head h_list ;
2113   struct list_head node ;
2114};
2115#line 1370
2116struct input_handle;
2117#line 1409 "include/linux/input.h"
2118struct input_handler {
2119   void *private ;
2120   void (*event)(struct input_handle *handle , unsigned int type , unsigned int code ,
2121                 int value ) ;
2122   bool (*filter)(struct input_handle *handle , unsigned int type , unsigned int code ,
2123                  int value ) ;
2124   bool (*match)(struct input_handler *handler , struct input_dev *dev ) ;
2125   int (*connect)(struct input_handler *handler , struct input_dev *dev , struct input_device_id  const  *id ) ;
2126   void (*disconnect)(struct input_handle *handle ) ;
2127   void (*start)(struct input_handle *handle ) ;
2128   struct file_operations  const  *fops ;
2129   int minor ;
2130   char const   *name ;
2131   struct input_device_id  const  *id_table ;
2132   struct list_head h_list ;
2133   struct list_head node ;
2134};
2135#line 1442 "include/linux/input.h"
2136struct input_handle {
2137   void *private ;
2138   int open ;
2139   char const   *name ;
2140   struct input_dev *dev ;
2141   struct input_handler *handler ;
2142   struct list_head d_node ;
2143   struct list_head h_node ;
2144};
2145#line 1619 "include/linux/input.h"
2146struct ff_device {
2147   int (*upload)(struct input_dev *dev , struct ff_effect *effect , struct ff_effect *old ) ;
2148   int (*erase)(struct input_dev *dev , int effect_id ) ;
2149   int (*playback)(struct input_dev *dev , int effect_id , int value ) ;
2150   void (*set_gain)(struct input_dev *dev , u16 gain ) ;
2151   void (*set_autocenter)(struct input_dev *dev , u16 magnitude ) ;
2152   void (*destroy)(struct ff_device * ) ;
2153   void *private ;
2154   unsigned long ffbit[((128UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2155   struct mutex mutex ;
2156   int max_effects ;
2157   struct ff_effect *effects ;
2158   struct file *effect_owners[] ;
2159};
2160#line 26 "include/linux/serio.h"
2161struct serio_driver;
2162#line 26 "include/linux/serio.h"
2163struct serio {
2164   void *port_data ;
2165   char name[32] ;
2166   char phys[32] ;
2167   bool manual_bind ;
2168   struct serio_device_id id ;
2169   spinlock_t lock ;
2170   int (*write)(struct serio * , unsigned char  ) ;
2171   int (*open)(struct serio * ) ;
2172   void (*close)(struct serio * ) ;
2173   int (*start)(struct serio * ) ;
2174   void (*stop)(struct serio * ) ;
2175   struct serio *parent ;
2176   struct list_head child_node ;
2177   struct list_head children ;
2178   unsigned int depth ;
2179   struct serio_driver *drv ;
2180   struct mutex drv_mutex ;
2181   struct device dev ;
2182   struct list_head node ;
2183};
2184#line 58 "include/linux/serio.h"
2185struct serio_driver {
2186   char const   *description ;
2187   struct serio_device_id  const  *id_table ;
2188   bool manual_bind ;
2189   void (*write_wakeup)(struct serio * ) ;
2190   irqreturn_t (*interrupt)(struct serio * , unsigned char  , unsigned int  ) ;
2191   int (*connect)(struct serio * , struct serio_driver *drv ) ;
2192   int (*reconnect)(struct serio * ) ;
2193   void (*disconnect)(struct serio * ) ;
2194   void (*cleanup)(struct serio * ) ;
2195   struct device_driver driver ;
2196};
2197#line 115 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2198struct vsxxxaa {
2199   struct input_dev *dev ;
2200   struct serio *serio ;
2201   unsigned char buf[15] ;
2202   unsigned char count ;
2203   unsigned char version ;
2204   unsigned char country ;
2205   unsigned char type ;
2206   char name[64] ;
2207   char phys[32] ;
2208};
2209#line 1 "<compiler builtins>"
2210long __builtin_expect(long val , long res ) ;
2211#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2212__inline static void __set_bit(int nr , unsigned long volatile   *addr )  __attribute__((__no_instrument_function__)) ;
2213#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2214__inline static void __set_bit(int nr , unsigned long volatile   *addr ) 
2215{ long volatile   *__cil_tmp3 ;
2216
2217  {
2218#line 84
2219  __cil_tmp3 = (long volatile   *)addr;
2220#line 84
2221  __asm__  volatile   ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
2222#line 85
2223  return;
2224}
2225}
2226#line 100 "include/linux/printk.h"
2227extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
2228#line 322 "include/linux/kernel.h"
2229extern int ( /* format attribute */  snprintf)(char *buf , size_t size , char const   *fmt 
2230                                               , ...) ;
2231#line 10 "include/asm-generic/delay.h"
2232extern void __const_udelay(unsigned long xloops ) ;
2233#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2234extern void *memmove(void *dest , void const   *src , size_t count ) ;
2235#line 30 "include/linux/string.h"
2236extern size_t strlcpy(char * , char const   * , size_t  ) ;
2237#line 39
2238extern size_t strlcat(char * , char const   * , __kernel_size_t  ) ;
2239#line 152 "include/linux/mutex.h"
2240void mutex_lock(struct mutex *lock ) ;
2241#line 153
2242int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
2243#line 154
2244int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
2245#line 168
2246int mutex_trylock(struct mutex *lock ) ;
2247#line 169
2248void mutex_unlock(struct mutex *lock ) ;
2249#line 170
2250int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2251#line 26 "include/linux/export.h"
2252extern struct module __this_module ;
2253#line 67 "include/linux/module.h"
2254int init_module(void) ;
2255#line 68
2256void cleanup_module(void) ;
2257#line 161 "include/linux/slab.h"
2258extern void kfree(void const   * ) ;
2259#line 221 "include/linux/slub_def.h"
2260extern void *__kmalloc(size_t size , gfp_t flags ) ;
2261#line 268
2262__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2263                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2264#line 268 "include/linux/slub_def.h"
2265__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2266                                                                    gfp_t flags ) 
2267{ void *tmp___2 ;
2268
2269  {
2270  {
2271#line 283
2272  tmp___2 = __kmalloc(size, flags);
2273  }
2274#line 283
2275  return (tmp___2);
2276}
2277}
2278#line 349 "include/linux/slab.h"
2279__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2280#line 349 "include/linux/slab.h"
2281__inline static void *kzalloc(size_t size , gfp_t flags ) 
2282{ void *tmp ;
2283  unsigned int __cil_tmp4 ;
2284
2285  {
2286  {
2287#line 351
2288  __cil_tmp4 = flags | 32768U;
2289#line 351
2290  tmp = kmalloc(size, __cil_tmp4);
2291  }
2292#line 351
2293  return (tmp);
2294}
2295}
2296#line 792 "include/linux/device.h"
2297extern void *dev_get_drvdata(struct device  const  *dev ) ;
2298#line 793
2299extern int dev_set_drvdata(struct device *dev , void *data ) ;
2300#line 1456 "include/linux/input.h"
2301extern struct input_dev *input_allocate_device(void) ;
2302#line 1457
2303extern void input_free_device(struct input_dev *dev ) ;
2304#line 1480
2305extern int __attribute__((__warn_unused_result__))  input_register_device(struct input_dev * ) ;
2306#line 1481
2307extern void input_unregister_device(struct input_dev * ) ;
2308#line 1502
2309extern void input_event(struct input_dev *dev , unsigned int type , unsigned int code ,
2310                        int value ) ;
2311#line 1505
2312__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2313                                      int value )  __attribute__((__no_instrument_function__)) ;
2314#line 1505 "include/linux/input.h"
2315__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2316                                      int value ) 
2317{ int __cil_tmp4 ;
2318  int __cil_tmp5 ;
2319
2320  {
2321  {
2322#line 1507
2323  __cil_tmp4 = ! value;
2324#line 1507
2325  __cil_tmp5 = ! __cil_tmp4;
2326#line 1507
2327  input_event(dev, 1U, code, __cil_tmp5);
2328  }
2329#line 1508
2330  return;
2331}
2332}
2333#line 1510
2334__inline static void input_report_rel(struct input_dev *dev , unsigned int code ,
2335                                      int value )  __attribute__((__no_instrument_function__)) ;
2336#line 1510 "include/linux/input.h"
2337__inline static void input_report_rel(struct input_dev *dev , unsigned int code ,
2338                                      int value ) 
2339{ 
2340
2341  {
2342  {
2343#line 1512
2344  input_event(dev, 2U, code, value);
2345  }
2346#line 1513
2347  return;
2348}
2349}
2350#line 1515
2351__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2352                                      int value )  __attribute__((__no_instrument_function__)) ;
2353#line 1515 "include/linux/input.h"
2354__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2355                                      int value ) 
2356{ 
2357
2358  {
2359  {
2360#line 1517
2361  input_event(dev, 3U, code, value);
2362  }
2363#line 1518
2364  return;
2365}
2366}
2367#line 1530
2368__inline static void input_sync(struct input_dev *dev )  __attribute__((__no_instrument_function__)) ;
2369#line 1530 "include/linux/input.h"
2370__inline static void input_sync(struct input_dev *dev ) 
2371{ 
2372
2373  {
2374  {
2375#line 1532
2376  input_event(dev, 0U, 0U, 0);
2377  }
2378#line 1533
2379  return;
2380}
2381}
2382#line 1558
2383extern void input_set_abs_params(struct input_dev *dev , unsigned int axis , int min ,
2384                                 int max , int fuzz , int flat ) ;
2385#line 75 "include/linux/serio.h"
2386extern int serio_open(struct serio *serio , struct serio_driver *drv ) ;
2387#line 76
2388extern void serio_close(struct serio *serio ) ;
2389#line 90
2390extern int __attribute__((__warn_unused_result__))  __serio_register_driver(struct serio_driver *drv ,
2391                                                                            struct module *owner ,
2392                                                                            char const   *mod_name ) ;
2393#line 97
2394extern void serio_unregister_driver(struct serio_driver *drv ) ;
2395#line 99
2396__inline static int serio_write(struct serio *serio , unsigned char data )  __attribute__((__no_instrument_function__)) ;
2397#line 99 "include/linux/serio.h"
2398__inline static int serio_write(struct serio *serio , unsigned char data ) 
2399{ int tmp ;
2400  unsigned long __cil_tmp4 ;
2401  unsigned long __cil_tmp5 ;
2402  unsigned long __cil_tmp6 ;
2403  unsigned long __cil_tmp7 ;
2404  int (*__cil_tmp8)(struct serio * , unsigned char  ) ;
2405
2406  {
2407  {
2408#line 101
2409  __cil_tmp4 = (unsigned long )serio;
2410#line 101
2411  __cil_tmp5 = __cil_tmp4 + 104;
2412#line 101
2413  if (*((int (**)(struct serio * , unsigned char  ))__cil_tmp5)) {
2414    {
2415#line 102
2416    __cil_tmp6 = (unsigned long )serio;
2417#line 102
2418    __cil_tmp7 = __cil_tmp6 + 104;
2419#line 102
2420    __cil_tmp8 = *((int (**)(struct serio * , unsigned char  ))__cil_tmp7);
2421#line 102
2422    tmp = (*__cil_tmp8)(serio, data);
2423    }
2424#line 102
2425    return (tmp);
2426  } else {
2427#line 104
2428    return (-1);
2429  }
2430  }
2431}
2432}
2433#line 117
2434__inline static void *serio_get_drvdata(struct serio *serio )  __attribute__((__no_instrument_function__)) ;
2435#line 117 "include/linux/serio.h"
2436__inline static void *serio_get_drvdata(struct serio *serio ) 
2437{ void *tmp ;
2438  unsigned long __cil_tmp3 ;
2439  unsigned long __cil_tmp4 ;
2440  struct device *__cil_tmp5 ;
2441  struct device  const  *__cil_tmp6 ;
2442
2443  {
2444  {
2445#line 119
2446  __cil_tmp3 = (unsigned long )serio;
2447#line 119
2448  __cil_tmp4 = __cil_tmp3 + 272;
2449#line 119
2450  __cil_tmp5 = (struct device *)__cil_tmp4;
2451#line 119
2452  __cil_tmp6 = (struct device  const  *)__cil_tmp5;
2453#line 119
2454  tmp = dev_get_drvdata(__cil_tmp6);
2455  }
2456#line 119
2457  return (tmp);
2458}
2459}
2460#line 122
2461__inline static void serio_set_drvdata(struct serio *serio , void *data )  __attribute__((__no_instrument_function__)) ;
2462#line 122 "include/linux/serio.h"
2463__inline static void serio_set_drvdata(struct serio *serio , void *data ) 
2464{ unsigned long __cil_tmp3 ;
2465  unsigned long __cil_tmp4 ;
2466  struct device *__cil_tmp5 ;
2467
2468  {
2469  {
2470#line 124
2471  __cil_tmp3 = (unsigned long )serio;
2472#line 124
2473  __cil_tmp4 = __cil_tmp3 + 272;
2474#line 124
2475  __cil_tmp5 = (struct device *)__cil_tmp4;
2476#line 124
2477  dev_set_drvdata(__cil_tmp5, data);
2478  }
2479#line 125
2480  return;
2481}
2482}
2483#line 90 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2484static char const   __mod_author90[45]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2485__aligned__(1)))  = 
2486#line 90 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2487  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
2488        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'J', 
2489        (char const   )'a',      (char const   )'n',      (char const   )'-',      (char const   )'B', 
2490        (char const   )'e',      (char const   )'n',      (char const   )'e',      (char const   )'d', 
2491        (char const   )'i',      (char const   )'c',      (char const   )'t',      (char const   )' ', 
2492        (char const   )'G',      (char const   )'l',      (char const   )'a',      (char const   )'w', 
2493        (char const   )' ',      (char const   )'<',      (char const   )'j',      (char const   )'b', 
2494        (char const   )'g',      (char const   )'l',      (char const   )'a',      (char const   )'w', 
2495        (char const   )'@',      (char const   )'l',      (char const   )'u',      (char const   )'g', 
2496        (char const   )'-',      (char const   )'o',      (char const   )'w',      (char const   )'l', 
2497        (char const   )'.',      (char const   )'d',      (char const   )'e',      (char const   )'>', 
2498        (char const   )'\000'};
2499#line 91 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2500static char const   __mod_description91[69]  __attribute__((__used__, __unused__,
2501__section__(".modinfo"), __aligned__(1)))  = 
2502#line 91
2503  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
2504        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
2505        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
2506        (char const   )'D',      (char const   )'r',      (char const   )'i',      (char const   )'v', 
2507        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'f', 
2508        (char const   )'o',      (char const   )'r',      (char const   )' ',      (char const   )'D', 
2509        (char const   )'E',      (char const   )'C',      (char const   )' ',      (char const   )'V', 
2510        (char const   )'S',      (char const   )'X',      (char const   )'X',      (char const   )'X', 
2511        (char const   )'-',      (char const   )'A',      (char const   )'A',      (char const   )' ', 
2512        (char const   )'a',      (char const   )'n',      (char const   )'d',      (char const   )' ', 
2513        (char const   )'-',      (char const   )'G',      (char const   )'A',      (char const   )' ', 
2514        (char const   )'m',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
2515        (char const   )' ',      (char const   )'a',      (char const   )'n',      (char const   )'d', 
2516        (char const   )' ',      (char const   )'V',      (char const   )'S',      (char const   )'X', 
2517        (char const   )'X',      (char const   )'X',      (char const   )'-',      (char const   )'A', 
2518        (char const   )'B',      (char const   )' ',      (char const   )'t',      (char const   )'a', 
2519        (char const   )'b',      (char const   )'l',      (char const   )'e',      (char const   )'t', 
2520        (char const   )'\000'};
2521#line 92 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2522static char const   __mod_license92[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2523__aligned__(1)))  = 
2524#line 92
2525  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
2526        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
2527        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
2528#line 128 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2529static void vsxxxaa_drop_bytes(struct vsxxxaa *mouse , int num ) 
2530{ unsigned long __cil_tmp3 ;
2531  unsigned long __cil_tmp4 ;
2532  unsigned char __cil_tmp5 ;
2533  int __cil_tmp6 ;
2534  unsigned long __cil_tmp7 ;
2535  unsigned long __cil_tmp8 ;
2536  unsigned long __cil_tmp9 ;
2537  unsigned long __cil_tmp10 ;
2538  unsigned long __cil_tmp11 ;
2539  unsigned long __cil_tmp12 ;
2540  unsigned char *__cil_tmp13 ;
2541  void *__cil_tmp14 ;
2542  unsigned long __cil_tmp15 ;
2543  unsigned long __cil_tmp16 ;
2544  unsigned long __cil_tmp17 ;
2545  unsigned long __cil_tmp18 ;
2546  unsigned char *__cil_tmp19 ;
2547  unsigned char *__cil_tmp20 ;
2548  unsigned char *__cil_tmp21 ;
2549  void const   *__cil_tmp22 ;
2550  int __cil_tmp23 ;
2551  size_t __cil_tmp24 ;
2552  unsigned long __cil_tmp25 ;
2553  unsigned long __cil_tmp26 ;
2554  unsigned long __cil_tmp27 ;
2555  unsigned long __cil_tmp28 ;
2556  unsigned char __cil_tmp29 ;
2557  int __cil_tmp30 ;
2558  int __cil_tmp31 ;
2559
2560  {
2561  {
2562#line 130
2563  __cil_tmp3 = (unsigned long )mouse;
2564#line 130
2565  __cil_tmp4 = __cil_tmp3 + 31;
2566#line 130
2567  __cil_tmp5 = *((unsigned char *)__cil_tmp4);
2568#line 130
2569  __cil_tmp6 = (int )__cil_tmp5;
2570#line 130
2571  if (num >= __cil_tmp6) {
2572#line 131
2573    __cil_tmp7 = (unsigned long )mouse;
2574#line 131
2575    __cil_tmp8 = __cil_tmp7 + 31;
2576#line 131
2577    *((unsigned char *)__cil_tmp8) = (unsigned char)0;
2578  } else {
2579    {
2580#line 133
2581    __cil_tmp9 = 0 * 1UL;
2582#line 133
2583    __cil_tmp10 = 16 + __cil_tmp9;
2584#line 133
2585    __cil_tmp11 = (unsigned long )mouse;
2586#line 133
2587    __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
2588#line 133
2589    __cil_tmp13 = (unsigned char *)__cil_tmp12;
2590#line 133
2591    __cil_tmp14 = (void *)__cil_tmp13;
2592#line 133
2593    __cil_tmp15 = 0 * 1UL;
2594#line 133
2595    __cil_tmp16 = 16 + __cil_tmp15;
2596#line 133
2597    __cil_tmp17 = (unsigned long )mouse;
2598#line 133
2599    __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
2600#line 133
2601    __cil_tmp19 = (unsigned char *)__cil_tmp18;
2602#line 133
2603    __cil_tmp20 = __cil_tmp19 + num;
2604#line 133
2605    __cil_tmp21 = __cil_tmp20 - 1;
2606#line 133
2607    __cil_tmp22 = (void const   *)__cil_tmp21;
2608#line 133
2609    __cil_tmp23 = 15 - num;
2610#line 133
2611    __cil_tmp24 = (size_t )__cil_tmp23;
2612#line 133
2613    memmove(__cil_tmp14, __cil_tmp22, __cil_tmp24);
2614#line 134
2615    __cil_tmp25 = (unsigned long )mouse;
2616#line 134
2617    __cil_tmp26 = __cil_tmp25 + 31;
2618#line 134
2619    __cil_tmp27 = (unsigned long )mouse;
2620#line 134
2621    __cil_tmp28 = __cil_tmp27 + 31;
2622#line 134
2623    __cil_tmp29 = *((unsigned char *)__cil_tmp28);
2624#line 134
2625    __cil_tmp30 = (int )__cil_tmp29;
2626#line 134
2627    __cil_tmp31 = __cil_tmp30 - num;
2628#line 134
2629    *((unsigned char *)__cil_tmp26) = (unsigned char )__cil_tmp31;
2630    }
2631  }
2632  }
2633#line 136
2634  return;
2635}
2636}
2637#line 138 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2638static void vsxxxaa_queue_byte(struct vsxxxaa *mouse , unsigned char byte ) 
2639{ unsigned char tmp ;
2640  unsigned long __cil_tmp4 ;
2641  unsigned long __cil_tmp5 ;
2642  unsigned char __cil_tmp6 ;
2643  int __cil_tmp7 ;
2644  unsigned long __cil_tmp8 ;
2645  unsigned long __cil_tmp9 ;
2646  unsigned long __cil_tmp10 ;
2647  unsigned long __cil_tmp11 ;
2648  char *__cil_tmp12 ;
2649  unsigned long __cil_tmp13 ;
2650  unsigned long __cil_tmp14 ;
2651  unsigned long __cil_tmp15 ;
2652  unsigned long __cil_tmp16 ;
2653  char *__cil_tmp17 ;
2654  unsigned long __cil_tmp18 ;
2655  unsigned long __cil_tmp19 ;
2656  unsigned long __cil_tmp20 ;
2657  unsigned long __cil_tmp21 ;
2658  unsigned long __cil_tmp22 ;
2659  unsigned long __cil_tmp23 ;
2660  unsigned char __cil_tmp24 ;
2661  int __cil_tmp25 ;
2662  int __cil_tmp26 ;
2663  unsigned long __cil_tmp27 ;
2664  unsigned long __cil_tmp28 ;
2665  unsigned long __cil_tmp29 ;
2666  unsigned long __cil_tmp30 ;
2667
2668  {
2669  {
2670#line 140
2671  __cil_tmp4 = (unsigned long )mouse;
2672#line 140
2673  __cil_tmp5 = __cil_tmp4 + 31;
2674#line 140
2675  __cil_tmp6 = *((unsigned char *)__cil_tmp5);
2676#line 140
2677  __cil_tmp7 = (int )__cil_tmp6;
2678#line 140
2679  if (__cil_tmp7 == 15) {
2680    {
2681#line 141
2682    __cil_tmp8 = 0 * 1UL;
2683#line 141
2684    __cil_tmp9 = 35 + __cil_tmp8;
2685#line 141
2686    __cil_tmp10 = (unsigned long )mouse;
2687#line 141
2688    __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
2689#line 141
2690    __cil_tmp12 = (char *)__cil_tmp11;
2691#line 141
2692    __cil_tmp13 = 0 * 1UL;
2693#line 141
2694    __cil_tmp14 = 99 + __cil_tmp13;
2695#line 141
2696    __cil_tmp15 = (unsigned long )mouse;
2697#line 141
2698    __cil_tmp16 = __cil_tmp15 + __cil_tmp14;
2699#line 141
2700    __cil_tmp17 = (char *)__cil_tmp16;
2701#line 141
2702    printk("<3>%s on %s: Dropping a byte of full buffer.\n", __cil_tmp12, __cil_tmp17);
2703#line 143
2704    vsxxxaa_drop_bytes(mouse, 1);
2705    }
2706  } else {
2707
2708  }
2709  }
2710  {
2711#line 146
2712  while (1) {
2713    while_continue: /* CIL Label */ ;
2714#line 146
2715    goto while_break;
2716  }
2717  while_break: /* CIL Label */ ;
2718  }
2719#line 148
2720  __cil_tmp18 = (unsigned long )mouse;
2721#line 148
2722  __cil_tmp19 = __cil_tmp18 + 31;
2723#line 148
2724  tmp = *((unsigned char *)__cil_tmp19);
2725#line 148
2726  __cil_tmp20 = (unsigned long )mouse;
2727#line 148
2728  __cil_tmp21 = __cil_tmp20 + 31;
2729#line 148
2730  __cil_tmp22 = (unsigned long )mouse;
2731#line 148
2732  __cil_tmp23 = __cil_tmp22 + 31;
2733#line 148
2734  __cil_tmp24 = *((unsigned char *)__cil_tmp23);
2735#line 148
2736  __cil_tmp25 = (int )__cil_tmp24;
2737#line 148
2738  __cil_tmp26 = __cil_tmp25 + 1;
2739#line 148
2740  *((unsigned char *)__cil_tmp21) = (unsigned char )__cil_tmp26;
2741#line 148
2742  __cil_tmp27 = tmp * 1UL;
2743#line 148
2744  __cil_tmp28 = 16 + __cil_tmp27;
2745#line 148
2746  __cil_tmp29 = (unsigned long )mouse;
2747#line 148
2748  __cil_tmp30 = __cil_tmp29 + __cil_tmp28;
2749#line 148
2750  *((unsigned char *)__cil_tmp30) = byte;
2751#line 149
2752  return;
2753}
2754}
2755#line 151 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2756static void vsxxxaa_detection_done(struct vsxxxaa *mouse ) 
2757{ unsigned long __cil_tmp2 ;
2758  unsigned long __cil_tmp3 ;
2759  unsigned char __cil_tmp4 ;
2760  unsigned long __cil_tmp5 ;
2761  unsigned long __cil_tmp6 ;
2762  unsigned long __cil_tmp7 ;
2763  unsigned long __cil_tmp8 ;
2764  char *__cil_tmp9 ;
2765  unsigned long __cil_tmp10 ;
2766  unsigned long __cil_tmp11 ;
2767  unsigned long __cil_tmp12 ;
2768  unsigned long __cil_tmp13 ;
2769  char *__cil_tmp14 ;
2770  unsigned long __cil_tmp15 ;
2771  unsigned long __cil_tmp16 ;
2772  unsigned long __cil_tmp17 ;
2773  unsigned long __cil_tmp18 ;
2774  char *__cil_tmp19 ;
2775  unsigned long __cil_tmp20 ;
2776  unsigned long __cil_tmp21 ;
2777  unsigned char __cil_tmp22 ;
2778  int __cil_tmp23 ;
2779  unsigned long __cil_tmp24 ;
2780  unsigned long __cil_tmp25 ;
2781  unsigned long __cil_tmp26 ;
2782  unsigned long __cil_tmp27 ;
2783  char *__cil_tmp28 ;
2784  unsigned long __cil_tmp29 ;
2785  unsigned long __cil_tmp30 ;
2786  unsigned char __cil_tmp31 ;
2787  int __cil_tmp32 ;
2788  unsigned long __cil_tmp33 ;
2789  unsigned long __cil_tmp34 ;
2790  unsigned char __cil_tmp35 ;
2791  int __cil_tmp36 ;
2792  unsigned long __cil_tmp37 ;
2793  unsigned long __cil_tmp38 ;
2794  unsigned long __cil_tmp39 ;
2795  unsigned long __cil_tmp40 ;
2796  char *__cil_tmp41 ;
2797
2798  {
2799  {
2800#line 153
2801  __cil_tmp2 = (unsigned long )mouse;
2802#line 153
2803  __cil_tmp3 = __cil_tmp2 + 34;
2804#line 153
2805  __cil_tmp4 = *((unsigned char *)__cil_tmp3);
2806#line 154
2807  if ((int )__cil_tmp4 == 2) {
2808#line 154
2809    goto case_2;
2810  } else
2811#line 159
2812  if ((int )__cil_tmp4 == 4) {
2813#line 159
2814    goto case_4;
2815  } else {
2816    {
2817#line 164
2818    goto switch_default;
2819#line 153
2820    if (0) {
2821      case_2: /* CIL Label */ 
2822      {
2823#line 155
2824      __cil_tmp5 = 0 * 1UL;
2825#line 155
2826      __cil_tmp6 = 35 + __cil_tmp5;
2827#line 155
2828      __cil_tmp7 = (unsigned long )mouse;
2829#line 155
2830      __cil_tmp8 = __cil_tmp7 + __cil_tmp6;
2831#line 155
2832      __cil_tmp9 = (char *)__cil_tmp8;
2833#line 155
2834      strlcpy(__cil_tmp9, "DEC VSXXX-AA/-GA mouse", 64UL);
2835      }
2836#line 157
2837      goto switch_break;
2838      case_4: /* CIL Label */ 
2839      {
2840#line 160
2841      __cil_tmp10 = 0 * 1UL;
2842#line 160
2843      __cil_tmp11 = 35 + __cil_tmp10;
2844#line 160
2845      __cil_tmp12 = (unsigned long )mouse;
2846#line 160
2847      __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
2848#line 160
2849      __cil_tmp14 = (char *)__cil_tmp13;
2850#line 160
2851      strlcpy(__cil_tmp14, "DEC VSXXX-AB digitizer", 64UL);
2852      }
2853#line 162
2854      goto switch_break;
2855      switch_default: /* CIL Label */ 
2856      {
2857#line 165
2858      __cil_tmp15 = 0 * 1UL;
2859#line 165
2860      __cil_tmp16 = 35 + __cil_tmp15;
2861#line 165
2862      __cil_tmp17 = (unsigned long )mouse;
2863#line 165
2864      __cil_tmp18 = __cil_tmp17 + __cil_tmp16;
2865#line 165
2866      __cil_tmp19 = (char *)__cil_tmp18;
2867#line 165
2868      __cil_tmp20 = (unsigned long )mouse;
2869#line 165
2870      __cil_tmp21 = __cil_tmp20 + 34;
2871#line 165
2872      __cil_tmp22 = *((unsigned char *)__cil_tmp21);
2873#line 165
2874      __cil_tmp23 = (int )__cil_tmp22;
2875#line 165
2876      snprintf(__cil_tmp19, 64UL, "unknown DEC pointer device (type = 0x%02x)", __cil_tmp23);
2877      }
2878#line 168
2879      goto switch_break;
2880    } else {
2881      switch_break: /* CIL Label */ ;
2882    }
2883    }
2884  }
2885  }
2886  {
2887#line 171
2888  __cil_tmp24 = 0 * 1UL;
2889#line 171
2890  __cil_tmp25 = 35 + __cil_tmp24;
2891#line 171
2892  __cil_tmp26 = (unsigned long )mouse;
2893#line 171
2894  __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
2895#line 171
2896  __cil_tmp28 = (char *)__cil_tmp27;
2897#line 171
2898  __cil_tmp29 = (unsigned long )mouse;
2899#line 171
2900  __cil_tmp30 = __cil_tmp29 + 32;
2901#line 171
2902  __cil_tmp31 = *((unsigned char *)__cil_tmp30);
2903#line 171
2904  __cil_tmp32 = (int )__cil_tmp31;
2905#line 171
2906  __cil_tmp33 = (unsigned long )mouse;
2907#line 171
2908  __cil_tmp34 = __cil_tmp33 + 33;
2909#line 171
2910  __cil_tmp35 = *((unsigned char *)__cil_tmp34);
2911#line 171
2912  __cil_tmp36 = (int )__cil_tmp35;
2913#line 171
2914  __cil_tmp37 = 0 * 1UL;
2915#line 171
2916  __cil_tmp38 = 99 + __cil_tmp37;
2917#line 171
2918  __cil_tmp39 = (unsigned long )mouse;
2919#line 171
2920  __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
2921#line 171
2922  __cil_tmp41 = (char *)__cil_tmp40;
2923#line 171
2924  printk("<6>Found %s version 0x%02x from country 0x%02x on port %s\n", __cil_tmp28,
2925         __cil_tmp32, __cil_tmp36, __cil_tmp41);
2926  }
2927#line 174
2928  return;
2929}
2930}
2931#line 179 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
2932static int vsxxxaa_check_packet(struct vsxxxaa *mouse , int packet_len ) 
2933{ int i ;
2934  unsigned long __cil_tmp4 ;
2935  unsigned long __cil_tmp5 ;
2936  unsigned long __cil_tmp6 ;
2937  unsigned long __cil_tmp7 ;
2938  unsigned char __cil_tmp8 ;
2939  int __cil_tmp9 ;
2940  int __cil_tmp10 ;
2941  int __cil_tmp11 ;
2942  unsigned long __cil_tmp12 ;
2943  unsigned long __cil_tmp13 ;
2944  unsigned long __cil_tmp14 ;
2945  unsigned long __cil_tmp15 ;
2946  unsigned char __cil_tmp16 ;
2947  int __cil_tmp17 ;
2948  int __cil_tmp18 ;
2949  int __cil_tmp19 ;
2950
2951  {
2952  {
2953#line 184
2954  __cil_tmp4 = 0 * 1UL;
2955#line 184
2956  __cil_tmp5 = 16 + __cil_tmp4;
2957#line 184
2958  __cil_tmp6 = (unsigned long )mouse;
2959#line 184
2960  __cil_tmp7 = __cil_tmp6 + __cil_tmp5;
2961#line 184
2962  __cil_tmp8 = *((unsigned char *)__cil_tmp7);
2963#line 184
2964  __cil_tmp9 = (int )__cil_tmp8;
2965#line 184
2966  __cil_tmp10 = __cil_tmp9 & 128;
2967#line 184
2968  __cil_tmp11 = __cil_tmp10 == 128;
2969#line 184
2970  if (! __cil_tmp11) {
2971    {
2972#line 185
2973    while (1) {
2974      while_continue: /* CIL Label */ ;
2975#line 185
2976      goto while_break;
2977    }
2978    while_break: /* CIL Label */ ;
2979    }
2980#line 186
2981    return (1);
2982  } else {
2983
2984  }
2985  }
2986#line 190
2987  i = 1;
2988  {
2989#line 190
2990  while (1) {
2991    while_continue___0: /* CIL Label */ ;
2992#line 190
2993    if (i < packet_len) {
2994
2995    } else {
2996#line 190
2997      goto while_break___0;
2998    }
2999    {
3000#line 191
3001    __cil_tmp12 = i * 1UL;
3002#line 191
3003    __cil_tmp13 = 16 + __cil_tmp12;
3004#line 191
3005    __cil_tmp14 = (unsigned long )mouse;
3006#line 191
3007    __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
3008#line 191
3009    __cil_tmp16 = *((unsigned char *)__cil_tmp15);
3010#line 191
3011    __cil_tmp17 = (int )__cil_tmp16;
3012#line 191
3013    __cil_tmp18 = __cil_tmp17 & 128;
3014#line 191
3015    if (__cil_tmp18 == 128) {
3016      {
3017#line 192
3018      __cil_tmp19 = i - 1;
3019#line 192
3020      printk("<3>Need to drop %d bytes of a broken packet.\n", __cil_tmp19);
3021      }
3022      {
3023#line 195
3024      while (1) {
3025        while_continue___1: /* CIL Label */ ;
3026#line 195
3027        goto while_break___1;
3028      }
3029      while_break___1: /* CIL Label */ ;
3030      }
3031#line 197
3032      return (i - 1);
3033    } else {
3034
3035    }
3036    }
3037#line 190
3038    i = i + 1;
3039  }
3040  while_break___0: /* CIL Label */ ;
3041  }
3042#line 201
3043  return (0);
3044}
3045}
3046#line 204
3047__inline static int vsxxxaa_smells_like_packet(struct vsxxxaa *mouse , unsigned char type ,
3048                                               size_t len )  __attribute__((__no_instrument_function__)) ;
3049#line 204 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
3050__inline static int vsxxxaa_smells_like_packet(struct vsxxxaa *mouse , unsigned char type ,
3051                                               size_t len ) 
3052{ int tmp ;
3053  unsigned long __cil_tmp5 ;
3054  unsigned long __cil_tmp6 ;
3055  unsigned char __cil_tmp7 ;
3056  size_t __cil_tmp8 ;
3057  int __cil_tmp9 ;
3058  unsigned long __cil_tmp10 ;
3059  unsigned long __cil_tmp11 ;
3060  unsigned long __cil_tmp12 ;
3061  unsigned long __cil_tmp13 ;
3062  unsigned char __cil_tmp14 ;
3063  int __cil_tmp15 ;
3064  int __cil_tmp16 ;
3065
3066  {
3067  {
3068#line 207
3069  __cil_tmp5 = (unsigned long )mouse;
3070#line 207
3071  __cil_tmp6 = __cil_tmp5 + 31;
3072#line 207
3073  __cil_tmp7 = *((unsigned char *)__cil_tmp6);
3074#line 207
3075  __cil_tmp8 = (size_t )__cil_tmp7;
3076#line 207
3077  if (__cil_tmp8 >= len) {
3078    {
3079#line 207
3080    __cil_tmp9 = (int )type;
3081#line 207
3082    __cil_tmp10 = 0 * 1UL;
3083#line 207
3084    __cil_tmp11 = 16 + __cil_tmp10;
3085#line 207
3086    __cil_tmp12 = (unsigned long )mouse;
3087#line 207
3088    __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
3089#line 207
3090    __cil_tmp14 = *((unsigned char *)__cil_tmp13);
3091#line 207
3092    __cil_tmp15 = (int )__cil_tmp14;
3093#line 207
3094    __cil_tmp16 = __cil_tmp15 & 224;
3095#line 207
3096    if (__cil_tmp16 == __cil_tmp9) {
3097#line 207
3098      tmp = 1;
3099    } else {
3100#line 207
3101      tmp = 0;
3102    }
3103    }
3104  } else {
3105#line 207
3106    tmp = 0;
3107  }
3108  }
3109#line 207
3110  return (tmp);
3111}
3112}
3113#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
3114static void vsxxxaa_handle_REL_packet(struct vsxxxaa *mouse ) 
3115{ struct input_dev *dev ;
3116  unsigned char *buf ;
3117  int left ;
3118  int middle ;
3119  int right ;
3120  int dx ;
3121  int dy ;
3122  int tmp ;
3123  int tmp___0 ;
3124  unsigned long __cil_tmp11 ;
3125  unsigned long __cil_tmp12 ;
3126  unsigned long __cil_tmp13 ;
3127  unsigned long __cil_tmp14 ;
3128  unsigned char *__cil_tmp15 ;
3129  unsigned char __cil_tmp16 ;
3130  int __cil_tmp17 ;
3131  unsigned char *__cil_tmp18 ;
3132  unsigned char __cil_tmp19 ;
3133  int __cil_tmp20 ;
3134  int __cil_tmp21 ;
3135  unsigned char *__cil_tmp22 ;
3136  unsigned char __cil_tmp23 ;
3137  int __cil_tmp24 ;
3138  unsigned char *__cil_tmp25 ;
3139  unsigned char __cil_tmp26 ;
3140  int __cil_tmp27 ;
3141  int __cil_tmp28 ;
3142  unsigned char *__cil_tmp29 ;
3143  unsigned char __cil_tmp30 ;
3144  int __cil_tmp31 ;
3145  unsigned char *__cil_tmp32 ;
3146  unsigned char __cil_tmp33 ;
3147  int __cil_tmp34 ;
3148  unsigned char *__cil_tmp35 ;
3149  unsigned char __cil_tmp36 ;
3150  int __cil_tmp37 ;
3151
3152  {
3153#line 212
3154  dev = *((struct input_dev **)mouse);
3155#line 213
3156  __cil_tmp11 = 0 * 1UL;
3157#line 213
3158  __cil_tmp12 = 16 + __cil_tmp11;
3159#line 213
3160  __cil_tmp13 = (unsigned long )mouse;
3161#line 213
3162  __cil_tmp14 = __cil_tmp13 + __cil_tmp12;
3163#line 213
3164  buf = (unsigned char *)__cil_tmp14;
3165#line 230
3166  __cil_tmp15 = buf + 1;
3167#line 230
3168  __cil_tmp16 = *__cil_tmp15;
3169#line 230
3170  __cil_tmp17 = (int )__cil_tmp16;
3171#line 230
3172  dx = __cil_tmp17 & 127;
3173  {
3174#line 231
3175  __cil_tmp18 = buf + 0;
3176#line 231
3177  __cil_tmp19 = *__cil_tmp18;
3178#line 231
3179  __cil_tmp20 = (int )__cil_tmp19;
3180#line 231
3181  __cil_tmp21 = __cil_tmp20 >> 4;
3182#line 231
3183  if (__cil_tmp21 & 1) {
3184#line 231
3185    tmp = 1;
3186  } else {
3187#line 231
3188    tmp = -1;
3189  }
3190  }
3191#line 231
3192  dx = dx * tmp;
3193#line 237
3194  __cil_tmp22 = buf + 2;
3195#line 237
3196  __cil_tmp23 = *__cil_tmp22;
3197#line 237
3198  __cil_tmp24 = (int )__cil_tmp23;
3199#line 237
3200  dy = __cil_tmp24 & 127;
3201  {
3202#line 238
3203  __cil_tmp25 = buf + 0;
3204#line 238
3205  __cil_tmp26 = *__cil_tmp25;
3206#line 238
3207  __cil_tmp27 = (int )__cil_tmp26;
3208#line 238
3209  __cil_tmp28 = __cil_tmp27 >> 3;
3210#line 238
3211  if (__cil_tmp28 & 1) {
3212#line 238
3213    tmp___0 = -1;
3214  } else {
3215#line 238
3216    tmp___0 = 1;
3217  }
3218  }
3219  {
3220#line 238
3221  dy = dy * tmp___0;
3222#line 244
3223  __cil_tmp29 = buf + 0;
3224#line 244
3225  __cil_tmp30 = *__cil_tmp29;
3226#line 244
3227  __cil_tmp31 = (int )__cil_tmp30;
3228#line 244
3229  left = __cil_tmp31 & 4;
3230#line 245
3231  __cil_tmp32 = buf + 0;
3232#line 245
3233  __cil_tmp33 = *__cil_tmp32;
3234#line 245
3235  __cil_tmp34 = (int )__cil_tmp33;
3236#line 245
3237  middle = __cil_tmp34 & 2;
3238#line 246
3239  __cil_tmp35 = buf + 0;
3240#line 246
3241  __cil_tmp36 = *__cil_tmp35;
3242#line 246
3243  __cil_tmp37 = (int )__cil_tmp36;
3244#line 246
3245  right = __cil_tmp37 & 1;
3246#line 248
3247  vsxxxaa_drop_bytes(mouse, 3);
3248  }
3249  {
3250#line 250
3251  while (1) {
3252    while_continue: /* CIL Label */ ;
3253#line 250
3254    goto while_break;
3255  }
3256  while_break: /* CIL Label */ ;
3257  }
3258  {
3259#line 257
3260  input_report_key(dev, 272U, left);
3261#line 258
3262  input_report_key(dev, 274U, middle);
3263#line 259
3264  input_report_key(dev, 273U, right);
3265#line 260
3266  input_report_key(dev, 330U, 0);
3267#line 261
3268  input_report_rel(dev, 0U, dx);
3269#line 262
3270  input_report_rel(dev, 1U, dy);
3271#line 263
3272  input_sync(dev);
3273  }
3274#line 264
3275  return;
3276}
3277}
3278#line 266 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
3279static void vsxxxaa_handle_ABS_packet(struct vsxxxaa *mouse ) 
3280{ struct input_dev *dev ;
3281  unsigned char *buf ;
3282  int left ;
3283  int middle ;
3284  int right ;
3285  int touch ;
3286  int x ;
3287  int y ;
3288  unsigned long __cil_tmp10 ;
3289  unsigned long __cil_tmp11 ;
3290  unsigned long __cil_tmp12 ;
3291  unsigned long __cil_tmp13 ;
3292  unsigned char *__cil_tmp14 ;
3293  unsigned char __cil_tmp15 ;
3294  int __cil_tmp16 ;
3295  int __cil_tmp17 ;
3296  unsigned char *__cil_tmp18 ;
3297  unsigned char __cil_tmp19 ;
3298  int __cil_tmp20 ;
3299  int __cil_tmp21 ;
3300  int __cil_tmp22 ;
3301  unsigned char *__cil_tmp23 ;
3302  unsigned char __cil_tmp24 ;
3303  int __cil_tmp25 ;
3304  int __cil_tmp26 ;
3305  unsigned char *__cil_tmp27 ;
3306  unsigned char __cil_tmp28 ;
3307  int __cil_tmp29 ;
3308  int __cil_tmp30 ;
3309  int __cil_tmp31 ;
3310  unsigned char *__cil_tmp32 ;
3311  unsigned char __cil_tmp33 ;
3312  int __cil_tmp34 ;
3313  unsigned char *__cil_tmp35 ;
3314  unsigned char __cil_tmp36 ;
3315  int __cil_tmp37 ;
3316  unsigned char *__cil_tmp38 ;
3317  unsigned char __cil_tmp39 ;
3318  int __cil_tmp40 ;
3319  unsigned char *__cil_tmp41 ;
3320  unsigned char __cil_tmp42 ;
3321  int __cil_tmp43 ;
3322
3323  {
3324  {
3325#line 268
3326  dev = *((struct input_dev **)mouse);
3327#line 269
3328  __cil_tmp10 = 0 * 1UL;
3329#line 269
3330  __cil_tmp11 = 16 + __cil_tmp10;
3331#line 269
3332  __cil_tmp12 = (unsigned long )mouse;
3333#line 269
3334  __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
3335#line 269
3336  buf = (unsigned char *)__cil_tmp13;
3337#line 287
3338  __cil_tmp14 = buf + 1;
3339#line 287
3340  __cil_tmp15 = *__cil_tmp14;
3341#line 287
3342  __cil_tmp16 = (int )__cil_tmp15;
3343#line 287
3344  __cil_tmp17 = __cil_tmp16 & 63;
3345#line 287
3346  __cil_tmp18 = buf + 2;
3347#line 287
3348  __cil_tmp19 = *__cil_tmp18;
3349#line 287
3350  __cil_tmp20 = (int )__cil_tmp19;
3351#line 287
3352  __cil_tmp21 = __cil_tmp20 & 63;
3353#line 287
3354  __cil_tmp22 = __cil_tmp21 << 6;
3355#line 287
3356  x = __cil_tmp22 | __cil_tmp17;
3357#line 288
3358  __cil_tmp23 = buf + 3;
3359#line 288
3360  __cil_tmp24 = *__cil_tmp23;
3361#line 288
3362  __cil_tmp25 = (int )__cil_tmp24;
3363#line 288
3364  __cil_tmp26 = __cil_tmp25 & 63;
3365#line 288
3366  __cil_tmp27 = buf + 4;
3367#line 288
3368  __cil_tmp28 = *__cil_tmp27;
3369#line 288
3370  __cil_tmp29 = (int )__cil_tmp28;
3371#line 288
3372  __cil_tmp30 = __cil_tmp29 & 63;
3373#line 288
3374  __cil_tmp31 = __cil_tmp30 << 6;
3375#line 288
3376  y = __cil_tmp31 | __cil_tmp26;
3377#line 289
3378  y = 1023 - y;
3379#line 294
3380  __cil_tmp32 = buf + 0;
3381#line 294
3382  __cil_tmp33 = *__cil_tmp32;
3383#line 294
3384  __cil_tmp34 = (int )__cil_tmp33;
3385#line 294
3386  left = __cil_tmp34 & 2;
3387#line 295
3388  __cil_tmp35 = buf + 0;
3389#line 295
3390  __cil_tmp36 = *__cil_tmp35;
3391#line 295
3392  __cil_tmp37 = (int )__cil_tmp36;
3393#line 295
3394  middle = __cil_tmp37 & 4;
3395#line 296
3396  __cil_tmp38 = buf + 0;
3397#line 296
3398  __cil_tmp39 = *__cil_tmp38;
3399#line 296
3400  __cil_tmp40 = (int )__cil_tmp39;
3401#line 296
3402  right = __cil_tmp40 & 8;
3403#line 297
3404  __cil_tmp41 = buf + 0;
3405#line 297
3406  __cil_tmp42 = *__cil_tmp41;
3407#line 297
3408  __cil_tmp43 = (int )__cil_tmp42;
3409#line 297
3410  touch = __cil_tmp43 & 16;
3411#line 299
3412  vsxxxaa_drop_bytes(mouse, 5);
3413  }
3414  {
3415#line 301
3416  while (1) {
3417    while_continue: /* CIL Label */ ;
3418#line 301
3419    goto while_break;
3420  }
3421  while_break: /* CIL Label */ ;
3422  }
3423  {
3424#line 309
3425  input_report_key(dev, 272U, left);
3426#line 310
3427  input_report_key(dev, 274U, middle);
3428#line 311
3429  input_report_key(dev, 273U, right);
3430#line 312
3431  input_report_key(dev, 330U, touch);
3432#line 313
3433  input_report_abs(dev, 0U, x);
3434#line 314
3435  input_report_abs(dev, 1U, y);
3436#line 315
3437  input_sync(dev);
3438  }
3439#line 316
3440  return;
3441}
3442}
3443#line 318 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
3444static void vsxxxaa_handle_POR_packet(struct vsxxxaa *mouse ) 
3445{ struct input_dev *dev ;
3446  unsigned char *buf ;
3447  int left ;
3448  int middle ;
3449  int right ;
3450  unsigned char error ;
3451  unsigned long __ms ;
3452  unsigned long tmp ;
3453  unsigned long __ms___0 ;
3454  unsigned long tmp___0 ;
3455  unsigned long __cil_tmp12 ;
3456  unsigned long __cil_tmp13 ;
3457  unsigned long __cil_tmp14 ;
3458  unsigned long __cil_tmp15 ;
3459  unsigned long __cil_tmp16 ;
3460  unsigned long __cil_tmp17 ;
3461  unsigned char *__cil_tmp18 ;
3462  unsigned char __cil_tmp19 ;
3463  int __cil_tmp20 ;
3464  int __cil_tmp21 ;
3465  unsigned long __cil_tmp22 ;
3466  unsigned long __cil_tmp23 ;
3467  unsigned char *__cil_tmp24 ;
3468  unsigned char __cil_tmp25 ;
3469  int __cil_tmp26 ;
3470  int __cil_tmp27 ;
3471  int __cil_tmp28 ;
3472  unsigned long __cil_tmp29 ;
3473  unsigned long __cil_tmp30 ;
3474  unsigned char *__cil_tmp31 ;
3475  unsigned char __cil_tmp32 ;
3476  int __cil_tmp33 ;
3477  int __cil_tmp34 ;
3478  unsigned char *__cil_tmp35 ;
3479  unsigned char __cil_tmp36 ;
3480  int __cil_tmp37 ;
3481  int __cil_tmp38 ;
3482  unsigned char *__cil_tmp39 ;
3483  unsigned char __cil_tmp40 ;
3484  int __cil_tmp41 ;
3485  unsigned char *__cil_tmp42 ;
3486  unsigned char __cil_tmp43 ;
3487  int __cil_tmp44 ;
3488  unsigned char *__cil_tmp45 ;
3489  unsigned char __cil_tmp46 ;
3490  int __cil_tmp47 ;
3491  int __cil_tmp48 ;
3492  int __cil_tmp49 ;
3493  unsigned long __cil_tmp50 ;
3494  unsigned long __cil_tmp51 ;
3495  unsigned long __cil_tmp52 ;
3496  unsigned long __cil_tmp53 ;
3497  char *__cil_tmp54 ;
3498  unsigned long __cil_tmp55 ;
3499  unsigned long __cil_tmp56 ;
3500  unsigned long __cil_tmp57 ;
3501  unsigned long __cil_tmp58 ;
3502  char *__cil_tmp59 ;
3503  int __cil_tmp60 ;
3504  unsigned long __cil_tmp61 ;
3505  unsigned long __cil_tmp62 ;
3506  unsigned long __cil_tmp63 ;
3507  unsigned long __cil_tmp64 ;
3508  char *__cil_tmp65 ;
3509  unsigned long __cil_tmp66 ;
3510  unsigned long __cil_tmp67 ;
3511  unsigned long __cil_tmp68 ;
3512  unsigned long __cil_tmp69 ;
3513  char *__cil_tmp70 ;
3514  unsigned long __cil_tmp71 ;
3515  unsigned long __cil_tmp72 ;
3516  struct serio *__cil_tmp73 ;
3517  unsigned char __cil_tmp74 ;
3518  unsigned long __cil_tmp75 ;
3519  unsigned long __cil_tmp76 ;
3520  struct serio *__cil_tmp77 ;
3521  unsigned char __cil_tmp78 ;
3522  unsigned long __cil_tmp79 ;
3523  unsigned long __cil_tmp80 ;
3524  struct serio *__cil_tmp81 ;
3525  unsigned char __cil_tmp82 ;
3526
3527  {
3528  {
3529#line 320
3530  dev = *((struct input_dev **)mouse);
3531#line 321
3532  __cil_tmp12 = 0 * 1UL;
3533#line 321
3534  __cil_tmp13 = 16 + __cil_tmp12;
3535#line 321
3536  __cil_tmp14 = (unsigned long )mouse;
3537#line 321
3538  __cil_tmp15 = __cil_tmp14 + __cil_tmp13;
3539#line 321
3540  buf = (unsigned char *)__cil_tmp15;
3541#line 343
3542  __cil_tmp16 = (unsigned long )mouse;
3543#line 343
3544  __cil_tmp17 = __cil_tmp16 + 32;
3545#line 343
3546  __cil_tmp18 = buf + 0;
3547#line 343
3548  __cil_tmp19 = *__cil_tmp18;
3549#line 343
3550  __cil_tmp20 = (int )__cil_tmp19;
3551#line 343
3552  __cil_tmp21 = __cil_tmp20 & 15;
3553#line 343
3554  *((unsigned char *)__cil_tmp17) = (unsigned char )__cil_tmp21;
3555#line 344
3556  __cil_tmp22 = (unsigned long )mouse;
3557#line 344
3558  __cil_tmp23 = __cil_tmp22 + 33;
3559#line 344
3560  __cil_tmp24 = buf + 1;
3561#line 344
3562  __cil_tmp25 = *__cil_tmp24;
3563#line 344
3564  __cil_tmp26 = (int )__cil_tmp25;
3565#line 344
3566  __cil_tmp27 = __cil_tmp26 >> 4;
3567#line 344
3568  __cil_tmp28 = __cil_tmp27 & 7;
3569#line 344
3570  *((unsigned char *)__cil_tmp23) = (unsigned char )__cil_tmp28;
3571#line 345
3572  __cil_tmp29 = (unsigned long )mouse;
3573#line 345
3574  __cil_tmp30 = __cil_tmp29 + 34;
3575#line 345
3576  __cil_tmp31 = buf + 1;
3577#line 345
3578  __cil_tmp32 = *__cil_tmp31;
3579#line 345
3580  __cil_tmp33 = (int )__cil_tmp32;
3581#line 345
3582  __cil_tmp34 = __cil_tmp33 & 15;
3583#line 345
3584  *((unsigned char *)__cil_tmp30) = (unsigned char )__cil_tmp34;
3585#line 346
3586  __cil_tmp35 = buf + 2;
3587#line 346
3588  __cil_tmp36 = *__cil_tmp35;
3589#line 346
3590  __cil_tmp37 = (int )__cil_tmp36;
3591#line 346
3592  __cil_tmp38 = __cil_tmp37 & 127;
3593#line 346
3594  error = (unsigned char )__cil_tmp38;
3595#line 353
3596  __cil_tmp39 = buf + 0;
3597#line 353
3598  __cil_tmp40 = *__cil_tmp39;
3599#line 353
3600  __cil_tmp41 = (int )__cil_tmp40;
3601#line 353
3602  left = __cil_tmp41 & 4;
3603#line 354
3604  __cil_tmp42 = buf + 0;
3605#line 354
3606  __cil_tmp43 = *__cil_tmp42;
3607#line 354
3608  __cil_tmp44 = (int )__cil_tmp43;
3609#line 354
3610  middle = __cil_tmp44 & 2;
3611#line 355
3612  __cil_tmp45 = buf + 0;
3613#line 355
3614  __cil_tmp46 = *__cil_tmp45;
3615#line 355
3616  __cil_tmp47 = (int )__cil_tmp46;
3617#line 355
3618  right = __cil_tmp47 & 1;
3619#line 357
3620  vsxxxaa_drop_bytes(mouse, 4);
3621#line 358
3622  vsxxxaa_detection_done(mouse);
3623  }
3624  {
3625#line 360
3626  __cil_tmp48 = (int )error;
3627#line 360
3628  if (__cil_tmp48 <= 31) {
3629    {
3630#line 362
3631    input_report_key(dev, 272U, left);
3632#line 363
3633    input_report_key(dev, 274U, middle);
3634#line 364
3635    input_report_key(dev, 273U, right);
3636#line 365
3637    input_report_key(dev, 330U, 0);
3638#line 366
3639    input_sync(dev);
3640    }
3641    {
3642#line 368
3643    __cil_tmp49 = (int )error;
3644#line 368
3645    if (__cil_tmp49 != 0) {
3646      {
3647#line 369
3648      __cil_tmp50 = 0 * 1UL;
3649#line 369
3650      __cil_tmp51 = 35 + __cil_tmp50;
3651#line 369
3652      __cil_tmp52 = (unsigned long )mouse;
3653#line 369
3654      __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
3655#line 369
3656      __cil_tmp54 = (char *)__cil_tmp53;
3657#line 369
3658      __cil_tmp55 = 0 * 1UL;
3659#line 369
3660      __cil_tmp56 = 99 + __cil_tmp55;
3661#line 369
3662      __cil_tmp57 = (unsigned long )mouse;
3663#line 369
3664      __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
3665#line 369
3666      __cil_tmp59 = (char *)__cil_tmp58;
3667#line 369
3668      __cil_tmp60 = (int )error;
3669#line 369
3670      printk("<6>Your %s on %s reports error=0x%02x\n", __cil_tmp54, __cil_tmp59,
3671             __cil_tmp60);
3672      }
3673    } else {
3674
3675    }
3676    }
3677  } else {
3678
3679  }
3680  }
3681  {
3682#line 378
3683  __cil_tmp61 = 0 * 1UL;
3684#line 378
3685  __cil_tmp62 = 35 + __cil_tmp61;
3686#line 378
3687  __cil_tmp63 = (unsigned long )mouse;
3688#line 378
3689  __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
3690#line 378
3691  __cil_tmp65 = (char *)__cil_tmp64;
3692#line 378
3693  __cil_tmp66 = 0 * 1UL;
3694#line 378
3695  __cil_tmp67 = 99 + __cil_tmp66;
3696#line 378
3697  __cil_tmp68 = (unsigned long )mouse;
3698#line 378
3699  __cil_tmp69 = __cil_tmp68 + __cil_tmp67;
3700#line 378
3701  __cil_tmp70 = (char *)__cil_tmp69;
3702#line 378
3703  printk("<5>%s on %s: Forcing standard packet format, incremental streaming mode and 72 samples/sec\n",
3704         __cil_tmp65, __cil_tmp70);
3705#line 382
3706  __cil_tmp71 = (unsigned long )mouse;
3707#line 382
3708  __cil_tmp72 = __cil_tmp71 + 8;
3709#line 382
3710  __cil_tmp73 = *((struct serio **)__cil_tmp72);
3711#line 382
3712  __cil_tmp74 = (unsigned char )'S';
3713#line 382
3714  serio_write(__cil_tmp73, __cil_tmp74);
3715#line 383
3716  __ms = 50UL;
3717  }
3718  {
3719#line 383
3720  while (1) {
3721    while_continue: /* CIL Label */ ;
3722#line 383
3723    tmp = __ms;
3724#line 383
3725    __ms = __ms - 1UL;
3726#line 383
3727    if (tmp) {
3728
3729    } else {
3730#line 383
3731      goto while_break;
3732    }
3733    {
3734#line 383
3735    __const_udelay(4295000UL);
3736    }
3737  }
3738  while_break: /* CIL Label */ ;
3739  }
3740  {
3741#line 384
3742  __cil_tmp75 = (unsigned long )mouse;
3743#line 384
3744  __cil_tmp76 = __cil_tmp75 + 8;
3745#line 384
3746  __cil_tmp77 = *((struct serio **)__cil_tmp76);
3747#line 384
3748  __cil_tmp78 = (unsigned char )'R';
3749#line 384
3750  serio_write(__cil_tmp77, __cil_tmp78);
3751#line 385
3752  __ms___0 = 50UL;
3753  }
3754  {
3755#line 385
3756  while (1) {
3757    while_continue___0: /* CIL Label */ ;
3758#line 385
3759    tmp___0 = __ms___0;
3760#line 385
3761    __ms___0 = __ms___0 - 1UL;
3762#line 385
3763    if (tmp___0) {
3764
3765    } else {
3766#line 385
3767      goto while_break___0;
3768    }
3769    {
3770#line 385
3771    __const_udelay(4295000UL);
3772    }
3773  }
3774  while_break___0: /* CIL Label */ ;
3775  }
3776  {
3777#line 386
3778  __cil_tmp79 = (unsigned long )mouse;
3779#line 386
3780  __cil_tmp80 = __cil_tmp79 + 8;
3781#line 386
3782  __cil_tmp81 = *((struct serio **)__cil_tmp80);
3783#line 386
3784  __cil_tmp82 = (unsigned char )'L';
3785#line 386
3786  serio_write(__cil_tmp81, __cil_tmp82);
3787  }
3788#line 387
3789  return;
3790}
3791}
3792#line 389 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
3793static void vsxxxaa_parse_buffer(struct vsxxxaa *mouse ) 
3794{ unsigned char *buf ;
3795  int stray_bytes ;
3796  int tmp ;
3797  int tmp___0 ;
3798  int tmp___1 ;
3799  unsigned long __cil_tmp7 ;
3800  unsigned long __cil_tmp8 ;
3801  unsigned long __cil_tmp9 ;
3802  unsigned long __cil_tmp10 ;
3803  unsigned long __cil_tmp11 ;
3804  unsigned long __cil_tmp12 ;
3805  unsigned char __cil_tmp13 ;
3806  int __cil_tmp14 ;
3807  unsigned char *__cil_tmp15 ;
3808  unsigned char __cil_tmp16 ;
3809  int __cil_tmp17 ;
3810  int __cil_tmp18 ;
3811  int __cil_tmp19 ;
3812  unsigned long __cil_tmp20 ;
3813  unsigned long __cil_tmp21 ;
3814  unsigned long __cil_tmp22 ;
3815  unsigned long __cil_tmp23 ;
3816  char *__cil_tmp24 ;
3817  unsigned long __cil_tmp25 ;
3818  unsigned long __cil_tmp26 ;
3819  unsigned long __cil_tmp27 ;
3820  unsigned long __cil_tmp28 ;
3821  char *__cil_tmp29 ;
3822  size_t __cil_tmp30 ;
3823  size_t __cil_tmp31 ;
3824  size_t __cil_tmp32 ;
3825
3826  {
3827#line 391
3828  __cil_tmp7 = 0 * 1UL;
3829#line 391
3830  __cil_tmp8 = 16 + __cil_tmp7;
3831#line 391
3832  __cil_tmp9 = (unsigned long )mouse;
3833#line 391
3834  __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
3835#line 391
3836  buf = (unsigned char *)__cil_tmp10;
3837  {
3838#line 397
3839  while (1) {
3840    while_continue: /* CIL Label */ ;
3841    {
3842#line 405
3843    while (1) {
3844      while_continue___0: /* CIL Label */ ;
3845      {
3846#line 405
3847      __cil_tmp11 = (unsigned long )mouse;
3848#line 405
3849      __cil_tmp12 = __cil_tmp11 + 31;
3850#line 405
3851      __cil_tmp13 = *((unsigned char *)__cil_tmp12);
3852#line 405
3853      __cil_tmp14 = (int )__cil_tmp13;
3854#line 405
3855      if (__cil_tmp14 > 0) {
3856        {
3857#line 405
3858        __cil_tmp15 = buf + 0;
3859#line 405
3860        __cil_tmp16 = *__cil_tmp15;
3861#line 405
3862        __cil_tmp17 = (int )__cil_tmp16;
3863#line 405
3864        __cil_tmp18 = __cil_tmp17 & 128;
3865#line 405
3866        __cil_tmp19 = __cil_tmp18 == 128;
3867#line 405
3868        if (! __cil_tmp19) {
3869
3870        } else {
3871#line 405
3872          goto while_break___0;
3873        }
3874        }
3875      } else {
3876#line 405
3877        goto while_break___0;
3878      }
3879      }
3880      {
3881#line 406
3882      __cil_tmp20 = 0 * 1UL;
3883#line 406
3884      __cil_tmp21 = 35 + __cil_tmp20;
3885#line 406
3886      __cil_tmp22 = (unsigned long )mouse;
3887#line 406
3888      __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
3889#line 406
3890      __cil_tmp24 = (char *)__cil_tmp23;
3891#line 406
3892      __cil_tmp25 = 0 * 1UL;
3893#line 406
3894      __cil_tmp26 = 99 + __cil_tmp25;
3895#line 406
3896      __cil_tmp27 = (unsigned long )mouse;
3897#line 406
3898      __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
3899#line 406
3900      __cil_tmp29 = (char *)__cil_tmp28;
3901#line 406
3902      printk("<3>%s on %s: Dropping a byte to regain sync with mouse data stream...\n",
3903             __cil_tmp24, __cil_tmp29);
3904#line 409
3905      vsxxxaa_drop_bytes(mouse, 1);
3906      }
3907    }
3908    while_break___0: /* CIL Label */ ;
3909    }
3910    {
3911#line 416
3912    __cil_tmp30 = (size_t )3;
3913#line 416
3914    tmp___1 = vsxxxaa_smells_like_packet(mouse, (unsigned char)128, __cil_tmp30);
3915    }
3916#line 416
3917    if (tmp___1) {
3918      {
3919#line 418
3920      stray_bytes = vsxxxaa_check_packet(mouse, 3);
3921      }
3922#line 419
3923      if (! stray_bytes) {
3924        {
3925#line 420
3926        vsxxxaa_handle_REL_packet(mouse);
3927        }
3928      } else {
3929
3930      }
3931    } else {
3932      {
3933#line 422
3934      __cil_tmp31 = (size_t )5;
3935#line 422
3936      tmp___0 = vsxxxaa_smells_like_packet(mouse, (unsigned char)192, __cil_tmp31);
3937      }
3938#line 422
3939      if (tmp___0) {
3940        {
3941#line 425
3942        stray_bytes = vsxxxaa_check_packet(mouse, 5);
3943        }
3944#line 426
3945        if (! stray_bytes) {
3946          {
3947#line 427
3948          vsxxxaa_handle_ABS_packet(mouse);
3949          }
3950        } else {
3951
3952        }
3953      } else {
3954        {
3955#line 429
3956        __cil_tmp32 = (size_t )4;
3957#line 429
3958        tmp = vsxxxaa_smells_like_packet(mouse, (unsigned char)160, __cil_tmp32);
3959        }
3960#line 429
3961        if (tmp) {
3962          {
3963#line 432
3964          stray_bytes = vsxxxaa_check_packet(mouse, 4);
3965          }
3966#line 433
3967          if (! stray_bytes) {
3968            {
3969#line 434
3970            vsxxxaa_handle_POR_packet(mouse);
3971            }
3972          } else {
3973
3974          }
3975        } else {
3976#line 437
3977          goto while_break;
3978        }
3979      }
3980    }
3981#line 440
3982    if (stray_bytes > 0) {
3983      {
3984#line 441
3985      printk("<3>Dropping %d bytes now...\n", stray_bytes);
3986#line 443
3987      vsxxxaa_drop_bytes(mouse, stray_bytes);
3988      }
3989    } else {
3990
3991    }
3992  }
3993  while_break: /* CIL Label */ ;
3994  }
3995#line 447
3996  return;
3997}
3998}
3999#line 449 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4000static irqreturn_t vsxxxaa_interrupt(struct serio *serio , unsigned char data , unsigned int flags ) 
4001{ struct vsxxxaa *mouse ;
4002  void *tmp ;
4003
4004  {
4005  {
4006#line 452
4007  tmp = serio_get_drvdata(serio);
4008#line 452
4009  mouse = (struct vsxxxaa *)tmp;
4010#line 454
4011  vsxxxaa_queue_byte(mouse, data);
4012#line 455
4013  vsxxxaa_parse_buffer(mouse);
4014  }
4015#line 457
4016  return ((irqreturn_t )1);
4017}
4018}
4019#line 460 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4020static void vsxxxaa_disconnect(struct serio *serio ) 
4021{ struct vsxxxaa *mouse ;
4022  void *tmp ;
4023  void *__cil_tmp4 ;
4024  struct input_dev *__cil_tmp5 ;
4025  void const   *__cil_tmp6 ;
4026
4027  {
4028  {
4029#line 462
4030  tmp = serio_get_drvdata(serio);
4031#line 462
4032  mouse = (struct vsxxxaa *)tmp;
4033#line 464
4034  serio_close(serio);
4035#line 465
4036  __cil_tmp4 = (void *)0;
4037#line 465
4038  serio_set_drvdata(serio, __cil_tmp4);
4039#line 466
4040  __cil_tmp5 = *((struct input_dev **)mouse);
4041#line 466
4042  input_unregister_device(__cil_tmp5);
4043#line 467
4044  __cil_tmp6 = (void const   *)mouse;
4045#line 467
4046  kfree(__cil_tmp6);
4047  }
4048#line 468
4049  return;
4050}
4051}
4052#line 470 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4053static int vsxxxaa_connect(struct serio *serio , struct serio_driver *drv ) 
4054{ struct vsxxxaa *mouse ;
4055  struct input_dev *input_dev ;
4056  int err ;
4057  void *tmp ;
4058  unsigned long __cil_tmp7 ;
4059  unsigned long __cil_tmp8 ;
4060  unsigned long __cil_tmp9 ;
4061  unsigned long __cil_tmp10 ;
4062  unsigned long __cil_tmp11 ;
4063  unsigned long __cil_tmp12 ;
4064  char *__cil_tmp13 ;
4065  unsigned long __cil_tmp14 ;
4066  unsigned long __cil_tmp15 ;
4067  unsigned long __cil_tmp16 ;
4068  unsigned long __cil_tmp17 ;
4069  char *__cil_tmp18 ;
4070  unsigned long __cil_tmp19 ;
4071  unsigned long __cil_tmp20 ;
4072  unsigned long __cil_tmp21 ;
4073  unsigned long __cil_tmp22 ;
4074  char *__cil_tmp23 ;
4075  unsigned long __cil_tmp24 ;
4076  unsigned long __cil_tmp25 ;
4077  unsigned long __cil_tmp26 ;
4078  unsigned long __cil_tmp27 ;
4079  char *__cil_tmp28 ;
4080  unsigned long __cil_tmp29 ;
4081  unsigned long __cil_tmp30 ;
4082  unsigned long __cil_tmp31 ;
4083  unsigned long __cil_tmp32 ;
4084  unsigned long __cil_tmp33 ;
4085  unsigned long __cil_tmp34 ;
4086  char *__cil_tmp35 ;
4087  unsigned long __cil_tmp36 ;
4088  unsigned long __cil_tmp37 ;
4089  unsigned long __cil_tmp38 ;
4090  unsigned long __cil_tmp39 ;
4091  unsigned long __cil_tmp40 ;
4092  unsigned long __cil_tmp41 ;
4093  unsigned long __cil_tmp42 ;
4094  unsigned long __cil_tmp43 ;
4095  unsigned long __cil_tmp44 ;
4096  unsigned long __cil_tmp45 ;
4097  unsigned long *__cil_tmp46 ;
4098  unsigned long volatile   *__cil_tmp47 ;
4099  unsigned long __cil_tmp48 ;
4100  unsigned long __cil_tmp49 ;
4101  unsigned long __cil_tmp50 ;
4102  unsigned long __cil_tmp51 ;
4103  unsigned long *__cil_tmp52 ;
4104  unsigned long volatile   *__cil_tmp53 ;
4105  unsigned long __cil_tmp54 ;
4106  unsigned long __cil_tmp55 ;
4107  unsigned long __cil_tmp56 ;
4108  unsigned long __cil_tmp57 ;
4109  unsigned long *__cil_tmp58 ;
4110  unsigned long volatile   *__cil_tmp59 ;
4111  unsigned long __cil_tmp60 ;
4112  unsigned long __cil_tmp61 ;
4113  unsigned long __cil_tmp62 ;
4114  unsigned long __cil_tmp63 ;
4115  unsigned long *__cil_tmp64 ;
4116  unsigned long volatile   *__cil_tmp65 ;
4117  unsigned long __cil_tmp66 ;
4118  unsigned long __cil_tmp67 ;
4119  unsigned long __cil_tmp68 ;
4120  unsigned long __cil_tmp69 ;
4121  unsigned long *__cil_tmp70 ;
4122  unsigned long volatile   *__cil_tmp71 ;
4123  unsigned long __cil_tmp72 ;
4124  unsigned long __cil_tmp73 ;
4125  unsigned long __cil_tmp74 ;
4126  unsigned long __cil_tmp75 ;
4127  unsigned long *__cil_tmp76 ;
4128  unsigned long volatile   *__cil_tmp77 ;
4129  unsigned long __cil_tmp78 ;
4130  unsigned long __cil_tmp79 ;
4131  unsigned long __cil_tmp80 ;
4132  unsigned long __cil_tmp81 ;
4133  unsigned long *__cil_tmp82 ;
4134  unsigned long volatile   *__cil_tmp83 ;
4135  unsigned long __cil_tmp84 ;
4136  unsigned long __cil_tmp85 ;
4137  unsigned long __cil_tmp86 ;
4138  unsigned long __cil_tmp87 ;
4139  unsigned long *__cil_tmp88 ;
4140  unsigned long volatile   *__cil_tmp89 ;
4141  unsigned long __cil_tmp90 ;
4142  unsigned long __cil_tmp91 ;
4143  unsigned long __cil_tmp92 ;
4144  unsigned long __cil_tmp93 ;
4145  unsigned long *__cil_tmp94 ;
4146  unsigned long volatile   *__cil_tmp95 ;
4147  void *__cil_tmp96 ;
4148  unsigned char __cil_tmp97 ;
4149  void *__cil_tmp98 ;
4150  void const   *__cil_tmp99 ;
4151
4152  {
4153  {
4154#line 474
4155  err = -12;
4156#line 476
4157  tmp = kzalloc(136UL, 208U);
4158#line 476
4159  mouse = (struct vsxxxaa *)tmp;
4160#line 477
4161  input_dev = input_allocate_device();
4162  }
4163#line 478
4164  if (! mouse) {
4165#line 479
4166    goto fail1;
4167  } else
4168#line 478
4169  if (! input_dev) {
4170#line 479
4171    goto fail1;
4172  } else {
4173
4174  }
4175  {
4176#line 481
4177  *((struct input_dev **)mouse) = input_dev;
4178#line 482
4179  __cil_tmp7 = (unsigned long )mouse;
4180#line 482
4181  __cil_tmp8 = __cil_tmp7 + 8;
4182#line 482
4183  *((struct serio **)__cil_tmp8) = serio;
4184#line 483
4185  __cil_tmp9 = 0 * 1UL;
4186#line 483
4187  __cil_tmp10 = 35 + __cil_tmp9;
4188#line 483
4189  __cil_tmp11 = (unsigned long )mouse;
4190#line 483
4191  __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
4192#line 483
4193  __cil_tmp13 = (char *)__cil_tmp12;
4194#line 483
4195  strlcat(__cil_tmp13, "DEC VSXXX-AA/-GA mouse or VSXXX-AB digitizer", 64UL);
4196#line 485
4197  __cil_tmp14 = 0 * 1UL;
4198#line 485
4199  __cil_tmp15 = 99 + __cil_tmp14;
4200#line 485
4201  __cil_tmp16 = (unsigned long )mouse;
4202#line 485
4203  __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
4204#line 485
4205  __cil_tmp18 = (char *)__cil_tmp17;
4206#line 485
4207  __cil_tmp19 = 0 * 1UL;
4208#line 485
4209  __cil_tmp20 = 40 + __cil_tmp19;
4210#line 485
4211  __cil_tmp21 = (unsigned long )serio;
4212#line 485
4213  __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
4214#line 485
4215  __cil_tmp23 = (char *)__cil_tmp22;
4216#line 485
4217  snprintf(__cil_tmp18, 32UL, "%s/input0", __cil_tmp23);
4218#line 487
4219  __cil_tmp24 = 0 * 1UL;
4220#line 487
4221  __cil_tmp25 = 35 + __cil_tmp24;
4222#line 487
4223  __cil_tmp26 = (unsigned long )mouse;
4224#line 487
4225  __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
4226#line 487
4227  __cil_tmp28 = (char *)__cil_tmp27;
4228#line 487
4229  *((char const   **)input_dev) = (char const   *)__cil_tmp28;
4230#line 488
4231  __cil_tmp29 = (unsigned long )input_dev;
4232#line 488
4233  __cil_tmp30 = __cil_tmp29 + 8;
4234#line 488
4235  __cil_tmp31 = 0 * 1UL;
4236#line 488
4237  __cil_tmp32 = 99 + __cil_tmp31;
4238#line 488
4239  __cil_tmp33 = (unsigned long )mouse;
4240#line 488
4241  __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
4242#line 488
4243  __cil_tmp35 = (char *)__cil_tmp34;
4244#line 488
4245  *((char const   **)__cil_tmp30) = (char const   *)__cil_tmp35;
4246#line 489
4247  __cil_tmp36 = (unsigned long )input_dev;
4248#line 489
4249  __cil_tmp37 = __cil_tmp36 + 24;
4250#line 489
4251  *((__u16 *)__cil_tmp37) = (__u16 )19;
4252#line 490
4253  __cil_tmp38 = (unsigned long )input_dev;
4254#line 490
4255  __cil_tmp39 = __cil_tmp38 + 648;
4256#line 490
4257  __cil_tmp40 = (unsigned long )serio;
4258#line 490
4259  __cil_tmp41 = __cil_tmp40 + 272;
4260#line 490
4261  *((struct device **)__cil_tmp39) = (struct device *)__cil_tmp41;
4262#line 492
4263  __cil_tmp42 = 0 * 8UL;
4264#line 492
4265  __cil_tmp43 = 40 + __cil_tmp42;
4266#line 492
4267  __cil_tmp44 = (unsigned long )input_dev;
4268#line 492
4269  __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
4270#line 492
4271  __cil_tmp46 = (unsigned long *)__cil_tmp45;
4272#line 492
4273  __cil_tmp47 = (unsigned long volatile   *)__cil_tmp46;
4274#line 492
4275  __set_bit(1, __cil_tmp47);
4276#line 493
4277  __cil_tmp48 = 0 * 8UL;
4278#line 493
4279  __cil_tmp49 = 40 + __cil_tmp48;
4280#line 493
4281  __cil_tmp50 = (unsigned long )input_dev;
4282#line 493
4283  __cil_tmp51 = __cil_tmp50 + __cil_tmp49;
4284#line 493
4285  __cil_tmp52 = (unsigned long *)__cil_tmp51;
4286#line 493
4287  __cil_tmp53 = (unsigned long volatile   *)__cil_tmp52;
4288#line 493
4289  __set_bit(2, __cil_tmp53);
4290#line 494
4291  __cil_tmp54 = 0 * 8UL;
4292#line 494
4293  __cil_tmp55 = 40 + __cil_tmp54;
4294#line 494
4295  __cil_tmp56 = (unsigned long )input_dev;
4296#line 494
4297  __cil_tmp57 = __cil_tmp56 + __cil_tmp55;
4298#line 494
4299  __cil_tmp58 = (unsigned long *)__cil_tmp57;
4300#line 494
4301  __cil_tmp59 = (unsigned long volatile   *)__cil_tmp58;
4302#line 494
4303  __set_bit(3, __cil_tmp59);
4304#line 495
4305  __cil_tmp60 = 0 * 8UL;
4306#line 495
4307  __cil_tmp61 = 48 + __cil_tmp60;
4308#line 495
4309  __cil_tmp62 = (unsigned long )input_dev;
4310#line 495
4311  __cil_tmp63 = __cil_tmp62 + __cil_tmp61;
4312#line 495
4313  __cil_tmp64 = (unsigned long *)__cil_tmp63;
4314#line 495
4315  __cil_tmp65 = (unsigned long volatile   *)__cil_tmp64;
4316#line 495
4317  __set_bit(272, __cil_tmp65);
4318#line 496
4319  __cil_tmp66 = 0 * 8UL;
4320#line 496
4321  __cil_tmp67 = 48 + __cil_tmp66;
4322#line 496
4323  __cil_tmp68 = (unsigned long )input_dev;
4324#line 496
4325  __cil_tmp69 = __cil_tmp68 + __cil_tmp67;
4326#line 496
4327  __cil_tmp70 = (unsigned long *)__cil_tmp69;
4328#line 496
4329  __cil_tmp71 = (unsigned long volatile   *)__cil_tmp70;
4330#line 496
4331  __set_bit(274, __cil_tmp71);
4332#line 497
4333  __cil_tmp72 = 0 * 8UL;
4334#line 497
4335  __cil_tmp73 = 48 + __cil_tmp72;
4336#line 497
4337  __cil_tmp74 = (unsigned long )input_dev;
4338#line 497
4339  __cil_tmp75 = __cil_tmp74 + __cil_tmp73;
4340#line 497
4341  __cil_tmp76 = (unsigned long *)__cil_tmp75;
4342#line 497
4343  __cil_tmp77 = (unsigned long volatile   *)__cil_tmp76;
4344#line 497
4345  __set_bit(273, __cil_tmp77);
4346#line 498
4347  __cil_tmp78 = 0 * 8UL;
4348#line 498
4349  __cil_tmp79 = 48 + __cil_tmp78;
4350#line 498
4351  __cil_tmp80 = (unsigned long )input_dev;
4352#line 498
4353  __cil_tmp81 = __cil_tmp80 + __cil_tmp79;
4354#line 498
4355  __cil_tmp82 = (unsigned long *)__cil_tmp81;
4356#line 498
4357  __cil_tmp83 = (unsigned long volatile   *)__cil_tmp82;
4358#line 498
4359  __set_bit(330, __cil_tmp83);
4360#line 499
4361  __cil_tmp84 = 0 * 8UL;
4362#line 499
4363  __cil_tmp85 = 144 + __cil_tmp84;
4364#line 499
4365  __cil_tmp86 = (unsigned long )input_dev;
4366#line 499
4367  __cil_tmp87 = __cil_tmp86 + __cil_tmp85;
4368#line 499
4369  __cil_tmp88 = (unsigned long *)__cil_tmp87;
4370#line 499
4371  __cil_tmp89 = (unsigned long volatile   *)__cil_tmp88;
4372#line 499
4373  __set_bit(0, __cil_tmp89);
4374#line 500
4375  __cil_tmp90 = 0 * 8UL;
4376#line 500
4377  __cil_tmp91 = 144 + __cil_tmp90;
4378#line 500
4379  __cil_tmp92 = (unsigned long )input_dev;
4380#line 500
4381  __cil_tmp93 = __cil_tmp92 + __cil_tmp91;
4382#line 500
4383  __cil_tmp94 = (unsigned long *)__cil_tmp93;
4384#line 500
4385  __cil_tmp95 = (unsigned long volatile   *)__cil_tmp94;
4386#line 500
4387  __set_bit(1, __cil_tmp95);
4388#line 501
4389  input_set_abs_params(input_dev, 0U, 0, 1023, 0, 0);
4390#line 502
4391  input_set_abs_params(input_dev, 1U, 0, 1023, 0, 0);
4392#line 504
4393  __cil_tmp96 = (void *)mouse;
4394#line 504
4395  serio_set_drvdata(serio, __cil_tmp96);
4396#line 506
4397  err = serio_open(serio, drv);
4398  }
4399#line 507
4400  if (err) {
4401#line 508
4402    goto fail2;
4403  } else {
4404
4405  }
4406  {
4407#line 514
4408  __cil_tmp97 = (unsigned char )'T';
4409#line 514
4410  serio_write(serio, __cil_tmp97);
4411#line 516
4412  err = (int )input_register_device(input_dev);
4413  }
4414#line 517
4415  if (err) {
4416#line 518
4417    goto fail3;
4418  } else {
4419
4420  }
4421#line 520
4422  return (0);
4423  fail3: 
4424  {
4425#line 522
4426  serio_close(serio);
4427  }
4428  fail2: 
4429  {
4430#line 523
4431  __cil_tmp98 = (void *)0;
4432#line 523
4433  serio_set_drvdata(serio, __cil_tmp98);
4434  }
4435  fail1: 
4436  {
4437#line 524
4438  input_free_device(input_dev);
4439#line 525
4440  __cil_tmp99 = (void const   *)mouse;
4441#line 525
4442  kfree(__cil_tmp99);
4443  }
4444#line 526
4445  return (err);
4446}
4447}
4448#line 529 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4449static struct serio_device_id vsxxaa_serio_ids[2]  = {      {(__u8 )2, (__u8 )255, (__u8 )255, (__u8 )8}, 
4450        {(__u8 )0, (unsigned char)0, (unsigned char)0, (unsigned char)0}};
4451#line 539
4452extern struct serio_device_id  const  __mod_serio_device_table  __attribute__((__unused__,
4453__alias__("vsxxaa_serio_ids"))) ;
4454#line 541 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4455static struct serio_driver vsxxxaa_drv  = 
4456#line 541
4457     {"Driver for DEC VSXXX-AA and -GA mice and VSXXX-AB tablet", (struct serio_device_id  const  *)(vsxxaa_serio_ids),
4458    (_Bool)0, (void (*)(struct serio * ))0, & vsxxxaa_interrupt, & vsxxxaa_connect,
4459    (int (*)(struct serio * ))0, & vsxxxaa_disconnect, (void (*)(struct serio * ))0,
4460    {"vsxxxaa", (struct bus_type *)0, (struct module *)0, (char const   *)0, (_Bool)0,
4461     (struct of_device_id  const  *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
4462     (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
4463     (int (*)(struct device *dev ))0, (struct attribute_group  const  **)0, (struct dev_pm_ops  const  *)0,
4464     (struct driver_private *)0}};
4465#line 552
4466static int vsxxxaa_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
4467#line 552 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4468static int vsxxxaa_init(void) 
4469{ int tmp ;
4470
4471  {
4472  {
4473#line 554
4474  tmp = (int )__serio_register_driver(& vsxxxaa_drv, & __this_module, "vsxxxaa");
4475  }
4476#line 554
4477  return (tmp);
4478}
4479}
4480#line 557
4481static void vsxxxaa_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
4482#line 557 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4483static void vsxxxaa_exit(void) 
4484{ 
4485
4486  {
4487  {
4488#line 559
4489  serio_unregister_driver(& vsxxxaa_drv);
4490  }
4491#line 560
4492  return;
4493}
4494}
4495#line 562 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4496int init_module(void) 
4497{ int tmp ;
4498
4499  {
4500  {
4501#line 562
4502  tmp = vsxxxaa_init();
4503  }
4504#line 562
4505  return (tmp);
4506}
4507}
4508#line 563 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4509void cleanup_module(void) 
4510{ 
4511
4512  {
4513  {
4514#line 563
4515  vsxxxaa_exit();
4516  }
4517#line 563
4518  return;
4519}
4520}
4521#line 582
4522void ldv_check_final_state(void) ;
4523#line 585
4524extern void ldv_check_return_value(int res ) ;
4525#line 588
4526extern void ldv_initialize(void) ;
4527#line 591
4528extern int __VERIFIER_nondet_int(void) ;
4529#line 594 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4530int LDV_IN_INTERRUPT  ;
4531#line 630 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4532static int res_vsxxxaa_connect_11  ;
4533#line 597 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4534void main(void) 
4535{ struct serio *var_group1 ;
4536  struct serio_driver *var_group2 ;
4537  unsigned char var_vsxxxaa_interrupt_9_p1 ;
4538  unsigned int var_vsxxxaa_interrupt_9_p2 ;
4539  int tmp ;
4540  int ldv_s_vsxxxaa_drv_serio_driver ;
4541  int tmp___0 ;
4542  int tmp___1 ;
4543  int __cil_tmp9 ;
4544
4545  {
4546  {
4547#line 684
4548  LDV_IN_INTERRUPT = 1;
4549#line 693
4550  ldv_initialize();
4551#line 718
4552  tmp = vsxxxaa_init();
4553  }
4554#line 718
4555  if (tmp) {
4556#line 719
4557    goto ldv_final;
4558  } else {
4559
4560  }
4561#line 720
4562  ldv_s_vsxxxaa_drv_serio_driver = 0;
4563  {
4564#line 724
4565  while (1) {
4566    while_continue: /* CIL Label */ ;
4567    {
4568#line 724
4569    tmp___1 = __VERIFIER_nondet_int();
4570    }
4571#line 724
4572    if (tmp___1) {
4573
4574    } else {
4575      {
4576#line 724
4577      __cil_tmp9 = ldv_s_vsxxxaa_drv_serio_driver == 0;
4578#line 724
4579      if (! __cil_tmp9) {
4580
4581      } else {
4582#line 724
4583        goto while_break;
4584      }
4585      }
4586    }
4587    {
4588#line 728
4589    tmp___0 = __VERIFIER_nondet_int();
4590    }
4591#line 730
4592    if (tmp___0 == 0) {
4593#line 730
4594      goto case_0;
4595    } else
4596#line 768
4597    if (tmp___0 == 1) {
4598#line 768
4599      goto case_1;
4600    } else
4601#line 803
4602    if (tmp___0 == 2) {
4603#line 803
4604      goto case_2;
4605    } else {
4606      {
4607#line 838
4608      goto switch_default;
4609#line 728
4610      if (0) {
4611        case_0: /* CIL Label */ 
4612#line 733
4613        if (ldv_s_vsxxxaa_drv_serio_driver == 0) {
4614          {
4615#line 757
4616          res_vsxxxaa_connect_11 = vsxxxaa_connect(var_group1, var_group2);
4617#line 758
4618          ldv_check_return_value(res_vsxxxaa_connect_11);
4619          }
4620#line 759
4621          if (res_vsxxxaa_connect_11) {
4622#line 760
4623            goto ldv_module_exit;
4624          } else {
4625
4626          }
4627#line 761
4628          ldv_s_vsxxxaa_drv_serio_driver = ldv_s_vsxxxaa_drv_serio_driver + 1;
4629        } else {
4630
4631        }
4632#line 767
4633        goto switch_break;
4634        case_1: /* CIL Label */ 
4635#line 771
4636        if (ldv_s_vsxxxaa_drv_serio_driver == 1) {
4637          {
4638#line 795
4639          vsxxxaa_disconnect(var_group1);
4640#line 796
4641          ldv_s_vsxxxaa_drv_serio_driver = 0;
4642          }
4643        } else {
4644
4645        }
4646#line 802
4647        goto switch_break;
4648        case_2: /* CIL Label */ 
4649        {
4650#line 830
4651        vsxxxaa_interrupt(var_group1, var_vsxxxaa_interrupt_9_p1, var_vsxxxaa_interrupt_9_p2);
4652        }
4653#line 837
4654        goto switch_break;
4655        switch_default: /* CIL Label */ 
4656#line 838
4657        goto switch_break;
4658      } else {
4659        switch_break: /* CIL Label */ ;
4660      }
4661      }
4662    }
4663  }
4664  while_break: /* CIL Label */ ;
4665  }
4666  ldv_module_exit: 
4667  {
4668#line 869
4669  vsxxxaa_exit();
4670  }
4671  ldv_final: 
4672  {
4673#line 872
4674  ldv_check_final_state();
4675  }
4676#line 875
4677  return;
4678}
4679}
4680#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
4681void ldv_blast_assert(void) 
4682{ 
4683
4684  {
4685  ERROR: 
4686#line 6
4687  goto ERROR;
4688}
4689}
4690#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
4691extern int __VERIFIER_nondet_int(void) ;
4692#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4693int ldv_mutex  =    1;
4694#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4695int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
4696{ int nondetermined ;
4697
4698  {
4699#line 29
4700  if (ldv_mutex == 1) {
4701
4702  } else {
4703    {
4704#line 29
4705    ldv_blast_assert();
4706    }
4707  }
4708  {
4709#line 32
4710  nondetermined = __VERIFIER_nondet_int();
4711  }
4712#line 35
4713  if (nondetermined) {
4714#line 38
4715    ldv_mutex = 2;
4716#line 40
4717    return (0);
4718  } else {
4719#line 45
4720    return (-4);
4721  }
4722}
4723}
4724#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4725int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
4726{ int nondetermined ;
4727
4728  {
4729#line 57
4730  if (ldv_mutex == 1) {
4731
4732  } else {
4733    {
4734#line 57
4735    ldv_blast_assert();
4736    }
4737  }
4738  {
4739#line 60
4740  nondetermined = __VERIFIER_nondet_int();
4741  }
4742#line 63
4743  if (nondetermined) {
4744#line 66
4745    ldv_mutex = 2;
4746#line 68
4747    return (0);
4748  } else {
4749#line 73
4750    return (-4);
4751  }
4752}
4753}
4754#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4755int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
4756{ int atomic_value_after_dec ;
4757
4758  {
4759#line 83
4760  if (ldv_mutex == 1) {
4761
4762  } else {
4763    {
4764#line 83
4765    ldv_blast_assert();
4766    }
4767  }
4768  {
4769#line 86
4770  atomic_value_after_dec = __VERIFIER_nondet_int();
4771  }
4772#line 89
4773  if (atomic_value_after_dec == 0) {
4774#line 92
4775    ldv_mutex = 2;
4776#line 94
4777    return (1);
4778  } else {
4779
4780  }
4781#line 98
4782  return (0);
4783}
4784}
4785#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4786void mutex_lock(struct mutex *lock ) 
4787{ 
4788
4789  {
4790#line 108
4791  if (ldv_mutex == 1) {
4792
4793  } else {
4794    {
4795#line 108
4796    ldv_blast_assert();
4797    }
4798  }
4799#line 110
4800  ldv_mutex = 2;
4801#line 111
4802  return;
4803}
4804}
4805#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4806int mutex_trylock(struct mutex *lock ) 
4807{ int nondetermined ;
4808
4809  {
4810#line 121
4811  if (ldv_mutex == 1) {
4812
4813  } else {
4814    {
4815#line 121
4816    ldv_blast_assert();
4817    }
4818  }
4819  {
4820#line 124
4821  nondetermined = __VERIFIER_nondet_int();
4822  }
4823#line 127
4824  if (nondetermined) {
4825#line 130
4826    ldv_mutex = 2;
4827#line 132
4828    return (1);
4829  } else {
4830#line 137
4831    return (0);
4832  }
4833}
4834}
4835#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4836void mutex_unlock(struct mutex *lock ) 
4837{ 
4838
4839  {
4840#line 147
4841  if (ldv_mutex == 2) {
4842
4843  } else {
4844    {
4845#line 147
4846    ldv_blast_assert();
4847    }
4848  }
4849#line 149
4850  ldv_mutex = 1;
4851#line 150
4852  return;
4853}
4854}
4855#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
4856void ldv_check_final_state(void) 
4857{ 
4858
4859  {
4860#line 156
4861  if (ldv_mutex == 1) {
4862
4863  } else {
4864    {
4865#line 156
4866    ldv_blast_assert();
4867    }
4868  }
4869#line 157
4870  return;
4871}
4872}
4873#line 884 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4049/dscv_tempdir/dscv/ri/32_1/drivers/input/mouse/vsxxxaa.c.common.c"
4874long s__builtin_expect(long val , long res ) 
4875{ 
4876
4877  {
4878#line 885
4879  return (val);
4880}
4881}