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