Showing error 275

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


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   3
   4#line 19 "include/asm-generic/int-ll64.h"
   5typedef signed char __s8;
   6#line 20 "include/asm-generic/int-ll64.h"
   7typedef unsigned char __u8;
   8#line 22 "include/asm-generic/int-ll64.h"
   9typedef short __s16;
  10#line 23 "include/asm-generic/int-ll64.h"
  11typedef unsigned short __u16;
  12#line 25 "include/asm-generic/int-ll64.h"
  13typedef int __s32;
  14#line 26 "include/asm-generic/int-ll64.h"
  15typedef unsigned int __u32;
  16#line 30 "include/asm-generic/int-ll64.h"
  17typedef unsigned long long __u64;
  18#line 43 "include/asm-generic/int-ll64.h"
  19typedef unsigned char u8;
  20#line 45 "include/asm-generic/int-ll64.h"
  21typedef short s16;
  22#line 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 48 "include/asm-generic/int-ll64.h"
  25typedef int s32;
  26#line 49 "include/asm-generic/int-ll64.h"
  27typedef unsigned int u32;
  28#line 51 "include/asm-generic/int-ll64.h"
  29typedef long long s64;
  30#line 52 "include/asm-generic/int-ll64.h"
  31typedef unsigned long long u64;
  32#line 14 "include/asm-generic/posix_types.h"
  33typedef long __kernel_long_t;
  34#line 15 "include/asm-generic/posix_types.h"
  35typedef unsigned long __kernel_ulong_t;
  36#line 52 "include/asm-generic/posix_types.h"
  37typedef unsigned int __kernel_uid32_t;
  38#line 53 "include/asm-generic/posix_types.h"
  39typedef unsigned int __kernel_gid32_t;
  40#line 75 "include/asm-generic/posix_types.h"
  41typedef __kernel_ulong_t __kernel_size_t;
  42#line 76 "include/asm-generic/posix_types.h"
  43typedef __kernel_long_t __kernel_ssize_t;
  44#line 91 "include/asm-generic/posix_types.h"
  45typedef long long __kernel_loff_t;
  46#line 92 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_time_t;
  48#line 21 "include/linux/types.h"
  49typedef __u32 __kernel_dev_t;
  50#line 24 "include/linux/types.h"
  51typedef __kernel_dev_t dev_t;
  52#line 27 "include/linux/types.h"
  53typedef unsigned short umode_t;
  54#line 38 "include/linux/types.h"
  55typedef _Bool bool;
  56#line 40 "include/linux/types.h"
  57typedef __kernel_uid32_t uid_t;
  58#line 41 "include/linux/types.h"
  59typedef __kernel_gid32_t gid_t;
  60#line 54 "include/linux/types.h"
  61typedef __kernel_loff_t loff_t;
  62#line 63 "include/linux/types.h"
  63typedef __kernel_size_t size_t;
  64#line 68 "include/linux/types.h"
  65typedef __kernel_ssize_t ssize_t;
  66#line 78 "include/linux/types.h"
  67typedef __kernel_time_t time_t;
  68#line 142 "include/linux/types.h"
  69typedef unsigned long sector_t;
  70#line 143 "include/linux/types.h"
  71typedef unsigned long blkcnt_t;
  72#line 202 "include/linux/types.h"
  73typedef unsigned int gfp_t;
  74#line 203 "include/linux/types.h"
  75typedef unsigned int fmode_t;
  76#line 219 "include/linux/types.h"
  77struct __anonstruct_atomic_t_7 {
  78   int counter ;
  79};
  80#line 219 "include/linux/types.h"
  81typedef struct __anonstruct_atomic_t_7 atomic_t;
  82#line 224 "include/linux/types.h"
  83struct __anonstruct_atomic64_t_8 {
  84   long counter ;
  85};
  86#line 224 "include/linux/types.h"
  87typedef struct __anonstruct_atomic64_t_8 atomic64_t;
  88#line 229 "include/linux/types.h"
  89struct list_head {
  90   struct list_head *next ;
  91   struct list_head *prev ;
  92};
  93#line 233
  94struct hlist_node;
  95#line 233 "include/linux/types.h"
  96struct hlist_head {
  97   struct hlist_node *first ;
  98};
  99#line 237 "include/linux/types.h"
 100struct hlist_node {
 101   struct hlist_node *next ;
 102   struct hlist_node **pprev ;
 103};
 104#line 253 "include/linux/types.h"
 105struct rcu_head {
 106   struct rcu_head *next ;
 107   void (*func)(struct rcu_head *head ) ;
 108};
 109#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 110struct module;
 111#line 56
 112struct module;
 113#line 146 "include/linux/init.h"
 114typedef void (*ctor_fn_t)(void);
 115#line 47 "include/linux/dynamic_debug.h"
 116struct device;
 117#line 47
 118struct device;
 119#line 135 "include/linux/kernel.h"
 120struct completion;
 121#line 135
 122struct completion;
 123#line 349
 124struct pid;
 125#line 349
 126struct pid;
 127#line 12 "include/linux/thread_info.h"
 128struct timespec;
 129#line 12
 130struct timespec;
 131#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
 132struct page;
 133#line 18
 134struct page;
 135#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
 136struct task_struct;
 137#line 20
 138struct task_struct;
 139#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 140struct task_struct;
 141#line 295 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 142struct file;
 143#line 295
 144struct file;
 145#line 313
 146struct seq_file;
 147#line 313
 148struct seq_file;
 149#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 150struct page;
 151#line 52
 152struct task_struct;
 153#line 329
 154struct arch_spinlock;
 155#line 329
 156struct arch_spinlock;
 157#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 158struct task_struct;
 159#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
 160struct task_struct;
 161#line 10 "include/asm-generic/bug.h"
 162struct bug_entry {
 163   int bug_addr_disp ;
 164   int file_disp ;
 165   unsigned short line ;
 166   unsigned short flags ;
 167};
 168#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 169struct static_key;
 170#line 234
 171struct static_key;
 172#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 173struct kmem_cache;
 174#line 23 "include/asm-generic/atomic-long.h"
 175typedef atomic64_t atomic_long_t;
 176#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 177typedef u16 __ticket_t;
 178#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 179typedef u32 __ticketpair_t;
 180#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 181struct __raw_tickets {
 182   __ticket_t head ;
 183   __ticket_t tail ;
 184};
 185#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 186union __anonunion____missing_field_name_36 {
 187   __ticketpair_t head_tail ;
 188   struct __raw_tickets tickets ;
 189};
 190#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 191struct arch_spinlock {
 192   union __anonunion____missing_field_name_36 __annonCompField17 ;
 193};
 194#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 195typedef struct arch_spinlock arch_spinlock_t;
 196#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 197struct __anonstruct____missing_field_name_38 {
 198   u32 read ;
 199   s32 write ;
 200};
 201#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 202union __anonunion_arch_rwlock_t_37 {
 203   s64 lock ;
 204   struct __anonstruct____missing_field_name_38 __annonCompField18 ;
 205};
 206#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 207typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
 208#line 12 "include/linux/lockdep.h"
 209struct task_struct;
 210#line 391 "include/linux/lockdep.h"
 211struct lock_class_key {
 212
 213};
 214#line 20 "include/linux/spinlock_types.h"
 215struct raw_spinlock {
 216   arch_spinlock_t raw_lock ;
 217   unsigned int magic ;
 218   unsigned int owner_cpu ;
 219   void *owner ;
 220};
 221#line 20 "include/linux/spinlock_types.h"
 222typedef struct raw_spinlock raw_spinlock_t;
 223#line 64 "include/linux/spinlock_types.h"
 224union __anonunion____missing_field_name_39 {
 225   struct raw_spinlock rlock ;
 226};
 227#line 64 "include/linux/spinlock_types.h"
 228struct spinlock {
 229   union __anonunion____missing_field_name_39 __annonCompField19 ;
 230};
 231#line 64 "include/linux/spinlock_types.h"
 232typedef struct spinlock spinlock_t;
 233#line 11 "include/linux/rwlock_types.h"
 234struct __anonstruct_rwlock_t_40 {
 235   arch_rwlock_t raw_lock ;
 236   unsigned int magic ;
 237   unsigned int owner_cpu ;
 238   void *owner ;
 239};
 240#line 11 "include/linux/rwlock_types.h"
 241typedef struct __anonstruct_rwlock_t_40 rwlock_t;
 242#line 119 "include/linux/seqlock.h"
 243struct seqcount {
 244   unsigned int sequence ;
 245};
 246#line 119 "include/linux/seqlock.h"
 247typedef struct seqcount seqcount_t;
 248#line 14 "include/linux/time.h"
 249struct timespec {
 250   __kernel_time_t tv_sec ;
 251   long tv_nsec ;
 252};
 253#line 62 "include/linux/stat.h"
 254struct kstat {
 255   u64 ino ;
 256   dev_t dev ;
 257   umode_t mode ;
 258   unsigned int nlink ;
 259   uid_t uid ;
 260   gid_t gid ;
 261   dev_t rdev ;
 262   loff_t size ;
 263   struct timespec atime ;
 264   struct timespec mtime ;
 265   struct timespec ctime ;
 266   unsigned long blksize ;
 267   unsigned long long blocks ;
 268};
 269#line 49 "include/linux/wait.h"
 270struct __wait_queue_head {
 271   spinlock_t lock ;
 272   struct list_head task_list ;
 273};
 274#line 53 "include/linux/wait.h"
 275typedef struct __wait_queue_head wait_queue_head_t;
 276#line 55
 277struct task_struct;
 278#line 60 "include/linux/pageblock-flags.h"
 279struct page;
 280#line 48 "include/linux/mutex.h"
 281struct mutex {
 282   atomic_t count ;
 283   spinlock_t wait_lock ;
 284   struct list_head wait_list ;
 285   struct task_struct *owner ;
 286   char const   *name ;
 287   void *magic ;
 288};
 289#line 19 "include/linux/rwsem.h"
 290struct rw_semaphore;
 291#line 19
 292struct rw_semaphore;
 293#line 25 "include/linux/rwsem.h"
 294struct rw_semaphore {
 295   long count ;
 296   raw_spinlock_t wait_lock ;
 297   struct list_head wait_list ;
 298};
 299#line 25 "include/linux/completion.h"
 300struct completion {
 301   unsigned int done ;
 302   wait_queue_head_t wait ;
 303};
 304#line 9 "include/linux/memory_hotplug.h"
 305struct page;
 306#line 202 "include/linux/ioport.h"
 307struct device;
 308#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
 309struct device;
 310#line 46 "include/linux/ktime.h"
 311union ktime {
 312   s64 tv64 ;
 313};
 314#line 59 "include/linux/ktime.h"
 315typedef union ktime ktime_t;
 316#line 10 "include/linux/timer.h"
 317struct tvec_base;
 318#line 10
 319struct tvec_base;
 320#line 12 "include/linux/timer.h"
 321struct timer_list {
 322   struct list_head entry ;
 323   unsigned long expires ;
 324   struct tvec_base *base ;
 325   void (*function)(unsigned long  ) ;
 326   unsigned long data ;
 327   int slack ;
 328   int start_pid ;
 329   void *start_site ;
 330   char start_comm[16] ;
 331};
 332#line 17 "include/linux/workqueue.h"
 333struct work_struct;
 334#line 17
 335struct work_struct;
 336#line 79 "include/linux/workqueue.h"
 337struct work_struct {
 338   atomic_long_t data ;
 339   struct list_head entry ;
 340   void (*func)(struct work_struct *work ) ;
 341};
 342#line 42 "include/linux/pm.h"
 343struct device;
 344#line 50 "include/linux/pm.h"
 345struct pm_message {
 346   int event ;
 347};
 348#line 50 "include/linux/pm.h"
 349typedef struct pm_message pm_message_t;
 350#line 264 "include/linux/pm.h"
 351struct dev_pm_ops {
 352   int (*prepare)(struct device *dev ) ;
 353   void (*complete)(struct device *dev ) ;
 354   int (*suspend)(struct device *dev ) ;
 355   int (*resume)(struct device *dev ) ;
 356   int (*freeze)(struct device *dev ) ;
 357   int (*thaw)(struct device *dev ) ;
 358   int (*poweroff)(struct device *dev ) ;
 359   int (*restore)(struct device *dev ) ;
 360   int (*suspend_late)(struct device *dev ) ;
 361   int (*resume_early)(struct device *dev ) ;
 362   int (*freeze_late)(struct device *dev ) ;
 363   int (*thaw_early)(struct device *dev ) ;
 364   int (*poweroff_late)(struct device *dev ) ;
 365   int (*restore_early)(struct device *dev ) ;
 366   int (*suspend_noirq)(struct device *dev ) ;
 367   int (*resume_noirq)(struct device *dev ) ;
 368   int (*freeze_noirq)(struct device *dev ) ;
 369   int (*thaw_noirq)(struct device *dev ) ;
 370   int (*poweroff_noirq)(struct device *dev ) ;
 371   int (*restore_noirq)(struct device *dev ) ;
 372   int (*runtime_suspend)(struct device *dev ) ;
 373   int (*runtime_resume)(struct device *dev ) ;
 374   int (*runtime_idle)(struct device *dev ) ;
 375};
 376#line 458
 377enum rpm_status {
 378    RPM_ACTIVE = 0,
 379    RPM_RESUMING = 1,
 380    RPM_SUSPENDED = 2,
 381    RPM_SUSPENDING = 3
 382} ;
 383#line 480
 384enum rpm_request {
 385    RPM_REQ_NONE = 0,
 386    RPM_REQ_IDLE = 1,
 387    RPM_REQ_SUSPEND = 2,
 388    RPM_REQ_AUTOSUSPEND = 3,
 389    RPM_REQ_RESUME = 4
 390} ;
 391#line 488
 392struct wakeup_source;
 393#line 488
 394struct wakeup_source;
 395#line 495 "include/linux/pm.h"
 396struct pm_subsys_data {
 397   spinlock_t lock ;
 398   unsigned int refcount ;
 399};
 400#line 506
 401struct dev_pm_qos_request;
 402#line 506
 403struct pm_qos_constraints;
 404#line 506 "include/linux/pm.h"
 405struct dev_pm_info {
 406   pm_message_t power_state ;
 407   unsigned int can_wakeup : 1 ;
 408   unsigned int async_suspend : 1 ;
 409   bool is_prepared : 1 ;
 410   bool is_suspended : 1 ;
 411   bool ignore_children : 1 ;
 412   spinlock_t lock ;
 413   struct list_head entry ;
 414   struct completion completion ;
 415   struct wakeup_source *wakeup ;
 416   bool wakeup_path : 1 ;
 417   struct timer_list suspend_timer ;
 418   unsigned long timer_expires ;
 419   struct work_struct work ;
 420   wait_queue_head_t wait_queue ;
 421   atomic_t usage_count ;
 422   atomic_t child_count ;
 423   unsigned int disable_depth : 3 ;
 424   unsigned int idle_notification : 1 ;
 425   unsigned int request_pending : 1 ;
 426   unsigned int deferred_resume : 1 ;
 427   unsigned int run_wake : 1 ;
 428   unsigned int runtime_auto : 1 ;
 429   unsigned int no_callbacks : 1 ;
 430   unsigned int irq_safe : 1 ;
 431   unsigned int use_autosuspend : 1 ;
 432   unsigned int timer_autosuspends : 1 ;
 433   enum rpm_request request ;
 434   enum rpm_status runtime_status ;
 435   int runtime_error ;
 436   int autosuspend_delay ;
 437   unsigned long last_busy ;
 438   unsigned long active_jiffies ;
 439   unsigned long suspended_jiffies ;
 440   unsigned long accounting_timestamp ;
 441   ktime_t suspend_time ;
 442   s64 max_time_suspended_ns ;
 443   struct dev_pm_qos_request *pq_req ;
 444   struct pm_subsys_data *subsys_data ;
 445   struct pm_qos_constraints *constraints ;
 446};
 447#line 564 "include/linux/pm.h"
 448struct dev_pm_domain {
 449   struct dev_pm_ops ops ;
 450};
 451#line 8 "include/linux/vmalloc.h"
 452struct vm_area_struct;
 453#line 8
 454struct vm_area_struct;
 455#line 994 "include/linux/mmzone.h"
 456struct page;
 457#line 10 "include/linux/gfp.h"
 458struct vm_area_struct;
 459#line 29 "include/linux/sysctl.h"
 460struct completion;
 461#line 48 "include/linux/kmod.h"
 462struct cred;
 463#line 48
 464struct cred;
 465#line 49
 466struct file;
 467#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
 468struct task_struct;
 469#line 18 "include/linux/elf.h"
 470typedef __u64 Elf64_Addr;
 471#line 19 "include/linux/elf.h"
 472typedef __u16 Elf64_Half;
 473#line 23 "include/linux/elf.h"
 474typedef __u32 Elf64_Word;
 475#line 24 "include/linux/elf.h"
 476typedef __u64 Elf64_Xword;
 477#line 194 "include/linux/elf.h"
 478struct elf64_sym {
 479   Elf64_Word st_name ;
 480   unsigned char st_info ;
 481   unsigned char st_other ;
 482   Elf64_Half st_shndx ;
 483   Elf64_Addr st_value ;
 484   Elf64_Xword st_size ;
 485};
 486#line 194 "include/linux/elf.h"
 487typedef struct elf64_sym Elf64_Sym;
 488#line 438
 489struct file;
 490#line 20 "include/linux/kobject_ns.h"
 491struct sock;
 492#line 20
 493struct sock;
 494#line 21
 495struct kobject;
 496#line 21
 497struct kobject;
 498#line 27
 499enum kobj_ns_type {
 500    KOBJ_NS_TYPE_NONE = 0,
 501    KOBJ_NS_TYPE_NET = 1,
 502    KOBJ_NS_TYPES = 2
 503} ;
 504#line 40 "include/linux/kobject_ns.h"
 505struct kobj_ns_type_operations {
 506   enum kobj_ns_type type ;
 507   void *(*grab_current_ns)(void) ;
 508   void const   *(*netlink_ns)(struct sock *sk ) ;
 509   void const   *(*initial_ns)(void) ;
 510   void (*drop_ns)(void * ) ;
 511};
 512#line 22 "include/linux/sysfs.h"
 513struct kobject;
 514#line 23
 515struct module;
 516#line 24
 517enum kobj_ns_type;
 518#line 26 "include/linux/sysfs.h"
 519struct attribute {
 520   char const   *name ;
 521   umode_t mode ;
 522};
 523#line 56 "include/linux/sysfs.h"
 524struct attribute_group {
 525   char const   *name ;
 526   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 527   struct attribute **attrs ;
 528};
 529#line 85
 530struct file;
 531#line 86
 532struct vm_area_struct;
 533#line 88 "include/linux/sysfs.h"
 534struct bin_attribute {
 535   struct attribute attr ;
 536   size_t size ;
 537   void *private ;
 538   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 539                   loff_t  , size_t  ) ;
 540   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 541                    loff_t  , size_t  ) ;
 542   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
 543};
 544#line 112 "include/linux/sysfs.h"
 545struct sysfs_ops {
 546   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 547   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 548   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 549};
 550#line 118
 551struct sysfs_dirent;
 552#line 118
 553struct sysfs_dirent;
 554#line 22 "include/linux/kref.h"
 555struct kref {
 556   atomic_t refcount ;
 557};
 558#line 60 "include/linux/kobject.h"
 559struct kset;
 560#line 60
 561struct kobj_type;
 562#line 60 "include/linux/kobject.h"
 563struct kobject {
 564   char const   *name ;
 565   struct list_head entry ;
 566   struct kobject *parent ;
 567   struct kset *kset ;
 568   struct kobj_type *ktype ;
 569   struct sysfs_dirent *sd ;
 570   struct kref kref ;
 571   unsigned int state_initialized : 1 ;
 572   unsigned int state_in_sysfs : 1 ;
 573   unsigned int state_add_uevent_sent : 1 ;
 574   unsigned int state_remove_uevent_sent : 1 ;
 575   unsigned int uevent_suppress : 1 ;
 576};
 577#line 108 "include/linux/kobject.h"
 578struct kobj_type {
 579   void (*release)(struct kobject *kobj ) ;
 580   struct sysfs_ops  const  *sysfs_ops ;
 581   struct attribute **default_attrs ;
 582   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
 583   void const   *(*namespace)(struct kobject *kobj ) ;
 584};
 585#line 116 "include/linux/kobject.h"
 586struct kobj_uevent_env {
 587   char *envp[32] ;
 588   int envp_idx ;
 589   char buf[2048] ;
 590   int buflen ;
 591};
 592#line 123 "include/linux/kobject.h"
 593struct kset_uevent_ops {
 594   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
 595   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
 596   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
 597};
 598#line 140
 599struct sock;
 600#line 159 "include/linux/kobject.h"
 601struct kset {
 602   struct list_head list ;
 603   spinlock_t list_lock ;
 604   struct kobject kobj ;
 605   struct kset_uevent_ops  const  *uevent_ops ;
 606};
 607#line 39 "include/linux/moduleparam.h"
 608struct kernel_param;
 609#line 39
 610struct kernel_param;
 611#line 41 "include/linux/moduleparam.h"
 612struct kernel_param_ops {
 613   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
 614   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
 615   void (*free)(void *arg ) ;
 616};
 617#line 50
 618struct kparam_string;
 619#line 50
 620struct kparam_array;
 621#line 50 "include/linux/moduleparam.h"
 622union __anonunion____missing_field_name_199 {
 623   void *arg ;
 624   struct kparam_string  const  *str ;
 625   struct kparam_array  const  *arr ;
 626};
 627#line 50 "include/linux/moduleparam.h"
 628struct kernel_param {
 629   char const   *name ;
 630   struct kernel_param_ops  const  *ops ;
 631   u16 perm ;
 632   s16 level ;
 633   union __anonunion____missing_field_name_199 __annonCompField32 ;
 634};
 635#line 63 "include/linux/moduleparam.h"
 636struct kparam_string {
 637   unsigned int maxlen ;
 638   char *string ;
 639};
 640#line 69 "include/linux/moduleparam.h"
 641struct kparam_array {
 642   unsigned int max ;
 643   unsigned int elemsize ;
 644   unsigned int *num ;
 645   struct kernel_param_ops  const  *ops ;
 646   void *elem ;
 647};
 648#line 445
 649struct module;
 650#line 80 "include/linux/jump_label.h"
 651struct module;
 652#line 143 "include/linux/jump_label.h"
 653struct static_key {
 654   atomic_t enabled ;
 655};
 656#line 22 "include/linux/tracepoint.h"
 657struct module;
 658#line 23
 659struct tracepoint;
 660#line 23
 661struct tracepoint;
 662#line 25 "include/linux/tracepoint.h"
 663struct tracepoint_func {
 664   void *func ;
 665   void *data ;
 666};
 667#line 30 "include/linux/tracepoint.h"
 668struct tracepoint {
 669   char const   *name ;
 670   struct static_key key ;
 671   void (*regfunc)(void) ;
 672   void (*unregfunc)(void) ;
 673   struct tracepoint_func *funcs ;
 674};
 675#line 19 "include/linux/export.h"
 676struct kernel_symbol {
 677   unsigned long value ;
 678   char const   *name ;
 679};
 680#line 8 "include/asm-generic/module.h"
 681struct mod_arch_specific {
 682
 683};
 684#line 35 "include/linux/module.h"
 685struct module;
 686#line 37
 687struct module_param_attrs;
 688#line 37 "include/linux/module.h"
 689struct module_kobject {
 690   struct kobject kobj ;
 691   struct module *mod ;
 692   struct kobject *drivers_dir ;
 693   struct module_param_attrs *mp ;
 694};
 695#line 44 "include/linux/module.h"
 696struct module_attribute {
 697   struct attribute attr ;
 698   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
 699   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
 700                    size_t count ) ;
 701   void (*setup)(struct module * , char const   * ) ;
 702   int (*test)(struct module * ) ;
 703   void (*free)(struct module * ) ;
 704};
 705#line 71
 706struct exception_table_entry;
 707#line 71
 708struct exception_table_entry;
 709#line 199
 710enum module_state {
 711    MODULE_STATE_LIVE = 0,
 712    MODULE_STATE_COMING = 1,
 713    MODULE_STATE_GOING = 2
 714} ;
 715#line 215 "include/linux/module.h"
 716struct module_ref {
 717   unsigned long incs ;
 718   unsigned long decs ;
 719} __attribute__((__aligned__((2) *  (sizeof(unsigned long )) ))) ;
 720#line 220
 721struct module_sect_attrs;
 722#line 220
 723struct module_notes_attrs;
 724#line 220
 725struct ftrace_event_call;
 726#line 220 "include/linux/module.h"
 727struct module {
 728   enum module_state state ;
 729   struct list_head list ;
 730   char name[64UL - sizeof(unsigned long )] ;
 731   struct module_kobject mkobj ;
 732   struct module_attribute *modinfo_attrs ;
 733   char const   *version ;
 734   char const   *srcversion ;
 735   struct kobject *holders_dir ;
 736   struct kernel_symbol  const  *syms ;
 737   unsigned long const   *crcs ;
 738   unsigned int num_syms ;
 739   struct kernel_param *kp ;
 740   unsigned int num_kp ;
 741   unsigned int num_gpl_syms ;
 742   struct kernel_symbol  const  *gpl_syms ;
 743   unsigned long const   *gpl_crcs ;
 744   struct kernel_symbol  const  *unused_syms ;
 745   unsigned long const   *unused_crcs ;
 746   unsigned int num_unused_syms ;
 747   unsigned int num_unused_gpl_syms ;
 748   struct kernel_symbol  const  *unused_gpl_syms ;
 749   unsigned long const   *unused_gpl_crcs ;
 750   struct kernel_symbol  const  *gpl_future_syms ;
 751   unsigned long const   *gpl_future_crcs ;
 752   unsigned int num_gpl_future_syms ;
 753   unsigned int num_exentries ;
 754   struct exception_table_entry *extable ;
 755   int (*init)(void) ;
 756   void *module_init ;
 757   void *module_core ;
 758   unsigned int init_size ;
 759   unsigned int core_size ;
 760   unsigned int init_text_size ;
 761   unsigned int core_text_size ;
 762   unsigned int init_ro_size ;
 763   unsigned int core_ro_size ;
 764   struct mod_arch_specific arch ;
 765   unsigned int taints ;
 766   unsigned int num_bugs ;
 767   struct list_head bug_list ;
 768   struct bug_entry *bug_table ;
 769   Elf64_Sym *symtab ;
 770   Elf64_Sym *core_symtab ;
 771   unsigned int num_symtab ;
 772   unsigned int core_num_syms ;
 773   char *strtab ;
 774   char *core_strtab ;
 775   struct module_sect_attrs *sect_attrs ;
 776   struct module_notes_attrs *notes_attrs ;
 777   char *args ;
 778   void *percpu ;
 779   unsigned int percpu_size ;
 780   unsigned int num_tracepoints ;
 781   struct tracepoint * const  *tracepoints_ptrs ;
 782   unsigned int num_trace_bprintk_fmt ;
 783   char const   **trace_bprintk_fmt_start ;
 784   struct ftrace_event_call **trace_events ;
 785   unsigned int num_trace_events ;
 786   struct list_head source_list ;
 787   struct list_head target_list ;
 788   struct task_struct *waiter ;
 789   void (*exit)(void) ;
 790   struct module_ref *refptr ;
 791   ctor_fn_t *ctors ;
 792   unsigned int num_ctors ;
 793};
 794#line 37 "include/linux/parport.h"
 795enum __anonenum_parport_device_class_201 {
 796    PARPORT_CLASS_LEGACY = 0,
 797    PARPORT_CLASS_PRINTER = 1,
 798    PARPORT_CLASS_MODEM = 2,
 799    PARPORT_CLASS_NET = 3,
 800    PARPORT_CLASS_HDC = 4,
 801    PARPORT_CLASS_PCMCIA = 5,
 802    PARPORT_CLASS_MEDIA = 6,
 803    PARPORT_CLASS_FDC = 7,
 804    PARPORT_CLASS_PORTS = 8,
 805    PARPORT_CLASS_SCANNER = 9,
 806    PARPORT_CLASS_DIGCAM = 10,
 807    PARPORT_CLASS_OTHER = 11,
 808    PARPORT_CLASS_UNSPEC = 12,
 809    PARPORT_CLASS_SCSIADAPTER = 13
 810} ;
 811#line 37 "include/linux/parport.h"
 812typedef enum __anonenum_parport_device_class_201 parport_device_class;
 813#line 46 "include/linux/slub_def.h"
 814struct kmem_cache_cpu {
 815   void **freelist ;
 816   unsigned long tid ;
 817   struct page *page ;
 818   struct page *partial ;
 819   int node ;
 820   unsigned int stat[26] ;
 821};
 822#line 57 "include/linux/slub_def.h"
 823struct kmem_cache_node {
 824   spinlock_t list_lock ;
 825   unsigned long nr_partial ;
 826   struct list_head partial ;
 827   atomic_long_t nr_slabs ;
 828   atomic_long_t total_objects ;
 829   struct list_head full ;
 830};
 831#line 73 "include/linux/slub_def.h"
 832struct kmem_cache_order_objects {
 833   unsigned long x ;
 834};
 835#line 80 "include/linux/slub_def.h"
 836struct kmem_cache {
 837   struct kmem_cache_cpu *cpu_slab ;
 838   unsigned long flags ;
 839   unsigned long min_partial ;
 840   int size ;
 841   int objsize ;
 842   int offset ;
 843   int cpu_partial ;
 844   struct kmem_cache_order_objects oo ;
 845   struct kmem_cache_order_objects max ;
 846   struct kmem_cache_order_objects min ;
 847   gfp_t allocflags ;
 848   int refcount ;
 849   void (*ctor)(void * ) ;
 850   int inuse ;
 851   int align ;
 852   int reserved ;
 853   char const   *name ;
 854   struct list_head list ;
 855   struct kobject kobj ;
 856   int remote_node_defrag_ratio ;
 857   struct kmem_cache_node *node[1 << 10] ;
 858};
 859#line 15 "include/linux/blk_types.h"
 860struct page;
 861#line 16
 862struct block_device;
 863#line 16
 864struct block_device;
 865#line 33 "include/linux/list_bl.h"
 866struct hlist_bl_node;
 867#line 33 "include/linux/list_bl.h"
 868struct hlist_bl_head {
 869   struct hlist_bl_node *first ;
 870};
 871#line 37 "include/linux/list_bl.h"
 872struct hlist_bl_node {
 873   struct hlist_bl_node *next ;
 874   struct hlist_bl_node **pprev ;
 875};
 876#line 13 "include/linux/dcache.h"
 877struct nameidata;
 878#line 13
 879struct nameidata;
 880#line 14
 881struct path;
 882#line 14
 883struct path;
 884#line 15
 885struct vfsmount;
 886#line 15
 887struct vfsmount;
 888#line 35 "include/linux/dcache.h"
 889struct qstr {
 890   unsigned int hash ;
 891   unsigned int len ;
 892   unsigned char const   *name ;
 893};
 894#line 88
 895struct inode;
 896#line 88
 897struct dentry_operations;
 898#line 88
 899struct super_block;
 900#line 88 "include/linux/dcache.h"
 901union __anonunion_d_u_202 {
 902   struct list_head d_child ;
 903   struct rcu_head d_rcu ;
 904};
 905#line 88 "include/linux/dcache.h"
 906struct dentry {
 907   unsigned int d_flags ;
 908   seqcount_t d_seq ;
 909   struct hlist_bl_node d_hash ;
 910   struct dentry *d_parent ;
 911   struct qstr d_name ;
 912   struct inode *d_inode ;
 913   unsigned char d_iname[32] ;
 914   unsigned int d_count ;
 915   spinlock_t d_lock ;
 916   struct dentry_operations  const  *d_op ;
 917   struct super_block *d_sb ;
 918   unsigned long d_time ;
 919   void *d_fsdata ;
 920   struct list_head d_lru ;
 921   union __anonunion_d_u_202 d_u ;
 922   struct list_head d_subdirs ;
 923   struct list_head d_alias ;
 924};
 925#line 131 "include/linux/dcache.h"
 926struct dentry_operations {
 927   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
 928   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
 929   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
 930                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
 931   int (*d_delete)(struct dentry  const  * ) ;
 932   void (*d_release)(struct dentry * ) ;
 933   void (*d_prune)(struct dentry * ) ;
 934   void (*d_iput)(struct dentry * , struct inode * ) ;
 935   char *(*d_dname)(struct dentry * , char * , int  ) ;
 936   struct vfsmount *(*d_automount)(struct path * ) ;
 937   int (*d_manage)(struct dentry * , bool  ) ;
 938} __attribute__((__aligned__((1) <<  (6) ))) ;
 939#line 4 "include/linux/path.h"
 940struct dentry;
 941#line 5
 942struct vfsmount;
 943#line 7 "include/linux/path.h"
 944struct path {
 945   struct vfsmount *mnt ;
 946   struct dentry *dentry ;
 947};
 948#line 64 "include/linux/radix-tree.h"
 949struct radix_tree_node;
 950#line 64 "include/linux/radix-tree.h"
 951struct radix_tree_root {
 952   unsigned int height ;
 953   gfp_t gfp_mask ;
 954   struct radix_tree_node *rnode ;
 955};
 956#line 14 "include/linux/prio_tree.h"
 957struct prio_tree_node;
 958#line 20 "include/linux/prio_tree.h"
 959struct prio_tree_node {
 960   struct prio_tree_node *left ;
 961   struct prio_tree_node *right ;
 962   struct prio_tree_node *parent ;
 963   unsigned long start ;
 964   unsigned long last ;
 965};
 966#line 28 "include/linux/prio_tree.h"
 967struct prio_tree_root {
 968   struct prio_tree_node *prio_tree_node ;
 969   unsigned short index_bits ;
 970   unsigned short raw ;
 971};
 972#line 6 "include/linux/pid.h"
 973enum pid_type {
 974    PIDTYPE_PID = 0,
 975    PIDTYPE_PGID = 1,
 976    PIDTYPE_SID = 2,
 977    PIDTYPE_MAX = 3
 978} ;
 979#line 50
 980struct pid_namespace;
 981#line 50 "include/linux/pid.h"
 982struct upid {
 983   int nr ;
 984   struct pid_namespace *ns ;
 985   struct hlist_node pid_chain ;
 986};
 987#line 57 "include/linux/pid.h"
 988struct pid {
 989   atomic_t count ;
 990   unsigned int level ;
 991   struct hlist_head tasks[3] ;
 992   struct rcu_head rcu ;
 993   struct upid numbers[1] ;
 994};
 995#line 100
 996struct pid_namespace;
 997#line 18 "include/linux/capability.h"
 998struct task_struct;
 999#line 377
