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 107 "include/linux/types.h"
69typedef __s8 int8_t;
70#line 111 "include/linux/types.h"
71typedef __s32 int32_t;
72#line 115 "include/linux/types.h"
73typedef __u8 uint8_t;
74#line 116 "include/linux/types.h"
75typedef __u16 uint16_t;
76#line 117 "include/linux/types.h"
77typedef __u32 uint32_t;
78#line 142 "include/linux/types.h"
79typedef unsigned long sector_t;
80#line 143 "include/linux/types.h"
81typedef unsigned long blkcnt_t;
82#line 202 "include/linux/types.h"
83typedef unsigned int gfp_t;
84#line 203 "include/linux/types.h"
85typedef unsigned int fmode_t;
86#line 221 "include/linux/types.h"
87struct __anonstruct_atomic_t_6 {
88 int counter ;
89};
90#line 221 "include/linux/types.h"
91typedef struct __anonstruct_atomic_t_6 atomic_t;
92#line 226 "include/linux/types.h"
93struct __anonstruct_atomic64_t_7 {
94 long counter ;
95};
96#line 226 "include/linux/types.h"
97typedef struct __anonstruct_atomic64_t_7 atomic64_t;
98#line 227 "include/linux/types.h"
99struct list_head {
100 struct list_head *next ;
101 struct list_head *prev ;
102};
103#line 232
104struct hlist_node;
105#line 232 "include/linux/types.h"
106struct hlist_head {
107 struct hlist_node *first ;
108};
109#line 236 "include/linux/types.h"
110struct hlist_node {
111 struct hlist_node *next ;
112 struct hlist_node **pprev ;
113};
114#line 247 "include/linux/types.h"
115struct rcu_head {
116 struct rcu_head *next ;
117 void (*func)(struct rcu_head * ) ;
118};
119#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
120struct module;
121#line 55
122struct module;
123#line 146 "include/linux/init.h"
124typedef void (*ctor_fn_t)(void);
125#line 46 "include/linux/dynamic_debug.h"
126struct device;
127#line 46
128struct device;
129#line 57
130struct completion;
131#line 57
132struct completion;
133#line 348 "include/linux/kernel.h"
134struct pid;
135#line 348
136struct pid;
137#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
138struct timespec;
139#line 112
140struct timespec;
141#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
142struct page;
143#line 58
144struct page;
145#line 26 "include/asm-generic/getorder.h"
146struct task_struct;
147#line 26
148struct task_struct;
149#line 28
150struct mm_struct;
151#line 28
152struct mm_struct;
153#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
154typedef unsigned long pgdval_t;
155#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
156typedef unsigned long pgprotval_t;
157#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
158struct pgprot {
159 pgprotval_t pgprot ;
160};
161#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
162typedef struct pgprot pgprot_t;
163#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
164struct __anonstruct_pgd_t_16 {
165 pgdval_t pgd ;
166};
167#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
168typedef struct __anonstruct_pgd_t_16 pgd_t;
169#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
170typedef struct page *pgtable_t;
171#line 290
172struct file;
173#line 290
174struct file;
175#line 305
176struct seq_file;
177#line 305
178struct seq_file;
179#line 339
180struct cpumask;
181#line 339
182struct cpumask;
183#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
184struct arch_spinlock;
185#line 327
186struct arch_spinlock;
187#line 306 "include/linux/bitmap.h"
188struct bug_entry {
189 int bug_addr_disp ;
190 int file_disp ;
191 unsigned short line ;
192 unsigned short flags ;
193};
194#line 89 "include/linux/bug.h"
195struct cpumask {
196 unsigned long bits[64U] ;
197};
198#line 637 "include/linux/cpumask.h"
199typedef struct cpumask *cpumask_var_t;
200#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
201struct static_key;
202#line 234
203struct static_key;
204#line 433 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
205struct kmem_cache;
206#line 23 "include/asm-generic/atomic-long.h"
207typedef atomic64_t atomic_long_t;
208#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
209typedef u16 __ticket_t;
210#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
211typedef u32 __ticketpair_t;
212#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
213struct __raw_tickets {
214 __ticket_t head ;
215 __ticket_t tail ;
216};
217#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
218union __anonunion_ldv_5907_29 {
219 __ticketpair_t head_tail ;
220 struct __raw_tickets tickets ;
221};
222#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
223struct arch_spinlock {
224 union __anonunion_ldv_5907_29 ldv_5907 ;
225};
226#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
227typedef struct arch_spinlock arch_spinlock_t;
228#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
229struct __anonstruct_ldv_5914_31 {
230 u32 read ;
231 s32 write ;
232};
233#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
234union __anonunion_arch_rwlock_t_30 {
235 s64 lock ;
236 struct __anonstruct_ldv_5914_31 ldv_5914 ;
237};
238#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
239typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
240#line 34
241struct lockdep_map;
242#line 34
243struct lockdep_map;
244#line 55 "include/linux/debug_locks.h"
245struct stack_trace {
246 unsigned int nr_entries ;
247 unsigned int max_entries ;
248 unsigned long *entries ;
249 int skip ;
250};
251#line 26 "include/linux/stacktrace.h"
252struct lockdep_subclass_key {
253 char __one_byte ;
254};
255#line 53 "include/linux/lockdep.h"
256struct lock_class_key {
257 struct lockdep_subclass_key subkeys[8U] ;
258};
259#line 59 "include/linux/lockdep.h"
260struct lock_class {
261 struct list_head hash_entry ;
262 struct list_head lock_entry ;
263 struct lockdep_subclass_key *key ;
264 unsigned int subclass ;
265 unsigned int dep_gen_id ;
266 unsigned long usage_mask ;
267 struct stack_trace usage_traces[13U] ;
268 struct list_head locks_after ;
269 struct list_head locks_before ;
270 unsigned int version ;
271 unsigned long ops ;
272 char const *name ;
273 int name_version ;
274 unsigned long contention_point[4U] ;
275 unsigned long contending_point[4U] ;
276};
277#line 144 "include/linux/lockdep.h"
278struct lockdep_map {
279 struct lock_class_key *key ;
280 struct lock_class *class_cache[2U] ;
281 char const *name ;
282 int cpu ;
283 unsigned long ip ;
284};
285#line 556 "include/linux/lockdep.h"
286struct raw_spinlock {
287 arch_spinlock_t raw_lock ;
288 unsigned int magic ;
289 unsigned int owner_cpu ;
290 void *owner ;
291 struct lockdep_map dep_map ;
292};
293#line 32 "include/linux/spinlock_types.h"
294typedef struct raw_spinlock raw_spinlock_t;
295#line 33 "include/linux/spinlock_types.h"
296struct __anonstruct_ldv_6122_33 {
297 u8 __padding[24U] ;
298 struct lockdep_map dep_map ;
299};
300#line 33 "include/linux/spinlock_types.h"
301union __anonunion_ldv_6123_32 {
302 struct raw_spinlock rlock ;
303 struct __anonstruct_ldv_6122_33 ldv_6122 ;
304};
305#line 33 "include/linux/spinlock_types.h"
306struct spinlock {
307 union __anonunion_ldv_6123_32 ldv_6123 ;
308};
309#line 76 "include/linux/spinlock_types.h"
310typedef struct spinlock spinlock_t;
311#line 23 "include/linux/rwlock_types.h"
312struct __anonstruct_rwlock_t_34 {
313 arch_rwlock_t raw_lock ;
314 unsigned int magic ;
315 unsigned int owner_cpu ;
316 void *owner ;
317 struct lockdep_map dep_map ;
318};
319#line 23 "include/linux/rwlock_types.h"
320typedef struct __anonstruct_rwlock_t_34 rwlock_t;
321#line 110 "include/linux/seqlock.h"
322struct seqcount {
323 unsigned int sequence ;
324};
325#line 121 "include/linux/seqlock.h"
326typedef struct seqcount seqcount_t;
327#line 254 "include/linux/seqlock.h"
328struct timespec {
329 __kernel_time_t tv_sec ;
330 long tv_nsec ;
331};
332#line 286 "include/linux/time.h"
333struct kstat {
334 u64 ino ;
335 dev_t dev ;
336 umode_t mode ;
337 unsigned int nlink ;
338 uid_t uid ;
339 gid_t gid ;
340 dev_t rdev ;
341 loff_t size ;
342 struct timespec atime ;
343 struct timespec mtime ;
344 struct timespec ctime ;
345 unsigned long blksize ;
346 unsigned long long blocks ;
347};
348#line 48 "include/linux/wait.h"
349struct __wait_queue_head {
350 spinlock_t lock ;
351 struct list_head task_list ;
352};
353#line 53 "include/linux/wait.h"
354typedef struct __wait_queue_head wait_queue_head_t;
355#line 98 "include/linux/nodemask.h"
356struct __anonstruct_nodemask_t_36 {
357 unsigned long bits[16U] ;
358};
359#line 98 "include/linux/nodemask.h"
360typedef struct __anonstruct_nodemask_t_36 nodemask_t;
361#line 670 "include/linux/mmzone.h"
362struct mutex {
363 atomic_t count ;
364 spinlock_t wait_lock ;
365 struct list_head wait_list ;
366 struct task_struct *owner ;
367 char const *name ;
368 void *magic ;
369 struct lockdep_map dep_map ;
370};
371#line 171 "include/linux/mutex.h"
372struct rw_semaphore;
373#line 171
374struct rw_semaphore;
375#line 172 "include/linux/mutex.h"
376struct rw_semaphore {
377 long count ;
378 raw_spinlock_t wait_lock ;
379 struct list_head wait_list ;
380 struct lockdep_map dep_map ;
381};
382#line 128 "include/linux/rwsem.h"
383struct completion {
384 unsigned int done ;
385 wait_queue_head_t wait ;
386};
387#line 312 "include/linux/jiffies.h"
388union ktime {
389 s64 tv64 ;
390};
391#line 59 "include/linux/ktime.h"
392typedef union ktime ktime_t;
393#line 341
394struct tvec_base;
395#line 341
396struct tvec_base;
397#line 342 "include/linux/ktime.h"
398struct timer_list {
399 struct list_head entry ;
400 unsigned long expires ;
401 struct tvec_base *base ;
402 void (*function)(unsigned long ) ;
403 unsigned long data ;
404 int slack ;
405 int start_pid ;
406 void *start_site ;
407 char start_comm[16U] ;
408 struct lockdep_map lockdep_map ;
409};
410#line 302 "include/linux/timer.h"
411struct work_struct;
412#line 302
413struct work_struct;
414#line 45 "include/linux/workqueue.h"
415struct work_struct {
416 atomic_long_t data ;
417 struct list_head entry ;
418 void (*func)(struct work_struct * ) ;
419 struct lockdep_map lockdep_map ;
420};
421#line 46 "include/linux/pm.h"
422struct pm_message {
423 int event ;
424};
425#line 52 "include/linux/pm.h"
426typedef struct pm_message pm_message_t;
427#line 53 "include/linux/pm.h"
428struct dev_pm_ops {
429 int (*prepare)(struct device * ) ;
430 void (*complete)(struct device * ) ;
431 int (*suspend)(struct device * ) ;
432 int (*resume)(struct device * ) ;
433 int (*freeze)(struct device * ) ;
434 int (*thaw)(struct device * ) ;
435 int (*poweroff)(struct device * ) ;
436 int (*restore)(struct device * ) ;
437 int (*suspend_late)(struct device * ) ;
438 int (*resume_early)(struct device * ) ;
439 int (*freeze_late)(struct device * ) ;
440 int (*thaw_early)(struct device * ) ;
441 int (*poweroff_late)(struct device * ) ;
442 int (*restore_early)(struct device * ) ;
443 int (*suspend_noirq)(struct device * ) ;
444 int (*resume_noirq)(struct device * ) ;
445 int (*freeze_noirq)(struct device * ) ;
446 int (*thaw_noirq)(struct device * ) ;
447 int (*poweroff_noirq)(struct device * ) ;
448 int (*restore_noirq)(struct device * ) ;
449 int (*runtime_suspend)(struct device * ) ;
450 int (*runtime_resume)(struct device * ) ;
451 int (*runtime_idle)(struct device * ) ;
452};
453#line 289
454enum rpm_status {
455 RPM_ACTIVE = 0,
456 RPM_RESUMING = 1,
457 RPM_SUSPENDED = 2,
458 RPM_SUSPENDING = 3
459} ;
460#line 296
461enum rpm_request {
462 RPM_REQ_NONE = 0,
463 RPM_REQ_IDLE = 1,
464 RPM_REQ_SUSPEND = 2,
465 RPM_REQ_AUTOSUSPEND = 3,
466 RPM_REQ_RESUME = 4
467} ;
468#line 304
469struct wakeup_source;
470#line 304
471struct wakeup_source;
472#line 494 "include/linux/pm.h"
473struct pm_subsys_data {
474 spinlock_t lock ;
475 unsigned int refcount ;
476};
477#line 499
478struct dev_pm_qos_request;
479#line 499
480struct pm_qos_constraints;
481#line 499 "include/linux/pm.h"
482struct dev_pm_info {
483 pm_message_t power_state ;
484 unsigned char can_wakeup : 1 ;
485 unsigned char async_suspend : 1 ;
486 bool is_prepared ;
487 bool is_suspended ;
488 bool ignore_children ;
489 spinlock_t lock ;
490 struct list_head entry ;
491 struct completion completion ;
492 struct wakeup_source *wakeup ;
493 bool wakeup_path ;
494 struct timer_list suspend_timer ;
495 unsigned long timer_expires ;
496 struct work_struct work ;
497 wait_queue_head_t wait_queue ;
498 atomic_t usage_count ;
499 atomic_t child_count ;
500 unsigned char disable_depth : 3 ;
501 unsigned char idle_notification : 1 ;
502 unsigned char request_pending : 1 ;
503 unsigned char deferred_resume : 1 ;
504 unsigned char run_wake : 1 ;
505 unsigned char runtime_auto : 1 ;
506 unsigned char no_callbacks : 1 ;
507 unsigned char irq_safe : 1 ;
508 unsigned char use_autosuspend : 1 ;
509 unsigned char timer_autosuspends : 1 ;
510 enum rpm_request request ;
511 enum rpm_status runtime_status ;
512 int runtime_error ;
513 int autosuspend_delay ;
514 unsigned long last_busy ;
515 unsigned long active_jiffies ;
516 unsigned long suspended_jiffies ;
517 unsigned long accounting_timestamp ;
518 ktime_t suspend_time ;
519 s64 max_time_suspended_ns ;
520 struct dev_pm_qos_request *pq_req ;
521 struct pm_subsys_data *subsys_data ;
522 struct pm_qos_constraints *constraints ;
523};
524#line 558 "include/linux/pm.h"
525struct dev_pm_domain {
526 struct dev_pm_ops ops ;
527};
528#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
529struct __anonstruct_mm_context_t_101 {
530 void *ldt ;
531 int size ;
532 unsigned short ia32_compat ;
533 struct mutex lock ;
534 void *vdso ;
535};
536#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
537typedef struct __anonstruct_mm_context_t_101 mm_context_t;
538#line 18 "include/asm-generic/pci_iomap.h"
539struct vm_area_struct;
540#line 18
541struct vm_area_struct;
542#line 333 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
543enum xen_domain_type {
544 XEN_NATIVE = 0,
545 XEN_PV_DOMAIN = 1,
546 XEN_HVM_DOMAIN = 2
547} ;
548#line 236 "include/xen/interface/xen.h"
549typedef uint16_t domid_t;
550#line 398 "include/xen/interface/xen.h"
551struct __anonstruct_domU_116 {
552 unsigned long mfn ;
553 uint32_t evtchn ;
554};
555#line 398 "include/xen/interface/xen.h"
556struct __anonstruct_dom0_117 {
557 uint32_t info_off ;
558 uint32_t info_size ;
559};
560#line 398 "include/xen/interface/xen.h"
561union __anonunion_console_115 {
562 struct __anonstruct_domU_116 domU ;
563 struct __anonstruct_dom0_117 dom0 ;
564};
565#line 398 "include/xen/interface/xen.h"
566struct start_info {
567 char magic[32U] ;
568 unsigned long nr_pages ;
569 unsigned long shared_info ;
570 uint32_t flags ;
571 unsigned long store_mfn ;
572 uint32_t store_evtchn ;
573 union __anonunion_console_115 console ;
574 unsigned long pt_base ;
575 unsigned long nr_pt_frames ;
576 unsigned long mfn_list ;
577 unsigned long mod_start ;
578 unsigned long mod_len ;
579 int8_t cmd_line[1024U] ;
580};
581#line 835 "include/linux/sysctl.h"
582struct rb_node {
583 unsigned long rb_parent_color ;
584 struct rb_node *rb_right ;
585 struct rb_node *rb_left ;
586};
587#line 108 "include/linux/rbtree.h"
588struct rb_root {
589 struct rb_node *rb_node ;
590};
591#line 37 "include/linux/kmod.h"
592struct cred;
593#line 37
594struct cred;
595#line 18 "include/linux/elf.h"
596typedef __u64 Elf64_Addr;
597#line 19 "include/linux/elf.h"
598typedef __u16 Elf64_Half;
599#line 23 "include/linux/elf.h"
600typedef __u32 Elf64_Word;
601#line 24 "include/linux/elf.h"
602typedef __u64 Elf64_Xword;
603#line 193 "include/linux/elf.h"
604struct elf64_sym {
605 Elf64_Word st_name ;
606 unsigned char st_info ;
607 unsigned char st_other ;
608 Elf64_Half st_shndx ;
609 Elf64_Addr st_value ;
610 Elf64_Xword st_size ;
611};
612#line 201 "include/linux/elf.h"
613typedef struct elf64_sym Elf64_Sym;
614#line 445
615struct sock;
616#line 445
617struct sock;
618#line 446
619struct kobject;
620#line 446
621struct kobject;
622#line 447
623enum kobj_ns_type {
624 KOBJ_NS_TYPE_NONE = 0,
625 KOBJ_NS_TYPE_NET = 1,
626 KOBJ_NS_TYPES = 2
627} ;
628#line 453 "include/linux/elf.h"
629struct kobj_ns_type_operations {
630 enum kobj_ns_type type ;
631 void *(*grab_current_ns)(void) ;
632 void const *(*netlink_ns)(struct sock * ) ;
633 void const *(*initial_ns)(void) ;
634 void (*drop_ns)(void * ) ;
635};
636#line 57 "include/linux/kobject_ns.h"
637struct attribute {
638 char const *name ;
639 umode_t mode ;
640 struct lock_class_key *key ;
641 struct lock_class_key skey ;
642};
643#line 33 "include/linux/sysfs.h"
644struct attribute_group {
645 char const *name ;
646 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
647 struct attribute **attrs ;
648};
649#line 62 "include/linux/sysfs.h"
650struct bin_attribute {
651 struct attribute attr ;
652 size_t size ;
653 void *private ;
654 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
655 loff_t , size_t ) ;
656 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
657 loff_t , size_t ) ;
658 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
659};
660#line 98 "include/linux/sysfs.h"
661struct sysfs_ops {
662 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
663 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
664 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
665};
666#line 117
667struct sysfs_dirent;
668#line 117
669struct sysfs_dirent;
670#line 182 "include/linux/sysfs.h"
671struct kref {
672 atomic_t refcount ;
673};
674#line 49 "include/linux/kobject.h"
675struct kset;
676#line 49
677struct kobj_type;
678#line 49 "include/linux/kobject.h"
679struct kobject {
680 char const *name ;
681 struct list_head entry ;
682 struct kobject *parent ;
683 struct kset *kset ;
684 struct kobj_type *ktype ;
685 struct sysfs_dirent *sd ;
686 struct kref kref ;
687 unsigned char state_initialized : 1 ;
688 unsigned char state_in_sysfs : 1 ;
689 unsigned char state_add_uevent_sent : 1 ;
690 unsigned char state_remove_uevent_sent : 1 ;
691 unsigned char uevent_suppress : 1 ;
692};
693#line 107 "include/linux/kobject.h"
694struct kobj_type {
695 void (*release)(struct kobject * ) ;
696 struct sysfs_ops const *sysfs_ops ;
697 struct attribute **default_attrs ;
698 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
699 void const *(*namespace)(struct kobject * ) ;
700};
701#line 115 "include/linux/kobject.h"
702struct kobj_uevent_env {
703 char *envp[32U] ;
704 int envp_idx ;
705 char buf[2048U] ;
706 int buflen ;
707};
708#line 122 "include/linux/kobject.h"
709struct kset_uevent_ops {
710 int (* const filter)(struct kset * , struct kobject * ) ;
711 char const *(* const name)(struct kset * , struct kobject * ) ;
712 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
713};
714#line 139 "include/linux/kobject.h"
715struct kset {
716 struct list_head list ;
717 spinlock_t list_lock ;
718 struct kobject kobj ;
719 struct kset_uevent_ops const *uevent_ops ;
720};
721#line 215
722struct kernel_param;
723#line 215
724struct kernel_param;
725#line 216 "include/linux/kobject.h"
726struct kernel_param_ops {
727 int (*set)(char const * , struct kernel_param const * ) ;
728 int (*get)(char * , struct kernel_param const * ) ;
729 void (*free)(void * ) ;
730};
731#line 49 "include/linux/moduleparam.h"
732struct kparam_string;
733#line 49
734struct kparam_array;
735#line 49 "include/linux/moduleparam.h"
736union __anonunion_ldv_13363_134 {
737 void *arg ;
738 struct kparam_string const *str ;
739 struct kparam_array const *arr ;
740};
741#line 49 "include/linux/moduleparam.h"
742struct kernel_param {
743 char const *name ;
744 struct kernel_param_ops const *ops ;
745 u16 perm ;
746 s16 level ;
747 union __anonunion_ldv_13363_134 ldv_13363 ;
748};
749#line 61 "include/linux/moduleparam.h"
750struct kparam_string {
751 unsigned int maxlen ;
752 char *string ;
753};
754#line 67 "include/linux/moduleparam.h"
755struct kparam_array {
756 unsigned int max ;
757 unsigned int elemsize ;
758 unsigned int *num ;
759 struct kernel_param_ops const *ops ;
760 void *elem ;
761};
762#line 458 "include/linux/moduleparam.h"
763struct static_key {
764 atomic_t enabled ;
765};
766#line 225 "include/linux/jump_label.h"
767struct tracepoint;
768#line 225
769struct tracepoint;
770#line 226 "include/linux/jump_label.h"
771struct tracepoint_func {
772 void *func ;
773 void *data ;
774};
775#line 29 "include/linux/tracepoint.h"
776struct tracepoint {
777 char const *name ;
778 struct static_key key ;
779 void (*regfunc)(void) ;
780 void (*unregfunc)(void) ;
781 struct tracepoint_func *funcs ;
782};
783#line 86 "include/linux/tracepoint.h"
784struct kernel_symbol {
785 unsigned long value ;
786 char const *name ;
787};
788#line 27 "include/linux/export.h"
789struct mod_arch_specific {
790
791};
792#line 34 "include/linux/module.h"
793struct module_param_attrs;
794#line 34 "include/linux/module.h"
795struct module_kobject {
796 struct kobject kobj ;
797 struct module *mod ;
798 struct kobject *drivers_dir ;
799 struct module_param_attrs *mp ;
800};
801#line 43 "include/linux/module.h"
802struct module_attribute {
803 struct attribute attr ;
804 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
805 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
806 size_t ) ;
807 void (*setup)(struct module * , char const * ) ;
808 int (*test)(struct module * ) ;
809 void (*free)(struct module * ) ;
810};
811#line 69
812struct exception_table_entry;
813#line 69
814struct exception_table_entry;
815#line 198
816enum module_state {
817 MODULE_STATE_LIVE = 0,
818 MODULE_STATE_COMING = 1,
819 MODULE_STATE_GOING = 2
820} ;
821#line 204 "include/linux/module.h"
822struct module_ref {
823 unsigned long incs ;
824 unsigned long decs ;
825};
826#line 219
827struct module_sect_attrs;
828#line 219
829struct module_notes_attrs;
830#line 219
831struct ftrace_event_call;
832#line 219 "include/linux/module.h"
833struct module {
834 enum module_state state ;
835 struct list_head list ;
836 char name[56U] ;
837 struct module_kobject mkobj ;
838 struct module_attribute *modinfo_attrs ;
839 char const *version ;
840 char const *srcversion ;
841 struct kobject *holders_dir ;
842 struct kernel_symbol const *syms ;
843 unsigned long const *crcs ;
844 unsigned int num_syms ;
845 struct kernel_param *kp ;
846 unsigned int num_kp ;
847 unsigned int num_gpl_syms ;
848 struct kernel_symbol const *gpl_syms ;
849 unsigned long const *gpl_crcs ;
850 struct kernel_symbol const *unused_syms ;
851 unsigned long const *unused_crcs ;
852 unsigned int num_unused_syms ;
853 unsigned int num_unused_gpl_syms ;
854 struct kernel_symbol const *unused_gpl_syms ;
855 unsigned long const *unused_gpl_crcs ;
856 struct kernel_symbol const *gpl_future_syms ;
857 unsigned long const *gpl_future_crcs ;
858 unsigned int num_gpl_future_syms ;
859 unsigned int num_exentries ;
860 struct exception_table_entry *extable ;
861 int (*init)(void) ;
862 void *module_init ;
863 void *module_core ;
864 unsigned int init_size ;
865 unsigned int core_size ;
866 unsigned int init_text_size ;
867 unsigned int core_text_size ;
868 unsigned int init_ro_size ;
869 unsigned int core_ro_size ;
870 struct mod_arch_specific arch ;
871 unsigned int taints ;
872 unsigned int num_bugs ;
873 struct list_head bug_list ;
874 struct bug_entry *bug_table ;
875 Elf64_Sym *symtab ;
876 Elf64_Sym *core_symtab ;
877 unsigned int num_symtab ;
878 unsigned int core_num_syms ;
879 char *strtab ;
880 char *core_strtab ;
881 struct module_sect_attrs *sect_attrs ;
882 struct module_notes_attrs *notes_attrs ;
883 char *args ;
884 void *percpu ;
885 unsigned int percpu_size ;
886 unsigned int num_tracepoints ;
887 struct tracepoint * const *tracepoints_ptrs ;
888 unsigned int num_trace_bprintk_fmt ;
889 char const **trace_bprintk_fmt_start ;
890 struct ftrace_event_call **trace_events ;
891 unsigned int num_trace_events ;
892 struct list_head source_list ;
893 struct list_head target_list ;
894 struct task_struct *waiter ;
895 void (*exit)(void) ;
896 struct module_ref *refptr ;
897 ctor_fn_t (**ctors)(void) ;
898 unsigned int num_ctors ;
899};
900#line 88 "include/linux/kmemleak.h"
901struct kmem_cache_cpu {
902 void **freelist ;
903 unsigned long tid ;
904 struct page *page ;
905 struct page *partial ;
906 int node ;
907 unsigned int stat[26U] ;
908};
909#line 55 "include/linux/slub_def.h"
910struct kmem_cache_node {
911 spinlock_t list_lock ;
912 unsigned long nr_partial ;
913 struct list_head partial ;
914 atomic_long_t nr_slabs ;
915 atomic_long_t total_objects ;
916 struct list_head full ;
917};
918#line 66 "include/linux/slub_def.h"
919struct kmem_cache_order_objects {
920 unsigned long x ;
921};
922#line 76 "include/linux/slub_def.h"
923struct kmem_cache {
924 struct kmem_cache_cpu *cpu_slab ;
925 unsigned long flags ;
926 unsigned long min_partial ;
927 int size ;
928 int objsize ;
929 int offset ;
930 int cpu_partial ;
931 struct kmem_cache_order_objects oo ;
932 struct kmem_cache_order_objects max ;
933 struct kmem_cache_order_objects min ;
934 gfp_t allocflags ;
935 int refcount ;
936 void (*ctor)(void * ) ;
937 int inuse ;
938 int align ;
939 int reserved ;
940 char const *name ;
941 struct list_head list ;
942 struct kobject kobj ;
943 int remote_node_defrag_ratio ;
944 struct kmem_cache_node *node[1024U] ;
945};
946#line 32 "include/linux/input.h"
947struct input_id {
948 __u16 bustype ;
949 __u16 vendor ;
950 __u16 product ;
951 __u16 version ;
952};
953#line 49 "include/linux/input.h"
954struct input_absinfo {
955 __s32 value ;
956 __s32 minimum ;
957 __s32 maximum ;
958 __s32 fuzz ;
959 __s32 flat ;
960 __s32 resolution ;
961};
962#line 77 "include/linux/input.h"
963struct input_keymap_entry {
964 __u8 flags ;
965 __u8 len ;
966 __u16 index ;
967 __u32 keycode ;
968 __u8 scancode[32U] ;
969};
970#line 101 "include/linux/input.h"
971struct ff_replay {
972 __u16 length ;
973 __u16 delay ;
974};
975#line 961 "include/linux/input.h"
976struct ff_trigger {
977 __u16 button ;
978 __u16 interval ;
979};
980#line 971 "include/linux/input.h"
981struct ff_envelope {
982 __u16 attack_length ;
983 __u16 attack_level ;
984 __u16 fade_length ;
985 __u16 fade_level ;
986};
987#line 990 "include/linux/input.h"
988struct ff_constant_effect {
989 __s16 level ;
990 struct ff_envelope envelope ;
991};
992#line 1000 "include/linux/input.h"
993struct ff_ramp_effect {
994 __s16 start_level ;
995 __s16 end_level ;
996 struct ff_envelope envelope ;
997};
998#line 1012 "include/linux/input.h"
999struct ff_condition_effect {
1000 __u16 right_saturation ;
1001 __u16 left_saturation ;
1002 __s16 right_coeff ;
1003 __s16 left_coeff ;
1004 __u16 deadband ;
1005 __s16 center ;
1006};
1007#line 1033 "include/linux/input.h"
1008struct ff_periodic_effect {
1009 __u16 waveform ;
1010 __u16 period ;
1011 __s16 magnitude ;
1012 __s16 offset ;
1013 __u16 phase ;
1014 struct ff_envelope envelope ;
1015 __u32 custom_len ;
1016 __s16 *custom_data ;
1017};
1018#line 1064 "include/linux/input.h"
1019struct ff_rumble_effect {
1020 __u16 strong_magnitude ;
1021 __u16 weak_magnitude ;
1022};
1023#line 1077 "include/linux/input.h"
1024union __anonunion_u_135 {
1025 struct ff_constant_effect constant ;
1026 struct ff_ramp_effect ramp ;
1027 struct ff_periodic_effect periodic ;
1028 struct ff_condition_effect condition[2U] ;
1029 struct ff_rumble_effect rumble ;
1030};
1031#line 1077 "include/linux/input.h"
1032struct ff_effect {
1033 __u16 type ;
1034 __s16 id ;
1035 __u16 direction ;
1036 struct ff_trigger trigger ;
1037 struct ff_replay replay ;
1038 union __anonunion_u_135 u ;
1039};
1040#line 1116
1041struct klist_node;
1042#line 1116
1043struct klist_node;
1044#line 37 "include/linux/klist.h"
1045struct klist_node {
1046 void *n_klist ;
1047 struct list_head n_node ;
1048 struct kref n_ref ;
1049};
1050#line 67
1051struct dma_map_ops;
1052#line 67 "include/linux/klist.h"
1053struct dev_archdata {
1054 void *acpi_handle ;
1055 struct dma_map_ops *dma_ops ;
1056 void *iommu ;
1057};
1058#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1059struct device_private;
1060#line 17
1061struct device_private;
1062#line 18
1063struct device_driver;
1064#line 18
1065struct device_driver;
1066#line 19
1067struct driver_private;
1068#line 19
1069struct driver_private;
1070#line 20
1071struct class;
1072#line 20
1073struct class;
1074#line 21
1075struct subsys_private;
1076#line 21
1077struct subsys_private;
1078#line 22
1079struct bus_type;
1080#line 22
1081struct bus_type;
1082#line 23
1083struct device_node;
1084#line 23
1085struct device_node;
1086#line 24
1087struct iommu_ops;
1088#line 24
1089struct iommu_ops;
1090#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
1091struct bus_attribute {
1092 struct attribute attr ;
1093 ssize_t (*show)(struct bus_type * , char * ) ;
1094 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
1095};
1096#line 51 "include/linux/device.h"
1097struct device_attribute;
1098#line 51
1099struct driver_attribute;
1100#line 51 "include/linux/device.h"
1101struct bus_type {
1102 char const *name ;
1103 char const *dev_name ;
1104 struct device *dev_root ;
1105 struct bus_attribute *bus_attrs ;
1106 struct device_attribute *dev_attrs ;
1107 struct driver_attribute *drv_attrs ;
1108 int (*match)(struct device * , struct device_driver * ) ;
1109 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1110 int (*probe)(struct device * ) ;
1111 int (*remove)(struct device * ) ;
1112 void (*shutdown)(struct device * ) ;
1113 int (*suspend)(struct device * , pm_message_t ) ;
1114 int (*resume)(struct device * ) ;
1115 struct dev_pm_ops const *pm ;
1116 struct iommu_ops *iommu_ops ;
1117 struct subsys_private *p ;
1118};
1119#line 125
1120struct device_type;
1121#line 182
1122struct of_device_id;
1123#line 182 "include/linux/device.h"
1124struct device_driver {
1125 char const *name ;
1126 struct bus_type *bus ;
1127 struct module *owner ;
1128 char const *mod_name ;
1129 bool suppress_bind_attrs ;
1130 struct of_device_id const *of_match_table ;
1131 int (*probe)(struct device * ) ;
1132 int (*remove)(struct device * ) ;
1133 void (*shutdown)(struct device * ) ;
1134 int (*suspend)(struct device * , pm_message_t ) ;
1135 int (*resume)(struct device * ) ;
1136 struct attribute_group const **groups ;
1137 struct dev_pm_ops const *pm ;
1138 struct driver_private *p ;
1139};
1140#line 245 "include/linux/device.h"
1141struct driver_attribute {
1142 struct attribute attr ;
1143 ssize_t (*show)(struct device_driver * , char * ) ;
1144 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
1145};
1146#line 299
1147struct class_attribute;
1148#line 299 "include/linux/device.h"
1149struct class {
1150 char const *name ;
1151 struct module *owner ;
1152 struct class_attribute *class_attrs ;
1153 struct device_attribute *dev_attrs ;
1154 struct bin_attribute *dev_bin_attrs ;
1155 struct kobject *dev_kobj ;
1156 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
1157 char *(*devnode)(struct device * , umode_t * ) ;
1158 void (*class_release)(struct class * ) ;
1159 void (*dev_release)(struct device * ) ;
1160 int (*suspend)(struct device * , pm_message_t ) ;
1161 int (*resume)(struct device * ) ;
1162 struct kobj_ns_type_operations const *ns_type ;
1163 void const *(*namespace)(struct device * ) ;
1164 struct dev_pm_ops const *pm ;
1165 struct subsys_private *p ;
1166};
1167#line 394 "include/linux/device.h"
1168struct class_attribute {
1169 struct attribute attr ;
1170 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
1171 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
1172 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
1173};
1174#line 447 "include/linux/device.h"
1175struct device_type {
1176 char const *name ;
1177 struct attribute_group const **groups ;
1178 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
1179 char *(*devnode)(struct device * , umode_t * ) ;
1180 void (*release)(struct device * ) ;
1181 struct dev_pm_ops const *pm ;
1182};
1183#line 474 "include/linux/device.h"
1184struct device_attribute {
1185 struct attribute attr ;
1186 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
1187 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
1188 size_t ) ;
1189};
1190#line 557 "include/linux/device.h"
1191struct device_dma_parameters {
1192 unsigned int max_segment_size ;
1193 unsigned long segment_boundary_mask ;
1194};
1195#line 567
1196struct dma_coherent_mem;
1197#line 567 "include/linux/device.h"
1198struct device {
1199 struct device *parent ;
1200 struct device_private *p ;
1201 struct kobject kobj ;
1202 char const *init_name ;
1203 struct device_type const *type ;
1204 struct mutex mutex ;
1205 struct bus_type *bus ;
1206 struct device_driver *driver ;
1207 void *platform_data ;
1208 struct dev_pm_info power ;
1209 struct dev_pm_domain *pm_domain ;
1210 int numa_node ;
1211 u64 *dma_mask ;
1212 u64 coherent_dma_mask ;
1213 struct device_dma_parameters *dma_parms ;
1214 struct list_head dma_pools ;
1215 struct dma_coherent_mem *dma_mem ;
1216 struct dev_archdata archdata ;
1217 struct device_node *of_node ;
1218 dev_t devt ;
1219 u32 id ;
1220 spinlock_t devres_lock ;
1221 struct list_head devres_head ;
1222 struct klist_node knode_class ;
1223 struct class *class ;
1224 struct attribute_group const **groups ;
1225 void (*release)(struct device * ) ;
1226};
1227#line 681 "include/linux/device.h"
1228struct wakeup_source {
1229 char const *name ;
1230 struct list_head entry ;
1231 spinlock_t lock ;
1232 struct timer_list timer ;
1233 unsigned long timer_expires ;
1234 ktime_t total_time ;
1235 ktime_t max_time ;
1236 ktime_t last_time ;
1237 unsigned long event_count ;
1238 unsigned long active_count ;
1239 unsigned long relax_count ;
1240 unsigned long hit_count ;
1241 unsigned char active : 1 ;
1242};
1243#line 994
1244struct block_device;
1245#line 994
1246struct block_device;
1247#line 93 "include/linux/bit_spinlock.h"
1248struct hlist_bl_node;
1249#line 93 "include/linux/bit_spinlock.h"
1250struct hlist_bl_head {
1251 struct hlist_bl_node *first ;
1252};
1253#line 36 "include/linux/list_bl.h"
1254struct hlist_bl_node {
1255 struct hlist_bl_node *next ;
1256 struct hlist_bl_node **pprev ;
1257};
1258#line 114 "include/linux/rculist_bl.h"
1259struct nameidata;
1260#line 114
1261struct nameidata;
1262#line 115
1263struct path;
1264#line 115
1265struct path;
1266#line 116
1267struct vfsmount;
1268#line 116
1269struct vfsmount;
1270#line 117 "include/linux/rculist_bl.h"
1271struct qstr {
1272 unsigned int hash ;
1273 unsigned int len ;
1274 unsigned char const *name ;
1275};
1276#line 72 "include/linux/dcache.h"
1277struct inode;
1278#line 72
1279struct dentry_operations;
1280#line 72
1281struct super_block;
1282#line 72 "include/linux/dcache.h"
1283union __anonunion_d_u_136 {
1284 struct list_head d_child ;
1285 struct rcu_head d_rcu ;
1286};
1287#line 72 "include/linux/dcache.h"
1288struct dentry {
1289 unsigned int d_flags ;
1290 seqcount_t d_seq ;
1291 struct hlist_bl_node d_hash ;
1292 struct dentry *d_parent ;
1293 struct qstr d_name ;
1294 struct inode *d_inode ;
1295 unsigned char d_iname[32U] ;
1296 unsigned int d_count ;
1297 spinlock_t d_lock ;
1298 struct dentry_operations const *d_op ;
1299 struct super_block *d_sb ;
1300 unsigned long d_time ;
1301 void *d_fsdata ;
1302 struct list_head d_lru ;
1303 union __anonunion_d_u_136 d_u ;
1304 struct list_head d_subdirs ;
1305 struct list_head d_alias ;
1306};
1307#line 123 "include/linux/dcache.h"
1308struct dentry_operations {
1309 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1310 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1311 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1312 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1313 int (*d_delete)(struct dentry const * ) ;
1314 void (*d_release)(struct dentry * ) ;
1315 void (*d_prune)(struct dentry * ) ;
1316 void (*d_iput)(struct dentry * , struct inode * ) ;
1317 char *(*d_dname)(struct dentry * , char * , int ) ;
1318 struct vfsmount *(*d_automount)(struct path * ) ;
1319 int (*d_manage)(struct dentry * , bool ) ;
1320};
1321#line 402 "include/linux/dcache.h"
1322struct path {
1323 struct vfsmount *mnt ;
1324 struct dentry *dentry ;
1325};
1326#line 58 "include/linux/radix-tree.h"
1327struct radix_tree_node;
1328#line 58 "include/linux/radix-tree.h"
1329struct radix_tree_root {
1330 unsigned int height ;
1331 gfp_t gfp_mask ;
1332 struct radix_tree_node *rnode ;
1333};
1334#line 377
1335struct prio_tree_node;
1336#line 377 "include/linux/radix-tree.h"
1337struct raw_prio_tree_node {
1338 struct prio_tree_node *left ;
1339 struct prio_tree_node *right ;
1340 struct prio_tree_node *parent ;
1341};
1342#line 19 "include/linux/prio_tree.h"
1343struct prio_tree_node {
1344 struct prio_tree_node *left ;
1345 struct prio_tree_node *right ;
1346 struct prio_tree_node *parent ;
1347 unsigned long start ;
1348 unsigned long last ;
1349};
1350#line 27 "include/linux/prio_tree.h"
1351struct prio_tree_root {
1352 struct prio_tree_node *prio_tree_node ;
1353 unsigned short index_bits ;
1354 unsigned short raw ;
1355};
1356#line 111
1357enum pid_type {
1358 PIDTYPE_PID = 0,
1359 PIDTYPE_PGID = 1,
1360 PIDTYPE_SID = 2,
1361 PIDTYPE_MAX = 3
1362} ;
1363#line 118
1364struct pid_namespace;
1365#line 118 "include/linux/prio_tree.h"
1366struct upid {
1367 int nr ;
1368 struct pid_namespace *ns ;
1369 struct hlist_node pid_chain ;
1370};
1371#line 56 "include/linux/pid.h"
1372struct pid {
1373 atomic_t count ;
1374 unsigned int level ;
1375 struct hlist_head tasks[3U] ;
1376 struct rcu_head rcu ;
1377 struct upid numbers[1U] ;
1378};
1379#line 45 "include/linux/semaphore.h"
1380struct fiemap_extent {
1381 __u64 fe_logical ;
1382 __u64 fe_physical ;
1383 __u64 fe_length ;
1384 __u64 fe_reserved64[2U] ;
1385 __u32 fe_flags ;
1386 __u32 fe_reserved[3U] ;
1387};
1388#line 38 "include/linux/fiemap.h"
1389struct shrink_control {
1390 gfp_t gfp_mask ;
1391 unsigned long nr_to_scan ;
1392};
1393#line 14 "include/linux/shrinker.h"
1394struct shrinker {
1395 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1396 int seeks ;
1397 long batch ;
1398 struct list_head list ;
1399 atomic_long_t nr_in_batch ;
1400};
1401#line 43
1402enum migrate_mode {
1403 MIGRATE_ASYNC = 0,
1404 MIGRATE_SYNC_LIGHT = 1,
1405 MIGRATE_SYNC = 2
1406} ;
1407#line 49
1408struct export_operations;
1409#line 49
1410struct export_operations;
1411#line 51
1412struct iovec;
1413#line 51
1414struct iovec;
1415#line 52
1416struct kiocb;
1417#line 52
1418struct kiocb;
1419#line 53
1420struct pipe_inode_info;
1421#line 53
1422struct pipe_inode_info;
1423#line 54
1424struct poll_table_struct;
1425#line 54
1426struct poll_table_struct;
1427#line 55
1428struct kstatfs;
1429#line 55
1430struct kstatfs;
1431#line 435 "include/linux/fs.h"
1432struct iattr {
1433 unsigned int ia_valid ;
1434 umode_t ia_mode ;
1435 uid_t ia_uid ;
1436 gid_t ia_gid ;
1437 loff_t ia_size ;
1438 struct timespec ia_atime ;
1439 struct timespec ia_mtime ;
1440 struct timespec ia_ctime ;
1441 struct file *ia_file ;
1442};
1443#line 119 "include/linux/quota.h"
1444struct if_dqinfo {
1445 __u64 dqi_bgrace ;
1446 __u64 dqi_igrace ;
1447 __u32 dqi_flags ;
1448 __u32 dqi_valid ;
1449};
1450#line 176 "include/linux/percpu_counter.h"
1451struct fs_disk_quota {
1452 __s8 d_version ;
1453 __s8 d_flags ;
1454 __u16 d_fieldmask ;
1455 __u32 d_id ;
1456 __u64 d_blk_hardlimit ;
1457 __u64 d_blk_softlimit ;
1458 __u64 d_ino_hardlimit ;
1459 __u64 d_ino_softlimit ;
1460 __u64 d_bcount ;
1461 __u64 d_icount ;
1462 __s32 d_itimer ;
1463 __s32 d_btimer ;
1464 __u16 d_iwarns ;
1465 __u16 d_bwarns ;
1466 __s32 d_padding2 ;
1467 __u64 d_rtb_hardlimit ;
1468 __u64 d_rtb_softlimit ;
1469 __u64 d_rtbcount ;
1470 __s32 d_rtbtimer ;
1471 __u16 d_rtbwarns ;
1472 __s16 d_padding3 ;
1473 char d_padding4[8U] ;
1474};
1475#line 75 "include/linux/dqblk_xfs.h"
1476struct fs_qfilestat {
1477 __u64 qfs_ino ;
1478 __u64 qfs_nblks ;
1479 __u32 qfs_nextents ;
1480};
1481#line 150 "include/linux/dqblk_xfs.h"
1482typedef struct fs_qfilestat fs_qfilestat_t;
1483#line 151 "include/linux/dqblk_xfs.h"
1484struct fs_quota_stat {
1485 __s8 qs_version ;
1486 __u16 qs_flags ;
1487 __s8 qs_pad ;
1488 fs_qfilestat_t qs_uquota ;
1489 fs_qfilestat_t qs_gquota ;
1490 __u32 qs_incoredqs ;
1491 __s32 qs_btimelimit ;
1492 __s32 qs_itimelimit ;
1493 __s32 qs_rtbtimelimit ;
1494 __u16 qs_bwarnlimit ;
1495 __u16 qs_iwarnlimit ;
1496};
1497#line 165
1498struct dquot;
1499#line 165
1500struct dquot;
1501#line 185 "include/linux/quota.h"
1502typedef __kernel_uid32_t qid_t;
1503#line 186 "include/linux/quota.h"
1504typedef long long qsize_t;
1505#line 189 "include/linux/quota.h"
1506struct mem_dqblk {
1507 qsize_t dqb_bhardlimit ;
1508 qsize_t dqb_bsoftlimit ;
1509 qsize_t dqb_curspace ;
1510 qsize_t dqb_rsvspace ;
1511 qsize_t dqb_ihardlimit ;
1512 qsize_t dqb_isoftlimit ;
1513 qsize_t dqb_curinodes ;
1514 time_t dqb_btime ;
1515 time_t dqb_itime ;
1516};
1517#line 211
1518struct quota_format_type;
1519#line 211
1520struct quota_format_type;
1521#line 212 "include/linux/quota.h"
1522struct mem_dqinfo {
1523 struct quota_format_type *dqi_format ;
1524 int dqi_fmt_id ;
1525 struct list_head dqi_dirty_list ;
1526 unsigned long dqi_flags ;
1527 unsigned int dqi_bgrace ;
1528 unsigned int dqi_igrace ;
1529 qsize_t dqi_maxblimit ;
1530 qsize_t dqi_maxilimit ;
1531 void *dqi_priv ;
1532};
1533#line 275 "include/linux/quota.h"
1534struct dquot {
1535 struct hlist_node dq_hash ;
1536 struct list_head dq_inuse ;
1537 struct list_head dq_free ;
1538 struct list_head dq_dirty ;
1539 struct mutex dq_lock ;
1540 atomic_t dq_count ;
1541 wait_queue_head_t dq_wait_unused ;
1542 struct super_block *dq_sb ;
1543 unsigned int dq_id ;
1544 loff_t dq_off ;
1545 unsigned long dq_flags ;
1546 short dq_type ;
1547 struct mem_dqblk dq_dqb ;
1548};
1549#line 303 "include/linux/quota.h"
1550struct quota_format_ops {
1551 int (*check_quota_file)(struct super_block * , int ) ;
1552 int (*read_file_info)(struct super_block * , int ) ;
1553 int (*write_file_info)(struct super_block * , int ) ;
1554 int (*free_file_info)(struct super_block * , int ) ;
1555 int (*read_dqblk)(struct dquot * ) ;
1556 int (*commit_dqblk)(struct dquot * ) ;
1557 int (*release_dqblk)(struct dquot * ) ;
1558};
1559#line 314 "include/linux/quota.h"
1560struct dquot_operations {
1561 int (*write_dquot)(struct dquot * ) ;
1562 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1563 void (*destroy_dquot)(struct dquot * ) ;
1564 int (*acquire_dquot)(struct dquot * ) ;
1565 int (*release_dquot)(struct dquot * ) ;
1566 int (*mark_dirty)(struct dquot * ) ;
1567 int (*write_info)(struct super_block * , int ) ;
1568 qsize_t *(*get_reserved_space)(struct inode * ) ;
1569};
1570#line 328 "include/linux/quota.h"
1571struct quotactl_ops {
1572 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1573 int (*quota_on_meta)(struct super_block * , int , int ) ;
1574 int (*quota_off)(struct super_block * , int ) ;
1575 int (*quota_sync)(struct super_block * , int , int ) ;
1576 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1577 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1578 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1579 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1580 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1581 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1582};
1583#line 344 "include/linux/quota.h"
1584struct quota_format_type {
1585 int qf_fmt_id ;
1586 struct quota_format_ops const *qf_ops ;
1587 struct module *qf_owner ;
1588 struct quota_format_type *qf_next ;
1589};
1590#line 390 "include/linux/quota.h"
1591struct quota_info {
1592 unsigned int flags ;
1593 struct mutex dqio_mutex ;
1594 struct mutex dqonoff_mutex ;
1595 struct rw_semaphore dqptr_sem ;
1596 struct inode *files[2U] ;
1597 struct mem_dqinfo info[2U] ;
1598 struct quota_format_ops const *ops[2U] ;
1599};
1600#line 421
1601struct address_space;
1602#line 421
1603struct address_space;
1604#line 422
1605struct writeback_control;
1606#line 422
1607struct writeback_control;
1608#line 585 "include/linux/fs.h"
1609union __anonunion_arg_139 {
1610 char *buf ;
1611 void *data ;
1612};
1613#line 585 "include/linux/fs.h"
1614struct __anonstruct_read_descriptor_t_138 {
1615 size_t written ;
1616 size_t count ;
1617 union __anonunion_arg_139 arg ;
1618 int error ;
1619};
1620#line 585 "include/linux/fs.h"
1621typedef struct __anonstruct_read_descriptor_t_138 read_descriptor_t;
1622#line 588 "include/linux/fs.h"
1623struct address_space_operations {
1624 int (*writepage)(struct page * , struct writeback_control * ) ;
1625 int (*readpage)(struct file * , struct page * ) ;
1626 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1627 int (*set_page_dirty)(struct page * ) ;
1628 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1629 unsigned int ) ;
1630 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1631 unsigned int , struct page ** , void ** ) ;
1632 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1633 unsigned int , struct page * , void * ) ;
1634 sector_t (*bmap)(struct address_space * , sector_t ) ;
1635 void (*invalidatepage)(struct page * , unsigned long ) ;
1636 int (*releasepage)(struct page * , gfp_t ) ;
1637 void (*freepage)(struct page * ) ;
1638 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1639 unsigned long ) ;
1640 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1641 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1642 int (*launder_page)(struct page * ) ;
1643 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1644 int (*error_remove_page)(struct address_space * , struct page * ) ;
1645};
1646#line 642
1647struct backing_dev_info;
1648#line 642
1649struct backing_dev_info;
1650#line 643 "include/linux/fs.h"
1651struct address_space {
1652 struct inode *host ;
1653 struct radix_tree_root page_tree ;
1654 spinlock_t tree_lock ;
1655 unsigned int i_mmap_writable ;
1656 struct prio_tree_root i_mmap ;
1657 struct list_head i_mmap_nonlinear ;
1658 struct mutex i_mmap_mutex ;
1659 unsigned long nrpages ;
1660 unsigned long writeback_index ;
1661 struct address_space_operations const *a_ops ;
1662 unsigned long flags ;
1663 struct backing_dev_info *backing_dev_info ;
1664 spinlock_t private_lock ;
1665 struct list_head private_list ;
1666 struct address_space *assoc_mapping ;
1667};
1668#line 664
1669struct request_queue;
1670#line 664
1671struct request_queue;
1672#line 665
1673struct hd_struct;
1674#line 665
1675struct gendisk;
1676#line 665 "include/linux/fs.h"
1677struct block_device {
1678 dev_t bd_dev ;
1679 int bd_openers ;
1680 struct inode *bd_inode ;
1681 struct super_block *bd_super ;
1682 struct mutex bd_mutex ;
1683 struct list_head bd_inodes ;
1684 void *bd_claiming ;
1685 void *bd_holder ;
1686 int bd_holders ;
1687 bool bd_write_holder ;
1688 struct list_head bd_holder_disks ;
1689 struct block_device *bd_contains ;
1690 unsigned int bd_block_size ;
1691 struct hd_struct *bd_part ;
1692 unsigned int bd_part_count ;
1693 int bd_invalidated ;
1694 struct gendisk *bd_disk ;
1695 struct request_queue *bd_queue ;
1696 struct list_head bd_list ;
1697 unsigned long bd_private ;
1698 int bd_fsfreeze_count ;
1699 struct mutex bd_fsfreeze_mutex ;
1700};
1701#line 737
1702struct posix_acl;
1703#line 737
1704struct posix_acl;
1705#line 738
1706struct inode_operations;
1707#line 738 "include/linux/fs.h"
1708union __anonunion_ldv_16579_140 {
1709 unsigned int const i_nlink ;
1710 unsigned int __i_nlink ;
1711};
1712#line 738 "include/linux/fs.h"
1713union __anonunion_ldv_16598_141 {
1714 struct list_head i_dentry ;
1715 struct rcu_head i_rcu ;
1716};
1717#line 738
1718struct file_operations;
1719#line 738
1720struct file_lock;
1721#line 738
1722struct cdev;
1723#line 738 "include/linux/fs.h"
1724union __anonunion_ldv_16616_142 {
1725 struct pipe_inode_info *i_pipe ;
1726 struct block_device *i_bdev ;
1727 struct cdev *i_cdev ;
1728};
1729#line 738 "include/linux/fs.h"
1730struct inode {
1731 umode_t i_mode ;
1732 unsigned short i_opflags ;
1733 uid_t i_uid ;
1734 gid_t i_gid ;
1735 unsigned int i_flags ;
1736 struct posix_acl *i_acl ;
1737 struct posix_acl *i_default_acl ;
1738 struct inode_operations const *i_op ;
1739 struct super_block *i_sb ;
1740 struct address_space *i_mapping ;
1741 void *i_security ;
1742 unsigned long i_ino ;
1743 union __anonunion_ldv_16579_140 ldv_16579 ;
1744 dev_t i_rdev ;
1745 struct timespec i_atime ;
1746 struct timespec i_mtime ;
1747 struct timespec i_ctime ;
1748 spinlock_t i_lock ;
1749 unsigned short i_bytes ;
1750 blkcnt_t i_blocks ;
1751 loff_t i_size ;
1752 unsigned long i_state ;
1753 struct mutex i_mutex ;
1754 unsigned long dirtied_when ;
1755 struct hlist_node i_hash ;
1756 struct list_head i_wb_list ;
1757 struct list_head i_lru ;
1758 struct list_head i_sb_list ;
1759 union __anonunion_ldv_16598_141 ldv_16598 ;
1760 atomic_t i_count ;
1761 unsigned int i_blkbits ;
1762 u64 i_version ;
1763 atomic_t i_dio_count ;
1764 atomic_t i_writecount ;
1765 struct file_operations const *i_fop ;
1766 struct file_lock *i_flock ;
1767 struct address_space i_data ;
1768 struct dquot *i_dquot[2U] ;
1769 struct list_head i_devices ;
1770 union __anonunion_ldv_16616_142 ldv_16616 ;
1771 __u32 i_generation ;
1772 __u32 i_fsnotify_mask ;
1773 struct hlist_head i_fsnotify_marks ;
1774 atomic_t i_readcount ;
1775 void *i_private ;
1776};
1777#line 941 "include/linux/fs.h"
1778struct fown_struct {
1779 rwlock_t lock ;
1780 struct pid *pid ;
1781 enum pid_type pid_type ;
1782 uid_t uid ;
1783 uid_t euid ;
1784 int signum ;
1785};
1786#line 949 "include/linux/fs.h"
1787struct file_ra_state {
1788 unsigned long start ;
1789 unsigned int size ;
1790 unsigned int async_size ;
1791 unsigned int ra_pages ;
1792 unsigned int mmap_miss ;
1793 loff_t prev_pos ;
1794};
1795#line 972 "include/linux/fs.h"
1796union __anonunion_f_u_143 {
1797 struct list_head fu_list ;
1798 struct rcu_head fu_rcuhead ;
1799};
1800#line 972 "include/linux/fs.h"
1801struct file {
1802 union __anonunion_f_u_143 f_u ;
1803 struct path f_path ;
1804 struct file_operations const *f_op ;
1805 spinlock_t f_lock ;
1806 int f_sb_list_cpu ;
1807 atomic_long_t f_count ;
1808 unsigned int f_flags ;
1809 fmode_t f_mode ;
1810 loff_t f_pos ;
1811 struct fown_struct f_owner ;
1812 struct cred const *f_cred ;
1813 struct file_ra_state f_ra ;
1814 u64 f_version ;
1815 void *f_security ;
1816 void *private_data ;
1817 struct list_head f_ep_links ;
1818 struct list_head f_tfile_llink ;
1819 struct address_space *f_mapping ;
1820 unsigned long f_mnt_write_state ;
1821};
1822#line 1111
1823struct files_struct;
1824#line 1111 "include/linux/fs.h"
1825typedef struct files_struct *fl_owner_t;
1826#line 1112 "include/linux/fs.h"
1827struct file_lock_operations {
1828 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1829 void (*fl_release_private)(struct file_lock * ) ;
1830};
1831#line 1117 "include/linux/fs.h"
1832struct lock_manager_operations {
1833 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1834 void (*lm_notify)(struct file_lock * ) ;
1835 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1836 void (*lm_release_private)(struct file_lock * ) ;
1837 void (*lm_break)(struct file_lock * ) ;
1838 int (*lm_change)(struct file_lock ** , int ) ;
1839};
1840#line 1134
1841struct nlm_lockowner;
1842#line 1134
1843struct nlm_lockowner;
1844#line 1135 "include/linux/fs.h"
1845struct nfs_lock_info {
1846 u32 state ;
1847 struct nlm_lockowner *owner ;
1848 struct list_head list ;
1849};
1850#line 14 "include/linux/nfs_fs_i.h"
1851struct nfs4_lock_state;
1852#line 14
1853struct nfs4_lock_state;
1854#line 15 "include/linux/nfs_fs_i.h"
1855struct nfs4_lock_info {
1856 struct nfs4_lock_state *owner ;
1857};
1858#line 19
1859struct fasync_struct;
1860#line 19 "include/linux/nfs_fs_i.h"
1861struct __anonstruct_afs_145 {
1862 struct list_head link ;
1863 int state ;
1864};
1865#line 19 "include/linux/nfs_fs_i.h"
1866union __anonunion_fl_u_144 {
1867 struct nfs_lock_info nfs_fl ;
1868 struct nfs4_lock_info nfs4_fl ;
1869 struct __anonstruct_afs_145 afs ;
1870};
1871#line 19 "include/linux/nfs_fs_i.h"
1872struct file_lock {
1873 struct file_lock *fl_next ;
1874 struct list_head fl_link ;
1875 struct list_head fl_block ;
1876 fl_owner_t fl_owner ;
1877 unsigned int fl_flags ;
1878 unsigned char fl_type ;
1879 unsigned int fl_pid ;
1880 struct pid *fl_nspid ;
1881 wait_queue_head_t fl_wait ;
1882 struct file *fl_file ;
1883 loff_t fl_start ;
1884 loff_t fl_end ;
1885 struct fasync_struct *fl_fasync ;
1886 unsigned long fl_break_time ;
1887 unsigned long fl_downgrade_time ;
1888 struct file_lock_operations const *fl_ops ;
1889 struct lock_manager_operations const *fl_lmops ;
1890 union __anonunion_fl_u_144 fl_u ;
1891};
1892#line 1221 "include/linux/fs.h"
1893struct fasync_struct {
1894 spinlock_t fa_lock ;
1895 int magic ;
1896 int fa_fd ;
1897 struct fasync_struct *fa_next ;
1898 struct file *fa_file ;
1899 struct rcu_head fa_rcu ;
1900};
1901#line 1417
1902struct file_system_type;
1903#line 1417
1904struct super_operations;
1905#line 1417
1906struct xattr_handler;
1907#line 1417
1908struct mtd_info;
1909#line 1417 "include/linux/fs.h"
1910struct super_block {
1911 struct list_head s_list ;
1912 dev_t s_dev ;
1913 unsigned char s_dirt ;
1914 unsigned char s_blocksize_bits ;
1915 unsigned long s_blocksize ;
1916 loff_t s_maxbytes ;
1917 struct file_system_type *s_type ;
1918 struct super_operations const *s_op ;
1919 struct dquot_operations const *dq_op ;
1920 struct quotactl_ops const *s_qcop ;
1921 struct export_operations const *s_export_op ;
1922 unsigned long s_flags ;
1923 unsigned long s_magic ;
1924 struct dentry *s_root ;
1925 struct rw_semaphore s_umount ;
1926 struct mutex s_lock ;
1927 int s_count ;
1928 atomic_t s_active ;
1929 void *s_security ;
1930 struct xattr_handler const **s_xattr ;
1931 struct list_head s_inodes ;
1932 struct hlist_bl_head s_anon ;
1933 struct list_head *s_files ;
1934 struct list_head s_mounts ;
1935 struct list_head s_dentry_lru ;
1936 int s_nr_dentry_unused ;
1937 spinlock_t s_inode_lru_lock ;
1938 struct list_head s_inode_lru ;
1939 int s_nr_inodes_unused ;
1940 struct block_device *s_bdev ;
1941 struct backing_dev_info *s_bdi ;
1942 struct mtd_info *s_mtd ;
1943 struct hlist_node s_instances ;
1944 struct quota_info s_dquot ;
1945 int s_frozen ;
1946 wait_queue_head_t s_wait_unfrozen ;
1947 char s_id[32U] ;
1948 u8 s_uuid[16U] ;
1949 void *s_fs_info ;
1950 unsigned int s_max_links ;
1951 fmode_t s_mode ;
1952 u32 s_time_gran ;
1953 struct mutex s_vfs_rename_mutex ;
1954 char *s_subtype ;
1955 char *s_options ;
1956 struct dentry_operations const *s_d_op ;
1957 int cleancache_poolid ;
1958 struct shrinker s_shrink ;
1959 atomic_long_t s_remove_count ;
1960 int s_readonly_remount ;
1961};
1962#line 1563 "include/linux/fs.h"
1963struct fiemap_extent_info {
1964 unsigned int fi_flags ;
1965 unsigned int fi_extents_mapped ;
1966 unsigned int fi_extents_max ;
1967 struct fiemap_extent *fi_extents_start ;
1968};
1969#line 1602 "include/linux/fs.h"
1970struct file_operations {
1971 struct module *owner ;
1972 loff_t (*llseek)(struct file * , loff_t , int ) ;
1973 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1974 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1975 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1976 loff_t ) ;
1977 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1978 loff_t ) ;
1979 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1980 loff_t , u64 , unsigned int ) ) ;
1981 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1982 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1983 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1984 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1985 int (*open)(struct inode * , struct file * ) ;
1986 int (*flush)(struct file * , fl_owner_t ) ;
1987 int (*release)(struct inode * , struct file * ) ;
1988 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1989 int (*aio_fsync)(struct kiocb * , int ) ;
1990 int (*fasync)(int , struct file * , int ) ;
1991 int (*lock)(struct file * , int , struct file_lock * ) ;
1992 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1993 int ) ;
1994 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1995 unsigned long , unsigned long ) ;
1996 int (*check_flags)(int ) ;
1997 int (*flock)(struct file * , int , struct file_lock * ) ;
1998 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1999 unsigned int ) ;
2000 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
2001 unsigned int ) ;
2002 int (*setlease)(struct file * , long , struct file_lock ** ) ;
2003 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
2004};
2005#line 1637 "include/linux/fs.h"
2006struct inode_operations {
2007 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
2008 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
2009 int (*permission)(struct inode * , int ) ;
2010 struct posix_acl *(*get_acl)(struct inode * , int ) ;
2011 int (*readlink)(struct dentry * , char * , int ) ;
2012 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
2013 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
2014 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
2015 int (*unlink)(struct inode * , struct dentry * ) ;
2016 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
2017 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
2018 int (*rmdir)(struct inode * , struct dentry * ) ;
2019 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
2020 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
2021 void (*truncate)(struct inode * ) ;
2022 int (*setattr)(struct dentry * , struct iattr * ) ;
2023 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
2024 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
2025 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
2026 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
2027 int (*removexattr)(struct dentry * , char const * ) ;
2028 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
2029 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
2030};
2031#line 1682 "include/linux/fs.h"
2032struct super_operations {
2033 struct inode *(*alloc_inode)(struct super_block * ) ;
2034 void (*destroy_inode)(struct inode * ) ;
2035 void (*dirty_inode)(struct inode * , int ) ;
2036 int (*write_inode)(struct inode * , struct writeback_control * ) ;
2037 int (*drop_inode)(struct inode * ) ;
2038 void (*evict_inode)(struct inode * ) ;
2039 void (*put_super)(struct super_block * ) ;
2040 void (*write_super)(struct super_block * ) ;
2041 int (*sync_fs)(struct super_block * , int ) ;
2042 int (*freeze_fs)(struct super_block * ) ;
2043 int (*unfreeze_fs)(struct super_block * ) ;
2044 int (*statfs)(struct dentry * , struct kstatfs * ) ;
2045 int (*remount_fs)(struct super_block * , int * , char * ) ;
2046 void (*umount_begin)(struct super_block * ) ;
2047 int (*show_options)(struct seq_file * , struct dentry * ) ;
2048 int (*show_devname)(struct seq_file * , struct dentry * ) ;
2049 int (*show_path)(struct seq_file * , struct dentry * ) ;
2050 int (*show_stats)(struct seq_file * , struct dentry * ) ;
2051 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
2052 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
2053 loff_t ) ;
2054 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
2055 int (*nr_cached_objects)(struct super_block * ) ;
2056 void (*free_cached_objects)(struct super_block * , int ) ;
2057};
2058#line 1834 "include/linux/fs.h"
2059struct file_system_type {
2060 char const *name ;
2061 int fs_flags ;
2062 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
2063 void (*kill_sb)(struct super_block * ) ;
2064 struct module *owner ;
2065 struct file_system_type *next ;
2066 struct hlist_head fs_supers ;
2067 struct lock_class_key s_lock_key ;
2068 struct lock_class_key s_umount_key ;
2069 struct lock_class_key s_vfs_rename_key ;
2070 struct lock_class_key i_lock_key ;
2071 struct lock_class_key i_mutex_key ;
2072 struct lock_class_key i_mutex_dir_key ;
2073};
2074#line 12 "include/linux/mod_devicetable.h"
2075typedef unsigned long kernel_ulong_t;
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 269 "include/linux/mod_devicetable.h"
2084struct input_device_id {
2085 kernel_ulong_t flags ;
2086 __u16 bustype ;
2087 __u16 vendor ;
2088 __u16 product ;
2089 __u16 version ;
2090 kernel_ulong_t evbit[1U] ;
2091 kernel_ulong_t keybit[12U] ;
2092 kernel_ulong_t relbit[1U] ;
2093 kernel_ulong_t absbit[1U] ;
2094 kernel_ulong_t mscbit[1U] ;
2095 kernel_ulong_t ledbit[1U] ;
2096 kernel_ulong_t sndbit[1U] ;
2097 kernel_ulong_t ffbit[2U] ;
2098 kernel_ulong_t swbit[1U] ;
2099 kernel_ulong_t driver_info ;
2100};
2101#line 584
2102struct ff_device;
2103#line 584
2104struct input_mt_slot;
2105#line 584
2106struct input_handle;
2107#line 584 "include/linux/mod_devicetable.h"
2108struct input_dev {
2109 char const *name ;
2110 char const *phys ;
2111 char const *uniq ;
2112 struct input_id id ;
2113 unsigned long propbit[1U] ;
2114 unsigned long evbit[1U] ;
2115 unsigned long keybit[12U] ;
2116 unsigned long relbit[1U] ;
2117 unsigned long absbit[1U] ;
2118 unsigned long mscbit[1U] ;
2119 unsigned long ledbit[1U] ;
2120 unsigned long sndbit[1U] ;
2121 unsigned long ffbit[2U] ;
2122 unsigned long swbit[1U] ;
2123 unsigned int hint_events_per_packet ;
2124 unsigned int keycodemax ;
2125 unsigned int keycodesize ;
2126 void *keycode ;
2127 int (*setkeycode)(struct input_dev * , struct input_keymap_entry const * , unsigned int * ) ;
2128 int (*getkeycode)(struct input_dev * , struct input_keymap_entry * ) ;
2129 struct ff_device *ff ;
2130 unsigned int repeat_key ;
2131 struct timer_list timer ;
2132 int rep[2U] ;
2133 struct input_mt_slot *mt ;
2134 int mtsize ;
2135 int slot ;
2136 int trkid ;
2137 struct input_absinfo *absinfo ;
2138 unsigned long key[12U] ;
2139 unsigned long led[1U] ;
2140 unsigned long snd[1U] ;
2141 unsigned long sw[1U] ;
2142 int (*open)(struct input_dev * ) ;
2143 void (*close)(struct input_dev * ) ;
2144 int (*flush)(struct input_dev * , struct file * ) ;
2145 int (*event)(struct input_dev * , unsigned int , unsigned int , int ) ;
2146 struct input_handle *grab ;
2147 spinlock_t event_lock ;
2148 struct mutex mutex ;
2149 unsigned int users ;
2150 bool going_away ;
2151 bool sync ;
2152 struct device dev ;
2153 struct list_head h_list ;
2154 struct list_head node ;
2155};
2156#line 1319 "include/linux/input.h"
2157struct input_handler {
2158 void *private ;
2159 void (*event)(struct input_handle * , unsigned int , unsigned int , int ) ;
2160 bool (*filter)(struct input_handle * , unsigned int , unsigned int , int ) ;
2161 bool (*match)(struct input_handler * , struct input_dev * ) ;
2162 int (*connect)(struct input_handler * , struct input_dev * , struct input_device_id const * ) ;
2163 void (*disconnect)(struct input_handle * ) ;
2164 void (*start)(struct input_handle * ) ;
2165 struct file_operations const *fops ;
2166 int minor ;
2167 char const *name ;
2168 struct input_device_id const *id_table ;
2169 struct list_head h_list ;
2170 struct list_head node ;
2171};
2172#line 1429 "include/linux/input.h"
2173struct input_handle {
2174 void *private ;
2175 int open ;
2176 char const *name ;
2177 struct input_dev *dev ;
2178 struct input_handler *handler ;
2179 struct list_head d_node ;
2180 struct list_head h_node ;
2181};
2182#line 1591 "include/linux/input.h"
2183struct ff_device {
2184 int (*upload)(struct input_dev * , struct ff_effect * , struct ff_effect * ) ;
2185 int (*erase)(struct input_dev * , int ) ;
2186 int (*playback)(struct input_dev * , int , int ) ;
2187 void (*set_gain)(struct input_dev * , u16 ) ;
2188 void (*set_autocenter)(struct input_dev * , u16 ) ;
2189 void (*destroy)(struct ff_device * ) ;
2190 void *private ;
2191 unsigned long ffbit[2U] ;
2192 struct mutex mutex ;
2193 int max_effects ;
2194 struct ff_effect *effects ;
2195 struct file *effect_owners[0U] ;
2196};
2197#line 1650
2198enum irqreturn {
2199 IRQ_NONE = 0,
2200 IRQ_HANDLED = 1,
2201 IRQ_WAKE_THREAD = 2
2202} ;
2203#line 16 "include/linux/irqreturn.h"
2204typedef enum irqreturn irqreturn_t;
2205#line 41 "include/asm-generic/sections.h"
2206struct exception_table_entry {
2207 unsigned long insn ;
2208 unsigned long fixup ;
2209};
2210#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2211union __anonunion_ldv_22743_153 {
2212 unsigned long index ;
2213 void *freelist ;
2214};
2215#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2216struct __anonstruct_ldv_22753_157 {
2217 unsigned short inuse ;
2218 unsigned short objects : 15 ;
2219 unsigned char frozen : 1 ;
2220};
2221#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2222union __anonunion_ldv_22754_156 {
2223 atomic_t _mapcount ;
2224 struct __anonstruct_ldv_22753_157 ldv_22753 ;
2225};
2226#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2227struct __anonstruct_ldv_22756_155 {
2228 union __anonunion_ldv_22754_156 ldv_22754 ;
2229 atomic_t _count ;
2230};
2231#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2232union __anonunion_ldv_22757_154 {
2233 unsigned long counters ;
2234 struct __anonstruct_ldv_22756_155 ldv_22756 ;
2235};
2236#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2237struct __anonstruct_ldv_22758_152 {
2238 union __anonunion_ldv_22743_153 ldv_22743 ;
2239 union __anonunion_ldv_22757_154 ldv_22757 ;
2240};
2241#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2242struct __anonstruct_ldv_22765_159 {
2243 struct page *next ;
2244 int pages ;
2245 int pobjects ;
2246};
2247#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2248union __anonunion_ldv_22766_158 {
2249 struct list_head lru ;
2250 struct __anonstruct_ldv_22765_159 ldv_22765 ;
2251};
2252#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2253union __anonunion_ldv_22771_160 {
2254 unsigned long private ;
2255 struct kmem_cache *slab ;
2256 struct page *first_page ;
2257};
2258#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
2259struct page {
2260 unsigned long flags ;
2261 struct address_space *mapping ;
2262 struct __anonstruct_ldv_22758_152 ldv_22758 ;
2263 union __anonunion_ldv_22766_158 ldv_22766 ;
2264 union __anonunion_ldv_22771_160 ldv_22771 ;
2265 unsigned long debug_flags ;
2266};
2267#line 192 "include/linux/mm_types.h"
2268struct __anonstruct_vm_set_162 {
2269 struct list_head list ;
2270 void *parent ;
2271 struct vm_area_struct *head ;
2272};
2273#line 192 "include/linux/mm_types.h"
2274union __anonunion_shared_161 {
2275 struct __anonstruct_vm_set_162 vm_set ;
2276 struct raw_prio_tree_node prio_tree_node ;
2277};
2278#line 192
2279struct anon_vma;
2280#line 192
2281struct vm_operations_struct;
2282#line 192
2283struct mempolicy;
2284#line 192 "include/linux/mm_types.h"
2285struct vm_area_struct {
2286 struct mm_struct *vm_mm ;
2287 unsigned long vm_start ;
2288 unsigned long vm_end ;
2289 struct vm_area_struct *vm_next ;
2290 struct vm_area_struct *vm_prev ;
2291 pgprot_t vm_page_prot ;
2292 unsigned long vm_flags ;
2293 struct rb_node vm_rb ;
2294 union __anonunion_shared_161 shared ;
2295 struct list_head anon_vma_chain ;
2296 struct anon_vma *anon_vma ;
2297 struct vm_operations_struct const *vm_ops ;
2298 unsigned long vm_pgoff ;
2299 struct file *vm_file ;
2300 void *vm_private_data ;
2301 struct mempolicy *vm_policy ;
2302};
2303#line 255 "include/linux/mm_types.h"
2304struct core_thread {
2305 struct task_struct *task ;
2306 struct core_thread *next ;
2307};
2308#line 261 "include/linux/mm_types.h"
2309struct core_state {
2310 atomic_t nr_threads ;
2311 struct core_thread dumper ;
2312 struct completion startup ;
2313};
2314#line 274 "include/linux/mm_types.h"
2315struct mm_rss_stat {
2316 atomic_long_t count[3U] ;
2317};
2318#line 287
2319struct linux_binfmt;
2320#line 287
2321struct mmu_notifier_mm;
2322#line 287 "include/linux/mm_types.h"
2323struct mm_struct {
2324 struct vm_area_struct *mmap ;
2325 struct rb_root mm_rb ;
2326 struct vm_area_struct *mmap_cache ;
2327 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
2328 unsigned long , unsigned long ) ;
2329 void (*unmap_area)(struct mm_struct * , unsigned long ) ;
2330 unsigned long mmap_base ;
2331 unsigned long task_size ;
2332 unsigned long cached_hole_size ;
2333 unsigned long free_area_cache ;
2334 pgd_t *pgd ;
2335 atomic_t mm_users ;
2336 atomic_t mm_count ;
2337 int map_count ;
2338 spinlock_t page_table_lock ;
2339 struct rw_semaphore mmap_sem ;
2340 struct list_head mmlist ;
2341 unsigned long hiwater_rss ;
2342 unsigned long hiwater_vm ;
2343 unsigned long total_vm ;
2344 unsigned long locked_vm ;
2345 unsigned long pinned_vm ;
2346 unsigned long shared_vm ;
2347 unsigned long exec_vm ;
2348 unsigned long stack_vm ;
2349 unsigned long reserved_vm ;
2350 unsigned long def_flags ;
2351 unsigned long nr_ptes ;
2352 unsigned long start_code ;
2353 unsigned long end_code ;
2354 unsigned long start_data ;
2355 unsigned long end_data ;
2356 unsigned long start_brk ;
2357 unsigned long brk ;
2358 unsigned long start_stack ;
2359 unsigned long arg_start ;
2360 unsigned long arg_end ;
2361 unsigned long env_start ;
2362 unsigned long env_end ;
2363 unsigned long saved_auxv[44U] ;
2364 struct mm_rss_stat rss_stat ;
2365 struct linux_binfmt *binfmt ;
2366 cpumask_var_t cpu_vm_mask_var ;
2367 mm_context_t context ;
2368 unsigned int faultstamp ;
2369 unsigned int token_priority ;
2370 unsigned int last_interval ;
2371 unsigned long flags ;
2372 struct core_state *core_state ;
2373 spinlock_t ioctx_lock ;
2374 struct hlist_head ioctx_list ;
2375 struct task_struct *owner ;
2376 struct file *exe_file ;
2377 unsigned long num_exe_file_vmas ;
2378 struct mmu_notifier_mm *mmu_notifier_mm ;
2379 pgtable_t pmd_huge_pte ;
2380 struct cpumask cpumask_allocation ;
2381};
2382#line 178 "include/linux/mm.h"
2383struct vm_fault {
2384 unsigned int flags ;
2385 unsigned long pgoff ;
2386 void *virtual_address ;
2387 struct page *page ;
2388};
2389#line 195 "include/linux/mm.h"
2390struct vm_operations_struct {
2391 void (*open)(struct vm_area_struct * ) ;
2392 void (*close)(struct vm_area_struct * ) ;
2393 int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
2394 int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
2395 int (*access)(struct vm_area_struct * , unsigned long , void * , int , int ) ;
2396 int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
2397 struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long ) ;
2398 int (*migrate)(struct vm_area_struct * , nodemask_t const * , nodemask_t const * ,
2399 unsigned long ) ;
2400};
2401#line 90 "include/xen/interface/grant_table.h"
2402typedef uint32_t grant_ref_t;
2403#line 132 "include/xen/interface/io/fbif.h"
2404struct xenkbd_motion {
2405 uint8_t type ;
2406 int32_t rel_x ;
2407 int32_t rel_y ;
2408 int32_t rel_z ;
2409};
2410#line 54 "include/xen/interface/io/kbdif.h"
2411struct xenkbd_key {
2412 uint8_t type ;
2413 uint8_t pressed ;
2414 uint32_t keycode ;
2415};
2416#line 60 "include/xen/interface/io/kbdif.h"
2417struct xenkbd_position {
2418 uint8_t type ;
2419 int32_t abs_x ;
2420 int32_t abs_y ;
2421 int32_t rel_z ;
2422};
2423#line 67 "include/xen/interface/io/kbdif.h"
2424union xenkbd_in_event {
2425 uint8_t type ;
2426 struct xenkbd_motion motion ;
2427 struct xenkbd_key key ;
2428 struct xenkbd_position pos ;
2429 char pad[40U] ;
2430};
2431#line 92 "include/xen/interface/io/kbdif.h"
2432struct xenkbd_page {
2433 uint32_t in_cons ;
2434 uint32_t in_prod ;
2435 uint32_t out_cons ;
2436 uint32_t out_prod ;
2437};
2438#line 115
2439enum xenbus_state {
2440 XenbusStateUnknown = 0,
2441 XenbusStateInitialising = 1,
2442 XenbusStateInitWait = 2,
2443 XenbusStateInitialised = 3,
2444 XenbusStateConnected = 4,
2445 XenbusStateClosing = 5,
2446 XenbusStateClosed = 6,
2447 XenbusStateReconfiguring = 7,
2448 XenbusStateReconfigured = 8
2449} ;
2450#line 89 "include/xen/interface/io/xs_wire.h"
2451struct xenbus_watch {
2452 struct list_head list ;
2453 char const *node ;
2454 void (*callback)(struct xenbus_watch * , char const ** , unsigned int ) ;
2455};
2456#line 60 "include/xen/xenbus.h"
2457struct xenbus_device {
2458 char const *devicetype ;
2459 char const *nodename ;
2460 char const *otherend ;
2461 int otherend_id ;
2462 struct xenbus_watch otherend_watch ;
2463 struct device dev ;
2464 enum xenbus_state state ;
2465 struct completion down ;
2466};
2467#line 80 "include/xen/xenbus.h"
2468struct xenbus_device_id {
2469 char devicetype[32U] ;
2470};
2471#line 85 "include/xen/xenbus.h"
2472struct xenbus_driver {
2473 struct xenbus_device_id const *ids ;
2474 int (*probe)(struct xenbus_device * , struct xenbus_device_id const * ) ;
2475 void (*otherend_changed)(struct xenbus_device * , enum xenbus_state ) ;
2476 int (*remove)(struct xenbus_device * ) ;
2477 int (*suspend)(struct xenbus_device * ) ;
2478 int (*resume)(struct xenbus_device * ) ;
2479 int (*uevent)(struct xenbus_device * , struct kobj_uevent_env * ) ;
2480 struct device_driver driver ;
2481 int (*read_otherend_details)(struct xenbus_device * ) ;
2482 int (*is_ready)(struct xenbus_device * ) ;
2483};
2484#line 118 "include/xen/xenbus.h"
2485struct xenbus_transaction {
2486 u32 id ;
2487};
2488#line 222 "include/xen/xenbus.h"
2489struct xenkbd_info {
2490 struct input_dev *kbd ;
2491 struct input_dev *ptr ;
2492 struct xenkbd_page *page ;
2493 int gref ;
2494 int irq ;
2495 struct xenbus_device *xbdev ;
2496 char phys[32U] ;
2497};
2498#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
2499void ldv_spin_lock(void) ;
2500#line 3
2501void ldv_spin_unlock(void) ;
2502#line 4
2503int ldv_spin_trylock(void) ;
2504#line 82 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2505__inline static void __set_bit(int nr , unsigned long volatile *addr )
2506{ long volatile *__cil_tmp3 ;
2507
2508 {
2509#line 84
2510 __cil_tmp3 = (long volatile *)addr;
2511#line 84
2512 __asm__ volatile ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
2513#line 85
2514 return;
2515}
2516}
2517#line 315 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2518__inline static int variable_test_bit(int nr , unsigned long const volatile *addr )
2519{ int oldbit ;
2520 unsigned long *__cil_tmp4 ;
2521
2522 {
2523#line 319
2524 __cil_tmp4 = (unsigned long *)addr;
2525#line 319
2526 __asm__ volatile ("bt %2,%1\n\tsbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4),
2527 "Ir" (nr));
2528#line 324
2529 return (oldbit);
2530}
2531}
2532#line 101 "include/linux/printk.h"
2533extern int printk(char const * , ...) ;
2534#line 323 "include/linux/kernel.h"
2535extern int snprintf(char * , size_t , char const * , ...) ;
2536#line 61 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_64_types.h"
2537extern unsigned long __phys_addr(unsigned long ) ;
2538#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
2539extern void *memset(void * , int , size_t ) ;
2540#line 11 "include/xen/xen.h"
2541extern enum xen_domain_type xen_domain_type ;
2542#line 38 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/hypervisor.h"
2543extern struct start_info *xen_start_info ;
2544#line 346 "include/linux/gfp.h"
2545extern unsigned long __get_free_pages(gfp_t , unsigned int ) ;
2546#line 361
2547extern void free_pages(unsigned long , unsigned int ) ;
2548#line 26 "include/linux/export.h"
2549extern struct module __this_module ;
2550#line 161 "include/linux/slab.h"
2551extern void kfree(void const * ) ;
2552#line 220 "include/linux/slub_def.h"
2553extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2554#line 223
2555void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2556#line 353 "include/linux/slab.h"
2557__inline static void *kzalloc(size_t size , gfp_t flags ) ;
2558#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
2559extern void *__VERIFIER_nondet_pointer(void) ;
2560#line 11
2561void ldv_check_alloc_flags(gfp_t flags ) ;
2562#line 12
2563void ldv_check_alloc_nonatomic(void) ;
2564#line 14
2565struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2566#line 792 "include/linux/device.h"
2567extern void *dev_get_drvdata(struct device const * ) ;
2568#line 793
2569extern int dev_set_drvdata(struct device * , void * ) ;
2570#line 1456 "include/linux/input.h"
2571extern struct input_dev *input_allocate_device(void) ;
2572#line 1457
2573extern void input_free_device(struct input_dev * ) ;
2574#line 1480
2575extern int input_register_device(struct input_dev * ) ;
2576#line 1481
2577extern void input_unregister_device(struct input_dev * ) ;
2578#line 1502
2579extern void input_event(struct input_dev * , unsigned int , unsigned int , int ) ;
2580#line 1505 "include/linux/input.h"
2581__inline static void input_report_key(struct input_dev *dev , unsigned int code ,
2582 int value )
2583{ int __cil_tmp4 ;
2584
2585 {
2586 {
2587#line 1507
2588 __cil_tmp4 = value != 0;
2589#line 1507
2590 input_event(dev, 1U, code, __cil_tmp4);
2591 }
2592#line 1508
2593 return;
2594}
2595}
2596#line 1510 "include/linux/input.h"
2597__inline static void input_report_rel(struct input_dev *dev , unsigned int code ,
2598 int value )
2599{
2600
2601 {
2602 {
2603#line 1512
2604 input_event(dev, 2U, code, value);
2605 }
2606#line 1513
2607 return;
2608}
2609}
2610#line 1515 "include/linux/input.h"
2611__inline static void input_report_abs(struct input_dev *dev , unsigned int code ,
2612 int value )
2613{
2614
2615 {
2616 {
2617#line 1517
2618 input_event(dev, 3U, code, value);
2619 }
2620#line 1518
2621 return;
2622}
2623}
2624#line 1530 "include/linux/input.h"
2625__inline static void input_sync(struct input_dev *dev )
2626{
2627
2628 {
2629 {
2630#line 1532
2631 input_event(dev, 0U, 0U, 0);
2632 }
2633#line 1533
2634 return;
2635}
2636}
2637#line 1540
2638extern void input_set_capability(struct input_dev * , unsigned int , unsigned int ) ;
2639#line 1558
2640extern void input_set_abs_params(struct input_dev * , unsigned int , int , int ,
2641 int , int ) ;
2642#line 11 "include/xen/events.h"
2643extern int bind_evtchn_to_irqhandler(unsigned int , irqreturn_t (*)(int , void * ) ,
2644 unsigned long , char const * , void * ) ;
2645#line 38
2646extern void unbind_from_irqhandler(unsigned int , void * ) ;
2647#line 57
2648extern void notify_remote_via_irq(int ) ;
2649#line 16 "include/xen/features.h"
2650extern u8 xen_features[32U] ;
2651#line 18 "include/xen/features.h"
2652__inline static int xen_feature(int flag )
2653{ unsigned long __cil_tmp2 ;
2654 unsigned long __cil_tmp3 ;
2655 u8 __cil_tmp4 ;
2656
2657 {
2658 {
2659#line 20
2660 __cil_tmp2 = flag * 1UL;
2661#line 20
2662 __cil_tmp3 = (unsigned long )(xen_features) + __cil_tmp2;
2663#line 20
2664 __cil_tmp4 = *((u8 *)__cil_tmp3);
2665#line 20
2666 return ((int )__cil_tmp4);
2667 }
2668}
2669}
2670#line 63 "include/xen/grant_table.h"
2671extern int gnttab_grant_foreign_access(domid_t , unsigned long , int ) ;
2672#line 89
2673extern int gnttab_end_foreign_access_ref(grant_ref_t , int ) ;
2674#line 45 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/page.h"
2675extern unsigned long get_phys_to_machine(unsigned long ) ;
2676#line 57 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/page.h"
2677__inline static unsigned long pfn_to_mfn(unsigned long pfn )
2678{ unsigned long mfn ;
2679 int tmp ;
2680
2681 {
2682 {
2683#line 61
2684 tmp = xen_feature(2);
2685 }
2686#line 61
2687 if (tmp != 0) {
2688#line 62
2689 return (pfn);
2690 } else {
2691
2692 }
2693 {
2694#line 64
2695 mfn = get_phys_to_machine(pfn);
2696 }
2697#line 66
2698 if (mfn != 0xffffffffffffffffUL) {
2699#line 67
2700 mfn = mfn & 4611686018427387903UL;
2701 } else {
2702
2703 }
2704#line 69
2705 return (mfn);
2706}
2707}
2708#line 114 "include/xen/xenbus.h"
2709extern int xenbus_register_frontend(struct xenbus_driver * ) ;
2710#line 117
2711extern void xenbus_unregister_driver(struct xenbus_driver * ) ;
2712#line 138
2713extern int xenbus_transaction_start(struct xenbus_transaction * ) ;
2714#line 139
2715extern int xenbus_transaction_end(u32 , int ) ;
2716#line 143
2717extern int xenbus_scanf(u32 , char const * , char const * , char const * , ...) ;
2718#line 148
2719extern int xenbus_printf(u32 , char const * , char const * , char const *
2720 , ...) ;
2721#line 197
2722extern int xenbus_switch_state(struct xenbus_device * , enum xenbus_state ) ;
2723#line 208
2724extern int xenbus_alloc_evtchn(struct xenbus_device * , int * ) ;
2725#line 210
2726extern int xenbus_free_evtchn(struct xenbus_device * , int ) ;
2727#line 217
2728extern void xenbus_dev_fatal(struct xenbus_device * , int , char const * , ...) ;
2729#line 221
2730extern int xenbus_frontend_closed(struct xenbus_device * ) ;
2731#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
2732static int xenkbd_remove(struct xenbus_device *dev ) ;
2733#line 59
2734static int xenkbd_connect_backend(struct xenbus_device *dev , struct xenkbd_info *info ) ;
2735#line 60
2736static void xenkbd_disconnect_backend(struct xenkbd_info *info ) ;
2737#line 67 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
2738static irqreturn_t input_handler(int rq , void *dev_id )
2739{ struct xenkbd_info *info ;
2740 struct xenkbd_page *page ;
2741 __u32 cons ;
2742 __u32 prod ;
2743 union xenkbd_in_event *event ;
2744 struct input_dev *dev ;
2745 int tmp ;
2746 int tmp___0 ;
2747 unsigned long __cil_tmp11 ;
2748 unsigned long __cil_tmp12 ;
2749 unsigned long __cil_tmp13 ;
2750 unsigned long __cil_tmp14 ;
2751 uint32_t __cil_tmp15 ;
2752 unsigned int __cil_tmp16 ;
2753 unsigned long __cil_tmp17 ;
2754 unsigned long __cil_tmp18 ;
2755 union xenkbd_in_event *__cil_tmp19 ;
2756 unsigned long __cil_tmp20 ;
2757 unsigned long __cil_tmp21 ;
2758 uint8_t __cil_tmp22 ;
2759 unsigned long __cil_tmp23 ;
2760 unsigned long __cil_tmp24 ;
2761 unsigned long __cil_tmp25 ;
2762 int32_t __cil_tmp26 ;
2763 unsigned long __cil_tmp27 ;
2764 unsigned long __cil_tmp28 ;
2765 unsigned long __cil_tmp29 ;
2766 int32_t __cil_tmp30 ;
2767 unsigned long __cil_tmp31 ;
2768 unsigned long __cil_tmp32 ;
2769 unsigned long __cil_tmp33 ;
2770 int32_t __cil_tmp34 ;
2771 unsigned long __cil_tmp35 ;
2772 unsigned long __cil_tmp36 ;
2773 unsigned long __cil_tmp37 ;
2774 int32_t __cil_tmp38 ;
2775 int32_t __cil_tmp39 ;
2776 unsigned long __cil_tmp40 ;
2777 unsigned long __cil_tmp41 ;
2778 unsigned long __cil_tmp42 ;
2779 uint32_t __cil_tmp43 ;
2780 int __cil_tmp44 ;
2781 struct input_dev *__cil_tmp45 ;
2782 unsigned long __cil_tmp46 ;
2783 unsigned long __cil_tmp47 ;
2784 unsigned long (*__cil_tmp48)[12U] ;
2785 unsigned long const volatile *__cil_tmp49 ;
2786 unsigned long __cil_tmp50 ;
2787 unsigned long __cil_tmp51 ;
2788 unsigned long __cil_tmp52 ;
2789 uint32_t __cil_tmp53 ;
2790 int __cil_tmp54 ;
2791 unsigned long __cil_tmp55 ;
2792 unsigned long __cil_tmp56 ;
2793 struct input_dev *__cil_tmp57 ;
2794 unsigned long __cil_tmp58 ;
2795 unsigned long __cil_tmp59 ;
2796 unsigned long (*__cil_tmp60)[12U] ;
2797 unsigned long const volatile *__cil_tmp61 ;
2798 unsigned long __cil_tmp62 ;
2799 unsigned long __cil_tmp63 ;
2800 struct input_dev *__cil_tmp64 ;
2801 unsigned long __cil_tmp65 ;
2802 unsigned long __cil_tmp66 ;
2803 unsigned long __cil_tmp67 ;
2804 unsigned long __cil_tmp68 ;
2805 unsigned long __cil_tmp69 ;
2806 uint32_t __cil_tmp70 ;
2807 unsigned long __cil_tmp71 ;
2808 unsigned long __cil_tmp72 ;
2809 unsigned long __cil_tmp73 ;
2810 uint8_t __cil_tmp74 ;
2811 int __cil_tmp75 ;
2812 unsigned long __cil_tmp76 ;
2813 unsigned long __cil_tmp77 ;
2814 unsigned long __cil_tmp78 ;
2815 uint32_t __cil_tmp79 ;
2816 unsigned long __cil_tmp80 ;
2817 unsigned long __cil_tmp81 ;
2818 unsigned long __cil_tmp82 ;
2819 int32_t __cil_tmp83 ;
2820 unsigned long __cil_tmp84 ;
2821 unsigned long __cil_tmp85 ;
2822 unsigned long __cil_tmp86 ;
2823 int32_t __cil_tmp87 ;
2824 unsigned long __cil_tmp88 ;
2825 unsigned long __cil_tmp89 ;
2826 unsigned long __cil_tmp90 ;
2827 int32_t __cil_tmp91 ;
2828 unsigned long __cil_tmp92 ;
2829 unsigned long __cil_tmp93 ;
2830 unsigned long __cil_tmp94 ;
2831 int32_t __cil_tmp95 ;
2832 int32_t __cil_tmp96 ;
2833 struct input_dev *__cil_tmp97 ;
2834 unsigned long __cil_tmp98 ;
2835 unsigned long __cil_tmp99 ;
2836 unsigned long __cil_tmp100 ;
2837 unsigned long __cil_tmp101 ;
2838 int __cil_tmp102 ;
2839
2840 {
2841#line 69
2842 info = (struct xenkbd_info *)dev_id;
2843#line 70
2844 __cil_tmp11 = (unsigned long )info;
2845#line 70
2846 __cil_tmp12 = __cil_tmp11 + 16;
2847#line 70
2848 page = *((struct xenkbd_page **)__cil_tmp12);
2849#line 73
2850 __cil_tmp13 = (unsigned long )page;
2851#line 73
2852 __cil_tmp14 = __cil_tmp13 + 4;
2853#line 73
2854 prod = *((uint32_t *)__cil_tmp14);
2855 {
2856#line 74
2857 __cil_tmp15 = *((uint32_t *)page);
2858#line 74
2859 if (__cil_tmp15 == prod) {
2860#line 75
2861 return ((irqreturn_t )1);
2862 } else {
2863
2864 }
2865 }
2866#line 76
2867 __asm__ volatile ("lfence": : : "memory");
2868#line 77
2869 cons = *((uint32_t *)page);
2870#line 77
2871 goto ldv_26534;
2872 ldv_26533:
2873#line 80
2874 __cil_tmp16 = cons % 51U;
2875#line 80
2876 __cil_tmp17 = (unsigned long )__cil_tmp16;
2877#line 80
2878 __cil_tmp18 = __cil_tmp17 + 1024UL;
2879#line 80
2880 __cil_tmp19 = (union xenkbd_in_event *)page;
2881#line 80
2882 event = __cil_tmp19 + __cil_tmp18;
2883#line 82
2884 __cil_tmp20 = (unsigned long )info;
2885#line 82
2886 __cil_tmp21 = __cil_tmp20 + 8;
2887#line 82
2888 dev = *((struct input_dev **)__cil_tmp21);
2889 {
2890#line 83
2891 __cil_tmp22 = *((uint8_t *)event);
2892#line 84
2893 if ((int )__cil_tmp22 == 1) {
2894#line 84
2895 goto case_1;
2896 } else
2897#line 91
2898 if ((int )__cil_tmp22 == 3) {
2899#line 91
2900 goto case_3;
2901 } else
2902#line 104
2903 if ((int )__cil_tmp22 == 4) {
2904#line 104
2905 goto case_4;
2906 } else
2907#line 83
2908 if (0) {
2909 case_1:
2910 {
2911#line 85
2912 __cil_tmp23 = 0 + 4;
2913#line 85
2914 __cil_tmp24 = (unsigned long )event;
2915#line 85
2916 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
2917#line 85
2918 __cil_tmp26 = *((int32_t *)__cil_tmp25);
2919#line 85
2920 input_report_rel(dev, 0U, __cil_tmp26);
2921#line 86
2922 __cil_tmp27 = 0 + 8;
2923#line 86
2924 __cil_tmp28 = (unsigned long )event;
2925#line 86
2926 __cil_tmp29 = __cil_tmp28 + __cil_tmp27;
2927#line 86
2928 __cil_tmp30 = *((int32_t *)__cil_tmp29);
2929#line 86
2930 input_report_rel(dev, 1U, __cil_tmp30);
2931 }
2932 {
2933#line 87
2934 __cil_tmp31 = 0 + 12;
2935#line 87
2936 __cil_tmp32 = (unsigned long )event;
2937#line 87
2938 __cil_tmp33 = __cil_tmp32 + __cil_tmp31;
2939#line 87
2940 __cil_tmp34 = *((int32_t *)__cil_tmp33);
2941#line 87
2942 if (__cil_tmp34 != 0) {
2943 {
2944#line 88
2945 __cil_tmp35 = 0 + 12;
2946#line 88
2947 __cil_tmp36 = (unsigned long )event;
2948#line 88
2949 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
2950#line 88
2951 __cil_tmp38 = *((int32_t *)__cil_tmp37);
2952#line 88
2953 __cil_tmp39 = - __cil_tmp38;
2954#line 88
2955 input_report_rel(dev, 8U, __cil_tmp39);
2956 }
2957 } else {
2958
2959 }
2960 }
2961#line 90
2962 goto ldv_26530;
2963 case_3:
2964 {
2965#line 92
2966 dev = (struct input_dev *)0;
2967#line 93
2968 __cil_tmp40 = 0 + 4;
2969#line 93
2970 __cil_tmp41 = (unsigned long )event;
2971#line 93
2972 __cil_tmp42 = __cil_tmp41 + __cil_tmp40;
2973#line 93
2974 __cil_tmp43 = *((uint32_t *)__cil_tmp42);
2975#line 93
2976 __cil_tmp44 = (int )__cil_tmp43;
2977#line 93
2978 __cil_tmp45 = *((struct input_dev **)info);
2979#line 93
2980 __cil_tmp46 = (unsigned long )__cil_tmp45;
2981#line 93
2982 __cil_tmp47 = __cil_tmp46 + 48;
2983#line 93
2984 __cil_tmp48 = (unsigned long (*)[12U])__cil_tmp47;
2985#line 93
2986 __cil_tmp49 = (unsigned long const volatile *)__cil_tmp48;
2987#line 93
2988 tmp = variable_test_bit(__cil_tmp44, __cil_tmp49);
2989 }
2990#line 93
2991 if (tmp != 0) {
2992#line 94
2993 dev = *((struct input_dev **)info);
2994 } else {
2995
2996 }
2997 {
2998#line 95
2999 __cil_tmp50 = 0 + 4;
3000#line 95
3001 __cil_tmp51 = (unsigned long )event;
3002#line 95
3003 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
3004#line 95
3005 __cil_tmp53 = *((uint32_t *)__cil_tmp52);
3006#line 95
3007 __cil_tmp54 = (int )__cil_tmp53;
3008#line 95
3009 __cil_tmp55 = (unsigned long )info;
3010#line 95
3011 __cil_tmp56 = __cil_tmp55 + 8;
3012#line 95
3013 __cil_tmp57 = *((struct input_dev **)__cil_tmp56);
3014#line 95
3015 __cil_tmp58 = (unsigned long )__cil_tmp57;
3016#line 95
3017 __cil_tmp59 = __cil_tmp58 + 48;
3018#line 95
3019 __cil_tmp60 = (unsigned long (*)[12U])__cil_tmp59;
3020#line 95
3021 __cil_tmp61 = (unsigned long const volatile *)__cil_tmp60;
3022#line 95
3023 tmp___0 = variable_test_bit(__cil_tmp54, __cil_tmp61);
3024 }
3025#line 95
3026 if (tmp___0 != 0) {
3027#line 96
3028 __cil_tmp62 = (unsigned long )info;
3029#line 96
3030 __cil_tmp63 = __cil_tmp62 + 8;
3031#line 96
3032 dev = *((struct input_dev **)__cil_tmp63);
3033 } else {
3034
3035 }
3036 {
3037#line 97
3038 __cil_tmp64 = (struct input_dev *)0;
3039#line 97
3040 __cil_tmp65 = (unsigned long )__cil_tmp64;
3041#line 97
3042 __cil_tmp66 = (unsigned long )dev;
3043#line 97
3044 if (__cil_tmp66 != __cil_tmp65) {
3045 {
3046#line 98
3047 __cil_tmp67 = 0 + 4;
3048#line 98
3049 __cil_tmp68 = (unsigned long )event;
3050#line 98
3051 __cil_tmp69 = __cil_tmp68 + __cil_tmp67;
3052#line 98
3053 __cil_tmp70 = *((uint32_t *)__cil_tmp69);
3054#line 98
3055 __cil_tmp71 = 0 + 1;
3056#line 98
3057 __cil_tmp72 = (unsigned long )event;
3058#line 98
3059 __cil_tmp73 = __cil_tmp72 + __cil_tmp71;
3060#line 98
3061 __cil_tmp74 = *((uint8_t *)__cil_tmp73);
3062#line 98
3063 __cil_tmp75 = (int )__cil_tmp74;
3064#line 98
3065 input_report_key(dev, __cil_tmp70, __cil_tmp75);
3066 }
3067 } else {
3068 {
3069#line 101
3070 __cil_tmp76 = 0 + 4;
3071#line 101
3072 __cil_tmp77 = (unsigned long )event;
3073#line 101
3074 __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
3075#line 101
3076 __cil_tmp79 = *((uint32_t *)__cil_tmp78);
3077#line 101
3078 printk("<4>xen_kbdfront: unhandled keycode 0x%x\n", __cil_tmp79);
3079 }
3080 }
3081 }
3082#line 103
3083 goto ldv_26530;
3084 case_4:
3085 {
3086#line 105
3087 __cil_tmp80 = 0 + 4;
3088#line 105
3089 __cil_tmp81 = (unsigned long )event;
3090#line 105
3091 __cil_tmp82 = __cil_tmp81 + __cil_tmp80;
3092#line 105
3093 __cil_tmp83 = *((int32_t *)__cil_tmp82);
3094#line 105
3095 input_report_abs(dev, 0U, __cil_tmp83);
3096#line 106
3097 __cil_tmp84 = 0 + 8;
3098#line 106
3099 __cil_tmp85 = (unsigned long )event;
3100#line 106
3101 __cil_tmp86 = __cil_tmp85 + __cil_tmp84;
3102#line 106
3103 __cil_tmp87 = *((int32_t *)__cil_tmp86);
3104#line 106
3105 input_report_abs(dev, 1U, __cil_tmp87);
3106 }
3107 {
3108#line 107
3109 __cil_tmp88 = 0 + 12;
3110#line 107
3111 __cil_tmp89 = (unsigned long )event;
3112#line 107
3113 __cil_tmp90 = __cil_tmp89 + __cil_tmp88;
3114#line 107
3115 __cil_tmp91 = *((int32_t *)__cil_tmp90);
3116#line 107
3117 if (__cil_tmp91 != 0) {
3118 {
3119#line 108
3120 __cil_tmp92 = 0 + 12;
3121#line 108
3122 __cil_tmp93 = (unsigned long )event;
3123#line 108
3124 __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
3125#line 108
3126 __cil_tmp95 = *((int32_t *)__cil_tmp94);
3127#line 108
3128 __cil_tmp96 = - __cil_tmp95;
3129#line 108
3130 input_report_rel(dev, 8U, __cil_tmp96);
3131 }
3132 } else {
3133
3134 }
3135 }
3136#line 110
3137 goto ldv_26530;
3138 } else {
3139 switch_break: ;
3140 }
3141 }
3142 ldv_26530: ;
3143 {
3144#line 112
3145 __cil_tmp97 = (struct input_dev *)0;
3146#line 112
3147 __cil_tmp98 = (unsigned long )__cil_tmp97;
3148#line 112
3149 __cil_tmp99 = (unsigned long )dev;
3150#line 112
3151 if (__cil_tmp99 != __cil_tmp98) {
3152 {
3153#line 113
3154 input_sync(dev);
3155 }
3156 } else {
3157
3158 }
3159 }
3160#line 77
3161 cons = cons + 1U;
3162 ldv_26534: ;
3163#line 77
3164 if (cons != prod) {
3165#line 78
3166 goto ldv_26533;
3167 } else {
3168#line 80
3169 goto ldv_26535;
3170 }
3171 ldv_26535:
3172 {
3173#line 115
3174 __asm__ volatile ("mfence": : : "memory");
3175#line 116
3176 *((uint32_t *)page) = cons;
3177#line 117
3178 __cil_tmp100 = (unsigned long )info;
3179#line 117
3180 __cil_tmp101 = __cil_tmp100 + 28;
3181#line 117
3182 __cil_tmp102 = *((int *)__cil_tmp101);
3183#line 117
3184 notify_remote_via_irq(__cil_tmp102);
3185 }
3186#line 119
3187 return ((irqreturn_t )1);
3188}
3189}
3190#line 122 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
3191static int xenkbd_probe(struct xenbus_device *dev , struct xenbus_device_id const *id )
3192{ int ret ;
3193 int i ;
3194 int abs ;
3195 struct xenkbd_info *info ;
3196 struct input_dev *kbd ;
3197 struct input_dev *ptr ;
3198 void *tmp ;
3199 unsigned long tmp___0 ;
3200 struct xenbus_transaction __constr_expr_0 ;
3201 int tmp___1 ;
3202 struct xenbus_transaction __constr_expr_1 ;
3203 struct xenkbd_info *__cil_tmp14 ;
3204 unsigned long __cil_tmp15 ;
3205 unsigned long __cil_tmp16 ;
3206 unsigned long __cil_tmp17 ;
3207 unsigned long __cil_tmp18 ;
3208 struct device *__cil_tmp19 ;
3209 void *__cil_tmp20 ;
3210 unsigned long __cil_tmp21 ;
3211 unsigned long __cil_tmp22 ;
3212 unsigned long __cil_tmp23 ;
3213 unsigned long __cil_tmp24 ;
3214 unsigned long __cil_tmp25 ;
3215 unsigned long __cil_tmp26 ;
3216 unsigned long __cil_tmp27 ;
3217 unsigned long __cil_tmp28 ;
3218 char (*__cil_tmp29)[32U] ;
3219 char *__cil_tmp30 ;
3220 unsigned long __cil_tmp31 ;
3221 unsigned long __cil_tmp32 ;
3222 char const *__cil_tmp33 ;
3223 unsigned long __cil_tmp34 ;
3224 unsigned long __cil_tmp35 ;
3225 struct xenkbd_page *__cil_tmp36 ;
3226 unsigned long __cil_tmp37 ;
3227 unsigned long __cil_tmp38 ;
3228 unsigned long __cil_tmp39 ;
3229 struct xenkbd_page *__cil_tmp40 ;
3230 unsigned long __cil_tmp41 ;
3231 unsigned long __cil_tmp42 ;
3232 unsigned long __cil_tmp43 ;
3233 char const *__cil_tmp44 ;
3234 int *__cil_tmp45 ;
3235 int *__cil_tmp46 ;
3236 int __cil_tmp47 ;
3237 unsigned long __cil_tmp48 ;
3238 unsigned long __cil_tmp49 ;
3239 char const *__cil_tmp50 ;
3240 struct input_dev *__cil_tmp51 ;
3241 unsigned long __cil_tmp52 ;
3242 unsigned long __cil_tmp53 ;
3243 unsigned long __cil_tmp54 ;
3244 unsigned long __cil_tmp55 ;
3245 unsigned long __cil_tmp56 ;
3246 unsigned long __cil_tmp57 ;
3247 char (*__cil_tmp58)[32U] ;
3248 unsigned long __cil_tmp59 ;
3249 unsigned long __cil_tmp60 ;
3250 unsigned long __cil_tmp61 ;
3251 unsigned long __cil_tmp62 ;
3252 unsigned long __cil_tmp63 ;
3253 unsigned long __cil_tmp64 ;
3254 unsigned long __cil_tmp65 ;
3255 unsigned long __cil_tmp66 ;
3256 unsigned long __cil_tmp67 ;
3257 unsigned long __cil_tmp68 ;
3258 unsigned long (*__cil_tmp69)[1U] ;
3259 unsigned long volatile *__cil_tmp70 ;
3260 unsigned long __cil_tmp71 ;
3261 unsigned long __cil_tmp72 ;
3262 unsigned long (*__cil_tmp73)[12U] ;
3263 unsigned long volatile *__cil_tmp74 ;
3264 unsigned long __cil_tmp75 ;
3265 unsigned long __cil_tmp76 ;
3266 unsigned long (*__cil_tmp77)[12U] ;
3267 unsigned long volatile *__cil_tmp78 ;
3268 struct input_dev *__cil_tmp79 ;
3269 unsigned long __cil_tmp80 ;
3270 unsigned long __cil_tmp81 ;
3271 unsigned long __cil_tmp82 ;
3272 unsigned long __cil_tmp83 ;
3273 unsigned long __cil_tmp84 ;
3274 unsigned long __cil_tmp85 ;
3275 char (*__cil_tmp86)[32U] ;
3276 unsigned long __cil_tmp87 ;
3277 unsigned long __cil_tmp88 ;
3278 unsigned long __cil_tmp89 ;
3279 unsigned long __cil_tmp90 ;
3280 unsigned long __cil_tmp91 ;
3281 unsigned long __cil_tmp92 ;
3282 unsigned long __cil_tmp93 ;
3283 unsigned long __cil_tmp94 ;
3284 int *__cil_tmp95 ;
3285 int __cil_tmp96 ;
3286 unsigned long __cil_tmp97 ;
3287 unsigned long __cil_tmp98 ;
3288 unsigned long (*__cil_tmp99)[1U] ;
3289 unsigned long volatile *__cil_tmp100 ;
3290 unsigned long __cil_tmp101 ;
3291 unsigned long __cil_tmp102 ;
3292 unsigned long (*__cil_tmp103)[1U] ;
3293 unsigned long volatile *__cil_tmp104 ;
3294 unsigned long __cil_tmp105 ;
3295 unsigned long __cil_tmp106 ;
3296 unsigned long (*__cil_tmp107)[12U] ;
3297 unsigned long volatile *__cil_tmp108 ;
3298 unsigned long __cil_tmp109 ;
3299 unsigned long __cil_tmp110 ;
3300 u32 __constr_expr_0_id111 ;
3301 u32 __constr_expr_1_id112 ;
3302
3303 {
3304 {
3305#line 129
3306 tmp = kzalloc(72UL, 208U);
3307#line 129
3308 info = (struct xenkbd_info *)tmp;
3309 }
3310 {
3311#line 130
3312 __cil_tmp14 = (struct xenkbd_info *)0;
3313#line 130
3314 __cil_tmp15 = (unsigned long )__cil_tmp14;
3315#line 130
3316 __cil_tmp16 = (unsigned long )info;
3317#line 130
3318 if (__cil_tmp16 == __cil_tmp15) {
3319 {
3320#line 131
3321 xenbus_dev_fatal(dev, -12, "allocating info structure");
3322 }
3323#line 132
3324 return (-12);
3325 } else {
3326
3327 }
3328 }
3329 {
3330#line 134
3331 __cil_tmp17 = (unsigned long )dev;
3332#line 134
3333 __cil_tmp18 = __cil_tmp17 + 64;
3334#line 134
3335 __cil_tmp19 = (struct device *)__cil_tmp18;
3336#line 134
3337 __cil_tmp20 = (void *)info;
3338#line 134
3339 dev_set_drvdata(__cil_tmp19, __cil_tmp20);
3340#line 135
3341 __cil_tmp21 = (unsigned long )info;
3342#line 135
3343 __cil_tmp22 = __cil_tmp21 + 32;
3344#line 135
3345 *((struct xenbus_device **)__cil_tmp22) = dev;
3346#line 136
3347 __cil_tmp23 = (unsigned long )info;
3348#line 136
3349 __cil_tmp24 = __cil_tmp23 + 28;
3350#line 136
3351 *((int *)__cil_tmp24) = -1;
3352#line 137
3353 __cil_tmp25 = (unsigned long )info;
3354#line 137
3355 __cil_tmp26 = __cil_tmp25 + 24;
3356#line 137
3357 *((int *)__cil_tmp26) = -1;
3358#line 138
3359 __cil_tmp27 = (unsigned long )info;
3360#line 138
3361 __cil_tmp28 = __cil_tmp27 + 40;
3362#line 138
3363 __cil_tmp29 = (char (*)[32U])__cil_tmp28;
3364#line 138
3365 __cil_tmp30 = (char *)__cil_tmp29;
3366#line 138
3367 __cil_tmp31 = (unsigned long )dev;
3368#line 138
3369 __cil_tmp32 = __cil_tmp31 + 8;
3370#line 138
3371 __cil_tmp33 = *((char const **)__cil_tmp32);
3372#line 138
3373 snprintf(__cil_tmp30, 32UL, "xenbus/%s", __cil_tmp33);
3374#line 140
3375 tmp___0 = __get_free_pages(32976U, 0U);
3376#line 140
3377 __cil_tmp34 = (unsigned long )info;
3378#line 140
3379 __cil_tmp35 = __cil_tmp34 + 16;
3380#line 140
3381 *((struct xenkbd_page **)__cil_tmp35) = (struct xenkbd_page *)tmp___0;
3382 }
3383 {
3384#line 141
3385 __cil_tmp36 = (struct xenkbd_page *)0;
3386#line 141
3387 __cil_tmp37 = (unsigned long )__cil_tmp36;
3388#line 141
3389 __cil_tmp38 = (unsigned long )info;
3390#line 141
3391 __cil_tmp39 = __cil_tmp38 + 16;
3392#line 141
3393 __cil_tmp40 = *((struct xenkbd_page **)__cil_tmp39);
3394#line 141
3395 __cil_tmp41 = (unsigned long )__cil_tmp40;
3396#line 141
3397 if (__cil_tmp41 == __cil_tmp37) {
3398#line 142
3399 goto error_nomem;
3400 } else {
3401
3402 }
3403 }
3404 {
3405#line 144
3406 __constr_expr_0_id111 = 0U;
3407#line 144
3408 __cil_tmp42 = (unsigned long )dev;
3409#line 144
3410 __cil_tmp43 = __cil_tmp42 + 16;
3411#line 144
3412 __cil_tmp44 = *((char const **)__cil_tmp43);
3413#line 144
3414 tmp___1 = xenbus_scanf(__constr_expr_0_id111, __cil_tmp44, "feature-abs-pointer",
3415 "%d", & abs);
3416 }
3417#line 144
3418 if (tmp___1 < 0) {
3419#line 145
3420 __cil_tmp45 = & abs;
3421#line 145
3422 *__cil_tmp45 = 0;
3423 } else {
3424
3425 }
3426 {
3427#line 146
3428 __cil_tmp46 = & abs;
3429#line 146
3430 __cil_tmp47 = *__cil_tmp46;
3431#line 146
3432 if (__cil_tmp47 != 0) {
3433 {
3434#line 147
3435 __constr_expr_1_id112 = 0U;
3436#line 147
3437 __cil_tmp48 = (unsigned long )dev;
3438#line 147
3439 __cil_tmp49 = __cil_tmp48 + 8;
3440#line 147
3441 __cil_tmp50 = *((char const **)__cil_tmp49);
3442#line 147
3443 xenbus_printf(__constr_expr_1_id112, __cil_tmp50, "request-abs-pointer", "1");
3444 }
3445 } else {
3446
3447 }
3448 }
3449 {
3450#line 150
3451 kbd = input_allocate_device();
3452 }
3453 {
3454#line 151
3455 __cil_tmp51 = (struct input_dev *)0;
3456#line 151
3457 __cil_tmp52 = (unsigned long )__cil_tmp51;
3458#line 151
3459 __cil_tmp53 = (unsigned long )kbd;
3460#line 151
3461 if (__cil_tmp53 == __cil_tmp52) {
3462#line 152
3463 goto error_nomem;
3464 } else {
3465
3466 }
3467 }
3468 {
3469#line 153
3470 *((char const **)kbd) = "Xen Virtual Keyboard";
3471#line 154
3472 __cil_tmp54 = (unsigned long )kbd;
3473#line 154
3474 __cil_tmp55 = __cil_tmp54 + 8;
3475#line 154
3476 __cil_tmp56 = (unsigned long )info;
3477#line 154
3478 __cil_tmp57 = __cil_tmp56 + 40;
3479#line 154
3480 __cil_tmp58 = (char (*)[32U])__cil_tmp57;
3481#line 154
3482 *((char const **)__cil_tmp55) = (char const *)__cil_tmp58;
3483#line 155
3484 __cil_tmp59 = (unsigned long )kbd;
3485#line 155
3486 __cil_tmp60 = __cil_tmp59 + 24;
3487#line 155
3488 *((__u16 *)__cil_tmp60) = (__u16 )1U;
3489#line 156
3490 __cil_tmp61 = 24 + 2;
3491#line 156
3492 __cil_tmp62 = (unsigned long )kbd;
3493#line 156
3494 __cil_tmp63 = __cil_tmp62 + __cil_tmp61;
3495#line 156
3496 *((__u16 *)__cil_tmp63) = (__u16 )22611U;
3497#line 157
3498 __cil_tmp64 = 24 + 4;
3499#line 157
3500 __cil_tmp65 = (unsigned long )kbd;
3501#line 157
3502 __cil_tmp66 = __cil_tmp65 + __cil_tmp64;
3503#line 157
3504 *((__u16 *)__cil_tmp66) = (__u16 )65535U;
3505#line 159
3506 __cil_tmp67 = (unsigned long )kbd;
3507#line 159
3508 __cil_tmp68 = __cil_tmp67 + 40;
3509#line 159
3510 __cil_tmp69 = (unsigned long (*)[1U])__cil_tmp68;
3511#line 159
3512 __cil_tmp70 = (unsigned long volatile *)__cil_tmp69;
3513#line 159
3514 __set_bit(1, __cil_tmp70);
3515#line 160
3516 i = 1;
3517 }
3518#line 160
3519 goto ldv_26550;
3520 ldv_26549:
3521 {
3522#line 161
3523 __cil_tmp71 = (unsigned long )kbd;
3524#line 161
3525 __cil_tmp72 = __cil_tmp71 + 48;
3526#line 161
3527 __cil_tmp73 = (unsigned long (*)[12U])__cil_tmp72;
3528#line 161
3529 __cil_tmp74 = (unsigned long volatile *)__cil_tmp73;
3530#line 161
3531 __set_bit(i, __cil_tmp74);
3532#line 160
3533 i = i + 1;
3534 }
3535 ldv_26550: ;
3536#line 160
3537 if (i <= 239) {
3538#line 161
3539 goto ldv_26549;
3540 } else {
3541#line 163
3542 goto ldv_26551;
3543 }
3544 ldv_26551:
3545#line 162
3546 i = 352;
3547#line 162
3548 goto ldv_26553;
3549 ldv_26552:
3550 {
3551#line 163
3552 __cil_tmp75 = (unsigned long )kbd;
3553#line 163
3554 __cil_tmp76 = __cil_tmp75 + 48;
3555#line 163
3556 __cil_tmp77 = (unsigned long (*)[12U])__cil_tmp76;
3557#line 163
3558 __cil_tmp78 = (unsigned long volatile *)__cil_tmp77;
3559#line 163
3560 __set_bit(i, __cil_tmp78);
3561#line 162
3562 i = i + 1;
3563 }
3564 ldv_26553: ;
3565#line 162
3566 if (i <= 766) {
3567#line 163
3568 goto ldv_26552;
3569 } else {
3570#line 165
3571 goto ldv_26554;
3572 }
3573 ldv_26554:
3574 {
3575#line 165
3576 ret = input_register_device(kbd);
3577 }
3578#line 166
3579 if (ret != 0) {
3580 {
3581#line 167
3582 input_free_device(kbd);
3583#line 168
3584 xenbus_dev_fatal(dev, ret, "input_register_device(kbd)");
3585 }
3586#line 169
3587 goto error;
3588 } else {
3589
3590 }
3591 {
3592#line 171
3593 *((struct input_dev **)info) = kbd;
3594#line 174
3595 ptr = input_allocate_device();
3596 }
3597 {
3598#line 175
3599 __cil_tmp79 = (struct input_dev *)0;
3600#line 175
3601 __cil_tmp80 = (unsigned long )__cil_tmp79;
3602#line 175
3603 __cil_tmp81 = (unsigned long )ptr;
3604#line 175
3605 if (__cil_tmp81 == __cil_tmp80) {
3606#line 176
3607 goto error_nomem;
3608 } else {
3609
3610 }
3611 }
3612#line 177
3613 *((char const **)ptr) = "Xen Virtual Pointer";
3614#line 178
3615 __cil_tmp82 = (unsigned long )ptr;
3616#line 178
3617 __cil_tmp83 = __cil_tmp82 + 8;
3618#line 178
3619 __cil_tmp84 = (unsigned long )info;
3620#line 178
3621 __cil_tmp85 = __cil_tmp84 + 40;
3622#line 178
3623 __cil_tmp86 = (char (*)[32U])__cil_tmp85;
3624#line 178
3625 *((char const **)__cil_tmp83) = (char const *)__cil_tmp86;
3626#line 179
3627 __cil_tmp87 = (unsigned long )ptr;
3628#line 179
3629 __cil_tmp88 = __cil_tmp87 + 24;
3630#line 179
3631 *((__u16 *)__cil_tmp88) = (__u16 )1U;
3632#line 180
3633 __cil_tmp89 = 24 + 2;
3634#line 180
3635 __cil_tmp90 = (unsigned long )ptr;
3636#line 180
3637 __cil_tmp91 = __cil_tmp90 + __cil_tmp89;
3638#line 180
3639 *((__u16 *)__cil_tmp91) = (__u16 )22611U;
3640#line 181
3641 __cil_tmp92 = 24 + 4;
3642#line 181
3643 __cil_tmp93 = (unsigned long )ptr;
3644#line 181
3645 __cil_tmp94 = __cil_tmp93 + __cil_tmp92;
3646#line 181
3647 *((__u16 *)__cil_tmp94) = (__u16 )65534U;
3648 {
3649#line 183
3650 __cil_tmp95 = & abs;
3651#line 183
3652 __cil_tmp96 = *__cil_tmp95;
3653#line 183
3654 if (__cil_tmp96 != 0) {
3655 {
3656#line 184
3657 __cil_tmp97 = (unsigned long )ptr;
3658#line 184
3659 __cil_tmp98 = __cil_tmp97 + 40;
3660#line 184
3661 __cil_tmp99 = (unsigned long (*)[1U])__cil_tmp98;
3662#line 184
3663 __cil_tmp100 = (unsigned long volatile *)__cil_tmp99;
3664#line 184
3665 __set_bit(3, __cil_tmp100);
3666#line 185
3667 input_set_abs_params(ptr, 0U, 0, 800, 0, 0);
3668#line 186
3669 input_set_abs_params(ptr, 1U, 0, 600, 0, 0);
3670 }
3671 } else {
3672 {
3673#line 188
3674 input_set_capability(ptr, 2U, 0U);
3675#line 189
3676 input_set_capability(ptr, 2U, 1U);
3677 }
3678 }
3679 }
3680 {
3681#line 191
3682 input_set_capability(ptr, 2U, 8U);
3683#line 193
3684 __cil_tmp101 = (unsigned long )ptr;
3685#line 193
3686 __cil_tmp102 = __cil_tmp101 + 40;
3687#line 193
3688 __cil_tmp103 = (unsigned long (*)[1U])__cil_tmp102;
3689#line 193
3690 __cil_tmp104 = (unsigned long volatile *)__cil_tmp103;
3691#line 193
3692 __set_bit(1, __cil_tmp104);
3693#line 194
3694 i = 272;
3695 }
3696#line 194
3697 goto ldv_26557;
3698 ldv_26556:
3699 {
3700#line 195
3701 __cil_tmp105 = (unsigned long )ptr;
3702#line 195
3703 __cil_tmp106 = __cil_tmp105 + 48;
3704#line 195
3705 __cil_tmp107 = (unsigned long (*)[12U])__cil_tmp106;
3706#line 195
3707 __cil_tmp108 = (unsigned long volatile *)__cil_tmp107;
3708#line 195
3709 __set_bit(i, __cil_tmp108);
3710#line 194
3711 i = i + 1;
3712 }
3713 ldv_26557: ;
3714#line 194
3715 if (i <= 279) {
3716#line 195
3717 goto ldv_26556;
3718 } else {
3719#line 197
3720 goto ldv_26558;
3721 }
3722 ldv_26558:
3723 {
3724#line 197
3725 ret = input_register_device(ptr);
3726 }
3727#line 198
3728 if (ret != 0) {
3729 {
3730#line 199
3731 input_free_device(ptr);
3732#line 200
3733 xenbus_dev_fatal(dev, ret, "input_register_device(ptr)");
3734 }
3735#line 201
3736 goto error;
3737 } else {
3738
3739 }
3740 {
3741#line 203
3742 __cil_tmp109 = (unsigned long )info;
3743#line 203
3744 __cil_tmp110 = __cil_tmp109 + 8;
3745#line 203
3746 *((struct input_dev **)__cil_tmp110) = ptr;
3747#line 205
3748 ret = xenkbd_connect_backend(dev, info);
3749 }
3750#line 206
3751 if (ret < 0) {
3752#line 207
3753 goto error;
3754 } else {
3755
3756 }
3757#line 209
3758 return (0);
3759 error_nomem:
3760 {
3761#line 212
3762 ret = -12;
3763#line 213
3764 xenbus_dev_fatal(dev, ret, "allocating device memory");
3765 }
3766 error:
3767 {
3768#line 215
3769 xenkbd_remove(dev);
3770 }
3771#line 216
3772 return (ret);
3773}
3774}
3775#line 219 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
3776static int xenkbd_resume(struct xenbus_device *dev )
3777{ struct xenkbd_info *info ;
3778 void *tmp ;
3779 int tmp___0 ;
3780 unsigned long __cil_tmp5 ;
3781 unsigned long __cil_tmp6 ;
3782 struct device *__cil_tmp7 ;
3783 struct device const *__cil_tmp8 ;
3784 unsigned long __cil_tmp9 ;
3785 unsigned long __cil_tmp10 ;
3786 struct xenkbd_page *__cil_tmp11 ;
3787 void *__cil_tmp12 ;
3788
3789 {
3790 {
3791#line 221
3792 __cil_tmp5 = (unsigned long )dev;
3793#line 221
3794 __cil_tmp6 = __cil_tmp5 + 64;
3795#line 221
3796 __cil_tmp7 = (struct device *)__cil_tmp6;
3797#line 221
3798 __cil_tmp8 = (struct device const *)__cil_tmp7;
3799#line 221
3800 tmp = dev_get_drvdata(__cil_tmp8);
3801#line 221
3802 info = (struct xenkbd_info *)tmp;
3803#line 223
3804 xenkbd_disconnect_backend(info);
3805#line 224
3806 __cil_tmp9 = (unsigned long )info;
3807#line 224
3808 __cil_tmp10 = __cil_tmp9 + 16;
3809#line 224
3810 __cil_tmp11 = *((struct xenkbd_page **)__cil_tmp10);
3811#line 224
3812 __cil_tmp12 = (void *)__cil_tmp11;
3813#line 224
3814 memset(__cil_tmp12, 0, 4096UL);
3815#line 225
3816 tmp___0 = xenkbd_connect_backend(dev, info);
3817 }
3818#line 225
3819 return (tmp___0);
3820}
3821}
3822#line 228 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
3823static int xenkbd_remove(struct xenbus_device *dev )
3824{ struct xenkbd_info *info ;
3825 void *tmp ;
3826 unsigned long __cil_tmp4 ;
3827 unsigned long __cil_tmp5 ;
3828 struct device *__cil_tmp6 ;
3829 struct device const *__cil_tmp7 ;
3830 struct input_dev *__cil_tmp8 ;
3831 unsigned long __cil_tmp9 ;
3832 struct input_dev *__cil_tmp10 ;
3833 unsigned long __cil_tmp11 ;
3834 struct input_dev *__cil_tmp12 ;
3835 struct input_dev *__cil_tmp13 ;
3836 unsigned long __cil_tmp14 ;
3837 unsigned long __cil_tmp15 ;
3838 unsigned long __cil_tmp16 ;
3839 struct input_dev *__cil_tmp17 ;
3840 unsigned long __cil_tmp18 ;
3841 unsigned long __cil_tmp19 ;
3842 unsigned long __cil_tmp20 ;
3843 struct input_dev *__cil_tmp21 ;
3844 unsigned long __cil_tmp22 ;
3845 unsigned long __cil_tmp23 ;
3846 struct xenkbd_page *__cil_tmp24 ;
3847 unsigned long __cil_tmp25 ;
3848 void const *__cil_tmp26 ;
3849
3850 {
3851 {
3852#line 230
3853 __cil_tmp4 = (unsigned long )dev;
3854#line 230
3855 __cil_tmp5 = __cil_tmp4 + 64;
3856#line 230
3857 __cil_tmp6 = (struct device *)__cil_tmp5;
3858#line 230
3859 __cil_tmp7 = (struct device const *)__cil_tmp6;
3860#line 230
3861 tmp = dev_get_drvdata(__cil_tmp7);
3862#line 230
3863 info = (struct xenkbd_info *)tmp;
3864#line 232
3865 xenkbd_disconnect_backend(info);
3866 }
3867 {
3868#line 233
3869 __cil_tmp8 = (struct input_dev *)0;
3870#line 233
3871 __cil_tmp9 = (unsigned long )__cil_tmp8;
3872#line 233
3873 __cil_tmp10 = *((struct input_dev **)info);
3874#line 233
3875 __cil_tmp11 = (unsigned long )__cil_tmp10;
3876#line 233
3877 if (__cil_tmp11 != __cil_tmp9) {
3878 {
3879#line 234
3880 __cil_tmp12 = *((struct input_dev **)info);
3881#line 234
3882 input_unregister_device(__cil_tmp12);
3883 }
3884 } else {
3885
3886 }
3887 }
3888 {
3889#line 235
3890 __cil_tmp13 = (struct input_dev *)0;
3891#line 235
3892 __cil_tmp14 = (unsigned long )__cil_tmp13;
3893#line 235
3894 __cil_tmp15 = (unsigned long )info;
3895#line 235
3896 __cil_tmp16 = __cil_tmp15 + 8;
3897#line 235
3898 __cil_tmp17 = *((struct input_dev **)__cil_tmp16);
3899#line 235
3900 __cil_tmp18 = (unsigned long )__cil_tmp17;
3901#line 235
3902 if (__cil_tmp18 != __cil_tmp14) {
3903 {
3904#line 236
3905 __cil_tmp19 = (unsigned long )info;
3906#line 236
3907 __cil_tmp20 = __cil_tmp19 + 8;
3908#line 236
3909 __cil_tmp21 = *((struct input_dev **)__cil_tmp20);
3910#line 236
3911 input_unregister_device(__cil_tmp21);
3912 }
3913 } else {
3914
3915 }
3916 }
3917 {
3918#line 237
3919 __cil_tmp22 = (unsigned long )info;
3920#line 237
3921 __cil_tmp23 = __cil_tmp22 + 16;
3922#line 237
3923 __cil_tmp24 = *((struct xenkbd_page **)__cil_tmp23);
3924#line 237
3925 __cil_tmp25 = (unsigned long )__cil_tmp24;
3926#line 237
3927 free_pages(__cil_tmp25, 0U);
3928#line 238
3929 __cil_tmp26 = (void const *)info;
3930#line 238
3931 kfree(__cil_tmp26);
3932 }
3933#line 239
3934 return (0);
3935}
3936}
3937#line 242 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
3938static int xenkbd_connect_backend(struct xenbus_device *dev , struct xenkbd_info *info )
3939{ int ret ;
3940 int evtchn ;
3941 struct xenbus_transaction xbt ;
3942 unsigned long tmp ;
3943 unsigned long tmp___0 ;
3944 unsigned long tmp___1 ;
3945 unsigned long tmp___2 ;
3946 unsigned long __cil_tmp10 ;
3947 unsigned long __cil_tmp11 ;
3948 struct xenkbd_page *__cil_tmp12 ;
3949 unsigned long __cil_tmp13 ;
3950 unsigned long __cil_tmp14 ;
3951 unsigned long __cil_tmp15 ;
3952 unsigned long __cil_tmp16 ;
3953 int __cil_tmp17 ;
3954 domid_t __cil_tmp18 ;
3955 int __cil_tmp19 ;
3956 domid_t __cil_tmp20 ;
3957 unsigned long __cil_tmp21 ;
3958 unsigned long __cil_tmp22 ;
3959 int *__cil_tmp23 ;
3960 int __cil_tmp24 ;
3961 unsigned int __cil_tmp25 ;
3962 char const *__cil_tmp26 ;
3963 void *__cil_tmp27 ;
3964 unsigned long __cil_tmp28 ;
3965 unsigned long __cil_tmp29 ;
3966 unsigned long __cil_tmp30 ;
3967 unsigned long __cil_tmp31 ;
3968 struct xenkbd_page *__cil_tmp32 ;
3969 unsigned long __cil_tmp33 ;
3970 unsigned long __cil_tmp34 ;
3971 struct xenbus_transaction *__cil_tmp35 ;
3972 struct xenbus_transaction __cil_tmp36 ;
3973 unsigned long __cil_tmp37 ;
3974 unsigned long __cil_tmp38 ;
3975 char const *__cil_tmp39 ;
3976 struct xenbus_transaction *__cil_tmp40 ;
3977 struct xenbus_transaction __cil_tmp41 ;
3978 unsigned long __cil_tmp42 ;
3979 unsigned long __cil_tmp43 ;
3980 char const *__cil_tmp44 ;
3981 unsigned long __cil_tmp45 ;
3982 unsigned long __cil_tmp46 ;
3983 int __cil_tmp47 ;
3984 struct xenbus_transaction *__cil_tmp48 ;
3985 struct xenbus_transaction __cil_tmp49 ;
3986 unsigned long __cil_tmp50 ;
3987 unsigned long __cil_tmp51 ;
3988 char const *__cil_tmp52 ;
3989 int *__cil_tmp53 ;
3990 int __cil_tmp54 ;
3991 struct xenbus_transaction *__cil_tmp55 ;
3992 struct xenbus_transaction __cil_tmp56 ;
3993 enum xenbus_state __cil_tmp57 ;
3994 struct xenbus_transaction *__cil_tmp58 ;
3995 struct xenbus_transaction __cil_tmp59 ;
3996 unsigned long __cil_tmp60 ;
3997 unsigned long __cil_tmp61 ;
3998 int __cil_tmp62 ;
3999 unsigned int __cil_tmp63 ;
4000 void *__cil_tmp64 ;
4001 unsigned long __cil_tmp65 ;
4002 unsigned long __cil_tmp66 ;
4003 int *__cil_tmp67 ;
4004 int __cil_tmp68 ;
4005 unsigned long __cil_tmp69 ;
4006 unsigned long __cil_tmp70 ;
4007 int __cil_tmp71 ;
4008 grant_ref_t __cil_tmp72 ;
4009 unsigned long __cil_tmp73 ;
4010 unsigned long __cil_tmp74 ;
4011 u32 __cil_tmp36_id75 ;
4012 u32 __cil_tmp41_id76 ;
4013 u32 __cil_tmp49_id77 ;
4014 u32 __cil_tmp56_id78 ;
4015 u32 __cil_tmp59_id79 ;
4016 u32 __cil_tmp80 ;
4017 u32 __cil_tmp81 ;
4018 u32 __cil_tmp82 ;
4019 u32 __cil_tmp83 ;
4020 u32 __cil_tmp84 ;
4021
4022 {
4023 {
4024#line 248
4025 __cil_tmp10 = (unsigned long )info;
4026#line 248
4027 __cil_tmp11 = __cil_tmp10 + 16;
4028#line 248
4029 __cil_tmp12 = *((struct xenkbd_page **)__cil_tmp11);
4030#line 248
4031 __cil_tmp13 = (unsigned long )__cil_tmp12;
4032#line 248
4033 tmp = __phys_addr(__cil_tmp13);
4034#line 248
4035 __cil_tmp14 = tmp >> 12;
4036#line 248
4037 tmp___0 = pfn_to_mfn(__cil_tmp14);
4038#line 248
4039 __cil_tmp15 = (unsigned long )dev;
4040#line 248
4041 __cil_tmp16 = __cil_tmp15 + 24;
4042#line 248
4043 __cil_tmp17 = *((int *)__cil_tmp16);
4044#line 248
4045 __cil_tmp18 = (domid_t )__cil_tmp17;
4046#line 248
4047 __cil_tmp19 = (int )__cil_tmp18;
4048#line 248
4049 __cil_tmp20 = (domid_t )__cil_tmp19;
4050#line 248
4051 ret = gnttab_grant_foreign_access(__cil_tmp20, tmp___0, 0);
4052 }
4053#line 250
4054 if (ret < 0) {
4055#line 251
4056 return (ret);
4057 } else {
4058
4059 }
4060 {
4061#line 252
4062 __cil_tmp21 = (unsigned long )info;
4063#line 252
4064 __cil_tmp22 = __cil_tmp21 + 24;
4065#line 252
4066 *((int *)__cil_tmp22) = ret;
4067#line 254
4068 ret = xenbus_alloc_evtchn(dev, & evtchn);
4069 }
4070#line 255
4071 if (ret != 0) {
4072#line 256
4073 goto error_grant;
4074 } else {
4075
4076 }
4077 {
4078#line 257
4079 __cil_tmp23 = & evtchn;
4080#line 257
4081 __cil_tmp24 = *__cil_tmp23;
4082#line 257
4083 __cil_tmp25 = (unsigned int )__cil_tmp24;
4084#line 257
4085 __cil_tmp26 = *((char const **)dev);
4086#line 257
4087 __cil_tmp27 = (void *)info;
4088#line 257
4089 ret = bind_evtchn_to_irqhandler(__cil_tmp25, & input_handler, 0UL, __cil_tmp26,
4090 __cil_tmp27);
4091 }
4092#line 259
4093 if (ret < 0) {
4094 {
4095#line 260
4096 xenbus_dev_fatal(dev, ret, "bind_evtchn_to_irqhandler");
4097 }
4098#line 261
4099 goto error_evtchan;
4100 } else {
4101
4102 }
4103#line 263
4104 __cil_tmp28 = (unsigned long )info;
4105#line 263
4106 __cil_tmp29 = __cil_tmp28 + 28;
4107#line 263
4108 *((int *)__cil_tmp29) = ret;
4109 again:
4110 {
4111#line 266
4112 ret = xenbus_transaction_start(& xbt);
4113 }
4114#line 267
4115 if (ret != 0) {
4116 {
4117#line 268
4118 xenbus_dev_fatal(dev, ret, "starting transaction");
4119 }
4120#line 269
4121 goto error_irqh;
4122 } else {
4123
4124 }
4125 {
4126#line 271
4127 __cil_tmp30 = (unsigned long )info;
4128#line 271
4129 __cil_tmp31 = __cil_tmp30 + 16;
4130#line 271
4131 __cil_tmp32 = *((struct xenkbd_page **)__cil_tmp31);
4132#line 271
4133 __cil_tmp33 = (unsigned long )__cil_tmp32;
4134#line 271
4135 tmp___1 = __phys_addr(__cil_tmp33);
4136#line 271
4137 __cil_tmp34 = tmp___1 >> 12;
4138#line 271
4139 tmp___2 = pfn_to_mfn(__cil_tmp34);
4140#line 271
4141 __cil_tmp35 = & xbt;
4142#line 271
4143 __cil_tmp80 = __cil_tmp35->id;
4144#line 271
4145 __cil_tmp36_id75 = __cil_tmp80;
4146#line 271
4147 __cil_tmp37 = (unsigned long )dev;
4148#line 271
4149 __cil_tmp38 = __cil_tmp37 + 8;
4150#line 271
4151 __cil_tmp39 = *((char const **)__cil_tmp38);
4152#line 271
4153 ret = xenbus_printf(__cil_tmp36_id75, __cil_tmp39, "page-ref", "%lu", tmp___2);
4154 }
4155#line 273
4156 if (ret != 0) {
4157#line 274
4158 goto error_xenbus;
4159 } else {
4160
4161 }
4162 {
4163#line 275
4164 __cil_tmp40 = & xbt;
4165#line 275
4166 __cil_tmp81 = __cil_tmp40->id;
4167#line 275
4168 __cil_tmp41_id76 = __cil_tmp81;
4169#line 275
4170 __cil_tmp42 = (unsigned long )dev;
4171#line 275
4172 __cil_tmp43 = __cil_tmp42 + 8;
4173#line 275
4174 __cil_tmp44 = *((char const **)__cil_tmp43);
4175#line 275
4176 __cil_tmp45 = (unsigned long )info;
4177#line 275
4178 __cil_tmp46 = __cil_tmp45 + 24;
4179#line 275
4180 __cil_tmp47 = *((int *)__cil_tmp46);
4181#line 275
4182 ret = xenbus_printf(__cil_tmp41_id76, __cil_tmp44, "page-gref", "%u", __cil_tmp47);
4183 }
4184#line 276
4185 if (ret != 0) {
4186#line 277
4187 goto error_xenbus;
4188 } else {
4189
4190 }
4191 {
4192#line 278
4193 __cil_tmp48 = & xbt;
4194#line 278
4195 __cil_tmp82 = __cil_tmp48->id;
4196#line 278
4197 __cil_tmp49_id77 = __cil_tmp82;
4198#line 278
4199 __cil_tmp50 = (unsigned long )dev;
4200#line 278
4201 __cil_tmp51 = __cil_tmp50 + 8;
4202#line 278
4203 __cil_tmp52 = *((char const **)__cil_tmp51);
4204#line 278
4205 __cil_tmp53 = & evtchn;
4206#line 278
4207 __cil_tmp54 = *__cil_tmp53;
4208#line 278
4209 ret = xenbus_printf(__cil_tmp49_id77, __cil_tmp52, "event-channel", "%u", __cil_tmp54);
4210 }
4211#line 280
4212 if (ret != 0) {
4213#line 281
4214 goto error_xenbus;
4215 } else {
4216
4217 }
4218 {
4219#line 282
4220 __cil_tmp55 = & xbt;
4221#line 282
4222 __cil_tmp83 = __cil_tmp55->id;
4223#line 282
4224 __cil_tmp56_id78 = __cil_tmp83;
4225#line 282
4226 ret = xenbus_transaction_end(__cil_tmp56_id78, 0);
4227 }
4228#line 283
4229 if (ret != 0) {
4230#line 284
4231 if (ret == -11) {
4232#line 285
4233 goto again;
4234 } else {
4235
4236 }
4237 {
4238#line 286
4239 xenbus_dev_fatal(dev, ret, "completing transaction");
4240 }
4241#line 287
4242 goto error_irqh;
4243 } else {
4244
4245 }
4246 {
4247#line 290
4248 __cil_tmp57 = (enum xenbus_state )3;
4249#line 290
4250 xenbus_switch_state(dev, __cil_tmp57);
4251 }
4252#line 291
4253 return (0);
4254 error_xenbus:
4255 {
4256#line 294
4257 __cil_tmp58 = & xbt;
4258#line 294
4259 __cil_tmp84 = __cil_tmp58->id;
4260#line 294
4261 __cil_tmp59_id79 = __cil_tmp84;
4262#line 294
4263 xenbus_transaction_end(__cil_tmp59_id79, 1);
4264#line 295
4265 xenbus_dev_fatal(dev, ret, "writing xenstore");
4266 }
4267 error_irqh:
4268 {
4269#line 297
4270 __cil_tmp60 = (unsigned long )info;
4271#line 297
4272 __cil_tmp61 = __cil_tmp60 + 28;
4273#line 297
4274 __cil_tmp62 = *((int *)__cil_tmp61);
4275#line 297
4276 __cil_tmp63 = (unsigned int )__cil_tmp62;
4277#line 297
4278 __cil_tmp64 = (void *)info;
4279#line 297
4280 unbind_from_irqhandler(__cil_tmp63, __cil_tmp64);
4281#line 298
4282 __cil_tmp65 = (unsigned long )info;
4283#line 298
4284 __cil_tmp66 = __cil_tmp65 + 28;
4285#line 298
4286 *((int *)__cil_tmp66) = -1;
4287 }
4288 error_evtchan:
4289 {
4290#line 300
4291 __cil_tmp67 = & evtchn;
4292#line 300
4293 __cil_tmp68 = *__cil_tmp67;
4294#line 300
4295 xenbus_free_evtchn(dev, __cil_tmp68);
4296 }
4297 error_grant:
4298 {
4299#line 302
4300 __cil_tmp69 = (unsigned long )info;
4301#line 302
4302 __cil_tmp70 = __cil_tmp69 + 24;
4303#line 302
4304 __cil_tmp71 = *((int *)__cil_tmp70);
4305#line 302
4306 __cil_tmp72 = (grant_ref_t )__cil_tmp71;
4307#line 302
4308 gnttab_end_foreign_access_ref(__cil_tmp72, 0);
4309#line 303
4310 __cil_tmp73 = (unsigned long )info;
4311#line 303
4312 __cil_tmp74 = __cil_tmp73 + 24;
4313#line 303
4314 *((int *)__cil_tmp74) = -1;
4315 }
4316#line 304
4317 return (ret);
4318}
4319}
4320#line 307 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4321static void xenkbd_disconnect_backend(struct xenkbd_info *info )
4322{ unsigned long __cil_tmp2 ;
4323 unsigned long __cil_tmp3 ;
4324 int __cil_tmp4 ;
4325 unsigned long __cil_tmp5 ;
4326 unsigned long __cil_tmp6 ;
4327 int __cil_tmp7 ;
4328 unsigned int __cil_tmp8 ;
4329 void *__cil_tmp9 ;
4330 unsigned long __cil_tmp10 ;
4331 unsigned long __cil_tmp11 ;
4332 unsigned long __cil_tmp12 ;
4333 unsigned long __cil_tmp13 ;
4334 int __cil_tmp14 ;
4335 unsigned long __cil_tmp15 ;
4336 unsigned long __cil_tmp16 ;
4337 int __cil_tmp17 ;
4338 grant_ref_t __cil_tmp18 ;
4339 unsigned long __cil_tmp19 ;
4340 unsigned long __cil_tmp20 ;
4341
4342 {
4343 {
4344#line 309
4345 __cil_tmp2 = (unsigned long )info;
4346#line 309
4347 __cil_tmp3 = __cil_tmp2 + 28;
4348#line 309
4349 __cil_tmp4 = *((int *)__cil_tmp3);
4350#line 309
4351 if (__cil_tmp4 >= 0) {
4352 {
4353#line 310
4354 __cil_tmp5 = (unsigned long )info;
4355#line 310
4356 __cil_tmp6 = __cil_tmp5 + 28;
4357#line 310
4358 __cil_tmp7 = *((int *)__cil_tmp6);
4359#line 310
4360 __cil_tmp8 = (unsigned int )__cil_tmp7;
4361#line 310
4362 __cil_tmp9 = (void *)info;
4363#line 310
4364 unbind_from_irqhandler(__cil_tmp8, __cil_tmp9);
4365 }
4366 } else {
4367
4368 }
4369 }
4370#line 311
4371 __cil_tmp10 = (unsigned long )info;
4372#line 311
4373 __cil_tmp11 = __cil_tmp10 + 28;
4374#line 311
4375 *((int *)__cil_tmp11) = -1;
4376 {
4377#line 312
4378 __cil_tmp12 = (unsigned long )info;
4379#line 312
4380 __cil_tmp13 = __cil_tmp12 + 24;
4381#line 312
4382 __cil_tmp14 = *((int *)__cil_tmp13);
4383#line 312
4384 if (__cil_tmp14 >= 0) {
4385 {
4386#line 313
4387 __cil_tmp15 = (unsigned long )info;
4388#line 313
4389 __cil_tmp16 = __cil_tmp15 + 24;
4390#line 313
4391 __cil_tmp17 = *((int *)__cil_tmp16);
4392#line 313
4393 __cil_tmp18 = (grant_ref_t )__cil_tmp17;
4394#line 313
4395 gnttab_end_foreign_access_ref(__cil_tmp18, 0);
4396 }
4397 } else {
4398
4399 }
4400 }
4401#line 314
4402 __cil_tmp19 = (unsigned long )info;
4403#line 314
4404 __cil_tmp20 = __cil_tmp19 + 24;
4405#line 314
4406 *((int *)__cil_tmp20) = -1;
4407#line 315
4408 return;
4409}
4410}
4411#line 317 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4412static void xenkbd_backend_changed(struct xenbus_device *dev , enum xenbus_state backend_state )
4413{ struct xenkbd_info *info ;
4414 void *tmp ;
4415 int ret ;
4416 int val ;
4417 struct xenbus_transaction __constr_expr_0 ;
4418 struct xenbus_transaction __constr_expr_1 ;
4419 struct xenbus_transaction __constr_expr_2 ;
4420 int tmp___0 ;
4421 struct xenbus_transaction __constr_expr_3 ;
4422 int tmp___1 ;
4423 unsigned long __cil_tmp13 ;
4424 unsigned long __cil_tmp14 ;
4425 struct device *__cil_tmp15 ;
4426 struct device const *__cil_tmp16 ;
4427 unsigned int __cil_tmp17 ;
4428 unsigned long __cil_tmp18 ;
4429 unsigned long __cil_tmp19 ;
4430 struct xenbus_device *__cil_tmp20 ;
4431 unsigned long __cil_tmp21 ;
4432 unsigned long __cil_tmp22 ;
4433 char const *__cil_tmp23 ;
4434 int *__cil_tmp24 ;
4435 int *__cil_tmp25 ;
4436 int __cil_tmp26 ;
4437 unsigned long __cil_tmp27 ;
4438 unsigned long __cil_tmp28 ;
4439 struct xenbus_device *__cil_tmp29 ;
4440 unsigned long __cil_tmp30 ;
4441 unsigned long __cil_tmp31 ;
4442 char const *__cil_tmp32 ;
4443 enum xenbus_state __cil_tmp33 ;
4444 unsigned long __cil_tmp34 ;
4445 unsigned long __cil_tmp35 ;
4446 enum xenbus_state __cil_tmp36 ;
4447 unsigned int __cil_tmp37 ;
4448 unsigned long __cil_tmp38 ;
4449 unsigned long __cil_tmp39 ;
4450 struct xenbus_device *__cil_tmp40 ;
4451 unsigned long __cil_tmp41 ;
4452 unsigned long __cil_tmp42 ;
4453 char const *__cil_tmp43 ;
4454 unsigned long __cil_tmp44 ;
4455 unsigned long __cil_tmp45 ;
4456 struct input_dev *__cil_tmp46 ;
4457 int *__cil_tmp47 ;
4458 int __cil_tmp48 ;
4459 unsigned long __cil_tmp49 ;
4460 unsigned long __cil_tmp50 ;
4461 struct xenbus_device *__cil_tmp51 ;
4462 unsigned long __cil_tmp52 ;
4463 unsigned long __cil_tmp53 ;
4464 char const *__cil_tmp54 ;
4465 unsigned long __cil_tmp55 ;
4466 unsigned long __cil_tmp56 ;
4467 struct input_dev *__cil_tmp57 ;
4468 int *__cil_tmp58 ;
4469 int __cil_tmp59 ;
4470 u32 __constr_expr_0_id60 ;
4471 u32 __constr_expr_1_id61 ;
4472 u32 __constr_expr_2_id62 ;
4473 u32 __constr_expr_3_id63 ;
4474
4475 {
4476 {
4477#line 320
4478 __cil_tmp13 = (unsigned long )dev;
4479#line 320
4480 __cil_tmp14 = __cil_tmp13 + 64;
4481#line 320
4482 __cil_tmp15 = (struct device *)__cil_tmp14;
4483#line 320
4484 __cil_tmp16 = (struct device const *)__cil_tmp15;
4485#line 320
4486 tmp = dev_get_drvdata(__cil_tmp16);
4487#line 320
4488 info = (struct xenkbd_info *)tmp;
4489 }
4490 {
4491#line 323
4492 __cil_tmp17 = (unsigned int )backend_state;
4493#line 324
4494 if ((int )__cil_tmp17 == 1) {
4495#line 324
4496 goto case_1;
4497 } else
4498#line 325
4499 if ((int )__cil_tmp17 == 3) {
4500#line 325
4501 goto case_3;
4502 } else
4503#line 326
4504 if ((int )__cil_tmp17 == 7) {
4505#line 326
4506 goto case_7;
4507 } else
4508#line 327
4509 if ((int )__cil_tmp17 == 8) {
4510#line 327
4511 goto case_8;
4512 } else
4513#line 328
4514 if ((int )__cil_tmp17 == 0) {
4515#line 328
4516 goto case_0;
4517 } else
4518#line 329
4519 if ((int )__cil_tmp17 == 6) {
4520#line 329
4521 goto case_6;
4522 } else
4523#line 332
4524 if ((int )__cil_tmp17 == 2) {
4525#line 332
4526 goto case_2;
4527 } else
4528#line 348
4529 if ((int )__cil_tmp17 == 4) {
4530#line 348
4531 goto case_4;
4532 } else
4533#line 368
4534 if ((int )__cil_tmp17 == 5) {
4535#line 368
4536 goto case_5;
4537 } else
4538#line 323
4539 if (0) {
4540 case_1: ;
4541 case_3: ;
4542 case_7: ;
4543 case_8: ;
4544 case_0: ;
4545 case_6: ;
4546#line 330
4547 goto ldv_26595;
4548 case_2: ;
4549 InitWait:
4550 {
4551#line 334
4552 __constr_expr_0_id60 = 0U;
4553#line 334
4554 __cil_tmp18 = (unsigned long )info;
4555#line 334
4556 __cil_tmp19 = __cil_tmp18 + 32;
4557#line 334
4558 __cil_tmp20 = *((struct xenbus_device **)__cil_tmp19);
4559#line 334
4560 __cil_tmp21 = (unsigned long )__cil_tmp20;
4561#line 334
4562 __cil_tmp22 = __cil_tmp21 + 16;
4563#line 334
4564 __cil_tmp23 = *((char const **)__cil_tmp22);
4565#line 334
4566 ret = xenbus_scanf(__constr_expr_0_id60, __cil_tmp23, "feature-abs-pointer", "%d",
4567 & val);
4568 }
4569#line 336
4570 if (ret < 0) {
4571#line 337
4572 __cil_tmp24 = & val;
4573#line 337
4574 *__cil_tmp24 = 0;
4575 } else {
4576
4577 }
4578 {
4579#line 338
4580 __cil_tmp25 = & val;
4581#line 338
4582 __cil_tmp26 = *__cil_tmp25;
4583#line 338
4584 if (__cil_tmp26 != 0) {
4585 {
4586#line 339
4587 __constr_expr_1_id61 = 0U;
4588#line 339
4589 __cil_tmp27 = (unsigned long )info;
4590#line 339
4591 __cil_tmp28 = __cil_tmp27 + 32;
4592#line 339
4593 __cil_tmp29 = *((struct xenbus_device **)__cil_tmp28);
4594#line 339
4595 __cil_tmp30 = (unsigned long )__cil_tmp29;
4596#line 339
4597 __cil_tmp31 = __cil_tmp30 + 8;
4598#line 339
4599 __cil_tmp32 = *((char const **)__cil_tmp31);
4600#line 339
4601 ret = xenbus_printf(__constr_expr_1_id61, __cil_tmp32, "request-abs-pointer",
4602 "1");
4603 }
4604#line 341
4605 if (ret != 0) {
4606 {
4607#line 342
4608 printk("<4>xen_kbdfront: xenkbd: can\'t request abs-pointer");
4609 }
4610 } else {
4611
4612 }
4613 } else {
4614
4615 }
4616 }
4617 {
4618#line 345
4619 __cil_tmp33 = (enum xenbus_state )4;
4620#line 345
4621 xenbus_switch_state(dev, __cil_tmp33);
4622 }
4623#line 346
4624 goto ldv_26595;
4625 case_4: ;
4626 {
4627#line 354
4628 __cil_tmp34 = (unsigned long )dev;
4629#line 354
4630 __cil_tmp35 = __cil_tmp34 + 1216;
4631#line 354
4632 __cil_tmp36 = *((enum xenbus_state *)__cil_tmp35);
4633#line 354
4634 __cil_tmp37 = (unsigned int )__cil_tmp36;
4635#line 354
4636 if (__cil_tmp37 != 4U) {
4637#line 355
4638 goto InitWait;
4639 } else {
4640
4641 }
4642 }
4643 {
4644#line 358
4645 __constr_expr_2_id62 = 0U;
4646#line 358
4647 __cil_tmp38 = (unsigned long )info;
4648#line 358
4649 __cil_tmp39 = __cil_tmp38 + 32;
4650#line 358
4651 __cil_tmp40 = *((struct xenbus_device **)__cil_tmp39);
4652#line 358
4653 __cil_tmp41 = (unsigned long )__cil_tmp40;
4654#line 358
4655 __cil_tmp42 = __cil_tmp41 + 16;
4656#line 358
4657 __cil_tmp43 = *((char const **)__cil_tmp42);
4658#line 358
4659 tmp___0 = xenbus_scanf(__constr_expr_2_id62, __cil_tmp43, "width", "%d", & val);
4660 }
4661#line 358
4662 if (tmp___0 > 0) {
4663 {
4664#line 360
4665 __cil_tmp44 = (unsigned long )info;
4666#line 360
4667 __cil_tmp45 = __cil_tmp44 + 8;
4668#line 360
4669 __cil_tmp46 = *((struct input_dev **)__cil_tmp45);
4670#line 360
4671 __cil_tmp47 = & val;
4672#line 360
4673 __cil_tmp48 = *__cil_tmp47;
4674#line 360
4675 input_set_abs_params(__cil_tmp46, 0U, 0, __cil_tmp48, 0, 0);
4676 }
4677 } else {
4678
4679 }
4680 {
4681#line 362
4682 __constr_expr_3_id63 = 0U;
4683#line 362
4684 __cil_tmp49 = (unsigned long )info;
4685#line 362
4686 __cil_tmp50 = __cil_tmp49 + 32;
4687#line 362
4688 __cil_tmp51 = *((struct xenbus_device **)__cil_tmp50);
4689#line 362
4690 __cil_tmp52 = (unsigned long )__cil_tmp51;
4691#line 362
4692 __cil_tmp53 = __cil_tmp52 + 16;
4693#line 362
4694 __cil_tmp54 = *((char const **)__cil_tmp53);
4695#line 362
4696 tmp___1 = xenbus_scanf(__constr_expr_3_id63, __cil_tmp54, "height", "%d", & val);
4697 }
4698#line 362
4699 if (tmp___1 > 0) {
4700 {
4701#line 364
4702 __cil_tmp55 = (unsigned long )info;
4703#line 364
4704 __cil_tmp56 = __cil_tmp55 + 8;
4705#line 364
4706 __cil_tmp57 = *((struct input_dev **)__cil_tmp56);
4707#line 364
4708 __cil_tmp58 = & val;
4709#line 364
4710 __cil_tmp59 = *__cil_tmp58;
4711#line 364
4712 input_set_abs_params(__cil_tmp57, 1U, 0, __cil_tmp59, 0, 0);
4713 }
4714 } else {
4715
4716 }
4717#line 366
4718 goto ldv_26595;
4719 case_5:
4720 {
4721#line 369
4722 xenbus_frontend_closed(dev);
4723 }
4724#line 370
4725 goto ldv_26595;
4726 } else {
4727 switch_break: ;
4728 }
4729 }
4730 ldv_26595: ;
4731#line 373
4732 return;
4733}
4734}
4735#line 374 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4736static struct xenbus_device_id const xenkbd_ids[2U] = { {{(char )'v', (char )'k', (char )'b', (char )'d', (char )'\000'}},
4737 {{(char )'\000'}}};
4738#line 384 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4739static struct xenbus_driver xenkbd_driver =
4740#line 384
4741 {(struct xenbus_device_id const *)(& xenkbd_ids), & xenkbd_probe, & xenkbd_backend_changed,
4742 & xenkbd_remove, (int (*)(struct xenbus_device * ))0, & xenkbd_resume, (int (*)(struct xenbus_device * ,
4743 struct kobj_uevent_env * ))0,
4744 {(char const *)(& xenkbd_ids), (struct bus_type *)0, & __this_module, (char const *)0,
4745 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device * ))0, (int (*)(struct device * ))0,
4746 (void (*)(struct device * ))0, (int (*)(struct device * , pm_message_t ))0,
4747 (int (*)(struct device * ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
4748 (struct driver_private *)0}, (int (*)(struct xenbus_device * ))0, (int (*)(struct xenbus_device * ))0};
4749#line 386 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4750static int xenkbd_init(void)
4751{ int tmp ;
4752 unsigned int __cil_tmp2 ;
4753 unsigned int __cil_tmp3 ;
4754 unsigned int __cil_tmp4 ;
4755 unsigned long __cil_tmp5 ;
4756 unsigned long __cil_tmp6 ;
4757 uint32_t __cil_tmp7 ;
4758 unsigned int __cil_tmp8 ;
4759
4760 {
4761 {
4762#line 388
4763 __cil_tmp2 = (unsigned int )xen_domain_type;
4764#line 388
4765 if (__cil_tmp2 == 0U) {
4766#line 389
4767 return (-19);
4768 } else {
4769
4770 }
4771 }
4772 {
4773#line 392
4774 __cil_tmp3 = (unsigned int )xen_domain_type;
4775#line 392
4776 if (__cil_tmp3 != 0U) {
4777 {
4778#line 392
4779 __cil_tmp4 = (unsigned int )xen_domain_type;
4780#line 392
4781 if (__cil_tmp4 == 1U) {
4782 {
4783#line 392
4784 __cil_tmp5 = (unsigned long )xen_start_info;
4785#line 392
4786 __cil_tmp6 = __cil_tmp5 + 48;
4787#line 392
4788 __cil_tmp7 = *((uint32_t *)__cil_tmp6);
4789#line 392
4790 __cil_tmp8 = __cil_tmp7 & 2U;
4791#line 392
4792 if (__cil_tmp8 != 0U) {
4793#line 393
4794 return (-19);
4795 } else {
4796
4797 }
4798 }
4799 } else {
4800
4801 }
4802 }
4803 } else {
4804
4805 }
4806 }
4807 {
4808#line 395
4809 tmp = xenbus_register_frontend(& xenkbd_driver);
4810 }
4811#line 395
4812 return (tmp);
4813}
4814}
4815#line 398 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4816static void xenkbd_cleanup(void)
4817{
4818
4819 {
4820 {
4821#line 400
4822 xenbus_unregister_driver(& xenkbd_driver);
4823 }
4824#line 401
4825 return;
4826}
4827}
4828#line 426
4829extern void ldv_check_final_state(void) ;
4830#line 432
4831extern void ldv_initialize(void) ;
4832#line 435
4833extern int __VERIFIER_nondet_int(void) ;
4834#line 438 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4835int LDV_IN_INTERRUPT ;
4836#line 441 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4837void main(void)
4838{ int var_input_handler_0_p0 ;
4839 void *var_input_handler_0_p1 ;
4840 int tmp ;
4841 int tmp___0 ;
4842 int tmp___1 ;
4843
4844 {
4845 {
4846#line 463
4847 LDV_IN_INTERRUPT = 1;
4848#line 472
4849 ldv_initialize();
4850#line 480
4851 tmp = xenkbd_init();
4852 }
4853#line 480
4854 if (tmp != 0) {
4855#line 481
4856 goto ldv_final;
4857 } else {
4858
4859 }
4860#line 485
4861 goto ldv_26644;
4862 ldv_26643:
4863 {
4864#line 488
4865 tmp___0 = __VERIFIER_nondet_int();
4866 }
4867#line 490
4868 if (tmp___0 == 0) {
4869#line 490
4870 goto case_0;
4871 } else {
4872 {
4873#line 508
4874 goto switch_default;
4875#line 488
4876 if (0) {
4877 case_0:
4878 {
4879#line 493
4880 LDV_IN_INTERRUPT = 2;
4881#line 500
4882 input_handler(var_input_handler_0_p0, var_input_handler_0_p1);
4883#line 501
4884 LDV_IN_INTERRUPT = 1;
4885 }
4886#line 507
4887 goto ldv_26641;
4888 switch_default: ;
4889#line 508
4890 goto ldv_26641;
4891 } else {
4892 switch_break: ;
4893 }
4894 }
4895 }
4896 ldv_26641: ;
4897 ldv_26644:
4898 {
4899#line 485
4900 tmp___1 = __VERIFIER_nondet_int();
4901 }
4902#line 485
4903 if (tmp___1 != 0) {
4904#line 486
4905 goto ldv_26643;
4906 } else {
4907#line 488
4908 goto ldv_26645;
4909 }
4910 ldv_26645: ;
4911 {
4912#line 522
4913 xenkbd_cleanup();
4914 }
4915 ldv_final:
4916 {
4917#line 525
4918 ldv_check_final_state();
4919 }
4920#line 528
4921 return;
4922}
4923}
4924#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4925void ldv_blast_assert(void)
4926{
4927
4928 {
4929 ERROR: ;
4930#line 6
4931 goto ERROR;
4932}
4933}
4934#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4935extern int __VERIFIER_nondet_int(void) ;
4936#line 549 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4937int ldv_spin = 0;
4938#line 553 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4939void ldv_check_alloc_flags(gfp_t flags )
4940{
4941
4942 {
4943#line 556
4944 if (ldv_spin != 0) {
4945#line 556
4946 if (flags != 32U) {
4947 {
4948#line 556
4949 ldv_blast_assert();
4950 }
4951 } else {
4952
4953 }
4954 } else {
4955
4956 }
4957#line 559
4958 return;
4959}
4960}
4961#line 559
4962extern struct page *ldv_some_page(void) ;
4963#line 562 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4964struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
4965{ struct page *tmp ;
4966
4967 {
4968#line 565
4969 if (ldv_spin != 0) {
4970#line 565
4971 if (flags != 32U) {
4972 {
4973#line 565
4974 ldv_blast_assert();
4975 }
4976 } else {
4977
4978 }
4979 } else {
4980
4981 }
4982 {
4983#line 567
4984 tmp = ldv_some_page();
4985 }
4986#line 567
4987 return (tmp);
4988}
4989}
4990#line 571 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
4991void ldv_check_alloc_nonatomic(void)
4992{
4993
4994 {
4995#line 574
4996 if (ldv_spin != 0) {
4997 {
4998#line 574
4999 ldv_blast_assert();
5000 }
5001 } else {
5002
5003 }
5004#line 577
5005 return;
5006}
5007}
5008#line 578 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
5009void ldv_spin_lock(void)
5010{
5011
5012 {
5013#line 581
5014 ldv_spin = 1;
5015#line 582
5016 return;
5017}
5018}
5019#line 585 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
5020void ldv_spin_unlock(void)
5021{
5022
5023 {
5024#line 588
5025 ldv_spin = 0;
5026#line 589
5027 return;
5028}
5029}
5030#line 592 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
5031int ldv_spin_trylock(void)
5032{ int is_lock ;
5033
5034 {
5035 {
5036#line 597
5037 is_lock = __VERIFIER_nondet_int();
5038 }
5039#line 599
5040 if (is_lock != 0) {
5041#line 602
5042 return (0);
5043 } else {
5044#line 607
5045 ldv_spin = 1;
5046#line 609
5047 return (1);
5048 }
5049}
5050}
5051#line 776 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
5052void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
5053{
5054
5055 {
5056 {
5057#line 782
5058 ldv_check_alloc_flags(ldv_func_arg2);
5059#line 784
5060 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
5061 }
5062#line 785
5063 return ((void *)0);
5064}
5065}
5066#line 787 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3040/dscv_tempdir/dscv/ri/43_1a/drivers/input/misc/xen-kbdfront.c.p"
5067__inline static void *kzalloc(size_t size , gfp_t flags )
5068{ void *tmp ;
5069
5070 {
5071 {
5072#line 793
5073 ldv_check_alloc_flags(flags);
5074#line 794
5075 tmp = __VERIFIER_nondet_pointer();
5076 }
5077#line 794
5078 return (tmp);
5079}
5080}