Showing error 246

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