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