1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 30 "include/asm-generic/int-ll64.h"
17typedef unsigned long long __u64;
18#line 43 "include/asm-generic/int-ll64.h"
19typedef unsigned char u8;
20#line 45 "include/asm-generic/int-ll64.h"
21typedef short s16;
22#line 46 "include/asm-generic/int-ll64.h"
23typedef unsigned short u16;
24#line 48 "include/asm-generic/int-ll64.h"
25typedef int s32;
26#line 49 "include/asm-generic/int-ll64.h"
27typedef unsigned int u32;
28#line 51 "include/asm-generic/int-ll64.h"
29typedef long long s64;
30#line 52 "include/asm-generic/int-ll64.h"
31typedef unsigned long long u64;
32#line 14 "include/asm-generic/posix_types.h"
33typedef long __kernel_long_t;
34#line 15 "include/asm-generic/posix_types.h"
35typedef unsigned long __kernel_ulong_t;
36#line 52 "include/asm-generic/posix_types.h"
37typedef unsigned int __kernel_uid32_t;
38#line 53 "include/asm-generic/posix_types.h"
39typedef unsigned int __kernel_gid32_t;
40#line 75 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_size_t;
42#line 76 "include/asm-generic/posix_types.h"
43typedef __kernel_long_t __kernel_ssize_t;
44#line 91 "include/asm-generic/posix_types.h"
45typedef long long __kernel_loff_t;
46#line 92 "include/asm-generic/posix_types.h"
47typedef __kernel_long_t __kernel_time_t;
48#line 21 "include/linux/types.h"
49typedef __u32 __kernel_dev_t;
50#line 24 "include/linux/types.h"
51typedef __kernel_dev_t dev_t;
52#line 27 "include/linux/types.h"
53typedef unsigned short umode_t;
54#line 38 "include/linux/types.h"
55typedef _Bool bool;
56#line 40 "include/linux/types.h"
57typedef __kernel_uid32_t uid_t;
58#line 41 "include/linux/types.h"
59typedef __kernel_gid32_t gid_t;
60#line 54 "include/linux/types.h"
61typedef __kernel_loff_t loff_t;
62#line 63 "include/linux/types.h"
63typedef __kernel_size_t size_t;
64#line 68 "include/linux/types.h"
65typedef __kernel_ssize_t ssize_t;
66#line 78 "include/linux/types.h"
67typedef __kernel_time_t time_t;
68#line 142 "include/linux/types.h"
69typedef unsigned long sector_t;
70#line 143 "include/linux/types.h"
71typedef unsigned long blkcnt_t;
72#line 202 "include/linux/types.h"
73typedef unsigned int gfp_t;
74#line 203 "include/linux/types.h"
75typedef unsigned int fmode_t;
76#line 206 "include/linux/types.h"
77typedef u64 phys_addr_t;
78#line 211 "include/linux/types.h"
79typedef phys_addr_t resource_size_t;
80#line 221 "include/linux/types.h"
81struct __anonstruct_atomic_t_6 {
82 int counter ;
83};
84#line 221 "include/linux/types.h"
85typedef struct __anonstruct_atomic_t_6 atomic_t;
86#line 226 "include/linux/types.h"
87struct __anonstruct_atomic64_t_7 {
88 long counter ;
89};
90#line 226 "include/linux/types.h"
91typedef struct __anonstruct_atomic64_t_7 atomic64_t;
92#line 227 "include/linux/types.h"
93struct list_head {
94 struct list_head *next ;
95 struct list_head *prev ;
96};
97#line 232
98struct hlist_node;
99#line 232 "include/linux/types.h"
100struct hlist_head {
101 struct hlist_node *first ;
102};
103#line 236 "include/linux/types.h"
104struct hlist_node {
105 struct hlist_node *next ;
106 struct hlist_node **pprev ;
107};
108#line 247 "include/linux/types.h"
109struct rcu_head {
110 struct rcu_head *next ;
111 void (*func)(struct rcu_head * ) ;
112};
113#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
114struct module;
115#line 55
116struct module;
117#line 146 "include/linux/init.h"
118typedef void (*ctor_fn_t)(void);
119#line 46 "include/linux/dynamic_debug.h"
120struct device;
121#line 46
122struct device;
123#line 57
124struct completion;
125#line 57
126struct completion;
127#line 58
128struct pt_regs;
129#line 58
130struct pt_regs;
131#line 348 "include/linux/kernel.h"
132struct pid;
133#line 348
134struct pid;
135#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
136struct timespec;
137#line 112
138struct timespec;
139#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
140struct page;
141#line 58
142struct page;
143#line 26 "include/asm-generic/getorder.h"
144struct task_struct;
145#line 26
146struct task_struct;
147#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
148struct pt_regs {
149 unsigned long r15 ;
150 unsigned long r14 ;
151 unsigned long r13 ;
152 unsigned long r12 ;
153 unsigned long bp ;
154 unsigned long bx ;
155 unsigned long r11 ;
156 unsigned long r10 ;
157 unsigned long r9 ;
158 unsigned long r8 ;
159 unsigned long ax ;
160 unsigned long cx ;
161 unsigned long dx ;
162 unsigned long si ;
163 unsigned long di ;
164 unsigned long orig_ax ;
165 unsigned long ip ;
166 unsigned long cs ;
167 unsigned long flags ;
168 unsigned long sp ;
169 unsigned long ss ;
170};
171#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
172struct __anonstruct_ldv_2180_13 {
173 unsigned int a ;
174 unsigned int b ;
175};
176#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
177struct __anonstruct_ldv_2195_14 {
178 u16 limit0 ;
179 u16 base0 ;
180 unsigned char base1 ;
181 unsigned char type : 4 ;
182 unsigned char s : 1 ;
183 unsigned char dpl : 2 ;
184 unsigned char p : 1 ;
185 unsigned char limit : 4 ;
186 unsigned char avl : 1 ;
187 unsigned char l : 1 ;
188 unsigned char d : 1 ;
189 unsigned char g : 1 ;
190 unsigned char base2 ;
191};
192#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
193union __anonunion_ldv_2196_12 {
194 struct __anonstruct_ldv_2180_13 ldv_2180 ;
195 struct __anonstruct_ldv_2195_14 ldv_2195 ;
196};
197#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
198struct desc_struct {
199 union __anonunion_ldv_2196_12 ldv_2196 ;
200};
201#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
202struct gate_struct64 {
203 u16 offset_low ;
204 u16 segment ;
205 unsigned char ist : 3 ;
206 unsigned char zero0 : 5 ;
207 unsigned char type : 5 ;
208 unsigned char dpl : 2 ;
209 unsigned char p : 1 ;
210 u16 offset_middle ;
211 u32 offset_high ;
212 u32 zero1 ;
213};
214#line 81 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
215typedef struct gate_struct64 gate_desc;
216#line 84 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
217struct desc_ptr {
218 unsigned short size ;
219 unsigned long address ;
220};
221#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
222struct file;
223#line 290
224struct file;
225#line 305
226struct seq_file;
227#line 305
228struct seq_file;
229#line 337
230struct thread_struct;
231#line 337
232struct thread_struct;
233#line 338
234struct tss_struct;
235#line 338
236struct tss_struct;
237#line 101 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
238struct pv_cpu_ops {
239 unsigned long (*get_debugreg)(int ) ;
240 void (*set_debugreg)(int , unsigned long ) ;
241 void (*clts)(void) ;
242 unsigned long (*read_cr0)(void) ;
243 void (*write_cr0)(unsigned long ) ;
244 unsigned long (*read_cr4_safe)(void) ;
245 unsigned long (*read_cr4)(void) ;
246 void (*write_cr4)(unsigned long ) ;
247 unsigned long (*read_cr8)(void) ;
248 void (*write_cr8)(unsigned long ) ;
249 void (*load_tr_desc)(void) ;
250 void (*load_gdt)(struct desc_ptr const * ) ;
251 void (*load_idt)(struct desc_ptr const * ) ;
252 void (*store_gdt)(struct desc_ptr * ) ;
253 void (*store_idt)(struct desc_ptr * ) ;
254 void (*set_ldt)(void const * , unsigned int ) ;
255 unsigned long (*store_tr)(void) ;
256 void (*load_tls)(struct thread_struct * , unsigned int ) ;
257 void (*load_gs_index)(unsigned int ) ;
258 void (*write_ldt_entry)(struct desc_struct * , int , void const * ) ;
259 void (*write_gdt_entry)(struct desc_struct * , int , void const * , int ) ;
260 void (*write_idt_entry)(gate_desc * , int , gate_desc const * ) ;
261 void (*alloc_ldt)(struct desc_struct * , unsigned int ) ;
262 void (*free_ldt)(struct desc_struct * , unsigned int ) ;
263 void (*load_sp0)(struct tss_struct * , struct thread_struct * ) ;
264 void (*set_iopl_mask)(unsigned int ) ;
265 void (*wbinvd)(void) ;
266 void (*io_delay)(void) ;
267 void (*cpuid)(unsigned int * , unsigned int * , unsigned int * , unsigned int * ) ;
268 u64 (*read_msr)(unsigned int , int * ) ;
269 int (*rdmsr_regs)(u32 * ) ;
270 int (*write_msr)(unsigned int , unsigned int , unsigned int ) ;
271 int (*wrmsr_regs)(u32 * ) ;
272 u64 (*read_tsc)(void) ;
273 u64 (*read_pmc)(int ) ;
274 unsigned long long (*read_tscp)(unsigned int * ) ;
275 void (*irq_enable_sysexit)(void) ;
276 void (*usergs_sysret64)(void) ;
277 void (*usergs_sysret32)(void) ;
278 void (*iret)(void) ;
279 void (*swapgs)(void) ;
280 void (*start_context_switch)(struct task_struct * ) ;
281 void (*end_context_switch)(struct task_struct * ) ;
282};
283#line 327
284struct arch_spinlock;
285#line 327
286struct arch_spinlock;
287#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
288struct kernel_vm86_regs {
289 struct pt_regs pt ;
290 unsigned short es ;
291 unsigned short __esh ;
292 unsigned short ds ;
293 unsigned short __dsh ;
294 unsigned short fs ;
295 unsigned short __fsh ;
296 unsigned short gs ;
297 unsigned short __gsh ;
298};
299#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
300union __anonunion_ldv_2824_19 {
301 struct pt_regs *regs ;
302 struct kernel_vm86_regs *vm86 ;
303};
304#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
305struct math_emu_info {
306 long ___orig_eip ;
307 union __anonunion_ldv_2824_19 ldv_2824 ;
308};
309#line 306 "include/linux/bitmap.h"
310struct bug_entry {
311 int bug_addr_disp ;
312 int file_disp ;
313 unsigned short line ;
314 unsigned short flags ;
315};
316#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
317struct static_key;
318#line 234
319struct static_key;
320#line 199 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
321struct x86_hw_tss {
322 u32 reserved1 ;
323 u64 sp0 ;
324 u64 sp1 ;
325 u64 sp2 ;
326 u64 reserved2 ;
327 u64 ist[7U] ;
328 u32 reserved3 ;
329 u32 reserved4 ;
330 u16 reserved5 ;
331 u16 io_bitmap_base ;
332};
333#line 246 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
334struct tss_struct {
335 struct x86_hw_tss x86_tss ;
336 unsigned long io_bitmap[1025U] ;
337 unsigned long stack[64U] ;
338};
339#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
340struct i387_fsave_struct {
341 u32 cwd ;
342 u32 swd ;
343 u32 twd ;
344 u32 fip ;
345 u32 fcs ;
346 u32 foo ;
347 u32 fos ;
348 u32 st_space[20U] ;
349 u32 status ;
350};
351#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
352struct __anonstruct_ldv_5180_24 {
353 u64 rip ;
354 u64 rdp ;
355};
356#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
357struct __anonstruct_ldv_5186_25 {
358 u32 fip ;
359 u32 fcs ;
360 u32 foo ;
361 u32 fos ;
362};
363#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
364union __anonunion_ldv_5187_23 {
365 struct __anonstruct_ldv_5180_24 ldv_5180 ;
366 struct __anonstruct_ldv_5186_25 ldv_5186 ;
367};
368#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
369union __anonunion_ldv_5196_26 {
370 u32 padding1[12U] ;
371 u32 sw_reserved[12U] ;
372};
373#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
374struct i387_fxsave_struct {
375 u16 cwd ;
376 u16 swd ;
377 u16 twd ;
378 u16 fop ;
379 union __anonunion_ldv_5187_23 ldv_5187 ;
380 u32 mxcsr ;
381 u32 mxcsr_mask ;
382 u32 st_space[32U] ;
383 u32 xmm_space[64U] ;
384 u32 padding[12U] ;
385 union __anonunion_ldv_5196_26 ldv_5196 ;
386};
387#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
388struct i387_soft_struct {
389 u32 cwd ;
390 u32 swd ;
391 u32 twd ;
392 u32 fip ;
393 u32 fcs ;
394 u32 foo ;
395 u32 fos ;
396 u32 st_space[20U] ;
397 u8 ftop ;
398 u8 changed ;
399 u8 lookahead ;
400 u8 no_update ;
401 u8 rm ;
402 u8 alimit ;
403 struct math_emu_info *info ;
404 u32 entry_eip ;
405};
406#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
407struct ymmh_struct {
408 u32 ymmh_space[64U] ;
409};
410#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
411struct xsave_hdr_struct {
412 u64 xstate_bv ;
413 u64 reserved1[2U] ;
414 u64 reserved2[5U] ;
415};
416#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
417struct xsave_struct {
418 struct i387_fxsave_struct i387 ;
419 struct xsave_hdr_struct xsave_hdr ;
420 struct ymmh_struct ymmh ;
421};
422#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
423union thread_xstate {
424 struct i387_fsave_struct fsave ;
425 struct i387_fxsave_struct fxsave ;
426 struct i387_soft_struct soft ;
427 struct xsave_struct xsave ;
428};
429#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
430struct fpu {
431 unsigned int last_cpu ;
432 unsigned int has_fpu ;
433 union thread_xstate *state ;
434};
435#line 433
436struct kmem_cache;
437#line 434
438struct perf_event;
439#line 434
440struct perf_event;
441#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
442struct thread_struct {
443 struct desc_struct tls_array[3U] ;
444 unsigned long sp0 ;
445 unsigned long sp ;
446 unsigned long usersp ;
447 unsigned short es ;
448 unsigned short ds ;
449 unsigned short fsindex ;
450 unsigned short gsindex ;
451 unsigned long fs ;
452 unsigned long gs ;
453 struct perf_event *ptrace_bps[4U] ;
454 unsigned long debugreg6 ;
455 unsigned long ptrace_dr7 ;
456 unsigned long cr2 ;
457 unsigned long trap_nr ;
458 unsigned long error_code ;
459 struct fpu fpu ;
460 unsigned long *io_bitmap_ptr ;
461 unsigned long iopl ;
462 unsigned int io_bitmap_max ;
463};
464#line 23 "include/asm-generic/atomic-long.h"
465typedef atomic64_t atomic_long_t;
466#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
467typedef u16 __ticket_t;
468#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
469typedef u32 __ticketpair_t;
470#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
471struct __raw_tickets {
472 __ticket_t head ;
473 __ticket_t tail ;
474};
475#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
476union __anonunion_ldv_5907_29 {
477 __ticketpair_t head_tail ;
478 struct __raw_tickets tickets ;
479};
480#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
481struct arch_spinlock {
482 union __anonunion_ldv_5907_29 ldv_5907 ;
483};
484#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
485typedef struct arch_spinlock arch_spinlock_t;
486#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
487struct __anonstruct_ldv_5914_31 {
488 u32 read ;
489 s32 write ;
490};
491#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
492union __anonunion_arch_rwlock_t_30 {
493 s64 lock ;
494 struct __anonstruct_ldv_5914_31 ldv_5914 ;
495};
496#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
497typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
498#line 34
499struct lockdep_map;
500#line 34
501struct lockdep_map;
502#line 55 "include/linux/debug_locks.h"
503struct stack_trace {
504 unsigned int nr_entries ;
505 unsigned int max_entries ;
506 unsigned long *entries ;
507 int skip ;
508};
509#line 26 "include/linux/stacktrace.h"
510struct lockdep_subclass_key {
511 char __one_byte ;
512};
513#line 53 "include/linux/lockdep.h"
514struct lock_class_key {
515 struct lockdep_subclass_key subkeys[8U] ;
516};
517#line 59 "include/linux/lockdep.h"
518struct lock_class {
519 struct list_head hash_entry ;
520 struct list_head lock_entry ;
521 struct lockdep_subclass_key *key ;
522 unsigned int subclass ;
523 unsigned int dep_gen_id ;
524 unsigned long usage_mask ;
525 struct stack_trace usage_traces[13U] ;
526 struct list_head locks_after ;
527 struct list_head locks_before ;
528 unsigned int version ;
529 unsigned long ops ;
530 char const *name ;
531 int name_version ;
532 unsigned long contention_point[4U] ;
533 unsigned long contending_point[4U] ;
534};
535#line 144 "include/linux/lockdep.h"
536struct lockdep_map {
537 struct lock_class_key *key ;
538 struct lock_class *class_cache[2U] ;
539 char const *name ;
540 int cpu ;
541 unsigned long ip ;
542};
543#line 556 "include/linux/lockdep.h"
544struct raw_spinlock {
545 arch_spinlock_t raw_lock ;
546 unsigned int magic ;
547 unsigned int owner_cpu ;
548 void *owner ;
549 struct lockdep_map dep_map ;
550};
551#line 32 "include/linux/spinlock_types.h"
552typedef struct raw_spinlock raw_spinlock_t;
553#line 33 "include/linux/spinlock_types.h"
554struct __anonstruct_ldv_6122_33 {
555 u8 __padding[24U] ;
556 struct lockdep_map dep_map ;
557};
558#line 33 "include/linux/spinlock_types.h"
559union __anonunion_ldv_6123_32 {
560 struct raw_spinlock rlock ;
561 struct __anonstruct_ldv_6122_33 ldv_6122 ;
562};
563#line 33 "include/linux/spinlock_types.h"
564struct spinlock {
565 union __anonunion_ldv_6123_32 ldv_6123 ;
566};
567#line 76 "include/linux/spinlock_types.h"
568typedef struct spinlock spinlock_t;
569#line 23 "include/linux/rwlock_types.h"
570struct __anonstruct_rwlock_t_34 {
571 arch_rwlock_t raw_lock ;
572 unsigned int magic ;
573 unsigned int owner_cpu ;
574 void *owner ;
575 struct lockdep_map dep_map ;
576};
577#line 23 "include/linux/rwlock_types.h"
578typedef struct __anonstruct_rwlock_t_34 rwlock_t;
579#line 110 "include/linux/seqlock.h"
580struct seqcount {
581 unsigned int sequence ;
582};
583#line 121 "include/linux/seqlock.h"
584typedef struct seqcount seqcount_t;
585#line 254 "include/linux/seqlock.h"
586struct timespec {
587 __kernel_time_t tv_sec ;
588 long tv_nsec ;
589};
590#line 286 "include/linux/time.h"
591struct kstat {
592 u64 ino ;
593 dev_t dev ;
594 umode_t mode ;
595 unsigned int nlink ;
596 uid_t uid ;
597 gid_t gid ;
598 dev_t rdev ;
599 loff_t size ;
600 struct timespec atime ;
601 struct timespec mtime ;
602 struct timespec ctime ;
603 unsigned long blksize ;
604 unsigned long long blocks ;
605};
606#line 48 "include/linux/wait.h"
607struct __wait_queue_head {
608 spinlock_t lock ;
609 struct list_head task_list ;
610};
611#line 53 "include/linux/wait.h"
612typedef struct __wait_queue_head wait_queue_head_t;
613#line 670 "include/linux/mmzone.h"
614struct mutex {
615 atomic_t count ;
616 spinlock_t wait_lock ;
617 struct list_head wait_list ;
618 struct task_struct *owner ;
619 char const *name ;
620 void *magic ;
621 struct lockdep_map dep_map ;
622};
623#line 171 "include/linux/mutex.h"
624struct rw_semaphore;
625#line 171
626struct rw_semaphore;
627#line 172 "include/linux/mutex.h"
628struct rw_semaphore {
629 long count ;
630 raw_spinlock_t wait_lock ;
631 struct list_head wait_list ;
632 struct lockdep_map dep_map ;
633};
634#line 128 "include/linux/rwsem.h"
635struct completion {
636 unsigned int done ;
637 wait_queue_head_t wait ;
638};
639#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
640struct resource {
641 resource_size_t start ;
642 resource_size_t end ;
643 char const *name ;
644 unsigned long flags ;
645 struct resource *parent ;
646 struct resource *sibling ;
647 struct resource *child ;
648};
649#line 312 "include/linux/jiffies.h"
650union ktime {
651 s64 tv64 ;
652};
653#line 59 "include/linux/ktime.h"
654typedef union ktime ktime_t;
655#line 341
656struct tvec_base;
657#line 341
658struct tvec_base;
659#line 342 "include/linux/ktime.h"
660struct timer_list {
661 struct list_head entry ;
662 unsigned long expires ;
663 struct tvec_base *base ;
664 void (*function)(unsigned long ) ;
665 unsigned long data ;
666 int slack ;
667 int start_pid ;
668 void *start_site ;
669 char start_comm[16U] ;
670 struct lockdep_map lockdep_map ;
671};
672#line 302 "include/linux/timer.h"
673struct work_struct;
674#line 302
675struct work_struct;
676#line 45 "include/linux/workqueue.h"
677struct work_struct {
678 atomic_long_t data ;
679 struct list_head entry ;
680 void (*func)(struct work_struct * ) ;
681 struct lockdep_map lockdep_map ;
682};
683#line 46 "include/linux/pm.h"
684struct pm_message {
685 int event ;
686};
687#line 52 "include/linux/pm.h"
688typedef struct pm_message pm_message_t;
689#line 53 "include/linux/pm.h"
690struct dev_pm_ops {
691 int (*prepare)(struct device * ) ;
692 void (*complete)(struct device * ) ;
693 int (*suspend)(struct device * ) ;
694 int (*resume)(struct device * ) ;
695 int (*freeze)(struct device * ) ;
696 int (*thaw)(struct device * ) ;
697 int (*poweroff)(struct device * ) ;
698 int (*restore)(struct device * ) ;
699 int (*suspend_late)(struct device * ) ;
700 int (*resume_early)(struct device * ) ;
701 int (*freeze_late)(struct device * ) ;
702 int (*thaw_early)(struct device * ) ;
703 int (*poweroff_late)(struct device * ) ;
704 int (*restore_early)(struct device * ) ;
705 int (*suspend_noirq)(struct device * ) ;
706 int (*resume_noirq)(struct device * ) ;
707 int (*freeze_noirq)(struct device * ) ;
708 int (*thaw_noirq)(struct device * ) ;
709 int (*poweroff_noirq)(struct device * ) ;
710 int (*restore_noirq)(struct device * ) ;
711 int (*runtime_suspend)(struct device * ) ;
712 int (*runtime_resume)(struct device * ) ;
713 int (*runtime_idle)(struct device * ) ;
714};
715#line 289
716enum rpm_status {
717 RPM_ACTIVE = 0,
718 RPM_RESUMING = 1,
719 RPM_SUSPENDED = 2,
720 RPM_SUSPENDING = 3
721} ;
722#line 296
723enum rpm_request {
724 RPM_REQ_NONE = 0,
725 RPM_REQ_IDLE = 1,
726 RPM_REQ_SUSPEND = 2,
727 RPM_REQ_AUTOSUSPEND = 3,
728 RPM_REQ_RESUME = 4
729} ;
730#line 304
731struct wakeup_source;
732#line 304
733struct wakeup_source;
734#line 494 "include/linux/pm.h"
735struct pm_subsys_data {
736 spinlock_t lock ;
737 unsigned int refcount ;
738};
739#line 499
740struct dev_pm_qos_request;
741#line 499
742struct pm_qos_constraints;
743#line 499 "include/linux/pm.h"
744struct dev_pm_info {
745 pm_message_t power_state ;
746 unsigned char can_wakeup : 1 ;
747 unsigned char async_suspend : 1 ;
748 bool is_prepared ;
749 bool is_suspended ;
750 bool ignore_children ;
751 spinlock_t lock ;
752 struct list_head entry ;
753 struct completion completion ;
754 struct wakeup_source *wakeup ;
755 bool wakeup_path ;
756 struct timer_list suspend_timer ;
757 unsigned long timer_expires ;
758 struct work_struct work ;
759 wait_queue_head_t wait_queue ;
760 atomic_t usage_count ;
761 atomic_t child_count ;
762 unsigned char disable_depth : 3 ;
763 unsigned char idle_notification : 1 ;
764 unsigned char request_pending : 1 ;
765 unsigned char deferred_resume : 1 ;
766 unsigned char run_wake : 1 ;
767 unsigned char runtime_auto : 1 ;
768 unsigned char no_callbacks : 1 ;
769 unsigned char irq_safe : 1 ;
770 unsigned char use_autosuspend : 1 ;
771 unsigned char timer_autosuspends : 1 ;
772 enum rpm_request request ;
773 enum rpm_status runtime_status ;
774 int runtime_error ;
775 int autosuspend_delay ;
776 unsigned long last_busy ;
777 unsigned long active_jiffies ;
778 unsigned long suspended_jiffies ;
779 unsigned long accounting_timestamp ;
780 ktime_t suspend_time ;
781 s64 max_time_suspended_ns ;
782 struct dev_pm_qos_request *pq_req ;
783 struct pm_subsys_data *subsys_data ;
784 struct pm_qos_constraints *constraints ;
785};
786#line 558 "include/linux/pm.h"
787struct dev_pm_domain {
788 struct dev_pm_ops ops ;
789};
790#line 18 "include/asm-generic/pci_iomap.h"
791struct vm_area_struct;
792#line 18
793struct vm_area_struct;
794#line 37 "include/linux/kmod.h"
795struct cred;
796#line 37
797struct cred;
798#line 18 "include/linux/elf.h"
799typedef __u64 Elf64_Addr;
800#line 19 "include/linux/elf.h"
801typedef __u16 Elf64_Half;
802#line 23 "include/linux/elf.h"
803typedef __u32 Elf64_Word;
804#line 24 "include/linux/elf.h"
805typedef __u64 Elf64_Xword;
806#line 193 "include/linux/elf.h"
807struct elf64_sym {
808 Elf64_Word st_name ;
809 unsigned char st_info ;
810 unsigned char st_other ;
811 Elf64_Half st_shndx ;
812 Elf64_Addr st_value ;
813 Elf64_Xword st_size ;
814};
815#line 201 "include/linux/elf.h"
816typedef struct elf64_sym Elf64_Sym;
817#line 445
818struct sock;
819#line 445
820struct sock;
821#line 446
822struct kobject;
823#line 446
824struct kobject;
825#line 447
826enum kobj_ns_type {
827 KOBJ_NS_TYPE_NONE = 0,
828 KOBJ_NS_TYPE_NET = 1,
829 KOBJ_NS_TYPES = 2
830} ;
831#line 453 "include/linux/elf.h"
832struct kobj_ns_type_operations {
833 enum kobj_ns_type type ;
834 void *(*grab_current_ns)(void) ;
835 void const *(*netlink_ns)(struct sock * ) ;
836 void const *(*initial_ns)(void) ;
837 void (*drop_ns)(void * ) ;
838};
839#line 57 "include/linux/kobject_ns.h"
840struct attribute {
841 char const *name ;
842 umode_t mode ;
843 struct lock_class_key *key ;
844 struct lock_class_key skey ;
845};
846#line 33 "include/linux/sysfs.h"
847struct attribute_group {
848 char const *name ;
849 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
850 struct attribute **attrs ;
851};
852#line 62 "include/linux/sysfs.h"
853struct bin_attribute {
854 struct attribute attr ;
855 size_t size ;
856 void *private ;
857 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
858 loff_t , size_t ) ;
859 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
860 loff_t , size_t ) ;
861 int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
862};
863#line 98 "include/linux/sysfs.h"
864struct sysfs_ops {
865 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
866 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
867 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
868};
869#line 117
870struct sysfs_dirent;
871#line 117
872struct sysfs_dirent;
873#line 182 "include/linux/sysfs.h"
874struct kref {
875 atomic_t refcount ;
876};
877#line 49 "include/linux/kobject.h"
878struct kset;
879#line 49
880struct kobj_type;
881#line 49 "include/linux/kobject.h"
882struct kobject {
883 char const *name ;
884 struct list_head entry ;
885 struct kobject *parent ;
886 struct kset *kset ;
887 struct kobj_type *ktype ;
888 struct sysfs_dirent *sd ;
889 struct kref kref ;
890 unsigned char state_initialized : 1 ;
891 unsigned char state_in_sysfs : 1 ;
892 unsigned char state_add_uevent_sent : 1 ;
893 unsigned char state_remove_uevent_sent : 1 ;
894 unsigned char uevent_suppress : 1 ;
895};
896#line 107 "include/linux/kobject.h"
897struct kobj_type {
898 void (*release)(struct kobject * ) ;
899 struct sysfs_ops const *sysfs_ops ;
900 struct attribute **default_attrs ;
901 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject * ) ;
902 void const *(*namespace)(struct kobject * ) ;
903};
904#line 115 "include/linux/kobject.h"
905struct kobj_uevent_env {
906 char *envp[32U] ;
907 int envp_idx ;
908 char buf[2048U] ;
909 int buflen ;
910};
911#line 122 "include/linux/kobject.h"
912struct kset_uevent_ops {
913 int (* const filter)(struct kset * , struct kobject * ) ;
914 char const *(* const name)(struct kset * , struct kobject * ) ;
915 int (* const uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
916};
917#line 139 "include/linux/kobject.h"
918struct kset {
919 struct list_head list ;
920 spinlock_t list_lock ;
921 struct kobject kobj ;
922 struct kset_uevent_ops const *uevent_ops ;
923};
924#line 215
925struct kernel_param;
926#line 215
927struct kernel_param;
928#line 216 "include/linux/kobject.h"
929struct kernel_param_ops {
930 int (*set)(char const * , struct kernel_param const * ) ;
931 int (*get)(char * , struct kernel_param const * ) ;
932 void (*free)(void * ) ;
933};
934#line 49 "include/linux/moduleparam.h"
935struct kparam_string;
936#line 49
937struct kparam_array;
938#line 49 "include/linux/moduleparam.h"
939union __anonunion_ldv_13363_134 {
940 void *arg ;
941 struct kparam_string const *str ;
942 struct kparam_array const *arr ;
943};
944#line 49 "include/linux/moduleparam.h"
945struct kernel_param {
946 char const *name ;
947 struct kernel_param_ops const *ops ;
948 u16 perm ;
949 s16 level ;
950 union __anonunion_ldv_13363_134 ldv_13363 ;
951};
952#line 61 "include/linux/moduleparam.h"
953struct kparam_string {
954 unsigned int maxlen ;
955 char *string ;
956};
957#line 67 "include/linux/moduleparam.h"
958struct kparam_array {
959 unsigned int max ;
960 unsigned int elemsize ;
961 unsigned int *num ;
962 struct kernel_param_ops const *ops ;
963 void *elem ;
964};
965#line 458 "include/linux/moduleparam.h"
966struct static_key {
967 atomic_t enabled ;
968};
969#line 225 "include/linux/jump_label.h"
970struct tracepoint;
971#line 225
972struct tracepoint;
973#line 226 "include/linux/jump_label.h"
974struct tracepoint_func {
975 void *func ;
976 void *data ;
977};
978#line 29 "include/linux/tracepoint.h"
979struct tracepoint {
980 char const *name ;
981 struct static_key key ;
982 void (*regfunc)(void) ;
983 void (*unregfunc)(void) ;
984 struct tracepoint_func *funcs ;
985};
986#line 86 "include/linux/tracepoint.h"
987struct kernel_symbol {
988 unsigned long value ;
989 char const *name ;
990};
991#line 27 "include/linux/export.h"
992struct mod_arch_specific {
993
994};
995#line 34 "include/linux/module.h"
996struct module_param_attrs;
997#line 34 "include/linux/module.h"
998struct module_kobject {
999 struct kobject kobj ;
1000 struct module *mod ;
1001 struct kobject *drivers_dir ;
1002 struct module_param_attrs *mp ;
1003};
1004#line 43 "include/linux/module.h"
1005struct module_attribute {
1006 struct attribute attr ;
1007 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1008 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1009 size_t ) ;
1010 void (*setup)(struct module * , char const * ) ;
1011 int (*test)(struct module * ) ;
1012 void (*free)(struct module * ) ;
1013};
1014#line 69
1015struct exception_table_entry;
1016#line 69
1017struct exception_table_entry;
1018#line 198
1019enum module_state {
1020 MODULE_STATE_LIVE = 0,
1021 MODULE_STATE_COMING = 1,
1022 MODULE_STATE_GOING = 2
1023} ;
1024#line 204 "include/linux/module.h"
1025struct module_ref {
1026 unsigned long incs ;
1027 unsigned long decs ;
1028};
1029#line 219
1030struct module_sect_attrs;
1031#line 219
1032struct module_notes_attrs;
1033#line 219
1034struct ftrace_event_call;
1035#line 219 "include/linux/module.h"
1036struct module {
1037 enum module_state state ;
1038 struct list_head list ;
1039 char name[56U] ;
1040 struct module_kobject mkobj ;
1041 struct module_attribute *modinfo_attrs ;
1042 char const *version ;
1043 char const *srcversion ;
1044 struct kobject *holders_dir ;
1045 struct kernel_symbol const *syms ;
1046 unsigned long const *crcs ;
1047 unsigned int num_syms ;
1048 struct kernel_param *kp ;
1049 unsigned int num_kp ;
1050 unsigned int num_gpl_syms ;
1051 struct kernel_symbol const *gpl_syms ;
1052 unsigned long const *gpl_crcs ;
1053 struct kernel_symbol const *unused_syms ;
1054 unsigned long const *unused_crcs ;
1055 unsigned int num_unused_syms ;
1056 unsigned int num_unused_gpl_syms ;
1057 struct kernel_symbol const *unused_gpl_syms ;
1058 unsigned long const *unused_gpl_crcs ;
1059 struct kernel_symbol const *gpl_future_syms ;
1060 unsigned long const *gpl_future_crcs ;
1061 unsigned int num_gpl_future_syms ;
1062 unsigned int num_exentries ;
1063 struct exception_table_entry *extable ;
1064 int (*init)(void) ;
1065 void *module_init ;
1066 void *module_core ;
1067 unsigned int init_size ;
1068 unsigned int core_size ;
1069 unsigned int init_text_size ;
1070 unsigned int core_text_size ;
1071 unsigned int init_ro_size ;
1072 unsigned int core_ro_size ;
1073 struct mod_arch_specific arch ;
1074 unsigned int taints ;
1075 unsigned int num_bugs ;
1076 struct list_head bug_list ;
1077 struct bug_entry *bug_table ;
1078 Elf64_Sym *symtab ;
1079 Elf64_Sym *core_symtab ;
1080 unsigned int num_symtab ;
1081 unsigned int core_num_syms ;
1082 char *strtab ;
1083 char *core_strtab ;
1084 struct module_sect_attrs *sect_attrs ;
1085 struct module_notes_attrs *notes_attrs ;
1086 char *args ;
1087 void *percpu ;
1088 unsigned int percpu_size ;
1089 unsigned int num_tracepoints ;
1090 struct tracepoint * const *tracepoints_ptrs ;
1091 unsigned int num_trace_bprintk_fmt ;
1092 char const **trace_bprintk_fmt_start ;
1093 struct ftrace_event_call **trace_events ;
1094 unsigned int num_trace_events ;
1095 struct list_head source_list ;
1096 struct list_head target_list ;
1097 struct task_struct *waiter ;
1098 void (*exit)(void) ;
1099 struct module_ref *refptr ;
1100 ctor_fn_t (**ctors)(void) ;
1101 unsigned int num_ctors ;
1102};
1103#line 88 "include/linux/kmemleak.h"
1104struct kmem_cache_cpu {
1105 void **freelist ;
1106 unsigned long tid ;
1107 struct page *page ;
1108 struct page *partial ;
1109 int node ;
1110 unsigned int stat[26U] ;
1111};
1112#line 55 "include/linux/slub_def.h"
1113struct kmem_cache_node {
1114 spinlock_t list_lock ;
1115 unsigned long nr_partial ;
1116 struct list_head partial ;
1117 atomic_long_t nr_slabs ;
1118 atomic_long_t total_objects ;
1119 struct list_head full ;
1120};
1121#line 66 "include/linux/slub_def.h"
1122struct kmem_cache_order_objects {
1123 unsigned long x ;
1124};
1125#line 76 "include/linux/slub_def.h"
1126struct kmem_cache {
1127 struct kmem_cache_cpu *cpu_slab ;
1128 unsigned long flags ;
1129 unsigned long min_partial ;
1130 int size ;
1131 int objsize ;
1132 int offset ;
1133 int cpu_partial ;
1134 struct kmem_cache_order_objects oo ;
1135 struct kmem_cache_order_objects max ;
1136 struct kmem_cache_order_objects min ;
1137 gfp_t allocflags ;
1138 int refcount ;
1139 void (*ctor)(void * ) ;
1140 int inuse ;
1141 int align ;
1142 int reserved ;
1143 char const *name ;
1144 struct list_head list ;
1145 struct kobject kobj ;
1146 int remote_node_defrag_ratio ;
1147 struct kmem_cache_node *node[1024U] ;
1148};
1149#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
1150struct file_operations;
1151#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
1152struct miscdevice {
1153 int minor ;
1154 char const *name ;
1155 struct file_operations const *fops ;
1156 struct list_head list ;
1157 struct device *parent ;
1158 struct device *this_device ;
1159 char const *nodename ;
1160 umode_t mode ;
1161};
1162#line 63 "include/linux/miscdevice.h"
1163struct watchdog_info {
1164 __u32 options ;
1165 __u32 firmware_version ;
1166 __u8 identity[32U] ;
1167};
1168#line 155 "include/linux/watchdog.h"
1169struct block_device;
1170#line 155
1171struct block_device;
1172#line 93 "include/linux/bit_spinlock.h"
1173struct hlist_bl_node;
1174#line 93 "include/linux/bit_spinlock.h"
1175struct hlist_bl_head {
1176 struct hlist_bl_node *first ;
1177};
1178#line 36 "include/linux/list_bl.h"
1179struct hlist_bl_node {
1180 struct hlist_bl_node *next ;
1181 struct hlist_bl_node **pprev ;
1182};
1183#line 114 "include/linux/rculist_bl.h"
1184struct nameidata;
1185#line 114
1186struct nameidata;
1187#line 115
1188struct path;
1189#line 115
1190struct path;
1191#line 116
1192struct vfsmount;
1193#line 116
1194struct vfsmount;
1195#line 117 "include/linux/rculist_bl.h"
1196struct qstr {
1197 unsigned int hash ;
1198 unsigned int len ;
1199 unsigned char const *name ;
1200};
1201#line 72 "include/linux/dcache.h"
1202struct inode;
1203#line 72
1204struct dentry_operations;
1205#line 72
1206struct super_block;
1207#line 72 "include/linux/dcache.h"
1208union __anonunion_d_u_135 {
1209 struct list_head d_child ;
1210 struct rcu_head d_rcu ;
1211};
1212#line 72 "include/linux/dcache.h"
1213struct dentry {
1214 unsigned int d_flags ;
1215 seqcount_t d_seq ;
1216 struct hlist_bl_node d_hash ;
1217 struct dentry *d_parent ;
1218 struct qstr d_name ;
1219 struct inode *d_inode ;
1220 unsigned char d_iname[32U] ;
1221 unsigned int d_count ;
1222 spinlock_t d_lock ;
1223 struct dentry_operations const *d_op ;
1224 struct super_block *d_sb ;
1225 unsigned long d_time ;
1226 void *d_fsdata ;
1227 struct list_head d_lru ;
1228 union __anonunion_d_u_135 d_u ;
1229 struct list_head d_subdirs ;
1230 struct list_head d_alias ;
1231};
1232#line 123 "include/linux/dcache.h"
1233struct dentry_operations {
1234 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
1235 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
1236 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
1237 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
1238 int (*d_delete)(struct dentry const * ) ;
1239 void (*d_release)(struct dentry * ) ;
1240 void (*d_prune)(struct dentry * ) ;
1241 void (*d_iput)(struct dentry * , struct inode * ) ;
1242 char *(*d_dname)(struct dentry * , char * , int ) ;
1243 struct vfsmount *(*d_automount)(struct path * ) ;
1244 int (*d_manage)(struct dentry * , bool ) ;
1245};
1246#line 402 "include/linux/dcache.h"
1247struct path {
1248 struct vfsmount *mnt ;
1249 struct dentry *dentry ;
1250};
1251#line 58 "include/linux/radix-tree.h"
1252struct radix_tree_node;
1253#line 58 "include/linux/radix-tree.h"
1254struct radix_tree_root {
1255 unsigned int height ;
1256 gfp_t gfp_mask ;
1257 struct radix_tree_node *rnode ;
1258};
1259#line 377
1260struct prio_tree_node;
1261#line 19 "include/linux/prio_tree.h"
1262struct prio_tree_node {
1263 struct prio_tree_node *left ;
1264 struct prio_tree_node *right ;
1265 struct prio_tree_node *parent ;
1266 unsigned long start ;
1267 unsigned long last ;
1268};
1269#line 27 "include/linux/prio_tree.h"
1270struct prio_tree_root {
1271 struct prio_tree_node *prio_tree_node ;
1272 unsigned short index_bits ;
1273 unsigned short raw ;
1274};
1275#line 111
1276enum pid_type {
1277 PIDTYPE_PID = 0,
1278 PIDTYPE_PGID = 1,
1279 PIDTYPE_SID = 2,
1280 PIDTYPE_MAX = 3
1281} ;
1282#line 118
1283struct pid_namespace;
1284#line 118 "include/linux/prio_tree.h"
1285struct upid {
1286 int nr ;
1287 struct pid_namespace *ns ;
1288 struct hlist_node pid_chain ;
1289};
1290#line 56 "include/linux/pid.h"
1291struct pid {
1292 atomic_t count ;
1293 unsigned int level ;
1294 struct hlist_head tasks[3U] ;
1295 struct rcu_head rcu ;
1296 struct upid numbers[1U] ;
1297};
1298#line 45 "include/linux/semaphore.h"
1299struct fiemap_extent {
1300 __u64 fe_logical ;
1301 __u64 fe_physical ;
1302 __u64 fe_length ;
1303 __u64 fe_reserved64[2U] ;
1304 __u32 fe_flags ;
1305 __u32 fe_reserved[3U] ;
1306};
1307#line 38 "include/linux/fiemap.h"
1308struct shrink_control {
1309 gfp_t gfp_mask ;
1310 unsigned long nr_to_scan ;
1311};
1312#line 14 "include/linux/shrinker.h"
1313struct shrinker {
1314 int (*shrink)(struct shrinker * , struct shrink_control * ) ;
1315 int seeks ;
1316 long batch ;
1317 struct list_head list ;
1318 atomic_long_t nr_in_batch ;
1319};
1320#line 43
1321enum migrate_mode {
1322 MIGRATE_ASYNC = 0,
1323 MIGRATE_SYNC_LIGHT = 1,
1324 MIGRATE_SYNC = 2
1325} ;
1326#line 49
1327struct export_operations;
1328#line 49
1329struct export_operations;
1330#line 51
1331struct iovec;
1332#line 51
1333struct iovec;
1334#line 52
1335struct kiocb;
1336#line 52
1337struct kiocb;
1338#line 53
1339struct pipe_inode_info;
1340#line 53
1341struct pipe_inode_info;
1342#line 54
1343struct poll_table_struct;
1344#line 54
1345struct poll_table_struct;
1346#line 55
1347struct kstatfs;
1348#line 55
1349struct kstatfs;
1350#line 435 "include/linux/fs.h"
1351struct iattr {
1352 unsigned int ia_valid ;
1353 umode_t ia_mode ;
1354 uid_t ia_uid ;
1355 gid_t ia_gid ;
1356 loff_t ia_size ;
1357 struct timespec ia_atime ;
1358 struct timespec ia_mtime ;
1359 struct timespec ia_ctime ;
1360 struct file *ia_file ;
1361};
1362#line 119 "include/linux/quota.h"
1363struct if_dqinfo {
1364 __u64 dqi_bgrace ;
1365 __u64 dqi_igrace ;
1366 __u32 dqi_flags ;
1367 __u32 dqi_valid ;
1368};
1369#line 176 "include/linux/percpu_counter.h"
1370struct fs_disk_quota {
1371 __s8 d_version ;
1372 __s8 d_flags ;
1373 __u16 d_fieldmask ;
1374 __u32 d_id ;
1375 __u64 d_blk_hardlimit ;
1376 __u64 d_blk_softlimit ;
1377 __u64 d_ino_hardlimit ;
1378 __u64 d_ino_softlimit ;
1379 __u64 d_bcount ;
1380 __u64 d_icount ;
1381 __s32 d_itimer ;
1382 __s32 d_btimer ;
1383 __u16 d_iwarns ;
1384 __u16 d_bwarns ;
1385 __s32 d_padding2 ;
1386 __u64 d_rtb_hardlimit ;
1387 __u64 d_rtb_softlimit ;
1388 __u64 d_rtbcount ;
1389 __s32 d_rtbtimer ;
1390 __u16 d_rtbwarns ;
1391 __s16 d_padding3 ;
1392 char d_padding4[8U] ;
1393};
1394#line 75 "include/linux/dqblk_xfs.h"
1395struct fs_qfilestat {
1396 __u64 qfs_ino ;
1397 __u64 qfs_nblks ;
1398 __u32 qfs_nextents ;
1399};
1400#line 150 "include/linux/dqblk_xfs.h"
1401typedef struct fs_qfilestat fs_qfilestat_t;
1402#line 151 "include/linux/dqblk_xfs.h"
1403struct fs_quota_stat {
1404 __s8 qs_version ;
1405 __u16 qs_flags ;
1406 __s8 qs_pad ;
1407 fs_qfilestat_t qs_uquota ;
1408 fs_qfilestat_t qs_gquota ;
1409 __u32 qs_incoredqs ;
1410 __s32 qs_btimelimit ;
1411 __s32 qs_itimelimit ;
1412 __s32 qs_rtbtimelimit ;
1413 __u16 qs_bwarnlimit ;
1414 __u16 qs_iwarnlimit ;
1415};
1416#line 165
1417struct dquot;
1418#line 165
1419struct dquot;
1420#line 185 "include/linux/quota.h"
1421typedef __kernel_uid32_t qid_t;
1422#line 186 "include/linux/quota.h"
1423typedef long long qsize_t;
1424#line 189 "include/linux/quota.h"
1425struct mem_dqblk {
1426 qsize_t dqb_bhardlimit ;
1427 qsize_t dqb_bsoftlimit ;
1428 qsize_t dqb_curspace ;
1429 qsize_t dqb_rsvspace ;
1430 qsize_t dqb_ihardlimit ;
1431 qsize_t dqb_isoftlimit ;
1432 qsize_t dqb_curinodes ;
1433 time_t dqb_btime ;
1434 time_t dqb_itime ;
1435};
1436#line 211
1437struct quota_format_type;
1438#line 211
1439struct quota_format_type;
1440#line 212 "include/linux/quota.h"
1441struct mem_dqinfo {
1442 struct quota_format_type *dqi_format ;
1443 int dqi_fmt_id ;
1444 struct list_head dqi_dirty_list ;
1445 unsigned long dqi_flags ;
1446 unsigned int dqi_bgrace ;
1447 unsigned int dqi_igrace ;
1448 qsize_t dqi_maxblimit ;
1449 qsize_t dqi_maxilimit ;
1450 void *dqi_priv ;
1451};
1452#line 275 "include/linux/quota.h"
1453struct dquot {
1454 struct hlist_node dq_hash ;
1455 struct list_head dq_inuse ;
1456 struct list_head dq_free ;
1457 struct list_head dq_dirty ;
1458 struct mutex dq_lock ;
1459 atomic_t dq_count ;
1460 wait_queue_head_t dq_wait_unused ;
1461 struct super_block *dq_sb ;
1462 unsigned int dq_id ;
1463 loff_t dq_off ;
1464 unsigned long dq_flags ;
1465 short dq_type ;
1466 struct mem_dqblk dq_dqb ;
1467};
1468#line 303 "include/linux/quota.h"
1469struct quota_format_ops {
1470 int (*check_quota_file)(struct super_block * , int ) ;
1471 int (*read_file_info)(struct super_block * , int ) ;
1472 int (*write_file_info)(struct super_block * , int ) ;
1473 int (*free_file_info)(struct super_block * , int ) ;
1474 int (*read_dqblk)(struct dquot * ) ;
1475 int (*commit_dqblk)(struct dquot * ) ;
1476 int (*release_dqblk)(struct dquot * ) ;
1477};
1478#line 314 "include/linux/quota.h"
1479struct dquot_operations {
1480 int (*write_dquot)(struct dquot * ) ;
1481 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
1482 void (*destroy_dquot)(struct dquot * ) ;
1483 int (*acquire_dquot)(struct dquot * ) ;
1484 int (*release_dquot)(struct dquot * ) ;
1485 int (*mark_dirty)(struct dquot * ) ;
1486 int (*write_info)(struct super_block * , int ) ;
1487 qsize_t *(*get_reserved_space)(struct inode * ) ;
1488};
1489#line 328 "include/linux/quota.h"
1490struct quotactl_ops {
1491 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
1492 int (*quota_on_meta)(struct super_block * , int , int ) ;
1493 int (*quota_off)(struct super_block * , int ) ;
1494 int (*quota_sync)(struct super_block * , int , int ) ;
1495 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
1496 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
1497 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1498 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
1499 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
1500 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
1501};
1502#line 344 "include/linux/quota.h"
1503struct quota_format_type {
1504 int qf_fmt_id ;
1505 struct quota_format_ops const *qf_ops ;
1506 struct module *qf_owner ;
1507 struct quota_format_type *qf_next ;
1508};
1509#line 390 "include/linux/quota.h"
1510struct quota_info {
1511 unsigned int flags ;
1512 struct mutex dqio_mutex ;
1513 struct mutex dqonoff_mutex ;
1514 struct rw_semaphore dqptr_sem ;
1515 struct inode *files[2U] ;
1516 struct mem_dqinfo info[2U] ;
1517 struct quota_format_ops const *ops[2U] ;
1518};
1519#line 421
1520struct address_space;
1521#line 421
1522struct address_space;
1523#line 422
1524struct writeback_control;
1525#line 422
1526struct writeback_control;
1527#line 585 "include/linux/fs.h"
1528union __anonunion_arg_138 {
1529 char *buf ;
1530 void *data ;
1531};
1532#line 585 "include/linux/fs.h"
1533struct __anonstruct_read_descriptor_t_137 {
1534 size_t written ;
1535 size_t count ;
1536 union __anonunion_arg_138 arg ;
1537 int error ;
1538};
1539#line 585 "include/linux/fs.h"
1540typedef struct __anonstruct_read_descriptor_t_137 read_descriptor_t;
1541#line 588 "include/linux/fs.h"
1542struct address_space_operations {
1543 int (*writepage)(struct page * , struct writeback_control * ) ;
1544 int (*readpage)(struct file * , struct page * ) ;
1545 int (*writepages)(struct address_space * , struct writeback_control * ) ;
1546 int (*set_page_dirty)(struct page * ) ;
1547 int (*readpages)(struct file * , struct address_space * , struct list_head * ,
1548 unsigned int ) ;
1549 int (*write_begin)(struct file * , struct address_space * , loff_t , unsigned int ,
1550 unsigned int , struct page ** , void ** ) ;
1551 int (*write_end)(struct file * , struct address_space * , loff_t , unsigned int ,
1552 unsigned int , struct page * , void * ) ;
1553 sector_t (*bmap)(struct address_space * , sector_t ) ;
1554 void (*invalidatepage)(struct page * , unsigned long ) ;
1555 int (*releasepage)(struct page * , gfp_t ) ;
1556 void (*freepage)(struct page * ) ;
1557 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const * , loff_t ,
1558 unsigned long ) ;
1559 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
1560 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
1561 int (*launder_page)(struct page * ) ;
1562 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
1563 int (*error_remove_page)(struct address_space * , struct page * ) ;
1564};
1565#line 642
1566struct backing_dev_info;
1567#line 642
1568struct backing_dev_info;
1569#line 643 "include/linux/fs.h"
1570struct address_space {
1571 struct inode *host ;
1572 struct radix_tree_root page_tree ;
1573 spinlock_t tree_lock ;
1574 unsigned int i_mmap_writable ;
1575 struct prio_tree_root i_mmap ;
1576 struct list_head i_mmap_nonlinear ;
1577 struct mutex i_mmap_mutex ;
1578 unsigned long nrpages ;
1579 unsigned long writeback_index ;
1580 struct address_space_operations const *a_ops ;
1581 unsigned long flags ;
1582 struct backing_dev_info *backing_dev_info ;
1583 spinlock_t private_lock ;
1584 struct list_head private_list ;
1585 struct address_space *assoc_mapping ;
1586};
1587#line 664
1588struct request_queue;
1589#line 664
1590struct request_queue;
1591#line 665
1592struct hd_struct;
1593#line 665
1594struct gendisk;
1595#line 665 "include/linux/fs.h"
1596struct block_device {
1597 dev_t bd_dev ;
1598 int bd_openers ;
1599 struct inode *bd_inode ;
1600 struct super_block *bd_super ;
1601 struct mutex bd_mutex ;
1602 struct list_head bd_inodes ;
1603 void *bd_claiming ;
1604 void *bd_holder ;
1605 int bd_holders ;
1606 bool bd_write_holder ;
1607 struct list_head bd_holder_disks ;
1608 struct block_device *bd_contains ;
1609 unsigned int bd_block_size ;
1610 struct hd_struct *bd_part ;
1611 unsigned int bd_part_count ;
1612 int bd_invalidated ;
1613 struct gendisk *bd_disk ;
1614 struct request_queue *bd_queue ;
1615 struct list_head bd_list ;
1616 unsigned long bd_private ;
1617 int bd_fsfreeze_count ;
1618 struct mutex bd_fsfreeze_mutex ;
1619};
1620#line 737
1621struct posix_acl;
1622#line 737
1623struct posix_acl;
1624#line 738
1625struct inode_operations;
1626#line 738 "include/linux/fs.h"
1627union __anonunion_ldv_15809_139 {
1628 unsigned int const i_nlink ;
1629 unsigned int __i_nlink ;
1630};
1631#line 738 "include/linux/fs.h"
1632union __anonunion_ldv_15828_140 {
1633 struct list_head i_dentry ;
1634 struct rcu_head i_rcu ;
1635};
1636#line 738
1637struct file_lock;
1638#line 738
1639struct cdev;
1640#line 738 "include/linux/fs.h"
1641union __anonunion_ldv_15845_141 {
1642 struct pipe_inode_info *i_pipe ;
1643 struct block_device *i_bdev ;
1644 struct cdev *i_cdev ;
1645};
1646#line 738 "include/linux/fs.h"
1647struct inode {
1648 umode_t i_mode ;
1649 unsigned short i_opflags ;
1650 uid_t i_uid ;
1651 gid_t i_gid ;
1652 unsigned int i_flags ;
1653 struct posix_acl *i_acl ;
1654 struct posix_acl *i_default_acl ;
1655 struct inode_operations const *i_op ;
1656 struct super_block *i_sb ;
1657 struct address_space *i_mapping ;
1658 void *i_security ;
1659 unsigned long i_ino ;
1660 union __anonunion_ldv_15809_139 ldv_15809 ;
1661 dev_t i_rdev ;
1662 struct timespec i_atime ;
1663 struct timespec i_mtime ;
1664 struct timespec i_ctime ;
1665 spinlock_t i_lock ;
1666 unsigned short i_bytes ;
1667 blkcnt_t i_blocks ;
1668 loff_t i_size ;
1669 unsigned long i_state ;
1670 struct mutex i_mutex ;
1671 unsigned long dirtied_when ;
1672 struct hlist_node i_hash ;
1673 struct list_head i_wb_list ;
1674 struct list_head i_lru ;
1675 struct list_head i_sb_list ;
1676 union __anonunion_ldv_15828_140 ldv_15828 ;
1677 atomic_t i_count ;
1678 unsigned int i_blkbits ;
1679 u64 i_version ;
1680 atomic_t i_dio_count ;
1681 atomic_t i_writecount ;
1682 struct file_operations const *i_fop ;
1683 struct file_lock *i_flock ;
1684 struct address_space i_data ;
1685 struct dquot *i_dquot[2U] ;
1686 struct list_head i_devices ;
1687 union __anonunion_ldv_15845_141 ldv_15845 ;
1688 __u32 i_generation ;
1689 __u32 i_fsnotify_mask ;
1690 struct hlist_head i_fsnotify_marks ;
1691 atomic_t i_readcount ;
1692 void *i_private ;
1693};
1694#line 941 "include/linux/fs.h"
1695struct fown_struct {
1696 rwlock_t lock ;
1697 struct pid *pid ;
1698 enum pid_type pid_type ;
1699 uid_t uid ;
1700 uid_t euid ;
1701 int signum ;
1702};
1703#line 949 "include/linux/fs.h"
1704struct file_ra_state {
1705 unsigned long start ;
1706 unsigned int size ;
1707 unsigned int async_size ;
1708 unsigned int ra_pages ;
1709 unsigned int mmap_miss ;
1710 loff_t prev_pos ;
1711};
1712#line 972 "include/linux/fs.h"
1713union __anonunion_f_u_142 {
1714 struct list_head fu_list ;
1715 struct rcu_head fu_rcuhead ;
1716};
1717#line 972 "include/linux/fs.h"
1718struct file {
1719 union __anonunion_f_u_142 f_u ;
1720 struct path f_path ;
1721 struct file_operations const *f_op ;
1722 spinlock_t f_lock ;
1723 int f_sb_list_cpu ;
1724 atomic_long_t f_count ;
1725 unsigned int f_flags ;
1726 fmode_t f_mode ;
1727 loff_t f_pos ;
1728 struct fown_struct f_owner ;
1729 struct cred const *f_cred ;
1730 struct file_ra_state f_ra ;
1731 u64 f_version ;
1732 void *f_security ;
1733 void *private_data ;
1734 struct list_head f_ep_links ;
1735 struct list_head f_tfile_llink ;
1736 struct address_space *f_mapping ;
1737 unsigned long f_mnt_write_state ;
1738};
1739#line 1111
1740struct files_struct;
1741#line 1111 "include/linux/fs.h"
1742typedef struct files_struct *fl_owner_t;
1743#line 1112 "include/linux/fs.h"
1744struct file_lock_operations {
1745 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
1746 void (*fl_release_private)(struct file_lock * ) ;
1747};
1748#line 1117 "include/linux/fs.h"
1749struct lock_manager_operations {
1750 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
1751 void (*lm_notify)(struct file_lock * ) ;
1752 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
1753 void (*lm_release_private)(struct file_lock * ) ;
1754 void (*lm_break)(struct file_lock * ) ;
1755 int (*lm_change)(struct file_lock ** , int ) ;
1756};
1757#line 1134
1758struct nlm_lockowner;
1759#line 1134
1760struct nlm_lockowner;
1761#line 1135 "include/linux/fs.h"
1762struct nfs_lock_info {
1763 u32 state ;
1764 struct nlm_lockowner *owner ;
1765 struct list_head list ;
1766};
1767#line 14 "include/linux/nfs_fs_i.h"
1768struct nfs4_lock_state;
1769#line 14
1770struct nfs4_lock_state;
1771#line 15 "include/linux/nfs_fs_i.h"
1772struct nfs4_lock_info {
1773 struct nfs4_lock_state *owner ;
1774};
1775#line 19
1776struct fasync_struct;
1777#line 19 "include/linux/nfs_fs_i.h"
1778struct __anonstruct_afs_144 {
1779 struct list_head link ;
1780 int state ;
1781};
1782#line 19 "include/linux/nfs_fs_i.h"
1783union __anonunion_fl_u_143 {
1784 struct nfs_lock_info nfs_fl ;
1785 struct nfs4_lock_info nfs4_fl ;
1786 struct __anonstruct_afs_144 afs ;
1787};
1788#line 19 "include/linux/nfs_fs_i.h"
1789struct file_lock {
1790 struct file_lock *fl_next ;
1791 struct list_head fl_link ;
1792 struct list_head fl_block ;
1793 fl_owner_t fl_owner ;
1794 unsigned int fl_flags ;
1795 unsigned char fl_type ;
1796 unsigned int fl_pid ;
1797 struct pid *fl_nspid ;
1798 wait_queue_head_t fl_wait ;
1799 struct file *fl_file ;
1800 loff_t fl_start ;
1801 loff_t fl_end ;
1802 struct fasync_struct *fl_fasync ;
1803 unsigned long fl_break_time ;
1804 unsigned long fl_downgrade_time ;
1805 struct file_lock_operations const *fl_ops ;
1806 struct lock_manager_operations const *fl_lmops ;
1807 union __anonunion_fl_u_143 fl_u ;
1808};
1809#line 1221 "include/linux/fs.h"
1810struct fasync_struct {
1811 spinlock_t fa_lock ;
1812 int magic ;
1813 int fa_fd ;
1814 struct fasync_struct *fa_next ;
1815 struct file *fa_file ;
1816 struct rcu_head fa_rcu ;
1817};
1818#line 1417
1819struct file_system_type;
1820#line 1417
1821struct super_operations;
1822#line 1417
1823struct xattr_handler;
1824#line 1417
1825struct mtd_info;
1826#line 1417 "include/linux/fs.h"
1827struct super_block {
1828 struct list_head s_list ;
1829 dev_t s_dev ;
1830 unsigned char s_dirt ;
1831 unsigned char s_blocksize_bits ;
1832 unsigned long s_blocksize ;
1833 loff_t s_maxbytes ;
1834 struct file_system_type *s_type ;
1835 struct super_operations const *s_op ;
1836 struct dquot_operations const *dq_op ;
1837 struct quotactl_ops const *s_qcop ;
1838 struct export_operations const *s_export_op ;
1839 unsigned long s_flags ;
1840 unsigned long s_magic ;
1841 struct dentry *s_root ;
1842 struct rw_semaphore s_umount ;
1843 struct mutex s_lock ;
1844 int s_count ;
1845 atomic_t s_active ;
1846 void *s_security ;
1847 struct xattr_handler const **s_xattr ;
1848 struct list_head s_inodes ;
1849 struct hlist_bl_head s_anon ;
1850 struct list_head *s_files ;
1851 struct list_head s_mounts ;
1852 struct list_head s_dentry_lru ;
1853 int s_nr_dentry_unused ;
1854 spinlock_t s_inode_lru_lock ;
1855 struct list_head s_inode_lru ;
1856 int s_nr_inodes_unused ;
1857 struct block_device *s_bdev ;
1858 struct backing_dev_info *s_bdi ;
1859 struct mtd_info *s_mtd ;
1860 struct hlist_node s_instances ;
1861 struct quota_info s_dquot ;
1862 int s_frozen ;
1863 wait_queue_head_t s_wait_unfrozen ;
1864 char s_id[32U] ;
1865 u8 s_uuid[16U] ;
1866 void *s_fs_info ;
1867 unsigned int s_max_links ;
1868 fmode_t s_mode ;
1869 u32 s_time_gran ;
1870 struct mutex s_vfs_rename_mutex ;
1871 char *s_subtype ;
1872 char *s_options ;
1873 struct dentry_operations const *s_d_op ;
1874 int cleancache_poolid ;
1875 struct shrinker s_shrink ;
1876 atomic_long_t s_remove_count ;
1877 int s_readonly_remount ;
1878};
1879#line 1563 "include/linux/fs.h"
1880struct fiemap_extent_info {
1881 unsigned int fi_flags ;
1882 unsigned int fi_extents_mapped ;
1883 unsigned int fi_extents_max ;
1884 struct fiemap_extent *fi_extents_start ;
1885};
1886#line 1602 "include/linux/fs.h"
1887struct file_operations {
1888 struct module *owner ;
1889 loff_t (*llseek)(struct file * , loff_t , int ) ;
1890 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
1891 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
1892 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
1893 loff_t ) ;
1894 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
1895 loff_t ) ;
1896 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
1897 loff_t , u64 , unsigned int ) ) ;
1898 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
1899 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
1900 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
1901 int (*mmap)(struct file * , struct vm_area_struct * ) ;
1902 int (*open)(struct inode * , struct file * ) ;
1903 int (*flush)(struct file * , fl_owner_t ) ;
1904 int (*release)(struct inode * , struct file * ) ;
1905 int (*fsync)(struct file * , loff_t , loff_t , int ) ;
1906 int (*aio_fsync)(struct kiocb * , int ) ;
1907 int (*fasync)(int , struct file * , int ) ;
1908 int (*lock)(struct file * , int , struct file_lock * ) ;
1909 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
1910 int ) ;
1911 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
1912 unsigned long , unsigned long ) ;
1913 int (*check_flags)(int ) ;
1914 int (*flock)(struct file * , int , struct file_lock * ) ;
1915 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
1916 unsigned int ) ;
1917 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
1918 unsigned int ) ;
1919 int (*setlease)(struct file * , long , struct file_lock ** ) ;
1920 long (*fallocate)(struct file * , int , loff_t , loff_t ) ;
1921};
1922#line 1637 "include/linux/fs.h"
1923struct inode_operations {
1924 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
1925 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
1926 int (*permission)(struct inode * , int ) ;
1927 struct posix_acl *(*get_acl)(struct inode * , int ) ;
1928 int (*readlink)(struct dentry * , char * , int ) ;
1929 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
1930 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
1931 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
1932 int (*unlink)(struct inode * , struct dentry * ) ;
1933 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
1934 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
1935 int (*rmdir)(struct inode * , struct dentry * ) ;
1936 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
1937 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
1938 void (*truncate)(struct inode * ) ;
1939 int (*setattr)(struct dentry * , struct iattr * ) ;
1940 int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
1941 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
1942 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
1943 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
1944 int (*removexattr)(struct dentry * , char const * ) ;
1945 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
1946 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 , u64 ) ;
1947};
1948#line 1682 "include/linux/fs.h"
1949struct super_operations {
1950 struct inode *(*alloc_inode)(struct super_block * ) ;
1951 void (*destroy_inode)(struct inode * ) ;
1952 void (*dirty_inode)(struct inode * , int ) ;
1953 int (*write_inode)(struct inode * , struct writeback_control * ) ;
1954 int (*drop_inode)(struct inode * ) ;
1955 void (*evict_inode)(struct inode * ) ;
1956 void (*put_super)(struct super_block * ) ;
1957 void (*write_super)(struct super_block * ) ;
1958 int (*sync_fs)(struct super_block * , int ) ;
1959 int (*freeze_fs)(struct super_block * ) ;
1960 int (*unfreeze_fs)(struct super_block * ) ;
1961 int (*statfs)(struct dentry * , struct kstatfs * ) ;
1962 int (*remount_fs)(struct super_block * , int * , char * ) ;
1963 void (*umount_begin)(struct super_block * ) ;
1964 int (*show_options)(struct seq_file * , struct dentry * ) ;
1965 int (*show_devname)(struct seq_file * , struct dentry * ) ;
1966 int (*show_path)(struct seq_file * , struct dentry * ) ;
1967 int (*show_stats)(struct seq_file * , struct dentry * ) ;
1968 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
1969 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
1970 loff_t ) ;
1971 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
1972 int (*nr_cached_objects)(struct super_block * ) ;
1973 void (*free_cached_objects)(struct super_block * , int ) ;
1974};
1975#line 1834 "include/linux/fs.h"
1976struct file_system_type {
1977 char const *name ;
1978 int fs_flags ;
1979 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
1980 void (*kill_sb)(struct super_block * ) ;
1981 struct module *owner ;
1982 struct file_system_type *next ;
1983 struct hlist_head fs_supers ;
1984 struct lock_class_key s_lock_key ;
1985 struct lock_class_key s_umount_key ;
1986 struct lock_class_key s_vfs_rename_key ;
1987 struct lock_class_key i_lock_key ;
1988 struct lock_class_key i_mutex_key ;
1989 struct lock_class_key i_mutex_dir_key ;
1990};
1991#line 2674
1992struct klist_node;
1993#line 2674
1994struct klist_node;
1995#line 37 "include/linux/klist.h"
1996struct klist_node {
1997 void *n_klist ;
1998 struct list_head n_node ;
1999 struct kref n_ref ;
2000};
2001#line 67
2002struct dma_map_ops;
2003#line 67 "include/linux/klist.h"
2004struct dev_archdata {
2005 void *acpi_handle ;
2006 struct dma_map_ops *dma_ops ;
2007 void *iommu ;
2008};
2009#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2010struct pdev_archdata {
2011
2012};
2013#line 17
2014struct device_private;
2015#line 17
2016struct device_private;
2017#line 18
2018struct device_driver;
2019#line 18
2020struct device_driver;
2021#line 19
2022struct driver_private;
2023#line 19
2024struct driver_private;
2025#line 20
2026struct class;
2027#line 20
2028struct class;
2029#line 21
2030struct subsys_private;
2031#line 21
2032struct subsys_private;
2033#line 22
2034struct bus_type;
2035#line 22
2036struct bus_type;
2037#line 23
2038struct device_node;
2039#line 23
2040struct device_node;
2041#line 24
2042struct iommu_ops;
2043#line 24
2044struct iommu_ops;
2045#line 25 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2046struct bus_attribute {
2047 struct attribute attr ;
2048 ssize_t (*show)(struct bus_type * , char * ) ;
2049 ssize_t (*store)(struct bus_type * , char const * , size_t ) ;
2050};
2051#line 51 "include/linux/device.h"
2052struct device_attribute;
2053#line 51
2054struct driver_attribute;
2055#line 51 "include/linux/device.h"
2056struct bus_type {
2057 char const *name ;
2058 char const *dev_name ;
2059 struct device *dev_root ;
2060 struct bus_attribute *bus_attrs ;
2061 struct device_attribute *dev_attrs ;
2062 struct driver_attribute *drv_attrs ;
2063 int (*match)(struct device * , struct device_driver * ) ;
2064 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
2065 int (*probe)(struct device * ) ;
2066 int (*remove)(struct device * ) ;
2067 void (*shutdown)(struct device * ) ;
2068 int (*suspend)(struct device * , pm_message_t ) ;
2069 int (*resume)(struct device * ) ;
2070 struct dev_pm_ops const *pm ;
2071 struct iommu_ops *iommu_ops ;
2072 struct subsys_private *p ;
2073};
2074#line 125
2075struct device_type;
2076#line 182
2077struct of_device_id;
2078#line 182 "include/linux/device.h"
2079struct device_driver {
2080 char const *name ;
2081 struct bus_type *bus ;
2082 struct module *owner ;
2083 char const *mod_name ;
2084 bool suppress_bind_attrs ;
2085 struct of_device_id const *of_match_table ;
2086 int (*probe)(struct device * ) ;
2087 int (*remove)(struct device * ) ;
2088 void (*shutdown)(struct device * ) ;
2089 int (*suspend)(struct device * , pm_message_t ) ;
2090 int (*resume)(struct device * ) ;
2091 struct attribute_group const **groups ;
2092 struct dev_pm_ops const *pm ;
2093 struct driver_private *p ;
2094};
2095#line 245 "include/linux/device.h"
2096struct driver_attribute {
2097 struct attribute attr ;
2098 ssize_t (*show)(struct device_driver * , char * ) ;
2099 ssize_t (*store)(struct device_driver * , char const * , size_t ) ;
2100};
2101#line 299
2102struct class_attribute;
2103#line 299 "include/linux/device.h"
2104struct class {
2105 char const *name ;
2106 struct module *owner ;
2107 struct class_attribute *class_attrs ;
2108 struct device_attribute *dev_attrs ;
2109 struct bin_attribute *dev_bin_attrs ;
2110 struct kobject *dev_kobj ;
2111 int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
2112 char *(*devnode)(struct device * , umode_t * ) ;
2113 void (*class_release)(struct class * ) ;
2114 void (*dev_release)(struct device * ) ;
2115 int (*suspend)(struct device * , pm_message_t ) ;
2116 int (*resume)(struct device * ) ;
2117 struct kobj_ns_type_operations const *ns_type ;
2118 void const *(*namespace)(struct device * ) ;
2119 struct dev_pm_ops const *pm ;
2120 struct subsys_private *p ;
2121};
2122#line 394 "include/linux/device.h"
2123struct class_attribute {
2124 struct attribute attr ;
2125 ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
2126 ssize_t (*store)(struct class * , struct class_attribute * , char const * , size_t ) ;
2127 void const *(*namespace)(struct class * , struct class_attribute const * ) ;
2128};
2129#line 447 "include/linux/device.h"
2130struct device_type {
2131 char const *name ;
2132 struct attribute_group const **groups ;
2133 int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
2134 char *(*devnode)(struct device * , umode_t * ) ;
2135 void (*release)(struct device * ) ;
2136 struct dev_pm_ops const *pm ;
2137};
2138#line 474 "include/linux/device.h"
2139struct device_attribute {
2140 struct attribute attr ;
2141 ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
2142 ssize_t (*store)(struct device * , struct device_attribute * , char const * ,
2143 size_t ) ;
2144};
2145#line 557 "include/linux/device.h"
2146struct device_dma_parameters {
2147 unsigned int max_segment_size ;
2148 unsigned long segment_boundary_mask ;
2149};
2150#line 567
2151struct dma_coherent_mem;
2152#line 567 "include/linux/device.h"
2153struct device {
2154 struct device *parent ;
2155 struct device_private *p ;
2156 struct kobject kobj ;
2157 char const *init_name ;
2158 struct device_type const *type ;
2159 struct mutex mutex ;
2160 struct bus_type *bus ;
2161 struct device_driver *driver ;
2162 void *platform_data ;
2163 struct dev_pm_info power ;
2164 struct dev_pm_domain *pm_domain ;
2165 int numa_node ;
2166 u64 *dma_mask ;
2167 u64 coherent_dma_mask ;
2168 struct device_dma_parameters *dma_parms ;
2169 struct list_head dma_pools ;
2170 struct dma_coherent_mem *dma_mem ;
2171 struct dev_archdata archdata ;
2172 struct device_node *of_node ;
2173 dev_t devt ;
2174 u32 id ;
2175 spinlock_t devres_lock ;
2176 struct list_head devres_head ;
2177 struct klist_node knode_class ;
2178 struct class *class ;
2179 struct attribute_group const **groups ;
2180 void (*release)(struct device * ) ;
2181};
2182#line 681 "include/linux/device.h"
2183struct wakeup_source {
2184 char const *name ;
2185 struct list_head entry ;
2186 spinlock_t lock ;
2187 struct timer_list timer ;
2188 unsigned long timer_expires ;
2189 ktime_t total_time ;
2190 ktime_t max_time ;
2191 ktime_t last_time ;
2192 unsigned long event_count ;
2193 unsigned long active_count ;
2194 unsigned long relax_count ;
2195 unsigned long hit_count ;
2196 unsigned char active : 1 ;
2197};
2198#line 12 "include/linux/mod_devicetable.h"
2199typedef unsigned long kernel_ulong_t;
2200#line 215 "include/linux/mod_devicetable.h"
2201struct of_device_id {
2202 char name[32U] ;
2203 char type[32U] ;
2204 char compatible[128U] ;
2205 void *data ;
2206};
2207#line 492 "include/linux/mod_devicetable.h"
2208struct platform_device_id {
2209 char name[20U] ;
2210 kernel_ulong_t driver_data ;
2211};
2212#line 584
2213struct mfd_cell;
2214#line 584
2215struct mfd_cell;
2216#line 585 "include/linux/mod_devicetable.h"
2217struct platform_device {
2218 char const *name ;
2219 int id ;
2220 struct device dev ;
2221 u32 num_resources ;
2222 struct resource *resource ;
2223 struct platform_device_id const *id_entry ;
2224 struct mfd_cell *mfd_cell ;
2225 struct pdev_archdata archdata ;
2226};
2227#line 51 "include/linux/platform_device.h"
2228struct platform_device_info {
2229 struct device *parent ;
2230 char const *name ;
2231 int id ;
2232 struct resource const *res ;
2233 unsigned int num_res ;
2234 void const *data ;
2235 size_t size_data ;
2236 u64 dma_mask ;
2237};
2238#line 163 "include/linux/platform_device.h"
2239struct platform_driver {
2240 int (*probe)(struct platform_device * ) ;
2241 int (*remove)(struct platform_device * ) ;
2242 void (*shutdown)(struct platform_device * ) ;
2243 int (*suspend)(struct platform_device * , pm_message_t ) ;
2244 int (*resume)(struct platform_device * ) ;
2245 struct device_driver driver ;
2246 struct platform_device_id const *id_table ;
2247};
2248#line 69 "include/linux/io.h"
2249struct exception_table_entry {
2250 unsigned long insn ;
2251 unsigned long fixup ;
2252};
2253#line 1 "<compiler builtins>"
2254long __builtin_expect(long , long ) ;
2255#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2256void ldv_spin_lock(void) ;
2257#line 3
2258void ldv_spin_unlock(void) ;
2259#line 4
2260int ldv_spin_trylock(void) ;
2261#line 98 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2262__inline static void clear_bit(int nr , unsigned long volatile *addr )
2263{ long volatile *__cil_tmp3 ;
2264
2265 {
2266#line 105
2267 __cil_tmp3 = (long volatile *)addr;
2268#line 105
2269 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
2270#line 107
2271 return;
2272}
2273}
2274#line 195 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
2275__inline static int test_and_set_bit(int nr , unsigned long volatile *addr )
2276{ int oldbit ;
2277 long volatile *__cil_tmp4 ;
2278
2279 {
2280#line 199
2281 __cil_tmp4 = (long volatile *)addr;
2282#line 199
2283 __asm__ volatile (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %2,%1\n\tsbb %0,%0": "=r" (oldbit),
2284 "+m" (*__cil_tmp4): "Ir" (nr): "memory");
2285#line 202
2286 return (oldbit);
2287}
2288}
2289#line 101 "include/linux/printk.h"
2290extern int printk(char const * , ...) ;
2291#line 192 "include/linux/kernel.h"
2292extern void might_fault(void) ;
2293#line 355 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
2294extern struct pv_cpu_ops pv_cpu_ops ;
2295#line 349 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
2296__inline static void slow_down_io(void)
2297{ unsigned long __cil_tmp1 ;
2298 void (*__cil_tmp2)(void) ;
2299
2300 {
2301 {
2302#line 351
2303 __cil_tmp1 = (unsigned long )(& pv_cpu_ops) + 216;
2304#line 351
2305 __cil_tmp2 = *((void (**)(void))__cil_tmp1);
2306#line 351
2307 (*__cil_tmp2)();
2308 }
2309#line 352
2310 return;
2311}
2312}
2313#line 27 "include/linux/err.h"
2314__inline static long PTR_ERR(void const *ptr )
2315{
2316
2317 {
2318#line 29
2319 return ((long )ptr);
2320}
2321}
2322#line 32 "include/linux/err.h"
2323__inline static long IS_ERR(void const *ptr )
2324{ long tmp ;
2325 unsigned long __cil_tmp3 ;
2326 int __cil_tmp4 ;
2327 long __cil_tmp5 ;
2328
2329 {
2330 {
2331#line 34
2332 __cil_tmp3 = (unsigned long )ptr;
2333#line 34
2334 __cil_tmp4 = __cil_tmp3 > 0xfffffffffffff000UL;
2335#line 34
2336 __cil_tmp5 = (long )__cil_tmp4;
2337#line 34
2338 tmp = __builtin_expect(__cil_tmp5, 0L);
2339 }
2340#line 34
2341 return (tmp);
2342}
2343}
2344#line 137 "include/linux/ioport.h"
2345extern struct resource ioport_resource ;
2346#line 181
2347extern struct resource *__request_region(struct resource * , resource_size_t , resource_size_t ,
2348 char const * , int ) ;
2349#line 192
2350extern void __release_region(struct resource * , resource_size_t , resource_size_t ) ;
2351#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2352__inline static void outb(unsigned char value , int port )
2353{
2354
2355 {
2356#line 308
2357 __asm__ volatile ("outb %b0, %w1": : "a" (value), "Nd" (port));
2358#line 309
2359 return;
2360}
2361}
2362#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2363__inline static unsigned char inb(int port )
2364{ unsigned char value ;
2365
2366 {
2367#line 308
2368 __asm__ volatile ("inb %w1, %b0": "=a" (value): "Nd" (port));
2369#line 308
2370 return (value);
2371}
2372}
2373#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2374__inline static void outb_p(unsigned char value , int port )
2375{ int __cil_tmp3 ;
2376 unsigned char __cil_tmp4 ;
2377
2378 {
2379 {
2380#line 308
2381 __cil_tmp3 = (int )value;
2382#line 308
2383 __cil_tmp4 = (unsigned char )__cil_tmp3;
2384#line 308
2385 outb(__cil_tmp4, port);
2386#line 308
2387 slow_down_io();
2388 }
2389#line 309
2390 return;
2391}
2392}
2393#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
2394__inline static unsigned char inb_p(int port )
2395{ unsigned char value ;
2396 unsigned char tmp ;
2397
2398 {
2399 {
2400#line 308
2401 tmp = inb(port);
2402#line 308
2403 value = tmp;
2404#line 308
2405 slow_down_io();
2406 }
2407#line 308
2408 return (value);
2409}
2410}
2411#line 26 "include/linux/export.h"
2412extern struct module __this_module ;
2413#line 220 "include/linux/slub_def.h"
2414extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
2415#line 223
2416void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
2417#line 11 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2418void ldv_check_alloc_flags(gfp_t flags ) ;
2419#line 12
2420void ldv_check_alloc_nonatomic(void) ;
2421#line 14
2422struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
2423#line 61 "include/linux/miscdevice.h"
2424extern int misc_register(struct miscdevice * ) ;
2425#line 62
2426extern int misc_deregister(struct miscdevice * ) ;
2427#line 2402 "include/linux/fs.h"
2428extern loff_t no_llseek(struct file * , loff_t , int ) ;
2429#line 2407
2430extern int nonseekable_open(struct inode * , struct file * ) ;
2431#line 40 "include/linux/platform_device.h"
2432extern void platform_device_unregister(struct platform_device * ) ;
2433#line 65
2434extern struct platform_device *platform_device_register_full(struct platform_device_info const * ) ;
2435#line 82 "include/linux/platform_device.h"
2436__inline static struct platform_device *platform_device_register_resndata(struct device *parent ,
2437 char const *name ,
2438 int id ,
2439 struct resource const *res ,
2440 unsigned int num ,
2441 void const *data ,
2442 size_t size )
2443{ struct platform_device_info pdevinfo ;
2444 struct platform_device *tmp ;
2445 struct platform_device_info *__cil_tmp10 ;
2446 unsigned long __cil_tmp11 ;
2447 unsigned long __cil_tmp12 ;
2448 unsigned long __cil_tmp13 ;
2449 unsigned long __cil_tmp14 ;
2450 unsigned long __cil_tmp15 ;
2451 unsigned long __cil_tmp16 ;
2452 unsigned long __cil_tmp17 ;
2453 struct platform_device_info const *__cil_tmp18 ;
2454
2455 {
2456 {
2457#line 87
2458 __cil_tmp10 = & pdevinfo;
2459#line 87
2460 *((struct device **)__cil_tmp10) = parent;
2461#line 87
2462 __cil_tmp11 = (unsigned long )(& pdevinfo) + 8;
2463#line 87
2464 *((char const **)__cil_tmp11) = name;
2465#line 87
2466 __cil_tmp12 = (unsigned long )(& pdevinfo) + 16;
2467#line 87
2468 *((int *)__cil_tmp12) = id;
2469#line 87
2470 __cil_tmp13 = (unsigned long )(& pdevinfo) + 24;
2471#line 87
2472 *((struct resource const **)__cil_tmp13) = res;
2473#line 87
2474 __cil_tmp14 = (unsigned long )(& pdevinfo) + 32;
2475#line 87
2476 *((unsigned int *)__cil_tmp14) = num;
2477#line 87
2478 __cil_tmp15 = (unsigned long )(& pdevinfo) + 40;
2479#line 87
2480 *((void const **)__cil_tmp15) = data;
2481#line 87
2482 __cil_tmp16 = (unsigned long )(& pdevinfo) + 48;
2483#line 87
2484 *((size_t *)__cil_tmp16) = size;
2485#line 87
2486 __cil_tmp17 = (unsigned long )(& pdevinfo) + 56;
2487#line 87
2488 *((u64 *)__cil_tmp17) = 0ULL;
2489#line 98
2490 __cil_tmp18 = (struct platform_device_info const *)(& pdevinfo);
2491#line 98
2492 tmp = platform_device_register_full(__cil_tmp18);
2493 }
2494#line 98
2495 return (tmp);
2496}
2497}
2498#line 123 "include/linux/platform_device.h"
2499__inline static struct platform_device *platform_device_register_simple(char const *name ,
2500 int id , struct resource const *res ,
2501 unsigned int num )
2502{ struct platform_device *tmp ;
2503 struct device *__cil_tmp6 ;
2504 void const *__cil_tmp7 ;
2505
2506 {
2507 {
2508#line 127
2509 __cil_tmp6 = (struct device *)0;
2510#line 127
2511 __cil_tmp7 = (void const *)0;
2512#line 127
2513 tmp = platform_device_register_resndata(__cil_tmp6, name, id, res, num, __cil_tmp7,
2514 0UL);
2515 }
2516#line 127
2517 return (tmp);
2518}
2519}
2520#line 174
2521extern int platform_driver_register(struct platform_driver * ) ;
2522#line 175
2523extern void platform_driver_unregister(struct platform_driver * ) ;
2524#line 40 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2525extern unsigned long _copy_to_user(void * , void const * , unsigned int ) ;
2526#line 63 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess_64.h"
2527__inline static int copy_to_user(void *dst , void const *src , unsigned int size )
2528{ unsigned long tmp ;
2529
2530 {
2531 {
2532#line 65
2533 might_fault();
2534#line 67
2535 tmp = _copy_to_user(dst, src, size);
2536 }
2537#line 67
2538 return ((int )tmp);
2539}
2540}
2541#line 66 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2542static struct platform_device *advwdt_platform_device ;
2543#line 67 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2544static unsigned long advwdt_is_open ;
2545#line 68 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2546static char adv_expect_close ;
2547#line 81 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2548static int wdt_stop = 1091;
2549#line 85 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2550static int wdt_start = 1091;
2551#line 89 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2552static int timeout = 60;
2553#line 95 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2554static bool nowayout = (bool )1;
2555#line 105 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2556static void advwdt_ping(void)
2557{ int *__cil_tmp1 ;
2558 int __cil_tmp2 ;
2559 unsigned char __cil_tmp3 ;
2560 int __cil_tmp4 ;
2561 unsigned char __cil_tmp5 ;
2562 int *__cil_tmp6 ;
2563 int __cil_tmp7 ;
2564
2565 {
2566 {
2567#line 108
2568 __cil_tmp1 = & timeout;
2569#line 108
2570 __cil_tmp2 = *__cil_tmp1;
2571#line 108
2572 __cil_tmp3 = (unsigned char )__cil_tmp2;
2573#line 108
2574 __cil_tmp4 = (int )__cil_tmp3;
2575#line 108
2576 __cil_tmp5 = (unsigned char )__cil_tmp4;
2577#line 108
2578 __cil_tmp6 = & wdt_start;
2579#line 108
2580 __cil_tmp7 = *__cil_tmp6;
2581#line 108
2582 outb_p(__cil_tmp5, __cil_tmp7);
2583 }
2584#line 109
2585 return;
2586}
2587}
2588#line 111 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2589static void advwdt_disable(void)
2590{ int *__cil_tmp1 ;
2591 int __cil_tmp2 ;
2592
2593 {
2594 {
2595#line 113
2596 __cil_tmp1 = & wdt_stop;
2597#line 113
2598 __cil_tmp2 = *__cil_tmp1;
2599#line 113
2600 inb_p(__cil_tmp2);
2601 }
2602#line 114
2603 return;
2604}
2605}
2606#line 116 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2607static int advwdt_set_heartbeat(int t )
2608{ int *__cil_tmp2 ;
2609
2610 {
2611#line 118
2612 if (t <= 0) {
2613#line 119
2614 return (-22);
2615 } else
2616#line 118
2617 if (t > 63) {
2618#line 119
2619 return (-22);
2620 } else {
2621
2622 }
2623#line 120
2624 __cil_tmp2 = & timeout;
2625#line 120
2626 *__cil_tmp2 = t;
2627#line 121
2628 return (0);
2629}
2630}
2631#line 128 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2632static ssize_t advwdt_write(struct file *file , char const *buf , size_t count ,
2633 loff_t *ppos )
2634{ size_t i ;
2635 char c ;
2636 int __ret_gu ;
2637 unsigned long __val_gu ;
2638 bool *__cil_tmp9 ;
2639 bool __cil_tmp10 ;
2640 signed char __cil_tmp11 ;
2641 int __cil_tmp12 ;
2642
2643 {
2644#line 131
2645 if (count != 0UL) {
2646 {
2647#line 132
2648 __cil_tmp9 = & nowayout;
2649#line 132
2650 __cil_tmp10 = *__cil_tmp9;
2651#line 132
2652 if (! __cil_tmp10) {
2653#line 135
2654 adv_expect_close = (char)0;
2655#line 137
2656 i = 0UL;
2657#line 137
2658 goto ldv_19146;
2659 ldv_19145:
2660 {
2661#line 139
2662 might_fault();
2663 }
2664#line 139
2665 if (1 == 1) {
2666#line 139
2667 goto case_1;
2668 } else
2669#line 139
2670 if (1 == 2) {
2671#line 139
2672 goto case_2;
2673 } else
2674#line 139
2675 if (1 == 4) {
2676#line 139
2677 goto case_4;
2678 } else
2679#line 139
2680 if (1 == 8) {
2681#line 139
2682 goto case_8;
2683 } else {
2684 {
2685#line 139
2686 goto switch_default;
2687#line 139
2688 if (0) {
2689 case_1:
2690#line 139
2691 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2692#line 139
2693 goto ldv_19139;
2694 case_2:
2695#line 139
2696 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2697#line 139
2698 goto ldv_19139;
2699 case_4:
2700#line 139
2701 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2702#line 139
2703 goto ldv_19139;
2704 case_8:
2705#line 139
2706 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2707#line 139
2708 goto ldv_19139;
2709 switch_default:
2710#line 139
2711 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (buf + i));
2712#line 139
2713 goto ldv_19139;
2714 } else {
2715 switch_break: ;
2716 }
2717 }
2718 }
2719 ldv_19139:
2720#line 139
2721 c = (char )__val_gu;
2722#line 139
2723 if (__ret_gu != 0) {
2724#line 140
2725 return (-14L);
2726 } else {
2727
2728 }
2729 {
2730#line 141
2731 __cil_tmp11 = (signed char )c;
2732#line 141
2733 __cil_tmp12 = (int )__cil_tmp11;
2734#line 141
2735 if (__cil_tmp12 == 86) {
2736#line 142
2737 adv_expect_close = (char)42;
2738 } else {
2739
2740 }
2741 }
2742#line 137
2743 i = i + 1UL;
2744 ldv_19146: ;
2745#line 137
2746 if (i != count) {
2747#line 138
2748 goto ldv_19145;
2749 } else {
2750#line 140
2751 goto ldv_19147;
2752 }
2753 ldv_19147: ;
2754 } else {
2755
2756 }
2757 }
2758 {
2759#line 145
2760 advwdt_ping();
2761 }
2762 } else {
2763
2764 }
2765#line 147
2766 return ((ssize_t )count);
2767}
2768}
2769#line 150 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
2770static long advwdt_ioctl(struct file *file , unsigned int cmd , unsigned long arg )
2771{ int new_timeout ;
2772 void *argp ;
2773 int *p ;
2774 struct watchdog_info ident ;
2775 int tmp ;
2776 int __ret_pu ;
2777 int __pu_val ;
2778 int options ;
2779 int retval ;
2780 int __ret_gu ;
2781 unsigned long __val_gu ;
2782 int __ret_gu___0 ;
2783 unsigned long __val_gu___0 ;
2784 int tmp___0 ;
2785 int __ret_pu___0 ;
2786 int __pu_val___0 ;
2787 struct watchdog_info *__cil_tmp20 ;
2788 unsigned long __cil_tmp21 ;
2789 unsigned long __cil_tmp22 ;
2790 unsigned long __cil_tmp23 ;
2791 unsigned long __cil_tmp24 ;
2792 unsigned long __cil_tmp25 ;
2793 unsigned long __cil_tmp26 ;
2794 unsigned long __cil_tmp27 ;
2795 unsigned long __cil_tmp28 ;
2796 unsigned long __cil_tmp29 ;
2797 unsigned long __cil_tmp30 ;
2798 unsigned long __cil_tmp31 ;
2799 unsigned long __cil_tmp32 ;
2800 unsigned long __cil_tmp33 ;
2801 unsigned long __cil_tmp34 ;
2802 unsigned long __cil_tmp35 ;
2803 unsigned long __cil_tmp36 ;
2804 unsigned long __cil_tmp37 ;
2805 unsigned long __cil_tmp38 ;
2806 unsigned long __cil_tmp39 ;
2807 unsigned long __cil_tmp40 ;
2808 unsigned long __cil_tmp41 ;
2809 unsigned long __cil_tmp42 ;
2810 unsigned long __cil_tmp43 ;
2811 unsigned long __cil_tmp44 ;
2812 unsigned long __cil_tmp45 ;
2813 unsigned long __cil_tmp46 ;
2814 unsigned long __cil_tmp47 ;
2815 unsigned long __cil_tmp48 ;
2816 unsigned long __cil_tmp49 ;
2817 unsigned long __cil_tmp50 ;
2818 unsigned long __cil_tmp51 ;
2819 unsigned long __cil_tmp52 ;
2820 unsigned long __cil_tmp53 ;
2821 unsigned long __cil_tmp54 ;
2822 unsigned long __cil_tmp55 ;
2823 unsigned long __cil_tmp56 ;
2824 unsigned long __cil_tmp57 ;
2825 unsigned long __cil_tmp58 ;
2826 unsigned long __cil_tmp59 ;
2827 unsigned long __cil_tmp60 ;
2828 unsigned long __cil_tmp61 ;
2829 unsigned long __cil_tmp62 ;
2830 unsigned long __cil_tmp63 ;
2831 void const *__cil_tmp64 ;
2832 int __cil_tmp65 ;
2833 int *__cil_tmp66 ;
2834
2835 {
2836#line 153
2837 argp = (void *)arg;
2838#line 154
2839 p = (int *)argp;
2840#line 155
2841 __cil_tmp20 = & ident;
2842#line 155
2843 *((__u32 *)__cil_tmp20) = 33152U;
2844#line 155
2845 __cil_tmp21 = (unsigned long )(& ident) + 4;
2846#line 155
2847 *((__u32 *)__cil_tmp21) = 1U;
2848#line 155
2849 __cil_tmp22 = 0 * 1UL;
2850#line 155
2851 __cil_tmp23 = 8 + __cil_tmp22;
2852#line 155
2853 __cil_tmp24 = (unsigned long )(& ident) + __cil_tmp23;
2854#line 155
2855 *((__u8 *)__cil_tmp24) = (__u8 )'A';
2856#line 155
2857 __cil_tmp25 = 1 * 1UL;
2858#line 155
2859 __cil_tmp26 = 8 + __cil_tmp25;
2860#line 155
2861 __cil_tmp27 = (unsigned long )(& ident) + __cil_tmp26;
2862#line 155
2863 *((__u8 *)__cil_tmp27) = (__u8 )'d';
2864#line 155
2865 __cil_tmp28 = 2 * 1UL;
2866#line 155
2867 __cil_tmp29 = 8 + __cil_tmp28;
2868#line 155
2869 __cil_tmp30 = (unsigned long )(& ident) + __cil_tmp29;
2870#line 155
2871 *((__u8 *)__cil_tmp30) = (__u8 )'v';
2872#line 155
2873 __cil_tmp31 = 3 * 1UL;
2874#line 155
2875 __cil_tmp32 = 8 + __cil_tmp31;
2876#line 155
2877 __cil_tmp33 = (unsigned long )(& ident) + __cil_tmp32;
2878#line 155
2879 *((__u8 *)__cil_tmp33) = (__u8 )'a';
2880#line 155
2881 __cil_tmp34 = 4 * 1UL;
2882#line 155
2883 __cil_tmp35 = 8 + __cil_tmp34;
2884#line 155
2885 __cil_tmp36 = (unsigned long )(& ident) + __cil_tmp35;
2886#line 155
2887 *((__u8 *)__cil_tmp36) = (__u8 )'n';
2888#line 155
2889 __cil_tmp37 = 5 * 1UL;
2890#line 155
2891 __cil_tmp38 = 8 + __cil_tmp37;
2892#line 155
2893 __cil_tmp39 = (unsigned long )(& ident) + __cil_tmp38;
2894#line 155
2895 *((__u8 *)__cil_tmp39) = (__u8 )'t';
2896#line 155
2897 __cil_tmp40 = 6 * 1UL;
2898#line 155
2899 __cil_tmp41 = 8 + __cil_tmp40;
2900#line 155
2901 __cil_tmp42 = (unsigned long )(& ident) + __cil_tmp41;
2902#line 155
2903 *((__u8 *)__cil_tmp42) = (__u8 )'e';
2904#line 155
2905 __cil_tmp43 = 7 * 1UL;
2906#line 155
2907 __cil_tmp44 = 8 + __cil_tmp43;
2908#line 155
2909 __cil_tmp45 = (unsigned long )(& ident) + __cil_tmp44;
2910#line 155
2911 *((__u8 *)__cil_tmp45) = (__u8 )'c';
2912#line 155
2913 __cil_tmp46 = 8 * 1UL;
2914#line 155
2915 __cil_tmp47 = 8 + __cil_tmp46;
2916#line 155
2917 __cil_tmp48 = (unsigned long )(& ident) + __cil_tmp47;
2918#line 155
2919 *((__u8 *)__cil_tmp48) = (__u8 )'h';
2920#line 155
2921 __cil_tmp49 = 9 * 1UL;
2922#line 155
2923 __cil_tmp50 = 8 + __cil_tmp49;
2924#line 155
2925 __cil_tmp51 = (unsigned long )(& ident) + __cil_tmp50;
2926#line 155
2927 *((__u8 *)__cil_tmp51) = (__u8 )' ';
2928#line 155
2929 __cil_tmp52 = 10 * 1UL;
2930#line 155
2931 __cil_tmp53 = 8 + __cil_tmp52;
2932#line 155
2933 __cil_tmp54 = (unsigned long )(& ident) + __cil_tmp53;
2934#line 155
2935 *((__u8 *)__cil_tmp54) = (__u8 )'W';
2936#line 155
2937 __cil_tmp55 = 11 * 1UL;
2938#line 155
2939 __cil_tmp56 = 8 + __cil_tmp55;
2940#line 155
2941 __cil_tmp57 = (unsigned long )(& ident) + __cil_tmp56;
2942#line 155
2943 *((__u8 *)__cil_tmp57) = (__u8 )'D';
2944#line 155
2945 __cil_tmp58 = 12 * 1UL;
2946#line 155
2947 __cil_tmp59 = 8 + __cil_tmp58;
2948#line 155
2949 __cil_tmp60 = (unsigned long )(& ident) + __cil_tmp59;
2950#line 155
2951 *((__u8 *)__cil_tmp60) = (__u8 )'T';
2952#line 155
2953 __cil_tmp61 = 13 * 1UL;
2954#line 155
2955 __cil_tmp62 = 8 + __cil_tmp61;
2956#line 155
2957 __cil_tmp63 = (unsigned long )(& ident) + __cil_tmp62;
2958#line 155
2959 *((__u8 *)__cil_tmp63) = (__u8 )'\000';
2960#line 164
2961 if ((int )cmd == -2144839936) {
2962#line 164
2963 goto case_neg_2144839936;
2964 } else
2965#line 169
2966 if ((int )cmd == -2147199231) {
2967#line 169
2968 goto case_neg_2147199231;
2969 } else
2970#line 170
2971 if ((int )cmd == -2147199230) {
2972#line 170
2973 goto case_neg_2147199230;
2974 } else
2975#line 173
2976 if ((int )cmd == -2147199228) {
2977#line 173
2978 goto case_neg_2147199228;
2979 } else
2980#line 189
2981 if ((int )cmd == -2147199227) {
2982#line 189
2983 goto case_neg_2147199227;
2984 } else
2985#line 193
2986 if ((int )cmd == -1073457402) {
2987#line 193
2988 goto case_neg_1073457402;
2989 } else
2990#line 200
2991 if ((int )cmd == -2147199225) {
2992#line 200
2993 goto case_neg_2147199225;
2994 } else {
2995 {
2996#line 202
2997 goto switch_default___3;
2998#line 163
2999 if (0) {
3000 case_neg_2144839936:
3001 {
3002#line 165
3003 __cil_tmp64 = (void const *)(& ident);
3004#line 165
3005 tmp = copy_to_user(argp, __cil_tmp64, 40U);
3006 }
3007#line 165
3008 if (tmp != 0) {
3009#line 166
3010 return (-14L);
3011 } else {
3012
3013 }
3014#line 167
3015 goto ldv_19158;
3016 case_neg_2147199231: ;
3017 case_neg_2147199230:
3018 {
3019#line 171
3020 might_fault();
3021#line 171
3022 __pu_val = 0;
3023 }
3024#line 171
3025 if (4 == 1) {
3026#line 171
3027 goto case_1;
3028 } else
3029#line 171
3030 if (4 == 2) {
3031#line 171
3032 goto case_2;
3033 } else
3034#line 171
3035 if (4 == 4) {
3036#line 171
3037 goto case_4;
3038 } else
3039#line 171
3040 if (4 == 8) {
3041#line 171
3042 goto case_8;
3043 } else {
3044 {
3045#line 171
3046 goto switch_default;
3047#line 171
3048 if (0) {
3049 case_1:
3050#line 171
3051 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
3052 "c" (p): "ebx");
3053#line 171
3054 goto ldv_19164;
3055 case_2:
3056#line 171
3057 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
3058 "c" (p): "ebx");
3059#line 171
3060 goto ldv_19164;
3061 case_4:
3062#line 171
3063 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
3064 "c" (p): "ebx");
3065#line 171
3066 goto ldv_19164;
3067 case_8:
3068#line 171
3069 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
3070 "c" (p): "ebx");
3071#line 171
3072 goto ldv_19164;
3073 switch_default:
3074#line 171
3075 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
3076 "c" (p): "ebx");
3077#line 171
3078 goto ldv_19164;
3079 } else {
3080 switch_break___0: ;
3081 }
3082 }
3083 }
3084 ldv_19164: ;
3085#line 171
3086 return ((long )__ret_pu);
3087 case_neg_2147199228:
3088 {
3089#line 175
3090 retval = -22;
3091#line 177
3092 might_fault();
3093 }
3094#line 177
3095 if (4 == 1) {
3096#line 177
3097 goto case_1___0;
3098 } else
3099#line 177
3100 if (4 == 2) {
3101#line 177
3102 goto case_2___0;
3103 } else
3104#line 177
3105 if (4 == 4) {
3106#line 177
3107 goto case_4___0;
3108 } else
3109#line 177
3110 if (4 == 8) {
3111#line 177
3112 goto case_8___0;
3113 } else {
3114 {
3115#line 177
3116 goto switch_default___0;
3117#line 177
3118 if (0) {
3119 case_1___0:
3120#line 177
3121 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3122#line 177
3123 goto ldv_19176;
3124 case_2___0:
3125#line 177
3126 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3127#line 177
3128 goto ldv_19176;
3129 case_4___0:
3130#line 177
3131 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3132#line 177
3133 goto ldv_19176;
3134 case_8___0:
3135#line 177
3136 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3137#line 177
3138 goto ldv_19176;
3139 switch_default___0:
3140#line 177
3141 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (p));
3142#line 177
3143 goto ldv_19176;
3144 } else {
3145 switch_break___1: ;
3146 }
3147 }
3148 }
3149 ldv_19176:
3150#line 177
3151 options = (int )__val_gu;
3152#line 177
3153 if (__ret_gu != 0) {
3154#line 178
3155 return (-14L);
3156 } else {
3157
3158 }
3159#line 179
3160 if (options & 1) {
3161 {
3162#line 180
3163 advwdt_disable();
3164#line 181
3165 retval = 0;
3166 }
3167 } else {
3168
3169 }
3170 {
3171#line 183
3172 __cil_tmp65 = options & 2;
3173#line 183
3174 if (__cil_tmp65 != 0) {
3175 {
3176#line 184
3177 advwdt_ping();
3178#line 185
3179 retval = 0;
3180 }
3181 } else {
3182
3183 }
3184 }
3185#line 187
3186 return ((long )retval);
3187 case_neg_2147199227:
3188 {
3189#line 190
3190 advwdt_ping();
3191 }
3192#line 191
3193 goto ldv_19158;
3194 case_neg_1073457402:
3195 {
3196#line 194
3197 might_fault();
3198 }
3199#line 194
3200 if (4 == 1) {
3201#line 194
3202 goto case_1___1;
3203 } else
3204#line 194
3205 if (4 == 2) {
3206#line 194
3207 goto case_2___1;
3208 } else
3209#line 194
3210 if (4 == 4) {
3211#line 194
3212 goto case_4___1;
3213 } else
3214#line 194
3215 if (4 == 8) {
3216#line 194
3217 goto case_8___1;
3218 } else {
3219 {
3220#line 194
3221 goto switch_default___1;
3222#line 194
3223 if (0) {
3224 case_1___1:
3225#line 194
3226 __asm__ volatile ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3227#line 194
3228 goto ldv_19187;
3229 case_2___1:
3230#line 194
3231 __asm__ volatile ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3232#line 194
3233 goto ldv_19187;
3234 case_4___1:
3235#line 194
3236 __asm__ volatile ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3237#line 194
3238 goto ldv_19187;
3239 case_8___1:
3240#line 194
3241 __asm__ volatile ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3242#line 194
3243 goto ldv_19187;
3244 switch_default___1:
3245#line 194
3246 __asm__ volatile ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" (p));
3247#line 194
3248 goto ldv_19187;
3249 } else {
3250 switch_break___2: ;
3251 }
3252 }
3253 }
3254 ldv_19187:
3255#line 194
3256 new_timeout = (int )__val_gu___0;
3257#line 194
3258 if (__ret_gu___0 != 0) {
3259#line 195
3260 return (-14L);
3261 } else {
3262
3263 }
3264 {
3265#line 196
3266 tmp___0 = advwdt_set_heartbeat(new_timeout);
3267 }
3268#line 196
3269 if (tmp___0 != 0) {
3270#line 197
3271 return (-22L);
3272 } else {
3273
3274 }
3275 {
3276#line 198
3277 advwdt_ping();
3278 }
3279 case_neg_2147199225:
3280 {
3281#line 201
3282 might_fault();
3283#line 201
3284 __cil_tmp66 = & timeout;
3285#line 201
3286 __pu_val___0 = *__cil_tmp66;
3287 }
3288#line 201
3289 if (4 == 1) {
3290#line 201
3291 goto case_1___2;
3292 } else
3293#line 201
3294 if (4 == 2) {
3295#line 201
3296 goto case_2___2;
3297 } else
3298#line 201
3299 if (4 == 4) {
3300#line 201
3301 goto case_4___2;
3302 } else
3303#line 201
3304 if (4 == 8) {
3305#line 201
3306 goto case_8___2;
3307 } else {
3308 {
3309#line 201
3310 goto switch_default___2;
3311#line 201
3312 if (0) {
3313 case_1___2:
3314#line 201
3315 __asm__ volatile ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
3316 "c" (p): "ebx");
3317#line 201
3318 goto ldv_19197;
3319 case_2___2:
3320#line 201
3321 __asm__ volatile ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
3322 "c" (p): "ebx");
3323#line 201
3324 goto ldv_19197;
3325 case_4___2:
3326#line 201
3327 __asm__ volatile ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
3328 "c" (p): "ebx");
3329#line 201
3330 goto ldv_19197;
3331 case_8___2:
3332#line 201
3333 __asm__ volatile ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
3334 "c" (p): "ebx");
3335#line 201
3336 goto ldv_19197;
3337 switch_default___2:
3338#line 201
3339 __asm__ volatile ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
3340 "c" (p): "ebx");
3341#line 201
3342 goto ldv_19197;
3343 } else {
3344 switch_break___3: ;
3345 }
3346 }
3347 }
3348 ldv_19197: ;
3349#line 201
3350 return ((long )__ret_pu___0);
3351 switch_default___3: ;
3352#line 203
3353 return (-25L);
3354 } else {
3355 switch_break: ;
3356 }
3357 }
3358 }
3359 ldv_19158: ;
3360#line 205
3361 return (0L);
3362}
3363}
3364#line 208 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3365static int advwdt_open(struct inode *inode , struct file *file )
3366{ int tmp ;
3367 int tmp___0 ;
3368 unsigned long volatile *__cil_tmp5 ;
3369
3370 {
3371 {
3372#line 210
3373 __cil_tmp5 = (unsigned long volatile *)(& advwdt_is_open);
3374#line 210
3375 tmp = test_and_set_bit(0, __cil_tmp5);
3376 }
3377#line 210
3378 if (tmp != 0) {
3379#line 211
3380 return (-16);
3381 } else {
3382
3383 }
3384 {
3385#line 216
3386 advwdt_ping();
3387#line 217
3388 tmp___0 = nonseekable_open(inode, file);
3389 }
3390#line 217
3391 return (tmp___0);
3392}
3393}
3394#line 220 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3395static int advwdt_close(struct inode *inode , struct file *file )
3396{ signed char __cil_tmp3 ;
3397 int __cil_tmp4 ;
3398 unsigned long volatile *__cil_tmp5 ;
3399
3400 {
3401 {
3402#line 222
3403 __cil_tmp3 = (signed char )adv_expect_close;
3404#line 222
3405 __cil_tmp4 = (int )__cil_tmp3;
3406#line 222
3407 if (__cil_tmp4 == 42) {
3408 {
3409#line 223
3410 advwdt_disable();
3411 }
3412 } else {
3413 {
3414#line 225
3415 printk("<2>advantechwdt: Unexpected close, not stopping watchdog!\n");
3416#line 226
3417 advwdt_ping();
3418 }
3419 }
3420 }
3421 {
3422#line 228
3423 __cil_tmp5 = (unsigned long volatile *)(& advwdt_is_open);
3424#line 228
3425 clear_bit(0, __cil_tmp5);
3426#line 229
3427 adv_expect_close = (char)0;
3428 }
3429#line 230
3430 return (0);
3431}
3432}
3433#line 237 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3434static struct file_operations const advwdt_fops =
3435#line 237
3436 {& __this_module, & no_llseek, (ssize_t (*)(struct file * , char * , size_t ,
3437 loff_t * ))0, & advwdt_write, (ssize_t (*)(struct kiocb * ,
3438 struct iovec const * ,
3439 unsigned long ,
3440 loff_t ))0,
3441 (ssize_t (*)(struct kiocb * , struct iovec const * , unsigned long , loff_t ))0,
3442 (int (*)(struct file * , void * , int (*)(void * , char const * , int , loff_t ,
3443 u64 , unsigned int ) ))0, (unsigned int (*)(struct file * ,
3444 struct poll_table_struct * ))0,
3445 & advwdt_ioctl, (long (*)(struct file * , unsigned int , unsigned long ))0,
3446 (int (*)(struct file * , struct vm_area_struct * ))0, & advwdt_open, (int (*)(struct file * ,
3447 fl_owner_t ))0,
3448 & advwdt_close, (int (*)(struct file * , loff_t , loff_t , int ))0, (int (*)(struct kiocb * ,
3449 int ))0,
3450 (int (*)(int , struct file * , int ))0, (int (*)(struct file * , int , struct file_lock * ))0,
3451 (ssize_t (*)(struct file * , struct page * , int , size_t , loff_t * , int ))0,
3452 (unsigned long (*)(struct file * , unsigned long , unsigned long , unsigned long ,
3453 unsigned long ))0, (int (*)(int ))0, (int (*)(struct file * ,
3454 int , struct file_lock * ))0,
3455 (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t , unsigned int ))0,
3456 (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t , unsigned int ))0,
3457 (int (*)(struct file * , long , struct file_lock ** ))0, (long (*)(struct file * ,
3458 int , loff_t ,
3459 loff_t ))0};
3460#line 246 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3461static struct miscdevice advwdt_miscdev =
3462#line 246
3463 {130, "watchdog", & advwdt_fops, {(struct list_head *)0, (struct list_head *)0},
3464 (struct device *)0, (struct device *)0, (char const *)0, (unsigned short)0};
3465#line 256 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3466static int advwdt_probe(struct platform_device *dev )
3467{ int ret ;
3468 struct resource *tmp ;
3469 struct resource *tmp___0 ;
3470 int tmp___1 ;
3471 int *__cil_tmp6 ;
3472 int __cil_tmp7 ;
3473 int *__cil_tmp8 ;
3474 int __cil_tmp9 ;
3475 int *__cil_tmp10 ;
3476 int __cil_tmp11 ;
3477 resource_size_t __cil_tmp12 ;
3478 struct resource *__cil_tmp13 ;
3479 unsigned long __cil_tmp14 ;
3480 unsigned long __cil_tmp15 ;
3481 int *__cil_tmp16 ;
3482 int __cil_tmp17 ;
3483 int *__cil_tmp18 ;
3484 int __cil_tmp19 ;
3485 resource_size_t __cil_tmp20 ;
3486 struct resource *__cil_tmp21 ;
3487 unsigned long __cil_tmp22 ;
3488 unsigned long __cil_tmp23 ;
3489 int *__cil_tmp24 ;
3490 int __cil_tmp25 ;
3491 int *__cil_tmp26 ;
3492 int __cil_tmp27 ;
3493 int *__cil_tmp28 ;
3494 int __cil_tmp29 ;
3495 int *__cil_tmp30 ;
3496 int __cil_tmp31 ;
3497 bool *__cil_tmp32 ;
3498 bool __cil_tmp33 ;
3499 int __cil_tmp34 ;
3500 int *__cil_tmp35 ;
3501 int __cil_tmp36 ;
3502 resource_size_t __cil_tmp37 ;
3503 int *__cil_tmp38 ;
3504 int __cil_tmp39 ;
3505 int *__cil_tmp40 ;
3506 int __cil_tmp41 ;
3507 int *__cil_tmp42 ;
3508 int __cil_tmp43 ;
3509 resource_size_t __cil_tmp44 ;
3510
3511 {
3512 {
3513#line 260
3514 __cil_tmp6 = & wdt_start;
3515#line 260
3516 __cil_tmp7 = *__cil_tmp6;
3517#line 260
3518 __cil_tmp8 = & wdt_stop;
3519#line 260
3520 __cil_tmp9 = *__cil_tmp8;
3521#line 260
3522 if (__cil_tmp9 != __cil_tmp7) {
3523 {
3524#line 261
3525 __cil_tmp10 = & wdt_stop;
3526#line 261
3527 __cil_tmp11 = *__cil_tmp10;
3528#line 261
3529 __cil_tmp12 = (resource_size_t )__cil_tmp11;
3530#line 261
3531 tmp = __request_region(& ioport_resource, __cil_tmp12, 1ULL, "Advantech WDT",
3532 0);
3533 }
3534 {
3535#line 261
3536 __cil_tmp13 = (struct resource *)0;
3537#line 261
3538 __cil_tmp14 = (unsigned long )__cil_tmp13;
3539#line 261
3540 __cil_tmp15 = (unsigned long )tmp;
3541#line 261
3542 if (__cil_tmp15 == __cil_tmp14) {
3543 {
3544#line 262
3545 __cil_tmp16 = & wdt_stop;
3546#line 262
3547 __cil_tmp17 = *__cil_tmp16;
3548#line 262
3549 printk("<3>advantechwdt: I/O address 0x%04x already in use\n", __cil_tmp17);
3550#line 264
3551 ret = -5;
3552 }
3553#line 265
3554 goto out;
3555 } else {
3556
3557 }
3558 }
3559 } else {
3560
3561 }
3562 }
3563 {
3564#line 269
3565 __cil_tmp18 = & wdt_start;
3566#line 269
3567 __cil_tmp19 = *__cil_tmp18;
3568#line 269
3569 __cil_tmp20 = (resource_size_t )__cil_tmp19;
3570#line 269
3571 tmp___0 = __request_region(& ioport_resource, __cil_tmp20, 1ULL, "Advantech WDT",
3572 0);
3573 }
3574 {
3575#line 269
3576 __cil_tmp21 = (struct resource *)0;
3577#line 269
3578 __cil_tmp22 = (unsigned long )__cil_tmp21;
3579#line 269
3580 __cil_tmp23 = (unsigned long )tmp___0;
3581#line 269
3582 if (__cil_tmp23 == __cil_tmp22) {
3583 {
3584#line 270
3585 __cil_tmp24 = & wdt_start;
3586#line 270
3587 __cil_tmp25 = *__cil_tmp24;
3588#line 270
3589 printk("<3>advantechwdt: I/O address 0x%04x already in use\n", __cil_tmp25);
3590#line 271
3591 ret = -5;
3592 }
3593#line 272
3594 goto unreg_stop;
3595 } else {
3596
3597 }
3598 }
3599 {
3600#line 277
3601 __cil_tmp26 = & timeout;
3602#line 277
3603 __cil_tmp27 = *__cil_tmp26;
3604#line 277
3605 tmp___1 = advwdt_set_heartbeat(__cil_tmp27);
3606 }
3607#line 277
3608 if (tmp___1 != 0) {
3609 {
3610#line 278
3611 advwdt_set_heartbeat(60);
3612#line 279
3613 __cil_tmp28 = & timeout;
3614#line 279
3615 __cil_tmp29 = *__cil_tmp28;
3616#line 279
3617 printk("<6>advantechwdt: timeout value must be 1<=x<=63, using %d\n", __cil_tmp29);
3618 }
3619 } else {
3620
3621 }
3622 {
3623#line 282
3624 ret = misc_register(& advwdt_miscdev);
3625 }
3626#line 283
3627 if (ret != 0) {
3628 {
3629#line 284
3630 printk("<3>advantechwdt: cannot register miscdev on minor=%d (err=%d)\n", 130,
3631 ret);
3632 }
3633#line 286
3634 goto unreg_regions;
3635 } else {
3636
3637 }
3638 {
3639#line 288
3640 __cil_tmp30 = & timeout;
3641#line 288
3642 __cil_tmp31 = *__cil_tmp30;
3643#line 288
3644 __cil_tmp32 = & nowayout;
3645#line 288
3646 __cil_tmp33 = *__cil_tmp32;
3647#line 288
3648 __cil_tmp34 = (int )__cil_tmp33;
3649#line 288
3650 printk("<6>advantechwdt: initialized. timeout=%d sec (nowayout=%d)\n", __cil_tmp31,
3651 __cil_tmp34);
3652 }
3653 out: ;
3654#line 291
3655 return (ret);
3656 unreg_regions:
3657 {
3658#line 293
3659 __cil_tmp35 = & wdt_start;
3660#line 293
3661 __cil_tmp36 = *__cil_tmp35;
3662#line 293
3663 __cil_tmp37 = (resource_size_t )__cil_tmp36;
3664#line 293
3665 __release_region(& ioport_resource, __cil_tmp37, 1ULL);
3666 }
3667 unreg_stop: ;
3668 {
3669#line 295
3670 __cil_tmp38 = & wdt_start;
3671#line 295
3672 __cil_tmp39 = *__cil_tmp38;
3673#line 295
3674 __cil_tmp40 = & wdt_stop;
3675#line 295
3676 __cil_tmp41 = *__cil_tmp40;
3677#line 295
3678 if (__cil_tmp41 != __cil_tmp39) {
3679 {
3680#line 296
3681 __cil_tmp42 = & wdt_stop;
3682#line 296
3683 __cil_tmp43 = *__cil_tmp42;
3684#line 296
3685 __cil_tmp44 = (resource_size_t )__cil_tmp43;
3686#line 296
3687 __release_region(& ioport_resource, __cil_tmp44, 1ULL);
3688 }
3689 } else {
3690
3691 }
3692 }
3693#line 297
3694 goto out;
3695}
3696}
3697#line 300 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3698static int advwdt_remove(struct platform_device *dev )
3699{ int *__cil_tmp2 ;
3700 int __cil_tmp3 ;
3701 resource_size_t __cil_tmp4 ;
3702 int *__cil_tmp5 ;
3703 int __cil_tmp6 ;
3704 int *__cil_tmp7 ;
3705 int __cil_tmp8 ;
3706 int *__cil_tmp9 ;
3707 int __cil_tmp10 ;
3708 resource_size_t __cil_tmp11 ;
3709
3710 {
3711 {
3712#line 302
3713 misc_deregister(& advwdt_miscdev);
3714#line 303
3715 __cil_tmp2 = & wdt_start;
3716#line 303
3717 __cil_tmp3 = *__cil_tmp2;
3718#line 303
3719 __cil_tmp4 = (resource_size_t )__cil_tmp3;
3720#line 303
3721 __release_region(& ioport_resource, __cil_tmp4, 1ULL);
3722 }
3723 {
3724#line 304
3725 __cil_tmp5 = & wdt_start;
3726#line 304
3727 __cil_tmp6 = *__cil_tmp5;
3728#line 304
3729 __cil_tmp7 = & wdt_stop;
3730#line 304
3731 __cil_tmp8 = *__cil_tmp7;
3732#line 304
3733 if (__cil_tmp8 != __cil_tmp6) {
3734 {
3735#line 305
3736 __cil_tmp9 = & wdt_stop;
3737#line 305
3738 __cil_tmp10 = *__cil_tmp9;
3739#line 305
3740 __cil_tmp11 = (resource_size_t )__cil_tmp10;
3741#line 305
3742 __release_region(& ioport_resource, __cil_tmp11, 1ULL);
3743 }
3744 } else {
3745
3746 }
3747 }
3748#line 307
3749 return (0);
3750}
3751}
3752#line 310 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3753static void advwdt_shutdown(struct platform_device *dev )
3754{
3755
3756 {
3757 {
3758#line 313
3759 advwdt_disable();
3760 }
3761#line 314
3762 return;
3763}
3764}
3765#line 316 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3766static struct platform_driver advwdt_driver = {& advwdt_probe, & advwdt_remove, & advwdt_shutdown, (int (*)(struct platform_device * ,
3767 pm_message_t ))0,
3768 (int (*)(struct platform_device * ))0, {"advantechwdt", (struct bus_type *)0,
3769 & __this_module, (char const *)0, (_Bool)0,
3770 (struct of_device_id const *)0, (int (*)(struct device * ))0,
3771 (int (*)(struct device * ))0, (void (*)(struct device * ))0,
3772 (int (*)(struct device * , pm_message_t ))0,
3773 (int (*)(struct device * ))0, (struct attribute_group const **)0,
3774 (struct dev_pm_ops const *)0, (struct driver_private *)0},
3775 (struct platform_device_id const *)0};
3776#line 326 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3777static int advwdt_init(void)
3778{ int err ;
3779 long tmp ;
3780 long tmp___0 ;
3781 struct resource const *__cil_tmp4 ;
3782 void const *__cil_tmp5 ;
3783 void const *__cil_tmp6 ;
3784
3785 {
3786 {
3787#line 330
3788 printk("<6>advantechwdt: WDT driver for Advantech single board computer initialising\n");
3789#line 332
3790 err = platform_driver_register(& advwdt_driver);
3791 }
3792#line 333
3793 if (err != 0) {
3794#line 334
3795 return (err);
3796 } else {
3797
3798 }
3799 {
3800#line 336
3801 __cil_tmp4 = (struct resource const *)0;
3802#line 336
3803 advwdt_platform_device = platform_device_register_simple("advantechwdt", -1, __cil_tmp4,
3804 0U);
3805#line 338
3806 __cil_tmp5 = (void const *)advwdt_platform_device;
3807#line 338
3808 tmp___0 = IS_ERR(__cil_tmp5);
3809 }
3810#line 338
3811 if (tmp___0 != 0L) {
3812 {
3813#line 339
3814 __cil_tmp6 = (void const *)advwdt_platform_device;
3815#line 339
3816 tmp = PTR_ERR(__cil_tmp6);
3817#line 339
3818 err = (int )tmp;
3819 }
3820#line 340
3821 goto unreg_platform_driver;
3822 } else {
3823
3824 }
3825#line 343
3826 return (0);
3827 unreg_platform_driver:
3828 {
3829#line 346
3830 platform_driver_unregister(& advwdt_driver);
3831 }
3832#line 347
3833 return (err);
3834}
3835}
3836#line 350 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3837static void advwdt_exit(void)
3838{
3839
3840 {
3841 {
3842#line 352
3843 platform_device_unregister(advwdt_platform_device);
3844#line 353
3845 platform_driver_unregister(& advwdt_driver);
3846#line 354
3847 printk("<6>advantechwdt: Watchdog Module Unloaded\n");
3848 }
3849#line 355
3850 return;
3851}
3852}
3853#line 381
3854extern void ldv_check_final_state(void) ;
3855#line 384
3856extern void ldv_check_return_value(int ) ;
3857#line 387
3858extern void ldv_initialize(void) ;
3859#line 390
3860extern int __VERIFIER_nondet_int(void) ;
3861#line 393 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3862int LDV_IN_INTERRUPT ;
3863#line 396 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
3864void main(void)
3865{ struct file *var_group1 ;
3866 char const *var_advwdt_write_3_p1 ;
3867 size_t var_advwdt_write_3_p2 ;
3868 loff_t *var_advwdt_write_3_p3 ;
3869 ssize_t res_advwdt_write_3 ;
3870 unsigned int var_advwdt_ioctl_4_p1 ;
3871 unsigned long var_advwdt_ioctl_4_p2 ;
3872 struct inode *var_group2 ;
3873 int res_advwdt_open_5 ;
3874 struct platform_device *var_group3 ;
3875 int res_advwdt_probe_7 ;
3876 int ldv_s_advwdt_fops_file_operations ;
3877 int ldv_s_advwdt_driver_platform_driver ;
3878 int tmp ;
3879 int tmp___0 ;
3880 int tmp___1 ;
3881 int __cil_tmp17 ;
3882
3883 {
3884 {
3885#line 498
3886 ldv_s_advwdt_fops_file_operations = 0;
3887#line 501
3888 ldv_s_advwdt_driver_platform_driver = 0;
3889#line 476
3890 LDV_IN_INTERRUPT = 1;
3891#line 485
3892 ldv_initialize();
3893#line 496
3894 tmp = advwdt_init();
3895 }
3896#line 496
3897 if (tmp != 0) {
3898#line 497
3899 goto ldv_final;
3900 } else {
3901
3902 }
3903#line 504
3904 goto ldv_19286;
3905 ldv_19285:
3906 {
3907#line 509
3908 tmp___0 = __VERIFIER_nondet_int();
3909 }
3910#line 511
3911 if (tmp___0 == 0) {
3912#line 511
3913 goto case_0;
3914 } else
3915#line 535
3916 if (tmp___0 == 1) {
3917#line 535
3918 goto case_1;
3919 } else
3920#line 559
3921 if (tmp___0 == 2) {
3922#line 559
3923 goto case_2;
3924 } else
3925#line 580
3926 if (tmp___0 == 3) {
3927#line 580
3928 goto case_3;
3929 } else
3930#line 601
3931 if (tmp___0 == 4) {
3932#line 601
3933 goto case_4;
3934 } else
3935#line 625
3936 if (tmp___0 == 5) {
3937#line 625
3938 goto case_5;
3939 } else {
3940 {
3941#line 646
3942 goto switch_default;
3943#line 509
3944 if (0) {
3945 case_0: ;
3946#line 514
3947 if (ldv_s_advwdt_fops_file_operations == 0) {
3948 {
3949#line 524
3950 res_advwdt_open_5 = advwdt_open(var_group2, var_group1);
3951#line 525
3952 ldv_check_return_value(res_advwdt_open_5);
3953 }
3954#line 526
3955 if (res_advwdt_open_5 != 0) {
3956#line 527
3957 goto ldv_module_exit;
3958 } else {
3959
3960 }
3961#line 528
3962 ldv_s_advwdt_fops_file_operations = ldv_s_advwdt_fops_file_operations + 1;
3963 } else {
3964
3965 }
3966#line 534
3967 goto ldv_19278;
3968 case_1: ;
3969#line 538
3970 if (ldv_s_advwdt_fops_file_operations == 1) {
3971 {
3972#line 548
3973 res_advwdt_write_3 = advwdt_write(var_group1, var_advwdt_write_3_p1, var_advwdt_write_3_p2,
3974 var_advwdt_write_3_p3);
3975#line 549
3976 __cil_tmp17 = (int )res_advwdt_write_3;
3977#line 549
3978 ldv_check_return_value(__cil_tmp17);
3979 }
3980#line 550
3981 if (res_advwdt_write_3 < 0L) {
3982#line 551
3983 goto ldv_module_exit;
3984 } else {
3985
3986 }
3987#line 552
3988 ldv_s_advwdt_fops_file_operations = ldv_s_advwdt_fops_file_operations + 1;
3989 } else {
3990
3991 }
3992#line 558
3993 goto ldv_19278;
3994 case_2: ;
3995#line 562
3996 if (ldv_s_advwdt_fops_file_operations == 2) {
3997 {
3998#line 572
3999 advwdt_close(var_group2, var_group1);
4000#line 573
4001 ldv_s_advwdt_fops_file_operations = 0;
4002 }
4003 } else {
4004
4005 }
4006#line 579
4007 goto ldv_19278;
4008 case_3:
4009 {
4010#line 593
4011 advwdt_ioctl(var_group1, var_advwdt_ioctl_4_p1, var_advwdt_ioctl_4_p2);
4012 }
4013#line 600
4014 goto ldv_19278;
4015 case_4: ;
4016#line 604
4017 if (ldv_s_advwdt_driver_platform_driver == 0) {
4018 {
4019#line 614
4020 res_advwdt_probe_7 = advwdt_probe(var_group3);
4021#line 615
4022 ldv_check_return_value(res_advwdt_probe_7);
4023 }
4024#line 616
4025 if (res_advwdt_probe_7 != 0) {
4026#line 617
4027 goto ldv_module_exit;
4028 } else {
4029
4030 }
4031#line 618
4032 ldv_s_advwdt_driver_platform_driver = ldv_s_advwdt_driver_platform_driver + 1;
4033 } else {
4034
4035 }
4036#line 624
4037 goto ldv_19278;
4038 case_5: ;
4039#line 628
4040 if (ldv_s_advwdt_driver_platform_driver == 1) {
4041 {
4042#line 638
4043 advwdt_shutdown(var_group3);
4044#line 639
4045 ldv_s_advwdt_driver_platform_driver = 0;
4046 }
4047 } else {
4048
4049 }
4050#line 645
4051 goto ldv_19278;
4052 switch_default: ;
4053#line 646
4054 goto ldv_19278;
4055 } else {
4056 switch_break: ;
4057 }
4058 }
4059 }
4060 ldv_19278: ;
4061 ldv_19286:
4062 {
4063#line 504
4064 tmp___1 = __VERIFIER_nondet_int();
4065 }
4066#line 504
4067 if (tmp___1 != 0) {
4068#line 507
4069 goto ldv_19285;
4070 } else
4071#line 504
4072 if (ldv_s_advwdt_fops_file_operations != 0) {
4073#line 507
4074 goto ldv_19285;
4075 } else
4076#line 504
4077 if (ldv_s_advwdt_driver_platform_driver != 0) {
4078#line 507
4079 goto ldv_19285;
4080 } else {
4081#line 509
4082 goto ldv_19287;
4083 }
4084 ldv_19287: ;
4085 ldv_module_exit:
4086 {
4087#line 663
4088 advwdt_exit();
4089 }
4090 ldv_final:
4091 {
4092#line 666
4093 ldv_check_final_state();
4094 }
4095#line 669
4096 return;
4097}
4098}
4099#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast-assert.h"
4100void ldv_blast_assert(void)
4101{
4102
4103 {
4104 ERROR: ;
4105#line 6
4106 goto ERROR;
4107}
4108}
4109#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/kernel-rules/files/engine-blast.h"
4110extern int __VERIFIER_nondet_int(void) ;
4111#line 690 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4112int ldv_spin = 0;
4113#line 694 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4114void ldv_check_alloc_flags(gfp_t flags )
4115{
4116
4117 {
4118#line 697
4119 if (ldv_spin != 0) {
4120#line 697
4121 if (flags != 32U) {
4122 {
4123#line 697
4124 ldv_blast_assert();
4125 }
4126 } else {
4127
4128 }
4129 } else {
4130
4131 }
4132#line 700
4133 return;
4134}
4135}
4136#line 700
4137extern struct page *ldv_some_page(void) ;
4138#line 703 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4139struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags )
4140{ struct page *tmp ;
4141
4142 {
4143#line 706
4144 if (ldv_spin != 0) {
4145#line 706
4146 if (flags != 32U) {
4147 {
4148#line 706
4149 ldv_blast_assert();
4150 }
4151 } else {
4152
4153 }
4154 } else {
4155
4156 }
4157 {
4158#line 708
4159 tmp = ldv_some_page();
4160 }
4161#line 708
4162 return (tmp);
4163}
4164}
4165#line 712 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4166void ldv_check_alloc_nonatomic(void)
4167{
4168
4169 {
4170#line 715
4171 if (ldv_spin != 0) {
4172 {
4173#line 715
4174 ldv_blast_assert();
4175 }
4176 } else {
4177
4178 }
4179#line 718
4180 return;
4181}
4182}
4183#line 719 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4184void ldv_spin_lock(void)
4185{
4186
4187 {
4188#line 722
4189 ldv_spin = 1;
4190#line 723
4191 return;
4192}
4193}
4194#line 726 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4195void ldv_spin_unlock(void)
4196{
4197
4198 {
4199#line 729
4200 ldv_spin = 0;
4201#line 730
4202 return;
4203}
4204}
4205#line 733 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4206int ldv_spin_trylock(void)
4207{ int is_lock ;
4208
4209 {
4210 {
4211#line 738
4212 is_lock = __VERIFIER_nondet_int();
4213 }
4214#line 740
4215 if (is_lock != 0) {
4216#line 743
4217 return (0);
4218 } else {
4219#line 748
4220 ldv_spin = 1;
4221#line 750
4222 return (1);
4223 }
4224}
4225}
4226#line 917 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/17336/dscv_tempdir/dscv/ri/43_1a/drivers/watchdog/advantechwdt.c.p"
4227void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 )
4228{
4229
4230 {
4231 {
4232#line 923
4233 ldv_check_alloc_flags(ldv_func_arg2);
4234#line 925
4235 kmem_cache_alloc(ldv_func_arg1, ldv_func_arg2);
4236 }
4237#line 926
4238 return ((void *)0);
4239}
4240}