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