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 76 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2142struct twidjoy_button_spec {
2143 int bitshift ;
2144 int bitmask ;
2145 int buttons[3U] ;
2146};
2147#line 89 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2148struct twidjoy {
2149 struct input_dev *dev ;
2150 int idx ;
2151 unsigned char data[5U] ;
2152 char phys[32U] ;
2153};
2154#line 2
2155void ldv_spin_lock(void) ;
2156#line 3
2157void ldv_spin_unlock(void) ;
2158#line 4
2159int ldv_spin_trylock(void) ;
2160#line 60 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2161__inline static void set_bit(unsigned int nr , unsigned long volatile *addr )
2162{ long volatile *__cil_tmp3 ;
2163
2164 {
2165#line 68
2166 __cil_tmp3 = (long volatile *)addr;
2167#line 68
2168 __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");
2169#line 70
2170 return;
2171}
2172}
2173#line 323 "include/linux/kernel.h"
2174extern int snprintf(char * , size_t , char const * , ...) ;
2175#line 26 "include/linux/export.h"
2176extern struct module __this_module ;
2177#line 161 "include/linux/slab.h"
2178extern void kfree(void const * ) ;
2179#line 220 "include/linux/slub_def.h"
2180extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2181#line 223
2182void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2183#line 353 "include/linux/slab.h"
2184__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2185#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2186extern void *__VERIFIER_nondet_pointer(void) ;
2187#line 11
2188void ldv_check_alloc_flags(gfp_t flags ) ;
2189#line 12
2190void ldv_check_alloc_nonatomic(void) ;
2191#line 14
2192struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2193#line 792 "include/linux/device.h"
2194extern void *dev_get_drvdata(struct device const * ) ;
2195#line 793
2196extern int dev_set_drvdata(struct device * , void * ) ;
2197#line 1456 "include/linux/input.h"
2198extern struct input_dev *input_allocate_device(void) ;
2199#line 1457
2200extern void input_free_device(struct input_dev * ) ;
2201#line 1480
2202extern int input_register_device(struct input_dev * ) ;
2203#line 1481
2204extern void input_unregister_device(struct input_dev * ) ;
2205#line 1502
2206extern void input_event(struct input_dev * , unsigned int , unsigned int , int ) ;
2207#line 1505 "include/linux/input.h"
2208__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2209 int value )
2210{ int __cil_tmp4 ;
2211
2212 {
2213 {
2214#line 1507
2215 __cil_tmp4 = value != 0;
2216#line 1507
2217 input_event(dev, 1U, code, __cil_tmp4);
2218 }
2219#line 1508
2220 return;
2221}
2222}
2223#line 1515 "include/linux/input.h"
2224__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2225 int value )
2226{
2227
2228 {
2229 {
2230#line 1517
2231 input_event(dev, 3U, code, value);
2232 }
2233#line 1518
2234 return;
2235}
2236}
2237#line 1530 "include/linux/input.h"
2238__inline static void input_sync(struct input_dev *dev )
2239{
2240
2241 {
2242 {
2243#line 1532
2244 input_event(dev, 0U, 0U, 0);
2245 }
2246#line 1533
2247 return;
2248}
2249}
2250#line 1558
2251extern void input_set_abs_params(struct input_dev * , unsigned int , int , int ,
2252 int , int ) ;
2253#line 75 "include/linux/serio.h"
2254extern int serio_open(struct serio * , struct serio_driver * ) ;
2255#line 76
2256extern void serio_close(struct serio * ) ;
2257#line 90
2258extern int __serio_register_driver(struct serio_driver * , struct module * , char const * ) ;
2259#line 97
2260extern void serio_unregister_driver(struct serio_driver * ) ;
2261#line 117 "include/linux/serio.h"
2262__inline static void *serio_get_drvdata(struct serio *serio )
2263{ void *tmp ;
2264 unsigned long __cil_tmp3 ;
2265 unsigned long __cil_tmp4 ;
2266 struct device *__cil_tmp5 ;
2267 struct device const *__cil_tmp6 ;
2268
2269 {
2270 {
2271#line 119
2272 __cil_tmp3 = (unsigned long )serio;
2273#line 119
2274 __cil_tmp4 = __cil_tmp3 + 416;
2275#line 119
2276 __cil_tmp5 = (struct device *)__cil_tmp4;
2277#line 119
2278 __cil_tmp6 = (struct device const *)__cil_tmp5;
2279#line 119
2280 tmp = dev_get_drvdata(__cil_tmp6);
2281 }
2282#line 119
2283 return (tmp);
2284}
2285}
2286#line 122 "include/linux/serio.h"
2287__inline static void serio_set_drvdata(struct serio *serio , void *data )
2288{ unsigned long __cil_tmp3 ;
2289 unsigned long __cil_tmp4 ;
2290 struct device *__cil_tmp5 ;
2291
2292 {
2293 {
2294#line 124
2295 __cil_tmp3 = (unsigned long )serio;
2296#line 124
2297 __cil_tmp4 = __cil_tmp3 + 416;
2298#line 124
2299 __cil_tmp5 = (struct device *)__cil_tmp4;
2300#line 124
2301 dev_set_drvdata(__cil_tmp5, data);
2302 }
2303#line 125
2304 return;
2305}
2306}
2307#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2308static struct twidjoy_button_spec twidjoy_buttons[11U] =
2309#line 88 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2310 { {0, 3, {304, 305, 306}},
2311 {2, 3, {307, 308, 309}},
2312 {4, 3, {310, 311, 313}},
2313 {6, 3, {314, 315, 316}},
2314 {8, 1, {298, 0, 0}},
2315 {9, 1, {294, 0, 0}},
2316 {10, 1, {296, 0, 0}},
2317 {11, 1, {297, 0, 0}},
2318 {12, 1, {295, 0, 0}},
2319 {13, 1, {299, 0, 0}},
2320 {0, 0, {0, 0, 0}}};
2321#line 118 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2322static void twidjoy_process_packet(struct twidjoy *twidjoy )
2323{ struct input_dev *dev ;
2324 unsigned char *data ;
2325 struct twidjoy_button_spec *bp ;
2326 int button_bits ;
2327 int abs_x ;
2328 int abs_y ;
2329 int value ;
2330 int i ;
2331 unsigned long __cil_tmp10 ;
2332 unsigned long __cil_tmp11 ;
2333 unsigned char (*__cil_tmp12)[5U] ;
2334 unsigned char __cil_tmp13 ;
2335 int __cil_tmp14 ;
2336 int __cil_tmp15 ;
2337 unsigned char *__cil_tmp16 ;
2338 unsigned char __cil_tmp17 ;
2339 int __cil_tmp18 ;
2340 int __cil_tmp19 ;
2341 int __cil_tmp20 ;
2342 int __cil_tmp21 ;
2343 int __cil_tmp22 ;
2344 unsigned long __cil_tmp23 ;
2345 unsigned long __cil_tmp24 ;
2346 int __cil_tmp25 ;
2347 int __cil_tmp26 ;
2348 int __cil_tmp27 ;
2349 unsigned long __cil_tmp28 ;
2350 unsigned long __cil_tmp29 ;
2351 unsigned long __cil_tmp30 ;
2352 unsigned long __cil_tmp31 ;
2353 int __cil_tmp32 ;
2354 unsigned int __cil_tmp33 ;
2355 int __cil_tmp34 ;
2356 int __cil_tmp35 ;
2357 unsigned long __cil_tmp36 ;
2358 unsigned long __cil_tmp37 ;
2359 int __cil_tmp38 ;
2360 unsigned long __cil_tmp39 ;
2361 unsigned long __cil_tmp40 ;
2362 int __cil_tmp41 ;
2363 unsigned char *__cil_tmp42 ;
2364 unsigned char __cil_tmp43 ;
2365 int __cil_tmp44 ;
2366 int __cil_tmp45 ;
2367 int __cil_tmp46 ;
2368 unsigned char *__cil_tmp47 ;
2369 unsigned char __cil_tmp48 ;
2370 int __cil_tmp49 ;
2371 int __cil_tmp50 ;
2372 int __cil_tmp51 ;
2373 unsigned char *__cil_tmp52 ;
2374 unsigned char __cil_tmp53 ;
2375 int __cil_tmp54 ;
2376 int __cil_tmp55 ;
2377 unsigned char *__cil_tmp56 ;
2378 unsigned char __cil_tmp57 ;
2379 int __cil_tmp58 ;
2380 int __cil_tmp59 ;
2381 unsigned char *__cil_tmp60 ;
2382 unsigned char __cil_tmp61 ;
2383 int __cil_tmp62 ;
2384 int __cil_tmp63 ;
2385 int __cil_tmp64 ;
2386 unsigned char *__cil_tmp65 ;
2387 unsigned char __cil_tmp66 ;
2388 int __cil_tmp67 ;
2389 int __cil_tmp68 ;
2390 int __cil_tmp69 ;
2391
2392 {
2393#line 120
2394 dev = *((struct input_dev **)twidjoy);
2395#line 121
2396 __cil_tmp10 = (unsigned long )twidjoy;
2397#line 121
2398 __cil_tmp11 = __cil_tmp10 + 12;
2399#line 121
2400 __cil_tmp12 = (unsigned char (*)[5U])__cil_tmp11;
2401#line 121
2402 data = (unsigned char *)__cil_tmp12;
2403#line 125
2404 __cil_tmp13 = *data;
2405#line 125
2406 __cil_tmp14 = (int )__cil_tmp13;
2407#line 125
2408 __cil_tmp15 = __cil_tmp14 & 127;
2409#line 125
2410 __cil_tmp16 = data + 1UL;
2411#line 125
2412 __cil_tmp17 = *__cil_tmp16;
2413#line 125
2414 __cil_tmp18 = (int )__cil_tmp17;
2415#line 125
2416 __cil_tmp19 = __cil_tmp18 & 127;
2417#line 125
2418 __cil_tmp20 = __cil_tmp19 << 7;
2419#line 125
2420 button_bits = __cil_tmp20 | __cil_tmp15;
2421#line 127
2422 bp = (struct twidjoy_button_spec *)(& twidjoy_buttons);
2423#line 127
2424 goto ldv_20740;
2425 ldv_20739:
2426#line 128
2427 __cil_tmp21 = *((int *)bp);
2428#line 128
2429 __cil_tmp22 = *((int *)bp);
2430#line 128
2431 __cil_tmp23 = (unsigned long )bp;
2432#line 128
2433 __cil_tmp24 = __cil_tmp23 + 4;
2434#line 128
2435 __cil_tmp25 = *((int *)__cil_tmp24);
2436#line 128
2437 __cil_tmp26 = __cil_tmp25 << __cil_tmp22;
2438#line 128
2439 __cil_tmp27 = __cil_tmp26 & button_bits;
2440#line 128
2441 value = __cil_tmp27 >> __cil_tmp21;
2442#line 131
2443 i = 0;
2444#line 131
2445 goto ldv_20737;
2446 ldv_20736:
2447 {
2448#line 132
2449 __cil_tmp28 = i * 4UL;
2450#line 132
2451 __cil_tmp29 = 8 + __cil_tmp28;
2452#line 132
2453 __cil_tmp30 = (unsigned long )bp;
2454#line 132
2455 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
2456#line 132
2457 __cil_tmp32 = *((int *)__cil_tmp31);
2458#line 132
2459 __cil_tmp33 = (unsigned int )__cil_tmp32;
2460#line 132
2461 __cil_tmp34 = i + 1;
2462#line 132
2463 __cil_tmp35 = __cil_tmp34 == value;
2464#line 132
2465 input_report_key(dev, __cil_tmp33, __cil_tmp35);
2466#line 131
2467 i = i + 1;
2468 }
2469 ldv_20737: ;
2470 {
2471#line 131
2472 __cil_tmp36 = (unsigned long )bp;
2473#line 131
2474 __cil_tmp37 = __cil_tmp36 + 4;
2475#line 131
2476 __cil_tmp38 = *((int *)__cil_tmp37);
2477#line 131
2478 if (__cil_tmp38 > i) {
2479#line 132
2480 goto ldv_20736;
2481 } else {
2482#line 134
2483 goto ldv_20738;
2484 }
2485 }
2486 ldv_20738:
2487#line 127
2488 bp = bp + 1;
2489 ldv_20740: ;
2490 {
2491#line 127
2492 __cil_tmp39 = (unsigned long )bp;
2493#line 127
2494 __cil_tmp40 = __cil_tmp39 + 4;
2495#line 127
2496 __cil_tmp41 = *((int *)__cil_tmp40);
2497#line 127
2498 if (__cil_tmp41 != 0) {
2499#line 128
2500 goto ldv_20739;
2501 } else {
2502#line 130
2503 goto ldv_20741;
2504 }
2505 }
2506 ldv_20741:
2507#line 135
2508 __cil_tmp42 = data + 3UL;
2509#line 135
2510 __cil_tmp43 = *__cil_tmp42;
2511#line 135
2512 __cil_tmp44 = (int )__cil_tmp43;
2513#line 135
2514 __cil_tmp45 = __cil_tmp44 & 124;
2515#line 135
2516 __cil_tmp46 = __cil_tmp45 >> 2;
2517#line 135
2518 __cil_tmp47 = data + 4UL;
2519#line 135
2520 __cil_tmp48 = *__cil_tmp47;
2521#line 135
2522 __cil_tmp49 = (int )__cil_tmp48;
2523#line 135
2524 __cil_tmp50 = __cil_tmp49 << 5;
2525#line 135
2526 __cil_tmp51 = __cil_tmp50 & 255;
2527#line 135
2528 abs_x = __cil_tmp51 | __cil_tmp46;
2529 {
2530#line 136
2531 __cil_tmp52 = data + 4UL;
2532#line 136
2533 __cil_tmp53 = *__cil_tmp52;
2534#line 136
2535 __cil_tmp54 = (int )__cil_tmp53;
2536#line 136
2537 __cil_tmp55 = __cil_tmp54 & 8;
2538#line 136
2539 if (__cil_tmp55 != 0) {
2540#line 136
2541 abs_x = abs_x + -256;
2542 } else {
2543
2544 }
2545 }
2546#line 138
2547 __cil_tmp56 = data + 2UL;
2548#line 138
2549 __cil_tmp57 = *__cil_tmp56;
2550#line 138
2551 __cil_tmp58 = (int )__cil_tmp57;
2552#line 138
2553 __cil_tmp59 = __cil_tmp58 & 127;
2554#line 138
2555 __cil_tmp60 = data + 3UL;
2556#line 138
2557 __cil_tmp61 = *__cil_tmp60;
2558#line 138
2559 __cil_tmp62 = (int )__cil_tmp61;
2560#line 138
2561 __cil_tmp63 = __cil_tmp62 << 7;
2562#line 138
2563 __cil_tmp64 = __cil_tmp63 & 255;
2564#line 138
2565 abs_y = __cil_tmp64 | __cil_tmp59;
2566 {
2567#line 139
2568 __cil_tmp65 = data + 3UL;
2569#line 139
2570 __cil_tmp66 = *__cil_tmp65;
2571#line 139
2572 __cil_tmp67 = (int )__cil_tmp66;
2573#line 139
2574 __cil_tmp68 = __cil_tmp67 & 2;
2575#line 139
2576 if (__cil_tmp68 != 0) {
2577#line 139
2578 abs_y = abs_y + -256;
2579 } else {
2580
2581 }
2582 }
2583 {
2584#line 141
2585 __cil_tmp69 = - abs_x;
2586#line 141
2587 input_report_abs(dev, 0U, __cil_tmp69);
2588#line 142
2589 input_report_abs(dev, 1U, abs_y);
2590#line 144
2591 input_sync(dev);
2592 }
2593#line 145
2594 return;
2595}
2596}
2597#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2598static irqreturn_t twidjoy_interrupt(struct serio *serio , unsigned char data , unsigned int flags )
2599{ struct twidjoy *twidjoy ;
2600 void *tmp ;
2601 int tmp___0 ;
2602 signed char __cil_tmp7 ;
2603 int __cil_tmp8 ;
2604 unsigned long __cil_tmp9 ;
2605 unsigned long __cil_tmp10 ;
2606 unsigned long __cil_tmp11 ;
2607 unsigned long __cil_tmp12 ;
2608 int __cil_tmp13 ;
2609 unsigned long __cil_tmp14 ;
2610 unsigned long __cil_tmp15 ;
2611 int __cil_tmp16 ;
2612 unsigned long __cil_tmp17 ;
2613 unsigned long __cil_tmp18 ;
2614 unsigned long __cil_tmp19 ;
2615 unsigned long __cil_tmp20 ;
2616 unsigned long __cil_tmp21 ;
2617 unsigned long __cil_tmp22 ;
2618 int __cil_tmp23 ;
2619 unsigned long __cil_tmp24 ;
2620 unsigned long __cil_tmp25 ;
2621 unsigned long __cil_tmp26 ;
2622 unsigned long __cil_tmp27 ;
2623 unsigned long __cil_tmp28 ;
2624 unsigned long __cil_tmp29 ;
2625 int __cil_tmp30 ;
2626 unsigned long __cil_tmp31 ;
2627 unsigned long __cil_tmp32 ;
2628
2629 {
2630 {
2631#line 155
2632 tmp = serio_get_drvdata(serio);
2633#line 155
2634 twidjoy = (struct twidjoy *)tmp;
2635 }
2636 {
2637#line 161
2638 __cil_tmp7 = (signed char )data;
2639#line 161
2640 __cil_tmp8 = (int )__cil_tmp7;
2641#line 161
2642 if (__cil_tmp8 >= 0) {
2643#line 162
2644 __cil_tmp9 = (unsigned long )twidjoy;
2645#line 162
2646 __cil_tmp10 = __cil_tmp9 + 8;
2647#line 162
2648 *((int *)__cil_tmp10) = 0;
2649 } else {
2650 {
2651#line 163
2652 __cil_tmp11 = (unsigned long )twidjoy;
2653#line 163
2654 __cil_tmp12 = __cil_tmp11 + 8;
2655#line 163
2656 __cil_tmp13 = *((int *)__cil_tmp12);
2657#line 163
2658 if (__cil_tmp13 == 0) {
2659#line 164
2660 return ((irqreturn_t )1);
2661 } else {
2662
2663 }
2664 }
2665 }
2666 }
2667 {
2668#line 166
2669 __cil_tmp14 = (unsigned long )twidjoy;
2670#line 166
2671 __cil_tmp15 = __cil_tmp14 + 8;
2672#line 166
2673 __cil_tmp16 = *((int *)__cil_tmp15);
2674#line 166
2675 if (__cil_tmp16 <= 4) {
2676#line 167
2677 __cil_tmp17 = (unsigned long )twidjoy;
2678#line 167
2679 __cil_tmp18 = __cil_tmp17 + 8;
2680#line 167
2681 tmp___0 = *((int *)__cil_tmp18);
2682#line 167
2683 __cil_tmp19 = (unsigned long )twidjoy;
2684#line 167
2685 __cil_tmp20 = __cil_tmp19 + 8;
2686#line 167
2687 __cil_tmp21 = (unsigned long )twidjoy;
2688#line 167
2689 __cil_tmp22 = __cil_tmp21 + 8;
2690#line 167
2691 __cil_tmp23 = *((int *)__cil_tmp22);
2692#line 167
2693 *((int *)__cil_tmp20) = __cil_tmp23 + 1;
2694#line 167
2695 __cil_tmp24 = tmp___0 * 1UL;
2696#line 167
2697 __cil_tmp25 = 12 + __cil_tmp24;
2698#line 167
2699 __cil_tmp26 = (unsigned long )twidjoy;
2700#line 167
2701 __cil_tmp27 = __cil_tmp26 + __cil_tmp25;
2702#line 167
2703 *((unsigned char *)__cil_tmp27) = data;
2704 } else {
2705
2706 }
2707 }
2708 {
2709#line 169
2710 __cil_tmp28 = (unsigned long )twidjoy;
2711#line 169
2712 __cil_tmp29 = __cil_tmp28 + 8;
2713#line 169
2714 __cil_tmp30 = *((int *)__cil_tmp29);
2715#line 169
2716 if (__cil_tmp30 == 5) {
2717 {
2718#line 170
2719 twidjoy_process_packet(twidjoy);
2720#line 171
2721 __cil_tmp31 = (unsigned long )twidjoy;
2722#line 171
2723 __cil_tmp32 = __cil_tmp31 + 8;
2724#line 171
2725 *((int *)__cil_tmp32) = 0;
2726 }
2727 } else {
2728
2729 }
2730 }
2731#line 174
2732 return ((irqreturn_t )1);
2733}
2734}
2735#line 181 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2736static void twidjoy_disconnect(struct serio *serio )
2737{ struct twidjoy *twidjoy ;
2738 void *tmp ;
2739 void *__cil_tmp4 ;
2740 struct input_dev *__cil_tmp5 ;
2741 void const *__cil_tmp6 ;
2742
2743 {
2744 {
2745#line 183
2746 tmp = serio_get_drvdata(serio);
2747#line 183
2748 twidjoy = (struct twidjoy *)tmp;
2749#line 185
2750 serio_close(serio);
2751#line 186
2752 __cil_tmp4 = (void *)0;
2753#line 186
2754 serio_set_drvdata(serio, __cil_tmp4);
2755#line 187
2756 __cil_tmp5 = *((struct input_dev **)twidjoy);
2757#line 187
2758 input_unregister_device(__cil_tmp5);
2759#line 188
2760 __cil_tmp6 = (void const *)twidjoy;
2761#line 188
2762 kfree(__cil_tmp6);
2763 }
2764#line 189
2765 return;
2766}
2767}
2768#line 197 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
2769static int twidjoy_connect(struct serio *serio , struct serio_driver *drv )
2770{ struct twidjoy_button_spec *bp ;
2771 struct twidjoy *twidjoy ;
2772 struct input_dev *input_dev ;
2773 int err ;
2774 int i ;
2775 void *tmp ;
2776 struct twidjoy *__cil_tmp9 ;
2777 unsigned long __cil_tmp10 ;
2778 unsigned long __cil_tmp11 ;
2779 struct input_dev *__cil_tmp12 ;
2780 unsigned long __cil_tmp13 ;
2781 unsigned long __cil_tmp14 ;
2782 unsigned long __cil_tmp15 ;
2783 unsigned long __cil_tmp16 ;
2784 char (*__cil_tmp17)[32U] ;
2785 char *__cil_tmp18 ;
2786 unsigned long __cil_tmp19 ;
2787 unsigned long __cil_tmp20 ;
2788 char (*__cil_tmp21)[32U] ;
2789 char *__cil_tmp22 ;
2790 unsigned long __cil_tmp23 ;
2791 unsigned long __cil_tmp24 ;
2792 unsigned long __cil_tmp25 ;
2793 unsigned long __cil_tmp26 ;
2794 char (*__cil_tmp27)[32U] ;
2795 unsigned long __cil_tmp28 ;
2796 unsigned long __cil_tmp29 ;
2797 unsigned long __cil_tmp30 ;
2798 unsigned long __cil_tmp31 ;
2799 unsigned long __cil_tmp32 ;
2800 unsigned long __cil_tmp33 ;
2801 unsigned long __cil_tmp34 ;
2802 unsigned long __cil_tmp35 ;
2803 unsigned long __cil_tmp36 ;
2804 unsigned long __cil_tmp37 ;
2805 unsigned long __cil_tmp38 ;
2806 unsigned long __cil_tmp39 ;
2807 unsigned long __cil_tmp40 ;
2808 unsigned long __cil_tmp41 ;
2809 unsigned long __cil_tmp42 ;
2810 unsigned long __cil_tmp43 ;
2811 unsigned long __cil_tmp44 ;
2812 unsigned long __cil_tmp45 ;
2813 unsigned long __cil_tmp46 ;
2814 unsigned long __cil_tmp47 ;
2815 unsigned long __cil_tmp48 ;
2816 unsigned long __cil_tmp49 ;
2817 unsigned long __cil_tmp50 ;
2818 int __cil_tmp51 ;
2819 unsigned int __cil_tmp52 ;
2820 unsigned long __cil_tmp53 ;
2821 unsigned long __cil_tmp54 ;
2822 unsigned long (*__cil_tmp55)[12U] ;
2823 unsigned long volatile *__cil_tmp56 ;
2824 unsigned long __cil_tmp57 ;
2825 unsigned long __cil_tmp58 ;
2826 int __cil_tmp59 ;
2827 unsigned long __cil_tmp60 ;
2828 unsigned long __cil_tmp61 ;
2829 int __cil_tmp62 ;
2830 void *__cil_tmp63 ;
2831 struct input_dev *__cil_tmp64 ;
2832 void *__cil_tmp65 ;
2833 void const *__cil_tmp66 ;
2834
2835 {
2836 {
2837#line 202
2838 err = -12;
2839#line 205
2840 tmp = kzalloc(56UL, 208U);
2841#line 205
2842 twidjoy = (struct twidjoy *)tmp;
2843#line 206
2844 input_dev = input_allocate_device();
2845 }
2846 {
2847#line 207
2848 __cil_tmp9 = (struct twidjoy *)0;
2849#line 207
2850 __cil_tmp10 = (unsigned long )__cil_tmp9;
2851#line 207
2852 __cil_tmp11 = (unsigned long )twidjoy;
2853#line 207
2854 if (__cil_tmp11 == __cil_tmp10) {
2855#line 208
2856 goto fail1;
2857 } else {
2858 {
2859#line 207
2860 __cil_tmp12 = (struct input_dev *)0;
2861#line 207
2862 __cil_tmp13 = (unsigned long )__cil_tmp12;
2863#line 207
2864 __cil_tmp14 = (unsigned long )input_dev;
2865#line 207
2866 if (__cil_tmp14 == __cil_tmp13) {
2867#line 208
2868 goto fail1;
2869 } else {
2870
2871 }
2872 }
2873 }
2874 }
2875 {
2876#line 210
2877 *((struct input_dev **)twidjoy) = input_dev;
2878#line 211
2879 __cil_tmp15 = (unsigned long )twidjoy;
2880#line 211
2881 __cil_tmp16 = __cil_tmp15 + 17;
2882#line 211
2883 __cil_tmp17 = (char (*)[32U])__cil_tmp16;
2884#line 211
2885 __cil_tmp18 = (char *)__cil_tmp17;
2886#line 211
2887 __cil_tmp19 = (unsigned long )serio;
2888#line 211
2889 __cil_tmp20 = __cil_tmp19 + 40;
2890#line 211
2891 __cil_tmp21 = (char (*)[32U])__cil_tmp20;
2892#line 211
2893 __cil_tmp22 = (char *)__cil_tmp21;
2894#line 211
2895 snprintf(__cil_tmp18, 32UL, "%s/input0", __cil_tmp22);
2896#line 213
2897 *((char const **)input_dev) = "Handykey Twiddler";
2898#line 214
2899 __cil_tmp23 = (unsigned long )input_dev;
2900#line 214
2901 __cil_tmp24 = __cil_tmp23 + 8;
2902#line 214
2903 __cil_tmp25 = (unsigned long )twidjoy;
2904#line 214
2905 __cil_tmp26 = __cil_tmp25 + 17;
2906#line 214
2907 __cil_tmp27 = (char (*)[32U])__cil_tmp26;
2908#line 214
2909 *((char const **)__cil_tmp24) = (char const *)__cil_tmp27;
2910#line 215
2911 __cil_tmp28 = (unsigned long )input_dev;
2912#line 215
2913 __cil_tmp29 = __cil_tmp28 + 24;
2914#line 215
2915 *((__u16 *)__cil_tmp29) = (__u16 )19U;
2916#line 216
2917 __cil_tmp30 = 24 + 2;
2918#line 216
2919 __cil_tmp31 = (unsigned long )input_dev;
2920#line 216
2921 __cil_tmp32 = __cil_tmp31 + __cil_tmp30;
2922#line 216
2923 *((__u16 *)__cil_tmp32) = (__u16 )36U;
2924#line 217
2925 __cil_tmp33 = 24 + 4;
2926#line 217
2927 __cil_tmp34 = (unsigned long )input_dev;
2928#line 217
2929 __cil_tmp35 = __cil_tmp34 + __cil_tmp33;
2930#line 217
2931 *((__u16 *)__cil_tmp35) = (__u16 )1U;
2932#line 218
2933 __cil_tmp36 = 24 + 6;
2934#line 218
2935 __cil_tmp37 = (unsigned long )input_dev;
2936#line 218
2937 __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
2938#line 218
2939 *((__u16 *)__cil_tmp38) = (__u16 )256U;
2940#line 219
2941 __cil_tmp39 = (unsigned long )input_dev;
2942#line 219
2943 __cil_tmp40 = __cil_tmp39 + 840;
2944#line 219
2945 __cil_tmp41 = (unsigned long )serio;
2946#line 219
2947 __cil_tmp42 = __cil_tmp41 + 416;
2948#line 219
2949 *((struct device **)__cil_tmp40) = (struct device *)__cil_tmp42;
2950#line 221
2951 __cil_tmp43 = 0 * 8UL;
2952#line 221
2953 __cil_tmp44 = 40 + __cil_tmp43;
2954#line 221
2955 __cil_tmp45 = (unsigned long )input_dev;
2956#line 221
2957 __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
2958#line 221
2959 *((unsigned long *)__cil_tmp46) = 10UL;
2960#line 222
2961 input_set_abs_params(input_dev, 0U, -50, 50, 4, 4);
2962#line 223
2963 input_set_abs_params(input_dev, 1U, -50, 50, 4, 4);
2964#line 225
2965 bp = (struct twidjoy_button_spec *)(& twidjoy_buttons);
2966 }
2967#line 225
2968 goto ldv_20766;
2969 ldv_20765:
2970#line 226
2971 i = 0;
2972#line 226
2973 goto ldv_20763;
2974 ldv_20762:
2975 {
2976#line 227
2977 __cil_tmp47 = i * 4UL;
2978#line 227
2979 __cil_tmp48 = 8 + __cil_tmp47;
2980#line 227
2981 __cil_tmp49 = (unsigned long )bp;
2982#line 227
2983 __cil_tmp50 = __cil_tmp49 + __cil_tmp48;
2984#line 227
2985 __cil_tmp51 = *((int *)__cil_tmp50);
2986#line 227
2987 __cil_tmp52 = (unsigned int )__cil_tmp51;
2988#line 227
2989 __cil_tmp53 = (unsigned long )input_dev;
2990#line 227
2991 __cil_tmp54 = __cil_tmp53 + 48;
2992#line 227
2993 __cil_tmp55 = (unsigned long (*)[12U])__cil_tmp54;
2994#line 227
2995 __cil_tmp56 = (unsigned long volatile *)__cil_tmp55;
2996#line 227
2997 set_bit(__cil_tmp52, __cil_tmp56);
2998#line 226
2999 i = i + 1;
3000 }
3001 ldv_20763: ;
3002 {
3003#line 226
3004 __cil_tmp57 = (unsigned long )bp;
3005#line 226
3006 __cil_tmp58 = __cil_tmp57 + 4;
3007#line 226
3008 __cil_tmp59 = *((int *)__cil_tmp58);
3009#line 226
3010 if (__cil_tmp59 > i) {
3011#line 227
3012 goto ldv_20762;
3013 } else {
3014#line 229
3015 goto ldv_20764;
3016 }
3017 }
3018 ldv_20764:
3019#line 225
3020 bp = bp + 1;
3021 ldv_20766: ;
3022 {
3023#line 225
3024 __cil_tmp60 = (unsigned long )bp;
3025#line 225
3026 __cil_tmp61 = __cil_tmp60 + 4;
3027#line 225
3028 __cil_tmp62 = *((int *)__cil_tmp61);
3029#line 225
3030 if (__cil_tmp62 != 0) {
3031#line 226
3032 goto ldv_20765;
3033 } else {
3034#line 228
3035 goto ldv_20767;
3036 }
3037 }
3038 ldv_20767:
3039 {
3040#line 229
3041 __cil_tmp63 = (void *)twidjoy;
3042#line 229
3043 serio_set_drvdata(serio, __cil_tmp63);
3044#line 231
3045 err = serio_open(serio, drv);
3046 }
3047#line 232
3048 if (err != 0) {
3049#line 233
3050 goto fail2;
3051 } else {
3052
3053 }
3054 {
3055#line 235
3056 __cil_tmp64 = *((struct input_dev **)twidjoy);
3057#line 235
3058 err = input_register_device(__cil_tmp64);
3059 }
3060#line 236
3061 if (err != 0) {
3062#line 237
3063 goto fail3;
3064 } else {
3065
3066 }
3067#line 239
3068 return (0);
3069 fail3:
3070 {
3071#line 241
3072 serio_close(serio);
3073 }
3074 fail2:
3075 {
3076#line 242
3077 __cil_tmp65 = (void *)0;
3078#line 242
3079 serio_set_drvdata(serio, __cil_tmp65);
3080 }
3081 fail1:
3082 {
3083#line 243
3084 input_free_device(input_dev);
3085#line 244
3086 __cil_tmp66 = (void const *)twidjoy;
3087#line 244
3088 kfree(__cil_tmp66);
3089 }
3090#line 245
3091 return (err);
3092}
3093}
3094#line 252 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3095static struct serio_device_id twidjoy_serio_ids[2U] = { {(__u8 )2U, (__u8 )255U, (__u8 )255U, (__u8 )36U},
3096 {(__u8 )0U, (unsigned char)0, (unsigned char)0, (unsigned char)0}};
3097#line 262 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3098struct serio_device_id const __mod_serio_device_table ;
3099#line 264 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3100static struct serio_driver twidjoy_drv =
3101#line 264
3102 {"Handykey Twiddler keyboard as a joystick driver", (struct serio_device_id const *)(& twidjoy_serio_ids),
3103 (_Bool)0, (void (*)(struct serio * ))0, & twidjoy_interrupt, & twidjoy_connect,
3104 (int (*)(struct serio * ))0, & twidjoy_disconnect, (void (*)(struct serio * ))0,
3105 {"twidjoy", (struct bus_type *)0, (struct module *)0, (char const *)0, (_Bool)0,
3106 (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
3107 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
3108 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
3109 (struct driver_private *)0}};
3110#line 279 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3111static int twidjoy_init(void)
3112{ int tmp ;
3113
3114 {
3115 {
3116#line 281
3117 tmp = __serio_register_driver(& twidjoy_drv, & __this_module, "twidjoy");
3118 }
3119#line 281
3120 return (tmp);
3121}
3122}
3123#line 284 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3124static void twidjoy_exit(void)
3125{
3126
3127 {
3128 {
3129#line 286
3130 serio_unregister_driver(& twidjoy_drv);
3131 }
3132#line 287
3133 return;
3134}
3135}
3136#line 308
3137extern void ldv_check_final_state(void) ;
3138#line 311
3139extern void ldv_check_return_value(int ) ;
3140#line 314
3141extern void ldv_initialize(void) ;
3142#line 317
3143extern int __VERIFIER_nondet_int(void) ;
3144#line 320 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3145int LDV_IN_INTERRUPT ;
3146#line 323 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3147void main(void)
3148{ struct serio *var_group1 ;
3149 unsigned char var_twidjoy_interrupt_1_p1 ;
3150 unsigned int var_twidjoy_interrupt_1_p2 ;
3151 struct serio_driver *var_group2 ;
3152 int res_twidjoy_connect_3 ;
3153 int ldv_s_twidjoy_drv_serio_driver ;
3154 int tmp ;
3155 int tmp___0 ;
3156 int tmp___1 ;
3157 int __cil_tmp10 ;
3158 unsigned char __cil_tmp11 ;
3159
3160 {
3161 {
3162#line 382
3163 ldv_s_twidjoy_drv_serio_driver = 0;
3164#line 362
3165 LDV_IN_INTERRUPT = 1;
3166#line 371
3167 ldv_initialize();
3168#line 380
3169 tmp = twidjoy_init();
3170 }
3171#line 380
3172 if (tmp != 0) {
3173#line 381
3174 goto ldv_final;
3175 } else {
3176
3177 }
3178#line 386
3179 goto ldv_20815;
3180 ldv_20814:
3181 {
3182#line 390
3183 tmp___0 = __VERIFIER_nondet_int();
3184 }
3185#line 392
3186 if (tmp___0 == 0) {
3187#line 392
3188 goto case_0;
3189 } else
3190#line 414
3191 if (tmp___0 == 1) {
3192#line 414
3193 goto case_1;
3194 } else
3195#line 433
3196 if (tmp___0 == 2) {
3197#line 433
3198 goto case_2;
3199 } else {
3200 {
3201#line 452
3202 goto switch_default;
3203#line 390
3204 if (0) {
3205 case_0: ;
3206#line 395
3207 if (ldv_s_twidjoy_drv_serio_driver == 0) {
3208 {
3209#line 403
3210 res_twidjoy_connect_3 = twidjoy_connect(var_group1, var_group2);
3211#line 404
3212 ldv_check_return_value(res_twidjoy_connect_3);
3213 }
3214#line 405
3215 if (res_twidjoy_connect_3 != 0) {
3216#line 406
3217 goto ldv_module_exit;
3218 } else {
3219
3220 }
3221#line 407
3222 ldv_s_twidjoy_drv_serio_driver = ldv_s_twidjoy_drv_serio_driver + 1;
3223 } else {
3224
3225 }
3226#line 413
3227 goto ldv_20810;
3228 case_1: ;
3229#line 417
3230 if (ldv_s_twidjoy_drv_serio_driver == 1) {
3231 {
3232#line 425
3233 twidjoy_disconnect(var_group1);
3234#line 426
3235 ldv_s_twidjoy_drv_serio_driver = 0;
3236 }
3237 } else {
3238
3239 }
3240#line 432
3241 goto ldv_20810;
3242 case_2:
3243 {
3244#line 444
3245 __cil_tmp10 = (int )var_twidjoy_interrupt_1_p1;
3246#line 444
3247 __cil_tmp11 = (unsigned char )__cil_tmp10;
3248#line 444
3249 twidjoy_interrupt(var_group1, __cil_tmp11, var_twidjoy_interrupt_1_p2);
3250 }
3251#line 451
3252 goto ldv_20810;
3253 switch_default: ;
3254#line 452
3255 goto ldv_20810;
3256 } else {
3257 switch_break: ;
3258 }
3259 }
3260 }
3261 ldv_20810: ;
3262 ldv_20815:
3263 {
3264#line 386
3265 tmp___1 = __VERIFIER_nondet_int();
3266 }
3267#line 386
3268 if (tmp___1 != 0) {
3269#line 388
3270 goto ldv_20814;
3271 } else
3272#line 386
3273 if (ldv_s_twidjoy_drv_serio_driver != 0) {
3274#line 388
3275 goto ldv_20814;
3276 } else {
3277#line 390
3278 goto ldv_20816;
3279 }
3280 ldv_20816: ;
3281 ldv_module_exit:
3282 {
3283#line 467
3284 twidjoy_exit();
3285 }
3286 ldv_final:
3287 {
3288#line 470
3289 ldv_check_final_state();
3290 }
3291#line 473
3292 return;
3293}
3294}
3295#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
3296void ldv_blast_assert(void)
3297{
3298
3299 {
3300 ERROR: ;
3301#line 6
3302 goto ERROR;
3303}
3304}
3305#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
3306extern int __VERIFIER_nondet_int(void) ;
3307#line 494 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3308int ldv_spin = 0;
3309#line 498 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3310void ldv_check_alloc_flags(gfp_t flags )
3311{
3312
3313 {
3314#line 501
3315 if (ldv_spin != 0) {
3316#line 501
3317 if (flags != 32U) {
3318 {
3319#line 501
3320 ldv_blast_assert();
3321 }
3322 } else {
3323
3324 }
3325 } else {
3326
3327 }
3328#line 504
3329 return;
3330}
3331}
3332#line 504
3333extern struct page *ldv_some_page(void) ;
3334#line 507 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3335struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
3336{ struct page *tmp ;
3337
3338 {
3339#line 510
3340 if (ldv_spin != 0) {
3341#line 510
3342 if (flags != 32U) {
3343 {
3344#line 510
3345 ldv_blast_assert();
3346 }
3347 } else {
3348
3349 }
3350 } else {
3351
3352 }
3353 {
3354#line 512
3355 tmp = ldv_some_page();
3356 }
3357#line 512
3358 return (tmp);
3359}
3360}
3361#line 516 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3362void ldv_check_alloc_nonatomic(void)
3363{
3364
3365 {
3366#line 519
3367 if (ldv_spin != 0) {
3368 {
3369#line 519
3370 ldv_blast_assert();
3371 }
3372 } else {
3373
3374 }
3375#line 522
3376 return;
3377}
3378}
3379#line 523 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3380void ldv_spin_lock(void)
3381{
3382
3383 {
3384#line 526
3385 ldv_spin = 1;
3386#line 527
3387 return;
3388}
3389}
3390#line 530 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3391void ldv_spin_unlock(void)
3392{
3393
3394 {
3395#line 533
3396 ldv_spin = 0;
3397#line 534
3398 return;
3399}
3400}
3401#line 537 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3402int ldv_spin_trylock(void)
3403{ int is_lock ;
3404
3405 {
3406 {
3407#line 542
3408 is_lock = __VERIFIER_nondet_int();
3409 }
3410#line 544
3411 if (is_lock != 0) {
3412#line 547
3413 return (0);
3414 } else {
3415#line 552
3416 ldv_spin = 1;
3417#line 554
3418 return (1);
3419 }
3420}
3421}
3422#line 721 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3423void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
3424{
3425
3426 {
3427 {
3428#line 727
3429 ldv_check_alloc_flags(ldv_func_arg2);
3430#line 729
3431 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
3432 }
3433#line 730
3434 return ((void *)0);
3435}
3436}
3437#line 732 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/2875/dscv_tempdir/dscv/ri/43_1a/drivers/input/joystick/twidjoy.c.p"
3438__inline static void *kzalloc(size_t size , gfp_t flags )
3439{ void *tmp ;
3440
3441 {
3442 {
3443#line 738
3444 ldv_check_alloc_flags(flags);
3445#line 739
3446 tmp = __VERIFIER_nondet_pointer();
3447 }
3448#line 739
3449 return (tmp);
3450}
3451}