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