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