1
2
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 ( 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: ;
2432#line 39
2433 goto while_break;
2434 }
2435 while_break: ;
2436 }
2437 {
2438#line 41
2439 while (1) {
2440 while_continue___0: ;
2441#line 41
2442 goto while_break___0;
2443 }
2444 while_break___0: ;
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: ;
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:
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:
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:
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:
3157#line 431
3158 goto switch_break;
3159 } else {
3160 switch_break: ;
3161 }
3162 }
3163 }
3164 }
3165 while_break: ;
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}