1000struct dentry;
1001#line 16 "include/linux/semaphore.h"
1002struct semaphore {
1003   raw_spinlock_t lock ;
1004   unsigned int count ;
1005   struct list_head wait_list ;
1006};
1007#line 16 "include/linux/fiemap.h"
1008struct fiemap_extent {
1009   __u64 fe_logical ;
1010   __u64 fe_physical ;
1011   __u64 fe_length ;
1012   __u64 fe_reserved64[2] ;
1013   __u32 fe_flags ;
1014   __u32 fe_reserved[3] ;
1015};
1016#line 8 "include/linux/shrinker.h"
1017struct shrink_control {
1018   gfp_t gfp_mask ;
1019   unsigned long nr_to_scan ;
1020};
1021#line 31 "include/linux/shrinker.h"
1022struct shrinker {
1023   int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1024   int seeks ;
1025   long batch ;
1026   struct list_head list ;
1027   atomic_long_t nr_in_batch ;
1028};
1029#line 10 "include/linux/migrate_mode.h"
1030enum migrate_mode {
1031    MIGRATE_ASYNC = 0,
1032    MIGRATE_SYNC_LIGHT = 1,
1033    MIGRATE_SYNC = 2
1034} ;
1035#line 408 "include/linux/fs.h"
1036struct export_operations;
1037#line 408
1038struct export_operations;
1039#line 410
1040struct iovec;
1041#line 410
1042struct iovec;
1043#line 411
1044struct nameidata;
1045#line 412
1046struct kiocb;
1047#line 412
1048struct kiocb;
1049#line 413
1050struct kobject;
1051#line 414
1052struct pipe_inode_info;
1053#line 414
1054struct pipe_inode_info;
1055#line 415
1056struct poll_table_struct;
1057#line 415
1058struct poll_table_struct;
1059#line 416
1060struct kstatfs;
1061#line 416
1062struct kstatfs;
1063#line 417
1064struct vm_area_struct;
1065#line 418
1066struct vfsmount;
1067#line 419
1068struct cred;
1069#line 469 "include/linux/fs.h"
1070struct iattr {
1071   unsigned int ia_valid ;
1072   umode_t ia_mode ;
1073   uid_t ia_uid ;
1074   gid_t ia_gid ;
1075   loff_t ia_size ;
1076   struct timespec ia_atime ;
1077   struct timespec ia_mtime ;
1078   struct timespec ia_ctime ;
1079   struct file *ia_file ;
1080};
1081#line 129 "include/linux/quota.h"
1082struct if_dqinfo {
1083   __u64 dqi_bgrace ;
1084   __u64 dqi_igrace ;
1085   __u32 dqi_flags ;
1086   __u32 dqi_valid ;
1087};
1088#line 50 "include/linux/dqblk_xfs.h"
1089struct fs_disk_quota {
1090   __s8 d_version ;
1091   __s8 d_flags ;
1092   __u16 d_fieldmask ;
1093   __u32 d_id ;
1094   __u64 d_blk_hardlimit ;
1095   __u64 d_blk_softlimit ;
1096   __u64 d_ino_hardlimit ;
1097   __u64 d_ino_softlimit ;
1098   __u64 d_bcount ;
1099   __u64 d_icount ;
1100   __s32 d_itimer ;
1101   __s32 d_btimer ;
1102   __u16 d_iwarns ;
1103   __u16 d_bwarns ;
1104   __s32 d_padding2 ;
1105   __u64 d_rtb_hardlimit ;
1106   __u64 d_rtb_softlimit ;
1107   __u64 d_rtbcount ;
1108   __s32 d_rtbtimer ;
1109   __u16 d_rtbwarns ;
1110   __s16 d_padding3 ;
1111   char d_padding4[8] ;
1112};
1113#line 146 "include/linux/dqblk_xfs.h"
1114struct fs_qfilestat {
1115   __u64 qfs_ino ;
1116   __u64 qfs_nblks ;
1117   __u32 qfs_nextents ;
1118};
1119#line 146 "include/linux/dqblk_xfs.h"
1120typedef struct fs_qfilestat fs_qfilestat_t;
1121#line 152 "include/linux/dqblk_xfs.h"
1122struct fs_quota_stat {
1123   __s8 qs_version ;
1124   __u16 qs_flags ;
1125   __s8 qs_pad ;
1126   fs_qfilestat_t qs_uquota ;
1127   fs_qfilestat_t qs_gquota ;
1128   __u32 qs_incoredqs ;
1129   __s32 qs_btimelimit ;
1130   __s32 qs_itimelimit ;
1131   __s32 qs_rtbtimelimit ;
1132   __u16 qs_bwarnlimit ;
1133   __u16 qs_iwarnlimit ;
1134};
1135#line 17 "include/linux/dqblk_qtree.h"
1136struct dquot;
1137#line 17
1138struct dquot;
1139#line 185 "include/linux/quota.h"
1140typedef __kernel_uid32_t qid_t;
1141#line 186 "include/linux/quota.h"
1142typedef long long qsize_t;
1143#line 200 "include/linux/quota.h"
1144struct mem_dqblk {
1145   qsize_t dqb_bhardlimit ;
1146   qsize_t dqb_bsoftlimit ;
1147   qsize_t dqb_curspace ;
1148   qsize_t dqb_rsvspace ;
1149   qsize_t dqb_ihardlimit ;
1150   qsize_t dqb_isoftlimit ;
1151   qsize_t dqb_curinodes ;
1152   time_t dqb_btime ;
1153   time_t dqb_itime ;
1154};
1155#line 215
1156struct quota_format_type;
1157#line 215
1158struct quota_format_type;
1159#line 217 "include/linux/quota.h"
1160struct mem_dqinfo {
1161   struct quota_format_type *dqi_format ;
1162   int dqi_fmt_id ;
1163   struct list_head dqi_dirty_list ;
1164   unsigned long dqi_flags ;
1165   unsigned int dqi_bgrace ;
1166   unsigned int dqi_igrace ;
1167   qsize_t dqi_maxblimit ;
1168   qsize_t dqi_maxilimit ;
1169   void *dqi_priv ;
1170};
1171#line 230
1172struct super_block;
1173#line 288 "include/linux/quota.h"
1174struct dquot {
1175   struct hlist_node dq_hash ;
1176   struct list_head dq_inuse ;
1177   struct list_head dq_free ;
1178   struct list_head dq_dirty ;
1179   struct mutex dq_lock ;
1180   atomic_t dq_count ;
1181   wait_queue_head_t dq_wait_unused ;
1182   struct super_block *dq_sb ;
1183   unsigned int dq_id ;
1184   loff_t dq_off ;
1185   unsigned long dq_flags ;
1186   short dq_type ;
1187   struct mem_dqblk dq_dqb ;
1188};
1189#line 305 "include/linux/quota.h"
1190struct quota_format_ops {
1191   int (*check_quota_file)(struct super_block *sb , int type ) ;
1192   int (*read_file_info)(struct super_block *sb , int type ) ;
1193   int (*write_file_info)(struct super_block *sb , int type ) ;
1194   int (*free_file_info)(struct super_block *sb , int type ) ;
1195   int (*read_dqblk)(struct dquot *dquot ) ;
1196   int (*commit_dqblk)(struct dquot *dquot ) ;
1197   int (*release_dqblk)(struct dquot *dquot ) ;
1198};
1199#line 316 "include/linux/quota.h"
1200struct dquot_operations {
1201   int (*write_dquot)(struct dquot * ) ;
1202   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
1203   void (*destroy_dquot)(struct dquot * ) ;
1204   int (*acquire_dquot)(struct dquot * ) ;
1205   int (*release_dquot)(struct dquot * ) ;
1206   int (*mark_dirty)(struct dquot * ) ;
1207   int (*write_info)(struct super_block * , int  ) ;
1208   qsize_t *(*get_reserved_space)(struct inode * ) ;
1209};
1210#line 329
1211struct path;
1212#line 332 "include/linux/quota.h"
1213struct quotactl_ops {
1214   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
1215   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
1216   int (*quota_off)(struct super_block * , int  ) ;
1217   int (*quota_sync)(struct super_block * , int  , int  ) ;
1218   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1219   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
1220   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1221   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
1222   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1223   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
1224};
1225#line 345 "include/linux/quota.h"
1226struct quota_format_type {
1227   int qf_fmt_id ;
1228   struct quota_format_ops  const  *qf_ops ;
1229   struct module *qf_owner ;
1230   struct quota_format_type *qf_next ;
1231};
1232#line 399 "include/linux/quota.h"
1233struct quota_info {
1234   unsigned int flags ;
1235   struct mutex dqio_mutex ;
1236   struct mutex dqonoff_mutex ;
1237   struct rw_semaphore dqptr_sem ;
1238   struct inode *files[2] ;
1239   struct mem_dqinfo info[2] ;
1240   struct quota_format_ops  const  *ops[2] ;
1241};
1242#line 532 "include/linux/fs.h"
1243struct page;
1244#line 533
1245struct address_space;
1246#line 533
1247struct address_space;
1248#line 534
1249struct writeback_control;
1250#line 534
1251struct writeback_control;
1252#line 577 "include/linux/fs.h"
1253union __anonunion_arg_210 {
1254   char *buf ;
1255   void *data ;
1256};
1257#line 577 "include/linux/fs.h"
1258struct __anonstruct_read_descriptor_t_209 {
1259   size_t written ;
1260   size_t count ;
1261   union __anonunion_arg_210 arg ;
1262   int error ;
1263};
1264#line 577 "include/linux/fs.h"
1265typedef struct __anonstruct_read_descriptor_t_209 read_descriptor_t;
1266#line 590 "include/linux/fs.h"
1267struct address_space_operations {
1268   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
1269   int (*readpage)(struct file * , struct page * ) ;
1270   int (*writepages)(struct address_space * , struct writeback_control * ) ;
1271   int (*set_page_dirty)(struct page *page ) ;
1272   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
1273                    unsigned int nr_pages ) ;
1274   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
1275                      unsigned int len , unsigned int flags , struct page **pagep ,
1276                      void **fsdata ) ;
1277   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
1278                    unsigned int copied , struct page *page , void *fsdata ) ;
1279   sector_t (*bmap)(struct address_space * , sector_t  ) ;
1280   void (*invalidatepage)(struct page * , unsigned long  ) ;
1281   int (*releasepage)(struct page * , gfp_t  ) ;
1282   void (*freepage)(struct page * ) ;
1283   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
1284                        unsigned long nr_segs ) ;
1285   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
1286   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
1287   int (*launder_page)(struct page * ) ;
1288   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
1289   int (*error_remove_page)(struct address_space * , struct page * ) ;
1290};
1291#line 645
1292struct backing_dev_info;
1293#line 645
1294struct backing_dev_info;
1295#line 646 "include/linux/fs.h"
1296struct address_space {
1297   struct inode *host ;
1298   struct radix_tree_root page_tree ;
1299   spinlock_t tree_lock ;
1300   unsigned int i_mmap_writable ;
1301   struct prio_tree_root i_mmap ;
1302   struct list_head i_mmap_nonlinear ;
1303   struct mutex i_mmap_mutex ;
1304   unsigned long nrpages ;
1305   unsigned long writeback_index ;
1306   struct address_space_operations  const  *a_ops ;
1307   unsigned long flags ;
1308   struct backing_dev_info *backing_dev_info ;
1309   spinlock_t private_lock ;
1310   struct list_head private_list ;
1311   struct address_space *assoc_mapping ;
1312} __attribute__((__aligned__(sizeof(long )))) ;
1313#line 669
1314struct request_queue;
1315#line 669
1316struct request_queue;
1317#line 671
1318struct hd_struct;
1319#line 671
1320struct gendisk;
1321#line 671 "include/linux/fs.h"
1322struct block_device {
1323   dev_t bd_dev ;
1324   int bd_openers ;
1325   struct inode *bd_inode ;
1326   struct super_block *bd_super ;
1327   struct mutex bd_mutex ;
1328   struct list_head bd_inodes ;
1329   void *bd_claiming ;
1330   void *bd_holder ;
1331   int bd_holders ;
1332   bool bd_write_holder ;
1333   struct list_head bd_holder_disks ;
1334   struct block_device *bd_contains ;
1335   unsigned int bd_block_size ;
1336   struct hd_struct *bd_part ;
1337   unsigned int bd_part_count ;
1338   int bd_invalidated ;
1339   struct gendisk *bd_disk ;
1340   struct request_queue *bd_queue ;
1341   struct list_head bd_list ;
1342   unsigned long bd_private ;
1343   int bd_fsfreeze_count ;
1344   struct mutex bd_fsfreeze_mutex ;
1345};
1346#line 749
1347struct posix_acl;
1348#line 749
1349struct posix_acl;
1350#line 761
1351struct inode_operations;
1352#line 761 "include/linux/fs.h"
1353union __anonunion____missing_field_name_211 {
1354   unsigned int const   i_nlink ;
1355   unsigned int __i_nlink ;
1356};
1357#line 761 "include/linux/fs.h"
1358union __anonunion____missing_field_name_212 {
1359   struct list_head i_dentry ;
1360   struct rcu_head i_rcu ;
1361};
1362#line 761
1363struct file_operations;
1364#line 761
1365struct file_lock;
1366#line 761
1367struct cdev;
1368#line 761 "include/linux/fs.h"
1369union __anonunion____missing_field_name_213 {
1370   struct pipe_inode_info *i_pipe ;
1371   struct block_device *i_bdev ;
1372   struct cdev *i_cdev ;
1373};
1374#line 761 "include/linux/fs.h"
1375struct inode {
1376   umode_t i_mode ;
1377   unsigned short i_opflags ;
1378   uid_t i_uid ;
1379   gid_t i_gid ;
1380   unsigned int i_flags ;
1381   struct posix_acl *i_acl ;
1382   struct posix_acl *i_default_acl ;
1383   struct inode_operations  const  *i_op ;
1384   struct super_block *i_sb ;
1385   struct address_space *i_mapping ;
1386   void *i_security ;
1387   unsigned long i_ino ;
1388   union __anonunion____missing_field_name_211 __annonCompField33 ;
1389   dev_t i_rdev ;
1390   struct timespec i_atime ;
1391   struct timespec i_mtime ;
1392   struct timespec i_ctime ;
1393   spinlock_t i_lock ;
1394   unsigned short i_bytes ;
1395   blkcnt_t i_blocks ;
1396   loff_t i_size ;
1397   unsigned long i_state ;
1398   struct mutex i_mutex ;
1399   unsigned long dirtied_when ;
1400   struct hlist_node i_hash ;
1401   struct list_head i_wb_list ;
1402   struct list_head i_lru ;
1403   struct list_head i_sb_list ;
1404   union __anonunion____missing_field_name_212 __annonCompField34 ;
1405   atomic_t i_count ;
1406   unsigned int i_blkbits ;
1407   u64 i_version ;
1408   atomic_t i_dio_count ;
1409   atomic_t i_writecount ;
1410   struct file_operations  const  *i_fop ;
1411   struct file_lock *i_flock ;
1412   struct address_space i_data ;
1413   struct dquot *i_dquot[2] ;
1414   struct list_head i_devices ;
1415   union __anonunion____missing_field_name_213 __annonCompField35 ;
1416   __u32 i_generation ;
1417   __u32 i_fsnotify_mask ;
1418   struct hlist_head i_fsnotify_marks ;
1419   atomic_t i_readcount ;
1420   void *i_private ;
1421};
1422#line 942 "include/linux/fs.h"
1423struct fown_struct {
1424   rwlock_t lock ;
1425   struct pid *pid ;
1426   enum pid_type pid_type ;
1427   uid_t uid ;
1428   uid_t euid ;
1429   int signum ;
1430};
1431#line 953 "include/linux/fs.h"
1432struct file_ra_state {
1433   unsigned long start ;
1434   unsigned int size ;
1435   unsigned int async_size ;
1436   unsigned int ra_pages ;
1437   unsigned int mmap_miss ;
1438   loff_t prev_pos ;
1439};
1440#line 976 "include/linux/fs.h"
1441union __anonunion_f_u_214 {
1442   struct list_head fu_list ;
1443   struct rcu_head fu_rcuhead ;
1444};
1445#line 976 "include/linux/fs.h"
1446struct file {
1447   union __anonunion_f_u_214 f_u ;
1448   struct path f_path ;
1449   struct file_operations  const  *f_op ;
1450   spinlock_t f_lock ;
1451   int f_sb_list_cpu ;
1452   atomic_long_t f_count ;
1453   unsigned int f_flags ;
1454   fmode_t f_mode ;
1455   loff_t f_pos ;
1456   struct fown_struct f_owner ;
1457   struct cred  const  *f_cred ;
1458   struct file_ra_state f_ra ;
1459   u64 f_version ;
1460   void *f_security ;
1461   void *private_data ;
1462   struct list_head f_ep_links ;
1463   struct list_head f_tfile_llink ;
1464   struct address_space *f_mapping ;
1465   unsigned long f_mnt_write_state ;
1466};
1467#line 1111
1468struct files_struct;
1469#line 1111 "include/linux/fs.h"
1470typedef struct files_struct *fl_owner_t;
1471#line 1113 "include/linux/fs.h"
1472struct file_lock_operations {
1473   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1474   void (*fl_release_private)(struct file_lock * ) ;
1475};
1476#line 1118 "include/linux/fs.h"
1477struct lock_manager_operations {
1478   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1479   void (*lm_notify)(struct file_lock * ) ;
1480   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
1481   void (*lm_release_private)(struct file_lock * ) ;
1482   void (*lm_break)(struct file_lock * ) ;
1483   int (*lm_change)(struct file_lock ** , int  ) ;
1484};
1485#line 4 "include/linux/nfs_fs_i.h"
1486struct nlm_lockowner;
1487#line 4
1488struct nlm_lockowner;
1489#line 9 "include/linux/nfs_fs_i.h"
1490struct nfs_lock_info {
1491   u32 state ;
1492   struct nlm_lockowner *owner ;
1493   struct list_head list ;
1494};
1495#line 15
1496struct nfs4_lock_state;
1497#line 15
1498struct nfs4_lock_state;
1499#line 16 "include/linux/nfs_fs_i.h"
1500struct nfs4_lock_info {
1501   struct nfs4_lock_state *owner ;
1502};
1503#line 1138 "include/linux/fs.h"
1504struct fasync_struct;
1505#line 1138 "include/linux/fs.h"
1506struct __anonstruct_afs_216 {
1507   struct list_head link ;
1508   int state ;
1509};
1510#line 1138 "include/linux/fs.h"
1511union __anonunion_fl_u_215 {
1512   struct nfs_lock_info nfs_fl ;
1513   struct nfs4_lock_info nfs4_fl ;
1514   struct __anonstruct_afs_216 afs ;
1515};
1516#line 1138 "include/linux/fs.h"
1517struct file_lock {
1518   struct file_lock *fl_next ;
1519   struct list_head fl_link ;
1520   struct list_head fl_block ;
1521   fl_owner_t fl_owner ;
1522   unsigned int fl_flags ;
1523   unsigned char fl_type ;
1524   unsigned int fl_pid ;
1525   struct pid *fl_nspid ;
1526   wait_queue_head_t fl_wait ;
1527   struct file *fl_file ;
1528   loff_t fl_start ;
1529   loff_t fl_end ;
1530   struct fasync_struct *fl_fasync ;
1531   unsigned long fl_break_time ;
1532   unsigned long fl_downgrade_time ;
1533   struct file_lock_operations  const  *fl_ops ;
1534   struct lock_manager_operations  const  *fl_lmops ;
1535   union __anonunion_fl_u_215 fl_u ;
1536};
1537#line 1378 "include/linux/fs.h"
1538struct fasync_struct {
1539   spinlock_t fa_lock ;
1540   int magic ;
1541   int fa_fd ;
1542   struct fasync_struct *fa_next ;
1543   struct file *fa_file ;
1544   struct rcu_head fa_rcu ;
1545};
1546#line 1418
1547struct file_system_type;
1548#line 1418
1549struct super_operations;
1550#line 1418
1551struct xattr_handler;
1552#line 1418
1553struct mtd_info;
1554#line 1418 "include/linux/fs.h"
1555struct super_block {
1556   struct list_head s_list ;
1557   dev_t s_dev ;
1558   unsigned char s_dirt ;
1559   unsigned char s_blocksize_bits ;
1560   unsigned long s_blocksize ;
1561   loff_t s_maxbytes ;
1562   struct file_system_type *s_type ;
1563   struct super_operations  const  *s_op ;
1564   struct dquot_operations  const  *dq_op ;
1565   struct quotactl_ops  const  *s_qcop ;
1566   struct export_operations  const  *s_export_op ;
1567   unsigned long s_flags ;
1568   unsigned long s_magic ;
1569   struct dentry *s_root ;
1570   struct rw_semaphore s_umount ;
1571   struct mutex s_lock ;
1572   int s_count ;
1573   atomic_t s_active ;
1574   void *s_security ;
1575   struct xattr_handler  const  **s_xattr ;
1576   struct list_head s_inodes ;
1577   struct hlist_bl_head s_anon ;
1578   struct list_head *s_files ;
1579   struct list_head s_mounts ;
1580   struct list_head s_dentry_lru ;
1581   int s_nr_dentry_unused ;
1582   spinlock_t s_inode_lru_lock  __attribute__((__aligned__((1) <<  (6) ))) ;
1583   struct list_head s_inode_lru ;
1584   int s_nr_inodes_unused ;
1585   struct block_device *s_bdev ;
1586   struct backing_dev_info *s_bdi ;
1587   struct mtd_info *s_mtd ;
1588   struct hlist_node s_instances ;
1589   struct quota_info s_dquot ;
1590   int s_frozen ;
1591   wait_queue_head_t s_wait_unfrozen ;
1592   char s_id[32] ;
1593   u8 s_uuid[16] ;
1594   void *s_fs_info ;
1595   unsigned int s_max_links ;
1596   fmode_t s_mode ;
1597   u32 s_time_gran ;
1598   struct mutex s_vfs_rename_mutex ;
1599   char *s_subtype ;
1600   char *s_options ;
1601   struct dentry_operations  const  *s_d_op ;
1602   int cleancache_poolid ;
1603   struct shrinker s_shrink ;
1604   atomic_long_t s_remove_count ;
1605   int s_readonly_remount ;
1606};
1607#line 1567 "include/linux/fs.h"
1608struct fiemap_extent_info {
1609   unsigned int fi_flags ;
1610   unsigned int fi_extents_mapped ;
1611   unsigned int fi_extents_max ;
1612   struct fiemap_extent *fi_extents_start ;
1613};
1614#line 1609 "include/linux/fs.h"
1615struct file_operations {
1616   struct module *owner ;
1617   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
1618   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
1619   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
1620   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1621                       loff_t  ) ;
1622   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
1623                        loff_t  ) ;
1624   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
1625                                                   loff_t  , u64  , unsigned int  ) ) ;
1626   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1627   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1628   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
1629   int (*mmap)(struct file * , struct vm_area_struct * ) ;
1630   int (*open)(struct inode * , struct file * ) ;
1631   int (*flush)(struct file * , fl_owner_t id ) ;
1632   int (*release)(struct inode * , struct file * ) ;
1633   int (*fsync)(struct file * , loff_t  , loff_t  , int datasync ) ;
1634   int (*aio_fsync)(struct kiocb * , int datasync ) ;
1635   int (*fasync)(int  , struct file * , int  ) ;
1636   int (*lock)(struct file * , int  , struct file_lock * ) ;
1637   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
1638                       int  ) ;
1639   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1640                                      unsigned long  , unsigned long  ) ;
1641   int (*check_flags)(int  ) ;
1642   int (*flock)(struct file * , int  , struct file_lock * ) ;
1643   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
1644                           unsigned int  ) ;
1645   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
1646                          unsigned int  ) ;
1647   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
1648   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
1649};
1650#line 1639 "include/linux/fs.h"
1651struct inode_operations {
1652   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1653   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1654   int (*permission)(struct inode * , int  ) ;
1655   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
1656   int (*readlink)(struct dentry * , char * , int  ) ;
1657   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1658   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
1659   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1660   int (*unlink)(struct inode * , struct dentry * ) ;
1661   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
1662   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
1663   int (*rmdir)(struct inode * , struct dentry * ) ;
1664   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
1665   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1666   void (*truncate)(struct inode * ) ;
1667   int (*setattr)(struct dentry * , struct iattr * ) ;
1668   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
1669   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
1670   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
1671   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
1672   int (*removexattr)(struct dentry * , char const   * ) ;
1673   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
1674   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
1675} __attribute__((__aligned__((1) <<  (6) ))) ;
1676#line 1669
1677struct seq_file;
1678#line 1684 "include/linux/fs.h"
1679struct super_operations {
1680   struct inode *(*alloc_inode)(struct super_block *sb ) ;
1681   void (*destroy_inode)(struct inode * ) ;
1682   void (*dirty_inode)(struct inode * , int flags ) ;
1683   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
1684   int (*drop_inode)(struct inode * ) ;
1685   void (*evict_inode)(struct inode * ) ;
1686   void (*put_super)(struct super_block * ) ;
1687   void (*write_super)(struct super_block * ) ;
1688   int (*sync_fs)(struct super_block *sb , int wait ) ;
1689   int (*freeze_fs)(struct super_block * ) ;
1690   int (*unfreeze_fs)(struct super_block * ) ;
1691   int (*statfs)(struct dentry * , struct kstatfs * ) ;
1692   int (*remount_fs)(struct super_block * , int * , char * ) ;
1693   void (*umount_begin)(struct super_block * ) ;
1694   int (*show_options)(struct seq_file * , struct dentry * ) ;
1695   int (*show_devname)(struct seq_file * , struct dentry * ) ;
1696   int (*show_path)(struct seq_file * , struct dentry * ) ;
1697   int (*show_stats)(struct seq_file * , struct dentry * ) ;
1698   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
1699   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
1700                          loff_t  ) ;
1701   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
1702   int (*nr_cached_objects)(struct super_block * ) ;
1703   void (*free_cached_objects)(struct super_block * , int  ) ;
1704};
1705#line 1835 "include/linux/fs.h"
1706struct file_system_type {
1707   char const   *name ;
1708   int fs_flags ;
1709   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
1710   void (*kill_sb)(struct super_block * ) ;
1711   struct module *owner ;
1712   struct file_system_type *next ;
1713   struct hlist_head fs_supers ;
1714   struct lock_class_key s_lock_key ;
1715   struct lock_class_key s_umount_key ;
1716   struct lock_class_key s_vfs_rename_key ;
1717   struct lock_class_key i_lock_key ;
1718   struct lock_class_key i_mutex_key ;
1719   struct lock_class_key i_mutex_dir_key ;
1720};
1721#line 11 "include/linux/proc_fs.h"
1722struct completion;
1723#line 117
1724struct pid_namespace;
1725#line 10 "include/linux/irqreturn.h"
1726enum irqreturn {
1727    IRQ_NONE = 0,
1728    IRQ_HANDLED = 1,
1729    IRQ_WAKE_THREAD = 2
1730} ;
1731#line 16 "include/linux/irqreturn.h"
1732typedef enum irqreturn irqreturn_t;
1733#line 106 "include/linux/parport.h"
1734struct parport;
1735#line 106
1736struct parport;
1737#line 107
1738struct pardevice;
1739#line 107
1740struct pardevice;
1741#line 109 "include/linux/parport.h"
1742struct pc_parport_state {
1743   unsigned int ctr ;
1744   unsigned int ecr ;
1745};
1746#line 114 "include/linux/parport.h"
1747struct ax_parport_state {
1748   unsigned int ctr ;
1749   unsigned int ecr ;
1750   unsigned int dcsr ;
1751};
1752#line 121 "include/linux/parport.h"
1753struct amiga_parport_state {
1754   unsigned char data ;
1755   unsigned char datadir ;
1756   unsigned char status ;
1757   unsigned char statusdir ;
1758};
1759#line 128 "include/linux/parport.h"
1760struct ax88796_parport_state {
1761   unsigned char cpr ;
1762};
1763#line 132 "include/linux/parport.h"
1764struct ip32_parport_state {
1765   unsigned int dcr ;
1766   unsigned int ecr ;
1767};
1768#line 137 "include/linux/parport.h"
1769union __anonunion_u_220 {
1770   struct pc_parport_state pc ;
1771   struct ax_parport_state ax ;
1772   struct amiga_parport_state amiga ;
1773   struct ax88796_parport_state ax88796 ;
1774   struct ip32_parport_state ip32 ;
1775   void *misc ;
1776};
1777#line 137 "include/linux/parport.h"
1778struct parport_state {
1779   union __anonunion_u_220 u ;
1780};
1781#line 150 "include/linux/parport.h"
1782struct parport_operations {
1783   void (*write_data)(struct parport * , unsigned char  ) ;
1784   unsigned char (*read_data)(struct parport * ) ;
1785   void (*write_control)(struct parport * , unsigned char  ) ;
1786   unsigned char (*read_control)(struct parport * ) ;
1787   unsigned char (*frob_control)(struct parport * , unsigned char mask , unsigned char val ) ;
1788   unsigned char (*read_status)(struct parport * ) ;
1789   void (*enable_irq)(struct parport * ) ;
1790   void (*disable_irq)(struct parport * ) ;
1791   void (*data_forward)(struct parport * ) ;
1792   void (*data_reverse)(struct parport * ) ;
1793   void (*init_state)(struct pardevice * , struct parport_state * ) ;
1794   void (*save_state)(struct parport * , struct parport_state * ) ;
1795   void (*restore_state)(struct parport * , struct parport_state * ) ;
1796   size_t (*epp_write_data)(struct parport *port , void const   *buf , size_t len ,
1797                            int flags ) ;
1798   size_t (*epp_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
1799   size_t (*epp_write_addr)(struct parport *port , void const   *buf , size_t len ,
1800                            int flags ) ;
1801   size_t (*epp_read_addr)(struct parport *port , void *buf , size_t len , int flags ) ;
1802   size_t (*ecp_write_data)(struct parport *port , void const   *buf , size_t len ,
1803                            int flags ) ;
1804   size_t (*ecp_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
1805   size_t (*ecp_write_addr)(struct parport *port , void const   *buf , size_t len ,
1806                            int flags ) ;
1807   size_t (*compat_write_data)(struct parport *port , void const   *buf , size_t len ,
1808                               int flags ) ;
1809   size_t (*nibble_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
1810   size_t (*byte_read_data)(struct parport *port , void *buf , size_t len , int flags ) ;
1811   struct module *owner ;
1812};
1813#line 201 "include/linux/parport.h"
1814struct parport_device_info {
1815   parport_device_class class ;
1816   char const   *class_name ;
1817   char const   *mfr ;
1818   char const   *model ;
1819   char const   *cmdset ;
1820   char const   *description ;
1821};
1822#line 223 "include/linux/parport.h"
1823struct pardevice {
1824   char const   *name ;
1825   struct parport *port ;
1826   int daisy ;
1827   int (*preempt)(void * ) ;
1828   void (*wakeup)(void * ) ;
1829   void *private ;
1830   void (*irq_func)(void * ) ;
1831   unsigned int flags ;
1832   struct pardevice *next ;
1833   struct pardevice *prev ;
1834   struct parport_state *state ;
1835   wait_queue_head_t wait_q ;
1836   unsigned long time ;
1837   unsigned long timeslice ;
1838   long volatile   timeout ;
1839   unsigned long waiting ;
1840   struct pardevice *waitprev ;
1841   struct pardevice *waitnext ;
1842   void *sysctl_table ;
1843};
1844#line 249
1845enum ieee1284_phase {
1846    IEEE1284_PH_FWD_DATA = 0,
1847    IEEE1284_PH_FWD_IDLE = 1,
1848    IEEE1284_PH_TERMINATE = 2,
1849    IEEE1284_PH_NEGOTIATION = 3,
1850    IEEE1284_PH_HBUSY_DNA = 4,
1851    IEEE1284_PH_REV_IDLE = 5,
1852    IEEE1284_PH_HBUSY_DAVAIL = 6,
1853    IEEE1284_PH_REV_DATA = 7,
1854    IEEE1284_PH_ECP_SETUP = 8,
1855    IEEE1284_PH_ECP_FWD_TO_REV = 9,
1856    IEEE1284_PH_ECP_REV_TO_FWD = 10,
1857    IEEE1284_PH_ECP_DIR_UNKNOWN = 11
1858} ;
1859#line 263 "include/linux/parport.h"
1860struct ieee1284_info {
1861   int mode ;
1862   enum ieee1284_phase  volatile  phase ;
1863   struct semaphore irq ;
1864};
1865#line 270 "include/linux/parport.h"
1866struct parport {
1867   unsigned long base ;
1868   unsigned long base_hi ;
1869   unsigned int size ;
1870   char const   *name ;
1871   unsigned int modes ;
1872   int irq ;
1873   int dma ;
1874   int muxport ;
1875   int portnum ;
1876   struct device *dev ;
1877   struct parport *physport ;
1878   struct pardevice *devices ;
1879   struct pardevice *cad ;
1880   int daisy ;
1881   int muxsel ;
1882   struct pardevice *waithead ;
1883   struct pardevice *waittail ;
1884   struct list_head list ;
1885   unsigned int flags ;
1886   void *sysctl_table ;
1887   struct parport_device_info probe_info[5] ;
1888   struct ieee1284_info ieee1284 ;
1889   struct parport_operations *ops ;
1890   void *private_data ;
1891   int number ;
1892   spinlock_t pardevice_lock ;
1893   spinlock_t waitlist_lock ;
1894   rwlock_t cad_lock ;
1895   int spintime ;
1896   atomic_t ref_count ;
1897   unsigned long devflags ;
1898   struct pardevice *proc_device ;
1899   struct list_head full_list ;
1900   struct parport *slaves[3] ;
1901};
1902#line 31 "include/linux/irq.h"
1903struct seq_file;
1904#line 32
1905struct module;
1906#line 14 "include/linux/irqdesc.h"
1907struct module;
1908#line 65 "include/linux/profile.h"
1909struct task_struct;
1910#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
1911struct exception_table_entry {
1912   unsigned long insn ;
1913   unsigned long fixup ;
1914};
1915#line 132 "include/linux/hardirq.h"
1916struct task_struct;
1917#line 187 "include/linux/interrupt.h"
1918struct device;
1919#line 695
1920struct seq_file;
1921#line 19 "include/linux/klist.h"
1922struct klist_node;
1923#line 19
1924struct klist_node;
1925#line 39 "include/linux/klist.h"
1926struct klist_node {
1927   void *n_klist ;
1928   struct list_head n_node ;
1929   struct kref n_ref ;
1930};
1931#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1932struct dma_map_ops;
1933#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1934struct dev_archdata {
1935   void *acpi_handle ;
1936   struct dma_map_ops *dma_ops ;
1937   void *iommu ;
1938};
1939#line 28 "include/linux/device.h"
1940struct device;
1941#line 29
1942struct device_private;
1943#line 29
1944struct device_private;
1945#line 30
1946struct device_driver;
1947#line 30
1948struct device_driver;
1949#line 31
1950struct driver_private;
1951#line 31
1952struct driver_private;
1953#line 32
1954struct module;
1955#line 33
1956struct class;
1957#line 33
1958struct class;
1959#line 34
1960struct subsys_private;
1961#line 34
1962struct subsys_private;
1963#line 35
1964struct bus_type;
1965#line 35
1966struct bus_type;
1967#line 36
1968struct device_node;
1969#line 36
1970struct device_node;
1971#line 37
1972struct iommu_ops;
1973#line 37
1974struct iommu_ops;
1975#line 39 "include/linux/device.h"
1976struct bus_attribute {
1977   struct attribute attr ;
1978   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1979   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1980};
1981#line 89
1982struct device_attribute;
1983#line 89
1984struct driver_attribute;
1985#line 89 "include/linux/device.h"
1986struct bus_type {
1987   char const   *name ;
1988   char const   *dev_name ;
1989   struct device *dev_root ;
1990   struct bus_attribute *bus_attrs ;
1991   struct device_attribute *dev_attrs ;
1992   struct driver_attribute *drv_attrs ;
1993   int (*match)(struct device *dev , struct device_driver *drv ) ;
1994   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1995   int (*probe)(struct device *dev ) ;
1996   int (*remove)(struct device *dev ) ;
1997   void (*shutdown)(struct device *dev ) ;
1998   int (*suspend)(struct device *dev , pm_message_t state ) ;
1999   int (*resume)(struct device *dev ) ;
2000   struct dev_pm_ops  const  *pm ;
2001   struct iommu_ops *iommu_ops ;
2002   struct subsys_private *p ;
2003};
2004#line 127
2005struct device_type;
2006#line 214
2007struct of_device_id;
2008#line 214 "include/linux/device.h"
2009struct device_driver {
2010   char const   *name ;
2011   struct bus_type *bus ;
2012   struct module *owner ;
2013   char const   *mod_name ;
2014   bool suppress_bind_attrs ;
2015   struct of_device_id  const  *of_match_table ;
2016   int (*probe)(struct device *dev ) ;
2017   int (*remove)(struct device *dev ) ;
2018   void (*shutdown)(struct device *dev ) ;
2019   int (*suspend)(struct device *dev , pm_message_t state ) ;
2020   int (*resume)(struct device *dev ) ;
2021   struct attribute_group  const  **groups ;
2022   struct dev_pm_ops  const  *pm ;
2023   struct driver_private *p ;
2024};
2025#line 249 "include/linux/device.h"
2026struct driver_attribute {
2027   struct attribute attr ;
2028   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2029   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
2030};
2031#line 330
2032struct class_attribute;
2033#line 330 "include/linux/device.h"
2034struct class {
2035   char const   *name ;
2036   struct module *owner ;
2037   struct class_attribute *class_attrs ;
2038   struct device_attribute *dev_attrs ;
2039   struct bin_attribute *dev_bin_attrs ;
2040   struct kobject *dev_kobj ;
2041   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2042   char *(*devnode)(struct device *dev , umode_t *mode ) ;
2043   void (*class_release)(struct class *class ) ;
2044   void (*dev_release)(struct device *dev ) ;
2045   int (*suspend)(struct device *dev , pm_message_t state ) ;
2046   int (*resume)(struct device *dev ) ;
2047   struct kobj_ns_type_operations  const  *ns_type ;
2048   void const   *(*namespace)(struct device *dev ) ;
2049   struct dev_pm_ops  const  *pm ;
2050   struct subsys_private *p ;
2051};
2052#line 397 "include/linux/device.h"
2053struct class_attribute {
2054   struct attribute attr ;
2055   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2056   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
2057                    size_t count ) ;
2058   void const   *(*namespace)(struct class *class , struct class_attribute  const  *attr ) ;
2059};
2060#line 465 "include/linux/device.h"
2061struct device_type {
2062   char const   *name ;
2063   struct attribute_group  const  **groups ;
2064   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2065   char *(*devnode)(struct device *dev , umode_t *mode ) ;
2066   void (*release)(struct device *dev ) ;
2067   struct dev_pm_ops  const  *pm ;
2068};
2069#line 476 "include/linux/device.h"
2070struct device_attribute {
2071   struct attribute attr ;
2072   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2073   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
2074                    size_t count ) ;
2075};
2076#line 559 "include/linux/device.h"
2077struct device_dma_parameters {
2078   unsigned int max_segment_size ;
2079   unsigned long segment_boundary_mask ;
2080};
2081#line 627
2082struct dma_coherent_mem;
2083#line 627 "include/linux/device.h"
2084struct device {
2085   struct device *parent ;
2086   struct device_private *p ;
2087   struct kobject kobj ;
2088   char const   *init_name ;
2089   struct device_type  const  *type ;
2090   struct mutex mutex ;
2091   struct bus_type *bus ;
2092   struct device_driver *driver ;
2093   void *platform_data ;
2094   struct dev_pm_info power ;
2095   struct dev_pm_domain *pm_domain ;
2096   int numa_node ;
2097   u64 *dma_mask ;
2098   u64 coherent_dma_mask ;
2099   struct device_dma_parameters *dma_parms ;
2100   struct list_head dma_pools ;
2101   struct dma_coherent_mem *dma_mem ;
2102   struct dev_archdata archdata ;
2103   struct device_node *of_node ;
2104   dev_t devt ;
2105   u32 id ;
2106   spinlock_t devres_lock ;
2107   struct list_head devres_head ;
2108   struct klist_node knode_class ;
2109   struct class *class ;
2110   struct attribute_group  const  **groups ;
2111   void (*release)(struct device *dev ) ;
2112};
2113#line 43 "include/linux/pm_wakeup.h"
2114struct wakeup_source {
2115   char const   *name ;
2116   struct list_head entry ;
2117   spinlock_t lock ;
2118   struct timer_list timer ;
2119   unsigned long timer_expires ;
2120   ktime_t total_time ;
2121   ktime_t max_time ;
2122   ktime_t last_time ;
2123   unsigned long event_count ;
2124   unsigned long active_count ;
2125   unsigned long relax_count ;
2126   unsigned long hit_count ;
2127   unsigned int active : 1 ;
2128};
2129#line 209 "include/linux/mod_devicetable.h"
2130struct serio_device_id {
2131   __u8 type ;
2132   __u8 extra ;
2133   __u8 id ;
2134   __u8 proto ;
2135};
2136#line 219 "include/linux/mod_devicetable.h"
2137struct of_device_id {
2138   char name[32] ;
2139   char type[32] ;
2140   char compatible[128] ;
2141   void *data ;
2142};
2143#line 26 "include/linux/serio.h"
2144struct serio_driver;
2145#line 26 "include/linux/serio.h"
2146struct serio {
2147   void *port_data ;
2148   char name[32] ;
2149   char phys[32] ;
2150   bool manual_bind ;
2151   struct serio_device_id id ;
2152   spinlock_t lock ;
2153   int (*write)(struct serio * , unsigned char  ) ;
2154   int (*open)(struct serio * ) ;
2155   void (*close)(struct serio * ) ;
2156   int (*start)(struct serio * ) ;
2157   void (*stop)(struct serio * ) ;
2158   struct serio *parent ;
2159   struct list_head child_node ;
2160   struct list_head children ;
2161   unsigned int depth ;
2162   struct serio_driver *drv ;
2163   struct mutex drv_mutex ;
2164   struct device dev ;
2165   struct list_head node ;
2166};
2167#line 58 "include/linux/serio.h"
2168struct serio_driver {
2169   char const   *description ;
2170   struct serio_device_id  const  *id_table ;
2171   bool manual_bind ;
2172   void (*write_wakeup)(struct serio * ) ;
2173   irqreturn_t (*interrupt)(struct serio * , unsigned char  , unsigned int  ) ;
2174   int (*connect)(struct serio * , struct serio_driver *drv ) ;
2175   int (*reconnect)(struct serio * ) ;
2176   void (*disconnect)(struct serio * ) ;
2177   void (*cleanup)(struct serio * ) ;
2178   struct device_driver driver ;
2179};
2180#line 1 "<compiler builtins>"
2181long __builtin_expect(long val , long res ) ;
2182#line 100 "include/linux/printk.h"
2183extern int ( /* format attribute */  printk)(char const   *fmt  , ...) ;
2184#line 322 "include/linux/kernel.h"
2185extern int ( /* format attribute */  snprintf)(char *buf , size_t size , char const   *fmt 
2186                                               , ...) ;
2187#line 30 "include/linux/string.h"
2188extern size_t strlcpy(char * , char const   * , size_t  ) ;
2189#line 152 "include/linux/mutex.h"
2190void mutex_lock(struct mutex *lock ) ;
2191#line 153
2192int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) ;
2193#line 154
2194int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) ;
2195#line 168
2196int mutex_trylock(struct mutex *lock ) ;
2197#line 169
2198void mutex_unlock(struct mutex *lock ) ;
2199#line 170
2200int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
2201#line 82 "include/linux/jiffies.h"
2202extern unsigned long volatile   jiffies  __attribute__((__section__(".data"))) ;
2203#line 356 "include/linux/moduleparam.h"
2204extern struct kernel_param_ops param_ops_int ;
2205#line 361
2206extern struct kernel_param_ops param_ops_uint ;
2207#line 26 "include/linux/export.h"
2208extern struct module __this_module ;
2209#line 67 "include/linux/module.h"
2210int init_module(void) ;
2211#line 68
2212void cleanup_module(void) ;
2213#line 221 "include/linux/slub_def.h"
2214extern void *__kmalloc(size_t size , gfp_t flags ) ;
2215#line 268
2216__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2217                                                                    gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2218#line 268 "include/linux/slub_def.h"
2219__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
2220                                                                    gfp_t flags ) 
2221{ void *tmp___2 ;
2222
2223  {
2224  {
2225#line 283
2226  tmp___2 = __kmalloc(size, flags);
2227  }
2228#line 283
2229  return (tmp___2);
2230}
2231}
2232#line 349 "include/linux/slab.h"
2233__inline static void *kzalloc(size_t size , gfp_t flags )  __attribute__((__no_instrument_function__)) ;
2234#line 349 "include/linux/slab.h"
2235__inline static void *kzalloc(size_t size , gfp_t flags ) 
2236{ void *tmp ;
2237  unsigned int __cil_tmp4 ;
2238
2239  {
2240  {
2241#line 351
2242  __cil_tmp4 = flags | 32768U;
2243#line 351
2244  tmp = kmalloc(size, __cil_tmp4);
2245  }
2246#line 351
2247  return (tmp);
2248}
2249}
2250#line 368 "include/linux/parport.h"
2251extern struct parport *parport_find_number(int  ) ;
2252#line 376
2253extern void parport_put_port(struct parport * ) ;
2254#line 384
2255extern struct pardevice *parport_register_device(struct parport *port , char const   *name ,
2256                                                 int (*pf)(void * ) , void (*kf)(void * ) ,
2257                                                 void (*irq_func)(void * ) , int flags ,
2258                                                 void *handle ) ;
2259#line 391
2260extern void parport_unregister_device(struct pardevice *dev ) ;
2261#line 397
2262extern int parport_claim(struct pardevice *dev ) ;
2263#line 412
2264extern void parport_release(struct pardevice *dev ) ;
2265#line 79 "include/linux/serio.h"
2266extern irqreturn_t serio_interrupt(struct serio *serio , unsigned char data , unsigned int flags ) ;
2267#line 81
2268extern void __serio_register_port(struct serio *serio , struct module *owner ) ;
2269#line 87
2270extern void serio_unregister_port(struct serio *serio ) ;
2271#line 54 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2272static char const   __mod_author54[39]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2273__aligned__(1)))  = 
2274#line 54 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2275  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
2276        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'V', 
2277        (char const   )'o',      (char const   )'j',      (char const   )'t',      (char const   )'e', 
2278        (char const   )'c',      (char const   )'h',      (char const   )' ',      (char const   )'P', 
2279        (char const   )'a',      (char const   )'v',      (char const   )'l',      (char const   )'i', 
2280        (char const   )'k',      (char const   )' ',      (char const   )'<',      (char const   )'v', 
2281        (char const   )'o',      (char const   )'j',      (char const   )'t',      (char const   )'e', 
2282        (char const   )'c',      (char const   )'h',      (char const   )'@',      (char const   )'u', 
2283        (char const   )'c',      (char const   )'w',      (char const   )'.',      (char const   )'c', 
2284        (char const   )'z',      (char const   )'>',      (char const   )'\000'};
2285#line 55 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2286static char const   __mod_description55[58]  __attribute__((__used__, __unused__,
2287__section__(".modinfo"), __aligned__(1)))  = 
2288#line 55
2289  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
2290        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
2291        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
2292        (char const   )'P',      (char const   )'a',      (char const   )'r',      (char const   )'a', 
2293        (char const   )'l',      (char const   )'l',      (char const   )'e',      (char const   )'l', 
2294        (char const   )' ',      (char const   )'p',      (char const   )'o',      (char const   )'r', 
2295        (char const   )'t',      (char const   )' ',      (char const   )'t',      (char const   )'o', 
2296        (char const   )' ',      (char const   )'K',      (char const   )'e',      (char const   )'y', 
2297        (char const   )'b',      (char const   )'o',      (char const   )'a',      (char const   )'r', 
2298        (char const   )'d',      (char const   )' ',      (char const   )'p',      (char const   )'o', 
2299        (char const   )'r',      (char const   )'t',      (char const   )' ',      (char const   )'a', 
2300        (char const   )'d',      (char const   )'a',      (char const   )'p',      (char const   )'t', 
2301        (char const   )'e',      (char const   )'r',      (char const   )' ',      (char const   )'d', 
2302        (char const   )'r',      (char const   )'i',      (char const   )'v',      (char const   )'e', 
2303        (char const   )'r',      (char const   )'\000'};
2304#line 56 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2305static char const   __mod_license56[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2306__aligned__(1)))  = 
2307#line 56
2308  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
2309        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
2310        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
2311#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2312static unsigned int parkbd_pp_no  ;
2313#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2314static char const   __param_str_port[5]  = {      (char const   )'p',      (char const   )'o',      (char const   )'r',      (char const   )'t', 
2315        (char const   )'\000'};
2316#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2317static struct kernel_param  const  __param_port  __attribute__((__used__, __unused__,
2318__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_port, (struct kernel_param_ops  const  *)(& param_ops_int), (u16 )0,
2319    (s16 )0, {(void *)(& parkbd_pp_no)}};
2320#line 59 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2321static char const   __mod_porttype59[18]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2322__aligned__(1)))  = 
2323#line 59
2324  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
2325        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
2326        (char const   )'=',      (char const   )'p',      (char const   )'o',      (char const   )'r', 
2327        (char const   )'t',      (char const   )':',      (char const   )'i',      (char const   )'n', 
2328        (char const   )'t',      (char const   )'\000'};
2329#line 60 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2330static char const   __mod_port60[67]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2331__aligned__(1)))  = 
2332#line 60
2333  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
2334        (char const   )'=',      (char const   )'p',      (char const   )'o',      (char const   )'r', 
2335        (char const   )'t',      (char const   )':',      (char const   )'P',      (char const   )'a', 
2336        (char const   )'r',      (char const   )'a',      (char const   )'l',      (char const   )'l', 
2337        (char const   )'e',      (char const   )'l',      (char const   )' ',      (char const   )'p', 
2338        (char const   )'o',      (char const   )'r',      (char const   )'t',      (char const   )' ', 
2339        (char const   )'t',      (char const   )'h',      (char const   )'e',      (char const   )' ', 
2340        (char const   )'a',      (char const   )'d',      (char const   )'a',      (char const   )'p', 
2341        (char const   )'t',      (char const   )'e',      (char const   )'r',      (char const   )' ', 
2342        (char const   )'i',      (char const   )'s',      (char const   )' ',      (char const   )'c', 
2343        (char const   )'o',      (char const   )'n',      (char const   )'n',      (char const   )'e', 
2344        (char const   )'c',      (char const   )'t',      (char const   )'e',      (char const   )'d', 
2345        (char const   )' ',      (char const   )'t',      (char const   )'o',      (char const   )' ', 
2346        (char const   )'(',      (char const   )'d',      (char const   )'e',      (char const   )'f', 
2347        (char const   )'a',      (char const   )'u',      (char const   )'l',      (char const   )'t', 
2348        (char const   )' ',      (char const   )'i',      (char const   )'s',      (char const   )' ', 
2349        (char const   )'0',      (char const   )')',      (char const   )'\000'};
2350#line 62 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2351static unsigned int parkbd_mode  =    1U;
2352#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2353static char const   __param_str_mode[5]  = {      (char const   )'m',      (char const   )'o',      (char const   )'d',      (char const   )'e', 
2354        (char const   )'\000'};
2355#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2356static struct kernel_param  const  __param_mode  __attribute__((__used__, __unused__,
2357__section__("__param"), __aligned__(sizeof(void *))))  =    {__param_str_mode, (struct kernel_param_ops  const  *)(& param_ops_uint), (u16 )0,
2358    (s16 )0, {(void *)(& parkbd_mode)}};
2359#line 63 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2360static char const   __mod_modetype63[19]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2361__aligned__(1)))  = 
2362#line 63
2363  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
2364        (char const   )'t',      (char const   )'y',      (char const   )'p',      (char const   )'e', 
2365        (char const   )'=',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
2366        (char const   )'e',      (char const   )':',      (char const   )'u',      (char const   )'i', 
2367        (char const   )'n',      (char const   )'t',      (char const   )'\000'};
2368#line 64 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2369static char const   __mod_mode64[53]  __attribute__((__used__, __unused__, __section__(".modinfo"),
2370__aligned__(1)))  = 
2371#line 64
2372  {      (char const   )'p',      (char const   )'a',      (char const   )'r',      (char const   )'m', 
2373        (char const   )'=',      (char const   )'m',      (char const   )'o',      (char const   )'d', 
2374        (char const   )'e',      (char const   )':',      (char const   )'M',      (char const   )'o', 
2375        (char const   )'d',      (char const   )'e',      (char const   )' ',      (char const   )'o', 
2376        (char const   )'f',      (char const   )' ',      (char const   )'o',      (char const   )'p', 
2377        (char const   )'e',      (char const   )'r',      (char const   )'a',      (char const   )'t', 
2378        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )':', 
2379        (char const   )' ',      (char const   )'X',      (char const   )'T',      (char const   )' ', 
2380        (char const   )'=',      (char const   )' ',      (char const   )'0',      (char const   )'/', 
2381        (char const   )'A',      (char const   )'T',      (char const   )' ',      (char const   )'=', 
2382        (char const   )' ',      (char const   )'1',      (char const   )' ',      (char const   )'(', 
2383        (char const   )'d',      (char const   )'e',      (char const   )'f',      (char const   )'a', 
2384        (char const   )'u',      (char const   )'l',      (char const   )'t',      (char const   )')', 
2385        (char const   )'\000'};
2386#line 69 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2387static int parkbd_buffer  ;
2388#line 70 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2389static int parkbd_counter  ;
2390#line 71 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2391static unsigned long parkbd_last  ;
2392#line 72 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2393static int parkbd_writing  ;
2394#line 73 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2395static unsigned long parkbd_start  ;
2396#line 75 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2397static struct pardevice *parkbd_dev  ;
2398#line 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2399static struct serio *parkbd_port  ;
2400#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2401static int parkbd_readlines(void) 
2402{ unsigned char tmp ;
2403  unsigned long __cil_tmp2 ;
2404  unsigned long __cil_tmp3 ;
2405  struct parport *__cil_tmp4 ;
2406  unsigned long __cil_tmp5 ;
2407  unsigned long __cil_tmp6 ;
2408  struct parport_operations *__cil_tmp7 ;
2409  unsigned long __cil_tmp8 ;
2410  unsigned long __cil_tmp9 ;
2411  unsigned char (*__cil_tmp10)(struct parport * ) ;
2412  unsigned long __cil_tmp11 ;
2413  unsigned long __cil_tmp12 ;
2414  struct parport *__cil_tmp13 ;
2415  int __cil_tmp14 ;
2416  int __cil_tmp15 ;
2417
2418  {
2419  {
2420#line 80
2421  __cil_tmp2 = (unsigned long )parkbd_dev;
2422#line 80
2423  __cil_tmp3 = __cil_tmp2 + 8;
2424#line 80
2425  __cil_tmp4 = *((struct parport **)__cil_tmp3);
2426#line 80
2427  __cil_tmp5 = (unsigned long )__cil_tmp4;
2428#line 80
2429  __cil_tmp6 = __cil_tmp5 + 440;
2430#line 80
2431  __cil_tmp7 = *((struct parport_operations **)__cil_tmp6);
2432#line 80
2433  __cil_tmp8 = (unsigned long )__cil_tmp7;
2434#line 80
2435  __cil_tmp9 = __cil_tmp8 + 40;
2436#line 80
2437  __cil_tmp10 = *((unsigned char (**)(struct parport * ))__cil_tmp9);
2438#line 80
2439  __cil_tmp11 = (unsigned long )parkbd_dev;
2440#line 80
2441  __cil_tmp12 = __cil_tmp11 + 8;
2442#line 80
2443  __cil_tmp13 = *((struct parport **)__cil_tmp12);
2444#line 80
2445  tmp = (*__cil_tmp10)(__cil_tmp13);
2446  }
2447  {
2448#line 80
2449  __cil_tmp14 = (int )tmp;
2450#line 80
2451  __cil_tmp15 = __cil_tmp14 >> 6;
2452#line 80
2453  return (__cil_tmp15 ^ 2);
2454  }
2455}
2456}
2457#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2458static void parkbd_writelines(int data ) 
2459{ unsigned long __cil_tmp2 ;
2460  unsigned long __cil_tmp3 ;
2461  struct parport *__cil_tmp4 ;
2462  unsigned long __cil_tmp5 ;
2463  unsigned long __cil_tmp6 ;
2464  struct parport_operations *__cil_tmp7 ;
2465  unsigned long __cil_tmp8 ;
2466  unsigned long __cil_tmp9 ;
2467  void (*__cil_tmp10)(struct parport * , unsigned char  ) ;
2468  unsigned long __cil_tmp11 ;
2469  unsigned long __cil_tmp12 ;
2470  struct parport *__cil_tmp13 ;
2471  int __cil_tmp14 ;
2472  int __cil_tmp15 ;
2473  int __cil_tmp16 ;
2474  unsigned char __cil_tmp17 ;
2475
2476  {
2477  {
2478#line 85
2479  __cil_tmp2 = (unsigned long )parkbd_dev;
2480#line 85
2481  __cil_tmp3 = __cil_tmp2 + 8;
2482#line 85
2483  __cil_tmp4 = *((struct parport **)__cil_tmp3);
2484#line 85
2485  __cil_tmp5 = (unsigned long )__cil_tmp4;
2486#line 85
2487  __cil_tmp6 = __cil_tmp5 + 440;
2488#line 85
2489  __cil_tmp7 = *((struct parport_operations **)__cil_tmp6);
2490#line 85
2491  __cil_tmp8 = (unsigned long )__cil_tmp7;
2492#line 85
2493  __cil_tmp9 = __cil_tmp8 + 16;
2494#line 85
2495  __cil_tmp10 = *((void (**)(struct parport * , unsigned char  ))__cil_tmp9);
2496#line 85
2497  __cil_tmp11 = (unsigned long )parkbd_dev;
2498#line 85
2499  __cil_tmp12 = __cil_tmp11 + 8;
2500#line 85
2501  __cil_tmp13 = *((struct parport **)__cil_tmp12);
2502#line 85
2503  __cil_tmp14 = ~ data;
2504#line 85
2505  __cil_tmp15 = __cil_tmp14 & 3;
2506#line 85
2507  __cil_tmp16 = __cil_tmp15 | 16;
2508#line 85
2509  __cil_tmp17 = (unsigned char )__cil_tmp16;
2510#line 85
2511  (*__cil_tmp10)(__cil_tmp13, __cil_tmp17);
2512  }
2513#line 86
2514  return;
2515}
2516}
2517#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2518static int parkbd_write(struct serio *port , unsigned char c ) 
2519{ unsigned char p ;
2520  unsigned int *__cil_tmp4 ;
2521  unsigned int __cil_tmp5 ;
2522  int __cil_tmp6 ;
2523  int __cil_tmp7 ;
2524  int __cil_tmp8 ;
2525  int __cil_tmp9 ;
2526  int __cil_tmp10 ;
2527  int __cil_tmp11 ;
2528  int __cil_tmp12 ;
2529  int __cil_tmp13 ;
2530  int __cil_tmp14 ;
2531  int __cil_tmp15 ;
2532  int __cil_tmp16 ;
2533  int __cil_tmp17 ;
2534  int __cil_tmp18 ;
2535  int __cil_tmp19 ;
2536  int __cil_tmp20 ;
2537  int __cil_tmp21 ;
2538  int __cil_tmp22 ;
2539  int __cil_tmp23 ;
2540
2541  {
2542  {
2543#line 92
2544  __cil_tmp4 = & parkbd_mode;
2545#line 92
2546  __cil_tmp5 = *__cil_tmp4;
2547#line 92
2548  if (! __cil_tmp5) {
2549#line 92
2550    return (-1);
2551  } else {
2552
2553  }
2554  }
2555  {
2556#line 94
2557  __cil_tmp6 = (int )c;
2558#line 94
2559  __cil_tmp7 = __cil_tmp6 >> 4;
2560#line 94
2561  __cil_tmp8 = (int )c;
2562#line 94
2563  __cil_tmp9 = __cil_tmp8 ^ __cil_tmp7;
2564#line 94
2565  p = (unsigned char )__cil_tmp9;
2566#line 95
2567  __cil_tmp10 = (int )p;
2568#line 95
2569  __cil_tmp11 = __cil_tmp10 >> 2;
2570#line 95
2571  __cil_tmp12 = (int )p;
2572#line 95
2573  __cil_tmp13 = __cil_tmp12 ^ __cil_tmp11;
2574#line 95
2575  p = (unsigned char )__cil_tmp13;
2576#line 96
2577  __cil_tmp14 = (int )p;
2578#line 96
2579  __cil_tmp15 = __cil_tmp14 >> 1;
2580#line 96
2581  __cil_tmp16 = (int )p;
2582#line 96
2583  __cil_tmp17 = __cil_tmp16 ^ __cil_tmp15;
2584#line 96
2585  p = (unsigned char )__cil_tmp17;
2586#line 98
2587  parkbd_counter = 0;
2588#line 99
2589  parkbd_writing = 1;
2590#line 100
2591  __cil_tmp18 = (int )p;
2592#line 100
2593  __cil_tmp19 = ~ __cil_tmp18;
2594#line 100
2595  __cil_tmp20 = __cil_tmp19 & 1;
2596#line 100
2597  __cil_tmp21 = __cil_tmp20 << 8;
2598#line 100
2599  __cil_tmp22 = (int )c;
2600#line 100
2601  __cil_tmp23 = __cil_tmp22 | __cil_tmp21;
2602#line 100
2603  parkbd_buffer = __cil_tmp23 | 1536;
2604#line 102
2605  parkbd_writelines(2);
2606  }
2607#line 104
2608  return (0);
2609}
2610}
2611#line 107 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2612static void parkbd_interrupt(void *dev_id ) 
2613{ int tmp ;
2614  int tmp___0 ;
2615  int tmp___1 ;
2616  long __cil_tmp13 ;
2617  unsigned long __cil_tmp14 ;
2618  long __cil_tmp15 ;
2619  long __cil_tmp16 ;
2620  int __cil_tmp17 ;
2621  int __cil_tmp18 ;
2622  int __cil_tmp19 ;
2623  unsigned int *__cil_tmp20 ;
2624  unsigned int __cil_tmp21 ;
2625  unsigned int __cil_tmp22 ;
2626  unsigned int __cil_tmp23 ;
2627  long __cil_tmp24 ;
2628  unsigned long __cil_tmp25 ;
2629  long __cil_tmp26 ;
2630  long __cil_tmp27 ;
2631  int __cil_tmp28 ;
2632  int __cil_tmp29 ;
2633  unsigned int *__cil_tmp30 ;
2634  unsigned int __cil_tmp31 ;
2635  unsigned int __cil_tmp32 ;
2636  unsigned int __cil_tmp33 ;
2637  unsigned int *__cil_tmp34 ;
2638  unsigned int __cil_tmp35 ;
2639  unsigned int __cil_tmp36 ;
2640  int __cil_tmp37 ;
2641  int __cil_tmp38 ;
2642  unsigned char __cil_tmp39 ;
2643
2644  {
2645#line 110
2646  if (parkbd_writing) {
2647#line 112
2648    if (parkbd_counter) {
2649#line 112
2650      if (parkbd_counter == 11) {
2651        {
2652#line 113
2653        parkbd_counter = 0;
2654#line 114
2655        parkbd_buffer = 0;
2656#line 115
2657        parkbd_writing = 0;
2658#line 116
2659        parkbd_writelines(3);
2660        }
2661#line 117
2662        return;
2663      } else {
2664        {
2665#line 112
2666        __cil_tmp13 = (long )jiffies;
2667#line 112
2668        __cil_tmp14 = parkbd_last + 2UL;
2669#line 112
2670        __cil_tmp15 = (long )__cil_tmp14;
2671#line 112
2672        __cil_tmp16 = __cil_tmp15 - __cil_tmp13;
2673#line 112
2674        if (__cil_tmp16 < 0L) {
2675          {
2676#line 113
2677          parkbd_counter = 0;
2678#line 114
2679          parkbd_buffer = 0;
2680#line 115
2681          parkbd_writing = 0;
2682#line 116
2683          parkbd_writelines(3);
2684          }
2685#line 117
2686          return;
2687        } else {
2688
2689        }
2690        }
2691      }
2692    } else {
2693
2694    }
2695    {
2696#line 120
2697    tmp = parkbd_counter;
2698#line 120
2699    parkbd_counter = parkbd_counter + 1;
2700#line 120
2701    __cil_tmp17 = parkbd_buffer >> tmp;
2702#line 120
2703    __cil_tmp18 = __cil_tmp17 & 1;
2704#line 120
2705    __cil_tmp19 = __cil_tmp18 | 2;
2706#line 120
2707    parkbd_writelines(__cil_tmp19);
2708    }
2709#line 122
2710    if (parkbd_counter == 11) {
2711      {
2712#line 123
2713      parkbd_counter = 0;
2714#line 124
2715      parkbd_buffer = 0;
2716#line 125
2717      parkbd_writing = 0;
2718#line 126
2719      parkbd_writelines(3);
2720      }
2721    } else {
2722
2723    }
2724  } else {
2725    {
2726#line 131
2727    __cil_tmp20 = & parkbd_mode;
2728#line 131
2729    __cil_tmp21 = *__cil_tmp20;
2730#line 131
2731    __cil_tmp22 = __cil_tmp21 + 10U;
2732#line 131
2733    __cil_tmp23 = (unsigned int )parkbd_counter;
2734#line 131
2735    if (__cil_tmp23 == __cil_tmp22) {
2736#line 132
2737      parkbd_counter = 0;
2738#line 133
2739      parkbd_buffer = 0;
2740    } else {
2741      {
2742#line 131
2743      __cil_tmp24 = (long )jiffies;
2744#line 131
2745      __cil_tmp25 = parkbd_last + 2UL;
2746#line 131
2747      __cil_tmp26 = (long )__cil_tmp25;
2748#line 131
2749      __cil_tmp27 = __cil_tmp26 - __cil_tmp24;
2750#line 131
2751      if (__cil_tmp27 < 0L) {
2752#line 132
2753        parkbd_counter = 0;
2754#line 133
2755        parkbd_buffer = 0;
2756      } else {
2757
2758      }
2759      }
2760    }
2761    }
2762    {
2763#line 136
2764    tmp___0 = parkbd_readlines();
2765#line 136
2766    tmp___1 = parkbd_counter;
2767#line 136
2768    parkbd_counter = parkbd_counter + 1;
2769#line 136
2770    __cil_tmp28 = tmp___0 >> 1;
2771#line 136
2772    __cil_tmp29 = __cil_tmp28 << tmp___1;
2773#line 136
2774    parkbd_buffer = parkbd_buffer | __cil_tmp29;
2775    }
2776    {
2777#line 138
2778    __cil_tmp30 = & parkbd_mode;
2779#line 138
2780    __cil_tmp31 = *__cil_tmp30;
2781#line 138
2782    __cil_tmp32 = __cil_tmp31 + 10U;
2783#line 138
2784    __cil_tmp33 = (unsigned int )parkbd_counter;
2785#line 138
2786    if (__cil_tmp33 == __cil_tmp32) {
2787      {
2788#line 139
2789      __cil_tmp34 = & parkbd_mode;
2790#line 139
2791      __cil_tmp35 = *__cil_tmp34;
2792#line 139
2793      __cil_tmp36 = 2U - __cil_tmp35;
2794#line 139
2795      __cil_tmp37 = parkbd_buffer >> __cil_tmp36;
2796#line 139
2797      __cil_tmp38 = __cil_tmp37 & 255;
2798#line 139
2799      __cil_tmp39 = (unsigned char )__cil_tmp38;
2800#line 139
2801      serio_interrupt(parkbd_port, __cil_tmp39, 0U);
2802      }
2803    } else {
2804
2805    }
2806    }
2807  }
2808#line 142
2809  parkbd_last = (unsigned long )jiffies;
2810#line 143
2811  return;
2812}
2813}
2814#line 145 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2815static int parkbd_getport(void) 
2816{ struct parport *pp ;
2817  int tmp ;
2818  unsigned int *__cil_tmp3 ;
2819  unsigned int __cil_tmp4 ;
2820  int __cil_tmp5 ;
2821  void *__cil_tmp6 ;
2822  unsigned long __cil_tmp7 ;
2823  unsigned long __cil_tmp8 ;
2824  void *__cil_tmp9 ;
2825  int (*__cil_tmp10)(void * ) ;
2826  void *__cil_tmp11 ;
2827  void (*__cil_tmp12)(void * ) ;
2828  int __cil_tmp13 ;
2829  void *__cil_tmp14 ;
2830
2831  {
2832  {
2833#line 149
2834  __cil_tmp3 = & parkbd_pp_no;
2835#line 149
2836  __cil_tmp4 = *__cil_tmp3;
2837#line 149
2838  __cil_tmp5 = (int )__cil_tmp4;
2839#line 149
2840  pp = parport_find_number(__cil_tmp5);
2841  }
2842  {
2843#line 151
2844  __cil_tmp6 = (void *)0;
2845#line 151
2846  __cil_tmp7 = (unsigned long )__cil_tmp6;
2847#line 151
2848  __cil_tmp8 = (unsigned long )pp;
2849#line 151
2850  if (__cil_tmp8 == __cil_tmp7) {
2851    {
2852#line 152
2853    printk("<3>parkbd: no such parport\n");
2854    }
2855#line 153
2856    return (-19);
2857  } else {
2858
2859  }
2860  }
2861  {
2862#line 156
2863  __cil_tmp9 = (void *)0;
2864#line 156
2865  __cil_tmp10 = (int (*)(void * ))__cil_tmp9;
2866#line 156
2867  __cil_tmp11 = (void *)0;
2868#line 156
2869  __cil_tmp12 = (void (*)(void * ))__cil_tmp11;
2870#line 156
2871  __cil_tmp13 = 1 << 1;
2872#line 156
2873  __cil_tmp14 = (void *)0;
2874#line 156
2875  parkbd_dev = parport_register_device(pp, "parkbd", __cil_tmp10, __cil_tmp12, & parkbd_interrupt,
2876                                       __cil_tmp13, __cil_tmp14);
2877#line 157
2878  parport_put_port(pp);
2879  }
2880#line 159
2881  if (! parkbd_dev) {
2882#line 160
2883    return (-19);
2884  } else {
2885
2886  }
2887  {
2888#line 162
2889  tmp = parport_claim(parkbd_dev);
2890  }
2891#line 162
2892  if (tmp) {
2893    {
2894#line 163
2895    parport_unregister_device(parkbd_dev);
2896    }
2897#line 164
2898    return (-16);
2899  } else {
2900
2901  }
2902#line 167
2903  parkbd_start = (unsigned long )jiffies;
2904#line 169
2905  return (0);
2906}
2907}
2908#line 172
2909static struct serio *parkbd_allocate_serio(void)  __attribute__((__section__(".init.text"),
2910__no_instrument_function__)) ;
2911#line 172 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
2912static struct serio *parkbd_allocate_serio(void) 
2913{ struct serio *serio ;
2914  void *tmp ;
2915  unsigned long __cil_tmp3 ;
2916  unsigned long __cil_tmp4 ;
2917  unsigned int *__cil_tmp5 ;
2918  unsigned int __cil_tmp6 ;
2919  unsigned long __cil_tmp7 ;
2920  unsigned long __cil_tmp8 ;
2921  unsigned long __cil_tmp9 ;
2922  unsigned long __cil_tmp10 ;
2923  unsigned long __cil_tmp11 ;
2924  unsigned long __cil_tmp12 ;
2925  char *__cil_tmp13 ;
2926  unsigned long __cil_tmp14 ;
2927  unsigned long __cil_tmp15 ;
2928  unsigned long __cil_tmp16 ;
2929  unsigned long __cil_tmp17 ;
2930  char *__cil_tmp18 ;
2931  unsigned long __cil_tmp19 ;
2932  unsigned long __cil_tmp20 ;
2933  struct parport *__cil_tmp21 ;
2934  unsigned long __cil_tmp22 ;
2935  unsigned long __cil_tmp23 ;
2936  char const   *__cil_tmp24 ;
2937
2938  {
2939  {
2940#line 176
2941  tmp = kzalloc(1056UL, 208U);
2942#line 176
2943  serio = (struct serio *)tmp;
2944  }
2945#line 177
2946  if (serio) {
2947    {
2948#line 178
2949    __cil_tmp3 = (unsigned long )serio;
2950#line 178
2951    __cil_tmp4 = __cil_tmp3 + 73;
2952#line 178
2953    __cil_tmp5 = & parkbd_mode;
2954#line 178
2955    __cil_tmp6 = *__cil_tmp5;
2956#line 178
2957    *((__u8 *)__cil_tmp4) = (__u8 )__cil_tmp6;
2958#line 179
2959    __cil_tmp7 = (unsigned long )serio;
2960#line 179
2961    __cil_tmp8 = __cil_tmp7 + 104;
2962#line 179
2963    *((int (**)(struct serio * , unsigned char  ))__cil_tmp8) = & parkbd_write;
2964#line 179
2965    __cil_tmp9 = 0 * 1UL;
2966#line 179
2967    __cil_tmp10 = 8 + __cil_tmp9;
2968#line 179
2969    __cil_tmp11 = (unsigned long )serio;
2970#line 179
2971    __cil_tmp12 = __cil_tmp11 + __cil_tmp10;
2972#line 179
2973    __cil_tmp13 = (char *)__cil_tmp12;
2974#line 179
2975    strlcpy(__cil_tmp13, "PARKBD AT/XT keyboard adapter", 32UL);
2976#line 181
2977    __cil_tmp14 = 0 * 1UL;
2978#line 181
2979    __cil_tmp15 = 40 + __cil_tmp14;
2980#line 181
2981    __cil_tmp16 = (unsigned long )serio;
2982#line 181
2983    __cil_tmp17 = __cil_tmp16 + __cil_tmp15;
2984#line 181
2985    __cil_tmp18 = (char *)__cil_tmp17;
2986#line 181
2987    __cil_tmp19 = (unsigned long )parkbd_dev;
2988#line 181
2989    __cil_tmp20 = __cil_tmp19 + 8;
2990#line 181
2991    __cil_tmp21 = *((struct parport **)__cil_tmp20);
2992#line 181
2993    __cil_tmp22 = (unsigned long )__cil_tmp21;
2994#line 181
2995    __cil_tmp23 = __cil_tmp22 + 24;
2996#line 181
2997    __cil_tmp24 = *((char const   **)__cil_tmp23);
2998#line 181
2999    snprintf(__cil_tmp18, 32UL, "%s/serio0", __cil_tmp24);
3000    }
3001  } else {
3002
3003  }
3004#line 184
3005  return (serio);
3006}
3007}
3008#line 187
3009static int parkbd_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
3010#line 187 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
3011static int parkbd_init(void) 
3012{ int err ;
3013  char const   *tmp ;
3014  unsigned int *__cil_tmp3 ;
3015  unsigned long __cil_tmp4 ;
3016  unsigned long __cil_tmp5 ;
3017  struct parport *__cil_tmp6 ;
3018  unsigned long __cil_tmp7 ;
3019  unsigned long __cil_tmp8 ;
3020  char const   *__cil_tmp9 ;
3021
3022  {
3023  {
3024#line 191
3025  err = parkbd_getport();
3026  }
3027#line 192
3028  if (err) {
3029#line 193
3030    return (err);
3031  } else {
3032
3033  }
3034  {
3035#line 195
3036  parkbd_port = parkbd_allocate_serio();
3037  }
3038#line 196
3039  if (! parkbd_port) {
3040    {
3041#line 197
3042    parport_release(parkbd_dev);
3043    }
3044#line 198
3045    return (-12);
3046  } else {
3047
3048  }
3049  {
3050#line 201
3051  parkbd_writelines(3);
3052#line 203
3053  __serio_register_port(parkbd_port, & __this_module);
3054  }
3055  {
3056#line 205
3057  __cil_tmp3 = & parkbd_mode;
3058#line 205
3059  if (*__cil_tmp3) {
3060#line 205
3061    tmp = "AT";
3062  } else {
3063#line 205
3064    tmp = "XT";
3065  }
3066  }
3067  {
3068#line 205
3069  __cil_tmp4 = (unsigned long )parkbd_dev;
3070#line 205
3071  __cil_tmp5 = __cil_tmp4 + 8;
3072#line 205
3073  __cil_tmp6 = *((struct parport **)__cil_tmp5);
3074#line 205
3075  __cil_tmp7 = (unsigned long )__cil_tmp6;
3076#line 205
3077  __cil_tmp8 = __cil_tmp7 + 24;
3078#line 205
3079  __cil_tmp9 = *((char const   **)__cil_tmp8);
3080#line 205
3081  printk("<6>serio: PARKBD %s adapter on %s\n", tmp, __cil_tmp9);
3082  }
3083#line 208
3084  return (0);
3085}
3086}
3087#line 211
3088static void parkbd_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
3089#line 211 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
3090static void parkbd_exit(void) 
3091{ 
3092
3093  {
3094  {
3095#line 213
3096  parport_release(parkbd_dev);
3097#line 214
3098  serio_unregister_port(parkbd_port);
3099#line 215
3100  parport_unregister_device(parkbd_dev);
3101  }
3102#line 216
3103  return;
3104}
3105}
3106#line 218 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
3107int init_module(void) 
3108{ int tmp ;
3109
3110  {
3111  {
3112#line 218
3113  tmp = parkbd_init();
3114  }
3115#line 218
3116  return (tmp);
3117}
3118}
3119#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
3120void cleanup_module(void) 
3121{ 
3122
3123  {
3124  {
3125#line 219
3126  parkbd_exit();
3127  }
3128#line 219
3129  return;
3130}
3131}
3132#line 237
3133void ldv_check_final_state(void) ;
3134#line 243
3135extern void ldv_initialize(void) ;
3136#line 246
3137extern int __VERIFIER_nondet_int(void) ;
3138#line 249 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
3139int LDV_IN_INTERRUPT  ;
3140#line 252 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
3141void main(void) 
3142{ int tmp ;
3143  int tmp___0 ;
3144  int tmp___1 ;
3145
3146  {
3147  {
3148#line 264
3149  LDV_IN_INTERRUPT = 1;
3150#line 273
3151  ldv_initialize();
3152#line 282
3153  tmp = parkbd_init();
3154  }
3155#line 282
3156  if (tmp) {
3157#line 283
3158    goto ldv_final;
3159  } else {
3160
3161  }
3162  {
3163#line 285
3164  while (1) {
3165    while_continue: /* CIL Label */ ;
3166    {
3167#line 285
3168    tmp___1 = __VERIFIER_nondet_int();
3169    }
3170#line 285
3171    if (tmp___1) {
3172
3173    } else {
3174#line 285
3175      goto while_break;
3176    }
3177    {
3178#line 288
3179    tmp___0 = __VERIFIER_nondet_int();
3180    }
3181    {
3182#line 290
3183    goto switch_default;
3184#line 288
3185    if (0) {
3186      switch_default: /* CIL Label */ 
3187#line 290
3188      goto switch_break;
3189    } else {
3190      switch_break: /* CIL Label */ ;
3191    }
3192    }
3193  }
3194  while_break: /* CIL Label */ ;
3195  }
3196  {
3197#line 305
3198  parkbd_exit();
3199  }
3200  ldv_final: 
3201  {
3202#line 308
3203  ldv_check_final_state();
3204  }
3205#line 311
3206  return;
3207}
3208}
3209#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
3210void ldv_blast_assert(void) 
3211{ 
3212
3213  {
3214  ERROR: 
3215#line 6
3216  goto ERROR;
3217}
3218}
3219#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
3220extern int __VERIFIER_nondet_int(void) ;
3221#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3222int ldv_mutex  =    1;
3223#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3224int __attribute__((__warn_unused_result__))  mutex_lock_interruptible(struct mutex *lock ) 
3225{ int nondetermined ;
3226
3227  {
3228#line 29
3229  if (ldv_mutex == 1) {
3230
3231  } else {
3232    {
3233#line 29
3234    ldv_blast_assert();
3235    }
3236  }
3237  {
3238#line 32
3239  nondetermined = __VERIFIER_nondet_int();
3240  }
3241#line 35
3242  if (nondetermined) {
3243#line 38
3244    ldv_mutex = 2;
3245#line 40
3246    return (0);
3247  } else {
3248#line 45
3249    return (-4);
3250  }
3251}
3252}
3253#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3254int __attribute__((__warn_unused_result__))  mutex_lock_killable(struct mutex *lock ) 
3255{ int nondetermined ;
3256
3257  {
3258#line 57
3259  if (ldv_mutex == 1) {
3260
3261  } else {
3262    {
3263#line 57
3264    ldv_blast_assert();
3265    }
3266  }
3267  {
3268#line 60
3269  nondetermined = __VERIFIER_nondet_int();
3270  }
3271#line 63
3272  if (nondetermined) {
3273#line 66
3274    ldv_mutex = 2;
3275#line 68
3276    return (0);
3277  } else {
3278#line 73
3279    return (-4);
3280  }
3281}
3282}
3283#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3284int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) 
3285{ int atomic_value_after_dec ;
3286
3287  {
3288#line 83
3289  if (ldv_mutex == 1) {
3290
3291  } else {
3292    {
3293#line 83
3294    ldv_blast_assert();
3295    }
3296  }
3297  {
3298#line 86
3299  atomic_value_after_dec = __VERIFIER_nondet_int();
3300  }
3301#line 89
3302  if (atomic_value_after_dec == 0) {
3303#line 92
3304    ldv_mutex = 2;
3305#line 94
3306    return (1);
3307  } else {
3308
3309  }
3310#line 98
3311  return (0);
3312}
3313}
3314#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3315void mutex_lock(struct mutex *lock ) 
3316{ 
3317
3318  {
3319#line 108
3320  if (ldv_mutex == 1) {
3321
3322  } else {
3323    {
3324#line 108
3325    ldv_blast_assert();
3326    }
3327  }
3328#line 110
3329  ldv_mutex = 2;
3330#line 111
3331  return;
3332}
3333}
3334#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3335int mutex_trylock(struct mutex *lock ) 
3336{ int nondetermined ;
3337
3338  {
3339#line 121
3340  if (ldv_mutex == 1) {
3341
3342  } else {
3343    {
3344#line 121
3345    ldv_blast_assert();
3346    }
3347  }
3348  {
3349#line 124
3350  nondetermined = __VERIFIER_nondet_int();
3351  }
3352#line 127
3353  if (nondetermined) {
3354#line 130
3355    ldv_mutex = 2;
3356#line 132
3357    return (1);
3358  } else {
3359#line 137
3360    return (0);
3361  }
3362}
3363}
3364#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3365void mutex_unlock(struct mutex *lock ) 
3366{ 
3367
3368  {
3369#line 147
3370  if (ldv_mutex == 2) {
3371
3372  } else {
3373    {
3374#line 147
3375    ldv_blast_assert();
3376    }
3377  }
3378#line 149
3379  ldv_mutex = 1;
3380#line 150
3381  return;
3382}
3383}
3384#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
3385void ldv_check_final_state(void) 
3386{ 
3387
3388  {
3389#line 156
3390  if (ldv_mutex == 1) {
3391
3392  } else {
3393    {
3394#line 156
3395    ldv_blast_assert();
3396    }
3397  }
3398#line 157
3399  return;
3400}
3401}
3402#line 320 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/4215/dscv_tempdir/dscv/ri/32_1/drivers/input/serio/parkbd.c.common.c"
3403long s__builtin_expect(long val , long res ) 
3404{ 
3405
3406  {
3407#line 321
3408  return (val);
3409}
3410}