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