Showing error 319

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