1
2
3
4#line 145 "include/linux/init.h"
5typedef void (*ctor_fn_t)(void);
6#line 19 "include/asm-generic/int-ll64.h"
7typedef signed char __s8;
8#line 20 "include/asm-generic/int-ll64.h"
9typedef unsigned char __u8;
10#line 22 "include/asm-generic/int-ll64.h"
11typedef short __s16;
12#line 23 "include/asm-generic/int-ll64.h"
13typedef unsigned short __u16;
14#line 25 "include/asm-generic/int-ll64.h"
15typedef int __s32;
16#line 26 "include/asm-generic/int-ll64.h"
17typedef unsigned int __u32;
18#line 29 "include/asm-generic/int-ll64.h"
19typedef long long __s64;
20#line 30 "include/asm-generic/int-ll64.h"
21typedef unsigned long long __u64;
22#line 43 "include/asm-generic/int-ll64.h"
23typedef unsigned char u8;
24#line 46 "include/asm-generic/int-ll64.h"
25typedef unsigned short u16;
26#line 48 "include/asm-generic/int-ll64.h"
27typedef int s32;
28#line 49 "include/asm-generic/int-ll64.h"
29typedef unsigned int u32;
30#line 51 "include/asm-generic/int-ll64.h"
31typedef long long s64;
32#line 52 "include/asm-generic/int-ll64.h"
33typedef unsigned long long u64;
34#line 11 "include/asm-generic/types.h"
35typedef unsigned short umode_t;
36#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
37typedef unsigned int __kernel_mode_t;
38#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
39typedef unsigned long __kernel_nlink_t;
40#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
41typedef long __kernel_off_t;
42#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
43typedef int __kernel_pid_t;
44#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
45typedef unsigned int __kernel_uid_t;
46#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
47typedef unsigned int __kernel_gid_t;
48#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
49typedef unsigned long __kernel_size_t;
50#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
51typedef long __kernel_ssize_t;
52#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
53typedef long __kernel_time_t;
54#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
55typedef long __kernel_clock_t;
56#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
57typedef int __kernel_timer_t;
58#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
59typedef int __kernel_clockid_t;
60#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
61typedef long long __kernel_loff_t;
62#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
63typedef __kernel_uid_t __kernel_uid32_t;
64#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
65typedef __kernel_gid_t __kernel_gid32_t;
66#line 21 "include/linux/types.h"
67typedef __u32 __kernel_dev_t;
68#line 24 "include/linux/types.h"
69typedef __kernel_dev_t dev_t;
70#line 26 "include/linux/types.h"
71typedef __kernel_mode_t mode_t;
72#line 27 "include/linux/types.h"
73typedef __kernel_nlink_t nlink_t;
74#line 28 "include/linux/types.h"
75typedef __kernel_off_t off_t;
76#line 29 "include/linux/types.h"
77typedef __kernel_pid_t pid_t;
78#line 34 "include/linux/types.h"
79typedef __kernel_clockid_t clockid_t;
80#line 37 "include/linux/types.h"
81typedef _Bool bool;
82#line 39 "include/linux/types.h"
83typedef __kernel_uid32_t uid_t;
84#line 40 "include/linux/types.h"
85typedef __kernel_gid32_t gid_t;
86#line 53 "include/linux/types.h"
87typedef __kernel_loff_t loff_t;
88#line 62 "include/linux/types.h"
89typedef __kernel_size_t size_t;
90#line 67 "include/linux/types.h"
91typedef __kernel_ssize_t ssize_t;
92#line 77 "include/linux/types.h"
93typedef __kernel_time_t time_t;
94#line 110 "include/linux/types.h"
95typedef __s32 int32_t;
96#line 116 "include/linux/types.h"
97typedef __u32 uint32_t;
98#line 141 "include/linux/types.h"
99typedef unsigned long sector_t;
100#line 142 "include/linux/types.h"
101typedef unsigned long blkcnt_t;
102#line 154 "include/linux/types.h"
103typedef u64 dma_addr_t;
104#line 177 "include/linux/types.h"
105typedef __u16 __le16;
106#line 178 "include/linux/types.h"
107typedef __u16 __be16;
108#line 180 "include/linux/types.h"
109typedef __u32 __be32;
110#line 185 "include/linux/types.h"
111typedef __u32 __wsum;
112#line 201 "include/linux/types.h"
113typedef unsigned int gfp_t;
114#line 202 "include/linux/types.h"
115typedef unsigned int fmode_t;
116#line 212 "include/linux/types.h"
117struct __anonstruct_atomic_t_7 {
118 int counter ;
119};
120#line 212 "include/linux/types.h"
121typedef struct __anonstruct_atomic_t_7 atomic_t;
122#line 217 "include/linux/types.h"
123struct __anonstruct_atomic64_t_8 {
124 long counter ;
125};
126#line 217 "include/linux/types.h"
127typedef struct __anonstruct_atomic64_t_8 atomic64_t;
128#line 222 "include/linux/types.h"
129struct list_head {
130 struct list_head *next ;
131 struct list_head *prev ;
132};
133#line 226
134struct hlist_node;
135#line 226
136struct hlist_node;
137#line 226
138struct hlist_node;
139#line 226 "include/linux/types.h"
140struct hlist_head {
141 struct hlist_node *first ;
142};
143#line 230 "include/linux/types.h"
144struct hlist_node {
145 struct hlist_node *next ;
146 struct hlist_node **pprev ;
147};
148#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
149struct module;
150#line 59
151struct module;
152#line 59
153struct module;
154#line 59
155struct module;
156#line 10 "include/asm-generic/bug.h"
157struct bug_entry {
158 int bug_addr_disp ;
159 int file_disp ;
160 unsigned short line ;
161 unsigned short flags ;
162};
163#line 113 "include/linux/kernel.h"
164struct completion;
165#line 113
166struct completion;
167#line 113
168struct completion;
169#line 113
170struct completion;
171#line 114
172struct pt_regs;
173#line 114
174struct pt_regs;
175#line 114
176struct pt_regs;
177#line 114
178struct pt_regs;
179#line 322
180struct pid;
181#line 322
182struct pid;
183#line 322
184struct pid;
185#line 322
186struct pid;
187#line 12 "include/linux/thread_info.h"
188struct timespec;
189#line 12
190struct timespec;
191#line 12
192struct timespec;
193#line 12
194struct timespec;
195#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
196struct page;
197#line 18
198struct page;
199#line 18
200struct page;
201#line 18
202struct page;
203#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
204struct task_struct;
205#line 20
206struct task_struct;
207#line 20
208struct task_struct;
209#line 20
210struct task_struct;
211#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
212struct task_struct;
213#line 8
214struct mm_struct;
215#line 8
216struct mm_struct;
217#line 8
218struct mm_struct;
219#line 8
220struct mm_struct;
221#line 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
222struct pt_regs {
223 unsigned long r15 ;
224 unsigned long r14 ;
225 unsigned long r13 ;
226 unsigned long r12 ;
227 unsigned long bp ;
228 unsigned long bx ;
229 unsigned long r11 ;
230 unsigned long r10 ;
231 unsigned long r9 ;
232 unsigned long r8 ;
233 unsigned long ax ;
234 unsigned long cx ;
235 unsigned long dx ;
236 unsigned long si ;
237 unsigned long di ;
238 unsigned long orig_ax ;
239 unsigned long ip ;
240 unsigned long cs ;
241 unsigned long flags ;
242 unsigned long sp ;
243 unsigned long ss ;
244};
245#line 136
246struct task_struct;
247#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
248struct kernel_vm86_regs {
249 struct pt_regs pt ;
250 unsigned short es ;
251 unsigned short __esh ;
252 unsigned short ds ;
253 unsigned short __dsh ;
254 unsigned short fs ;
255 unsigned short __fsh ;
256 unsigned short gs ;
257 unsigned short __gsh ;
258};
259#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
260union __anonunion____missing_field_name_14 {
261 struct pt_regs *regs ;
262 struct kernel_vm86_regs *vm86 ;
263};
264#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
265struct math_emu_info {
266 long ___orig_eip ;
267 union __anonunion____missing_field_name_14 __annonCompField5 ;
268};
269#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
270struct task_struct;
271#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
272typedef unsigned long pgdval_t;
273#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
274typedef unsigned long pgprotval_t;
275#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
276struct pgprot {
277 pgprotval_t pgprot ;
278};
279#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
280typedef struct pgprot pgprot_t;
281#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
282struct __anonstruct_pgd_t_17 {
283 pgdval_t pgd ;
284};
285#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
286typedef struct __anonstruct_pgd_t_17 pgd_t;
287#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
288typedef struct page *pgtable_t;
289#line 293
290struct file;
291#line 293
292struct file;
293#line 293
294struct file;
295#line 293
296struct file;
297#line 311
298struct seq_file;
299#line 311
300struct seq_file;
301#line 311
302struct seq_file;
303#line 311
304struct seq_file;
305#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
306struct __anonstruct____missing_field_name_22 {
307 unsigned int a ;
308 unsigned int b ;
309};
310#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
311struct __anonstruct____missing_field_name_23 {
312 u16 limit0 ;
313 u16 base0 ;
314 unsigned int base1 : 8 ;
315 unsigned int type : 4 ;
316 unsigned int s : 1 ;
317 unsigned int dpl : 2 ;
318 unsigned int p : 1 ;
319 unsigned int limit : 4 ;
320 unsigned int avl : 1 ;
321 unsigned int l : 1 ;
322 unsigned int d : 1 ;
323 unsigned int g : 1 ;
324 unsigned int base2 : 8 ;
325};
326#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
327union __anonunion____missing_field_name_21 {
328 struct __anonstruct____missing_field_name_22 __annonCompField7 ;
329 struct __anonstruct____missing_field_name_23 __annonCompField8 ;
330};
331#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
332struct desc_struct {
333 union __anonunion____missing_field_name_21 __annonCompField9 ;
334} __attribute__((__packed__)) ;
335#line 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
336struct page;
337#line 46
338struct thread_struct;
339#line 46
340struct thread_struct;
341#line 46
342struct thread_struct;
343#line 46
344struct thread_struct;
345#line 49
346struct mm_struct;
347#line 50
348struct desc_struct;
349#line 51
350struct task_struct;
351#line 52
352struct cpumask;
353#line 52
354struct cpumask;
355#line 52
356struct cpumask;
357#line 52
358struct cpumask;
359#line 322
360struct arch_spinlock;
361#line 322
362struct arch_spinlock;
363#line 322
364struct arch_spinlock;
365#line 322
366struct arch_spinlock;
367#line 13 "include/linux/cpumask.h"
368struct cpumask {
369 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
370};
371#line 13 "include/linux/cpumask.h"
372typedef struct cpumask cpumask_t;
373#line 622 "include/linux/cpumask.h"
374typedef struct cpumask *cpumask_var_t;
375#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
376struct task_struct;
377#line 11 "include/linux/personality.h"
378struct pt_regs;
379#line 145 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
380struct seq_operations;
381#line 145
382struct seq_operations;
383#line 145
384struct seq_operations;
385#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
386struct i387_fsave_struct {
387 u32 cwd ;
388 u32 swd ;
389 u32 twd ;
390 u32 fip ;
391 u32 fcs ;
392 u32 foo ;
393 u32 fos ;
394 u32 st_space[20] ;
395 u32 status ;
396};
397#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
398struct __anonstruct____missing_field_name_31 {
399 u64 rip ;
400 u64 rdp ;
401};
402#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
403struct __anonstruct____missing_field_name_32 {
404 u32 fip ;
405 u32 fcs ;
406 u32 foo ;
407 u32 fos ;
408};
409#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
410union __anonunion____missing_field_name_30 {
411 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
412 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
413};
414#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
415union __anonunion____missing_field_name_33 {
416 u32 padding1[12] ;
417 u32 sw_reserved[12] ;
418};
419#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
420struct i387_fxsave_struct {
421 u16 cwd ;
422 u16 swd ;
423 u16 twd ;
424 u16 fop ;
425 union __anonunion____missing_field_name_30 __annonCompField14 ;
426 u32 mxcsr ;
427 u32 mxcsr_mask ;
428 u32 st_space[32] ;
429 u32 xmm_space[64] ;
430 u32 padding[12] ;
431 union __anonunion____missing_field_name_33 __annonCompField15 ;
432} __attribute__((__aligned__(16))) ;
433#line 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
434struct i387_soft_struct {
435 u32 cwd ;
436 u32 swd ;
437 u32 twd ;
438 u32 fip ;
439 u32 fcs ;
440 u32 foo ;
441 u32 fos ;
442 u32 st_space[20] ;
443 u8 ftop ;
444 u8 changed ;
445 u8 lookahead ;
446 u8 no_update ;
447 u8 rm ;
448 u8 alimit ;
449 struct math_emu_info *info ;
450 u32 entry_eip ;
451};
452#line 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
453struct ymmh_struct {
454 u32 ymmh_space[64] ;
455};
456#line 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
457struct xsave_hdr_struct {
458 u64 xstate_bv ;
459 u64 reserved1[2] ;
460 u64 reserved2[5] ;
461} __attribute__((__packed__)) ;
462#line 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
463struct xsave_struct {
464 struct i387_fxsave_struct i387 ;
465 struct xsave_hdr_struct xsave_hdr ;
466 struct ymmh_struct ymmh ;
467} __attribute__((__packed__, __aligned__(64))) ;
468#line 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
469union thread_xstate {
470 struct i387_fsave_struct fsave ;
471 struct i387_fxsave_struct fxsave ;
472 struct i387_soft_struct soft ;
473 struct xsave_struct xsave ;
474};
475#line 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
476struct fpu {
477 union thread_xstate *state ;
478};
479#line 421
480struct kmem_cache;
481#line 421
482struct kmem_cache;
483#line 421
484struct kmem_cache;
485#line 423
486struct perf_event;
487#line 423
488struct perf_event;
489#line 423
490struct perf_event;
491#line 423
492struct perf_event;
493#line 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
494struct thread_struct {
495 struct desc_struct tls_array[3] ;
496 unsigned long sp0 ;
497 unsigned long sp ;
498 unsigned long usersp ;
499 unsigned short es ;
500 unsigned short ds ;
501 unsigned short fsindex ;
502 unsigned short gsindex ;
503 unsigned long fs ;
504 unsigned long gs ;
505 struct perf_event *ptrace_bps[4] ;
506 unsigned long debugreg6 ;
507 unsigned long ptrace_dr7 ;
508 unsigned long cr2 ;
509 unsigned long trap_no ;
510 unsigned long error_code ;
511 struct fpu fpu ;
512 unsigned long *io_bitmap_ptr ;
513 unsigned long iopl ;
514 unsigned int io_bitmap_max ;
515};
516#line 23 "include/asm-generic/atomic-long.h"
517typedef atomic64_t atomic_long_t;
518#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
519struct arch_spinlock {
520 unsigned int slock ;
521};
522#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
523typedef struct arch_spinlock arch_spinlock_t;
524#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
525struct __anonstruct_arch_rwlock_t_36 {
526 unsigned int lock ;
527};
528#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
529typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
530#line 12 "include/linux/lockdep.h"
531struct task_struct;
532#line 13
533struct lockdep_map;
534#line 13
535struct lockdep_map;
536#line 13
537struct lockdep_map;
538#line 13
539struct lockdep_map;
540#line 8 "include/linux/debug_locks.h"
541struct task_struct;
542#line 48
543struct task_struct;
544#line 4 "include/linux/stacktrace.h"
545struct task_struct;
546#line 5
547struct pt_regs;
548#line 8
549struct task_struct;
550#line 10 "include/linux/stacktrace.h"
551struct stack_trace {
552 unsigned int nr_entries ;
553 unsigned int max_entries ;
554 unsigned long *entries ;
555 int skip ;
556};
557#line 50 "include/linux/lockdep.h"
558struct lockdep_subclass_key {
559 char __one_byte ;
560} __attribute__((__packed__)) ;
561#line 54 "include/linux/lockdep.h"
562struct lock_class_key {
563 struct lockdep_subclass_key subkeys[8UL] ;
564};
565#line 65 "include/linux/lockdep.h"
566struct lock_class {
567 struct list_head hash_entry ;
568 struct list_head lock_entry ;
569 struct lockdep_subclass_key *key ;
570 unsigned int subclass ;
571 unsigned int dep_gen_id ;
572 unsigned long usage_mask ;
573 struct stack_trace usage_traces[13] ;
574 struct list_head locks_after ;
575 struct list_head locks_before ;
576 unsigned int version ;
577 unsigned long ops ;
578 char const *name ;
579 int name_version ;
580 unsigned long contention_point[4] ;
581 unsigned long contending_point[4] ;
582};
583#line 150 "include/linux/lockdep.h"
584struct lockdep_map {
585 struct lock_class_key *key ;
586 struct lock_class *class_cache[2] ;
587 char const *name ;
588 int cpu ;
589 unsigned long ip ;
590};
591#line 196 "include/linux/lockdep.h"
592struct held_lock {
593 u64 prev_chain_key ;
594 unsigned long acquire_ip ;
595 struct lockdep_map *instance ;
596 struct lockdep_map *nest_lock ;
597 u64 waittime_stamp ;
598 u64 holdtime_stamp ;
599 unsigned int class_idx : 13 ;
600 unsigned int irq_context : 2 ;
601 unsigned int trylock : 1 ;
602 unsigned int read : 2 ;
603 unsigned int check : 2 ;
604 unsigned int hardirqs_off : 1 ;
605 unsigned int references : 11 ;
606};
607#line 20 "include/linux/spinlock_types.h"
608struct raw_spinlock {
609 arch_spinlock_t raw_lock ;
610 unsigned int magic ;
611 unsigned int owner_cpu ;
612 void *owner ;
613 struct lockdep_map dep_map ;
614};
615#line 20 "include/linux/spinlock_types.h"
616typedef struct raw_spinlock raw_spinlock_t;
617#line 64 "include/linux/spinlock_types.h"
618struct __anonstruct____missing_field_name_38 {
619 u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
620 struct lockdep_map dep_map ;
621};
622#line 64 "include/linux/spinlock_types.h"
623union __anonunion____missing_field_name_37 {
624 struct raw_spinlock rlock ;
625 struct __anonstruct____missing_field_name_38 __annonCompField17 ;
626};
627#line 64 "include/linux/spinlock_types.h"
628struct spinlock {
629 union __anonunion____missing_field_name_37 __annonCompField18 ;
630};
631#line 64 "include/linux/spinlock_types.h"
632typedef struct spinlock spinlock_t;
633#line 11 "include/linux/rwlock_types.h"
634struct __anonstruct_rwlock_t_39 {
635 arch_rwlock_t raw_lock ;
636 unsigned int magic ;
637 unsigned int owner_cpu ;
638 void *owner ;
639 struct lockdep_map dep_map ;
640};
641#line 11 "include/linux/rwlock_types.h"
642typedef struct __anonstruct_rwlock_t_39 rwlock_t;
643#line 33 "include/linux/seqlock.h"
644struct __anonstruct_seqlock_t_40 {
645 unsigned int sequence ;
646 spinlock_t lock ;
647};
648#line 33 "include/linux/seqlock.h"
649typedef struct __anonstruct_seqlock_t_40 seqlock_t;
650#line 119 "include/linux/seqlock.h"
651struct seqcount {
652 unsigned int sequence ;
653};
654#line 119 "include/linux/seqlock.h"
655typedef struct seqcount seqcount_t;
656#line 14 "include/linux/time.h"
657struct timespec {
658 __kernel_time_t tv_sec ;
659 long tv_nsec ;
660};
661#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
662struct siginfo;
663#line 10
664struct siginfo;
665#line 10
666struct siginfo;
667#line 10
668struct siginfo;
669#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
670struct __anonstruct_sigset_t_41 {
671 unsigned long sig[1] ;
672};
673#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
674typedef struct __anonstruct_sigset_t_41 sigset_t;
675#line 17 "include/asm-generic/signal-defs.h"
676typedef void __signalfn_t(int );
677#line 18 "include/asm-generic/signal-defs.h"
678typedef __signalfn_t *__sighandler_t;
679#line 20 "include/asm-generic/signal-defs.h"
680typedef void __restorefn_t(void);
681#line 21 "include/asm-generic/signal-defs.h"
682typedef __restorefn_t *__sigrestore_t;
683#line 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
684struct sigaction {
685 __sighandler_t sa_handler ;
686 unsigned long sa_flags ;
687 __sigrestore_t sa_restorer ;
688 sigset_t sa_mask ;
689};
690#line 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
691struct k_sigaction {
692 struct sigaction sa ;
693};
694#line 7 "include/asm-generic/siginfo.h"
695union sigval {
696 int sival_int ;
697 void *sival_ptr ;
698};
699#line 7 "include/asm-generic/siginfo.h"
700typedef union sigval sigval_t;
701#line 40 "include/asm-generic/siginfo.h"
702struct __anonstruct__kill_43 {
703 __kernel_pid_t _pid ;
704 __kernel_uid32_t _uid ;
705};
706#line 40 "include/asm-generic/siginfo.h"
707struct __anonstruct__timer_44 {
708 __kernel_timer_t _tid ;
709 int _overrun ;
710 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
711 sigval_t _sigval ;
712 int _sys_private ;
713};
714#line 40 "include/asm-generic/siginfo.h"
715struct __anonstruct__rt_45 {
716 __kernel_pid_t _pid ;
717 __kernel_uid32_t _uid ;
718 sigval_t _sigval ;
719};
720#line 40 "include/asm-generic/siginfo.h"
721struct __anonstruct__sigchld_46 {
722 __kernel_pid_t _pid ;
723 __kernel_uid32_t _uid ;
724 int _status ;
725 __kernel_clock_t _utime ;
726 __kernel_clock_t _stime ;
727};
728#line 40 "include/asm-generic/siginfo.h"
729struct __anonstruct__sigfault_47 {
730 void *_addr ;
731 short _addr_lsb ;
732};
733#line 40 "include/asm-generic/siginfo.h"
734struct __anonstruct__sigpoll_48 {
735 long _band ;
736 int _fd ;
737};
738#line 40 "include/asm-generic/siginfo.h"
739union __anonunion__sifields_42 {
740 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
741 struct __anonstruct__kill_43 _kill ;
742 struct __anonstruct__timer_44 _timer ;
743 struct __anonstruct__rt_45 _rt ;
744 struct __anonstruct__sigchld_46 _sigchld ;
745 struct __anonstruct__sigfault_47 _sigfault ;
746 struct __anonstruct__sigpoll_48 _sigpoll ;
747};
748#line 40 "include/asm-generic/siginfo.h"
749struct siginfo {
750 int si_signo ;
751 int si_errno ;
752 int si_code ;
753 union __anonunion__sifields_42 _sifields ;
754};
755#line 40 "include/asm-generic/siginfo.h"
756typedef struct siginfo siginfo_t;
757#line 280
758struct siginfo;
759#line 10 "include/linux/signal.h"
760struct task_struct;
761#line 18
762struct user_struct;
763#line 18
764struct user_struct;
765#line 18
766struct user_struct;
767#line 28 "include/linux/signal.h"
768struct sigpending {
769 struct list_head list ;
770 sigset_t signal ;
771};
772#line 239
773struct timespec;
774#line 240
775struct pt_regs;
776#line 50 "include/linux/wait.h"
777struct __wait_queue_head {
778 spinlock_t lock ;
779 struct list_head task_list ;
780};
781#line 54 "include/linux/wait.h"
782typedef struct __wait_queue_head wait_queue_head_t;
783#line 56
784struct task_struct;
785#line 96 "include/linux/nodemask.h"
786struct __anonstruct_nodemask_t_51 {
787 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
788};
789#line 96 "include/linux/nodemask.h"
790typedef struct __anonstruct_nodemask_t_51 nodemask_t;
791#line 60 "include/linux/pageblock-flags.h"
792struct page;
793#line 48 "include/linux/mutex.h"
794struct mutex {
795 atomic_t count ;
796 spinlock_t wait_lock ;
797 struct list_head wait_list ;
798 struct task_struct *owner ;
799 char const *name ;
800 void *magic ;
801 struct lockdep_map dep_map ;
802};
803#line 69 "include/linux/mutex.h"
804struct mutex_waiter {
805 struct list_head list ;
806 struct task_struct *task ;
807 void *magic ;
808};
809#line 20 "include/linux/rwsem.h"
810struct rw_semaphore;
811#line 20
812struct rw_semaphore;
813#line 20
814struct rw_semaphore;
815#line 20
816struct rw_semaphore;
817#line 26 "include/linux/rwsem.h"
818struct rw_semaphore {
819 long count ;
820 spinlock_t wait_lock ;
821 struct list_head wait_list ;
822 struct lockdep_map dep_map ;
823};
824#line 8 "include/linux/memory_hotplug.h"
825struct page;
826#line 768 "include/linux/mmzone.h"
827struct ctl_table;
828#line 768
829struct ctl_table;
830#line 768
831struct ctl_table;
832#line 768
833struct ctl_table;
834#line 177 "include/linux/ioport.h"
835struct device;
836#line 177
837struct device;
838#line 177
839struct device;
840#line 177
841struct device;
842#line 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
843struct device;
844#line 46 "include/linux/ktime.h"
845union ktime {
846 s64 tv64 ;
847};
848#line 59 "include/linux/ktime.h"
849typedef union ktime ktime_t;
850#line 10 "include/linux/timer.h"
851struct tvec_base;
852#line 10
853struct tvec_base;
854#line 10
855struct tvec_base;
856#line 10
857struct tvec_base;
858#line 12 "include/linux/timer.h"
859struct timer_list {
860 struct list_head entry ;
861 unsigned long expires ;
862 struct tvec_base *base ;
863 void (*function)(unsigned long ) ;
864 unsigned long data ;
865 int slack ;
866 int start_pid ;
867 void *start_site ;
868 char start_comm[16] ;
869 struct lockdep_map lockdep_map ;
870};
871#line 289
872struct hrtimer;
873#line 289
874struct hrtimer;
875#line 289
876struct hrtimer;
877#line 289
878struct hrtimer;
879#line 290
880enum hrtimer_restart;
881#line 290
882enum hrtimer_restart;
883#line 290
884enum hrtimer_restart;
885#line 17 "include/linux/workqueue.h"
886struct work_struct;
887#line 17
888struct work_struct;
889#line 17
890struct work_struct;
891#line 17
892struct work_struct;
893#line 79 "include/linux/workqueue.h"
894struct work_struct {
895 atomic_long_t data ;
896 struct list_head entry ;
897 void (*func)(struct work_struct *work ) ;
898 struct lockdep_map lockdep_map ;
899};
900#line 92 "include/linux/workqueue.h"
901struct delayed_work {
902 struct work_struct work ;
903 struct timer_list timer ;
904};
905#line 25 "include/linux/completion.h"
906struct completion {
907 unsigned int done ;
908 wait_queue_head_t wait ;
909};
910#line 42 "include/linux/pm.h"
911struct device;
912#line 50 "include/linux/pm.h"
913struct pm_message {
914 int event ;
915};
916#line 50 "include/linux/pm.h"
917typedef struct pm_message pm_message_t;
918#line 204 "include/linux/pm.h"
919struct dev_pm_ops {
920 int (*prepare)(struct device *dev ) ;
921 void (*complete)(struct device *dev ) ;
922 int (*suspend)(struct device *dev ) ;
923 int (*resume)(struct device *dev ) ;
924 int (*freeze)(struct device *dev ) ;
925 int (*thaw)(struct device *dev ) ;
926 int (*poweroff)(struct device *dev ) ;
927 int (*restore)(struct device *dev ) ;
928 int (*suspend_noirq)(struct device *dev ) ;
929 int (*resume_noirq)(struct device *dev ) ;
930 int (*freeze_noirq)(struct device *dev ) ;
931 int (*thaw_noirq)(struct device *dev ) ;
932 int (*poweroff_noirq)(struct device *dev ) ;
933 int (*restore_noirq)(struct device *dev ) ;
934 int (*runtime_suspend)(struct device *dev ) ;
935 int (*runtime_resume)(struct device *dev ) ;
936 int (*runtime_idle)(struct device *dev ) ;
937};
938#line 392
939enum rpm_status {
940 RPM_ACTIVE = 0,
941 RPM_RESUMING = 1,
942 RPM_SUSPENDED = 2,
943 RPM_SUSPENDING = 3
944} ;
945#line 414
946enum rpm_request {
947 RPM_REQ_NONE = 0,
948 RPM_REQ_IDLE = 1,
949 RPM_REQ_SUSPEND = 2,
950 RPM_REQ_AUTOSUSPEND = 3,
951 RPM_REQ_RESUME = 4
952} ;
953#line 422
954struct wakeup_source;
955#line 422
956struct wakeup_source;
957#line 422
958struct wakeup_source;
959#line 422
960struct wakeup_source;
961#line 424 "include/linux/pm.h"
962struct dev_pm_info {
963 pm_message_t power_state ;
964 unsigned int can_wakeup : 1 ;
965 unsigned int async_suspend : 1 ;
966 bool is_prepared : 1 ;
967 bool is_suspended : 1 ;
968 spinlock_t lock ;
969 struct list_head entry ;
970 struct completion completion ;
971 struct wakeup_source *wakeup ;
972 struct timer_list suspend_timer ;
973 unsigned long timer_expires ;
974 struct work_struct work ;
975 wait_queue_head_t wait_queue ;
976 atomic_t usage_count ;
977 atomic_t child_count ;
978 unsigned int disable_depth : 3 ;
979 unsigned int ignore_children : 1 ;
980 unsigned int idle_notification : 1 ;
981 unsigned int request_pending : 1 ;
982 unsigned int deferred_resume : 1 ;
983 unsigned int run_wake : 1 ;
984 unsigned int runtime_auto : 1 ;
985 unsigned int no_callbacks : 1 ;
986 unsigned int irq_safe : 1 ;
987 unsigned int use_autosuspend : 1 ;
988 unsigned int timer_autosuspends : 1 ;
989 enum rpm_request request ;
990 enum rpm_status runtime_status ;
991 int runtime_error ;
992 int autosuspend_delay ;
993 unsigned long last_busy ;
994 unsigned long active_jiffies ;
995 unsigned long suspended_jiffies ;
996 unsigned long accounting_timestamp ;
997 void *subsys_data ;
998};
999#line 475 "include/linux/pm.h"
1000struct dev_power_domain {
1001 struct dev_pm_ops ops ;
1002};
1003#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1004struct __anonstruct_mm_context_t_121 {
1005 void *ldt ;
1006 int size ;
1007 unsigned short ia32_compat ;
1008 struct mutex lock ;
1009 void *vdso ;
1010};
1011#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1012typedef struct __anonstruct_mm_context_t_121 mm_context_t;
1013#line 8 "include/linux/vmalloc.h"
1014struct vm_area_struct;
1015#line 8
1016struct vm_area_struct;
1017#line 8
1018struct vm_area_struct;
1019#line 8
1020struct vm_area_struct;
1021#line 964 "include/linux/mmzone.h"
1022struct page;
1023#line 10 "include/linux/gfp.h"
1024struct vm_area_struct;
1025#line 20 "include/linux/kobject_ns.h"
1026struct sock;
1027#line 20
1028struct sock;
1029#line 20
1030struct sock;
1031#line 20
1032struct sock;
1033#line 21
1034struct kobject;
1035#line 21
1036struct kobject;
1037#line 21
1038struct kobject;
1039#line 21
1040struct kobject;
1041#line 27
1042enum kobj_ns_type {
1043 KOBJ_NS_TYPE_NONE = 0,
1044 KOBJ_NS_TYPE_NET = 1,
1045 KOBJ_NS_TYPES = 2
1046} ;
1047#line 40 "include/linux/kobject_ns.h"
1048struct kobj_ns_type_operations {
1049 enum kobj_ns_type type ;
1050 void *(*grab_current_ns)(void) ;
1051 void const *(*netlink_ns)(struct sock *sk ) ;
1052 void const *(*initial_ns)(void) ;
1053 void (*drop_ns)(void * ) ;
1054};
1055#line 22 "include/linux/sysfs.h"
1056struct kobject;
1057#line 23
1058struct module;
1059#line 24
1060enum kobj_ns_type;
1061#line 26 "include/linux/sysfs.h"
1062struct attribute {
1063 char const *name ;
1064 mode_t mode ;
1065 struct lock_class_key *key ;
1066 struct lock_class_key skey ;
1067};
1068#line 56 "include/linux/sysfs.h"
1069struct attribute_group {
1070 char const *name ;
1071 mode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
1072 struct attribute **attrs ;
1073};
1074#line 85
1075struct file;
1076#line 86
1077struct vm_area_struct;
1078#line 88 "include/linux/sysfs.h"
1079struct bin_attribute {
1080 struct attribute attr ;
1081 size_t size ;
1082 void *private ;
1083 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1084 loff_t , size_t ) ;
1085 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1086 loff_t , size_t ) ;
1087 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
1088};
1089#line 112 "include/linux/sysfs.h"
1090struct sysfs_ops {
1091 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
1092 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
1093};
1094#line 117
1095struct sysfs_dirent;
1096#line 117
1097struct sysfs_dirent;
1098#line 117
1099struct sysfs_dirent;
1100#line 117
1101struct sysfs_dirent;
1102#line 20 "include/linux/kref.h"
1103struct kref {
1104 atomic_t refcount ;
1105};
1106#line 60 "include/linux/kobject.h"
1107struct kset;
1108#line 60
1109struct kset;
1110#line 60
1111struct kset;
1112#line 60
1113struct kobj_type;
1114#line 60
1115struct kobj_type;
1116#line 60
1117struct kobj_type;
1118#line 60 "include/linux/kobject.h"
1119struct kobject {
1120 char const *name ;
1121 struct list_head entry ;
1122 struct kobject *parent ;
1123 struct kset *kset ;
1124 struct kobj_type *ktype ;
1125 struct sysfs_dirent *sd ;
1126 struct kref kref ;
1127 unsigned int state_initialized : 1 ;
1128 unsigned int state_in_sysfs : 1 ;
1129 unsigned int state_add_uevent_sent : 1 ;
1130 unsigned int state_remove_uevent_sent : 1 ;
1131 unsigned int uevent_suppress : 1 ;
1132};
1133#line 110 "include/linux/kobject.h"
1134struct kobj_type {
1135 void (*release)(struct kobject *kobj ) ;
1136 struct sysfs_ops const *sysfs_ops ;
1137 struct attribute **default_attrs ;
1138 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
1139 void const *(*namespace)(struct kobject *kobj ) ;
1140};
1141#line 118 "include/linux/kobject.h"
1142struct kobj_uevent_env {
1143 char *envp[32] ;
1144 int envp_idx ;
1145 char buf[2048] ;
1146 int buflen ;
1147};
1148#line 125 "include/linux/kobject.h"
1149struct kset_uevent_ops {
1150 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1151 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1152 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1153};
1154#line 142
1155struct sock;
1156#line 161 "include/linux/kobject.h"
1157struct kset {
1158 struct list_head list ;
1159 spinlock_t list_lock ;
1160 struct kobject kobj ;
1161 struct kset_uevent_ops const *uevent_ops ;
1162};
1163#line 38 "include/linux/slub_def.h"
1164struct kmem_cache_cpu {
1165 void **freelist ;
1166 unsigned long tid ;
1167 struct page *page ;
1168 int node ;
1169 unsigned int stat[19] ;
1170};
1171#line 48 "include/linux/slub_def.h"
1172struct kmem_cache_node {
1173 spinlock_t list_lock ;
1174 unsigned long nr_partial ;
1175 struct list_head partial ;
1176 atomic_long_t nr_slabs ;
1177 atomic_long_t total_objects ;
1178 struct list_head full ;
1179};
1180#line 64 "include/linux/slub_def.h"
1181struct kmem_cache_order_objects {
1182 unsigned long x ;
1183};
1184#line 71 "include/linux/slub_def.h"
1185struct kmem_cache {
1186 struct kmem_cache_cpu *cpu_slab ;
1187 unsigned long flags ;
1188 unsigned long min_partial ;
1189 int size ;
1190 int objsize ;
1191 int offset ;
1192 struct kmem_cache_order_objects oo ;
1193 struct kmem_cache_order_objects max ;
1194 struct kmem_cache_order_objects min ;
1195 gfp_t allocflags ;
1196 int refcount ;
1197 void (*ctor)(void * ) ;
1198 int inuse ;
1199 int align ;
1200 int reserved ;
1201 char const *name ;
1202 struct list_head list ;
1203 struct kobject kobj ;
1204 int remote_node_defrag_ratio ;
1205 struct kmem_cache_node *node[1 << 10] ;
1206};
1207#line 62 "include/linux/stat.h"
1208struct kstat {
1209 u64 ino ;
1210 dev_t dev ;
1211 umode_t mode ;
1212 unsigned int nlink ;
1213 uid_t uid ;
1214 gid_t gid ;
1215 dev_t rdev ;
1216 loff_t size ;
1217 struct timespec atime ;
1218 struct timespec mtime ;
1219 struct timespec ctime ;
1220 unsigned long blksize ;
1221 unsigned long long blocks ;
1222};
1223#line 29 "include/linux/sysctl.h"
1224struct completion;
1225#line 72 "include/linux/rcupdate.h"
1226struct rcu_head {
1227 struct rcu_head *next ;
1228 void (*func)(struct rcu_head *head ) ;
1229};
1230#line 936 "include/linux/sysctl.h"
1231struct ctl_table;
1232#line 937
1233struct nsproxy;
1234#line 937
1235struct nsproxy;
1236#line 937
1237struct nsproxy;
1238#line 937
1239struct nsproxy;
1240#line 938
1241struct ctl_table_root;
1242#line 938
1243struct ctl_table_root;
1244#line 938
1245struct ctl_table_root;
1246#line 938
1247struct ctl_table_root;
1248#line 940 "include/linux/sysctl.h"
1249struct ctl_table_set {
1250 struct list_head list ;
1251 struct ctl_table_set *parent ;
1252 int (*is_seen)(struct ctl_table_set * ) ;
1253};
1254#line 950
1255struct ctl_table_header;
1256#line 950
1257struct ctl_table_header;
1258#line 950
1259struct ctl_table_header;
1260#line 950
1261struct ctl_table_header;
1262#line 965 "include/linux/sysctl.h"
1263typedef int proc_handler(struct ctl_table *ctl , int write , void *buffer , size_t *lenp ,
1264 loff_t *ppos );
1265#line 1015 "include/linux/sysctl.h"
1266struct ctl_table {
1267 char const *procname ;
1268 void *data ;
1269 int maxlen ;
1270 mode_t mode ;
1271 struct ctl_table *child ;
1272 struct ctl_table *parent ;
1273 proc_handler *proc_handler ;
1274 void *extra1 ;
1275 void *extra2 ;
1276};
1277#line 1028 "include/linux/sysctl.h"
1278struct ctl_table_root {
1279 struct list_head root_list ;
1280 struct ctl_table_set default_set ;
1281 struct ctl_table_set *(*lookup)(struct ctl_table_root *root , struct nsproxy *namespaces ) ;
1282 int (*permissions)(struct ctl_table_root *root , struct nsproxy *namespaces , struct ctl_table *table ) ;
1283};
1284#line 1039 "include/linux/sysctl.h"
1285struct __anonstruct____missing_field_name_200 {
1286 struct ctl_table *ctl_table ;
1287 struct list_head ctl_entry ;
1288 int used ;
1289 int count ;
1290};
1291#line 1039 "include/linux/sysctl.h"
1292union __anonunion____missing_field_name_199 {
1293 struct __anonstruct____missing_field_name_200 __annonCompField29 ;
1294 struct rcu_head rcu ;
1295};
1296#line 1039 "include/linux/sysctl.h"
1297struct ctl_table_header {
1298 union __anonunion____missing_field_name_199 __annonCompField30 ;
1299 struct completion *unregistering ;
1300 struct ctl_table *ctl_table_arg ;
1301 struct ctl_table_root *root ;
1302 struct ctl_table_set *set ;
1303 struct ctl_table *attached_by ;
1304 struct ctl_table *attached_to ;
1305 struct ctl_table_header *parent ;
1306};
1307#line 48 "include/linux/kmod.h"
1308struct cred;
1309#line 48
1310struct cred;
1311#line 48
1312struct cred;
1313#line 48
1314struct cred;
1315#line 49
1316struct file;
1317#line 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
1318struct task_struct;
1319#line 10 "include/linux/elf.h"
1320struct file;
1321#line 27 "include/linux/elf.h"
1322typedef __u64 Elf64_Addr;
1323#line 28 "include/linux/elf.h"
1324typedef __u16 Elf64_Half;
1325#line 32 "include/linux/elf.h"
1326typedef __u32 Elf64_Word;
1327#line 33 "include/linux/elf.h"
1328typedef __u64 Elf64_Xword;
1329#line 203 "include/linux/elf.h"
1330struct elf64_sym {
1331 Elf64_Word st_name ;
1332 unsigned char st_info ;
1333 unsigned char st_other ;
1334 Elf64_Half st_shndx ;
1335 Elf64_Addr st_value ;
1336 Elf64_Xword st_size ;
1337};
1338#line 203 "include/linux/elf.h"
1339typedef struct elf64_sym Elf64_Sym;
1340#line 34 "include/linux/moduleparam.h"
1341struct kernel_param;
1342#line 34
1343struct kernel_param;
1344#line 34
1345struct kernel_param;
1346#line 34
1347struct kernel_param;
1348#line 36 "include/linux/moduleparam.h"
1349struct kernel_param_ops {
1350 int (*set)(char const *val , struct kernel_param const *kp ) ;
1351 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1352 void (*free)(void *arg ) ;
1353};
1354#line 48
1355struct kparam_string;
1356#line 48
1357struct kparam_string;
1358#line 48
1359struct kparam_string;
1360#line 48
1361struct kparam_array;
1362#line 48
1363struct kparam_array;
1364#line 48
1365struct kparam_array;
1366#line 48 "include/linux/moduleparam.h"
1367union __anonunion____missing_field_name_205 {
1368 void *arg ;
1369 struct kparam_string const *str ;
1370 struct kparam_array const *arr ;
1371};
1372#line 48 "include/linux/moduleparam.h"
1373struct kernel_param {
1374 char const *name ;
1375 struct kernel_param_ops const *ops ;
1376 u16 perm ;
1377 u16 flags ;
1378 union __anonunion____missing_field_name_205 __annonCompField31 ;
1379};
1380#line 61 "include/linux/moduleparam.h"
1381struct kparam_string {
1382 unsigned int maxlen ;
1383 char *string ;
1384};
1385#line 67 "include/linux/moduleparam.h"
1386struct kparam_array {
1387 unsigned int max ;
1388 unsigned int elemsize ;
1389 unsigned int *num ;
1390 struct kernel_param_ops const *ops ;
1391 void *elem ;
1392};
1393#line 391
1394struct module;
1395#line 26 "include/linux/jump_label.h"
1396struct module;
1397#line 61 "include/linux/jump_label.h"
1398struct jump_label_key {
1399 atomic_t enabled ;
1400};
1401#line 22 "include/linux/tracepoint.h"
1402struct module;
1403#line 23
1404struct tracepoint;
1405#line 23
1406struct tracepoint;
1407#line 23
1408struct tracepoint;
1409#line 23
1410struct tracepoint;
1411#line 25 "include/linux/tracepoint.h"
1412struct tracepoint_func {
1413 void *func ;
1414 void *data ;
1415};
1416#line 30 "include/linux/tracepoint.h"
1417struct tracepoint {
1418 char const *name ;
1419 struct jump_label_key key ;
1420 void (*regfunc)(void) ;
1421 void (*unregfunc)(void) ;
1422 struct tracepoint_func *funcs ;
1423};
1424#line 8 "include/asm-generic/module.h"
1425struct mod_arch_specific {
1426
1427};
1428#line 21 "include/trace/events/module.h"
1429struct module;
1430#line 37 "include/linux/module.h"
1431struct kernel_symbol {
1432 unsigned long value ;
1433 char const *name ;
1434};
1435#line 49
1436struct module;
1437#line 51 "include/linux/module.h"
1438struct module_attribute {
1439 struct attribute attr ;
1440 ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1441 ssize_t (*store)(struct module_attribute * , struct module * , char const * ,
1442 size_t count ) ;
1443 void (*setup)(struct module * , char const * ) ;
1444 int (*test)(struct module * ) ;
1445 void (*free)(struct module * ) ;
1446};
1447#line 70
1448struct module_param_attrs;
1449#line 70
1450struct module_param_attrs;
1451#line 70
1452struct module_param_attrs;
1453#line 70 "include/linux/module.h"
1454struct module_kobject {
1455 struct kobject kobj ;
1456 struct module *mod ;
1457 struct kobject *drivers_dir ;
1458 struct module_param_attrs *mp ;
1459};
1460#line 83
1461struct exception_table_entry;
1462#line 83
1463struct exception_table_entry;
1464#line 83
1465struct exception_table_entry;
1466#line 83
1467struct exception_table_entry;
1468#line 265
1469enum module_state {
1470 MODULE_STATE_LIVE = 0,
1471 MODULE_STATE_COMING = 1,
1472 MODULE_STATE_GOING = 2
1473} ;
1474#line 272
1475struct module_sect_attrs;
1476#line 272
1477struct module_sect_attrs;
1478#line 272
1479struct module_sect_attrs;
1480#line 272
1481struct module_notes_attrs;
1482#line 272
1483struct module_notes_attrs;
1484#line 272
1485struct module_notes_attrs;
1486#line 272
1487struct ftrace_event_call;
1488#line 272
1489struct ftrace_event_call;
1490#line 272
1491struct ftrace_event_call;
1492#line 272 "include/linux/module.h"
1493struct module_ref {
1494 unsigned int incs ;
1495 unsigned int decs ;
1496};
1497#line 272 "include/linux/module.h"
1498struct module {
1499 enum module_state state ;
1500 struct list_head list ;
1501 char name[64UL - sizeof(unsigned long )] ;
1502 struct module_kobject mkobj ;
1503 struct module_attribute *modinfo_attrs ;
1504 char const *version ;
1505 char const *srcversion ;
1506 struct kobject *holders_dir ;
1507 struct kernel_symbol const *syms ;
1508 unsigned long const *crcs ;
1509 unsigned int num_syms ;
1510 struct kernel_param *kp ;
1511 unsigned int num_kp ;
1512 unsigned int num_gpl_syms ;
1513 struct kernel_symbol const *gpl_syms ;
1514 unsigned long const *gpl_crcs ;
1515 struct kernel_symbol const *unused_syms ;
1516 unsigned long const *unused_crcs ;
1517 unsigned int num_unused_syms ;
1518 unsigned int num_unused_gpl_syms ;
1519 struct kernel_symbol const *unused_gpl_syms ;
1520 unsigned long const *unused_gpl_crcs ;
1521 struct kernel_symbol const *gpl_future_syms ;
1522 unsigned long const *gpl_future_crcs ;
1523 unsigned int num_gpl_future_syms ;
1524 unsigned int num_exentries ;
1525 struct exception_table_entry *extable ;
1526 int (*init)(void) ;
1527 void *module_init ;
1528 void *module_core ;
1529 unsigned int init_size ;
1530 unsigned int core_size ;
1531 unsigned int init_text_size ;
1532 unsigned int core_text_size ;
1533 unsigned int init_ro_size ;
1534 unsigned int core_ro_size ;
1535 struct mod_arch_specific arch ;
1536 unsigned int taints ;
1537 unsigned int num_bugs ;
1538 struct list_head bug_list ;
1539 struct bug_entry *bug_table ;
1540 Elf64_Sym *symtab ;
1541 Elf64_Sym *core_symtab ;
1542 unsigned int num_symtab ;
1543 unsigned int core_num_syms ;
1544 char *strtab ;
1545 char *core_strtab ;
1546 struct module_sect_attrs *sect_attrs ;
1547 struct module_notes_attrs *notes_attrs ;
1548 char *args ;
1549 void *percpu ;
1550 unsigned int percpu_size ;
1551 unsigned int num_tracepoints ;
1552 struct tracepoint * const *tracepoints_ptrs ;
1553 unsigned int num_trace_bprintk_fmt ;
1554 char const **trace_bprintk_fmt_start ;
1555 struct ftrace_event_call **trace_events ;
1556 unsigned int num_trace_events ;
1557 unsigned int num_ftrace_callsites ;
1558 unsigned long *ftrace_callsites ;
1559 struct list_head source_list ;
1560 struct list_head target_list ;
1561 struct task_struct *waiter ;
1562 void (*exit)(void) ;
1563 struct module_ref *refptr ;
1564 ctor_fn_t *ctors ;
1565 unsigned int num_ctors ;
1566};
1567#line 11 "include/linux/socket.h"
1568struct sockaddr;
1569#line 11
1570struct sockaddr;
1571#line 11
1572struct sockaddr;
1573#line 16 "include/linux/uio.h"
1574struct iovec {
1575 void *iov_base ;
1576 __kernel_size_t iov_len ;
1577};
1578#line 27 "include/linux/socket.h"
1579struct pid;
1580#line 28
1581struct cred;
1582#line 34
1583struct seq_file;
1584#line 38 "include/linux/socket.h"
1585typedef unsigned short sa_family_t;
1586#line 44 "include/linux/socket.h"
1587struct sockaddr {
1588 sa_family_t sa_family ;
1589 char sa_data[14] ;
1590};
1591#line 332
1592struct timespec;
1593#line 37 "include/linux/hdlc/ioctl.h"
1594struct __anonstruct_sync_serial_settings_207 {
1595 unsigned int clock_rate ;
1596 unsigned int clock_type ;
1597 unsigned short loopback ;
1598};
1599#line 37 "include/linux/hdlc/ioctl.h"
1600typedef struct __anonstruct_sync_serial_settings_207 sync_serial_settings;
1601#line 43 "include/linux/hdlc/ioctl.h"
1602struct __anonstruct_te1_settings_208 {
1603 unsigned int clock_rate ;
1604 unsigned int clock_type ;
1605 unsigned short loopback ;
1606 unsigned int slot_map ;
1607};
1608#line 43 "include/linux/hdlc/ioctl.h"
1609typedef struct __anonstruct_te1_settings_208 te1_settings;
1610#line 50 "include/linux/hdlc/ioctl.h"
1611struct __anonstruct_raw_hdlc_proto_209 {
1612 unsigned short encoding ;
1613 unsigned short parity ;
1614};
1615#line 50 "include/linux/hdlc/ioctl.h"
1616typedef struct __anonstruct_raw_hdlc_proto_209 raw_hdlc_proto;
1617#line 55 "include/linux/hdlc/ioctl.h"
1618struct __anonstruct_fr_proto_210 {
1619 unsigned int t391 ;
1620 unsigned int t392 ;
1621 unsigned int n391 ;
1622 unsigned int n392 ;
1623 unsigned int n393 ;
1624 unsigned short lmi ;
1625 unsigned short dce ;
1626};
1627#line 55 "include/linux/hdlc/ioctl.h"
1628typedef struct __anonstruct_fr_proto_210 fr_proto;
1629#line 65 "include/linux/hdlc/ioctl.h"
1630struct __anonstruct_fr_proto_pvc_211 {
1631 unsigned int dlci ;
1632};
1633#line 65 "include/linux/hdlc/ioctl.h"
1634typedef struct __anonstruct_fr_proto_pvc_211 fr_proto_pvc;
1635#line 69 "include/linux/hdlc/ioctl.h"
1636struct __anonstruct_fr_proto_pvc_info_212 {
1637 unsigned int dlci ;
1638 char master[16] ;
1639};
1640#line 69 "include/linux/hdlc/ioctl.h"
1641typedef struct __anonstruct_fr_proto_pvc_info_212 fr_proto_pvc_info;
1642#line 74 "include/linux/hdlc/ioctl.h"
1643struct __anonstruct_cisco_proto_213 {
1644 unsigned int interval ;
1645 unsigned int timeout ;
1646};
1647#line 74 "include/linux/hdlc/ioctl.h"
1648typedef struct __anonstruct_cisco_proto_213 cisco_proto;
1649#line 134 "include/linux/if.h"
1650struct ifmap {
1651 unsigned long mem_start ;
1652 unsigned long mem_end ;
1653 unsigned short base_addr ;
1654 unsigned char irq ;
1655 unsigned char dma ;
1656 unsigned char port ;
1657};
1658#line 144 "include/linux/if.h"
1659union __anonunion_ifs_ifsu_216 {
1660 raw_hdlc_proto *raw_hdlc ;
1661 cisco_proto *cisco ;
1662 fr_proto *fr ;
1663 fr_proto_pvc *fr_pvc ;
1664 fr_proto_pvc_info *fr_pvc_info ;
1665 sync_serial_settings *sync ;
1666 te1_settings *te1 ;
1667};
1668#line 144 "include/linux/if.h"
1669struct if_settings {
1670 unsigned int type ;
1671 unsigned int size ;
1672 union __anonunion_ifs_ifsu_216 ifs_ifsu ;
1673};
1674#line 168 "include/linux/if.h"
1675union __anonunion_ifr_ifrn_217 {
1676 char ifrn_name[16] ;
1677};
1678#line 168 "include/linux/if.h"
1679union __anonunion_ifr_ifru_218 {
1680 struct sockaddr ifru_addr ;
1681 struct sockaddr ifru_dstaddr ;
1682 struct sockaddr ifru_broadaddr ;
1683 struct sockaddr ifru_netmask ;
1684 struct sockaddr ifru_hwaddr ;
1685 short ifru_flags ;
1686 int ifru_ivalue ;
1687 int ifru_mtu ;
1688 struct ifmap ifru_map ;
1689 char ifru_slave[16] ;
1690 char ifru_newname[16] ;
1691 void *ifru_data ;
1692 struct if_settings ifru_settings ;
1693};
1694#line 168 "include/linux/if.h"
1695struct ifreq {
1696 union __anonunion_ifr_ifrn_217 ifr_ifrn ;
1697 union __anonunion_ifr_ifru_218 ifr_ifru ;
1698};
1699#line 119 "include/linux/if_ether.h"
1700struct ethhdr {
1701 unsigned char h_dest[6] ;
1702 unsigned char h_source[6] ;
1703 __be16 h_proto ;
1704} __attribute__((__packed__)) ;
1705#line 14 "include/linux/prio_tree.h"
1706struct prio_tree_node;
1707#line 14
1708struct prio_tree_node;
1709#line 14
1710struct prio_tree_node;
1711#line 14 "include/linux/prio_tree.h"
1712struct raw_prio_tree_node {
1713 struct prio_tree_node *left ;
1714 struct prio_tree_node *right ;
1715 struct prio_tree_node *parent ;
1716};
1717#line 20 "include/linux/prio_tree.h"
1718struct prio_tree_node {
1719 struct prio_tree_node *left ;
1720 struct prio_tree_node *right ;
1721 struct prio_tree_node *parent ;
1722 unsigned long start ;
1723 unsigned long last ;
1724};
1725#line 28 "include/linux/prio_tree.h"
1726struct prio_tree_root {
1727 struct prio_tree_node *prio_tree_node ;
1728 unsigned short index_bits ;
1729 unsigned short raw ;
1730};
1731#line 100 "include/linux/rbtree.h"
1732struct rb_node {
1733 unsigned long rb_parent_color ;
1734 struct rb_node *rb_right ;
1735 struct rb_node *rb_left ;
1736} __attribute__((__aligned__(sizeof(long )))) ;
1737#line 110 "include/linux/rbtree.h"
1738struct rb_root {
1739 struct rb_node *rb_node ;
1740};
1741#line 23 "include/linux/mm_types.h"
1742struct address_space;
1743#line 23
1744struct address_space;
1745#line 23
1746struct address_space;
1747#line 23
1748struct address_space;
1749#line 34 "include/linux/mm_types.h"
1750struct __anonstruct____missing_field_name_221 {
1751 u16 inuse ;
1752 u16 objects ;
1753};
1754#line 34 "include/linux/mm_types.h"
1755union __anonunion____missing_field_name_220 {
1756 atomic_t _mapcount ;
1757 struct __anonstruct____missing_field_name_221 __annonCompField32 ;
1758};
1759#line 34 "include/linux/mm_types.h"
1760struct __anonstruct____missing_field_name_223 {
1761 unsigned long private ;
1762 struct address_space *mapping ;
1763};
1764#line 34 "include/linux/mm_types.h"
1765union __anonunion____missing_field_name_222 {
1766 struct __anonstruct____missing_field_name_223 __annonCompField34 ;
1767 struct kmem_cache *slab ;
1768 struct page *first_page ;
1769};
1770#line 34 "include/linux/mm_types.h"
1771union __anonunion____missing_field_name_224 {
1772 unsigned long index ;
1773 void *freelist ;
1774};
1775#line 34 "include/linux/mm_types.h"
1776struct page {
1777 unsigned long flags ;
1778 atomic_t _count ;
1779 union __anonunion____missing_field_name_220 __annonCompField33 ;
1780 union __anonunion____missing_field_name_222 __annonCompField35 ;
1781 union __anonunion____missing_field_name_224 __annonCompField36 ;
1782 struct list_head lru ;
1783};
1784#line 132 "include/linux/mm_types.h"
1785struct __anonstruct_vm_set_226 {
1786 struct list_head list ;
1787 void *parent ;
1788 struct vm_area_struct *head ;
1789};
1790#line 132 "include/linux/mm_types.h"
1791union __anonunion_shared_225 {
1792 struct __anonstruct_vm_set_226 vm_set ;
1793 struct raw_prio_tree_node prio_tree_node ;
1794};
1795#line 132
1796struct anon_vma;
1797#line 132
1798struct anon_vma;
1799#line 132
1800struct anon_vma;
1801#line 132
1802struct vm_operations_struct;
1803#line 132
1804struct vm_operations_struct;
1805#line 132
1806struct vm_operations_struct;
1807#line 132
1808struct mempolicy;
1809#line 132
1810struct mempolicy;
1811#line 132
1812struct mempolicy;
1813#line 132 "include/linux/mm_types.h"
1814struct vm_area_struct {
1815 struct mm_struct *vm_mm ;
1816 unsigned long vm_start ;
1817 unsigned long vm_end ;
1818 struct vm_area_struct *vm_next ;
1819 struct vm_area_struct *vm_prev ;
1820 pgprot_t vm_page_prot ;
1821 unsigned long vm_flags ;
1822 struct rb_node vm_rb ;
1823 union __anonunion_shared_225 shared ;
1824 struct list_head anon_vma_chain ;
1825 struct anon_vma *anon_vma ;
1826 struct vm_operations_struct const *vm_ops ;
1827 unsigned long vm_pgoff ;
1828 struct file *vm_file ;
1829 void *vm_private_data ;
1830 struct mempolicy *vm_policy ;
1831};
1832#line 189 "include/linux/mm_types.h"
1833struct core_thread {
1834 struct task_struct *task ;
1835 struct core_thread *next ;
1836};
1837#line 194 "include/linux/mm_types.h"
1838struct core_state {
1839 atomic_t nr_threads ;
1840 struct core_thread dumper ;
1841 struct completion startup ;
1842};
1843#line 216 "include/linux/mm_types.h"
1844struct mm_rss_stat {
1845 atomic_long_t count[3] ;
1846};
1847#line 220
1848struct linux_binfmt;
1849#line 220
1850struct linux_binfmt;
1851#line 220
1852struct linux_binfmt;
1853#line 220
1854struct mmu_notifier_mm;
1855#line 220
1856struct mmu_notifier_mm;
1857#line 220
1858struct mmu_notifier_mm;
1859#line 220 "include/linux/mm_types.h"
1860struct mm_struct {
1861 struct vm_area_struct *mmap ;
1862 struct rb_root mm_rb ;
1863 struct vm_area_struct *mmap_cache ;
1864 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1865 unsigned long pgoff , unsigned long flags ) ;
1866 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1867 unsigned long mmap_base ;
1868 unsigned long task_size ;
1869 unsigned long cached_hole_size ;
1870 unsigned long free_area_cache ;
1871 pgd_t *pgd ;
1872 atomic_t mm_users ;
1873 atomic_t mm_count ;
1874 int map_count ;
1875 spinlock_t page_table_lock ;
1876 struct rw_semaphore mmap_sem ;
1877 struct list_head mmlist ;
1878 unsigned long hiwater_rss ;
1879 unsigned long hiwater_vm ;
1880 unsigned long total_vm ;
1881 unsigned long locked_vm ;
1882 unsigned long shared_vm ;
1883 unsigned long exec_vm ;
1884 unsigned long stack_vm ;
1885 unsigned long reserved_vm ;
1886 unsigned long def_flags ;
1887 unsigned long nr_ptes ;
1888 unsigned long start_code ;
1889 unsigned long end_code ;
1890 unsigned long start_data ;
1891 unsigned long end_data ;
1892 unsigned long start_brk ;
1893 unsigned long brk ;
1894 unsigned long start_stack ;
1895 unsigned long arg_start ;
1896 unsigned long arg_end ;
1897 unsigned long env_start ;
1898 unsigned long env_end ;
1899 unsigned long saved_auxv[44] ;
1900 struct mm_rss_stat rss_stat ;
1901 struct linux_binfmt *binfmt ;
1902 cpumask_var_t cpu_vm_mask_var ;
1903 mm_context_t context ;
1904 unsigned int faultstamp ;
1905 unsigned int token_priority ;
1906 unsigned int last_interval ;
1907 atomic_t oom_disable_count ;
1908 unsigned long flags ;
1909 struct core_state *core_state ;
1910 spinlock_t ioctx_lock ;
1911 struct hlist_head ioctx_list ;
1912 struct task_struct *owner ;
1913 struct file *exe_file ;
1914 unsigned long num_exe_file_vmas ;
1915 struct mmu_notifier_mm *mmu_notifier_mm ;
1916 pgtable_t pmd_huge_pte ;
1917 struct cpumask cpumask_allocation ;
1918};
1919#line 65 "include/linux/net.h"
1920struct poll_table_struct;
1921#line 65
1922struct poll_table_struct;
1923#line 65
1924struct poll_table_struct;
1925#line 65
1926struct poll_table_struct;
1927#line 66
1928struct pipe_inode_info;
1929#line 66
1930struct pipe_inode_info;
1931#line 66
1932struct pipe_inode_info;
1933#line 66
1934struct pipe_inode_info;
1935#line 67
1936struct inode;
1937#line 67
1938struct inode;
1939#line 67
1940struct inode;
1941#line 67
1942struct inode;
1943#line 68
1944struct net;
1945#line 68
1946struct net;
1947#line 68
1948struct net;
1949#line 68
1950struct net;
1951#line 121
1952struct fasync_struct;
1953#line 121
1954struct fasync_struct;
1955#line 121
1956struct fasync_struct;
1957#line 154
1958struct vm_area_struct;
1959#line 155
1960struct page;
1961#line 156
1962struct kiocb;
1963#line 156
1964struct kiocb;
1965#line 156
1966struct kiocb;
1967#line 156
1968struct kiocb;
1969#line 157
1970struct sockaddr;
1971#line 159
1972struct module;
1973#line 221
1974struct iovec;
1975#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
1976struct exception_table_entry {
1977 unsigned long insn ;
1978 unsigned long fixup ;
1979};
1980#line 109 "include/net/checksum.h"
1981struct sk_buff;
1982#line 109
1983struct sk_buff;
1984#line 109
1985struct sk_buff;
1986#line 109
1987struct sk_buff;
1988#line 19 "include/linux/klist.h"
1989struct klist_node;
1990#line 19
1991struct klist_node;
1992#line 19
1993struct klist_node;
1994#line 19
1995struct klist_node;
1996#line 39 "include/linux/klist.h"
1997struct klist_node {
1998 void *n_klist ;
1999 struct list_head n_node ;
2000 struct kref n_ref ;
2001};
2002#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2003struct dma_map_ops;
2004#line 4
2005struct dma_map_ops;
2006#line 4
2007struct dma_map_ops;
2008#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
2009struct dev_archdata {
2010 void *acpi_handle ;
2011 struct dma_map_ops *dma_ops ;
2012 void *iommu ;
2013};
2014#line 28 "include/linux/device.h"
2015struct device;
2016#line 29
2017struct device_private;
2018#line 29
2019struct device_private;
2020#line 29
2021struct device_private;
2022#line 29
2023struct device_private;
2024#line 30
2025struct device_driver;
2026#line 30
2027struct device_driver;
2028#line 30
2029struct device_driver;
2030#line 30
2031struct device_driver;
2032#line 31
2033struct driver_private;
2034#line 31
2035struct driver_private;
2036#line 31
2037struct driver_private;
2038#line 31
2039struct driver_private;
2040#line 32
2041struct class;
2042#line 32
2043struct class;
2044#line 32
2045struct class;
2046#line 32
2047struct class;
2048#line 33
2049struct subsys_private;
2050#line 33
2051struct subsys_private;
2052#line 33
2053struct subsys_private;
2054#line 33
2055struct subsys_private;
2056#line 34
2057struct bus_type;
2058#line 34
2059struct bus_type;
2060#line 34
2061struct bus_type;
2062#line 34
2063struct bus_type;
2064#line 35
2065struct device_node;
2066#line 35
2067struct device_node;
2068#line 35
2069struct device_node;
2070#line 35
2071struct device_node;
2072#line 37 "include/linux/device.h"
2073struct bus_attribute {
2074 struct attribute attr ;
2075 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2076 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
2077};
2078#line 82
2079struct device_attribute;
2080#line 82
2081struct device_attribute;
2082#line 82
2083struct device_attribute;
2084#line 82
2085struct driver_attribute;
2086#line 82
2087struct driver_attribute;
2088#line 82
2089struct driver_attribute;
2090#line 82 "include/linux/device.h"
2091struct bus_type {
2092 char const *name ;
2093 struct bus_attribute *bus_attrs ;
2094 struct device_attribute *dev_attrs ;
2095 struct driver_attribute *drv_attrs ;
2096 int (*match)(struct device *dev , struct device_driver *drv ) ;
2097 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2098 int (*probe)(struct device *dev ) ;
2099 int (*remove)(struct device *dev ) ;
2100 void (*shutdown)(struct device *dev ) ;
2101 int (*suspend)(struct device *dev , pm_message_t state ) ;
2102 int (*resume)(struct device *dev ) ;
2103 struct dev_pm_ops const *pm ;
2104 struct subsys_private *p ;
2105};
2106#line 185
2107struct of_device_id;
2108#line 185
2109struct of_device_id;
2110#line 185
2111struct of_device_id;
2112#line 185 "include/linux/device.h"
2113struct device_driver {
2114 char const *name ;
2115 struct bus_type *bus ;
2116 struct module *owner ;
2117 char const *mod_name ;
2118 bool suppress_bind_attrs ;
2119 struct of_device_id const *of_match_table ;
2120 int (*probe)(struct device *dev ) ;
2121 int (*remove)(struct device *dev ) ;
2122 void (*shutdown)(struct device *dev ) ;
2123 int (*suspend)(struct device *dev , pm_message_t state ) ;
2124 int (*resume)(struct device *dev ) ;
2125 struct attribute_group const **groups ;
2126 struct dev_pm_ops const *pm ;
2127 struct driver_private *p ;
2128};
2129#line 222 "include/linux/device.h"
2130struct driver_attribute {
2131 struct attribute attr ;
2132 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2133 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
2134};
2135#line 280
2136struct class_attribute;
2137#line 280
2138struct class_attribute;
2139#line 280
2140struct class_attribute;
2141#line 280 "include/linux/device.h"
2142struct class {
2143 char const *name ;
2144 struct module *owner ;
2145 struct class_attribute *class_attrs ;
2146 struct device_attribute *dev_attrs ;
2147 struct bin_attribute *dev_bin_attrs ;
2148 struct kobject *dev_kobj ;
2149 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2150 char *(*devnode)(struct device *dev , mode_t *mode ) ;
2151 void (*class_release)(struct class *class ) ;
2152 void (*dev_release)(struct device *dev ) ;
2153 int (*suspend)(struct device *dev , pm_message_t state ) ;
2154 int (*resume)(struct device *dev ) ;
2155 struct kobj_ns_type_operations const *ns_type ;
2156 void const *(*namespace)(struct device *dev ) ;
2157 struct dev_pm_ops const *pm ;
2158 struct subsys_private *p ;
2159};
2160#line 306
2161struct device_type;
2162#line 306
2163struct device_type;
2164#line 306
2165struct device_type;
2166#line 347 "include/linux/device.h"
2167struct class_attribute {
2168 struct attribute attr ;
2169 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2170 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
2171 size_t count ) ;
2172};
2173#line 413 "include/linux/device.h"
2174struct device_type {
2175 char const *name ;
2176 struct attribute_group const **groups ;
2177 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2178 char *(*devnode)(struct device *dev , mode_t *mode ) ;
2179 void (*release)(struct device *dev ) ;
2180 struct dev_pm_ops const *pm ;
2181};
2182#line 424 "include/linux/device.h"
2183struct device_attribute {
2184 struct attribute attr ;
2185 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2186 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
2187 size_t count ) ;
2188};
2189#line 484 "include/linux/device.h"
2190struct device_dma_parameters {
2191 unsigned int max_segment_size ;
2192 unsigned long segment_boundary_mask ;
2193};
2194#line 551
2195struct dma_coherent_mem;
2196#line 551
2197struct dma_coherent_mem;
2198#line 551
2199struct dma_coherent_mem;
2200#line 551 "include/linux/device.h"
2201struct device {
2202 struct device *parent ;
2203 struct device_private *p ;
2204 struct kobject kobj ;
2205 char const *init_name ;
2206 struct device_type const *type ;
2207 struct mutex mutex ;
2208 struct bus_type *bus ;
2209 struct device_driver *driver ;
2210 void *platform_data ;
2211 struct dev_pm_info power ;
2212 struct dev_power_domain *pwr_domain ;
2213 int numa_node ;
2214 u64 *dma_mask ;
2215 u64 coherent_dma_mask ;
2216 struct device_dma_parameters *dma_parms ;
2217 struct list_head dma_pools ;
2218 struct dma_coherent_mem *dma_mem ;
2219 struct dev_archdata archdata ;
2220 struct device_node *of_node ;
2221 dev_t devt ;
2222 spinlock_t devres_lock ;
2223 struct list_head devres_head ;
2224 struct klist_node knode_class ;
2225 struct class *class ;
2226 struct attribute_group const **groups ;
2227 void (*release)(struct device *dev ) ;
2228};
2229#line 43 "include/linux/pm_wakeup.h"
2230struct wakeup_source {
2231 char *name ;
2232 struct list_head entry ;
2233 spinlock_t lock ;
2234 struct timer_list timer ;
2235 unsigned long timer_expires ;
2236 ktime_t total_time ;
2237 ktime_t max_time ;
2238 ktime_t last_time ;
2239 unsigned long event_count ;
2240 unsigned long active_count ;
2241 unsigned long relax_count ;
2242 unsigned long hit_count ;
2243 unsigned int active : 1 ;
2244};
2245#line 12 "include/linux/bug.h"
2246struct pt_regs;
2247#line 25 "include/linux/dma-attrs.h"
2248struct dma_attrs {
2249 unsigned long flags[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
2250};
2251#line 6 "include/asm-generic/scatterlist.h"
2252struct scatterlist {
2253 unsigned long sg_magic ;
2254 unsigned long page_link ;
2255 unsigned int offset ;
2256 unsigned int length ;
2257 dma_addr_t dma_address ;
2258 unsigned int dma_length ;
2259};
2260#line 19 "include/linux/mm.h"
2261struct mempolicy;
2262#line 20
2263struct anon_vma;
2264#line 21
2265struct file_ra_state;
2266#line 21
2267struct file_ra_state;
2268#line 21
2269struct file_ra_state;
2270#line 21
2271struct file_ra_state;
2272#line 22
2273struct user_struct;
2274#line 23
2275struct writeback_control;
2276#line 23
2277struct writeback_control;
2278#line 23
2279struct writeback_control;
2280#line 23
2281struct writeback_control;
2282#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64.h"
2283struct mm_struct;
2284#line 656 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable.h"
2285struct vm_area_struct;
2286#line 185 "include/linux/mm.h"
2287struct vm_fault {
2288 unsigned int flags ;
2289 unsigned long pgoff ;
2290 void *virtual_address ;
2291 struct page *page ;
2292};
2293#line 202 "include/linux/mm.h"
2294struct vm_operations_struct {
2295 void (*open)(struct vm_area_struct *area ) ;
2296 void (*close)(struct vm_area_struct *area ) ;
2297 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2298 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
2299 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
2300 int write ) ;
2301 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
2302 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
2303 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
2304 unsigned long flags ) ;
2305};
2306#line 244
2307struct inode;
2308#line 197 "include/linux/page-flags.h"
2309struct page;
2310#line 11 "include/linux/dma-mapping.h"
2311enum dma_data_direction {
2312 DMA_BIDIRECTIONAL = 0,
2313 DMA_TO_DEVICE = 1,
2314 DMA_FROM_DEVICE = 2,
2315 DMA_NONE = 3
2316} ;
2317#line 18 "include/linux/dma-mapping.h"
2318struct dma_map_ops {
2319 void *(*alloc_coherent)(struct device *dev , size_t size , dma_addr_t *dma_handle ,
2320 gfp_t gfp ) ;
2321 void (*free_coherent)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ) ;
2322 dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
2323 size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
2324 void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
2325 struct dma_attrs *attrs ) ;
2326 int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
2327 struct dma_attrs *attrs ) ;
2328 void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
2329 struct dma_attrs *attrs ) ;
2330 void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
2331 enum dma_data_direction dir ) ;
2332 void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
2333 enum dma_data_direction dir ) ;
2334 void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
2335 enum dma_data_direction dir ) ;
2336 void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
2337 enum dma_data_direction dir ) ;
2338 int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
2339 int (*dma_supported)(struct device *dev , u64 mask ) ;
2340 int (*set_dma_mask)(struct device *dev , u64 mask ) ;
2341 int is_phys ;
2342};
2343#line 25 "include/linux/dma-debug.h"
2344struct device;
2345#line 26
2346struct scatterlist;
2347#line 27
2348struct bus_type;
2349#line 6 "include/linux/swiotlb.h"
2350struct device;
2351#line 7
2352struct dma_attrs;
2353#line 8
2354struct scatterlist;
2355#line 33 "include/linux/dmaengine.h"
2356typedef s32 dma_cookie_t;
2357#line 8 "include/linux/timerqueue.h"
2358struct timerqueue_node {
2359 struct rb_node node ;
2360 ktime_t expires ;
2361};
2362#line 13 "include/linux/timerqueue.h"
2363struct timerqueue_head {
2364 struct rb_root head ;
2365 struct timerqueue_node *next ;
2366};
2367#line 27 "include/linux/hrtimer.h"
2368struct hrtimer_clock_base;
2369#line 27
2370struct hrtimer_clock_base;
2371#line 27
2372struct hrtimer_clock_base;
2373#line 27
2374struct hrtimer_clock_base;
2375#line 28
2376struct hrtimer_cpu_base;
2377#line 28
2378struct hrtimer_cpu_base;
2379#line 28
2380struct hrtimer_cpu_base;
2381#line 28
2382struct hrtimer_cpu_base;
2383#line 44
2384enum hrtimer_restart {
2385 HRTIMER_NORESTART = 0,
2386 HRTIMER_RESTART = 1
2387} ;
2388#line 108 "include/linux/hrtimer.h"
2389struct hrtimer {
2390 struct timerqueue_node node ;
2391 ktime_t _softexpires ;
2392 enum hrtimer_restart (*function)(struct hrtimer * ) ;
2393 struct hrtimer_clock_base *base ;
2394 unsigned long state ;
2395 int start_pid ;
2396 void *start_site ;
2397 char start_comm[16] ;
2398};
2399#line 145 "include/linux/hrtimer.h"
2400struct hrtimer_clock_base {
2401 struct hrtimer_cpu_base *cpu_base ;
2402 int index ;
2403 clockid_t clockid ;
2404 struct timerqueue_head active ;
2405 ktime_t resolution ;
2406 ktime_t (*get_time)(void) ;
2407 ktime_t softirq_time ;
2408 ktime_t offset ;
2409};
2410#line 178 "include/linux/hrtimer.h"
2411struct hrtimer_cpu_base {
2412 raw_spinlock_t lock ;
2413 unsigned long active_bases ;
2414 ktime_t expires_next ;
2415 int hres_active ;
2416 int hang_detected ;
2417 unsigned long nr_events ;
2418 unsigned long nr_retries ;
2419 unsigned long nr_hangs ;
2420 ktime_t max_hang_time ;
2421 struct hrtimer_clock_base clock_base[3] ;
2422};
2423#line 94 "include/linux/skbuff.h"
2424struct net_device;
2425#line 94
2426struct net_device;
2427#line 94
2428struct net_device;
2429#line 94
2430struct net_device;
2431#line 95
2432struct scatterlist;
2433#line 96
2434struct pipe_inode_info;
2435#line 99 "include/linux/skbuff.h"
2436struct nf_conntrack {
2437 atomic_t use ;
2438};
2439#line 105 "include/linux/skbuff.h"
2440struct nf_bridge_info {
2441 atomic_t use ;
2442 struct net_device *physindev ;
2443 struct net_device *physoutdev ;
2444 unsigned int mask ;
2445 unsigned long data[32UL / sizeof(unsigned long )] ;
2446};
2447#line 114 "include/linux/skbuff.h"
2448struct sk_buff_head {
2449 struct sk_buff *next ;
2450 struct sk_buff *prev ;
2451 __u32 qlen ;
2452 spinlock_t lock ;
2453};
2454#line 123
2455struct sk_buff;
2456#line 259 "include/linux/skbuff.h"
2457typedef unsigned int sk_buff_data_t;
2458#line 325
2459struct sec_path;
2460#line 325
2461struct sec_path;
2462#line 325
2463struct sec_path;
2464#line 325 "include/linux/skbuff.h"
2465struct __anonstruct____missing_field_name_235 {
2466 __u16 csum_start ;
2467 __u16 csum_offset ;
2468};
2469#line 325 "include/linux/skbuff.h"
2470union __anonunion____missing_field_name_234 {
2471 __wsum csum ;
2472 struct __anonstruct____missing_field_name_235 __annonCompField37 ;
2473};
2474#line 325 "include/linux/skbuff.h"
2475union __anonunion____missing_field_name_236 {
2476 __u32 mark ;
2477 __u32 dropcount ;
2478};
2479#line 325 "include/linux/skbuff.h"
2480struct sk_buff {
2481 struct sk_buff *next ;
2482 struct sk_buff *prev ;
2483 ktime_t tstamp ;
2484 struct sock *sk ;
2485 struct net_device *dev ;
2486 char cb[48] __attribute__((__aligned__(8))) ;
2487 unsigned long _skb_refdst ;
2488 struct sec_path *sp ;
2489 unsigned int len ;
2490 unsigned int data_len ;
2491 __u16 mac_len ;
2492 __u16 hdr_len ;
2493 union __anonunion____missing_field_name_234 __annonCompField38 ;
2494 __u32 priority ;
2495 __u8 local_df : 1 ;
2496 __u8 cloned : 1 ;
2497 __u8 ip_summed : 2 ;
2498 __u8 nohdr : 1 ;
2499 __u8 nfctinfo : 3 ;
2500 __u8 pkt_type : 3 ;
2501 __u8 fclone : 2 ;
2502 __u8 ipvs_property : 1 ;
2503 __u8 peeked : 1 ;
2504 __u8 nf_trace : 1 ;
2505 __be16 protocol ;
2506 void (*destructor)(struct sk_buff *skb ) ;
2507 struct nf_conntrack *nfct ;
2508 struct sk_buff *nfct_reasm ;
2509 struct nf_bridge_info *nf_bridge ;
2510 int skb_iif ;
2511 __u16 tc_index ;
2512 __u16 tc_verd ;
2513 __u32 rxhash ;
2514 __u16 queue_mapping ;
2515 __u8 ndisc_nodetype : 2 ;
2516 __u8 ooo_okay : 1 ;
2517 dma_cookie_t dma_cookie ;
2518 __u32 secmark ;
2519 union __anonunion____missing_field_name_236 __annonCompField39 ;
2520 __u16 vlan_tci ;
2521 sk_buff_data_t transport_header ;
2522 sk_buff_data_t network_header ;
2523 sk_buff_data_t mac_header ;
2524 sk_buff_data_t tail ;
2525 sk_buff_data_t end ;
2526 unsigned char *head ;
2527 unsigned char *data ;
2528 unsigned int truesize ;
2529 atomic_t users ;
2530};
2531#line 450
2532struct dst_entry;
2533#line 450
2534struct dst_entry;
2535#line 450
2536struct dst_entry;
2537#line 125 "include/linux/netlink.h"
2538struct nlattr {
2539 __u16 nla_len ;
2540 __u16 nla_type ;
2541};
2542#line 18 "include/linux/capability.h"
2543struct task_struct;
2544#line 94 "include/linux/capability.h"
2545struct kernel_cap_struct {
2546 __u32 cap[2] ;
2547};
2548#line 94 "include/linux/capability.h"
2549typedef struct kernel_cap_struct kernel_cap_t;
2550#line 376
2551struct dentry;
2552#line 376
2553struct dentry;
2554#line 376
2555struct dentry;
2556#line 376
2557struct dentry;
2558#line 377
2559struct user_namespace;
2560#line 377
2561struct user_namespace;
2562#line 377
2563struct user_namespace;
2564#line 377
2565struct user_namespace;
2566#line 153 "include/linux/netlink.h"
2567struct net;
2568#line 41 "include/linux/if_link.h"
2569struct rtnl_link_stats64 {
2570 __u64 rx_packets ;
2571 __u64 tx_packets ;
2572 __u64 rx_bytes ;
2573 __u64 tx_bytes ;
2574 __u64 rx_errors ;
2575 __u64 tx_errors ;
2576 __u64 rx_dropped ;
2577 __u64 tx_dropped ;
2578 __u64 multicast ;
2579 __u64 collisions ;
2580 __u64 rx_length_errors ;
2581 __u64 rx_over_errors ;
2582 __u64 rx_crc_errors ;
2583 __u64 rx_frame_errors ;
2584 __u64 rx_fifo_errors ;
2585 __u64 rx_missed_errors ;
2586 __u64 tx_aborted_errors ;
2587 __u64 tx_carrier_errors ;
2588 __u64 tx_fifo_errors ;
2589 __u64 tx_heartbeat_errors ;
2590 __u64 tx_window_errors ;
2591 __u64 rx_compressed ;
2592 __u64 tx_compressed ;
2593};
2594#line 303 "include/linux/if_link.h"
2595struct ifla_vf_info {
2596 __u32 vf ;
2597 __u8 mac[32] ;
2598 __u32 vlan ;
2599 __u32 qos ;
2600 __u32 tx_rate ;
2601};
2602#line 82 "include/linux/plist.h"
2603struct plist_head {
2604 struct list_head node_list ;
2605 raw_spinlock_t *rawlock ;
2606 spinlock_t *spinlock ;
2607};
2608#line 90 "include/linux/plist.h"
2609struct plist_node {
2610 int prio ;
2611 struct list_head prio_list ;
2612 struct list_head node_list ;
2613};
2614#line 45 "include/linux/miscdevice.h"
2615struct device;
2616#line 47
2617struct file_operations;
2618#line 47
2619struct file_operations;
2620#line 47
2621struct file_operations;
2622#line 23 "include/linux/pm_qos_params.h"
2623struct pm_qos_request_list {
2624 struct plist_node list ;
2625 int pm_qos_class ;
2626};
2627#line 84 "include/linux/sem.h"
2628struct task_struct;
2629#line 122
2630struct sem_undo_list;
2631#line 122
2632struct sem_undo_list;
2633#line 122
2634struct sem_undo_list;
2635#line 135 "include/linux/sem.h"
2636struct sem_undo_list {
2637 atomic_t refcnt ;
2638 spinlock_t lock ;
2639 struct list_head list_proc ;
2640};
2641#line 141 "include/linux/sem.h"
2642struct sysv_sem {
2643 struct sem_undo_list *undo_list ;
2644};
2645#line 15 "include/linux/blk_types.h"
2646struct page;
2647#line 16
2648struct block_device;
2649#line 16
2650struct block_device;
2651#line 16
2652struct block_device;
2653#line 16
2654struct block_device;
2655#line 33 "include/linux/list_bl.h"
2656struct hlist_bl_node;
2657#line 33
2658struct hlist_bl_node;
2659#line 33
2660struct hlist_bl_node;
2661#line 33 "include/linux/list_bl.h"
2662struct hlist_bl_head {
2663 struct hlist_bl_node *first ;
2664};
2665#line 37 "include/linux/list_bl.h"
2666struct hlist_bl_node {
2667 struct hlist_bl_node *next ;
2668 struct hlist_bl_node **pprev ;
2669};
2670#line 13 "include/linux/dcache.h"
2671struct nameidata;
2672#line 13
2673struct nameidata;
2674#line 13
2675struct nameidata;
2676#line 13
2677struct nameidata;
2678#line 14
2679struct path;
2680#line 14
2681struct path;
2682#line 14
2683struct path;
2684#line 14
2685struct path;
2686#line 15
2687struct vfsmount;
2688#line 15
2689struct vfsmount;
2690#line 15
2691struct vfsmount;
2692#line 15
2693struct vfsmount;
2694#line 35 "include/linux/dcache.h"
2695struct qstr {
2696 unsigned int hash ;
2697 unsigned int len ;
2698 unsigned char const *name ;
2699};
2700#line 116
2701struct dentry_operations;
2702#line 116
2703struct dentry_operations;
2704#line 116
2705struct dentry_operations;
2706#line 116
2707struct super_block;
2708#line 116
2709struct super_block;
2710#line 116
2711struct super_block;
2712#line 116 "include/linux/dcache.h"
2713union __anonunion_d_u_252 {
2714 struct list_head d_child ;
2715 struct rcu_head d_rcu ;
2716};
2717#line 116 "include/linux/dcache.h"
2718struct dentry {
2719 unsigned int d_flags ;
2720 seqcount_t d_seq ;
2721 struct hlist_bl_node d_hash ;
2722 struct dentry *d_parent ;
2723 struct qstr d_name ;
2724 struct inode *d_inode ;
2725 unsigned char d_iname[32] ;
2726 unsigned int d_count ;
2727 spinlock_t d_lock ;
2728 struct dentry_operations const *d_op ;
2729 struct super_block *d_sb ;
2730 unsigned long d_time ;
2731 void *d_fsdata ;
2732 struct list_head d_lru ;
2733 union __anonunion_d_u_252 d_u ;
2734 struct list_head d_subdirs ;
2735 struct list_head d_alias ;
2736};
2737#line 159 "include/linux/dcache.h"
2738struct dentry_operations {
2739 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2740 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2741 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2742 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2743 int (*d_delete)(struct dentry const * ) ;
2744 void (*d_release)(struct dentry * ) ;
2745 void (*d_iput)(struct dentry * , struct inode * ) ;
2746 char *(*d_dname)(struct dentry * , char * , int ) ;
2747 struct vfsmount *(*d_automount)(struct path * ) ;
2748 int (*d_manage)(struct dentry * , bool ) ;
2749} __attribute__((__aligned__((1) << (6) ))) ;
2750#line 4 "include/linux/path.h"
2751struct dentry;
2752#line 5
2753struct vfsmount;
2754#line 7 "include/linux/path.h"
2755struct path {
2756 struct vfsmount *mnt ;
2757 struct dentry *dentry ;
2758};
2759#line 57 "include/linux/radix-tree.h"
2760struct radix_tree_node;
2761#line 57
2762struct radix_tree_node;
2763#line 57
2764struct radix_tree_node;
2765#line 57 "include/linux/radix-tree.h"
2766struct radix_tree_root {
2767 unsigned int height ;
2768 gfp_t gfp_mask ;
2769 struct radix_tree_node *rnode ;
2770};
2771#line 6 "include/linux/pid.h"
2772enum pid_type {
2773 PIDTYPE_PID = 0,
2774 PIDTYPE_PGID = 1,
2775 PIDTYPE_SID = 2,
2776 PIDTYPE_MAX = 3
2777} ;
2778#line 50
2779struct pid_namespace;
2780#line 50
2781struct pid_namespace;
2782#line 50
2783struct pid_namespace;
2784#line 50 "include/linux/pid.h"
2785struct upid {
2786 int nr ;
2787 struct pid_namespace *ns ;
2788 struct hlist_node pid_chain ;
2789};
2790#line 57 "include/linux/pid.h"
2791struct pid {
2792 atomic_t count ;
2793 unsigned int level ;
2794 struct hlist_head tasks[3] ;
2795 struct rcu_head rcu ;
2796 struct upid numbers[1] ;
2797};
2798#line 69 "include/linux/pid.h"
2799struct pid_link {
2800 struct hlist_node node ;
2801 struct pid *pid ;
2802};
2803#line 100
2804struct pid_namespace;
2805#line 16 "include/linux/fiemap.h"
2806struct fiemap_extent {
2807 __u64 fe_logical ;
2808 __u64 fe_physical ;
2809 __u64 fe_length ;
2810 __u64 fe_reserved64[2] ;
2811 __u32 fe_flags ;
2812 __u32 fe_reserved[3] ;
2813};
2814#line 399 "include/linux/fs.h"
2815struct export_operations;
2816#line 399
2817struct export_operations;
2818#line 399
2819struct export_operations;
2820#line 399
2821struct export_operations;
2822#line 401
2823struct iovec;
2824#line 402
2825struct nameidata;
2826#line 403
2827struct kiocb;
2828#line 404
2829struct kobject;
2830#line 405
2831struct pipe_inode_info;
2832#line 406
2833struct poll_table_struct;
2834#line 407
2835struct kstatfs;
2836#line 407
2837struct kstatfs;
2838#line 407
2839struct kstatfs;
2840#line 407
2841struct kstatfs;
2842#line 408
2843struct vm_area_struct;
2844#line 409
2845struct vfsmount;
2846#line 410
2847struct cred;
2848#line 460 "include/linux/fs.h"
2849struct iattr {
2850 unsigned int ia_valid ;
2851 umode_t ia_mode ;
2852 uid_t ia_uid ;
2853 gid_t ia_gid ;
2854 loff_t ia_size ;
2855 struct timespec ia_atime ;
2856 struct timespec ia_mtime ;
2857 struct timespec ia_ctime ;
2858 struct file *ia_file ;
2859};
2860#line 129 "include/linux/quota.h"
2861struct if_dqinfo {
2862 __u64 dqi_bgrace ;
2863 __u64 dqi_igrace ;
2864 __u32 dqi_flags ;
2865 __u32 dqi_valid ;
2866};
2867#line 18 "include/linux/percpu_counter.h"
2868struct percpu_counter {
2869 spinlock_t lock ;
2870 s64 count ;
2871 struct list_head list ;
2872 s32 *counters ;
2873};
2874#line 50 "include/linux/dqblk_xfs.h"
2875struct fs_disk_quota {
2876 __s8 d_version ;
2877 __s8 d_flags ;
2878 __u16 d_fieldmask ;
2879 __u32 d_id ;
2880 __u64 d_blk_hardlimit ;
2881 __u64 d_blk_softlimit ;
2882 __u64 d_ino_hardlimit ;
2883 __u64 d_ino_softlimit ;
2884 __u64 d_bcount ;
2885 __u64 d_icount ;
2886 __s32 d_itimer ;
2887 __s32 d_btimer ;
2888 __u16 d_iwarns ;
2889 __u16 d_bwarns ;
2890 __s32 d_padding2 ;
2891 __u64 d_rtb_hardlimit ;
2892 __u64 d_rtb_softlimit ;
2893 __u64 d_rtbcount ;
2894 __s32 d_rtbtimer ;
2895 __u16 d_rtbwarns ;
2896 __s16 d_padding3 ;
2897 char d_padding4[8] ;
2898};
2899#line 146 "include/linux/dqblk_xfs.h"
2900struct fs_qfilestat {
2901 __u64 qfs_ino ;
2902 __u64 qfs_nblks ;
2903 __u32 qfs_nextents ;
2904};
2905#line 146 "include/linux/dqblk_xfs.h"
2906typedef struct fs_qfilestat fs_qfilestat_t;
2907#line 152 "include/linux/dqblk_xfs.h"
2908struct fs_quota_stat {
2909 __s8 qs_version ;
2910 __u16 qs_flags ;
2911 __s8 qs_pad ;
2912 fs_qfilestat_t qs_uquota ;
2913 fs_qfilestat_t qs_gquota ;
2914 __u32 qs_incoredqs ;
2915 __s32 qs_btimelimit ;
2916 __s32 qs_itimelimit ;
2917 __s32 qs_rtbtimelimit ;
2918 __u16 qs_bwarnlimit ;
2919 __u16 qs_iwarnlimit ;
2920};
2921#line 17 "include/linux/dqblk_qtree.h"
2922struct dquot;
2923#line 17
2924struct dquot;
2925#line 17
2926struct dquot;
2927#line 17
2928struct dquot;
2929#line 185 "include/linux/quota.h"
2930typedef __kernel_uid32_t qid_t;
2931#line 186 "include/linux/quota.h"
2932typedef long long qsize_t;
2933#line 200 "include/linux/quota.h"
2934struct mem_dqblk {
2935 qsize_t dqb_bhardlimit ;
2936 qsize_t dqb_bsoftlimit ;
2937 qsize_t dqb_curspace ;
2938 qsize_t dqb_rsvspace ;
2939 qsize_t dqb_ihardlimit ;
2940 qsize_t dqb_isoftlimit ;
2941 qsize_t dqb_curinodes ;
2942 time_t dqb_btime ;
2943 time_t dqb_itime ;
2944};
2945#line 215
2946struct quota_format_type;
2947#line 215
2948struct quota_format_type;
2949#line 215
2950struct quota_format_type;
2951#line 215
2952struct quota_format_type;
2953#line 217 "include/linux/quota.h"
2954struct mem_dqinfo {
2955 struct quota_format_type *dqi_format ;
2956 int dqi_fmt_id ;
2957 struct list_head dqi_dirty_list ;
2958 unsigned long dqi_flags ;
2959 unsigned int dqi_bgrace ;
2960 unsigned int dqi_igrace ;
2961 qsize_t dqi_maxblimit ;
2962 qsize_t dqi_maxilimit ;
2963 void *dqi_priv ;
2964};
2965#line 230
2966struct super_block;
2967#line 284 "include/linux/quota.h"
2968struct dquot {
2969 struct hlist_node dq_hash ;
2970 struct list_head dq_inuse ;
2971 struct list_head dq_free ;
2972 struct list_head dq_dirty ;
2973 struct mutex dq_lock ;
2974 atomic_t dq_count ;
2975 wait_queue_head_t dq_wait_unused ;
2976 struct super_block *dq_sb ;
2977 unsigned int dq_id ;
2978 loff_t dq_off ;
2979 unsigned long dq_flags ;
2980 short dq_type ;
2981 struct mem_dqblk dq_dqb ;
2982};
2983#line 301 "include/linux/quota.h"
2984struct quota_format_ops {
2985 int (*check_quota_file)(struct super_block *sb , int type ) ;
2986 int (*read_file_info)(struct super_block *sb , int type ) ;
2987 int (*write_file_info)(struct super_block *sb , int type ) ;
2988 int (*free_file_info)(struct super_block *sb , int type ) ;
2989 int (*read_dqblk)(struct dquot *dquot ) ;
2990 int (*commit_dqblk)(struct dquot *dquot ) ;
2991 int (*release_dqblk)(struct dquot *dquot ) ;
2992};
2993#line 312 "include/linux/quota.h"
2994struct dquot_operations {
2995 int (*write_dquot)(struct dquot * ) ;
2996 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
2997 void (*destroy_dquot)(struct dquot * ) ;
2998 int (*acquire_dquot)(struct dquot * ) ;
2999 int (*release_dquot)(struct dquot * ) ;
3000 int (*mark_dirty)(struct dquot * ) ;
3001 int (*write_info)(struct super_block * , int ) ;
3002 qsize_t *(*get_reserved_space)(struct inode * ) ;
3003};
3004#line 325
3005struct path;
3006#line 328 "include/linux/quota.h"
3007struct quotactl_ops {
3008 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3009 int (*quota_on_meta)(struct super_block * , int , int ) ;
3010 int (*quota_off)(struct super_block * , int ) ;
3011 int (*quota_sync)(struct super_block * , int , int ) ;
3012 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3013 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3014 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3015 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3016 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3017 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3018};
3019#line 341 "include/linux/quota.h"
3020struct quota_format_type {
3021 int qf_fmt_id ;
3022 struct quota_format_ops const *qf_ops ;
3023 struct module *qf_owner ;
3024 struct quota_format_type *qf_next ;
3025};
3026#line 395 "include/linux/quota.h"
3027struct quota_info {
3028 unsigned int flags ;
3029 struct mutex dqio_mutex ;
3030 struct mutex dqonoff_mutex ;
3031 struct rw_semaphore dqptr_sem ;
3032 struct inode *files[2] ;
3033 struct mem_dqinfo info[2] ;
3034 struct quota_format_ops const *ops[2] ;
3035};
3036#line 523 "include/linux/fs.h"
3037struct page;
3038#line 524
3039struct address_space;
3040#line 525
3041struct writeback_control;
3042#line 568 "include/linux/fs.h"
3043union __anonunion_arg_259 {
3044 char *buf ;
3045 void *data ;
3046};
3047#line 568 "include/linux/fs.h"
3048struct __anonstruct_read_descriptor_t_258 {
3049 size_t written ;
3050 size_t count ;
3051 union __anonunion_arg_259 arg ;
3052 int error ;
3053};
3054#line 568 "include/linux/fs.h"
3055typedef struct __anonstruct_read_descriptor_t_258 read_descriptor_t;
3056#line 581 "include/linux/fs.h"
3057struct address_space_operations {
3058 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3059 int (*readpage)(struct file * , struct page * ) ;
3060 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3061 int (*set_page_dirty)(struct page *page ) ;
3062 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3063 unsigned int nr_pages ) ;
3064 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3065 unsigned int len , unsigned int flags , struct page **pagep ,
3066 void **fsdata ) ;
3067 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3068 unsigned int copied , struct page *page , void *fsdata ) ;
3069 sector_t (*bmap)(struct address_space * , sector_t ) ;
3070 void (*invalidatepage)(struct page * , unsigned long ) ;
3071 int (*releasepage)(struct page * , gfp_t ) ;
3072 void (*freepage)(struct page * ) ;
3073 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3074 unsigned long nr_segs ) ;
3075 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3076 int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
3077 int (*launder_page)(struct page * ) ;
3078 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3079 int (*error_remove_page)(struct address_space * , struct page * ) ;
3080};
3081#line 633
3082struct backing_dev_info;
3083#line 633
3084struct backing_dev_info;
3085#line 633
3086struct backing_dev_info;
3087#line 633
3088struct backing_dev_info;
3089#line 634 "include/linux/fs.h"
3090struct address_space {
3091 struct inode *host ;
3092 struct radix_tree_root page_tree ;
3093 spinlock_t tree_lock ;
3094 unsigned int i_mmap_writable ;
3095 struct prio_tree_root i_mmap ;
3096 struct list_head i_mmap_nonlinear ;
3097 struct mutex i_mmap_mutex ;
3098 unsigned long nrpages ;
3099 unsigned long writeback_index ;
3100 struct address_space_operations const *a_ops ;
3101 unsigned long flags ;
3102 struct backing_dev_info *backing_dev_info ;
3103 spinlock_t private_lock ;
3104 struct list_head private_list ;
3105 struct address_space *assoc_mapping ;
3106} __attribute__((__aligned__(sizeof(long )))) ;
3107#line 658
3108struct hd_struct;
3109#line 658
3110struct hd_struct;
3111#line 658
3112struct hd_struct;
3113#line 658
3114struct gendisk;
3115#line 658
3116struct gendisk;
3117#line 658
3118struct gendisk;
3119#line 658 "include/linux/fs.h"
3120struct block_device {
3121 dev_t bd_dev ;
3122 int bd_openers ;
3123 struct inode *bd_inode ;
3124 struct super_block *bd_super ;
3125 struct mutex bd_mutex ;
3126 struct list_head bd_inodes ;
3127 void *bd_claiming ;
3128 void *bd_holder ;
3129 int bd_holders ;
3130 bool bd_write_holder ;
3131 struct list_head bd_holder_disks ;
3132 struct block_device *bd_contains ;
3133 unsigned int bd_block_size ;
3134 struct hd_struct *bd_part ;
3135 unsigned int bd_part_count ;
3136 int bd_invalidated ;
3137 struct gendisk *bd_disk ;
3138 struct list_head bd_list ;
3139 unsigned long bd_private ;
3140 int bd_fsfreeze_count ;
3141 struct mutex bd_fsfreeze_mutex ;
3142};
3143#line 735
3144struct posix_acl;
3145#line 735
3146struct posix_acl;
3147#line 735
3148struct posix_acl;
3149#line 735
3150struct posix_acl;
3151#line 738
3152struct inode_operations;
3153#line 738
3154struct inode_operations;
3155#line 738
3156struct inode_operations;
3157#line 738 "include/linux/fs.h"
3158union __anonunion____missing_field_name_260 {
3159 struct list_head i_dentry ;
3160 struct rcu_head i_rcu ;
3161};
3162#line 738
3163struct file_lock;
3164#line 738
3165struct file_lock;
3166#line 738
3167struct file_lock;
3168#line 738
3169struct cdev;
3170#line 738
3171struct cdev;
3172#line 738
3173struct cdev;
3174#line 738 "include/linux/fs.h"
3175union __anonunion____missing_field_name_261 {
3176 struct pipe_inode_info *i_pipe ;
3177 struct block_device *i_bdev ;
3178 struct cdev *i_cdev ;
3179};
3180#line 738 "include/linux/fs.h"
3181struct inode {
3182 umode_t i_mode ;
3183 uid_t i_uid ;
3184 gid_t i_gid ;
3185 struct inode_operations const *i_op ;
3186 struct super_block *i_sb ;
3187 spinlock_t i_lock ;
3188 unsigned int i_flags ;
3189 unsigned long i_state ;
3190 void *i_security ;
3191 struct mutex i_mutex ;
3192 unsigned long dirtied_when ;
3193 struct hlist_node i_hash ;
3194 struct list_head i_wb_list ;
3195 struct list_head i_lru ;
3196 struct list_head i_sb_list ;
3197 union __anonunion____missing_field_name_260 __annonCompField40 ;
3198 unsigned long i_ino ;
3199 atomic_t i_count ;
3200 unsigned int i_nlink ;
3201 dev_t i_rdev ;
3202 unsigned int i_blkbits ;
3203 u64 i_version ;
3204 loff_t i_size ;
3205 struct timespec i_atime ;
3206 struct timespec i_mtime ;
3207 struct timespec i_ctime ;
3208 blkcnt_t i_blocks ;
3209 unsigned short i_bytes ;
3210 struct rw_semaphore i_alloc_sem ;
3211 struct file_operations const *i_fop ;
3212 struct file_lock *i_flock ;
3213 struct address_space *i_mapping ;
3214 struct address_space i_data ;
3215 struct dquot *i_dquot[2] ;
3216 struct list_head i_devices ;
3217 union __anonunion____missing_field_name_261 __annonCompField41 ;
3218 __u32 i_generation ;
3219 __u32 i_fsnotify_mask ;
3220 struct hlist_head i_fsnotify_marks ;
3221 atomic_t i_readcount ;
3222 atomic_t i_writecount ;
3223 struct posix_acl *i_acl ;
3224 struct posix_acl *i_default_acl ;
3225 void *i_private ;
3226};
3227#line 903 "include/linux/fs.h"
3228struct fown_struct {
3229 rwlock_t lock ;
3230 struct pid *pid ;
3231 enum pid_type pid_type ;
3232 uid_t uid ;
3233 uid_t euid ;
3234 int signum ;
3235};
3236#line 914 "include/linux/fs.h"
3237struct file_ra_state {
3238 unsigned long start ;
3239 unsigned int size ;
3240 unsigned int async_size ;
3241 unsigned int ra_pages ;
3242 unsigned int mmap_miss ;
3243 loff_t prev_pos ;
3244};
3245#line 937 "include/linux/fs.h"
3246union __anonunion_f_u_262 {
3247 struct list_head fu_list ;
3248 struct rcu_head fu_rcuhead ;
3249};
3250#line 937 "include/linux/fs.h"
3251struct file {
3252 union __anonunion_f_u_262 f_u ;
3253 struct path f_path ;
3254 struct file_operations const *f_op ;
3255 spinlock_t f_lock ;
3256 int f_sb_list_cpu ;
3257 atomic_long_t f_count ;
3258 unsigned int f_flags ;
3259 fmode_t f_mode ;
3260 loff_t f_pos ;
3261 struct fown_struct f_owner ;
3262 struct cred const *f_cred ;
3263 struct file_ra_state f_ra ;
3264 u64 f_version ;
3265 void *f_security ;
3266 void *private_data ;
3267 struct list_head f_ep_links ;
3268 struct address_space *f_mapping ;
3269 unsigned long f_mnt_write_state ;
3270};
3271#line 1064
3272struct files_struct;
3273#line 1064
3274struct files_struct;
3275#line 1064
3276struct files_struct;
3277#line 1064 "include/linux/fs.h"
3278typedef struct files_struct *fl_owner_t;
3279#line 1066 "include/linux/fs.h"
3280struct file_lock_operations {
3281 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3282 void (*fl_release_private)(struct file_lock * ) ;
3283};
3284#line 1071 "include/linux/fs.h"
3285struct lock_manager_operations {
3286 int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
3287 void (*fl_notify)(struct file_lock * ) ;
3288 int (*fl_grant)(struct file_lock * , struct file_lock * , int ) ;
3289 void (*fl_release_private)(struct file_lock * ) ;
3290 void (*fl_break)(struct file_lock * ) ;
3291 int (*fl_change)(struct file_lock ** , int ) ;
3292};
3293#line 8 "include/linux/nfs_fs_i.h"
3294struct nlm_lockowner;
3295#line 8
3296struct nlm_lockowner;
3297#line 8
3298struct nlm_lockowner;
3299#line 8
3300struct nlm_lockowner;
3301#line 13 "include/linux/nfs_fs_i.h"
3302struct nfs_lock_info {
3303 u32 state ;
3304 struct nlm_lockowner *owner ;
3305 struct list_head list ;
3306};
3307#line 19
3308struct nfs4_lock_state;
3309#line 19
3310struct nfs4_lock_state;
3311#line 19
3312struct nfs4_lock_state;
3313#line 19
3314struct nfs4_lock_state;
3315#line 20 "include/linux/nfs_fs_i.h"
3316struct nfs4_lock_info {
3317 struct nfs4_lock_state *owner ;
3318};
3319#line 1091 "include/linux/fs.h"
3320struct __anonstruct_afs_264 {
3321 struct list_head link ;
3322 int state ;
3323};
3324#line 1091 "include/linux/fs.h"
3325union __anonunion_fl_u_263 {
3326 struct nfs_lock_info nfs_fl ;
3327 struct nfs4_lock_info nfs4_fl ;
3328 struct __anonstruct_afs_264 afs ;
3329};
3330#line 1091 "include/linux/fs.h"
3331struct file_lock {
3332 struct file_lock *fl_next ;
3333 struct list_head fl_link ;
3334 struct list_head fl_block ;
3335 fl_owner_t fl_owner ;
3336 unsigned char fl_flags ;
3337 unsigned char fl_type ;
3338 unsigned int fl_pid ;
3339 struct pid *fl_nspid ;
3340 wait_queue_head_t fl_wait ;
3341 struct file *fl_file ;
3342 loff_t fl_start ;
3343 loff_t fl_end ;
3344 struct fasync_struct *fl_fasync ;
3345 unsigned long fl_break_time ;
3346 struct file_lock_operations const *fl_ops ;
3347 struct lock_manager_operations const *fl_lmops ;
3348 union __anonunion_fl_u_263 fl_u ;
3349};
3350#line 1324 "include/linux/fs.h"
3351struct fasync_struct {
3352 spinlock_t fa_lock ;
3353 int magic ;
3354 int fa_fd ;
3355 struct fasync_struct *fa_next ;
3356 struct file *fa_file ;
3357 struct rcu_head fa_rcu ;
3358};
3359#line 1364
3360struct file_system_type;
3361#line 1364
3362struct file_system_type;
3363#line 1364
3364struct file_system_type;
3365#line 1364
3366struct super_operations;
3367#line 1364
3368struct super_operations;
3369#line 1364
3370struct super_operations;
3371#line 1364
3372struct xattr_handler;
3373#line 1364
3374struct xattr_handler;
3375#line 1364
3376struct xattr_handler;
3377#line 1364
3378struct mtd_info;
3379#line 1364
3380struct mtd_info;
3381#line 1364
3382struct mtd_info;
3383#line 1364 "include/linux/fs.h"
3384struct super_block {
3385 struct list_head s_list ;
3386 dev_t s_dev ;
3387 unsigned char s_dirt ;
3388 unsigned char s_blocksize_bits ;
3389 unsigned long s_blocksize ;
3390 loff_t s_maxbytes ;
3391 struct file_system_type *s_type ;
3392 struct super_operations const *s_op ;
3393 struct dquot_operations const *dq_op ;
3394 struct quotactl_ops const *s_qcop ;
3395 struct export_operations const *s_export_op ;
3396 unsigned long s_flags ;
3397 unsigned long s_magic ;
3398 struct dentry *s_root ;
3399 struct rw_semaphore s_umount ;
3400 struct mutex s_lock ;
3401 int s_count ;
3402 atomic_t s_active ;
3403 void *s_security ;
3404 struct xattr_handler const **s_xattr ;
3405 struct list_head s_inodes ;
3406 struct hlist_bl_head s_anon ;
3407 struct list_head *s_files ;
3408 struct list_head s_dentry_lru ;
3409 int s_nr_dentry_unused ;
3410 struct block_device *s_bdev ;
3411 struct backing_dev_info *s_bdi ;
3412 struct mtd_info *s_mtd ;
3413 struct list_head s_instances ;
3414 struct quota_info s_dquot ;
3415 int s_frozen ;
3416 wait_queue_head_t s_wait_unfrozen ;
3417 char s_id[32] ;
3418 u8 s_uuid[16] ;
3419 void *s_fs_info ;
3420 fmode_t s_mode ;
3421 u32 s_time_gran ;
3422 struct mutex s_vfs_rename_mutex ;
3423 char *s_subtype ;
3424 char *s_options ;
3425 struct dentry_operations const *s_d_op ;
3426 int cleancache_poolid ;
3427};
3428#line 1499 "include/linux/fs.h"
3429struct fiemap_extent_info {
3430 unsigned int fi_flags ;
3431 unsigned int fi_extents_mapped ;
3432 unsigned int fi_extents_max ;
3433 struct fiemap_extent *fi_extents_start ;
3434};
3435#line 1546 "include/linux/fs.h"
3436struct file_operations {
3437 struct module *owner ;
3438 loff_t (*llseek)(struct file * , loff_t , int ) ;
3439 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3440 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3441 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3442 loff_t ) ;
3443 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3444 loff_t ) ;
3445 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3446 loff_t , u64 , unsigned int ) ) ;
3447 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3448 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3449 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3450 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3451 int (*open)(struct inode * , struct file * ) ;
3452 int (*flush)(struct file * , fl_owner_t id ) ;
3453 int (*release)(struct inode * , struct file * ) ;
3454 int (*fsync)(struct file * , int datasync ) ;
3455 int (*aio_fsync)(struct kiocb * , int datasync ) ;
3456 int (*fasync)(int , struct file * , int ) ;
3457 int (*lock)(struct file * , int , struct file_lock * ) ;
3458 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3459 int ) ;
3460 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3461 unsigned long , unsigned long ) ;
3462 int (*check_flags)(int ) ;
3463 int (*flock)(struct file * , int , struct file_lock * ) ;
3464 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3465 unsigned int ) ;
3466 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3467 unsigned int ) ;
3468 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3469 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
3470};
3471#line 1578 "include/linux/fs.h"
3472struct inode_operations {
3473 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3474 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3475 int (*permission)(struct inode * , int , unsigned int ) ;
3476 int (*check_acl)(struct inode * , int , unsigned int ) ;
3477 int (*readlink)(struct dentry * , char * , int ) ;
3478 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3479 int (*create)(struct inode * , struct dentry * , int , struct nameidata * ) ;
3480 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3481 int (*unlink)(struct inode * , struct dentry * ) ;
3482 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3483 int (*mkdir)(struct inode * , struct dentry * , int ) ;
3484 int (*rmdir)(struct inode * , struct dentry * ) ;
3485 int (*mknod)(struct inode * , struct dentry * , int , dev_t ) ;
3486 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3487 void (*truncate)(struct inode * ) ;
3488 int (*setattr)(struct dentry * , struct iattr * ) ;
3489 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
3490 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3491 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3492 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3493 int (*removexattr)(struct dentry * , char const * ) ;
3494 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3495 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
3496} __attribute__((__aligned__((1) << (6) ))) ;
3497#line 1608
3498struct seq_file;
3499#line 1622 "include/linux/fs.h"
3500struct super_operations {
3501 struct inode *(*alloc_inode)(struct super_block *sb ) ;
3502 void (*destroy_inode)(struct inode * ) ;
3503 void (*dirty_inode)(struct inode * , int flags ) ;
3504 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
3505 int (*drop_inode)(struct inode * ) ;
3506 void (*evict_inode)(struct inode * ) ;
3507 void (*put_super)(struct super_block * ) ;
3508 void (*write_super)(struct super_block * ) ;
3509 int (*sync_fs)(struct super_block *sb , int wait ) ;
3510 int (*freeze_fs)(struct super_block * ) ;
3511 int (*unfreeze_fs)(struct super_block * ) ;
3512 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3513 int (*remount_fs)(struct super_block * , int * , char * ) ;
3514 void (*umount_begin)(struct super_block * ) ;
3515 int (*show_options)(struct seq_file * , struct vfsmount * ) ;
3516 int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
3517 int (*show_path)(struct seq_file * , struct vfsmount * ) ;
3518 int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
3519 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3520 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3521 loff_t ) ;
3522 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3523};
3524#line 1802 "include/linux/fs.h"
3525struct file_system_type {
3526 char const *name ;
3527 int fs_flags ;
3528 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3529 void (*kill_sb)(struct super_block * ) ;
3530 struct module *owner ;
3531 struct file_system_type *next ;
3532 struct list_head fs_supers ;
3533 struct lock_class_key s_lock_key ;
3534 struct lock_class_key s_umount_key ;
3535 struct lock_class_key s_vfs_rename_key ;
3536 struct lock_class_key i_lock_key ;
3537 struct lock_class_key i_mutex_key ;
3538 struct lock_class_key i_mutex_dir_key ;
3539 struct lock_class_key i_alloc_sem_key ;
3540};
3541#line 2574
3542struct ctl_table;
3543#line 58 "include/linux/aio_abi.h"
3544struct io_event {
3545 __u64 data ;
3546 __u64 obj ;
3547 __s64 res ;
3548 __s64 res2 ;
3549};
3550#line 7 "include/asm-generic/cputime.h"
3551typedef unsigned long cputime_t;
3552#line 97 "include/linux/proportions.h"
3553struct prop_local_single {
3554 unsigned long events ;
3555 unsigned long period ;
3556 int shift ;
3557 spinlock_t lock ;
3558};
3559#line 10 "include/linux/seccomp.h"
3560struct __anonstruct_seccomp_t_268 {
3561 int mode ;
3562};
3563#line 10 "include/linux/seccomp.h"
3564typedef struct __anonstruct_seccomp_t_268 seccomp_t;
3565#line 40 "include/linux/rtmutex.h"
3566struct rt_mutex_waiter;
3567#line 40
3568struct rt_mutex_waiter;
3569#line 40
3570struct rt_mutex_waiter;
3571#line 40
3572struct rt_mutex_waiter;
3573#line 42 "include/linux/resource.h"
3574struct rlimit {
3575 unsigned long rlim_cur ;
3576 unsigned long rlim_max ;
3577};
3578#line 81
3579struct task_struct;
3580#line 11 "include/linux/task_io_accounting.h"
3581struct task_io_accounting {
3582 u64 rchar ;
3583 u64 wchar ;
3584 u64 syscr ;
3585 u64 syscw ;
3586 u64 read_bytes ;
3587 u64 write_bytes ;
3588 u64 cancelled_write_bytes ;
3589};
3590#line 18 "include/linux/latencytop.h"
3591struct latency_record {
3592 unsigned long backtrace[12] ;
3593 unsigned int count ;
3594 unsigned long time ;
3595 unsigned long max ;
3596};
3597#line 26
3598struct task_struct;
3599#line 29 "include/linux/key.h"
3600typedef int32_t key_serial_t;
3601#line 32 "include/linux/key.h"
3602typedef uint32_t key_perm_t;
3603#line 34
3604struct key;
3605#line 34
3606struct key;
3607#line 34
3608struct key;
3609#line 34
3610struct key;
3611#line 74
3612struct seq_file;
3613#line 75
3614struct user_struct;
3615#line 76
3616struct signal_struct;
3617#line 76
3618struct signal_struct;
3619#line 76
3620struct signal_struct;
3621#line 76
3622struct signal_struct;
3623#line 77
3624struct cred;
3625#line 79
3626struct key_type;
3627#line 79
3628struct key_type;
3629#line 79
3630struct key_type;
3631#line 79
3632struct key_type;
3633#line 81
3634struct keyring_list;
3635#line 81
3636struct keyring_list;
3637#line 81
3638struct keyring_list;
3639#line 81
3640struct keyring_list;
3641#line 124
3642struct key_user;
3643#line 124
3644struct key_user;
3645#line 124
3646struct key_user;
3647#line 124 "include/linux/key.h"
3648union __anonunion____missing_field_name_269 {
3649 time_t expiry ;
3650 time_t revoked_at ;
3651};
3652#line 124 "include/linux/key.h"
3653union __anonunion_type_data_270 {
3654 struct list_head link ;
3655 unsigned long x[2] ;
3656 void *p[2] ;
3657 int reject_error ;
3658};
3659#line 124 "include/linux/key.h"
3660union __anonunion_payload_271 {
3661 unsigned long value ;
3662 void *rcudata ;
3663 void *data ;
3664 struct keyring_list *subscriptions ;
3665};
3666#line 124 "include/linux/key.h"
3667struct key {
3668 atomic_t usage ;
3669 key_serial_t serial ;
3670 struct rb_node serial_node ;
3671 struct key_type *type ;
3672 struct rw_semaphore sem ;
3673 struct key_user *user ;
3674 void *security ;
3675 union __anonunion____missing_field_name_269 __annonCompField42 ;
3676 uid_t uid ;
3677 gid_t gid ;
3678 key_perm_t perm ;
3679 unsigned short quotalen ;
3680 unsigned short datalen ;
3681 unsigned long flags ;
3682 char *description ;
3683 union __anonunion_type_data_270 type_data ;
3684 union __anonunion_payload_271 payload ;
3685};
3686#line 18 "include/linux/selinux.h"
3687struct audit_context;
3688#line 18
3689struct audit_context;
3690#line 18
3691struct audit_context;
3692#line 18
3693struct audit_context;
3694#line 21 "include/linux/cred.h"
3695struct user_struct;
3696#line 22
3697struct cred;
3698#line 23
3699struct inode;
3700#line 31 "include/linux/cred.h"
3701struct group_info {
3702 atomic_t usage ;
3703 int ngroups ;
3704 int nblocks ;
3705 gid_t small_block[32] ;
3706 gid_t *blocks[0] ;
3707};
3708#line 83 "include/linux/cred.h"
3709struct thread_group_cred {
3710 atomic_t usage ;
3711 pid_t tgid ;
3712 spinlock_t lock ;
3713 struct key *session_keyring ;
3714 struct key *process_keyring ;
3715 struct rcu_head rcu ;
3716};
3717#line 116 "include/linux/cred.h"
3718struct cred {
3719 atomic_t usage ;
3720 atomic_t subscribers ;
3721 void *put_addr ;
3722 unsigned int magic ;
3723 uid_t uid ;
3724 gid_t gid ;
3725 uid_t suid ;
3726 gid_t sgid ;
3727 uid_t euid ;
3728 gid_t egid ;
3729 uid_t fsuid ;
3730 gid_t fsgid ;
3731 unsigned int securebits ;
3732 kernel_cap_t cap_inheritable ;
3733 kernel_cap_t cap_permitted ;
3734 kernel_cap_t cap_effective ;
3735 kernel_cap_t cap_bset ;
3736 unsigned char jit_keyring ;
3737 struct key *thread_keyring ;
3738 struct key *request_key_auth ;
3739 struct thread_group_cred *tgcred ;
3740 void *security ;
3741 struct user_struct *user ;
3742 struct user_namespace *user_ns ;
3743 struct group_info *group_info ;
3744 struct rcu_head rcu ;
3745};
3746#line 97 "include/linux/sched.h"
3747struct futex_pi_state;
3748#line 97
3749struct futex_pi_state;
3750#line 97
3751struct futex_pi_state;
3752#line 97
3753struct futex_pi_state;
3754#line 98
3755struct robust_list_head;
3756#line 98
3757struct robust_list_head;
3758#line 98
3759struct robust_list_head;
3760#line 98
3761struct robust_list_head;
3762#line 99
3763struct bio_list;
3764#line 99
3765struct bio_list;
3766#line 99
3767struct bio_list;
3768#line 99
3769struct bio_list;
3770#line 100
3771struct fs_struct;
3772#line 100
3773struct fs_struct;
3774#line 100
3775struct fs_struct;
3776#line 100
3777struct fs_struct;
3778#line 101
3779struct perf_event_context;
3780#line 101
3781struct perf_event_context;
3782#line 101
3783struct perf_event_context;
3784#line 101
3785struct perf_event_context;
3786#line 102
3787struct blk_plug;
3788#line 102
3789struct blk_plug;
3790#line 102
3791struct blk_plug;
3792#line 102
3793struct blk_plug;
3794#line 150
3795struct seq_file;
3796#line 151
3797struct cfs_rq;
3798#line 151
3799struct cfs_rq;
3800#line 151
3801struct cfs_rq;
3802#line 151
3803struct cfs_rq;
3804#line 259
3805struct task_struct;
3806#line 364
3807struct nsproxy;
3808#line 365
3809struct user_namespace;
3810#line 15 "include/linux/aio.h"
3811struct kioctx;
3812#line 15
3813struct kioctx;
3814#line 15
3815struct kioctx;
3816#line 15
3817struct kioctx;
3818#line 87 "include/linux/aio.h"
3819union __anonunion_ki_obj_272 {
3820 void *user ;
3821 struct task_struct *tsk ;
3822};
3823#line 87
3824struct eventfd_ctx;
3825#line 87
3826struct eventfd_ctx;
3827#line 87
3828struct eventfd_ctx;
3829#line 87 "include/linux/aio.h"
3830struct kiocb {
3831 struct list_head ki_run_list ;
3832 unsigned long ki_flags ;
3833 int ki_users ;
3834 unsigned int ki_key ;
3835 struct file *ki_filp ;
3836 struct kioctx *ki_ctx ;
3837 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
3838 ssize_t (*ki_retry)(struct kiocb * ) ;
3839 void (*ki_dtor)(struct kiocb * ) ;
3840 union __anonunion_ki_obj_272 ki_obj ;
3841 __u64 ki_user_data ;
3842 loff_t ki_pos ;
3843 void *private ;
3844 unsigned short ki_opcode ;
3845 size_t ki_nbytes ;
3846 char *ki_buf ;
3847 size_t ki_left ;
3848 struct iovec ki_inline_vec ;
3849 struct iovec *ki_iovec ;
3850 unsigned long ki_nr_segs ;
3851 unsigned long ki_cur_seg ;
3852 struct list_head ki_list ;
3853 struct eventfd_ctx *ki_eventfd ;
3854};
3855#line 165 "include/linux/aio.h"
3856struct aio_ring_info {
3857 unsigned long mmap_base ;
3858 unsigned long mmap_size ;
3859 struct page **ring_pages ;
3860 spinlock_t ring_lock ;
3861 long nr_pages ;
3862 unsigned int nr ;
3863 unsigned int tail ;
3864 struct page *internal_pages[8] ;
3865};
3866#line 178 "include/linux/aio.h"
3867struct kioctx {
3868 atomic_t users ;
3869 int dead ;
3870 struct mm_struct *mm ;
3871 unsigned long user_id ;
3872 struct hlist_node list ;
3873 wait_queue_head_t wait ;
3874 spinlock_t ctx_lock ;
3875 int reqs_active ;
3876 struct list_head active_reqs ;
3877 struct list_head run_list ;
3878 unsigned int max_reqs ;
3879 struct aio_ring_info ring_info ;
3880 struct delayed_work wq ;
3881 struct rcu_head rcu_head ;
3882};
3883#line 213
3884struct mm_struct;
3885#line 441 "include/linux/sched.h"
3886struct sighand_struct {
3887 atomic_t count ;
3888 struct k_sigaction action[64] ;
3889 spinlock_t siglock ;
3890 wait_queue_head_t signalfd_wqh ;
3891};
3892#line 448 "include/linux/sched.h"
3893struct pacct_struct {
3894 int ac_flag ;
3895 long ac_exitcode ;
3896 unsigned long ac_mem ;
3897 cputime_t ac_utime ;
3898 cputime_t ac_stime ;
3899 unsigned long ac_minflt ;
3900 unsigned long ac_majflt ;
3901};
3902#line 456 "include/linux/sched.h"
3903struct cpu_itimer {
3904 cputime_t expires ;
3905 cputime_t incr ;
3906 u32 error ;
3907 u32 incr_error ;
3908};
3909#line 474 "include/linux/sched.h"
3910struct task_cputime {
3911 cputime_t utime ;
3912 cputime_t stime ;
3913 unsigned long long sum_exec_runtime ;
3914};
3915#line 510 "include/linux/sched.h"
3916struct thread_group_cputimer {
3917 struct task_cputime cputime ;
3918 int running ;
3919 spinlock_t lock ;
3920};
3921#line 517
3922struct autogroup;
3923#line 517
3924struct autogroup;
3925#line 517
3926struct autogroup;
3927#line 517
3928struct autogroup;
3929#line 526
3930struct tty_struct;
3931#line 526
3932struct tty_struct;
3933#line 526
3934struct tty_struct;
3935#line 526
3936struct taskstats;
3937#line 526
3938struct taskstats;
3939#line 526
3940struct taskstats;
3941#line 526
3942struct tty_audit_buf;
3943#line 526
3944struct tty_audit_buf;
3945#line 526
3946struct tty_audit_buf;
3947#line 526 "include/linux/sched.h"
3948struct signal_struct {
3949 atomic_t sigcnt ;
3950 atomic_t live ;
3951 int nr_threads ;
3952 wait_queue_head_t wait_chldexit ;
3953 struct task_struct *curr_target ;
3954 struct sigpending shared_pending ;
3955 int group_exit_code ;
3956 int notify_count ;
3957 struct task_struct *group_exit_task ;
3958 int group_stop_count ;
3959 unsigned int flags ;
3960 struct list_head posix_timers ;
3961 struct hrtimer real_timer ;
3962 struct pid *leader_pid ;
3963 ktime_t it_real_incr ;
3964 struct cpu_itimer it[2] ;
3965 struct thread_group_cputimer cputimer ;
3966 struct task_cputime cputime_expires ;
3967 struct list_head cpu_timers[3] ;
3968 struct pid *tty_old_pgrp ;
3969 int leader ;
3970 struct tty_struct *tty ;
3971 struct autogroup *autogroup ;
3972 cputime_t utime ;
3973 cputime_t stime ;
3974 cputime_t cutime ;
3975 cputime_t cstime ;
3976 cputime_t gtime ;
3977 cputime_t cgtime ;
3978 cputime_t prev_utime ;
3979 cputime_t prev_stime ;
3980 unsigned long nvcsw ;
3981 unsigned long nivcsw ;
3982 unsigned long cnvcsw ;
3983 unsigned long cnivcsw ;
3984 unsigned long min_flt ;
3985 unsigned long maj_flt ;
3986 unsigned long cmin_flt ;
3987 unsigned long cmaj_flt ;
3988 unsigned long inblock ;
3989 unsigned long oublock ;
3990 unsigned long cinblock ;
3991 unsigned long coublock ;
3992 unsigned long maxrss ;
3993 unsigned long cmaxrss ;
3994 struct task_io_accounting ioac ;
3995 unsigned long long sum_sched_runtime ;
3996 struct rlimit rlim[16] ;
3997 struct pacct_struct pacct ;
3998 struct taskstats *stats ;
3999 unsigned int audit_tty ;
4000 struct tty_audit_buf *tty_audit_buf ;
4001 struct rw_semaphore threadgroup_fork_lock ;
4002 int oom_adj ;
4003 int oom_score_adj ;
4004 int oom_score_adj_min ;
4005 struct mutex cred_guard_mutex ;
4006};
4007#line 687 "include/linux/sched.h"
4008struct user_struct {
4009 atomic_t __count ;
4010 atomic_t processes ;
4011 atomic_t files ;
4012 atomic_t sigpending ;
4013 atomic_t inotify_watches ;
4014 atomic_t inotify_devs ;
4015 atomic_t fanotify_listeners ;
4016 atomic_long_t epoll_watches ;
4017 unsigned long mq_bytes ;
4018 unsigned long locked_shm ;
4019 struct key *uid_keyring ;
4020 struct key *session_keyring ;
4021 struct hlist_node uidhash_node ;
4022 uid_t uid ;
4023 struct user_namespace *user_ns ;
4024 atomic_long_t locked_vm ;
4025};
4026#line 731
4027struct backing_dev_info;
4028#line 732
4029struct reclaim_state;
4030#line 732
4031struct reclaim_state;
4032#line 732
4033struct reclaim_state;
4034#line 732
4035struct reclaim_state;
4036#line 735 "include/linux/sched.h"
4037struct sched_info {
4038 unsigned long pcount ;
4039 unsigned long long run_delay ;
4040 unsigned long long last_arrival ;
4041 unsigned long long last_queued ;
4042};
4043#line 747 "include/linux/sched.h"
4044struct task_delay_info {
4045 spinlock_t lock ;
4046 unsigned int flags ;
4047 struct timespec blkio_start ;
4048 struct timespec blkio_end ;
4049 u64 blkio_delay ;
4050 u64 swapin_delay ;
4051 u32 blkio_count ;
4052 u32 swapin_count ;
4053 struct timespec freepages_start ;
4054 struct timespec freepages_end ;
4055 u64 freepages_delay ;
4056 u32 freepages_count ;
4057};
4058#line 1050
4059struct io_context;
4060#line 1050
4061struct io_context;
4062#line 1050
4063struct io_context;
4064#line 1050
4065struct io_context;
4066#line 1059
4067struct audit_context;
4068#line 1060
4069struct mempolicy;
4070#line 1061
4071struct pipe_inode_info;
4072#line 1064
4073struct rq;
4074#line 1064
4075struct rq;
4076#line 1064
4077struct rq;
4078#line 1064
4079struct rq;
4080#line 1084 "include/linux/sched.h"
4081struct sched_class {
4082 struct sched_class const *next ;
4083 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
4084 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
4085 void (*yield_task)(struct rq *rq ) ;
4086 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
4087 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
4088 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
4089 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
4090 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
4091 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
4092 void (*post_schedule)(struct rq *this_rq ) ;
4093 void (*task_waking)(struct task_struct *task ) ;
4094 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
4095 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
4096 void (*rq_online)(struct rq *rq ) ;
4097 void (*rq_offline)(struct rq *rq ) ;
4098 void (*set_curr_task)(struct rq *rq ) ;
4099 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
4100 void (*task_fork)(struct task_struct *p ) ;
4101 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
4102 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
4103 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
4104 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
4105 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
4106};
4107#line 1129 "include/linux/sched.h"
4108struct load_weight {
4109 unsigned long weight ;
4110 unsigned long inv_weight ;
4111};
4112#line 1134 "include/linux/sched.h"
4113struct sched_statistics {
4114 u64 wait_start ;
4115 u64 wait_max ;
4116 u64 wait_count ;
4117 u64 wait_sum ;
4118 u64 iowait_count ;
4119 u64 iowait_sum ;
4120 u64 sleep_start ;
4121 u64 sleep_max ;
4122 s64 sum_sleep_runtime ;
4123 u64 block_start ;
4124 u64 block_max ;
4125 u64 exec_max ;
4126 u64 slice_max ;
4127 u64 nr_migrations_cold ;
4128 u64 nr_failed_migrations_affine ;
4129 u64 nr_failed_migrations_running ;
4130 u64 nr_failed_migrations_hot ;
4131 u64 nr_forced_migrations ;
4132 u64 nr_wakeups ;
4133 u64 nr_wakeups_sync ;
4134 u64 nr_wakeups_migrate ;
4135 u64 nr_wakeups_local ;
4136 u64 nr_wakeups_remote ;
4137 u64 nr_wakeups_affine ;
4138 u64 nr_wakeups_affine_attempts ;
4139 u64 nr_wakeups_passive ;
4140 u64 nr_wakeups_idle ;
4141};
4142#line 1169 "include/linux/sched.h"
4143struct sched_entity {
4144 struct load_weight load ;
4145 struct rb_node run_node ;
4146 struct list_head group_node ;
4147 unsigned int on_rq ;
4148 u64 exec_start ;
4149 u64 sum_exec_runtime ;
4150 u64 vruntime ;
4151 u64 prev_sum_exec_runtime ;
4152 u64 nr_migrations ;
4153 struct sched_statistics statistics ;
4154 struct sched_entity *parent ;
4155 struct cfs_rq *cfs_rq ;
4156 struct cfs_rq *my_q ;
4157};
4158#line 1195
4159struct rt_rq;
4160#line 1195
4161struct rt_rq;
4162#line 1195
4163struct rt_rq;
4164#line 1195 "include/linux/sched.h"
4165struct sched_rt_entity {
4166 struct list_head run_list ;
4167 unsigned long timeout ;
4168 unsigned int time_slice ;
4169 int nr_cpus_allowed ;
4170 struct sched_rt_entity *back ;
4171 struct sched_rt_entity *parent ;
4172 struct rt_rq *rt_rq ;
4173 struct rt_rq *my_q ;
4174};
4175#line 1220
4176struct irqaction;
4177#line 1220
4178struct irqaction;
4179#line 1220
4180struct irqaction;
4181#line 1220
4182struct css_set;
4183#line 1220
4184struct css_set;
4185#line 1220
4186struct css_set;
4187#line 1220
4188struct compat_robust_list_head;
4189#line 1220
4190struct compat_robust_list_head;
4191#line 1220
4192struct compat_robust_list_head;
4193#line 1220
4194struct ftrace_ret_stack;
4195#line 1220
4196struct ftrace_ret_stack;
4197#line 1220
4198struct ftrace_ret_stack;
4199#line 1220
4200struct mem_cgroup;
4201#line 1220
4202struct mem_cgroup;
4203#line 1220
4204struct mem_cgroup;
4205#line 1220 "include/linux/sched.h"
4206struct memcg_batch_info {
4207 int do_batch ;
4208 struct mem_cgroup *memcg ;
4209 unsigned long nr_pages ;
4210 unsigned long memsw_nr_pages ;
4211};
4212#line 1220 "include/linux/sched.h"
4213struct task_struct {
4214 long volatile state ;
4215 void *stack ;
4216 atomic_t usage ;
4217 unsigned int flags ;
4218 unsigned int ptrace ;
4219 struct task_struct *wake_entry ;
4220 int on_cpu ;
4221 int on_rq ;
4222 int prio ;
4223 int static_prio ;
4224 int normal_prio ;
4225 unsigned int rt_priority ;
4226 struct sched_class const *sched_class ;
4227 struct sched_entity se ;
4228 struct sched_rt_entity rt ;
4229 struct hlist_head preempt_notifiers ;
4230 unsigned char fpu_counter ;
4231 unsigned int btrace_seq ;
4232 unsigned int policy ;
4233 cpumask_t cpus_allowed ;
4234 struct sched_info sched_info ;
4235 struct list_head tasks ;
4236 struct plist_node pushable_tasks ;
4237 struct mm_struct *mm ;
4238 struct mm_struct *active_mm ;
4239 unsigned int brk_randomized : 1 ;
4240 int exit_state ;
4241 int exit_code ;
4242 int exit_signal ;
4243 int pdeath_signal ;
4244 unsigned int group_stop ;
4245 unsigned int personality ;
4246 unsigned int did_exec : 1 ;
4247 unsigned int in_execve : 1 ;
4248 unsigned int in_iowait : 1 ;
4249 unsigned int sched_reset_on_fork : 1 ;
4250 unsigned int sched_contributes_to_load : 1 ;
4251 pid_t pid ;
4252 pid_t tgid ;
4253 unsigned long stack_canary ;
4254 struct task_struct *real_parent ;
4255 struct task_struct *parent ;
4256 struct list_head children ;
4257 struct list_head sibling ;
4258 struct task_struct *group_leader ;
4259 struct list_head ptraced ;
4260 struct list_head ptrace_entry ;
4261 struct pid_link pids[3] ;
4262 struct list_head thread_group ;
4263 struct completion *vfork_done ;
4264 int *set_child_tid ;
4265 int *clear_child_tid ;
4266 cputime_t utime ;
4267 cputime_t stime ;
4268 cputime_t utimescaled ;
4269 cputime_t stimescaled ;
4270 cputime_t gtime ;
4271 cputime_t prev_utime ;
4272 cputime_t prev_stime ;
4273 unsigned long nvcsw ;
4274 unsigned long nivcsw ;
4275 struct timespec start_time ;
4276 struct timespec real_start_time ;
4277 unsigned long min_flt ;
4278 unsigned long maj_flt ;
4279 struct task_cputime cputime_expires ;
4280 struct list_head cpu_timers[3] ;
4281 struct cred const *real_cred ;
4282 struct cred const *cred ;
4283 struct cred *replacement_session_keyring ;
4284 char comm[16] ;
4285 int link_count ;
4286 int total_link_count ;
4287 struct sysv_sem sysvsem ;
4288 unsigned long last_switch_count ;
4289 struct thread_struct thread ;
4290 struct fs_struct *fs ;
4291 struct files_struct *files ;
4292 struct nsproxy *nsproxy ;
4293 struct signal_struct *signal ;
4294 struct sighand_struct *sighand ;
4295 sigset_t blocked ;
4296 sigset_t real_blocked ;
4297 sigset_t saved_sigmask ;
4298 struct sigpending pending ;
4299 unsigned long sas_ss_sp ;
4300 size_t sas_ss_size ;
4301 int (*notifier)(void *priv ) ;
4302 void *notifier_data ;
4303 sigset_t *notifier_mask ;
4304 struct audit_context *audit_context ;
4305 uid_t loginuid ;
4306 unsigned int sessionid ;
4307 seccomp_t seccomp ;
4308 u32 parent_exec_id ;
4309 u32 self_exec_id ;
4310 spinlock_t alloc_lock ;
4311 struct irqaction *irqaction ;
4312 raw_spinlock_t pi_lock ;
4313 struct plist_head pi_waiters ;
4314 struct rt_mutex_waiter *pi_blocked_on ;
4315 struct mutex_waiter *blocked_on ;
4316 unsigned int irq_events ;
4317 unsigned long hardirq_enable_ip ;
4318 unsigned long hardirq_disable_ip ;
4319 unsigned int hardirq_enable_event ;
4320 unsigned int hardirq_disable_event ;
4321 int hardirqs_enabled ;
4322 int hardirq_context ;
4323 unsigned long softirq_disable_ip ;
4324 unsigned long softirq_enable_ip ;
4325 unsigned int softirq_disable_event ;
4326 unsigned int softirq_enable_event ;
4327 int softirqs_enabled ;
4328 int softirq_context ;
4329 u64 curr_chain_key ;
4330 int lockdep_depth ;
4331 unsigned int lockdep_recursion ;
4332 struct held_lock held_locks[48UL] ;
4333 gfp_t lockdep_reclaim_gfp ;
4334 void *journal_info ;
4335 struct bio_list *bio_list ;
4336 struct blk_plug *plug ;
4337 struct reclaim_state *reclaim_state ;
4338 struct backing_dev_info *backing_dev_info ;
4339 struct io_context *io_context ;
4340 unsigned long ptrace_message ;
4341 siginfo_t *last_siginfo ;
4342 struct task_io_accounting ioac ;
4343 u64 acct_rss_mem1 ;
4344 u64 acct_vm_mem1 ;
4345 cputime_t acct_timexpd ;
4346 nodemask_t mems_allowed ;
4347 int mems_allowed_change_disable ;
4348 int cpuset_mem_spread_rotor ;
4349 int cpuset_slab_spread_rotor ;
4350 struct css_set *cgroups ;
4351 struct list_head cg_list ;
4352 struct robust_list_head *robust_list ;
4353 struct compat_robust_list_head *compat_robust_list ;
4354 struct list_head pi_state_list ;
4355 struct futex_pi_state *pi_state_cache ;
4356 struct perf_event_context *perf_event_ctxp[2] ;
4357 struct mutex perf_event_mutex ;
4358 struct list_head perf_event_list ;
4359 struct mempolicy *mempolicy ;
4360 short il_next ;
4361 short pref_node_fork ;
4362 atomic_t fs_excl ;
4363 struct rcu_head rcu ;
4364 struct pipe_inode_info *splice_pipe ;
4365 struct task_delay_info *delays ;
4366 int make_it_fail ;
4367 struct prop_local_single dirties ;
4368 int latency_record_count ;
4369 struct latency_record latency_record[32] ;
4370 unsigned long timer_slack_ns ;
4371 unsigned long default_timer_slack_ns ;
4372 struct list_head *scm_work_list ;
4373 int curr_ret_stack ;
4374 struct ftrace_ret_stack *ret_stack ;
4375 unsigned long long ftrace_timestamp ;
4376 atomic_t trace_overrun ;
4377 atomic_t tracing_graph_pause ;
4378 unsigned long trace ;
4379 unsigned long trace_recursion ;
4380 struct memcg_batch_info memcg_batch ;
4381 atomic_t ptrace_bp_refcnt ;
4382};
4383#line 1634
4384struct pid_namespace;
4385#line 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
4386typedef s32 compat_long_t;
4387#line 196 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
4388typedef u32 compat_uptr_t;
4389#line 206 "include/linux/compat.h"
4390struct compat_robust_list {
4391 compat_uptr_t next ;
4392};
4393#line 210 "include/linux/compat.h"
4394struct compat_robust_list_head {
4395 struct compat_robust_list list ;
4396 compat_long_t futex_offset ;
4397 compat_uptr_t list_op_pending ;
4398};
4399#line 23 "include/linux/ethtool.h"
4400struct ethtool_cmd {
4401 __u32 cmd ;
4402 __u32 supported ;
4403 __u32 advertising ;
4404 __u16 speed ;
4405 __u8 duplex ;
4406 __u8 port ;
4407 __u8 phy_address ;
4408 __u8 transceiver ;
4409 __u8 autoneg ;
4410 __u8 mdio_support ;
4411 __u32 maxtxpkt ;
4412 __u32 maxrxpkt ;
4413 __u16 speed_hi ;
4414 __u8 eth_tp_mdix ;
4415 __u8 reserved2 ;
4416 __u32 lp_advertising ;
4417 __u32 reserved[2] ;
4418};
4419#line 65 "include/linux/ethtool.h"
4420struct ethtool_drvinfo {
4421 __u32 cmd ;
4422 char driver[32] ;
4423 char version[32] ;
4424 char fw_version[32] ;
4425 char bus_info[32] ;
4426 char reserved1[32] ;
4427 char reserved2[12] ;
4428 __u32 n_priv_flags ;
4429 __u32 n_stats ;
4430 __u32 testinfo_len ;
4431 __u32 eedump_len ;
4432 __u32 regdump_len ;
4433};
4434#line 90 "include/linux/ethtool.h"
4435struct ethtool_wolinfo {
4436 __u32 cmd ;
4437 __u32 supported ;
4438 __u32 wolopts ;
4439 __u8 sopass[6] ;
4440};
4441#line 104 "include/linux/ethtool.h"
4442struct ethtool_regs {
4443 __u32 cmd ;
4444 __u32 version ;
4445 __u32 len ;
4446 __u8 data[0] ;
4447};
4448#line 112 "include/linux/ethtool.h"
4449struct ethtool_eeprom {
4450 __u32 cmd ;
4451 __u32 magic ;
4452 __u32 offset ;
4453 __u32 len ;
4454 __u8 data[0] ;
4455};
4456#line 121 "include/linux/ethtool.h"
4457struct ethtool_coalesce {
4458 __u32 cmd ;
4459 __u32 rx_coalesce_usecs ;
4460 __u32 rx_max_coalesced_frames ;
4461 __u32 rx_coalesce_usecs_irq ;
4462 __u32 rx_max_coalesced_frames_irq ;
4463 __u32 tx_coalesce_usecs ;
4464 __u32 tx_max_coalesced_frames ;
4465 __u32 tx_coalesce_usecs_irq ;
4466 __u32 tx_max_coalesced_frames_irq ;
4467 __u32 stats_block_coalesce_usecs ;
4468 __u32 use_adaptive_rx_coalesce ;
4469 __u32 use_adaptive_tx_coalesce ;
4470 __u32 pkt_rate_low ;
4471 __u32 rx_coalesce_usecs_low ;
4472 __u32 rx_max_coalesced_frames_low ;
4473 __u32 tx_coalesce_usecs_low ;
4474 __u32 tx_max_coalesced_frames_low ;
4475 __u32 pkt_rate_high ;
4476 __u32 rx_coalesce_usecs_high ;
4477 __u32 rx_max_coalesced_frames_high ;
4478 __u32 tx_coalesce_usecs_high ;
4479 __u32 tx_max_coalesced_frames_high ;
4480 __u32 rate_sample_interval ;
4481};
4482#line 217 "include/linux/ethtool.h"
4483struct ethtool_ringparam {
4484 __u32 cmd ;
4485 __u32 rx_max_pending ;
4486 __u32 rx_mini_max_pending ;
4487 __u32 rx_jumbo_max_pending ;
4488 __u32 tx_max_pending ;
4489 __u32 rx_pending ;
4490 __u32 rx_mini_pending ;
4491 __u32 rx_jumbo_pending ;
4492 __u32 tx_pending ;
4493};
4494#line 254 "include/linux/ethtool.h"
4495struct ethtool_channels {
4496 __u32 cmd ;
4497 __u32 max_rx ;
4498 __u32 max_tx ;
4499 __u32 max_other ;
4500 __u32 max_combined ;
4501 __u32 rx_count ;
4502 __u32 tx_count ;
4503 __u32 other_count ;
4504 __u32 combined_count ;
4505};
4506#line 267 "include/linux/ethtool.h"
4507struct ethtool_pauseparam {
4508 __u32 cmd ;
4509 __u32 autoneg ;
4510 __u32 rx_pause ;
4511 __u32 tx_pause ;
4512};
4513#line 319 "include/linux/ethtool.h"
4514struct ethtool_test {
4515 __u32 cmd ;
4516 __u32 flags ;
4517 __u32 reserved ;
4518 __u32 len ;
4519 __u64 data[0] ;
4520};
4521#line 328 "include/linux/ethtool.h"
4522struct ethtool_stats {
4523 __u32 cmd ;
4524 __u32 n_stats ;
4525 __u64 data[0] ;
4526};
4527#line 373 "include/linux/ethtool.h"
4528struct ethtool_tcpip4_spec {
4529 __be32 ip4src ;
4530 __be32 ip4dst ;
4531 __be16 psrc ;
4532 __be16 pdst ;
4533 __u8 tos ;
4534};
4535#line 390 "include/linux/ethtool.h"
4536struct ethtool_ah_espip4_spec {
4537 __be32 ip4src ;
4538 __be32 ip4dst ;
4539 __be32 spi ;
4540 __u8 tos ;
4541};
4542#line 408 "include/linux/ethtool.h"
4543struct ethtool_usrip4_spec {
4544 __be32 ip4src ;
4545 __be32 ip4dst ;
4546 __be32 l4_4_bytes ;
4547 __u8 tos ;
4548 __u8 ip_ver ;
4549 __u8 proto ;
4550};
4551#line 417 "include/linux/ethtool.h"
4552union ethtool_flow_union {
4553 struct ethtool_tcpip4_spec tcp_ip4_spec ;
4554 struct ethtool_tcpip4_spec udp_ip4_spec ;
4555 struct ethtool_tcpip4_spec sctp_ip4_spec ;
4556 struct ethtool_ah_espip4_spec ah_ip4_spec ;
4557 struct ethtool_ah_espip4_spec esp_ip4_spec ;
4558 struct ethtool_usrip4_spec usr_ip4_spec ;
4559 struct ethhdr ether_spec ;
4560 __u8 hdata[60] ;
4561};
4562#line 428 "include/linux/ethtool.h"
4563struct ethtool_flow_ext {
4564 __be16 vlan_etype ;
4565 __be16 vlan_tci ;
4566 __be32 data[2] ;
4567};
4568#line 447 "include/linux/ethtool.h"
4569struct ethtool_rx_flow_spec {
4570 __u32 flow_type ;
4571 union ethtool_flow_union h_u ;
4572 struct ethtool_flow_ext h_ext ;
4573 union ethtool_flow_union m_u ;
4574 struct ethtool_flow_ext m_ext ;
4575 __u64 ring_cookie ;
4576 __u32 location ;
4577};
4578#line 496 "include/linux/ethtool.h"
4579struct ethtool_rxnfc {
4580 __u32 cmd ;
4581 __u32 flow_type ;
4582 __u64 data ;
4583 struct ethtool_rx_flow_spec fs ;
4584 __u32 rule_cnt ;
4585 __u32 rule_locs[0] ;
4586};
4587#line 537 "include/linux/ethtool.h"
4588struct ethtool_rxfh_indir {
4589 __u32 cmd ;
4590 __u32 size ;
4591 __u32 ring_index[0] ;
4592};
4593#line 559 "include/linux/ethtool.h"
4594union __anonunion_h_u_279 {
4595 struct ethtool_tcpip4_spec tcp_ip4_spec ;
4596 struct ethtool_tcpip4_spec udp_ip4_spec ;
4597 struct ethtool_tcpip4_spec sctp_ip4_spec ;
4598 struct ethtool_ah_espip4_spec ah_ip4_spec ;
4599 struct ethtool_ah_espip4_spec esp_ip4_spec ;
4600 struct ethtool_usrip4_spec usr_ip4_spec ;
4601 struct ethhdr ether_spec ;
4602 __u8 hdata[72] ;
4603};
4604#line 559 "include/linux/ethtool.h"
4605struct ethtool_rx_ntuple_flow_spec {
4606 __u32 flow_type ;
4607 union __anonunion_h_u_279 h_u ;
4608 union __anonunion_h_u_279 m_u ;
4609 __u16 vlan_tag ;
4610 __u16 vlan_tag_mask ;
4611 __u64 data ;
4612 __u64 data_mask ;
4613 __s32 action ;
4614};
4615#line 587 "include/linux/ethtool.h"
4616struct ethtool_rx_ntuple {
4617 __u32 cmd ;
4618 struct ethtool_rx_ntuple_flow_spec fs ;
4619};
4620#line 598 "include/linux/ethtool.h"
4621struct ethtool_flash {
4622 __u32 cmd ;
4623 __u32 region ;
4624 char data[128] ;
4625};
4626#line 616 "include/linux/ethtool.h"
4627struct ethtool_dump {
4628 __u32 cmd ;
4629 __u32 version ;
4630 __u32 flag ;
4631 __u32 len ;
4632 __u8 data[0] ;
4633};
4634#line 722 "include/linux/ethtool.h"
4635struct ethtool_rx_ntuple_list {
4636 struct list_head list ;
4637 unsigned int count ;
4638};
4639#line 738
4640enum ethtool_phys_id_state {
4641 ETHTOOL_ID_INACTIVE = 0,
4642 ETHTOOL_ID_ACTIVE = 1,
4643 ETHTOOL_ID_ON = 2,
4644 ETHTOOL_ID_OFF = 3
4645} ;
4646#line 745
4647struct net_device;
4648#line 891 "include/linux/ethtool.h"
4649struct ethtool_ops {
4650 int (*get_settings)(struct net_device * , struct ethtool_cmd * ) ;
4651 int (*set_settings)(struct net_device * , struct ethtool_cmd * ) ;
4652 void (*get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) ;
4653 int (*get_regs_len)(struct net_device * ) ;
4654 void (*get_regs)(struct net_device * , struct ethtool_regs * , void * ) ;
4655 void (*get_wol)(struct net_device * , struct ethtool_wolinfo * ) ;
4656 int (*set_wol)(struct net_device * , struct ethtool_wolinfo * ) ;
4657 u32 (*get_msglevel)(struct net_device * ) ;
4658 void (*set_msglevel)(struct net_device * , u32 ) ;
4659 int (*nway_reset)(struct net_device * ) ;
4660 u32 (*get_link)(struct net_device * ) ;
4661 int (*get_eeprom_len)(struct net_device * ) ;
4662 int (*get_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ;
4663 int (*set_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ;
4664 int (*get_coalesce)(struct net_device * , struct ethtool_coalesce * ) ;
4665 int (*set_coalesce)(struct net_device * , struct ethtool_coalesce * ) ;
4666 void (*get_ringparam)(struct net_device * , struct ethtool_ringparam * ) ;
4667 int (*set_ringparam)(struct net_device * , struct ethtool_ringparam * ) ;
4668 void (*get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ;
4669 int (*set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ;
4670 u32 (*get_rx_csum)(struct net_device * ) ;
4671 int (*set_rx_csum)(struct net_device * , u32 ) ;
4672 u32 (*get_tx_csum)(struct net_device * ) ;
4673 int (*set_tx_csum)(struct net_device * , u32 ) ;
4674 u32 (*get_sg)(struct net_device * ) ;
4675 int (*set_sg)(struct net_device * , u32 ) ;
4676 u32 (*get_tso)(struct net_device * ) ;
4677 int (*set_tso)(struct net_device * , u32 ) ;
4678 void (*self_test)(struct net_device * , struct ethtool_test * , u64 * ) ;
4679 void (*get_strings)(struct net_device * , u32 stringset , u8 * ) ;
4680 int (*set_phys_id)(struct net_device * , enum ethtool_phys_id_state ) ;
4681 void (*get_ethtool_stats)(struct net_device * , struct ethtool_stats * , u64 * ) ;
4682 int (*begin)(struct net_device * ) ;
4683 void (*complete)(struct net_device * ) ;
4684 u32 (*get_ufo)(struct net_device * ) ;
4685 int (*set_ufo)(struct net_device * , u32 ) ;
4686 u32 (*get_flags)(struct net_device * ) ;
4687 int (*set_flags)(struct net_device * , u32 ) ;
4688 u32 (*get_priv_flags)(struct net_device * ) ;
4689 int (*set_priv_flags)(struct net_device * , u32 ) ;
4690 int (*get_sset_count)(struct net_device * , int ) ;
4691 int (*get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , void * ) ;
4692 int (*set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) ;
4693 int (*flash_device)(struct net_device * , struct ethtool_flash * ) ;
4694 int (*reset)(struct net_device * , u32 * ) ;
4695 int (*set_rx_ntuple)(struct net_device * , struct ethtool_rx_ntuple * ) ;
4696 int (*get_rx_ntuple)(struct net_device * , u32 stringset , void * ) ;
4697 int (*get_rxfh_indir)(struct net_device * , struct ethtool_rxfh_indir * ) ;
4698 int (*set_rxfh_indir)(struct net_device * , struct ethtool_rxfh_indir const * ) ;
4699 void (*get_channels)(struct net_device * , struct ethtool_channels * ) ;
4700 int (*set_channels)(struct net_device * , struct ethtool_channels * ) ;
4701 int (*get_dump_flag)(struct net_device * , struct ethtool_dump * ) ;
4702 int (*get_dump_data)(struct net_device * , struct ethtool_dump * , void * ) ;
4703 int (*set_dump)(struct net_device * , struct ethtool_dump * ) ;
4704};
4705#line 4 "include/net/netns/core.h"
4706struct ctl_table_header;
4707#line 5
4708struct prot_inuse;
4709#line 5
4710struct prot_inuse;
4711#line 5
4712struct prot_inuse;
4713#line 5
4714struct prot_inuse;
4715#line 7 "include/net/netns/core.h"
4716struct netns_core {
4717 struct ctl_table_header *sysctl_hdr ;
4718 int sysctl_somaxconn ;
4719 struct prot_inuse *inuse ;
4720};
4721#line 64 "include/linux/u64_stats_sync.h"
4722struct u64_stats_sync {
4723
4724};
4725#line 56 "include/net/snmp.h"
4726struct ipstats_mib {
4727 u64 mibs[31] ;
4728 struct u64_stats_sync syncp ;
4729};
4730#line 64 "include/net/snmp.h"
4731struct icmp_mib {
4732 unsigned long mibs[27] ;
4733};
4734#line 69 "include/net/snmp.h"
4735struct icmpmsg_mib {
4736 unsigned long mibs[512] ;
4737};
4738#line 76 "include/net/snmp.h"
4739struct icmpv6_mib {
4740 unsigned long mibs[5] ;
4741};
4742#line 86 "include/net/snmp.h"
4743struct icmpv6msg_mib {
4744 unsigned long mibs[512] ;
4745};
4746#line 97 "include/net/snmp.h"
4747struct tcp_mib {
4748 unsigned long mibs[15] ;
4749};
4750#line 103 "include/net/snmp.h"
4751struct udp_mib {
4752 unsigned long mibs[7] ;
4753};
4754#line 109 "include/net/snmp.h"
4755struct linux_mib {
4756 unsigned long mibs[80] ;
4757};
4758#line 115 "include/net/snmp.h"
4759struct linux_xfrm_mib {
4760 unsigned long mibs[27] ;
4761};
4762#line 6 "include/net/netns/mib.h"
4763struct proc_dir_entry;
4764#line 6
4765struct proc_dir_entry;
4766#line 6
4767struct proc_dir_entry;
4768#line 6 "include/net/netns/mib.h"
4769struct netns_mib {
4770 struct tcp_mib *tcp_statistics[2] ;
4771 struct ipstats_mib *ip_statistics[2] ;
4772 struct linux_mib *net_statistics[2] ;
4773 struct udp_mib *udp_statistics[2] ;
4774 struct udp_mib *udplite_statistics[2] ;
4775 struct icmp_mib *icmp_statistics[2] ;
4776 struct icmpmsg_mib *icmpmsg_statistics[2] ;
4777 struct proc_dir_entry *proc_net_devsnmp6 ;
4778 struct udp_mib *udp_stats_in6[2] ;
4779 struct udp_mib *udplite_stats_in6[2] ;
4780 struct ipstats_mib *ipv6_statistics[2] ;
4781 struct icmpv6_mib *icmpv6_statistics[2] ;
4782 struct icmpv6msg_mib *icmpv6msg_statistics[2] ;
4783 struct linux_xfrm_mib *xfrm_statistics[2] ;
4784};
4785#line 7 "include/net/netns/unix.h"
4786struct ctl_table_header;
4787#line 8 "include/net/netns/unix.h"
4788struct netns_unix {
4789 int sysctl_max_dgram_qlen ;
4790 struct ctl_table_header *ctl ;
4791};
4792#line 10 "include/net/netns/packet.h"
4793struct netns_packet {
4794 spinlock_t sklist_lock ;
4795 struct hlist_head sklist ;
4796};
4797#line 4 "include/net/inet_frag.h"
4798struct netns_frags {
4799 int nqueues ;
4800 atomic_t mem ;
4801 struct list_head lru_list ;
4802 int timeout ;
4803 int high_thresh ;
4804 int low_thresh ;
4805};
4806#line 10 "include/net/netns/ipv4.h"
4807struct ctl_table_header;
4808#line 11
4809struct ipv4_devconf;
4810#line 11
4811struct ipv4_devconf;
4812#line 11
4813struct ipv4_devconf;
4814#line 11
4815struct ipv4_devconf;
4816#line 12
4817struct fib_rules_ops;
4818#line 12
4819struct fib_rules_ops;
4820#line 12
4821struct fib_rules_ops;
4822#line 12
4823struct fib_rules_ops;
4824#line 13
4825struct hlist_head;
4826#line 14
4827struct sock;
4828#line 16
4829struct xt_table;
4830#line 16
4831struct xt_table;
4832#line 16
4833struct xt_table;
4834#line 16 "include/net/netns/ipv4.h"
4835struct netns_ipv4 {
4836 struct ctl_table_header *forw_hdr ;
4837 struct ctl_table_header *frags_hdr ;
4838 struct ctl_table_header *ipv4_hdr ;
4839 struct ctl_table_header *route_hdr ;
4840 struct ipv4_devconf *devconf_all ;
4841 struct ipv4_devconf *devconf_dflt ;
4842 struct fib_rules_ops *rules_ops ;
4843 struct hlist_head *fib_table_hash ;
4844 struct sock *fibnl ;
4845 struct sock **icmp_sk ;
4846 struct sock *tcp_sock ;
4847 struct netns_frags frags ;
4848 struct xt_table *iptable_filter ;
4849 struct xt_table *iptable_mangle ;
4850 struct xt_table *iptable_raw ;
4851 struct xt_table *arptable_filter ;
4852 struct xt_table *iptable_security ;
4853 struct xt_table *nat_table ;
4854 struct hlist_head *nat_bysource ;
4855 unsigned int nat_htable_size ;
4856 int sysctl_icmp_echo_ignore_all ;
4857 int sysctl_icmp_echo_ignore_broadcasts ;
4858 int sysctl_icmp_ignore_bogus_error_responses ;
4859 int sysctl_icmp_ratelimit ;
4860 int sysctl_icmp_ratemask ;
4861 int sysctl_icmp_errors_use_inbound_ifaddr ;
4862 int sysctl_rt_cache_rebuild_count ;
4863 int current_rt_cache_rebuild_count ;
4864 unsigned int sysctl_ping_group_range[2] ;
4865 atomic_t rt_genid ;
4866 atomic_t dev_addr_genid ;
4867 struct list_head mr_tables ;
4868 struct fib_rules_ops *mr_rules_ops ;
4869};
4870#line 7 "include/net/dst_ops.h"
4871struct dst_entry;
4872#line 9
4873struct net_device;
4874#line 10
4875struct sk_buff;
4876#line 12 "include/net/dst_ops.h"
4877struct dst_ops {
4878 unsigned short family ;
4879 __be16 protocol ;
4880 unsigned int gc_thresh ;
4881 int (*gc)(struct dst_ops *ops ) ;
4882 struct dst_entry *(*check)(struct dst_entry * , __u32 cookie ) ;
4883 unsigned int (*default_advmss)(struct dst_entry const * ) ;
4884 unsigned int (*default_mtu)(struct dst_entry const * ) ;
4885 u32 *(*cow_metrics)(struct dst_entry * , unsigned long ) ;
4886 void (*destroy)(struct dst_entry * ) ;
4887 void (*ifdown)(struct dst_entry * , struct net_device *dev , int how ) ;
4888 struct dst_entry *(*negative_advice)(struct dst_entry * ) ;
4889 void (*link_failure)(struct sk_buff * ) ;
4890 void (*update_pmtu)(struct dst_entry *dst , u32 mtu ) ;
4891 int (*local_out)(struct sk_buff *skb ) ;
4892 struct kmem_cache *kmem_cachep ;
4893 struct percpu_counter pcpuc_entries __attribute__((__aligned__((1) << (6) ))) ;
4894};
4895#line 11 "include/net/netns/ipv6.h"
4896struct ctl_table_header;
4897#line 13 "include/net/netns/ipv6.h"
4898struct netns_sysctl_ipv6 {
4899 struct ctl_table_header *table ;
4900 struct ctl_table_header *frags_hdr ;
4901 int bindv6only ;
4902 int flush_delay ;
4903 int ip6_rt_max_size ;
4904 int ip6_rt_gc_min_interval ;
4905 int ip6_rt_gc_timeout ;
4906 int ip6_rt_gc_interval ;
4907 int ip6_rt_gc_elasticity ;
4908 int ip6_rt_mtu_expires ;
4909 int ip6_rt_min_advmss ;
4910 int icmpv6_time ;
4911};
4912#line 30
4913struct ipv6_devconf;
4914#line 30
4915struct ipv6_devconf;
4916#line 30
4917struct ipv6_devconf;
4918#line 30
4919struct rt6_info;
4920#line 30
4921struct rt6_info;
4922#line 30
4923struct rt6_info;
4924#line 30
4925struct rt6_statistics;
4926#line 30
4927struct rt6_statistics;
4928#line 30
4929struct rt6_statistics;
4930#line 30
4931struct fib6_table;
4932#line 30
4933struct fib6_table;
4934#line 30
4935struct fib6_table;
4936#line 30 "include/net/netns/ipv6.h"
4937struct netns_ipv6 {
4938 struct netns_sysctl_ipv6 sysctl ;
4939 struct ipv6_devconf *devconf_all ;
4940 struct ipv6_devconf *devconf_dflt ;
4941 struct netns_frags frags ;
4942 struct xt_table *ip6table_filter ;
4943 struct xt_table *ip6table_mangle ;
4944 struct xt_table *ip6table_raw ;
4945 struct xt_table *ip6table_security ;
4946 struct rt6_info *ip6_null_entry ;
4947 struct rt6_statistics *rt6_stats ;
4948 struct timer_list ip6_fib_timer ;
4949 struct hlist_head *fib_table_hash ;
4950 struct fib6_table *fib6_main_tbl ;
4951 struct dst_ops ip6_dst_ops ;
4952 unsigned int ip6_rt_gc_expire ;
4953 unsigned long ip6_rt_last_gc ;
4954 struct rt6_info *ip6_prohibit_entry ;
4955 struct rt6_info *ip6_blk_hole_entry ;
4956 struct fib6_table *fib6_local_tbl ;
4957 struct fib_rules_ops *fib6_rules_ops ;
4958 struct sock **icmp_sk ;
4959 struct sock *ndisc_sk ;
4960 struct sock *tcp_sk ;
4961 struct sock *igmp_sk ;
4962 struct list_head mr6_tables ;
4963 struct fib_rules_ops *mr6_rules_ops ;
4964};
4965#line 4 "include/net/netns/dccp.h"
4966struct sock;
4967#line 6 "include/net/netns/dccp.h"
4968struct netns_dccp {
4969 struct sock *v4_ctl_sk ;
4970 struct sock *v6_ctl_sk ;
4971};
4972#line 102 "include/linux/netfilter.h"
4973struct sk_buff;
4974#line 168 "include/net/flow.h"
4975struct net;
4976#line 169
4977struct sock;
4978#line 10 "include/linux/proc_fs.h"
4979struct net;
4980#line 11
4981struct completion;
4982#line 12
4983struct mm_struct;
4984#line 46 "include/linux/proc_fs.h"
4985typedef int read_proc_t(char *page , char **start , off_t off , int count , int *eof ,
4986 void *data );
4987#line 48 "include/linux/proc_fs.h"
4988typedef int write_proc_t(struct file *file , char const *buffer , unsigned long count ,
4989 void *data );
4990#line 51 "include/linux/proc_fs.h"
4991struct proc_dir_entry {
4992 unsigned int low_ino ;
4993 unsigned int namelen ;
4994 char const *name ;
4995 mode_t mode ;
4996 nlink_t nlink ;
4997 uid_t uid ;
4998 gid_t gid ;
4999 loff_t size ;
5000 struct inode_operations const *proc_iops ;
5001 struct file_operations const *proc_fops ;
5002 struct proc_dir_entry *next ;
5003 struct proc_dir_entry *parent ;
5004 struct proc_dir_entry *subdir ;
5005 void *data ;
5006 read_proc_t *read_proc ;
5007 write_proc_t *write_proc ;
5008 atomic_t count ;
5009 int pde_users ;
5010 spinlock_t pde_unload_lock ;
5011 struct completion *pde_unload_completion ;
5012 struct list_head pde_openers ;
5013};
5014#line 117
5015struct pid_namespace;
5016#line 243
5017struct nsproxy;
5018#line 263
5019struct ctl_table_header;
5020#line 264
5021struct ctl_table;
5022#line 7 "include/net/netns/x_tables.h"
5023struct ebt_table;
5024#line 7
5025struct ebt_table;
5026#line 7
5027struct ebt_table;
5028#line 7
5029struct ebt_table;
5030#line 9 "include/net/netns/x_tables.h"
5031struct netns_xt {
5032 struct list_head tables[13] ;
5033 struct ebt_table *broute_table ;
5034 struct ebt_table *frame_filter ;
5035 struct ebt_table *frame_nat ;
5036};
5037#line 17 "include/linux/list_nulls.h"
5038struct hlist_nulls_node;
5039#line 17
5040struct hlist_nulls_node;
5041#line 17
5042struct hlist_nulls_node;
5043#line 17 "include/linux/list_nulls.h"
5044struct hlist_nulls_head {
5045 struct hlist_nulls_node *first ;
5046};
5047#line 21 "include/linux/list_nulls.h"
5048struct hlist_nulls_node {
5049 struct hlist_nulls_node *next ;
5050 struct hlist_nulls_node **pprev ;
5051};
5052#line 8 "include/net/netns/conntrack.h"
5053struct ctl_table_header;
5054#line 11
5055struct ip_conntrack_stat;
5056#line 11
5057struct ip_conntrack_stat;
5058#line 11
5059struct ip_conntrack_stat;
5060#line 11 "include/net/netns/conntrack.h"
5061struct netns_ct {
5062 atomic_t count ;
5063 unsigned int expect_count ;
5064 unsigned int htable_size ;
5065 struct kmem_cache *nf_conntrack_cachep ;
5066 struct hlist_nulls_head *hash ;
5067 struct hlist_head *expect_hash ;
5068 struct hlist_nulls_head unconfirmed ;
5069 struct hlist_nulls_head dying ;
5070 struct ip_conntrack_stat *stat ;
5071 int sysctl_events ;
5072 unsigned int sysctl_events_retry_timeout ;
5073 int sysctl_acct ;
5074 int sysctl_tstamp ;
5075 int sysctl_checksum ;
5076 unsigned int sysctl_log_invalid ;
5077 struct ctl_table_header *sysctl_header ;
5078 struct ctl_table_header *acct_sysctl_header ;
5079 struct ctl_table_header *tstamp_sysctl_header ;
5080 struct ctl_table_header *event_sysctl_header ;
5081 char *slabname ;
5082};
5083#line 10 "include/net/netns/xfrm.h"
5084struct ctl_table_header;
5085#line 12 "include/net/netns/xfrm.h"
5086struct xfrm_policy_hash {
5087 struct hlist_head *table ;
5088 unsigned int hmask ;
5089};
5090#line 17 "include/net/netns/xfrm.h"
5091struct netns_xfrm {
5092 struct list_head state_all ;
5093 struct hlist_head *state_bydst ;
5094 struct hlist_head *state_bysrc ;
5095 struct hlist_head *state_byspi ;
5096 unsigned int state_hmask ;
5097 unsigned int state_num ;
5098 struct work_struct state_hash_work ;
5099 struct hlist_head state_gc_list ;
5100 struct work_struct state_gc_work ;
5101 wait_queue_head_t km_waitq ;
5102 struct list_head policy_all ;
5103 struct hlist_head *policy_byidx ;
5104 unsigned int policy_idx_hmask ;
5105 struct hlist_head policy_inexact[6] ;
5106 struct xfrm_policy_hash policy_bydst[6] ;
5107 unsigned int policy_count[6] ;
5108 struct work_struct policy_hash_work ;
5109 struct sock *nlsk ;
5110 struct sock *nlsk_stash ;
5111 u32 sysctl_aevent_etime ;
5112 u32 sysctl_aevent_rseqth ;
5113 int sysctl_larval_drop ;
5114 u32 sysctl_acq_expires ;
5115 struct ctl_table_header *sysctl_hdr ;
5116 struct dst_ops xfrm4_dst_ops ;
5117 struct dst_ops xfrm6_dst_ops ;
5118};
5119#line 25 "include/net/net_namespace.h"
5120struct proc_dir_entry;
5121#line 26
5122struct net_device;
5123#line 27
5124struct sock;
5125#line 28
5126struct ctl_table_header;
5127#line 29
5128struct net_generic;
5129#line 29
5130struct net_generic;
5131#line 29
5132struct net_generic;
5133#line 29
5134struct net_generic;
5135#line 30
5136struct sock;
5137#line 31
5138struct netns_ipvs;
5139#line 31
5140struct netns_ipvs;
5141#line 31
5142struct netns_ipvs;
5143#line 31
5144struct netns_ipvs;
5145#line 37 "include/net/net_namespace.h"
5146struct net {
5147 atomic_t passive ;
5148 atomic_t count ;
5149 spinlock_t rules_mod_lock ;
5150 struct list_head list ;
5151 struct list_head cleanup_list ;
5152 struct list_head exit_list ;
5153 struct proc_dir_entry *proc_net ;
5154 struct proc_dir_entry *proc_net_stat ;
5155 struct ctl_table_set sysctls ;
5156 struct sock *rtnl ;
5157 struct sock *genl_sock ;
5158 struct list_head dev_base_head ;
5159 struct hlist_head *dev_name_head ;
5160 struct hlist_head *dev_index_head ;
5161 struct list_head rules_ops ;
5162 struct net_device *loopback_dev ;
5163 struct netns_core core ;
5164 struct netns_mib mib ;
5165 struct netns_packet packet ;
5166 struct netns_unix unx ;
5167 struct netns_ipv4 ipv4 ;
5168 struct netns_ipv6 ipv6 ;
5169 struct netns_dccp dccp ;
5170 struct netns_xt xt ;
5171 struct netns_ct ct ;
5172 struct sock *nfnl ;
5173 struct sock *nfnl_stash ;
5174 struct sk_buff_head wext_nlevents ;
5175 struct net_generic *gen ;
5176 struct netns_xfrm xfrm ;
5177 struct netns_ipvs *ipvs ;
5178};
5179#line 10 "include/linux/seq_file.h"
5180struct seq_operations;
5181#line 11
5182struct file;
5183#line 12
5184struct path;
5185#line 13
5186struct inode;
5187#line 14
5188struct dentry;
5189#line 16 "include/linux/seq_file.h"
5190struct seq_file {
5191 char *buf ;
5192 size_t size ;
5193 size_t from ;
5194 size_t count ;
5195 loff_t index ;
5196 loff_t read_pos ;
5197 u64 version ;
5198 struct mutex lock ;
5199 struct seq_operations const *op ;
5200 void *private ;
5201};
5202#line 29 "include/linux/seq_file.h"
5203struct seq_operations {
5204 void *(*start)(struct seq_file *m , loff_t *pos ) ;
5205 void (*stop)(struct seq_file *m , void *v ) ;
5206 void *(*next)(struct seq_file *m , void *v , loff_t *pos ) ;
5207 int (*show)(struct seq_file *m , void *v ) ;
5208};
5209#line 6 "include/linux/seq_file_net.h"
5210struct net;
5211#line 282 "include/net/net_namespace.h"
5212struct ctl_table;
5213#line 283
5214struct ctl_table_header;
5215#line 57 "include/linux/dcbnl.h"
5216struct ieee_ets {
5217 __u8 willing ;
5218 __u8 ets_cap ;
5219 __u8 cbs ;
5220 __u8 tc_tx_bw[8] ;
5221 __u8 tc_rx_bw[8] ;
5222 __u8 tc_tsa[8] ;
5223 __u8 prio_tc[8] ;
5224 __u8 tc_reco_bw[8] ;
5225 __u8 tc_reco_tsa[8] ;
5226 __u8 reco_prio_tc[8] ;
5227};
5228#line 81 "include/linux/dcbnl.h"
5229struct ieee_pfc {
5230 __u8 pfc_cap ;
5231 __u8 pfc_en ;
5232 __u8 mbc ;
5233 __u16 delay ;
5234 __u64 requests[8] ;
5235 __u64 indications[8] ;
5236};
5237#line 104 "include/linux/dcbnl.h"
5238struct cee_pg {
5239 __u8 willing ;
5240 __u8 error ;
5241 __u8 pg_en ;
5242 __u8 tcs_supported ;
5243 __u8 pg_bw[8] ;
5244 __u8 prio_pg[8] ;
5245};
5246#line 121 "include/linux/dcbnl.h"
5247struct cee_pfc {
5248 __u8 willing ;
5249 __u8 error ;
5250 __u8 pfc_en ;
5251 __u8 tcs_supported ;
5252};
5253#line 151 "include/linux/dcbnl.h"
5254struct dcb_app {
5255 __u8 selector ;
5256 __u8 priority ;
5257 __u16 protocol ;
5258};
5259#line 166 "include/linux/dcbnl.h"
5260struct dcb_peer_app_info {
5261 __u8 willing ;
5262 __u8 error ;
5263};
5264#line 38 "include/net/dcbnl.h"
5265struct dcbnl_rtnl_ops {
5266 int (*ieee_getets)(struct net_device * , struct ieee_ets * ) ;
5267 int (*ieee_setets)(struct net_device * , struct ieee_ets * ) ;
5268 int (*ieee_getpfc)(struct net_device * , struct ieee_pfc * ) ;
5269 int (*ieee_setpfc)(struct net_device * , struct ieee_pfc * ) ;
5270 int (*ieee_getapp)(struct net_device * , struct dcb_app * ) ;
5271 int (*ieee_setapp)(struct net_device * , struct dcb_app * ) ;
5272 int (*ieee_peer_getets)(struct net_device * , struct ieee_ets * ) ;
5273 int (*ieee_peer_getpfc)(struct net_device * , struct ieee_pfc * ) ;
5274 u8 (*getstate)(struct net_device * ) ;
5275 u8 (*setstate)(struct net_device * , u8 ) ;
5276 void (*getpermhwaddr)(struct net_device * , u8 * ) ;
5277 void (*setpgtccfgtx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ;
5278 void (*setpgbwgcfgtx)(struct net_device * , int , u8 ) ;
5279 void (*setpgtccfgrx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ;
5280 void (*setpgbwgcfgrx)(struct net_device * , int , u8 ) ;
5281 void (*getpgtccfgtx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ;
5282 void (*getpgbwgcfgtx)(struct net_device * , int , u8 * ) ;
5283 void (*getpgtccfgrx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ;
5284 void (*getpgbwgcfgrx)(struct net_device * , int , u8 * ) ;
5285 void (*setpfccfg)(struct net_device * , int , u8 ) ;
5286 void (*getpfccfg)(struct net_device * , int , u8 * ) ;
5287 u8 (*setall)(struct net_device * ) ;
5288 u8 (*getcap)(struct net_device * , int , u8 * ) ;
5289 u8 (*getnumtcs)(struct net_device * , int , u8 * ) ;
5290 u8 (*setnumtcs)(struct net_device * , int , u8 ) ;
5291 u8 (*getpfcstate)(struct net_device * ) ;
5292 void (*setpfcstate)(struct net_device * , u8 ) ;
5293 void (*getbcncfg)(struct net_device * , int , u32 * ) ;
5294 void (*setbcncfg)(struct net_device * , int , u32 ) ;
5295 void (*getbcnrp)(struct net_device * , int , u8 * ) ;
5296 void (*setbcnrp)(struct net_device * , int , u8 ) ;
5297 u8 (*setapp)(struct net_device * , u8 , u16 , u8 ) ;
5298 u8 (*getapp)(struct net_device * , u8 , u16 ) ;
5299 u8 (*getfeatcfg)(struct net_device * , int , u8 * ) ;
5300 u8 (*setfeatcfg)(struct net_device * , int , u8 ) ;
5301 u8 (*getdcbx)(struct net_device * ) ;
5302 u8 (*setdcbx)(struct net_device * , u8 ) ;
5303 int (*peer_getappinfo)(struct net_device * , struct dcb_peer_app_info * , u16 * ) ;
5304 int (*peer_getapptable)(struct net_device * , struct dcb_app * ) ;
5305 int (*cee_peer_getpg)(struct net_device * , struct cee_pg * ) ;
5306 int (*cee_peer_getpfc)(struct net_device * , struct cee_pfc * ) ;
5307};
5308#line 55 "include/linux/netdevice.h"
5309struct vlan_group;
5310#line 55
5311struct vlan_group;
5312#line 55
5313struct vlan_group;
5314#line 55
5315struct vlan_group;
5316#line 56
5317struct netpoll_info;
5318#line 56
5319struct netpoll_info;
5320#line 56
5321struct netpoll_info;
5322#line 56
5323struct netpoll_info;
5324#line 57
5325struct phy_device;
5326#line 57
5327struct phy_device;
5328#line 57
5329struct phy_device;
5330#line 57
5331struct phy_device;
5332#line 59
5333struct wireless_dev;
5334#line 59
5335struct wireless_dev;
5336#line 59
5337struct wireless_dev;
5338#line 59
5339struct wireless_dev;
5340#line 111
5341enum netdev_tx {
5342 __NETDEV_TX_MIN = (-0x7FFFFFFF-1),
5343 NETDEV_TX_OK = 0,
5344 NETDEV_TX_BUSY = 16,
5345 NETDEV_TX_LOCKED = 32
5346} ;
5347#line 117 "include/linux/netdevice.h"
5348typedef enum netdev_tx netdev_tx_t;
5349#line 176 "include/linux/netdevice.h"
5350struct net_device_stats {
5351 unsigned long rx_packets ;
5352 unsigned long tx_packets ;
5353 unsigned long rx_bytes ;
5354 unsigned long tx_bytes ;
5355 unsigned long rx_errors ;
5356 unsigned long tx_errors ;
5357 unsigned long rx_dropped ;
5358 unsigned long tx_dropped ;
5359 unsigned long multicast ;
5360 unsigned long collisions ;
5361 unsigned long rx_length_errors ;
5362 unsigned long rx_over_errors ;
5363 unsigned long rx_crc_errors ;
5364 unsigned long rx_frame_errors ;
5365 unsigned long rx_fifo_errors ;
5366 unsigned long rx_missed_errors ;
5367 unsigned long tx_aborted_errors ;
5368 unsigned long tx_carrier_errors ;
5369 unsigned long tx_fifo_errors ;
5370 unsigned long tx_heartbeat_errors ;
5371 unsigned long tx_window_errors ;
5372 unsigned long rx_compressed ;
5373 unsigned long tx_compressed ;
5374};
5375#line 221
5376struct neighbour;
5377#line 221
5378struct neighbour;
5379#line 221
5380struct neighbour;
5381#line 221
5382struct neighbour;
5383#line 222
5384struct neigh_parms;
5385#line 222
5386struct neigh_parms;
5387#line 222
5388struct neigh_parms;
5389#line 222
5390struct neigh_parms;
5391#line 223
5392struct sk_buff;
5393#line 240 "include/linux/netdevice.h"
5394struct netdev_hw_addr_list {
5395 struct list_head list ;
5396 int count ;
5397};
5398#line 260 "include/linux/netdevice.h"
5399struct hh_cache {
5400 struct hh_cache *hh_next ;
5401 atomic_t hh_refcnt ;
5402 __be16 hh_type __attribute__((__aligned__((1) << (6) ))) ;
5403 u16 hh_len ;
5404 int (*hh_output)(struct sk_buff *skb ) ;
5405 seqlock_t hh_lock ;
5406 unsigned long hh_data[128UL / sizeof(long )] ;
5407};
5408#line 311 "include/linux/netdevice.h"
5409struct header_ops {
5410 int (*create)(struct sk_buff *skb , struct net_device *dev , unsigned short type ,
5411 void const *daddr , void const *saddr , unsigned int len ) ;
5412 int (*parse)(struct sk_buff const *skb , unsigned char *haddr ) ;
5413 int (*rebuild)(struct sk_buff *skb ) ;
5414 int (*cache)(struct neighbour const *neigh , struct hh_cache *hh ) ;
5415 void (*cache_update)(struct hh_cache *hh , struct net_device const *dev , unsigned char const *haddr ) ;
5416};
5417#line 434
5418enum rx_handler_result {
5419 RX_HANDLER_CONSUMED = 0,
5420 RX_HANDLER_ANOTHER = 1,
5421 RX_HANDLER_EXACT = 2,
5422 RX_HANDLER_PASS = 3
5423} ;
5424#line 440 "include/linux/netdevice.h"
5425typedef enum rx_handler_result rx_handler_result_t;
5426#line 441 "include/linux/netdevice.h"
5427typedef rx_handler_result_t rx_handler_func_t(struct sk_buff **pskb );
5428#line 551
5429struct Qdisc;
5430#line 551
5431struct Qdisc;
5432#line 551
5433struct Qdisc;
5434#line 551 "include/linux/netdevice.h"
5435struct netdev_queue {
5436 struct net_device *dev ;
5437 struct Qdisc *qdisc ;
5438 unsigned long state ;
5439 struct Qdisc *qdisc_sleeping ;
5440 struct kobject kobj ;
5441 int numa_node ;
5442 spinlock_t _xmit_lock __attribute__((__aligned__((1) << (6) ))) ;
5443 int xmit_lock_owner ;
5444 unsigned long trans_start ;
5445} __attribute__((__aligned__((1) << (6) ))) ;
5446#line 597 "include/linux/netdevice.h"
5447struct rps_map {
5448 unsigned int len ;
5449 struct rcu_head rcu ;
5450 u16 cpus[0] ;
5451};
5452#line 609 "include/linux/netdevice.h"
5453struct rps_dev_flow {
5454 u16 cpu ;
5455 u16 filter ;
5456 unsigned int last_qtail ;
5457};
5458#line 619 "include/linux/netdevice.h"
5459struct rps_dev_flow_table {
5460 unsigned int mask ;
5461 struct rcu_head rcu ;
5462 struct work_struct free_work ;
5463 struct rps_dev_flow flows[0] ;
5464};
5465#line 670 "include/linux/netdevice.h"
5466struct netdev_rx_queue {
5467 struct rps_map *rps_map ;
5468 struct rps_dev_flow_table *rps_flow_table ;
5469 struct kobject kobj ;
5470 struct net_device *dev ;
5471} __attribute__((__aligned__((1) << (6) ))) ;
5472#line 683 "include/linux/netdevice.h"
5473struct xps_map {
5474 unsigned int len ;
5475 unsigned int alloc_len ;
5476 struct rcu_head rcu ;
5477 u16 queues[0] ;
5478};
5479#line 696 "include/linux/netdevice.h"
5480struct xps_dev_maps {
5481 struct rcu_head rcu ;
5482 struct xps_map *cpu_map[0] ;
5483};
5484#line 707 "include/linux/netdevice.h"
5485struct netdev_tc_txq {
5486 u16 count ;
5487 u16 offset ;
5488};
5489#line 892 "include/linux/netdevice.h"
5490struct net_device_ops {
5491 int (*ndo_init)(struct net_device *dev ) ;
5492 void (*ndo_uninit)(struct net_device *dev ) ;
5493 int (*ndo_open)(struct net_device *dev ) ;
5494 int (*ndo_stop)(struct net_device *dev ) ;
5495 netdev_tx_t (*ndo_start_xmit)(struct sk_buff *skb , struct net_device *dev ) ;
5496 u16 (*ndo_select_queue)(struct net_device *dev , struct sk_buff *skb ) ;
5497 void (*ndo_change_rx_flags)(struct net_device *dev , int flags ) ;
5498 void (*ndo_set_rx_mode)(struct net_device *dev ) ;
5499 void (*ndo_set_multicast_list)(struct net_device *dev ) ;
5500 int (*ndo_set_mac_address)(struct net_device *dev , void *addr ) ;
5501 int (*ndo_validate_addr)(struct net_device *dev ) ;
5502 int (*ndo_do_ioctl)(struct net_device *dev , struct ifreq *ifr , int cmd ) ;
5503 int (*ndo_set_config)(struct net_device *dev , struct ifmap *map ) ;
5504 int (*ndo_change_mtu)(struct net_device *dev , int new_mtu ) ;
5505 int (*ndo_neigh_setup)(struct net_device *dev , struct neigh_parms * ) ;
5506 void (*ndo_tx_timeout)(struct net_device *dev ) ;
5507 struct rtnl_link_stats64 *(*ndo_get_stats64)(struct net_device *dev , struct rtnl_link_stats64 *storage ) ;
5508 struct net_device_stats *(*ndo_get_stats)(struct net_device *dev ) ;
5509 void (*ndo_vlan_rx_register)(struct net_device *dev , struct vlan_group *grp ) ;
5510 void (*ndo_vlan_rx_add_vid)(struct net_device *dev , unsigned short vid ) ;
5511 void (*ndo_vlan_rx_kill_vid)(struct net_device *dev , unsigned short vid ) ;
5512 void (*ndo_poll_controller)(struct net_device *dev ) ;
5513 int (*ndo_netpoll_setup)(struct net_device *dev , struct netpoll_info *info ) ;
5514 void (*ndo_netpoll_cleanup)(struct net_device *dev ) ;
5515 int (*ndo_set_vf_mac)(struct net_device *dev , int queue , u8 *mac ) ;
5516 int (*ndo_set_vf_vlan)(struct net_device *dev , int queue , u16 vlan , u8 qos ) ;
5517 int (*ndo_set_vf_tx_rate)(struct net_device *dev , int vf , int rate ) ;
5518 int (*ndo_get_vf_config)(struct net_device *dev , int vf , struct ifla_vf_info *ivf ) ;
5519 int (*ndo_set_vf_port)(struct net_device *dev , int vf , struct nlattr **port ) ;
5520 int (*ndo_get_vf_port)(struct net_device *dev , int vf , struct sk_buff *skb ) ;
5521 int (*ndo_setup_tc)(struct net_device *dev , u8 tc ) ;
5522 int (*ndo_fcoe_enable)(struct net_device *dev ) ;
5523 int (*ndo_fcoe_disable)(struct net_device *dev ) ;
5524 int (*ndo_fcoe_ddp_setup)(struct net_device *dev , u16 xid , struct scatterlist *sgl ,
5525 unsigned int sgc ) ;
5526 int (*ndo_fcoe_ddp_done)(struct net_device *dev , u16 xid ) ;
5527 int (*ndo_fcoe_ddp_target)(struct net_device *dev , u16 xid , struct scatterlist *sgl ,
5528 unsigned int sgc ) ;
5529 int (*ndo_fcoe_get_wwn)(struct net_device *dev , u64 *wwn , int type ) ;
5530 int (*ndo_rx_flow_steer)(struct net_device *dev , struct sk_buff const *skb ,
5531 u16 rxq_index , u32 flow_id ) ;
5532 int (*ndo_add_slave)(struct net_device *dev , struct net_device *slave_dev ) ;
5533 int (*ndo_del_slave)(struct net_device *dev , struct net_device *slave_dev ) ;
5534 u32 (*ndo_fix_features)(struct net_device *dev , u32 features ) ;
5535 int (*ndo_set_features)(struct net_device *dev , u32 features ) ;
5536};
5537#line 993
5538struct iw_handler_def;
5539#line 993
5540struct iw_handler_def;
5541#line 993
5542struct iw_handler_def;
5543#line 993
5544struct iw_public_data;
5545#line 993
5546struct iw_public_data;
5547#line 993
5548struct iw_public_data;
5549#line 993
5550struct in_device;
5551#line 993
5552struct in_device;
5553#line 993
5554struct in_device;
5555#line 993
5556struct dn_dev;
5557#line 993
5558struct dn_dev;
5559#line 993
5560struct dn_dev;
5561#line 993
5562struct inet6_dev;
5563#line 993
5564struct inet6_dev;
5565#line 993
5566struct inet6_dev;
5567#line 993
5568struct cpu_rmap;
5569#line 993
5570struct cpu_rmap;
5571#line 993
5572struct cpu_rmap;
5573#line 993
5574enum __anonenum_reg_state_303 {
5575 NETREG_UNINITIALIZED = 0,
5576 NETREG_REGISTERED = 1,
5577 NETREG_UNREGISTERING = 2,
5578 NETREG_UNREGISTERED = 3,
5579 NETREG_RELEASED = 4,
5580 NETREG_DUMMY = 5
5581} ;
5582#line 993
5583enum __anonenum_rtnl_link_state_304 {
5584 RTNL_LINK_INITIALIZED = 0,
5585 RTNL_LINK_INITIALIZING = 1
5586} ;
5587#line 993
5588struct pcpu_lstats;
5589#line 993
5590struct pcpu_lstats;
5591#line 993
5592struct pcpu_lstats;
5593#line 993
5594struct pcpu_tstats;
5595#line 993
5596struct pcpu_tstats;
5597#line 993
5598struct pcpu_tstats;
5599#line 993
5600struct pcpu_dstats;
5601#line 993
5602struct pcpu_dstats;
5603#line 993
5604struct pcpu_dstats;
5605#line 993 "include/linux/netdevice.h"
5606union __anonunion____missing_field_name_305 {
5607 void *ml_priv ;
5608 struct pcpu_lstats *lstats ;
5609 struct pcpu_tstats *tstats ;
5610 struct pcpu_dstats *dstats ;
5611};
5612#line 993
5613struct garp_port;
5614#line 993
5615struct garp_port;
5616#line 993
5617struct garp_port;
5618#line 993
5619struct rtnl_link_ops;
5620#line 993
5621struct rtnl_link_ops;
5622#line 993
5623struct rtnl_link_ops;
5624#line 993 "include/linux/netdevice.h"
5625struct net_device {
5626 char name[16] ;
5627 struct pm_qos_request_list pm_qos_req ;
5628 struct hlist_node name_hlist ;
5629 char *ifalias ;
5630 unsigned long mem_end ;
5631 unsigned long mem_start ;
5632 unsigned long base_addr ;
5633 unsigned int irq ;
5634 unsigned long state ;
5635 struct list_head dev_list ;
5636 struct list_head napi_list ;
5637 struct list_head unreg_list ;
5638 u32 features ;
5639 u32 hw_features ;
5640 u32 wanted_features ;
5641 u32 vlan_features ;
5642 int ifindex ;
5643 int iflink ;
5644 struct net_device_stats stats ;
5645 atomic_long_t rx_dropped ;
5646 struct iw_handler_def const *wireless_handlers ;
5647 struct iw_public_data *wireless_data ;
5648 struct net_device_ops const *netdev_ops ;
5649 struct ethtool_ops const *ethtool_ops ;
5650 struct header_ops const *header_ops ;
5651 unsigned int flags ;
5652 unsigned int priv_flags ;
5653 unsigned short gflags ;
5654 unsigned short padded ;
5655 unsigned char operstate ;
5656 unsigned char link_mode ;
5657 unsigned char if_port ;
5658 unsigned char dma ;
5659 unsigned int mtu ;
5660 unsigned short type ;
5661 unsigned short hard_header_len ;
5662 unsigned short needed_headroom ;
5663 unsigned short needed_tailroom ;
5664 unsigned char perm_addr[32] ;
5665 unsigned char addr_assign_type ;
5666 unsigned char addr_len ;
5667 unsigned short dev_id ;
5668 spinlock_t addr_list_lock ;
5669 struct netdev_hw_addr_list uc ;
5670 struct netdev_hw_addr_list mc ;
5671 int uc_promisc ;
5672 unsigned int promiscuity ;
5673 unsigned int allmulti ;
5674 struct vlan_group *vlgrp ;
5675 void *dsa_ptr ;
5676 void *atalk_ptr ;
5677 struct in_device *ip_ptr ;
5678 struct dn_dev *dn_ptr ;
5679 struct inet6_dev *ip6_ptr ;
5680 void *ec_ptr ;
5681 void *ax25_ptr ;
5682 struct wireless_dev *ieee80211_ptr ;
5683 unsigned long last_rx ;
5684 struct net_device *master ;
5685 unsigned char *dev_addr ;
5686 struct netdev_hw_addr_list dev_addrs ;
5687 unsigned char broadcast[32] ;
5688 struct kset *queues_kset ;
5689 struct netdev_rx_queue *_rx ;
5690 unsigned int num_rx_queues ;
5691 unsigned int real_num_rx_queues ;
5692 struct cpu_rmap *rx_cpu_rmap ;
5693 rx_handler_func_t *rx_handler ;
5694 void *rx_handler_data ;
5695 struct netdev_queue *ingress_queue ;
5696 struct netdev_queue *_tx __attribute__((__aligned__((1) << (6) ))) ;
5697 unsigned int num_tx_queues ;
5698 unsigned int real_num_tx_queues ;
5699 struct Qdisc *qdisc ;
5700 unsigned long tx_queue_len ;
5701 spinlock_t tx_global_lock ;
5702 struct xps_dev_maps *xps_maps ;
5703 unsigned long trans_start ;
5704 int watchdog_timeo ;
5705 struct timer_list watchdog_timer ;
5706 int *pcpu_refcnt ;
5707 struct list_head todo_list ;
5708 struct hlist_node index_hlist ;
5709 struct list_head link_watch_list ;
5710 enum __anonenum_reg_state_303 reg_state : 8 ;
5711 bool dismantle ;
5712 enum __anonenum_rtnl_link_state_304 rtnl_link_state : 16 ;
5713 void (*destructor)(struct net_device *dev ) ;
5714 struct netpoll_info *npinfo ;
5715 struct net *nd_net ;
5716 union __anonunion____missing_field_name_305 __annonCompField44 ;
5717 struct garp_port *garp_port ;
5718 struct device dev ;
5719 struct attribute_group const *sysfs_groups[4] ;
5720 struct rtnl_link_ops const *rtnl_link_ops ;
5721 unsigned int gso_max_size ;
5722 struct dcbnl_rtnl_ops const *dcbnl_ops ;
5723 u8 num_tc ;
5724 struct netdev_tc_txq tc_to_txq[16] ;
5725 u8 prio_tc_map[16] ;
5726 unsigned int fcoe_ddp_xid ;
5727 struct ethtool_rx_ntuple_list ethtool_ntuple_list ;
5728 struct phy_device *phydev ;
5729 int group ;
5730};
5731#line 10 "include/linux/irqreturn.h"
5732enum irqreturn {
5733 IRQ_NONE = 0,
5734 IRQ_HANDLED = 1,
5735 IRQ_WAKE_THREAD = 2
5736} ;
5737#line 16 "include/linux/irqreturn.h"
5738typedef enum irqreturn irqreturn_t;
5739#line 31 "include/linux/irq.h"
5740struct seq_file;
5741#line 12 "include/linux/irqdesc.h"
5742struct proc_dir_entry;
5743#line 16 "include/linux/profile.h"
5744struct proc_dir_entry;
5745#line 17
5746struct pt_regs;
5747#line 65
5748struct task_struct;
5749#line 66
5750struct mm_struct;
5751#line 88
5752struct pt_regs;
5753#line 363 "include/linux/irq.h"
5754struct irqaction;
5755#line 132 "include/linux/hardirq.h"
5756struct task_struct;
5757#line 9 "include/trace/events/irq.h"
5758struct irqaction;
5759#line 106 "include/linux/interrupt.h"
5760struct irqaction {
5761 irqreturn_t (*handler)(int , void * ) ;
5762 unsigned long flags ;
5763 void *dev_id ;
5764 struct irqaction *next ;
5765 int irq ;
5766 irqreturn_t (*thread_fn)(int , void * ) ;
5767 struct task_struct *thread ;
5768 unsigned long thread_flags ;
5769 unsigned long thread_mask ;
5770 char const *name ;
5771 struct proc_dir_entry *dir ;
5772} __attribute__((__aligned__((1) << (12) ))) ;
5773#line 172
5774struct device;
5775#line 682
5776struct seq_file;
5777#line 12 "include/linux/mod_devicetable.h"
5778typedef unsigned long kernel_ulong_t;
5779#line 98 "include/linux/mod_devicetable.h"
5780struct usb_device_id {
5781 __u16 match_flags ;
5782 __u16 idVendor ;
5783 __u16 idProduct ;
5784 __u16 bcdDevice_lo ;
5785 __u16 bcdDevice_hi ;
5786 __u8 bDeviceClass ;
5787 __u8 bDeviceSubClass ;
5788 __u8 bDeviceProtocol ;
5789 __u8 bInterfaceClass ;
5790 __u8 bInterfaceSubClass ;
5791 __u8 bInterfaceProtocol ;
5792 kernel_ulong_t driver_info ;
5793};
5794#line 219 "include/linux/mod_devicetable.h"
5795struct of_device_id {
5796 char name[32] ;
5797 char type[32] ;
5798 char compatible[128] ;
5799 void *data ;
5800};
5801#line 244 "include/linux/usb/ch9.h"
5802struct usb_device_descriptor {
5803 __u8 bLength ;
5804 __u8 bDescriptorType ;
5805 __le16 bcdUSB ;
5806 __u8 bDeviceClass ;
5807 __u8 bDeviceSubClass ;
5808 __u8 bDeviceProtocol ;
5809 __u8 bMaxPacketSize0 ;
5810 __le16 idVendor ;
5811 __le16 idProduct ;
5812 __le16 bcdDevice ;
5813 __u8 iManufacturer ;
5814 __u8 iProduct ;
5815 __u8 iSerialNumber ;
5816 __u8 bNumConfigurations ;
5817} __attribute__((__packed__)) ;
5818#line 300 "include/linux/usb/ch9.h"
5819struct usb_config_descriptor {
5820 __u8 bLength ;
5821 __u8 bDescriptorType ;
5822 __le16 wTotalLength ;
5823 __u8 bNumInterfaces ;
5824 __u8 bConfigurationValue ;
5825 __u8 iConfiguration ;
5826 __u8 bmAttributes ;
5827 __u8 bMaxPower ;
5828} __attribute__((__packed__)) ;
5829#line 337 "include/linux/usb/ch9.h"
5830struct usb_interface_descriptor {
5831 __u8 bLength ;
5832 __u8 bDescriptorType ;
5833 __u8 bInterfaceNumber ;
5834 __u8 bAlternateSetting ;
5835 __u8 bNumEndpoints ;
5836 __u8 bInterfaceClass ;
5837 __u8 bInterfaceSubClass ;
5838 __u8 bInterfaceProtocol ;
5839 __u8 iInterface ;
5840} __attribute__((__packed__)) ;
5841#line 355 "include/linux/usb/ch9.h"
5842struct usb_endpoint_descriptor {
5843 __u8 bLength ;
5844 __u8 bDescriptorType ;
5845 __u8 bEndpointAddress ;
5846 __u8 bmAttributes ;
5847 __le16 wMaxPacketSize ;
5848 __u8 bInterval ;
5849 __u8 bRefresh ;
5850 __u8 bSynchAddress ;
5851} __attribute__((__packed__)) ;
5852#line 576 "include/linux/usb/ch9.h"
5853struct usb_ss_ep_comp_descriptor {
5854 __u8 bLength ;
5855 __u8 bDescriptorType ;
5856 __u8 bMaxBurst ;
5857 __u8 bmAttributes ;
5858 __le16 wBytesPerInterval ;
5859} __attribute__((__packed__)) ;
5860#line 637 "include/linux/usb/ch9.h"
5861struct usb_interface_assoc_descriptor {
5862 __u8 bLength ;
5863 __u8 bDescriptorType ;
5864 __u8 bFirstInterface ;
5865 __u8 bInterfaceCount ;
5866 __u8 bFunctionClass ;
5867 __u8 bFunctionSubClass ;
5868 __u8 bFunctionProtocol ;
5869 __u8 iFunction ;
5870} __attribute__((__packed__)) ;
5871#line 846
5872enum usb_device_speed {
5873 USB_SPEED_UNKNOWN = 0,
5874 USB_SPEED_LOW = 1,
5875 USB_SPEED_FULL = 2,
5876 USB_SPEED_HIGH = 3,
5877 USB_SPEED_WIRELESS = 4,
5878 USB_SPEED_SUPER = 5
5879} ;
5880#line 854
5881enum usb_device_state {
5882 USB_STATE_NOTATTACHED = 0,
5883 USB_STATE_ATTACHED = 1,
5884 USB_STATE_POWERED = 2,
5885 USB_STATE_RECONNECTING = 3,
5886 USB_STATE_UNAUTHENTICATED = 4,
5887 USB_STATE_DEFAULT = 5,
5888 USB_STATE_ADDRESS = 6,
5889 USB_STATE_CONFIGURED = 7,
5890 USB_STATE_SUSPENDED = 8
5891} ;
5892#line 25 "include/linux/usb.h"
5893struct usb_device;
5894#line 25
5895struct usb_device;
5896#line 25
5897struct usb_device;
5898#line 25
5899struct usb_device;
5900#line 26
5901struct usb_driver;
5902#line 26
5903struct usb_driver;
5904#line 26
5905struct usb_driver;
5906#line 26
5907struct usb_driver;
5908#line 27
5909struct wusb_dev;
5910#line 27
5911struct wusb_dev;
5912#line 27
5913struct wusb_dev;
5914#line 27
5915struct wusb_dev;
5916#line 47
5917struct ep_device;
5918#line 47
5919struct ep_device;
5920#line 47
5921struct ep_device;
5922#line 47
5923struct ep_device;
5924#line 64 "include/linux/usb.h"
5925struct usb_host_endpoint {
5926 struct usb_endpoint_descriptor desc ;
5927 struct usb_ss_ep_comp_descriptor ss_ep_comp ;
5928 struct list_head urb_list ;
5929 void *hcpriv ;
5930 struct ep_device *ep_dev ;
5931 unsigned char *extra ;
5932 int extralen ;
5933 int enabled ;
5934};
5935#line 77 "include/linux/usb.h"
5936struct usb_host_interface {
5937 struct usb_interface_descriptor desc ;
5938 struct usb_host_endpoint *endpoint ;
5939 char *string ;
5940 unsigned char *extra ;
5941 int extralen ;
5942};
5943#line 90
5944enum usb_interface_condition {
5945 USB_INTERFACE_UNBOUND = 0,
5946 USB_INTERFACE_BINDING = 1,
5947 USB_INTERFACE_BOUND = 2,
5948 USB_INTERFACE_UNBINDING = 3
5949} ;
5950#line 159 "include/linux/usb.h"
5951struct usb_interface {
5952 struct usb_host_interface *altsetting ;
5953 struct usb_host_interface *cur_altsetting ;
5954 unsigned int num_altsetting ;
5955 struct usb_interface_assoc_descriptor *intf_assoc ;
5956 int minor ;
5957 enum usb_interface_condition condition ;
5958 unsigned int sysfs_files_created : 1 ;
5959 unsigned int ep_devs_created : 1 ;
5960 unsigned int unregistering : 1 ;
5961 unsigned int needs_remote_wakeup : 1 ;
5962 unsigned int needs_altsetting0 : 1 ;
5963 unsigned int needs_binding : 1 ;
5964 unsigned int reset_running : 1 ;
5965 unsigned int resetting_device : 1 ;
5966 struct device dev ;
5967 struct device *usb_dev ;
5968 atomic_t pm_usage_cnt ;
5969 struct work_struct reset_ws ;
5970};
5971#line 222 "include/linux/usb.h"
5972struct usb_interface_cache {
5973 unsigned int num_altsetting ;
5974 struct kref ref ;
5975 struct usb_host_interface altsetting[0] ;
5976};
5977#line 274 "include/linux/usb.h"
5978struct usb_host_config {
5979 struct usb_config_descriptor desc ;
5980 char *string ;
5981 struct usb_interface_assoc_descriptor *intf_assoc[16] ;
5982 struct usb_interface *interface[32] ;
5983 struct usb_interface_cache *intf_cache[32] ;
5984 unsigned char *extra ;
5985 int extralen ;
5986};
5987#line 305 "include/linux/usb.h"
5988struct usb_devmap {
5989 unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
5990};
5991#line 312
5992struct mon_bus;
5993#line 312
5994struct mon_bus;
5995#line 312
5996struct mon_bus;
5997#line 312 "include/linux/usb.h"
5998struct usb_bus {
5999 struct device *controller ;
6000 int busnum ;
6001 char const *bus_name ;
6002 u8 uses_dma ;
6003 u8 uses_pio_for_control ;
6004 u8 otg_port ;
6005 unsigned int is_b_host : 1 ;
6006 unsigned int b_hnp_enable : 1 ;
6007 unsigned int sg_tablesize ;
6008 int devnum_next ;
6009 struct usb_devmap devmap ;
6010 struct usb_device *root_hub ;
6011 struct usb_bus *hs_companion ;
6012 struct list_head bus_list ;
6013 int bandwidth_allocated ;
6014 int bandwidth_int_reqs ;
6015 int bandwidth_isoc_reqs ;
6016 struct dentry *usbfs_dentry ;
6017 struct mon_bus *mon_bus ;
6018 int monitored ;
6019};
6020#line 367
6021struct usb_tt;
6022#line 367
6023struct usb_tt;
6024#line 367
6025struct usb_tt;
6026#line 367
6027struct usb_tt;
6028#line 426 "include/linux/usb.h"
6029struct usb_device {
6030 int devnum ;
6031 char devpath[16] ;
6032 u32 route ;
6033 enum usb_device_state state ;
6034 enum usb_device_speed speed ;
6035 struct usb_tt *tt ;
6036 int ttport ;
6037 unsigned int toggle[2] ;
6038 struct usb_device *parent ;
6039 struct usb_bus *bus ;
6040 struct usb_host_endpoint ep0 ;
6041 struct device dev ;
6042 struct usb_device_descriptor descriptor ;
6043 struct usb_host_config *config ;
6044 struct usb_host_config *actconfig ;
6045 struct usb_host_endpoint *ep_in[16] ;
6046 struct usb_host_endpoint *ep_out[16] ;
6047 char **rawdescriptors ;
6048 unsigned short bus_mA ;
6049 u8 portnum ;
6050 u8 level ;
6051 unsigned int can_submit : 1 ;
6052 unsigned int persist_enabled : 1 ;
6053 unsigned int have_langid : 1 ;
6054 unsigned int authorized : 1 ;
6055 unsigned int authenticated : 1 ;
6056 unsigned int wusb : 1 ;
6057 int string_langid ;
6058 char *product ;
6059 char *manufacturer ;
6060 char *serial ;
6061 struct list_head filelist ;
6062 struct device *usb_classdev ;
6063 struct dentry *usbfs_dentry ;
6064 int maxchild ;
6065 struct usb_device *children[31] ;
6066 u32 quirks ;
6067 atomic_t urbnum ;
6068 unsigned long active_duration ;
6069 unsigned long connect_time ;
6070 unsigned int do_remote_wakeup : 1 ;
6071 unsigned int reset_resume : 1 ;
6072 struct wusb_dev *wusb_dev ;
6073 int slot_id ;
6074};
6075#line 763 "include/linux/usb.h"
6076struct usb_dynids {
6077 spinlock_t lock ;
6078 struct list_head list ;
6079};
6080#line 782 "include/linux/usb.h"
6081struct usbdrv_wrap {
6082 struct device_driver driver ;
6083 int for_devices ;
6084};
6085#line 843 "include/linux/usb.h"
6086struct usb_driver {
6087 char const *name ;
6088 int (*probe)(struct usb_interface *intf , struct usb_device_id const *id ) ;
6089 void (*disconnect)(struct usb_interface *intf ) ;
6090 int (*unlocked_ioctl)(struct usb_interface *intf , unsigned int code , void *buf ) ;
6091 int (*suspend)(struct usb_interface *intf , pm_message_t message ) ;
6092 int (*resume)(struct usb_interface *intf ) ;
6093 int (*reset_resume)(struct usb_interface *intf ) ;
6094 int (*pre_reset)(struct usb_interface *intf ) ;
6095 int (*post_reset)(struct usb_interface *intf ) ;
6096 struct usb_device_id const *id_table ;
6097 struct usb_dynids dynids ;
6098 struct usbdrv_wrap drvwrap ;
6099 unsigned int no_dynamic_id : 1 ;
6100 unsigned int supports_autosuspend : 1 ;
6101 unsigned int soft_unbind : 1 ;
6102};
6103#line 983 "include/linux/usb.h"
6104struct usb_iso_packet_descriptor {
6105 unsigned int offset ;
6106 unsigned int length ;
6107 unsigned int actual_length ;
6108 int status ;
6109};
6110#line 990
6111struct urb;
6112#line 990
6113struct urb;
6114#line 990
6115struct urb;
6116#line 990
6117struct urb;
6118#line 992 "include/linux/usb.h"
6119struct usb_anchor {
6120 struct list_head urb_list ;
6121 wait_queue_head_t wait ;
6122 spinlock_t lock ;
6123 unsigned int poisoned : 1 ;
6124};
6125#line 1183 "include/linux/usb.h"
6126struct urb {
6127 struct kref kref ;
6128 void *hcpriv ;
6129 atomic_t use_count ;
6130 atomic_t reject ;
6131 int unlinked ;
6132 struct list_head urb_list ;
6133 struct list_head anchor_list ;
6134 struct usb_anchor *anchor ;
6135 struct usb_device *dev ;
6136 struct usb_host_endpoint *ep ;
6137 unsigned int pipe ;
6138 unsigned int stream_id ;
6139 int status ;
6140 unsigned int transfer_flags ;
6141 void *transfer_buffer ;
6142 dma_addr_t transfer_dma ;
6143 struct scatterlist *sg ;
6144 int num_sgs ;
6145 u32 transfer_buffer_length ;
6146 u32 actual_length ;
6147 unsigned char *setup_packet ;
6148 dma_addr_t setup_dma ;
6149 int start_frame ;
6150 int number_of_packets ;
6151 int interval ;
6152 int error_count ;
6153 void *context ;
6154 void (*complete)(struct urb * ) ;
6155 struct usb_iso_packet_descriptor iso_frame_desc[0] ;
6156};
6157#line 1388
6158struct scatterlist;
6159#line 41 "include/linux/can.h"
6160typedef __u32 canid_t;
6161#line 57 "include/linux/can.h"
6162struct can_frame {
6163 canid_t can_id ;
6164 __u8 can_dlc ;
6165 __u8 data[8] __attribute__((__aligned__(8))) ;
6166};
6167#line 24 "include/linux/can/netlink.h"
6168struct can_bittiming {
6169 __u32 bitrate ;
6170 __u32 sample_point ;
6171 __u32 tq ;
6172 __u32 prop_seg ;
6173 __u32 phase_seg1 ;
6174 __u32 phase_seg2 ;
6175 __u32 sjw ;
6176 __u32 brp ;
6177};
6178#line 40 "include/linux/can/netlink.h"
6179struct can_bittiming_const {
6180 char name[16] ;
6181 __u32 tseg1_min ;
6182 __u32 tseg1_max ;
6183 __u32 tseg2_min ;
6184 __u32 tseg2_max ;
6185 __u32 sjw_max ;
6186 __u32 brp_min ;
6187 __u32 brp_max ;
6188 __u32 brp_inc ;
6189};
6190#line 55 "include/linux/can/netlink.h"
6191struct can_clock {
6192 __u32 freq ;
6193};
6194#line 62
6195enum can_state {
6196 CAN_STATE_ERROR_ACTIVE = 0,
6197 CAN_STATE_ERROR_WARNING = 1,
6198 CAN_STATE_ERROR_PASSIVE = 2,
6199 CAN_STATE_BUS_OFF = 3,
6200 CAN_STATE_STOPPED = 4,
6201 CAN_STATE_SLEEPING = 5,
6202 CAN_STATE_MAX = 6
6203} ;
6204#line 75 "include/linux/can/netlink.h"
6205struct can_berr_counter {
6206 __u16 txerr ;
6207 __u16 rxerr ;
6208};
6209#line 97 "include/linux/can/netlink.h"
6210struct can_device_stats {
6211 __u32 bus_error ;
6212 __u32 error_warning ;
6213 __u32 error_passive ;
6214 __u32 bus_off ;
6215 __u32 arbitration_lost ;
6216 __u32 restarts ;
6217};
6218#line 24 "include/linux/can/dev.h"
6219enum can_mode {
6220 CAN_MODE_STOP = 0,
6221 CAN_MODE_START = 1,
6222 CAN_MODE_SLEEP = 2
6223} ;
6224#line 33 "include/linux/can/dev.h"
6225struct can_priv {
6226 struct can_device_stats can_stats ;
6227 struct can_bittiming bittiming ;
6228 struct can_bittiming_const *bittiming_const ;
6229 struct can_clock clock ;
6230 enum can_state state ;
6231 u32 ctrlmode ;
6232 u32 ctrlmode_supported ;
6233 int restart_ms ;
6234 struct timer_list restart_timer ;
6235 int (*do_set_bittiming)(struct net_device *dev ) ;
6236 int (*do_set_mode)(struct net_device *dev , enum can_mode mode ) ;
6237 int (*do_get_state)(struct net_device const *dev , enum can_state *state ) ;
6238 int (*do_get_berr_counter)(struct net_device const *dev , struct can_berr_counter *bec ) ;
6239 unsigned int echo_skb_max ;
6240 struct sk_buff **echo_skb ;
6241};
6242#line 127 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6243struct cpc_can_msg {
6244 u32 id ;
6245 u8 length ;
6246 u8 msg[8] ;
6247};
6248#line 134 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6249struct cpc_sja1000_params {
6250 u8 mode ;
6251 u8 acc_code0 ;
6252 u8 acc_code1 ;
6253 u8 acc_code2 ;
6254 u8 acc_code3 ;
6255 u8 acc_mask0 ;
6256 u8 acc_mask1 ;
6257 u8 acc_mask2 ;
6258 u8 acc_mask3 ;
6259 u8 btr0 ;
6260 u8 btr1 ;
6261 u8 outp_contr ;
6262};
6263#line 150 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6264union __anonunion_cc_params_319 {
6265 struct cpc_sja1000_params sja1000 ;
6266};
6267#line 150 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6268struct cpc_can_params {
6269 u8 cc_type ;
6270 union __anonunion_cc_params_319 cc_params ;
6271};
6272#line 160 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6273struct cpc_confirm {
6274 u8 error ;
6275};
6276#line 165 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6277struct cpc_overrun {
6278 u8 event ;
6279 u8 count ;
6280};
6281#line 171 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6282struct cpc_sja1000_can_error {
6283 u8 ecc ;
6284 u8 rxerr ;
6285 u8 txerr ;
6286};
6287#line 178 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6288union __anonunion_regs_321 {
6289 struct cpc_sja1000_can_error sja1000 ;
6290};
6291#line 178 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6292struct __anonstruct_cc_320 {
6293 u8 cc_type ;
6294 union __anonunion_regs_321 regs ;
6295};
6296#line 178 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6297struct cpc_can_error {
6298 u8 ecode ;
6299 struct __anonstruct_cc_320 cc ;
6300};
6301#line 195 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6302struct cpc_can_err_counter {
6303 u8 rx ;
6304 u8 tx ;
6305};
6306#line 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6307union __anonunion_msg_322 {
6308 u8 generic[64] ;
6309 struct cpc_can_msg can_msg ;
6310 struct cpc_can_params can_params ;
6311 struct cpc_confirm confirmation ;
6312 struct cpc_overrun overrun ;
6313 struct cpc_can_error error ;
6314 struct cpc_can_err_counter err_counter ;
6315 u8 can_state ;
6316};
6317#line 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6318struct ems_cpc_msg {
6319 u8 type ;
6320 u8 length ;
6321 u8 msgid ;
6322 u32 ts_sec ;
6323 u32 ts_nsec ;
6324 union __anonunion_msg_322 msg ;
6325} __attribute__((__packed__)) ;
6326#line 238
6327struct ems_usb;
6328#line 238
6329struct ems_usb;
6330#line 238
6331struct ems_usb;
6332#line 238
6333struct ems_usb;
6334#line 240 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6335struct ems_tx_urb_context {
6336 struct ems_usb *dev ;
6337 u32 echo_index ;
6338 u8 dlc ;
6339};
6340#line 247 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
6341struct ems_usb {
6342 struct can_priv can ;
6343 int open_time ;
6344 struct sk_buff *echo_skb[10] ;
6345 struct usb_device *udev ;
6346 struct net_device *netdev ;
6347 atomic_t active_tx_urbs ;
6348 struct usb_anchor tx_submitted ;
6349 struct ems_tx_urb_context tx_contexts[10] ;
6350 struct usb_anchor rx_submitted ;
6351 struct urb *intr_urb ;
6352 u8 *tx_msg_buffer ;
6353 u8 *intr_in_buffer ;
6354 unsigned int free_slots ;
6355 struct ems_cpc_msg active_params ;
6356};
6357#line 1 "<compiler builtins>"
6358void *__builtin_memcpy(void * , void const * , unsigned long ) ;
6359#line 1
6360long __builtin_expect(long , long ) ;
6361#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
6362__inline static void ( __attribute__((__always_inline__)) set_bit)(unsigned int nr ,
6363 unsigned long volatile *addr )
6364{ long volatile *__cil_tmp3 ;
6365
6366 {
6367#line 68
6368 __cil_tmp3 = (long volatile *)addr;
6369#line 68
6370 __asm__ volatile (".section .smp_locks,\"a\"\n"
6371 ".balign 4\n"
6372 ".long 671f - .\n"
6373 ".previous\n"
6374 "671:"
6375 "\n\tlock; "
6376 "bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
6377#line 71
6378 return;
6379}
6380}
6381#line 97 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
6382__inline static void ( __attribute__((__always_inline__)) clear_bit)(int nr , unsigned long volatile *addr )
6383{ long volatile *__cil_tmp3 ;
6384
6385 {
6386#line 105
6387 __cil_tmp3 = (long volatile *)addr;
6388#line 105
6389 __asm__ volatile (".section .smp_locks,\"a\"\n"
6390 ".balign 4\n"
6391 ".long 671f - .\n"
6392 ".previous\n"
6393 "671:"
6394 "\n\tlock; "
6395 "btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
6396#line 109
6397 return;
6398}
6399}
6400#line 246 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
6401__inline static int test_and_clear_bit(int nr , unsigned long volatile *addr )
6402{ int oldbit ;
6403 long volatile *__cil_tmp4 ;
6404
6405 {
6406#line 250
6407 __cil_tmp4 = (long volatile *)addr;
6408#line 250
6409 __asm__ volatile (".section .smp_locks,\"a\"\n"
6410 ".balign 4\n"
6411 ".long 671f - .\n"
6412 ".previous\n"
6413 "671:"
6414 "\n\tlock; "
6415 "btr %2,%1\n\t"
6416 "sbb %0,%0": "=r" (oldbit), "+m" (*__cil_tmp4): "Ir" (nr): "memory");
6417#line 254
6418 return (oldbit);
6419}
6420}
6421#line 309 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
6422__inline static int ( __attribute__((__always_inline__)) constant_test_bit)(unsigned int nr ,
6423 unsigned long const volatile *addr )
6424{ unsigned int __cil_tmp3 ;
6425 unsigned long const volatile *__cil_tmp4 ;
6426 unsigned long volatile __cil_tmp5 ;
6427 unsigned long __cil_tmp6 ;
6428 unsigned int __cil_tmp7 ;
6429 unsigned long __cil_tmp8 ;
6430 unsigned long __cil_tmp9 ;
6431
6432 {
6433 {
6434#line 311
6435 __cil_tmp3 = nr / 64U;
6436#line 311
6437 __cil_tmp4 = addr + __cil_tmp3;
6438#line 311
6439 __cil_tmp5 = *__cil_tmp4;
6440#line 311
6441 __cil_tmp6 = (unsigned long )__cil_tmp5;
6442#line 311
6443 __cil_tmp7 = nr % 64U;
6444#line 311
6445 __cil_tmp8 = 1UL << __cil_tmp7;
6446#line 311
6447 __cil_tmp9 = __cil_tmp8 & __cil_tmp6;
6448#line 311
6449 return (__cil_tmp9 != 0UL);
6450 }
6451}
6452}
6453#line 100 "include/linux/printk.h"
6454extern int printk(char const *fmt , ...) ;
6455#line 69 "include/asm-generic/bug.h"
6456extern void warn_slowpath_null(char const *file , int line ) ;
6457#line 55 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
6458extern void *memset(void *s , int c , size_t n ) ;
6459#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
6460__inline static int atomic_read(atomic_t const *v )
6461{ int const *__cil_tmp2 ;
6462 int volatile *__cil_tmp3 ;
6463 int volatile __cil_tmp4 ;
6464
6465 {
6466 {
6467#line 25
6468 __cil_tmp2 = & v->counter;
6469#line 25
6470 __cil_tmp3 = (int volatile *)__cil_tmp2;
6471#line 25
6472 __cil_tmp4 = *__cil_tmp3;
6473#line 25
6474 return ((int )__cil_tmp4);
6475 }
6476}
6477}
6478#line 35 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
6479__inline static void atomic_set(atomic_t *v , int i )
6480{
6481
6482 {
6483#line 37
6484 v->counter = i;
6485#line 38
6486 return;
6487}
6488}
6489#line 93 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
6490__inline static void atomic_inc(atomic_t *v )
6491{
6492
6493 {
6494#line 95
6495 __asm__ volatile (".section .smp_locks,\"a\"\n"
6496 ".balign 4\n"
6497 ".long 671f - .\n"
6498 ".previous\n"
6499 "671:"
6500 "\n\tlock; "
6501 "incl %0": "+m" (v->counter));
6502#line 97
6503 return;
6504}
6505}
6506#line 105 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
6507__inline static void atomic_dec(atomic_t *v )
6508{
6509
6510 {
6511#line 107
6512 __asm__ volatile (".section .smp_locks,\"a\"\n"
6513 ".balign 4\n"
6514 ".long 671f - .\n"
6515 ".previous\n"
6516 "671:"
6517 "\n\tlock; "
6518 "decl %0": "+m" (v->counter));
6519#line 109
6520 return;
6521}
6522}
6523#line 24 "include/linux/list.h"
6524__inline static void INIT_LIST_HEAD(struct list_head *list )
6525{
6526
6527 {
6528#line 26
6529 list->next = list;
6530#line 27
6531 list->prev = list;
6532#line 28
6533 return;
6534}
6535}
6536#line 93 "include/linux/spinlock.h"
6537extern void __raw_spin_lock_init(raw_spinlock_t *lock , char const *name , struct lock_class_key *key ) ;
6538#line 272 "include/linux/spinlock.h"
6539__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock )
6540{
6541
6542 {
6543#line 274
6544 return (& lock->__annonCompField18.rlock);
6545}
6546}
6547#line 80 "include/linux/wait.h"
6548extern void __init_waitqueue_head(wait_queue_head_t *q , struct lock_class_key * ) ;
6549#line 82 "include/linux/jiffies.h"
6550extern unsigned long volatile jiffies __attribute__((__section__(".data"))) ;
6551#line 141 "include/linux/slab.h"
6552extern void kfree(void const * ) ;
6553#line 221 "include/linux/slub_def.h"
6554extern void *__kmalloc(size_t size , gfp_t flags ) ;
6555#line 255 "include/linux/slub_def.h"
6556__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
6557 gfp_t flags )
6558{ void *tmp___2 ;
6559
6560 {
6561 {
6562#line 270
6563 tmp___2 = __kmalloc(size, flags);
6564 }
6565#line 270
6566 return (tmp___2);
6567}
6568}
6569#line 318 "include/linux/slab.h"
6570__inline static void *kzalloc(size_t size , gfp_t flags )
6571{ void *tmp ;
6572 unsigned int __cil_tmp4 ;
6573
6574 {
6575 {
6576#line 320
6577 __cil_tmp4 = flags | 32768U;
6578#line 320
6579 tmp = kmalloc(size, __cil_tmp4);
6580 }
6581#line 320
6582 return (tmp);
6583}
6584}
6585#line 79 "include/linux/module.h"
6586int init_module(void) ;
6587#line 80
6588void cleanup_module(void) ;
6589#line 99
6590extern struct module __this_module ;
6591#line 705 "include/linux/device.h"
6592extern void *dev_get_drvdata(struct device const *dev ) __attribute__((__ldv_model__)) ;
6593#line 706
6594extern int dev_set_drvdata(struct device *dev , void *data ) ;
6595#line 797
6596extern int dev_err(struct device const *dev , char const *fmt , ...) ;
6597#line 799
6598extern int dev_warn(struct device const *dev , char const *fmt , ...) ;
6599#line 803
6600extern int _dev_info(struct device const *dev , char const *fmt , ...) ;
6601#line 490 "include/linux/skbuff.h"
6602extern void kfree_skb(struct sk_buff *skb ) ;
6603#line 491
6604extern void consume_skb(struct sk_buff *skb ) ;
6605#line 1409 "include/linux/netdevice.h"
6606__inline static struct netdev_queue *netdev_get_tx_queue(struct net_device const *dev ,
6607 unsigned int index )
6608{ struct netdev_queue *__cil_tmp3 ;
6609 struct netdev_queue *__cil_tmp4 ;
6610
6611 {
6612 {
6613#line 1413
6614 __cil_tmp3 = dev->_tx;
6615#line 1413
6616 __cil_tmp4 = __cil_tmp3 + index;
6617#line 1413
6618 return ((struct netdev_queue *)__cil_tmp4);
6619 }
6620}
6621}
6622#line 1481 "include/linux/netdevice.h"
6623__inline static void *netdev_priv(struct net_device const *dev )
6624{ unsigned long __cil_tmp2 ;
6625 unsigned long __cil_tmp3 ;
6626 char *__cil_tmp4 ;
6627 char *__cil_tmp5 ;
6628
6629 {
6630 {
6631#line 1483
6632 __cil_tmp2 = 2496UL + 31UL;
6633#line 1483
6634 __cil_tmp3 = __cil_tmp2 & 1152921504606846944UL;
6635#line 1483
6636 __cil_tmp4 = (char *)dev;
6637#line 1483
6638 __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
6639#line 1483
6640 return ((void *)__cil_tmp5);
6641 }
6642}
6643}
6644#line 1656
6645extern int netpoll_trap(void) ;
6646#line 1788
6647extern void __netif_schedule(struct Qdisc *q ) ;
6648#line 1804 "include/linux/netdevice.h"
6649__inline static void netif_tx_start_queue(struct netdev_queue *dev_queue )
6650{ unsigned long *__cil_tmp2 ;
6651 unsigned long volatile *__cil_tmp3 ;
6652
6653 {
6654 {
6655#line 1806
6656 __cil_tmp2 = & dev_queue->state;
6657#line 1806
6658 __cil_tmp3 = (unsigned long volatile *)__cil_tmp2;
6659#line 1806
6660 clear_bit(0, __cil_tmp3);
6661 }
6662#line 1807
6663 return;
6664}
6665}
6666#line 1815 "include/linux/netdevice.h"
6667__inline static void netif_start_queue(struct net_device *dev )
6668{ struct netdev_queue *tmp___7 ;
6669 struct net_device const *__cil_tmp3 ;
6670
6671 {
6672 {
6673#line 1817
6674 __cil_tmp3 = (struct net_device const *)dev;
6675#line 1817
6676 tmp___7 = netdev_get_tx_queue(__cil_tmp3, 0U);
6677#line 1817
6678 netif_tx_start_queue(tmp___7);
6679 }
6680#line 1818
6681 return;
6682}
6683}
6684#line 1830 "include/linux/netdevice.h"
6685__inline static void netif_tx_wake_queue(struct netdev_queue *dev_queue )
6686{ int tmp___7 ;
6687 int tmp___8 ;
6688 unsigned long *__cil_tmp4 ;
6689 unsigned long volatile *__cil_tmp5 ;
6690 struct Qdisc *__cil_tmp6 ;
6691
6692 {
6693 {
6694#line 1833
6695 tmp___7 = netpoll_trap();
6696 }
6697#line 1833
6698 if (tmp___7) {
6699 {
6700#line 1834
6701 netif_tx_start_queue(dev_queue);
6702 }
6703#line 1835
6704 return;
6705 } else {
6706
6707 }
6708 {
6709#line 1838
6710 __cil_tmp4 = & dev_queue->state;
6711#line 1838
6712 __cil_tmp5 = (unsigned long volatile *)__cil_tmp4;
6713#line 1838
6714 tmp___8 = test_and_clear_bit(0, __cil_tmp5);
6715 }
6716#line 1838
6717 if (tmp___8) {
6718 {
6719#line 1839
6720 __cil_tmp6 = dev_queue->qdisc;
6721#line 1839
6722 __netif_schedule(__cil_tmp6);
6723 }
6724 } else {
6725
6726 }
6727#line 1840
6728 return;
6729}
6730}
6731#line 1849 "include/linux/netdevice.h"
6732__inline static void netif_wake_queue(struct net_device *dev )
6733{ struct netdev_queue *tmp___7 ;
6734 struct net_device const *__cil_tmp3 ;
6735
6736 {
6737 {
6738#line 1851
6739 __cil_tmp3 = (struct net_device const *)dev;
6740#line 1851
6741 tmp___7 = netdev_get_tx_queue(__cil_tmp3, 0U);
6742#line 1851
6743 netif_tx_wake_queue(tmp___7);
6744 }
6745#line 1852
6746 return;
6747}
6748}
6749#line 1864 "include/linux/netdevice.h"
6750__inline static void netif_tx_stop_queue(struct netdev_queue *dev_queue )
6751{ int __ret_warn_on ;
6752 long tmp___7 ;
6753 long tmp___8 ;
6754 int __cil_tmp5 ;
6755 int __cil_tmp6 ;
6756 int __cil_tmp7 ;
6757 int __cil_tmp8 ;
6758 long __cil_tmp9 ;
6759 int __cil_tmp10 ;
6760 int __cil_tmp11 ;
6761 int __cil_tmp12 ;
6762 int __cil_tmp13 ;
6763 long __cil_tmp14 ;
6764 unsigned long *__cil_tmp15 ;
6765 unsigned long volatile *__cil_tmp16 ;
6766
6767 {
6768 {
6769#line 1866
6770 __cil_tmp5 = ! dev_queue;
6771#line 1866
6772 __cil_tmp6 = ! __cil_tmp5;
6773#line 1866
6774 __ret_warn_on = ! __cil_tmp6;
6775#line 1866
6776 __cil_tmp7 = ! __ret_warn_on;
6777#line 1866
6778 __cil_tmp8 = ! __cil_tmp7;
6779#line 1866
6780 __cil_tmp9 = (long )__cil_tmp8;
6781#line 1866
6782 tmp___7 = __builtin_expect(__cil_tmp9, 0L);
6783 }
6784#line 1866
6785 if (tmp___7) {
6786 {
6787#line 1866
6788 __cil_tmp10 = (int const )1866;
6789#line 1866
6790 __cil_tmp11 = (int )__cil_tmp10;
6791#line 1866
6792 warn_slowpath_null("include/linux/netdevice.h", __cil_tmp11);
6793 }
6794 } else {
6795
6796 }
6797 {
6798#line 1866
6799 __cil_tmp12 = ! __ret_warn_on;
6800#line 1866
6801 __cil_tmp13 = ! __cil_tmp12;
6802#line 1866
6803 __cil_tmp14 = (long )__cil_tmp13;
6804#line 1866
6805 tmp___8 = __builtin_expect(__cil_tmp14, 0L);
6806 }
6807#line 1866
6808 if (tmp___8) {
6809 {
6810#line 1867
6811 printk("<6>netif_stop_queue() cannot be called before register_netdev()\n");
6812 }
6813#line 1868
6814 return;
6815 } else {
6816
6817 }
6818 {
6819#line 1870
6820 __cil_tmp15 = & dev_queue->state;
6821#line 1870
6822 __cil_tmp16 = (unsigned long volatile *)__cil_tmp15;
6823#line 1870
6824 set_bit(0U, __cil_tmp16);
6825 }
6826#line 1871
6827 return;
6828}
6829}
6830#line 1880 "include/linux/netdevice.h"
6831__inline static void netif_stop_queue(struct net_device *dev )
6832{ struct netdev_queue *tmp___7 ;
6833 struct net_device const *__cil_tmp3 ;
6834
6835 {
6836 {
6837#line 1882
6838 __cil_tmp3 = (struct net_device const *)dev;
6839#line 1882
6840 tmp___7 = netdev_get_tx_queue(__cil_tmp3, 0U);
6841#line 1882
6842 netif_tx_stop_queue(tmp___7);
6843 }
6844#line 1883
6845 return;
6846}
6847}
6848#line 1895 "include/linux/netdevice.h"
6849__inline static int netif_tx_queue_stopped(struct netdev_queue const *dev_queue )
6850{ int tmp___7 ;
6851 unsigned long const *__cil_tmp3 ;
6852 unsigned long const volatile *__cil_tmp4 ;
6853
6854 {
6855 {
6856#line 1897
6857 __cil_tmp3 = & dev_queue->state;
6858#line 1897
6859 __cil_tmp4 = (unsigned long const volatile *)__cil_tmp3;
6860#line 1897
6861 tmp___7 = constant_test_bit(0U, __cil_tmp4);
6862 }
6863#line 1897
6864 return (tmp___7);
6865}
6866}
6867#line 1906 "include/linux/netdevice.h"
6868__inline static int netif_queue_stopped(struct net_device const *dev )
6869{ struct netdev_queue *tmp___7 ;
6870 int tmp___8 ;
6871 struct netdev_queue const *__cil_tmp4 ;
6872
6873 {
6874 {
6875#line 1908
6876 tmp___7 = netdev_get_tx_queue(dev, 0U);
6877#line 1908
6878 __cil_tmp4 = (struct netdev_queue const *)tmp___7;
6879#line 1908
6880 tmp___8 = netif_tx_queue_stopped(__cil_tmp4);
6881 }
6882#line 1908
6883 return (tmp___8);
6884}
6885}
6886#line 2064
6887extern int netif_rx(struct sk_buff *skb ) ;
6888#line 2234 "include/linux/netdevice.h"
6889__inline static int netif_device_present(struct net_device *dev )
6890{ int tmp___7 ;
6891 unsigned long *__cil_tmp3 ;
6892 unsigned long const volatile *__cil_tmp4 ;
6893
6894 {
6895 {
6896#line 2236
6897 __cil_tmp3 = & dev->state;
6898#line 2236
6899 __cil_tmp4 = (unsigned long const volatile *)__cil_tmp3;
6900#line 2236
6901 tmp___7 = constant_test_bit(1U, __cil_tmp4);
6902 }
6903#line 2236
6904 return (tmp___7);
6905}
6906}
6907#line 2239
6908extern void netif_device_detach(struct net_device *dev ) ;
6909#line 2459
6910extern void unregister_netdev(struct net_device *dev ) ;
6911#line 191 "include/linux/usb.h"
6912__inline static void *usb_get_intfdata(struct usb_interface *intf ) __attribute__((__ldv_model__)) ;
6913#line 191
6914__inline static void *usb_get_intfdata(struct usb_interface *intf ) __attribute__((__ldv_model__)) ;
6915#line 191 "include/linux/usb.h"
6916__inline static void *usb_get_intfdata(struct usb_interface *intf )
6917{ void *tmp___7 ;
6918 struct device *__cil_tmp3 ;
6919 struct device const *__cil_tmp4 ;
6920
6921 {
6922 {
6923#line 193
6924 __cil_tmp3 = & intf->dev;
6925#line 193
6926 __cil_tmp4 = (struct device const *)__cil_tmp3;
6927#line 193
6928 tmp___7 = dev_get_drvdata(__cil_tmp4);
6929 }
6930#line 193
6931 return (tmp___7);
6932}
6933}
6934#line 196
6935__inline static void usb_set_intfdata(struct usb_interface *intf , void *data ) __attribute__((__ldv_model__)) ;
6936#line 196
6937__inline static void usb_set_intfdata(struct usb_interface *intf , void *data ) __attribute__((__ldv_model__)) ;
6938#line 196 "include/linux/usb.h"
6939__inline static void usb_set_intfdata(struct usb_interface *intf , void *data )
6940{ struct device *__cil_tmp3 ;
6941
6942 {
6943 {
6944#line 198
6945 __cil_tmp3 = & intf->dev;
6946#line 198
6947 dev_set_drvdata(__cil_tmp3, data);
6948 }
6949#line 199
6950 return;
6951}
6952}
6953#line 497 "include/linux/usb.h"
6954__inline static struct usb_device *interface_to_usbdev(struct usb_interface *intf )
6955{ struct device const *__mptr ;
6956 struct device *__cil_tmp3 ;
6957 struct usb_device *__cil_tmp4 ;
6958 struct device *__cil_tmp5 ;
6959 unsigned int __cil_tmp6 ;
6960 char *__cil_tmp7 ;
6961 char *__cil_tmp8 ;
6962
6963 {
6964#line 499
6965 __cil_tmp3 = intf->dev.parent;
6966#line 499
6967 __mptr = (struct device const *)__cil_tmp3;
6968 {
6969#line 499
6970 __cil_tmp4 = (struct usb_device *)0;
6971#line 499
6972 __cil_tmp5 = & __cil_tmp4->dev;
6973#line 499
6974 __cil_tmp6 = (unsigned int )__cil_tmp5;
6975#line 499
6976 __cil_tmp7 = (char *)__mptr;
6977#line 499
6978 __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
6979#line 499
6980 return ((struct usb_device *)__cil_tmp8);
6981 }
6982}
6983}
6984#line 929
6985extern int usb_register_driver(struct usb_driver * , struct module * , char const * ) ;
6986#line 931 "include/linux/usb.h"
6987__inline static int usb_register(struct usb_driver *driver )
6988{ int tmp___7 ;
6989
6990 {
6991 {
6992#line 933
6993 tmp___7 = usb_register_driver(driver, & __this_module, "ems_usb");
6994 }
6995#line 933
6996 return (tmp___7);
6997}
6998}
6999#line 935
7000extern void usb_deregister(struct usb_driver * ) ;
7001#line 1002 "include/linux/usb.h"
7002static struct lock_class_key __key___7 ;
7003#line 1003 "include/linux/usb.h"
7004static struct lock_class_key __key___8 ;
7005#line 999 "include/linux/usb.h"
7006__inline static void init_usb_anchor(struct usb_anchor *anchor )
7007{ struct list_head *__cil_tmp2 ;
7008 wait_queue_head_t *__cil_tmp3 ;
7009 spinlock_t *__cil_tmp4 ;
7010 struct raw_spinlock *__cil_tmp5 ;
7011
7012 {
7013 {
7014#line 1001
7015 __cil_tmp2 = & anchor->urb_list;
7016#line 1001
7017 INIT_LIST_HEAD(__cil_tmp2);
7018 }
7019 {
7020#line 1002
7021 while (1) {
7022 while_continue: ;
7023 {
7024#line 1002
7025 __cil_tmp3 = & anchor->wait;
7026#line 1002
7027 __init_waitqueue_head(__cil_tmp3, & __key___7);
7028 }
7029#line 1002
7030 goto while_break;
7031 }
7032 while_break___2: ;
7033 }
7034
7035 while_break: ;
7036 {
7037#line 1003
7038 while (1) {
7039 while_continue___0: ;
7040 {
7041#line 1003
7042 __cil_tmp4 = & anchor->lock;
7043#line 1003
7044 spinlock_check(__cil_tmp4);
7045 }
7046 {
7047#line 1003
7048 while (1) {
7049 while_continue___1: ;
7050 {
7051#line 1003
7052 __cil_tmp5 = & anchor->lock.__annonCompField18.rlock;
7053#line 1003
7054 __raw_spin_lock_init(__cil_tmp5, "&(&anchor->lock)->rlock", & __key___8);
7055 }
7056#line 1003
7057 goto while_break___1;
7058 }
7059 while_break___4: ;
7060 }
7061
7062 while_break___1: ;
7063#line 1003
7064 goto while_break___0;
7065 }
7066 while_break___3: ;
7067 }
7068
7069 while_break___0: ;
7070#line 1004
7071 return;
7072}
7073}
7074#line 1268 "include/linux/usb.h"
7075__inline static void usb_fill_bulk_urb(struct urb *urb , struct usb_device *dev ,
7076 unsigned int pipe , void *transfer_buffer ,
7077 int buffer_length , void (*complete_fn)(struct urb * ) ,
7078 void *context )
7079{
7080
7081 {
7082#line 1276
7083 urb->dev = dev;
7084#line 1277
7085 urb->pipe = pipe;
7086#line 1278
7087 urb->transfer_buffer = transfer_buffer;
7088#line 1279
7089 urb->transfer_buffer_length = (u32 )buffer_length;
7090#line 1280
7091 urb->complete = complete_fn;
7092#line 1281
7093 urb->context = context;
7094#line 1282
7095 return;
7096}
7097}
7098#line 1309 "include/linux/usb.h"
7099__inline static void usb_fill_int_urb(struct urb *urb , struct usb_device *dev , unsigned int pipe ,
7100 void *transfer_buffer , int buffer_length ,
7101 void (*complete_fn)(struct urb * ) , void *context ,
7102 int interval )
7103{ enum usb_device_speed __cil_tmp9 ;
7104 unsigned int __cil_tmp10 ;
7105 int __cil_tmp11 ;
7106 enum usb_device_speed __cil_tmp12 ;
7107 unsigned int __cil_tmp13 ;
7108 int __cil_tmp14 ;
7109
7110 {
7111#line 1318
7112 urb->dev = dev;
7113#line 1319
7114 urb->pipe = pipe;
7115#line 1320
7116 urb->transfer_buffer = transfer_buffer;
7117#line 1321
7118 urb->transfer_buffer_length = (u32 )buffer_length;
7119#line 1322
7120 urb->complete = complete_fn;
7121#line 1323
7122 urb->context = context;
7123 {
7124#line 1324
7125 __cil_tmp9 = dev->speed;
7126#line 1324
7127 __cil_tmp10 = (unsigned int )__cil_tmp9;
7128#line 1324
7129 if (__cil_tmp10 == 3U) {
7130#line 1325
7131 __cil_tmp11 = interval - 1;
7132#line 1325
7133 urb->interval = 1 << __cil_tmp11;
7134 } else {
7135 {
7136#line 1324
7137 __cil_tmp12 = dev->speed;
7138#line 1324
7139 __cil_tmp13 = (unsigned int )__cil_tmp12;
7140#line 1324
7141 if (__cil_tmp13 == 5U) {
7142#line 1325
7143 __cil_tmp14 = interval - 1;
7144#line 1325
7145 urb->interval = 1 << __cil_tmp14;
7146 } else {
7147#line 1327
7148 urb->interval = interval;
7149 }
7150 }
7151 }
7152 }
7153#line 1328
7154 urb->start_frame = -1;
7155#line 1329
7156 return;
7157}
7158}
7159#line 1332
7160struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
7161#line 1333
7162void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
7163#line 1336
7164extern int usb_submit_urb(struct urb *urb , gfp_t mem_flags ) ;
7165#line 1337
7166extern int usb_unlink_urb(struct urb *urb ) ;
7167#line 1341
7168extern void usb_kill_anchored_urbs(struct usb_anchor *anchor ) ;
7169#line 1345
7170extern void usb_anchor_urb(struct urb *urb , struct usb_anchor *anchor ) ;
7171#line 1346
7172extern void usb_unanchor_urb(struct urb *urb ) ;
7173#line 1377
7174void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
7175 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
7176#line 1379
7177void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
7178#line 1407
7179extern int usb_bulk_msg(struct usb_device *usb_dev , unsigned int pipe , void *data ,
7180 int len , int *actual_length , int timeout ) ;
7181#line 1526 "include/linux/usb.h"
7182__inline static unsigned int __create_pipe(struct usb_device *dev , unsigned int endpoint )
7183{ unsigned int __cil_tmp3 ;
7184 int __cil_tmp4 ;
7185 int __cil_tmp5 ;
7186 unsigned int __cil_tmp6 ;
7187
7188 {
7189 {
7190#line 1529
7191 __cil_tmp3 = endpoint << 15;
7192#line 1529
7193 __cil_tmp4 = dev->devnum;
7194#line 1529
7195 __cil_tmp5 = __cil_tmp4 << 8;
7196#line 1529
7197 __cil_tmp6 = (unsigned int )__cil_tmp5;
7198#line 1529
7199 return (__cil_tmp6 | __cil_tmp3);
7200 }
7201}
7202}
7203#line 68 "include/linux/can/dev.h"
7204__inline static int can_dropped_invalid_skb(struct net_device *dev , struct sk_buff *skb )
7205{ struct can_frame const *cf ;
7206 int tmp___7 ;
7207 long tmp___8 ;
7208 unsigned char *__cil_tmp6 ;
7209 struct can_frame *__cil_tmp7 ;
7210 unsigned int __cil_tmp8 ;
7211 unsigned long __cil_tmp9 ;
7212 __u8 __cil_tmp10 ;
7213 int __cil_tmp11 ;
7214 long __cil_tmp12 ;
7215 unsigned long __cil_tmp13 ;
7216
7217 {
7218#line 71
7219 __cil_tmp6 = skb->data;
7220#line 71
7221 __cil_tmp7 = (struct can_frame *)__cil_tmp6;
7222#line 71
7223 cf = (struct can_frame const *)__cil_tmp7;
7224 {
7225#line 73
7226 __cil_tmp8 = skb->len;
7227#line 73
7228 __cil_tmp9 = (unsigned long )__cil_tmp8;
7229#line 73
7230 if (__cil_tmp9 != 16UL) {
7231#line 73
7232 tmp___7 = 1;
7233 } else {
7234 {
7235#line 73
7236 __cil_tmp10 = cf->can_dlc;
7237#line 73
7238 __cil_tmp11 = (int const )__cil_tmp10;
7239#line 73
7240 if (__cil_tmp11 > 8) {
7241#line 73
7242 tmp___7 = 1;
7243 } else {
7244#line 73
7245 tmp___7 = 0;
7246 }
7247 }
7248 }
7249 }
7250 {
7251#line 73
7252 __cil_tmp12 = (long )tmp___7;
7253#line 73
7254 tmp___8 = __builtin_expect(__cil_tmp12, 0L);
7255 }
7256#line 73
7257 if (tmp___8) {
7258 {
7259#line 74
7260 kfree_skb(skb);
7261#line 75
7262 __cil_tmp13 = dev->stats.tx_dropped;
7263#line 75
7264 dev->stats.tx_dropped = __cil_tmp13 + 1UL;
7265 }
7266#line 76
7267 return (1);
7268 } else {
7269
7270 }
7271#line 79
7272 return (0);
7273}
7274}
7275#line 82
7276extern struct net_device *alloc_candev(int sizeof_priv , unsigned int echo_skb_max ) ;
7277#line 83
7278extern void free_candev(struct net_device *dev ) ;
7279#line 85
7280extern int open_candev(struct net_device *dev ) ;
7281#line 86
7282extern void close_candev(struct net_device *dev ) ;
7283#line 88
7284extern int register_candev(struct net_device *dev ) ;
7285#line 92
7286extern void can_bus_off(struct net_device *dev ) ;
7287#line 94
7288extern void can_put_echo_skb(struct sk_buff *skb , struct net_device *dev , unsigned int idx ) ;
7289#line 96
7290extern void can_get_echo_skb(struct net_device *dev , unsigned int idx ) ;
7291#line 97
7292extern void can_free_echo_skb(struct net_device *dev , unsigned int idx ) ;
7293#line 99
7294extern struct sk_buff *alloc_can_skb(struct net_device *dev , struct can_frame **cf ) ;
7295#line 100
7296extern struct sk_buff *alloc_can_err_skb(struct net_device *dev , struct can_frame **cf ) ;
7297#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7298static char const __mod_author31[46] __attribute__((__used__, __unused__, __section__(".modinfo"),
7299__aligned__(1))) =
7300#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7301 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
7302 (char const )'o', (char const )'r', (char const )'=', (char const )'S',
7303 (char const )'e', (char const )'b', (char const )'a', (char const )'s',
7304 (char const )'t', (char const )'i', (char const )'a', (char const )'n',
7305 (char const )' ', (char const )'H', (char const )'a', (char const )'a',
7306 (char const )'s', (char const )' ', (char const )'<', (char const )'h',
7307 (char const )'a', (char const )'a', (char const )'s', (char const )'@',
7308 (char const )'e', (char const )'m', (char const )'s', (char const )'-',
7309 (char const )'w', (char const )'u', (char const )'e', (char const )'n',
7310 (char const )'s', (char const )'c', (char const )'h', (char const )'e',
7311 (char const )'.', (char const )'c', (char const )'o', (char const )'m',
7312 (char const )'>', (char const )'\000'};
7313#line 32 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7314static char const __mod_description32[70] __attribute__((__used__, __unused__,
7315__section__(".modinfo"), __aligned__(1))) =
7316#line 32
7317 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
7318 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
7319 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
7320 (char const )'C', (char const )'A', (char const )'N', (char const )' ',
7321 (char const )'d', (char const )'r', (char const )'i', (char const )'v',
7322 (char const )'e', (char const )'r', (char const )' ', (char const )'f',
7323 (char const )'o', (char const )'r', (char const )' ', (char const )'E',
7324 (char const )'M', (char const )'S', (char const )' ', (char const )'D',
7325 (char const )'r', (char const )'.', (char const )' ', (char const )'T',
7326 (char const )'h', (char const )'o', (char const )'m', (char const )'a',
7327 (char const )'s', (char const )' ', (char const )'W', (char const )'u',
7328 (char const )'e', (char const )'n', (char const )'s', (char const )'c',
7329 (char const )'h', (char const )'e', (char const )' ', (char const )'C',
7330 (char const )'A', (char const )'N', (char const )'/', (char const )'U',
7331 (char const )'S', (char const )'B', (char const )' ', (char const )'i',
7332 (char const )'n', (char const )'t', (char const )'e', (char const )'r',
7333 (char const )'f', (char const )'a', (char const )'c', (char const )'e',
7334 (char const )'s', (char const )'\000'};
7335#line 33 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7336static char const __mod_license33[15] __attribute__((__used__, __unused__, __section__(".modinfo"),
7337__aligned__(1))) =
7338#line 33
7339 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
7340 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
7341 (char const )'G', (char const )'P', (char const )'L', (char const )' ',
7342 (char const )'v', (char const )'2', (char const )'\000'};
7343#line 224 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7344static struct usb_device_id ems_usb_table[1] = { {(__u16 )3, (__u16 )4822, (__u16 )1092, (unsigned short)0, (unsigned short)0,
7345 (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0, (unsigned char)0,
7346 (unsigned char)0, 0UL}};
7347#line 229
7348extern struct usb_device_id const __mod_usb_device_table __attribute__((__unused__,
7349__alias__("ems_usb_table"))) ;
7350#line 272 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7351static void ems_usb_read_interrupt_callback(struct urb *urb )
7352{ struct ems_usb *dev ;
7353 struct net_device *netdev ;
7354 int err ;
7355 int tmp___7 ;
7356 void *__cil_tmp6 ;
7357 int __cil_tmp7 ;
7358 int __cil_tmp8 ;
7359 int __cil_tmp9 ;
7360 int __cil_tmp10 ;
7361 u8 *__cil_tmp11 ;
7362 u8 *__cil_tmp12 ;
7363 u8 __cil_tmp13 ;
7364 struct device *__cil_tmp14 ;
7365 struct device const *__cil_tmp15 ;
7366 int __cil_tmp16 ;
7367 struct device *__cil_tmp17 ;
7368 struct device const *__cil_tmp18 ;
7369
7370 {
7371 {
7372#line 274
7373 __cil_tmp6 = urb->context;
7374#line 274
7375 dev = (struct ems_usb *)__cil_tmp6;
7376#line 275
7377 netdev = dev->netdev;
7378#line 278
7379 tmp___7 = netif_device_present(netdev);
7380 }
7381#line 278
7382 if (tmp___7) {
7383
7384 } else {
7385#line 279
7386 return;
7387 }
7388 {
7389#line 282
7390 __cil_tmp7 = urb->status;
7391#line 282
7392 if (__cil_tmp7 == 0) {
7393#line 282
7394 goto case_0;
7395 } else {
7396 {
7397#line 286
7398 __cil_tmp8 = urb->status;
7399#line 286
7400 if (__cil_tmp8 == -104) {
7401#line 286
7402 goto case_neg_104;
7403 } else {
7404 {
7405#line 287
7406 __cil_tmp9 = urb->status;
7407#line 287
7408 if (__cil_tmp9 == -2) {
7409#line 287
7410 goto case_neg_104;
7411 } else {
7412 {
7413#line 288
7414 __cil_tmp10 = urb->status;
7415#line 288
7416 if (__cil_tmp10 == -108) {
7417#line 288
7418 goto case_neg_104;
7419 } else {
7420#line 291
7421 goto switch_default;
7422#line 281
7423 if (0) {
7424 case_0:
7425#line 283
7426 __cil_tmp11 = dev->intr_in_buffer;
7427#line 283
7428 __cil_tmp12 = __cil_tmp11 + 1;
7429#line 283
7430 __cil_tmp13 = *__cil_tmp12;
7431#line 283
7432 dev->free_slots = (unsigned int )__cil_tmp13;
7433#line 284
7434 goto switch_break;
7435 case_neg_104:
7436#line 289
7437 return;
7438 switch_default:
7439 {
7440#line 292
7441 __cil_tmp14 = netdev->dev.parent;
7442#line 292
7443 __cil_tmp15 = (struct device const *)__cil_tmp14;
7444#line 292
7445 __cil_tmp16 = urb->status;
7446#line 292
7447 _dev_info(__cil_tmp15, "Rx interrupt aborted %d\n", __cil_tmp16);
7448 }
7449#line 294
7450 goto switch_break;
7451 } else {
7452 switch_break: ;
7453 }
7454 }
7455 }
7456 }
7457 }
7458 }
7459 }
7460 }
7461 }
7462 {
7463#line 297
7464 err = usb_submit_urb(urb, 32U);
7465 }
7466#line 299
7467 if (err == -19) {
7468 {
7469#line 300
7470 netif_device_detach(netdev);
7471 }
7472 } else
7473#line 301
7474 if (err) {
7475 {
7476#line 302
7477 __cil_tmp17 = netdev->dev.parent;
7478#line 302
7479 __cil_tmp18 = (struct device const *)__cil_tmp17;
7480#line 302
7481 dev_err(__cil_tmp18, "failed resubmitting intr urb: %d\n", err);
7482 }
7483 } else {
7484
7485 }
7486#line 304
7487 return;
7488}
7489}
7490#line 306 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7491static void ems_usb_rx_can_msg(struct ems_usb *dev , struct ems_cpc_msg *msg )
7492{ struct can_frame *cf ;
7493 struct sk_buff *skb ;
7494 int i ;
7495 struct net_device_stats *stats ;
7496 __u8 __min1 ;
7497 __u8 __min2 ;
7498 int tmp___7 ;
7499 struct net_device *__cil_tmp10 ;
7500 struct net_device *__cil_tmp11 ;
7501 void *__cil_tmp12 ;
7502 unsigned long __cil_tmp13 ;
7503 unsigned long __cil_tmp14 ;
7504 u8 __cil_tmp15 ;
7505 int __cil_tmp16 ;
7506 int __cil_tmp17 ;
7507 int __cil_tmp18 ;
7508 int __cil_tmp19 ;
7509 u8 __cil_tmp20 ;
7510 int __cil_tmp21 ;
7511 canid_t __cil_tmp22 ;
7512 u8 __cil_tmp23 ;
7513 int __cil_tmp24 ;
7514 canid_t __cil_tmp25 ;
7515 u8 __cil_tmp26 ;
7516 int __cil_tmp27 ;
7517 canid_t __cil_tmp28 ;
7518 u8 __cil_tmp29 ;
7519 int __cil_tmp30 ;
7520 canid_t __cil_tmp31 ;
7521 __u8 __cil_tmp32 ;
7522 int __cil_tmp33 ;
7523 unsigned long __cil_tmp34 ;
7524 __u8 __cil_tmp35 ;
7525 unsigned long __cil_tmp36 ;
7526 unsigned long __cil_tmp37 ;
7527
7528 {
7529 {
7530#line 311
7531 __cil_tmp10 = dev->netdev;
7532#line 311
7533 stats = & __cil_tmp10->stats;
7534#line 313
7535 __cil_tmp11 = dev->netdev;
7536#line 313
7537 skb = alloc_can_skb(__cil_tmp11, & cf);
7538 }
7539 {
7540#line 314
7541 __cil_tmp12 = (void *)0;
7542#line 314
7543 __cil_tmp13 = (unsigned long )__cil_tmp12;
7544#line 314
7545 __cil_tmp14 = (unsigned long )skb;
7546#line 314
7547 if (__cil_tmp14 == __cil_tmp13) {
7548#line 315
7549 return;
7550 } else {
7551
7552 }
7553 }
7554#line 317
7555 cf->can_id = msg->msg.can_msg.id;
7556#line 318
7557 __cil_tmp15 = msg->msg.can_msg.length;
7558#line 318
7559 __cil_tmp16 = (int )__cil_tmp15;
7560#line 318
7561 __cil_tmp17 = __cil_tmp16 & 15;
7562#line 318
7563 __min1 = (__u8 )__cil_tmp17;
7564#line 318
7565 __min2 = (__u8 )8;
7566 {
7567#line 318
7568 __cil_tmp18 = (int )__min2;
7569#line 318
7570 __cil_tmp19 = (int )__min1;
7571#line 318
7572 if (__cil_tmp19 < __cil_tmp18) {
7573#line 318
7574 tmp___7 = (int )__min1;
7575 } else {
7576#line 318
7577 tmp___7 = (int )__min2;
7578 }
7579 }
7580#line 318
7581 cf->can_dlc = (__u8 )tmp___7;
7582 {
7583#line 320
7584 __cil_tmp20 = msg->type;
7585#line 320
7586 __cil_tmp21 = (int )__cil_tmp20;
7587#line 320
7588 if (__cil_tmp21 == 16) {
7589#line 322
7590 __cil_tmp22 = cf->can_id;
7591#line 322
7592 cf->can_id = __cil_tmp22 | 2147483648U;
7593 } else {
7594 {
7595#line 320
7596 __cil_tmp23 = msg->type;
7597#line 320
7598 __cil_tmp24 = (int )__cil_tmp23;
7599#line 320
7600 if (__cil_tmp24 == 17) {
7601#line 322
7602 __cil_tmp25 = cf->can_id;
7603#line 322
7604 cf->can_id = __cil_tmp25 | 2147483648U;
7605 } else {
7606
7607 }
7608 }
7609 }
7610 }
7611 {
7612#line 324
7613 __cil_tmp26 = msg->type;
7614#line 324
7615 __cil_tmp27 = (int )__cil_tmp26;
7616#line 324
7617 if (__cil_tmp27 == 8) {
7618#line 326
7619 __cil_tmp28 = cf->can_id;
7620#line 326
7621 cf->can_id = __cil_tmp28 | 1073741824U;
7622 } else {
7623 {
7624#line 324
7625 __cil_tmp29 = msg->type;
7626#line 324
7627 __cil_tmp30 = (int )__cil_tmp29;
7628#line 324
7629 if (__cil_tmp30 == 17) {
7630#line 326
7631 __cil_tmp31 = cf->can_id;
7632#line 326
7633 cf->can_id = __cil_tmp31 | 1073741824U;
7634 } else {
7635#line 328
7636 i = 0;
7637 {
7638#line 328
7639 while (1) {
7640 while_continue: ;
7641
7642 {
7643#line 328
7644 __cil_tmp32 = cf->can_dlc;
7645#line 328
7646 __cil_tmp33 = (int )__cil_tmp32;
7647#line 328
7648 if (i < __cil_tmp33) {
7649
7650 } else {
7651#line 328
7652 goto while_break;
7653 }
7654 }
7655#line 329
7656 cf->data[i] = msg->msg.can_msg.msg[i];
7657#line 328
7658 i = i + 1;
7659 }
7660 while_break___0: ;
7661 }
7662
7663 while_break: ;
7664 }
7665 }
7666 }
7667 }
7668 {
7669#line 332
7670 netif_rx(skb);
7671#line 334
7672 __cil_tmp34 = stats->rx_packets;
7673#line 334
7674 stats->rx_packets = __cil_tmp34 + 1UL;
7675#line 335
7676 __cil_tmp35 = cf->can_dlc;
7677#line 335
7678 __cil_tmp36 = (unsigned long )__cil_tmp35;
7679#line 335
7680 __cil_tmp37 = stats->rx_bytes;
7681#line 335
7682 stats->rx_bytes = __cil_tmp37 + __cil_tmp36;
7683 }
7684#line 336
7685 return;
7686}
7687}
7688#line 338 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
7689static void ems_usb_rx_err(struct ems_usb *dev , struct ems_cpc_msg *msg )
7690{ struct can_frame *cf ;
7691 struct sk_buff *skb ;
7692 struct net_device_stats *stats ;
7693 u8 state ;
7694 u8 ecc ;
7695 u8 txerr ;
7696 u8 rxerr ;
7697 struct net_device *__cil_tmp10 ;
7698 struct net_device *__cil_tmp11 ;
7699 void *__cil_tmp12 ;
7700 unsigned long __cil_tmp13 ;
7701 unsigned long __cil_tmp14 ;
7702 u8 __cil_tmp15 ;
7703 int __cil_tmp16 ;
7704 int __cil_tmp17 ;
7705 canid_t __cil_tmp18 ;
7706 struct net_device *__cil_tmp19 ;
7707 int __cil_tmp20 ;
7708 __u32 __cil_tmp21 ;
7709 __u32 __cil_tmp22 ;
7710 u8 __cil_tmp23 ;
7711 int __cil_tmp24 ;
7712 __u32 __cil_tmp25 ;
7713 unsigned long __cil_tmp26 ;
7714 canid_t __cil_tmp27 ;
7715 int __cil_tmp28 ;
7716 int __cil_tmp29 ;
7717 int __cil_tmp30 ;
7718 int __cil_tmp31 ;
7719 int __cil_tmp32 ;
7720 int __cil_tmp33 ;
7721 __u8 __cil_tmp34 ;
7722 int __cil_tmp35 ;
7723 int __cil_tmp36 ;
7724 __u8 __cil_tmp37 ;
7725 int __cil_tmp38 ;
7726 int __cil_tmp39 ;
7727 __u8 __cil_tmp40 ;
7728 int __cil_tmp41 ;
7729 int __cil_tmp42 ;
7730 __u8 __cil_tmp43 ;
7731 int __cil_tmp44 ;
7732 int __cil_tmp45 ;
7733 int __cil_tmp46 ;
7734 int __cil_tmp47 ;
7735 int __cil_tmp48 ;
7736 __u8 __cil_tmp49 ;
7737 int __cil_tmp50 ;
7738 int __cil_tmp51 ;
7739 enum can_state __cil_tmp52 ;
7740 unsigned int __cil_tmp53 ;
7741 enum can_state __cil_tmp54 ;
7742 unsigned int __cil_tmp55 ;
7743 int __cil_tmp56 ;
7744 int __cil_tmp57 ;
7745 u8 __cil_tmp58 ;
7746 int __cil_tmp59 ;
7747 canid_t __cil_tmp60 ;
7748 unsigned long __cil_tmp61 ;
7749 unsigned long __cil_tmp62 ;
7750 unsigned long __cil_tmp63 ;
7751 __u8 __cil_tmp64 ;
7752 unsigned long __cil_tmp65 ;
7753 unsigned long __cil_tmp66 ;
7754
7755 {
7756 {
7757#line 342
7758 __cil_tmp10 = dev->netdev;
7759#line 342
7760 stats = & __cil_tmp10->stats;
7761#line 344
7762 __cil_tmp11 = dev->netdev;
7763#line 344
7764 skb = alloc_can_err_skb(__cil_tmp11, & cf);
7765 }
7766 {
7767#line 345
7768 __cil_tmp12 = (void *)0;
7769#line 345
7770 __cil_tmp13 = (unsigned long )__cil_tmp12;
7771#line 345
7772 __cil_tmp14 = (unsigned long )skb;
7773#line 345
7774 if (__cil_tmp14 == __cil_tmp13) {
7775#line 346
7776 return;
7777 } else {
7778
7779 }
7780 }
7781 {
7782#line 348
7783 __cil_tmp15 = msg->type;
7784#line 348
7785 __cil_tmp16 = (int )__cil_tmp15;
7786#line 348
7787 if (__cil_tmp16 == 14) {
7788#line 349
7789 state = msg->msg.can_state;
7790 {
7791#line 351
7792 __cil_tmp17 = (int )state;
7793#line 351
7794 if (__cil_tmp17 & 128) {
7795 {
7796#line 352
7797 dev->can.state = (enum can_state )3;
7798#line 353
7799 __cil_tmp18 = cf->can_id;
7800#line 353
7801 cf->can_id = __cil_tmp18 | 64U;
7802#line 355
7803 __cil_tmp19 = dev->netdev;
7804#line 355
7805 can_bus_off(__cil_tmp19);
7806 }
7807 } else {
7808 {
7809#line 356
7810 __cil_tmp20 = (int )state;
7811#line 356
7812 if (__cil_tmp20 & 64) {
7813#line 357
7814 dev->can.state = (enum can_state )1;
7815#line 358
7816 __cil_tmp21 = dev->can.can_stats.error_warning;
7817#line 358
7818 dev->can.can_stats.error_warning = __cil_tmp21 + 1U;
7819 } else {
7820#line 360
7821 dev->can.state = (enum can_state )0;
7822#line 361
7823 __cil_tmp22 = dev->can.can_stats.error_passive;
7824#line 361
7825 dev->can.can_stats.error_passive = __cil_tmp22 + 1U;
7826 }
7827 }
7828 }
7829 }
7830 } else {
7831 {
7832#line 363
7833 __cil_tmp23 = msg->type;
7834#line 363
7835 __cil_tmp24 = (int )__cil_tmp23;
7836#line 363
7837 if (__cil_tmp24 == 23) {
7838#line 364
7839 ecc = msg->msg.error.cc.regs.sja1000.ecc;
7840#line 365
7841 txerr = msg->msg.error.cc.regs.sja1000.txerr;
7842#line 366
7843 rxerr = msg->msg.error.cc.regs.sja1000.rxerr;
7844#line 369
7845 __cil_tmp25 = dev->can.can_stats.bus_error;
7846#line 369
7847 dev->can.can_stats.bus_error = __cil_tmp25 + 1U;
7848#line 370
7849 __cil_tmp26 = stats->rx_errors;
7850#line 370
7851 stats->rx_errors = __cil_tmp26 + 1UL;
7852#line 372
7853 __cil_tmp27 = cf->can_id;
7854#line 372
7855 cf->can_id = __cil_tmp27 | 136U;
7856 {
7857#line 375
7858 __cil_tmp28 = (int )ecc;
7859#line 375
7860 __cil_tmp29 = __cil_tmp28 & 192;
7861#line 375
7862 if (__cil_tmp29 == 0) {
7863#line 375
7864 goto case_0;
7865 } else {
7866 {
7867#line 378
7868 __cil_tmp30 = (int )ecc;
7869#line 378
7870 __cil_tmp31 = __cil_tmp30 & 192;
7871#line 378
7872 if (__cil_tmp31 == 64) {
7873#line 378
7874 goto case_64;
7875 } else {
7876 {
7877#line 381
7878 __cil_tmp32 = (int )ecc;
7879#line 381
7880 __cil_tmp33 = __cil_tmp32 & 192;
7881#line 381
7882 if (__cil_tmp33 == 128) {
7883#line 381
7884 goto case_128;
7885 } else {
7886#line 384
7887 goto switch_default;
7888#line 374
7889 if (0) {
7890 case_0:
7891#line 376
7892 __cil_tmp34 = cf->data[2];
7893#line 376
7894 __cil_tmp35 = (int )__cil_tmp34;
7895#line 376
7896 __cil_tmp36 = __cil_tmp35 | 1;
7897#line 376
7898 cf->data[2] = (__u8 )__cil_tmp36;
7899#line 377
7900 goto switch_break;
7901 case_64:
7902#line 379
7903 __cil_tmp37 = cf->data[2];
7904#line 379
7905 __cil_tmp38 = (int )__cil_tmp37;
7906#line 379
7907 __cil_tmp39 = __cil_tmp38 | 2;
7908#line 379
7909 cf->data[2] = (__u8 )__cil_tmp39;
7910#line 380
7911 goto switch_break;
7912 case_128:
7913#line 382
7914 __cil_tmp40 = cf->data[2];
7915#line 382
7916 __cil_tmp41 = (int )__cil_tmp40;
7917#line 382
7918 __cil_tmp42 = __cil_tmp41 | 4;
7919#line 382
7920 cf->data[2] = (__u8 )__cil_tmp42;
7921#line 383
7922 goto switch_break;
7923 switch_default:
7924#line 385
7925 __cil_tmp43 = cf->data[2];
7926#line 385
7927 __cil_tmp44 = (int )__cil_tmp43;
7928#line 385
7929 cf->data[2] = (__u8 )__cil_tmp44;
7930#line 386
7931 __cil_tmp45 = (int )ecc;
7932#line 386
7933 __cil_tmp46 = __cil_tmp45 & 31;
7934#line 386
7935 cf->data[3] = (__u8 )__cil_tmp46;
7936#line 387
7937 goto switch_break;
7938 } else {
7939 switch_break: ;
7940 }
7941 }
7942 }
7943 }
7944 }
7945 }
7946 }
7947 {
7948#line 391
7949 __cil_tmp47 = (int )ecc;
7950#line 391
7951 __cil_tmp48 = __cil_tmp47 & 32;
7952#line 391
7953 if (__cil_tmp48 == 0) {
7954#line 392
7955 __cil_tmp49 = cf->data[2];
7956#line 392
7957 __cil_tmp50 = (int )__cil_tmp49;
7958#line 392
7959 __cil_tmp51 = __cil_tmp50 | 128;
7960#line 392
7961 cf->data[2] = (__u8 )__cil_tmp51;
7962 } else {
7963
7964 }
7965 }
7966 {
7967#line 394
7968 __cil_tmp52 = dev->can.state;
7969#line 394
7970 __cil_tmp53 = (unsigned int )__cil_tmp52;
7971#line 394
7972 if (__cil_tmp53 == 1U) {
7973#line 394
7974 goto _L;
7975 } else {
7976 {
7977#line 394
7978 __cil_tmp54 = dev->can.state;
7979#line 394
7980 __cil_tmp55 = (unsigned int )__cil_tmp54;
7981#line 394
7982 if (__cil_tmp55 == 2U) {
7983 _L:
7984 {
7985#line 396
7986 __cil_tmp56 = (int )rxerr;
7987#line 396
7988 __cil_tmp57 = (int )txerr;
7989#line 396
7990 if (__cil_tmp57 > __cil_tmp56) {
7991#line 396
7992 cf->data[1] = (__u8 )32;
7993 } else {
7994#line 396
7995 cf->data[1] = (__u8 )16;
7996 }
7997 }
7998 } else {
7999
8000 }
8001 }
8002 }
8003 }
8004 } else {
8005 {
8006#line 399
8007 __cil_tmp58 = msg->type;
8008#line 399
8009 __cil_tmp59 = (int )__cil_tmp58;
8010#line 399
8011 if (__cil_tmp59 == 21) {
8012#line 400
8013 __cil_tmp60 = cf->can_id;
8014#line 400
8015 cf->can_id = __cil_tmp60 | 4U;
8016#line 401
8017 cf->data[1] = (__u8 )1;
8018#line 403
8019 __cil_tmp61 = stats->rx_over_errors;
8020#line 403
8021 stats->rx_over_errors = __cil_tmp61 + 1UL;
8022#line 404
8023 __cil_tmp62 = stats->rx_errors;
8024#line 404
8025 stats->rx_errors = __cil_tmp62 + 1UL;
8026 } else {
8027
8028 }
8029 }
8030 }
8031 }
8032 }
8033 }
8034 {
8035#line 407
8036 netif_rx(skb);
8037#line 409
8038 __cil_tmp63 = stats->rx_packets;
8039#line 409
8040 stats->rx_packets = __cil_tmp63 + 1UL;
8041#line 410
8042 __cil_tmp64 = cf->can_dlc;
8043#line 410
8044 __cil_tmp65 = (unsigned long )__cil_tmp64;
8045#line 410
8046 __cil_tmp66 = stats->rx_bytes;
8047#line 410
8048 stats->rx_bytes = __cil_tmp66 + __cil_tmp65;
8049 }
8050#line 411
8051 return;
8052}
8053}
8054#line 416 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
8055static void ems_usb_read_bulk_callback(struct urb *urb )
8056{ struct ems_usb *dev ;
8057 struct net_device *netdev ;
8058 int retval ;
8059 int tmp___7 ;
8060 struct ems_cpc_msg *msg ;
8061 u8 *ibuf ;
8062 u8 msg_count ;
8063 u8 again ;
8064 u8 start ;
8065 unsigned int tmp___8 ;
8066 void *__cil_tmp12 ;
8067 int __cil_tmp13 ;
8068 int __cil_tmp14 ;
8069 struct device *__cil_tmp15 ;
8070 struct device const *__cil_tmp16 ;
8071 int __cil_tmp17 ;
8072 u32 __cil_tmp18 ;
8073 void *__cil_tmp19 ;
8074 u8 *__cil_tmp20 ;
8075 u8 __cil_tmp21 ;
8076 int __cil_tmp22 ;
8077 int __cil_tmp23 ;
8078 u8 *__cil_tmp24 ;
8079 u8 __cil_tmp25 ;
8080 int __cil_tmp26 ;
8081 int __cil_tmp27 ;
8082 int __cil_tmp28 ;
8083 u8 *__cil_tmp29 ;
8084 u8 __cil_tmp30 ;
8085 int __cil_tmp31 ;
8086 u8 __cil_tmp32 ;
8087 int __cil_tmp33 ;
8088 u8 __cil_tmp34 ;
8089 int __cil_tmp35 ;
8090 u8 __cil_tmp36 ;
8091 int __cil_tmp37 ;
8092 u8 __cil_tmp38 ;
8093 int __cil_tmp39 ;
8094 u8 __cil_tmp40 ;
8095 int __cil_tmp41 ;
8096 u8 __cil_tmp42 ;
8097 int __cil_tmp43 ;
8098 u8 __cil_tmp44 ;
8099 int __cil_tmp45 ;
8100 int __cil_tmp46 ;
8101 int __cil_tmp47 ;
8102 int __cil_tmp48 ;
8103 int __cil_tmp49 ;
8104 int __cil_tmp50 ;
8105 u32 __cil_tmp51 ;
8106 u32 __cil_tmp52 ;
8107 struct device *__cil_tmp53 ;
8108 struct device const *__cil_tmp54 ;
8109 struct usb_device *__cil_tmp55 ;
8110 struct usb_device *__cil_tmp56 ;
8111 int __cil_tmp57 ;
8112 unsigned int __cil_tmp58 ;
8113 unsigned int __cil_tmp59 ;
8114 unsigned int __cil_tmp60 ;
8115 void *__cil_tmp61 ;
8116 void *__cil_tmp62 ;
8117 struct device *__cil_tmp63 ;
8118 struct device const *__cil_tmp64 ;
8119
8120 {
8121 {
8122#line 418
8123 __cil_tmp12 = urb->context;
8124#line 418
8125 dev = (struct ems_usb *)__cil_tmp12;
8126#line 422
8127 netdev = dev->netdev;
8128#line 424
8129 tmp___7 = netif_device_present(netdev);
8130 }
8131#line 424
8132 if (tmp___7) {
8133
8134 } else {
8135#line 425
8136 return;
8137 }
8138 {
8139#line 428
8140 __cil_tmp13 = urb->status;
8141#line 428
8142 if (__cil_tmp13 == 0) {
8143#line 428
8144 goto case_0;
8145 } else {
8146 {
8147#line 431
8148 __cil_tmp14 = urb->status;
8149#line 431
8150 if (__cil_tmp14 == -2) {
8151#line 431
8152 goto case_neg_2;
8153 } else {
8154#line 434
8155 goto switch_default;
8156#line 427
8157 if (0) {
8158 case_0:
8159#line 429
8160 goto switch_break;
8161 case_neg_2:
8162#line 432
8163 return;
8164 switch_default:
8165 {
8166#line 435
8167 __cil_tmp15 = netdev->dev.parent;
8168#line 435
8169 __cil_tmp16 = (struct device const *)__cil_tmp15;
8170#line 435
8171 __cil_tmp17 = urb->status;
8172#line 435
8173 _dev_info(__cil_tmp16, "Rx URB aborted (%d)\n", __cil_tmp17);
8174 }
8175#line 437
8176 goto resubmit_urb;
8177 } else {
8178 switch_break: ;
8179 }
8180 }
8181 }
8182 }
8183 }
8184 {
8185#line 440
8186 __cil_tmp18 = urb->actual_length;
8187#line 440
8188 if (__cil_tmp18 > 4U) {
8189#line 442
8190 __cil_tmp19 = urb->transfer_buffer;
8191#line 442
8192 ibuf = (u8 *)__cil_tmp19;
8193#line 445
8194 __cil_tmp20 = ibuf + 0;
8195#line 445
8196 __cil_tmp21 = *__cil_tmp20;
8197#line 445
8198 __cil_tmp22 = (int )__cil_tmp21;
8199#line 445
8200 __cil_tmp23 = __cil_tmp22 & -129;
8201#line 445
8202 msg_count = (u8 )__cil_tmp23;
8203#line 446
8204 __cil_tmp24 = ibuf + 0;
8205#line 446
8206 __cil_tmp25 = *__cil_tmp24;
8207#line 446
8208 __cil_tmp26 = (int )__cil_tmp25;
8209#line 446
8210 __cil_tmp27 = __cil_tmp26 & 128;
8211#line 446
8212 again = (u8 )__cil_tmp27;
8213#line 448
8214 start = (u8 )4;
8215 {
8216#line 450
8217 while (1) {
8218 while_continue: ;
8219
8220#line 450
8221 if (msg_count) {
8222
8223 } else {
8224#line 450
8225 goto while_break;
8226 }
8227#line 451
8228 __cil_tmp28 = (int )start;
8229#line 451
8230 __cil_tmp29 = ibuf + __cil_tmp28;
8231#line 451
8232 msg = (struct ems_cpc_msg *)__cil_tmp29;
8233 {
8234#line 454
8235 __cil_tmp30 = msg->type;
8236#line 454
8237 __cil_tmp31 = (int )__cil_tmp30;
8238#line 454
8239 if (__cil_tmp31 == 14) {
8240#line 454
8241 goto case_14;
8242 } else {
8243 {
8244#line 459
8245 __cil_tmp32 = msg->type;
8246#line 459
8247 __cil_tmp33 = (int )__cil_tmp32;
8248#line 459
8249 if (__cil_tmp33 == 1) {
8250#line 459
8251 goto case_1;
8252 } else {
8253 {
8254#line 460
8255 __cil_tmp34 = msg->type;
8256#line 460
8257 __cil_tmp35 = (int )__cil_tmp34;
8258#line 460
8259 if (__cil_tmp35 == 16) {
8260#line 460
8261 goto case_1;
8262 } else {
8263 {
8264#line 461
8265 __cil_tmp36 = msg->type;
8266#line 461
8267 __cil_tmp37 = (int )__cil_tmp36;
8268#line 461
8269 if (__cil_tmp37 == 8) {
8270#line 461
8271 goto case_1;
8272 } else {
8273 {
8274#line 462
8275 __cil_tmp38 = msg->type;
8276#line 462
8277 __cil_tmp39 = (int )__cil_tmp38;
8278#line 462
8279 if (__cil_tmp39 == 17) {
8280#line 462
8281 goto case_1;
8282 } else {
8283 {
8284#line 466
8285 __cil_tmp40 = msg->type;
8286#line 466
8287 __cil_tmp41 = (int )__cil_tmp40;
8288#line 466
8289 if (__cil_tmp41 == 23) {
8290#line 466
8291 goto case_23;
8292 } else {
8293 {
8294#line 471
8295 __cil_tmp42 = msg->type;
8296#line 471
8297 __cil_tmp43 = (int )__cil_tmp42;
8298#line 471
8299 if (__cil_tmp43 == 21) {
8300#line 471
8301 goto case_21;
8302 } else
8303#line 453
8304 if (0) {
8305 case_14:
8306 {
8307#line 456
8308 ems_usb_rx_err(dev, msg);
8309 }
8310#line 457
8311 goto switch_break___0;
8312 case_1:
8313 {
8314#line 463
8315 ems_usb_rx_can_msg(dev, msg);
8316 }
8317#line 464
8318 goto switch_break___0;
8319 case_23:
8320 {
8321#line 468
8322 ems_usb_rx_err(dev, msg);
8323 }
8324#line 469
8325 goto switch_break___0;
8326 case_21:
8327 {
8328#line 473
8329 ems_usb_rx_err(dev, msg);
8330 }
8331#line 474
8332 goto switch_break___0;
8333 } else {
8334 switch_break___0: ;
8335 }
8336 }
8337 }
8338 }
8339 }
8340 }
8341 }
8342 }
8343 }
8344 }
8345 }
8346 }
8347 }
8348 }
8349#line 477
8350 __cil_tmp44 = msg->length;
8351#line 477
8352 __cil_tmp45 = (int )__cil_tmp44;
8353#line 477
8354 __cil_tmp46 = 11 + __cil_tmp45;
8355#line 477
8356 __cil_tmp47 = (int )start;
8357#line 477
8358 __cil_tmp48 = __cil_tmp47 + __cil_tmp46;
8359#line 477
8360 start = (u8 )__cil_tmp48;
8361#line 478
8362 __cil_tmp49 = (int )msg_count;
8363#line 478
8364 __cil_tmp50 = __cil_tmp49 - 1;
8365#line 478
8366 msg_count = (u8 )__cil_tmp50;
8367 {
8368#line 480
8369 __cil_tmp51 = urb->transfer_buffer_length;
8370#line 480
8371 __cil_tmp52 = (u32 )start;
8372#line 480
8373 if (__cil_tmp52 > __cil_tmp51) {
8374 {
8375#line 481
8376 __cil_tmp53 = netdev->dev.parent;
8377#line 481
8378 __cil_tmp54 = (struct device const *)__cil_tmp53;
8379#line 481
8380 dev_err(__cil_tmp54, "format error\n");
8381 }
8382#line 482
8383 goto while_break;
8384 } else {
8385
8386 }
8387 }
8388 }
8389 while_break___0: ;
8390 }
8391
8392 while_break: ;
8393 } else {
8394
8395 }
8396 }
8397 resubmit_urb:
8398 {
8399#line 488
8400 __cil_tmp55 = dev->udev;
8401#line 488
8402 tmp___8 = __create_pipe(__cil_tmp55, 2U);
8403#line 488
8404 __cil_tmp56 = dev->udev;
8405#line 488
8406 __cil_tmp57 = 3 << 30;
8407#line 488
8408 __cil_tmp58 = (unsigned int )__cil_tmp57;
8409#line 488
8410 __cil_tmp59 = __cil_tmp58 | tmp___8;
8411#line 488
8412 __cil_tmp60 = __cil_tmp59 | 128U;
8413#line 488
8414 __cil_tmp61 = urb->transfer_buffer;
8415#line 488
8416 __cil_tmp62 = (void *)dev;
8417#line 488
8418 usb_fill_bulk_urb(urb, __cil_tmp56, __cil_tmp60, __cil_tmp61, 64, & ems_usb_read_bulk_callback,
8419 __cil_tmp62);
8420#line 492
8421 retval = usb_submit_urb(urb, 32U);
8422 }
8423#line 494
8424 if (retval == -19) {
8425 {
8426#line 495
8427 netif_device_detach(netdev);
8428 }
8429 } else
8430#line 496
8431 if (retval) {
8432 {
8433#line 497
8434 __cil_tmp63 = netdev->dev.parent;
8435#line 497
8436 __cil_tmp64 = (struct device const *)__cil_tmp63;
8437#line 497
8438 dev_err(__cil_tmp64, "failed resubmitting read bulk urb: %d\n", retval);
8439 }
8440 } else {
8441
8442 }
8443#line 499
8444 return;
8445}
8446}
8447#line 504 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
8448static void ems_usb_write_bulk_callback(struct urb *urb )
8449{ struct ems_tx_urb_context *context ;
8450 struct ems_usb *dev ;
8451 struct net_device *netdev ;
8452 long tmp___7 ;
8453 int tmp___8 ;
8454 int tmp___9 ;
8455 void *__cil_tmp8 ;
8456 int __cil_tmp9 ;
8457 int __cil_tmp10 ;
8458 int __cil_tmp11 ;
8459 long __cil_tmp12 ;
8460 struct usb_device *__cil_tmp13 ;
8461 u32 __cil_tmp14 ;
8462 size_t __cil_tmp15 ;
8463 void *__cil_tmp16 ;
8464 dma_addr_t __cil_tmp17 ;
8465 atomic_t *__cil_tmp18 ;
8466 struct device *__cil_tmp19 ;
8467 struct device const *__cil_tmp20 ;
8468 int __cil_tmp21 ;
8469 unsigned long __cil_tmp22 ;
8470 u8 __cil_tmp23 ;
8471 unsigned long __cil_tmp24 ;
8472 unsigned long __cil_tmp25 ;
8473 u32 __cil_tmp26 ;
8474 struct net_device const *__cil_tmp27 ;
8475
8476 {
8477#line 506
8478 __cil_tmp8 = urb->context;
8479#line 506
8480 context = (struct ems_tx_urb_context *)__cil_tmp8;
8481 {
8482#line 510
8483 while (1) {
8484 while_continue: ;
8485 {
8486#line 510
8487 __cil_tmp9 = ! context;
8488#line 510
8489 __cil_tmp10 = ! __cil_tmp9;
8490#line 510
8491 __cil_tmp11 = ! __cil_tmp10;
8492#line 510
8493 __cil_tmp12 = (long )__cil_tmp11;
8494#line 510
8495 tmp___7 = __builtin_expect(__cil_tmp12, 0L);
8496 }
8497#line 510
8498 if (tmp___7) {
8499 {
8500#line 510
8501 while (1) {
8502 while_continue___0: ;
8503#line 510
8504 __asm__ volatile ("1:\tud2\n"
8505 ".pushsection __bug_table,\"a\"\n"
8506 "2:\t.long 1b - 2b, %c0 - 2b\n"
8507 "\t.word %c1, 0\n"
8508 "\t.org 2b+%c2\n"
8509 ".popsection": : "i" ("/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"),
8510 "i" (510), "i" (12UL));
8511 {
8512#line 510
8513 while (1) {
8514 while_continue___1: ;
8515
8516 }
8517 while_break___3: ;
8518 }
8519
8520#line 510
8521 goto while_break___0;
8522 }
8523 while_break___2: ;
8524 }
8525
8526 while_break___0: ;
8527 } else {
8528
8529 }
8530#line 510
8531 goto while_break;
8532 }
8533 while_break___1: ;
8534 }
8535
8536 while_break:
8537 {
8538#line 512
8539 dev = context->dev;
8540#line 513
8541 netdev = dev->netdev;
8542#line 516
8543 __cil_tmp13 = urb->dev;
8544#line 516
8545 __cil_tmp14 = urb->transfer_buffer_length;
8546#line 516
8547 __cil_tmp15 = (size_t )__cil_tmp14;
8548#line 516
8549 __cil_tmp16 = urb->transfer_buffer;
8550#line 516
8551 __cil_tmp17 = urb->transfer_dma;
8552#line 516
8553 usb_free_coherent(__cil_tmp13, __cil_tmp15, __cil_tmp16, __cil_tmp17);
8554#line 519
8555 __cil_tmp18 = & dev->active_tx_urbs;
8556#line 519
8557 atomic_dec(__cil_tmp18);
8558#line 521
8559 tmp___8 = netif_device_present(netdev);
8560 }
8561#line 521
8562 if (tmp___8) {
8563
8564 } else {
8565#line 522
8566 return;
8567 }
8568#line 524
8569 if (urb->status) {
8570 {
8571#line 525
8572 __cil_tmp19 = netdev->dev.parent;
8573#line 525
8574 __cil_tmp20 = (struct device const *)__cil_tmp19;
8575#line 525
8576 __cil_tmp21 = urb->status;
8577#line 525
8578 _dev_info(__cil_tmp20, "Tx URB aborted (%d)\n", __cil_tmp21);
8579 }
8580 } else {
8581
8582 }
8583 {
8584#line 528
8585 netdev->trans_start = (unsigned long )jiffies;
8586#line 531
8587 __cil_tmp22 = netdev->stats.tx_packets;
8588#line 531
8589 netdev->stats.tx_packets = __cil_tmp22 + 1UL;
8590#line 532
8591 __cil_tmp23 = context->dlc;
8592#line 532
8593 __cil_tmp24 = (unsigned long )__cil_tmp23;
8594#line 532
8595 __cil_tmp25 = netdev->stats.tx_bytes;
8596#line 532
8597 netdev->stats.tx_bytes = __cil_tmp25 + __cil_tmp24;
8598#line 534
8599 __cil_tmp26 = context->echo_index;
8600#line 534
8601 can_get_echo_skb(netdev, __cil_tmp26);
8602#line 537
8603 context->echo_index = (u32 )10;
8604#line 539
8605 __cil_tmp27 = (struct net_device const *)netdev;
8606#line 539
8607 tmp___9 = netif_queue_stopped(__cil_tmp27);
8608 }
8609#line 539
8610 if (tmp___9) {
8611 {
8612#line 540
8613 netif_wake_queue(netdev);
8614 }
8615 } else {
8616
8617 }
8618#line 541
8619 return;
8620}
8621}
8622#line 546 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
8623static int ems_usb_command_msg(struct ems_usb *dev , struct ems_cpc_msg *msg )
8624{ int actual_length ;
8625 size_t __len ;
8626 void *__ret ;
8627 unsigned int tmp___7 ;
8628 int tmp___8 ;
8629 u8 __cil_tmp8 ;
8630 int __cil_tmp9 ;
8631 int __cil_tmp10 ;
8632 u8 *__cil_tmp11 ;
8633 u8 *__cil_tmp12 ;
8634 void *__cil_tmp13 ;
8635 void const *__cil_tmp14 ;
8636 u8 *__cil_tmp15 ;
8637 u8 *__cil_tmp16 ;
8638 void *__cil_tmp17 ;
8639 size_t __cil_tmp18 ;
8640 struct usb_device *__cil_tmp19 ;
8641 struct usb_device *__cil_tmp20 ;
8642 int __cil_tmp21 ;
8643 unsigned int __cil_tmp22 ;
8644 unsigned int __cil_tmp23 ;
8645 u8 *__cil_tmp24 ;
8646 u8 *__cil_tmp25 ;
8647 void *__cil_tmp26 ;
8648 u8 __cil_tmp27 ;
8649 int __cil_tmp28 ;
8650 int __cil_tmp29 ;
8651 int __cil_tmp30 ;
8652
8653 {
8654 {
8655#line 551
8656 __cil_tmp8 = msg->length;
8657#line 551
8658 __cil_tmp9 = (int )__cil_tmp8;
8659#line 551
8660 __cil_tmp10 = __cil_tmp9 + 11;
8661#line 551
8662 __len = (size_t )__cil_tmp10;
8663#line 551
8664 __cil_tmp11 = dev->tx_msg_buffer;
8665#line 551
8666 __cil_tmp12 = __cil_tmp11 + 4;
8667#line 551
8668 __cil_tmp13 = (void *)__cil_tmp12;
8669#line 551
8670 __cil_tmp14 = (void const *)msg;
8671#line 551
8672 __ret = __builtin_memcpy(__cil_tmp13, __cil_tmp14, __len);
8673#line 555
8674 __cil_tmp15 = dev->tx_msg_buffer;
8675#line 555
8676 __cil_tmp16 = __cil_tmp15 + 0;
8677#line 555
8678 __cil_tmp17 = (void *)__cil_tmp16;
8679#line 555
8680 __cil_tmp18 = (size_t )4;
8681#line 555
8682 memset(__cil_tmp17, 0, __cil_tmp18);
8683#line 557
8684 __cil_tmp19 = dev->udev;
8685#line 557
8686 tmp___7 = __create_pipe(__cil_tmp19, 2U);
8687#line 557
8688 __cil_tmp20 = dev->udev;
8689#line 557
8690 __cil_tmp21 = 3 << 30;
8691#line 557
8692 __cil_tmp22 = (unsigned int )__cil_tmp21;
8693#line 557
8694 __cil_tmp23 = __cil_tmp22 | tmp___7;
8695#line 557
8696 __cil_tmp24 = dev->tx_msg_buffer;
8697#line 557
8698 __cil_tmp25 = __cil_tmp24 + 0;
8699#line 557
8700 __cil_tmp26 = (void *)__cil_tmp25;
8701#line 557
8702 __cil_tmp27 = msg->length;
8703#line 557
8704 __cil_tmp28 = (int )__cil_tmp27;
8705#line 557
8706 __cil_tmp29 = __cil_tmp28 + 11;
8707#line 557
8708 __cil_tmp30 = __cil_tmp29 + 4;
8709#line 557
8710 tmp___8 = usb_bulk_msg(__cil_tmp20, __cil_tmp23, __cil_tmp26, __cil_tmp30, & actual_length,
8711 1000);
8712 }
8713#line 557
8714 return (tmp___8);
8715}
8716}
8717#line 566 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
8718static int ems_usb_write_mode(struct ems_usb *dev , u8 mode )
8719{ int tmp___7 ;
8720 struct ems_cpc_msg *__cil_tmp4 ;
8721
8722 {
8723 {
8724#line 568
8725 dev->active_params.msg.can_params.cc_params.sja1000.mode = mode;
8726#line 570
8727 __cil_tmp4 = & dev->active_params;
8728#line 570
8729 tmp___7 = ems_usb_command_msg(dev, __cil_tmp4);
8730 }
8731#line 570
8732 return (tmp___7);
8733}
8734}
8735#line 577 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
8736static int ems_usb_control_cmd(struct ems_usb *dev , u8 val )
8737{ struct ems_cpc_msg cmd ;
8738 int tmp___7 ;
8739
8740 {
8741 {
8742#line 581
8743 cmd.type = (u8 )3;
8744#line 582
8745 cmd.length = (u8 )12;
8746#line 584
8747 cmd.msgid = (u8 )0;
8748#line 586
8749 cmd.msg.generic[0] = val;
8750#line 588
8751 tmp___7 = ems_usb_command_msg(dev, & cmd);
8752 }
8753#line 588
8754 return (tmp___7);
8755}
8756}
8757#line 594 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
8758static int ems_usb_start(struct ems_usb *dev )
8759{ struct net_device *netdev ;
8760 int err ;
8761 int i ;
8762 struct urb *urb ;
8763 u8 *buf ;
8764 void *tmp___7 ;
8765 unsigned int tmp___8 ;
8766 unsigned int tmp___9 ;
8767 u8 *__cil_tmp10 ;
8768 u8 *__cil_tmp11 ;
8769 void *__cil_tmp12 ;
8770 void *__cil_tmp13 ;
8771 struct device *__cil_tmp14 ;
8772 struct device const *__cil_tmp15 ;
8773 struct usb_device *__cil_tmp16 ;
8774 size_t __cil_tmp17 ;
8775 dma_addr_t *__cil_tmp18 ;
8776 struct device *__cil_tmp19 ;
8777 struct device const *__cil_tmp20 ;
8778 struct usb_device *__cil_tmp21 ;
8779 struct usb_device *__cil_tmp22 ;
8780 int __cil_tmp23 ;
8781 unsigned int __cil_tmp24 ;
8782 unsigned int __cil_tmp25 ;
8783 unsigned int __cil_tmp26 ;
8784 void *__cil_tmp27 ;
8785 void *__cil_tmp28 ;
8786 unsigned int __cil_tmp29 ;
8787 struct usb_anchor *__cil_tmp30 ;
8788 struct net_device *__cil_tmp31 ;
8789 struct usb_device *__cil_tmp32 ;
8790 size_t __cil_tmp33 ;
8791 void *__cil_tmp34 ;
8792 dma_addr_t __cil_tmp35 ;
8793 struct device *__cil_tmp36 ;
8794 struct device const *__cil_tmp37 ;
8795 struct device *__cil_tmp38 ;
8796 struct device const *__cil_tmp39 ;
8797 struct usb_device *__cil_tmp40 ;
8798 struct urb *__cil_tmp41 ;
8799 struct usb_device *__cil_tmp42 ;
8800 int __cil_tmp43 ;
8801 unsigned int __cil_tmp44 ;
8802 unsigned int __cil_tmp45 ;
8803 unsigned int __cil_tmp46 ;
8804 u8 *__cil_tmp47 ;
8805 void *__cil_tmp48 ;
8806 void *__cil_tmp49 ;
8807 struct urb *__cil_tmp50 ;
8808 struct net_device *__cil_tmp51 ;
8809 struct device *__cil_tmp52 ;
8810 struct device const *__cil_tmp53 ;
8811 u8 __cil_tmp54 ;
8812 u8 __cil_tmp55 ;
8813 u8 __cil_tmp56 ;
8814 u8 __cil_tmp57 ;
8815 struct net_device *__cil_tmp58 ;
8816 struct device *__cil_tmp59 ;
8817 struct device const *__cil_tmp60 ;
8818
8819 {
8820#line 596
8821 netdev = dev->netdev;
8822#line 599
8823 __cil_tmp10 = dev->intr_in_buffer;
8824#line 599
8825 __cil_tmp11 = __cil_tmp10 + 0;
8826#line 599
8827 *__cil_tmp11 = (u8 )0;
8828#line 600
8829 dev->free_slots = 15U;
8830#line 602
8831 i = 0;
8832 {
8833#line 602
8834 while (1) {
8835 while_continue: ;
8836
8837#line 602
8838 if (i < 10) {
8839
8840 } else {
8841#line 602
8842 goto while_break;
8843 }
8844 {
8845#line 603
8846 __cil_tmp12 = (void *)0;
8847#line 603
8848 urb = (struct urb *)__cil_tmp12;
8849#line 604
8850 __cil_tmp13 = (void *)0;
8851#line 604
8852 buf = (u8 *)__cil_tmp13;
8853#line 607
8854 urb = usb_alloc_urb(0, 208U);
8855 }
8856#line 608
8857 if (! urb) {
8858 {
8859#line 609
8860 __cil_tmp14 = netdev->dev.parent;
8861#line 609
8862 __cil_tmp15 = (struct device const *)__cil_tmp14;
8863#line 609
8864 dev_err(__cil_tmp15, "No memory left for URBs\n");
8865 }
8866#line 611
8867 return (-12);
8868 } else {
8869
8870 }
8871 {
8872#line 614
8873 __cil_tmp16 = dev->udev;
8874#line 614
8875 __cil_tmp17 = (size_t )64;
8876#line 614
8877 __cil_tmp18 = & urb->transfer_dma;
8878#line 614
8879 tmp___7 = usb_alloc_coherent(__cil_tmp16, __cil_tmp17, 208U, __cil_tmp18);
8880#line 614
8881 buf = (u8 *)tmp___7;
8882 }
8883#line 616
8884 if (! buf) {
8885 {
8886#line 617
8887 __cil_tmp19 = netdev->dev.parent;
8888#line 617
8889 __cil_tmp20 = (struct device const *)__cil_tmp19;
8890#line 617
8891 dev_err(__cil_tmp20, "No memory left for USB buffer\n");
8892#line 619
8893 usb_free_urb(urb);
8894 }
8895#line 620
8896 return (-12);
8897 } else {
8898
8899 }
8900 {
8901#line 623
8902 __cil_tmp21 = dev->udev;
8903#line 623
8904 tmp___8 = __create_pipe(__cil_tmp21, 2U);
8905#line 623
8906 __cil_tmp22 = dev->udev;
8907#line 623
8908 __cil_tmp23 = 3 << 30;
8909#line 623
8910 __cil_tmp24 = (unsigned int )__cil_tmp23;
8911#line 623
8912 __cil_tmp25 = __cil_tmp24 | tmp___8;
8913#line 623
8914 __cil_tmp26 = __cil_tmp25 | 128U;
8915#line 623
8916 __cil_tmp27 = (void *)buf;
8917#line 623
8918 __cil_tmp28 = (void *)dev;
8919#line 623
8920 usb_fill_bulk_urb(urb, __cil_tmp22, __cil_tmp26, __cil_tmp27, 64, & ems_usb_read_bulk_callback,
8921 __cil_tmp28);
8922#line 626
8923 __cil_tmp29 = urb->transfer_flags;
8924#line 626
8925 urb->transfer_flags = __cil_tmp29 | 4U;
8926#line 627
8927 __cil_tmp30 = & dev->rx_submitted;
8928#line 627
8929 usb_anchor_urb(urb, __cil_tmp30);
8930#line 629
8931 err = usb_submit_urb(urb, 208U);
8932 }
8933#line 630
8934 if (err) {
8935#line 631
8936 if (err == -19) {
8937 {
8938#line 632
8939 __cil_tmp31 = dev->netdev;
8940#line 632
8941 netif_device_detach(__cil_tmp31);
8942 }
8943 } else {
8944
8945 }
8946 {
8947#line 634
8948 usb_unanchor_urb(urb);
8949#line 635
8950 __cil_tmp32 = dev->udev;
8951#line 635
8952 __cil_tmp33 = (size_t )64;
8953#line 635
8954 __cil_tmp34 = (void *)buf;
8955#line 635
8956 __cil_tmp35 = urb->transfer_dma;
8957#line 635
8958 usb_free_coherent(__cil_tmp32, __cil_tmp33, __cil_tmp34, __cil_tmp35);
8959 }
8960#line 637
8961 goto while_break;
8962 } else {
8963
8964 }
8965 {
8966#line 641
8967 usb_free_urb(urb);
8968#line 602
8969 i = i + 1;
8970 }
8971 }
8972 while_break___0: ;
8973 }
8974
8975 while_break: ;
8976#line 645
8977 if (i == 0) {
8978 {
8979#line 646
8980 __cil_tmp36 = netdev->dev.parent;
8981#line 646
8982 __cil_tmp37 = (struct device const *)__cil_tmp36;
8983#line 646
8984 dev_warn(__cil_tmp37, "couldn\'t setup read URBs\n");
8985 }
8986#line 647
8987 return (err);
8988 } else {
8989
8990 }
8991#line 651
8992 if (i < 10) {
8993 {
8994#line 652
8995 __cil_tmp38 = netdev->dev.parent;
8996#line 652
8997 __cil_tmp39 = (struct device const *)__cil_tmp38;
8998#line 652
8999 dev_warn(__cil_tmp39, "rx performance may be slow\n");
9000 }
9001 } else {
9002
9003 }
9004 {
9005#line 655
9006 __cil_tmp40 = dev->udev;
9007#line 655
9008 tmp___9 = __create_pipe(__cil_tmp40, 1U);
9009#line 655
9010 __cil_tmp41 = dev->intr_urb;
9011#line 655
9012 __cil_tmp42 = dev->udev;
9013#line 655
9014 __cil_tmp43 = 1 << 30;
9015#line 655
9016 __cil_tmp44 = (unsigned int )__cil_tmp43;
9017#line 655
9018 __cil_tmp45 = __cil_tmp44 | tmp___9;
9019#line 655
9020 __cil_tmp46 = __cil_tmp45 | 128U;
9021#line 655
9022 __cil_tmp47 = dev->intr_in_buffer;
9023#line 655
9024 __cil_tmp48 = (void *)__cil_tmp47;
9025#line 655
9026 __cil_tmp49 = (void *)dev;
9027#line 655
9028 usb_fill_int_urb(__cil_tmp41, __cil_tmp42, __cil_tmp46, __cil_tmp48, 4, & ems_usb_read_interrupt_callback,
9029 __cil_tmp49, 1);
9030#line 661
9031 __cil_tmp50 = dev->intr_urb;
9032#line 661
9033 err = usb_submit_urb(__cil_tmp50, 208U);
9034 }
9035#line 662
9036 if (err) {
9037#line 663
9038 if (err == -19) {
9039 {
9040#line 664
9041 __cil_tmp51 = dev->netdev;
9042#line 664
9043 netif_device_detach(__cil_tmp51);
9044 }
9045 } else {
9046
9047 }
9048 {
9049#line 666
9050 __cil_tmp52 = netdev->dev.parent;
9051#line 666
9052 __cil_tmp53 = (struct device const *)__cil_tmp52;
9053#line 666
9054 dev_warn(__cil_tmp53, "intr URB submit failed: %d\n", err);
9055 }
9056#line 669
9057 return (err);
9058 } else {
9059
9060 }
9061 {
9062#line 673
9063 __cil_tmp54 = (u8 )5;
9064#line 673
9065 err = ems_usb_control_cmd(dev, __cil_tmp54);
9066 }
9067#line 674
9068 if (err) {
9069#line 675
9070 goto failed;
9071 } else {
9072
9073 }
9074 {
9075#line 678
9076 __cil_tmp55 = (u8 )13;
9077#line 678
9078 err = ems_usb_control_cmd(dev, __cil_tmp55);
9079 }
9080#line 679
9081 if (err) {
9082#line 680
9083 goto failed;
9084 } else {
9085
9086 }
9087 {
9088#line 683
9089 __cil_tmp56 = (u8 )29;
9090#line 683
9091 err = ems_usb_control_cmd(dev, __cil_tmp56);
9092 }
9093#line 684
9094 if (err) {
9095#line 685
9096 goto failed;
9097 } else {
9098
9099 }
9100 {
9101#line 687
9102 __cil_tmp57 = (u8 )0;
9103#line 687
9104 err = ems_usb_write_mode(dev, __cil_tmp57);
9105 }
9106#line 688
9107 if (err) {
9108#line 689
9109 goto failed;
9110 } else {
9111
9112 }
9113#line 691
9114 dev->can.state = (enum can_state )0;
9115#line 693
9116 return (0);
9117 failed:
9118#line 696
9119 if (err == -19) {
9120 {
9121#line 697
9122 __cil_tmp58 = dev->netdev;
9123#line 697
9124 netif_device_detach(__cil_tmp58);
9125 }
9126 } else {
9127
9128 }
9129 {
9130#line 699
9131 __cil_tmp59 = netdev->dev.parent;
9132#line 699
9133 __cil_tmp60 = (struct device const *)__cil_tmp59;
9134#line 699
9135 dev_warn(__cil_tmp60, "couldn\'t submit control: %d\n", err);
9136 }
9137#line 701
9138 return (err);
9139}
9140}
9141#line 704 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9142static void unlink_all_urbs(struct ems_usb *dev )
9143{ int i ;
9144 struct urb *__cil_tmp3 ;
9145 struct usb_anchor *__cil_tmp4 ;
9146 struct usb_anchor *__cil_tmp5 ;
9147 atomic_t *__cil_tmp6 ;
9148
9149 {
9150 {
9151#line 708
9152 __cil_tmp3 = dev->intr_urb;
9153#line 708
9154 usb_unlink_urb(__cil_tmp3);
9155#line 710
9156 __cil_tmp4 = & dev->rx_submitted;
9157#line 710
9158 usb_kill_anchored_urbs(__cil_tmp4);
9159#line 712
9160 __cil_tmp5 = & dev->tx_submitted;
9161#line 712
9162 usb_kill_anchored_urbs(__cil_tmp5);
9163#line 713
9164 __cil_tmp6 = & dev->active_tx_urbs;
9165#line 713
9166 atomic_set(__cil_tmp6, 0);
9167#line 715
9168 i = 0;
9169 }
9170 {
9171#line 715
9172 while (1) {
9173 while_continue: ;
9174
9175#line 715
9176 if (i < 10) {
9177
9178 } else {
9179#line 715
9180 goto while_break;
9181 }
9182#line 716
9183 dev->tx_contexts[i].echo_index = (u32 )10;
9184#line 715
9185 i = i + 1;
9186 }
9187 while_break___0: ;
9188 }
9189
9190 while_break: ;
9191#line 717
9192 return;
9193}
9194}
9195#line 719 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9196static int ems_usb_open(struct net_device *netdev )
9197{ struct ems_usb *dev ;
9198 void *tmp___7 ;
9199 int err ;
9200 struct net_device const *__cil_tmp5 ;
9201 u8 __cil_tmp6 ;
9202 struct net_device *__cil_tmp7 ;
9203 struct device *__cil_tmp8 ;
9204 struct device const *__cil_tmp9 ;
9205
9206 {
9207 {
9208#line 721
9209 __cil_tmp5 = (struct net_device const *)netdev;
9210#line 721
9211 tmp___7 = netdev_priv(__cil_tmp5);
9212#line 721
9213 dev = (struct ems_usb *)tmp___7;
9214#line 724
9215 __cil_tmp6 = (u8 )1;
9216#line 724
9217 err = ems_usb_write_mode(dev, __cil_tmp6);
9218 }
9219#line 725
9220 if (err) {
9221#line 726
9222 return (err);
9223 } else {
9224
9225 }
9226 {
9227#line 729
9228 err = open_candev(netdev);
9229 }
9230#line 730
9231 if (err) {
9232#line 731
9233 return (err);
9234 } else {
9235
9236 }
9237 {
9238#line 734
9239 err = ems_usb_start(dev);
9240 }
9241#line 735
9242 if (err) {
9243#line 736
9244 if (err == -19) {
9245 {
9246#line 737
9247 __cil_tmp7 = dev->netdev;
9248#line 737
9249 netif_device_detach(__cil_tmp7);
9250 }
9251 } else {
9252
9253 }
9254 {
9255#line 739
9256 __cil_tmp8 = netdev->dev.parent;
9257#line 739
9258 __cil_tmp9 = (struct device const *)__cil_tmp8;
9259#line 739
9260 dev_warn(__cil_tmp9, "couldn\'t start device: %d\n", err);
9261#line 742
9262 close_candev(netdev);
9263 }
9264#line 744
9265 return (err);
9266 } else {
9267
9268 }
9269 {
9270#line 747
9271 dev->open_time = (int )jiffies;
9272#line 749
9273 netif_start_queue(netdev);
9274 }
9275#line 751
9276 return (0);
9277}
9278}
9279#line 754 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9280static netdev_tx_t ems_usb_start_xmit(struct sk_buff *skb , struct net_device *netdev )
9281{ struct ems_usb *dev ;
9282 void *tmp___7 ;
9283 struct ems_tx_urb_context *context ;
9284 struct net_device_stats *stats ;
9285 struct can_frame *cf ;
9286 struct ems_cpc_msg *msg ;
9287 struct urb *urb ;
9288 u8 *buf ;
9289 int i ;
9290 int err ;
9291 size_t size ;
9292 int tmp___8 ;
9293 void *tmp___9 ;
9294 unsigned int tmp___10 ;
9295 int tmp___11 ;
9296 long tmp___12 ;
9297 struct net_device const *__cil_tmp19 ;
9298 void *__cil_tmp20 ;
9299 unsigned char *__cil_tmp21 ;
9300 struct device *__cil_tmp22 ;
9301 struct device const *__cil_tmp23 ;
9302 struct usb_device *__cil_tmp24 ;
9303 dma_addr_t *__cil_tmp25 ;
9304 struct device *__cil_tmp26 ;
9305 struct device const *__cil_tmp27 ;
9306 u8 *__cil_tmp28 ;
9307 canid_t __cil_tmp29 ;
9308 canid_t __cil_tmp30 ;
9309 canid_t __cil_tmp31 ;
9310 canid_t __cil_tmp32 ;
9311 __u8 __cil_tmp33 ;
9312 int __cil_tmp34 ;
9313 __u8 __cil_tmp35 ;
9314 int __cil_tmp36 ;
9315 int __cil_tmp37 ;
9316 u32 __cil_tmp38 ;
9317 struct usb_device *__cil_tmp39 ;
9318 void *__cil_tmp40 ;
9319 dma_addr_t __cil_tmp41 ;
9320 struct device *__cil_tmp42 ;
9321 struct device const *__cil_tmp43 ;
9322 struct usb_device *__cil_tmp44 ;
9323 struct usb_device *__cil_tmp45 ;
9324 int __cil_tmp46 ;
9325 unsigned int __cil_tmp47 ;
9326 unsigned int __cil_tmp48 ;
9327 void *__cil_tmp49 ;
9328 int __cil_tmp50 ;
9329 void *__cil_tmp51 ;
9330 unsigned int __cil_tmp52 ;
9331 struct usb_anchor *__cil_tmp53 ;
9332 u32 __cil_tmp54 ;
9333 atomic_t *__cil_tmp55 ;
9334 int __cil_tmp56 ;
9335 int __cil_tmp57 ;
9336 long __cil_tmp58 ;
9337 u32 __cil_tmp59 ;
9338 struct usb_device *__cil_tmp60 ;
9339 void *__cil_tmp61 ;
9340 dma_addr_t __cil_tmp62 ;
9341 atomic_t *__cil_tmp63 ;
9342 struct device *__cil_tmp64 ;
9343 struct device const *__cil_tmp65 ;
9344 unsigned long __cil_tmp66 ;
9345 atomic_t *__cil_tmp67 ;
9346 atomic_t const *__cil_tmp68 ;
9347 unsigned int __cil_tmp69 ;
9348 unsigned long __cil_tmp70 ;
9349
9350 {
9351 {
9352#line 756
9353 __cil_tmp19 = (struct net_device const *)netdev;
9354#line 756
9355 tmp___7 = netdev_priv(__cil_tmp19);
9356#line 756
9357 dev = (struct ems_usb *)tmp___7;
9358#line 757
9359 __cil_tmp20 = (void *)0;
9360#line 757
9361 context = (struct ems_tx_urb_context *)__cil_tmp20;
9362#line 758
9363 stats = & netdev->stats;
9364#line 759
9365 __cil_tmp21 = skb->data;
9366#line 759
9367 cf = (struct can_frame *)__cil_tmp21;
9368#line 764
9369 size = 15UL + 16UL;
9370#line 767
9371 tmp___8 = can_dropped_invalid_skb(netdev, skb);
9372 }
9373#line 767
9374 if (tmp___8) {
9375#line 768
9376 return ((netdev_tx_t )0);
9377 } else {
9378
9379 }
9380 {
9381#line 771
9382 urb = usb_alloc_urb(0, 32U);
9383 }
9384#line 772
9385 if (! urb) {
9386 {
9387#line 773
9388 __cil_tmp22 = netdev->dev.parent;
9389#line 773
9390 __cil_tmp23 = (struct device const *)__cil_tmp22;
9391#line 773
9392 dev_err(__cil_tmp23, "No memory left for URBs\n");
9393 }
9394#line 774
9395 goto nomem;
9396 } else {
9397
9398 }
9399 {
9400#line 777
9401 __cil_tmp24 = dev->udev;
9402#line 777
9403 __cil_tmp25 = & urb->transfer_dma;
9404#line 777
9405 tmp___9 = usb_alloc_coherent(__cil_tmp24, size, 32U, __cil_tmp25);
9406#line 777
9407 buf = (u8 *)tmp___9;
9408 }
9409#line 778
9410 if (! buf) {
9411 {
9412#line 779
9413 __cil_tmp26 = netdev->dev.parent;
9414#line 779
9415 __cil_tmp27 = (struct device const *)__cil_tmp26;
9416#line 779
9417 dev_err(__cil_tmp27, "No memory left for USB buffer\n");
9418#line 780
9419 usb_free_urb(urb);
9420 }
9421#line 781
9422 goto nomem;
9423 } else {
9424
9425 }
9426#line 784
9427 __cil_tmp28 = buf + 4;
9428#line 784
9429 msg = (struct ems_cpc_msg *)__cil_tmp28;
9430#line 786
9431 __cil_tmp29 = cf->can_id;
9432#line 786
9433 msg->msg.can_msg.id = __cil_tmp29 & 536870911U;
9434#line 787
9435 msg->msg.can_msg.length = cf->can_dlc;
9436 {
9437#line 789
9438 __cil_tmp30 = cf->can_id;
9439#line 789
9440 if (__cil_tmp30 & 1073741824U) {
9441 {
9442#line 790
9443 __cil_tmp31 = cf->can_id;
9444#line 790
9445 if (__cil_tmp31 & 2147483648U) {
9446#line 790
9447 msg->type = (u8 )16;
9448 } else {
9449#line 790
9450 msg->type = (u8 )13;
9451 }
9452 }
9453#line 793
9454 msg->length = (u8 )5;
9455 } else {
9456 {
9457#line 795
9458 __cil_tmp32 = cf->can_id;
9459#line 795
9460 if (__cil_tmp32 & 2147483648U) {
9461#line 795
9462 msg->type = (u8 )15;
9463 } else {
9464#line 795
9465 msg->type = (u8 )1;
9466 }
9467 }
9468#line 798
9469 i = 0;
9470 {
9471#line 798
9472 while (1) {
9473 while_continue: ;
9474
9475 {
9476#line 798
9477 __cil_tmp33 = cf->can_dlc;
9478#line 798
9479 __cil_tmp34 = (int )__cil_tmp33;
9480#line 798
9481 if (i < __cil_tmp34) {
9482
9483 } else {
9484#line 798
9485 goto while_break;
9486 }
9487 }
9488#line 799
9489 msg->msg.can_msg.msg[i] = cf->data[i];
9490#line 798
9491 i = i + 1;
9492 }
9493 while_break___1: ;
9494 }
9495
9496 while_break:
9497#line 801
9498 __cil_tmp35 = cf->can_dlc;
9499#line 801
9500 __cil_tmp36 = (int )__cil_tmp35;
9501#line 801
9502 __cil_tmp37 = 5 + __cil_tmp36;
9503#line 801
9504 msg->length = (u8 )__cil_tmp37;
9505 }
9506 }
9507#line 805
9508 msg->msg.can_msg.id = msg->msg.can_msg.id;
9509#line 807
9510 i = 0;
9511 {
9512#line 807
9513 while (1) {
9514 while_continue___0: ;
9515
9516#line 807
9517 if (i < 10) {
9518
9519 } else {
9520#line 807
9521 goto while_break___0;
9522 }
9523 {
9524#line 808
9525 __cil_tmp38 = dev->tx_contexts[i].echo_index;
9526#line 808
9527 if (__cil_tmp38 == 10U) {
9528#line 809
9529 context = & dev->tx_contexts[i];
9530#line 810
9531 goto while_break___0;
9532 } else {
9533
9534 }
9535 }
9536#line 807
9537 i = i + 1;
9538 }
9539 while_break___2: ;
9540 }
9541
9542 while_break___0: ;
9543#line 818
9544 if (! context) {
9545 {
9546#line 819
9547 usb_unanchor_urb(urb);
9548#line 820
9549 __cil_tmp39 = dev->udev;
9550#line 820
9551 __cil_tmp40 = (void *)buf;
9552#line 820
9553 __cil_tmp41 = urb->transfer_dma;
9554#line 820
9555 usb_free_coherent(__cil_tmp39, size, __cil_tmp40, __cil_tmp41);
9556#line 822
9557 __cil_tmp42 = netdev->dev.parent;
9558#line 822
9559 __cil_tmp43 = (struct device const *)__cil_tmp42;
9560#line 822
9561 dev_warn(__cil_tmp43, "couldn\'t find free context\n");
9562 }
9563#line 824
9564 return ((netdev_tx_t )16);
9565 } else {
9566
9567 }
9568 {
9569#line 827
9570 context->dev = dev;
9571#line 828
9572 context->echo_index = (u32 )i;
9573#line 829
9574 context->dlc = cf->can_dlc;
9575#line 831
9576 __cil_tmp44 = dev->udev;
9577#line 831
9578 tmp___10 = __create_pipe(__cil_tmp44, 2U);
9579#line 831
9580 __cil_tmp45 = dev->udev;
9581#line 831
9582 __cil_tmp46 = 3 << 30;
9583#line 831
9584 __cil_tmp47 = (unsigned int )__cil_tmp46;
9585#line 831
9586 __cil_tmp48 = __cil_tmp47 | tmp___10;
9587#line 831
9588 __cil_tmp49 = (void *)buf;
9589#line 831
9590 __cil_tmp50 = (int )size;
9591#line 831
9592 __cil_tmp51 = (void *)context;
9593#line 831
9594 usb_fill_bulk_urb(urb, __cil_tmp45, __cil_tmp48, __cil_tmp49, __cil_tmp50, & ems_usb_write_bulk_callback,
9595 __cil_tmp51);
9596#line 833
9597 __cil_tmp52 = urb->transfer_flags;
9598#line 833
9599 urb->transfer_flags = __cil_tmp52 | 4U;
9600#line 834
9601 __cil_tmp53 = & dev->tx_submitted;
9602#line 834
9603 usb_anchor_urb(urb, __cil_tmp53);
9604#line 836
9605 __cil_tmp54 = context->echo_index;
9606#line 836
9607 can_put_echo_skb(skb, netdev, __cil_tmp54);
9608#line 838
9609 __cil_tmp55 = & dev->active_tx_urbs;
9610#line 838
9611 atomic_inc(__cil_tmp55);
9612#line 840
9613 err = usb_submit_urb(urb, 32U);
9614#line 841
9615 __cil_tmp56 = ! err;
9616#line 841
9617 __cil_tmp57 = ! __cil_tmp56;
9618#line 841
9619 __cil_tmp58 = (long )__cil_tmp57;
9620#line 841
9621 tmp___12 = __builtin_expect(__cil_tmp58, 0L);
9622 }
9623#line 841
9624 if (tmp___12) {
9625 {
9626#line 842
9627 __cil_tmp59 = context->echo_index;
9628#line 842
9629 can_free_echo_skb(netdev, __cil_tmp59);
9630#line 844
9631 usb_unanchor_urb(urb);
9632#line 845
9633 __cil_tmp60 = dev->udev;
9634#line 845
9635 __cil_tmp61 = (void *)buf;
9636#line 845
9637 __cil_tmp62 = urb->transfer_dma;
9638#line 845
9639 usb_free_coherent(__cil_tmp60, size, __cil_tmp61, __cil_tmp62);
9640#line 846
9641 consume_skb(skb);
9642#line 848
9643 __cil_tmp63 = & dev->active_tx_urbs;
9644#line 848
9645 atomic_dec(__cil_tmp63);
9646 }
9647#line 850
9648 if (err == -19) {
9649 {
9650#line 851
9651 netif_device_detach(netdev);
9652 }
9653 } else {
9654 {
9655#line 853
9656 __cil_tmp64 = netdev->dev.parent;
9657#line 853
9658 __cil_tmp65 = (struct device const *)__cil_tmp64;
9659#line 853
9660 dev_warn(__cil_tmp65, "failed tx_urb %d\n", err);
9661#line 855
9662 __cil_tmp66 = stats->tx_dropped;
9663#line 855
9664 stats->tx_dropped = __cil_tmp66 + 1UL;
9665 }
9666 }
9667 } else {
9668 {
9669#line 858
9670 netdev->trans_start = (unsigned long )jiffies;
9671#line 861
9672 __cil_tmp67 = & dev->active_tx_urbs;
9673#line 861
9674 __cil_tmp68 = (atomic_t const *)__cil_tmp67;
9675#line 861
9676 tmp___11 = atomic_read(__cil_tmp68);
9677 }
9678#line 861
9679 if (tmp___11 >= 10) {
9680 {
9681#line 863
9682 netif_stop_queue(netdev);
9683 }
9684 } else {
9685 {
9686#line 861
9687 __cil_tmp69 = dev->free_slots;
9688#line 861
9689 if (__cil_tmp69 < 5U) {
9690 {
9691#line 863
9692 netif_stop_queue(netdev);
9693 }
9694 } else {
9695
9696 }
9697 }
9698 }
9699 }
9700 {
9701#line 871
9702 usb_free_urb(urb);
9703 }
9704#line 873
9705 return ((netdev_tx_t )0);
9706 nomem:
9707 {
9708#line 876
9709 consume_skb(skb);
9710#line 877
9711 __cil_tmp70 = stats->tx_dropped;
9712#line 877
9713 stats->tx_dropped = __cil_tmp70 + 1UL;
9714 }
9715#line 879
9716 return ((netdev_tx_t )0);
9717}
9718}
9719#line 882 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9720static int ems_usb_close(struct net_device *netdev )
9721{ struct ems_usb *dev ;
9722 void *tmp___7 ;
9723 int tmp___8 ;
9724 struct net_device const *__cil_tmp5 ;
9725 u8 __cil_tmp6 ;
9726 struct device *__cil_tmp7 ;
9727 struct device const *__cil_tmp8 ;
9728
9729 {
9730 {
9731#line 884
9732 __cil_tmp5 = (struct net_device const *)netdev;
9733#line 884
9734 tmp___7 = netdev_priv(__cil_tmp5);
9735#line 884
9736 dev = (struct ems_usb *)tmp___7;
9737#line 887
9738 unlink_all_urbs(dev);
9739#line 889
9740 netif_stop_queue(netdev);
9741#line 892
9742 __cil_tmp6 = (u8 )1;
9743#line 892
9744 tmp___8 = ems_usb_write_mode(dev, __cil_tmp6);
9745 }
9746#line 892
9747 if (tmp___8) {
9748 {
9749#line 893
9750 __cil_tmp7 = netdev->dev.parent;
9751#line 893
9752 __cil_tmp8 = (struct device const *)__cil_tmp7;
9753#line 893
9754 dev_warn(__cil_tmp8, "couldn\'t stop device");
9755 }
9756 } else {
9757
9758 }
9759 {
9760#line 895
9761 close_candev(netdev);
9762#line 897
9763 dev->open_time = 0;
9764 }
9765#line 899
9766 return (0);
9767}
9768}
9769#line 902 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9770static struct net_device_ops const ems_usb_netdev_ops =
9771#line 902
9772 {(int (*)(struct net_device *dev ))0, (void (*)(struct net_device *dev ))0, & ems_usb_open,
9773 & ems_usb_close, & ems_usb_start_xmit, (u16 (*)(struct net_device *dev , struct sk_buff *skb ))0,
9774 (void (*)(struct net_device *dev , int flags ))0, (void (*)(struct net_device *dev ))0,
9775 (void (*)(struct net_device *dev ))0, (int (*)(struct net_device *dev , void *addr ))0,
9776 (int (*)(struct net_device *dev ))0, (int (*)(struct net_device *dev , struct ifreq *ifr ,
9777 int cmd ))0, (int (*)(struct net_device *dev ,
9778 struct ifmap *map ))0,
9779 (int (*)(struct net_device *dev , int new_mtu ))0, (int (*)(struct net_device *dev ,
9780 struct neigh_parms * ))0,
9781 (void (*)(struct net_device *dev ))0, (struct rtnl_link_stats64 *(*)(struct net_device *dev ,
9782 struct rtnl_link_stats64 *storage ))0,
9783 (struct net_device_stats *(*)(struct net_device *dev ))0, (void (*)(struct net_device *dev ,
9784 struct vlan_group *grp ))0,
9785 (void (*)(struct net_device *dev , unsigned short vid ))0, (void (*)(struct net_device *dev ,
9786 unsigned short vid ))0,
9787 (void (*)(struct net_device *dev ))0, (int (*)(struct net_device *dev , struct netpoll_info *info ))0,
9788 (void (*)(struct net_device *dev ))0, (int (*)(struct net_device *dev , int queue ,
9789 u8 *mac ))0, (int (*)(struct net_device *dev ,
9790 int queue ,
9791 u16 vlan ,
9792 u8 qos ))0,
9793 (int (*)(struct net_device *dev , int vf , int rate ))0, (int (*)(struct net_device *dev ,
9794 int vf , struct ifla_vf_info *ivf ))0,
9795 (int (*)(struct net_device *dev , int vf , struct nlattr **port ))0, (int (*)(struct net_device *dev ,
9796 int vf ,
9797 struct sk_buff *skb ))0,
9798 (int (*)(struct net_device *dev , u8 tc ))0, (int (*)(struct net_device *dev ))0,
9799 (int (*)(struct net_device *dev ))0, (int (*)(struct net_device *dev , u16 xid ,
9800 struct scatterlist *sgl , unsigned int sgc ))0,
9801 (int (*)(struct net_device *dev , u16 xid ))0, (int (*)(struct net_device *dev ,
9802 u16 xid , struct scatterlist *sgl ,
9803 unsigned int sgc ))0,
9804 (int (*)(struct net_device *dev , u64 *wwn , int type ))0, (int (*)(struct net_device *dev ,
9805 struct sk_buff const *skb ,
9806 u16 rxq_index ,
9807 u32 flow_id ))0,
9808 (int (*)(struct net_device *dev , struct net_device *slave_dev ))0, (int (*)(struct net_device *dev ,
9809 struct net_device *slave_dev ))0,
9810 (u32 (*)(struct net_device *dev , u32 features ))0, (int (*)(struct net_device *dev ,
9811 u32 features ))0};
9812#line 908 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9813static struct can_bittiming_const ems_usb_bittiming_const =
9814#line 908
9815 {{(char )'e', (char )'m', (char )'s', (char )'_', (char )'u', (char )'s', (char )'b',
9816 (char )'\000', (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0,
9817 (char)0}, (__u32 )1, (__u32 )16, (__u32 )1, (__u32 )8, (__u32 )4, (__u32 )1,
9818 (__u32 )64, (__u32 )1};
9819#line 920 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9820static int ems_usb_set_mode(struct net_device *netdev , enum can_mode mode )
9821{ struct ems_usb *dev ;
9822 void *tmp___7 ;
9823 int tmp___8 ;
9824 int tmp___9 ;
9825 struct net_device const *__cil_tmp7 ;
9826 int __cil_tmp8 ;
9827 int __cil_tmp9 ;
9828 u8 __cil_tmp10 ;
9829 struct device *__cil_tmp11 ;
9830 struct device const *__cil_tmp12 ;
9831 struct net_device const *__cil_tmp13 ;
9832
9833 {
9834 {
9835#line 922
9836 __cil_tmp7 = (struct net_device const *)netdev;
9837#line 922
9838 tmp___7 = netdev_priv(__cil_tmp7);
9839#line 922
9840 dev = (struct ems_usb *)tmp___7;
9841 }
9842 {
9843#line 924
9844 __cil_tmp8 = dev->open_time;
9845#line 924
9846 if (! __cil_tmp8) {
9847#line 925
9848 return (-22);
9849 } else {
9850
9851 }
9852 }
9853 {
9854#line 928
9855 __cil_tmp9 = (int )mode;
9856#line 928
9857 if (__cil_tmp9 == 1) {
9858#line 928
9859 goto case_1;
9860 } else {
9861#line 936
9862 goto switch_default;
9863#line 927
9864 if (0) {
9865 case_1:
9866 {
9867#line 929
9868 __cil_tmp10 = (u8 )0;
9869#line 929
9870 tmp___8 = ems_usb_write_mode(dev, __cil_tmp10);
9871 }
9872#line 929
9873 if (tmp___8) {
9874 {
9875#line 930
9876 __cil_tmp11 = netdev->dev.parent;
9877#line 930
9878 __cil_tmp12 = (struct device const *)__cil_tmp11;
9879#line 930
9880 dev_warn(__cil_tmp12, "couldn\'t start device");
9881 }
9882 } else {
9883
9884 }
9885 {
9886#line 932
9887 __cil_tmp13 = (struct net_device const *)netdev;
9888#line 932
9889 tmp___9 = netif_queue_stopped(__cil_tmp13);
9890 }
9891#line 932
9892 if (tmp___9) {
9893 {
9894#line 933
9895 netif_wake_queue(netdev);
9896 }
9897 } else {
9898
9899 }
9900#line 934
9901 goto switch_break;
9902 switch_default:
9903#line 937
9904 return (-95);
9905 } else {
9906 switch_break: ;
9907 }
9908 }
9909 }
9910#line 940
9911 return (0);
9912}
9913}
9914#line 943 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
9915static int ems_usb_set_bittiming(struct net_device *netdev )
9916{ struct ems_usb *dev ;
9917 void *tmp___7 ;
9918 struct can_bittiming *bt ;
9919 u8 btr0 ;
9920 u8 btr1 ;
9921 int tmp___8 ;
9922 struct net_device const *__cil_tmp8 ;
9923 __u32 __cil_tmp9 ;
9924 __u32 __cil_tmp10 ;
9925 unsigned int __cil_tmp11 ;
9926 unsigned int __cil_tmp12 ;
9927 __u32 __cil_tmp13 ;
9928 __u32 __cil_tmp14 ;
9929 unsigned int __cil_tmp15 ;
9930 unsigned int __cil_tmp16 ;
9931 __u32 __cil_tmp17 ;
9932 __u32 __cil_tmp18 ;
9933 unsigned int __cil_tmp19 ;
9934 unsigned int __cil_tmp20 ;
9935 __u32 __cil_tmp21 ;
9936 __u32 __cil_tmp22 ;
9937 __u32 __cil_tmp23 ;
9938 __u32 __cil_tmp24 ;
9939 unsigned int __cil_tmp25 ;
9940 unsigned int __cil_tmp26 ;
9941 u32 __cil_tmp27 ;
9942 int __cil_tmp28 ;
9943 int __cil_tmp29 ;
9944 struct device *__cil_tmp30 ;
9945 struct device const *__cil_tmp31 ;
9946 int __cil_tmp32 ;
9947 int __cil_tmp33 ;
9948 struct ems_cpc_msg *__cil_tmp34 ;
9949
9950 {
9951 {
9952#line 945
9953 __cil_tmp8 = (struct net_device const *)netdev;
9954#line 945
9955 tmp___7 = netdev_priv(__cil_tmp8);
9956#line 945
9957 dev = (struct ems_usb *)tmp___7;
9958#line 946
9959 bt = & dev->can.bittiming;
9960#line 949
9961 __cil_tmp9 = bt->sjw;
9962#line 949
9963 __cil_tmp10 = __cil_tmp9 - 1U;
9964#line 949
9965 __cil_tmp11 = __cil_tmp10 & 3U;
9966#line 949
9967 __cil_tmp12 = __cil_tmp11 << 6;
9968#line 949
9969 __cil_tmp13 = bt->brp;
9970#line 949
9971 __cil_tmp14 = __cil_tmp13 - 1U;
9972#line 949
9973 __cil_tmp15 = __cil_tmp14 & 63U;
9974#line 949
9975 __cil_tmp16 = __cil_tmp15 | __cil_tmp12;
9976#line 949
9977 btr0 = (u8 )__cil_tmp16;
9978#line 950
9979 __cil_tmp17 = bt->phase_seg2;
9980#line 950
9981 __cil_tmp18 = __cil_tmp17 - 1U;
9982#line 950
9983 __cil_tmp19 = __cil_tmp18 & 7U;
9984#line 950
9985 __cil_tmp20 = __cil_tmp19 << 4;
9986#line 950
9987 __cil_tmp21 = bt->phase_seg1;
9988#line 950
9989 __cil_tmp22 = bt->prop_seg;
9990#line 950
9991 __cil_tmp23 = __cil_tmp22 + __cil_tmp21;
9992#line 950
9993 __cil_tmp24 = __cil_tmp23 - 1U;
9994#line 950
9995 __cil_tmp25 = __cil_tmp24 & 15U;
9996#line 950
9997 __cil_tmp26 = __cil_tmp25 | __cil_tmp20;
9998#line 950
9999 btr1 = (u8 )__cil_tmp26;
10000 }
10001 {
10002#line 952
10003 __cil_tmp27 = dev->can.ctrlmode;
10004#line 952
10005 if (__cil_tmp27 & 4U) {
10006#line 953
10007 __cil_tmp28 = (int )btr1;
10008#line 953
10009 __cil_tmp29 = __cil_tmp28 | 128;
10010#line 953
10011 btr1 = (u8 )__cil_tmp29;
10012 } else {
10013
10014 }
10015 }
10016 {
10017#line 955
10018 __cil_tmp30 = netdev->dev.parent;
10019#line 955
10020 __cil_tmp31 = (struct device const *)__cil_tmp30;
10021#line 955
10022 __cil_tmp32 = (int )btr0;
10023#line 955
10024 __cil_tmp33 = (int )btr1;
10025#line 955
10026 _dev_info(__cil_tmp31, "setting BTR0=0x%02x BTR1=0x%02x\n", __cil_tmp32, __cil_tmp33);
10027#line 958
10028 dev->active_params.msg.can_params.cc_params.sja1000.btr0 = btr0;
10029#line 959
10030 dev->active_params.msg.can_params.cc_params.sja1000.btr1 = btr1;
10031#line 961
10032 __cil_tmp34 = & dev->active_params;
10033#line 961
10034 tmp___8 = ems_usb_command_msg(dev, __cil_tmp34);
10035 }
10036#line 961
10037 return (tmp___8);
10038}
10039}
10040#line 964 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10041static void init_params_sja1000(struct ems_cpc_msg *msg )
10042{ struct cpc_sja1000_params *sja1000 ;
10043
10044 {
10045#line 966
10046 sja1000 = & msg->msg.can_params.cc_params.sja1000;
10047#line 969
10048 msg->type = (u8 )6;
10049#line 970
10050 msg->length = (u8 )13UL;
10051#line 971
10052 msg->msgid = (u8 )0;
10053#line 973
10054 msg->msg.can_params.cc_type = (u8 )2;
10055#line 976
10056 sja1000->acc_code0 = (u8 )0;
10057#line 977
10058 sja1000->acc_code1 = (u8 )0;
10059#line 978
10060 sja1000->acc_code2 = (u8 )0;
10061#line 979
10062 sja1000->acc_code3 = (u8 )0;
10063#line 982
10064 sja1000->acc_mask0 = (u8 )255;
10065#line 983
10066 sja1000->acc_mask1 = (u8 )255;
10067#line 984
10068 sja1000->acc_mask2 = (u8 )255;
10069#line 985
10070 sja1000->acc_mask3 = (u8 )255;
10071#line 987
10072 sja1000->btr0 = (u8 )0;
10073#line 988
10074 sja1000->btr1 = (u8 )0;
10075#line 990
10076 sja1000->outp_contr = (u8 )218;
10077#line 991
10078 sja1000->mode = (u8 )1;
10079#line 992
10080 return;
10081}
10082}
10083#line 997 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10084static int ems_usb_probe(struct usb_interface *intf , struct usb_device_id const *id )
10085{ struct net_device *netdev ;
10086 struct ems_usb *dev ;
10087 int i ;
10088 int err ;
10089 void *tmp___7 ;
10090 void *tmp___8 ;
10091 void *tmp___9 ;
10092 int __cil_tmp10 ;
10093 struct device *__cil_tmp11 ;
10094 struct device const *__cil_tmp12 ;
10095 struct net_device const *__cil_tmp13 ;
10096 unsigned int __cil_tmp14 ;
10097 struct usb_anchor *__cil_tmp15 ;
10098 struct usb_anchor *__cil_tmp16 ;
10099 atomic_t *__cil_tmp17 ;
10100 struct urb *__cil_tmp18 ;
10101 struct device *__cil_tmp19 ;
10102 struct device const *__cil_tmp20 ;
10103 size_t __cil_tmp21 ;
10104 u8 *__cil_tmp22 ;
10105 struct device *__cil_tmp23 ;
10106 struct device const *__cil_tmp24 ;
10107 unsigned long __cil_tmp25 ;
10108 u8 *__cil_tmp26 ;
10109 struct device *__cil_tmp27 ;
10110 struct device const *__cil_tmp28 ;
10111 void *__cil_tmp29 ;
10112 struct ems_cpc_msg *__cil_tmp30 ;
10113 struct ems_cpc_msg *__cil_tmp31 ;
10114 struct device *__cil_tmp32 ;
10115 struct device const *__cil_tmp33 ;
10116 struct device *__cil_tmp34 ;
10117 struct device const *__cil_tmp35 ;
10118 u8 *__cil_tmp36 ;
10119 void const *__cil_tmp37 ;
10120 u8 *__cil_tmp38 ;
10121 void const *__cil_tmp39 ;
10122 struct urb *__cil_tmp40 ;
10123
10124 {
10125 {
10126#line 1002
10127 err = -12;
10128#line 1004
10129 __cil_tmp10 = (int )1008UL;
10130#line 1004
10131 netdev = alloc_candev(__cil_tmp10, 10U);
10132 }
10133#line 1005
10134 if (! netdev) {
10135 {
10136#line 1006
10137 __cil_tmp11 = & intf->dev;
10138#line 1006
10139 __cil_tmp12 = (struct device const *)__cil_tmp11;
10140#line 1006
10141 dev_err(__cil_tmp12, "ems_usb: Couldn\'t alloc candev\n");
10142 }
10143#line 1007
10144 return (-12);
10145 } else {
10146
10147 }
10148 {
10149#line 1010
10150 __cil_tmp13 = (struct net_device const *)netdev;
10151#line 1010
10152 tmp___7 = netdev_priv(__cil_tmp13);
10153#line 1010
10154 dev = (struct ems_usb *)tmp___7;
10155#line 1012
10156 dev->udev = interface_to_usbdev(intf);
10157#line 1013
10158 dev->netdev = netdev;
10159#line 1015
10160 dev->can.state = (enum can_state )4;
10161#line 1016
10162 dev->can.clock.freq = (__u32 )8000000;
10163#line 1017
10164 dev->can.bittiming_const = & ems_usb_bittiming_const;
10165#line 1018
10166 dev->can.do_set_bittiming = & ems_usb_set_bittiming;
10167#line 1019
10168 dev->can.do_set_mode = & ems_usb_set_mode;
10169#line 1020
10170 dev->can.ctrlmode_supported = (u32 )4;
10171#line 1022
10172 netdev->netdev_ops = & ems_usb_netdev_ops;
10173#line 1024
10174 __cil_tmp14 = netdev->flags;
10175#line 1024
10176 netdev->flags = __cil_tmp14 | 262144U;
10177#line 1026
10178 __cil_tmp15 = & dev->rx_submitted;
10179#line 1026
10180 init_usb_anchor(__cil_tmp15);
10181#line 1028
10182 __cil_tmp16 = & dev->tx_submitted;
10183#line 1028
10184 init_usb_anchor(__cil_tmp16);
10185#line 1029
10186 __cil_tmp17 = & dev->active_tx_urbs;
10187#line 1029
10188 atomic_set(__cil_tmp17, 0);
10189#line 1031
10190 i = 0;
10191 }
10192 {
10193#line 1031
10194 while (1) {
10195 while_continue: ;
10196
10197#line 1031
10198 if (i < 10) {
10199
10200 } else {
10201#line 1031
10202 goto while_break;
10203 }
10204#line 1032
10205 dev->tx_contexts[i].echo_index = (u32 )10;
10206#line 1031
10207 i = i + 1;
10208 }
10209 while_break___0: ;
10210 }
10211
10212 while_break:
10213 {
10214#line 1034
10215 dev->intr_urb = usb_alloc_urb(0, 208U);
10216 }
10217 {
10218#line 1035
10219 __cil_tmp18 = dev->intr_urb;
10220#line 1035
10221 if (! __cil_tmp18) {
10222 {
10223#line 1036
10224 __cil_tmp19 = & intf->dev;
10225#line 1036
10226 __cil_tmp20 = (struct device const *)__cil_tmp19;
10227#line 1036
10228 dev_err(__cil_tmp20, "Couldn\'t alloc intr URB\n");
10229 }
10230#line 1037
10231 goto cleanup_candev;
10232 } else {
10233
10234 }
10235 }
10236 {
10237#line 1040
10238 __cil_tmp21 = (size_t )4;
10239#line 1040
10240 tmp___8 = kzalloc(__cil_tmp21, 208U);
10241#line 1040
10242 dev->intr_in_buffer = (u8 *)tmp___8;
10243 }
10244 {
10245#line 1041
10246 __cil_tmp22 = dev->intr_in_buffer;
10247#line 1041
10248 if (! __cil_tmp22) {
10249 {
10250#line 1042
10251 __cil_tmp23 = & intf->dev;
10252#line 1042
10253 __cil_tmp24 = (struct device const *)__cil_tmp23;
10254#line 1042
10255 dev_err(__cil_tmp24, "Couldn\'t alloc Intr buffer\n");
10256 }
10257#line 1043
10258 goto cleanup_intr_urb;
10259 } else {
10260
10261 }
10262 }
10263 {
10264#line 1046
10265 __cil_tmp25 = 4UL + 75UL;
10266#line 1046
10267 tmp___9 = kzalloc(__cil_tmp25, 208U);
10268#line 1046
10269 dev->tx_msg_buffer = (u8 *)tmp___9;
10270 }
10271 {
10272#line 1048
10273 __cil_tmp26 = dev->tx_msg_buffer;
10274#line 1048
10275 if (! __cil_tmp26) {
10276 {
10277#line 1049
10278 __cil_tmp27 = & intf->dev;
10279#line 1049
10280 __cil_tmp28 = (struct device const *)__cil_tmp27;
10281#line 1049
10282 dev_err(__cil_tmp28, "Couldn\'t alloc Tx buffer\n");
10283 }
10284#line 1050
10285 goto cleanup_intr_in_buffer;
10286 } else {
10287
10288 }
10289 }
10290 {
10291#line 1053
10292 __cil_tmp29 = (void *)dev;
10293#line 1053
10294 usb_set_intfdata(intf, __cil_tmp29);
10295#line 1055
10296 netdev->dev.parent = & intf->dev;
10297#line 1057
10298 __cil_tmp30 = & dev->active_params;
10299#line 1057
10300 init_params_sja1000(__cil_tmp30);
10301#line 1059
10302 __cil_tmp31 = & dev->active_params;
10303#line 1059
10304 err = ems_usb_command_msg(dev, __cil_tmp31);
10305 }
10306#line 1060
10307 if (err) {
10308 {
10309#line 1061
10310 __cil_tmp32 = netdev->dev.parent;
10311#line 1061
10312 __cil_tmp33 = (struct device const *)__cil_tmp32;
10313#line 1061
10314 dev_err(__cil_tmp33, "couldn\'t initialize controller: %d\n", err);
10315 }
10316#line 1063
10317 goto cleanup_tx_msg_buffer;
10318 } else {
10319
10320 }
10321 {
10322#line 1066
10323 err = register_candev(netdev);
10324 }
10325#line 1067
10326 if (err) {
10327 {
10328#line 1068
10329 __cil_tmp34 = netdev->dev.parent;
10330#line 1068
10331 __cil_tmp35 = (struct device const *)__cil_tmp34;
10332#line 1068
10333 dev_err(__cil_tmp35, "couldn\'t register CAN device: %d\n", err);
10334 }
10335#line 1070
10336 goto cleanup_tx_msg_buffer;
10337 } else {
10338
10339 }
10340#line 1073
10341 return (0);
10342 cleanup_tx_msg_buffer:
10343 {
10344#line 1076
10345 __cil_tmp36 = dev->tx_msg_buffer;
10346#line 1076
10347 __cil_tmp37 = (void const *)__cil_tmp36;
10348#line 1076
10349 kfree(__cil_tmp37);
10350 }
10351 cleanup_intr_in_buffer:
10352 {
10353#line 1079
10354 __cil_tmp38 = dev->intr_in_buffer;
10355#line 1079
10356 __cil_tmp39 = (void const *)__cil_tmp38;
10357#line 1079
10358 kfree(__cil_tmp39);
10359 }
10360 cleanup_intr_urb:
10361 {
10362#line 1082
10363 __cil_tmp40 = dev->intr_urb;
10364#line 1082
10365 usb_free_urb(__cil_tmp40);
10366 }
10367 cleanup_candev:
10368 {
10369#line 1085
10370 free_candev(netdev);
10371 }
10372#line 1087
10373 return (err);
10374}
10375}
10376#line 1093 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10377static void ems_usb_disconnect(struct usb_interface *intf )
10378{ struct ems_usb *dev ;
10379 void *tmp___7 ;
10380 void *__cil_tmp4 ;
10381 struct net_device *__cil_tmp5 ;
10382 struct net_device *__cil_tmp6 ;
10383 struct urb *__cil_tmp7 ;
10384 u8 *__cil_tmp8 ;
10385 void const *__cil_tmp9 ;
10386
10387 {
10388 {
10389#line 1095
10390 tmp___7 = usb_get_intfdata(intf);
10391#line 1095
10392 dev = (struct ems_usb *)tmp___7;
10393#line 1097
10394 __cil_tmp4 = (void *)0;
10395#line 1097
10396 usb_set_intfdata(intf, __cil_tmp4);
10397 }
10398#line 1099
10399 if (dev) {
10400 {
10401#line 1100
10402 __cil_tmp5 = dev->netdev;
10403#line 1100
10404 unregister_netdev(__cil_tmp5);
10405#line 1101
10406 __cil_tmp6 = dev->netdev;
10407#line 1101
10408 free_candev(__cil_tmp6);
10409#line 1103
10410 unlink_all_urbs(dev);
10411#line 1105
10412 __cil_tmp7 = dev->intr_urb;
10413#line 1105
10414 usb_free_urb(__cil_tmp7);
10415#line 1107
10416 __cil_tmp8 = dev->intr_in_buffer;
10417#line 1107
10418 __cil_tmp9 = (void const *)__cil_tmp8;
10419#line 1107
10420 kfree(__cil_tmp9);
10421 }
10422 } else {
10423
10424 }
10425#line 1109
10426 return;
10427}
10428}
10429#line 1112 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10430static struct usb_driver ems_usb_driver =
10431#line 1112
10432 {"ems_usb", & ems_usb_probe, & ems_usb_disconnect, (int (*)(struct usb_interface *intf ,
10433 unsigned int code ,
10434 void *buf ))0, (int (*)(struct usb_interface *intf ,
10435 pm_message_t message ))0,
10436 (int (*)(struct usb_interface *intf ))0, (int (*)(struct usb_interface *intf ))0,
10437 (int (*)(struct usb_interface *intf ))0, (int (*)(struct usb_interface *intf ))0,
10438 (struct usb_device_id const *)(ems_usb_table), {{{{{0U}, 0U, 0U, (void *)0,
10439 {(struct lock_class_key *)0,
10440 {(struct lock_class *)0,
10441 (struct lock_class *)0},
10442 (char const *)0, 0, 0UL}}}},
10443 {(struct list_head *)0, (struct list_head *)0}},
10444 {{(char const *)0, (struct bus_type *)0, (struct module *)0, (char const *)0,
10445 (_Bool)0, (struct of_device_id const *)0, (int (*)(struct device *dev ))0,
10446 (int (*)(struct device *dev ))0, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
10447 pm_message_t state ))0,
10448 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
10449 (struct driver_private *)0}, 0}, 0U, 0U, 0U};
10450#line 1119
10451static int ems_usb_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
10452#line 1119
10453static int ems_usb_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
10454#line 1119 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10455static int ems_usb_init(void)
10456{ int err ;
10457
10458 {
10459 {
10460#line 1123
10461 printk("<6>CPC-USB kernel driver loaded\n");
10462#line 1126
10463 err = usb_register(& ems_usb_driver);
10464 }
10465#line 1128
10466 if (err) {
10467 {
10468#line 1129
10469 printk("<3>ems_usb: usb_register failed. Error number %d\n\n", err);
10470 }
10471#line 1130
10472 return (err);
10473 } else {
10474
10475 }
10476#line 1133
10477 return (0);
10478}
10479}
10480#line 1136
10481static void ems_usb_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
10482#line 1136
10483static void ems_usb_exit(void) __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
10484#line 1136 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10485static void ems_usb_exit(void)
10486{
10487
10488 {
10489 {
10490#line 1139
10491 usb_deregister(& ems_usb_driver);
10492 }
10493#line 1140
10494 return;
10495}
10496}
10497#line 1142 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10498int init_module(void)
10499{ int tmp___7 ;
10500
10501 {
10502 {
10503#line 1142
10504 tmp___7 = ems_usb_init();
10505 }
10506#line 1142
10507 return (tmp___7);
10508}
10509}
10510#line 1143 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10511void cleanup_module(void)
10512{
10513
10514 {
10515 {
10516#line 1143
10517 ems_usb_exit();
10518 }
10519#line 1143
10520 return;
10521}
10522}
10523#line 1161
10524void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
10525#line 1164
10526extern void ldv_check_return_value(int res ) ;
10527#line 1167
10528extern void ldv_initialize(void) ;
10529#line 1170
10530extern int nondet_int(void) ;
10531#line 1173 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10532int LDV_IN_INTERRUPT ;
10533#line 1245 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10534static int res_ems_usb_open_10 ;
10535#line 1306 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10536static int res_ems_usb_close_12 ;
10537#line 1434 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10538static int res_ems_usb_probe_16 ;
10539#line 1176 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/net/can/usb/ems_usb.c.common.c"
10540void main(void)
10541{ struct net_device *var_group1 ;
10542 struct sk_buff *var_group2 ;
10543 struct usb_interface *var_group3 ;
10544 struct usb_device_id const *var_ems_usb_probe_16_p1 ;
10545 int tmp___7 ;
10546 int ldv_s_ems_usb_netdev_ops_net_device_ops ;
10547 int ldv_s_ems_usb_driver_usb_driver ;
10548 int tmp___8 ;
10549 int tmp___9 ;
10550 int __cil_tmp10 ;
10551 int __cil_tmp11 ;
10552
10553 {
10554 {
10555#line 1501
10556 LDV_IN_INTERRUPT = 1;
10557#line 1510
10558 ldv_initialize();
10559#line 1573
10560 tmp___7 = ems_usb_init();
10561 }
10562#line 1573
10563 if (tmp___7) {
10564#line 1574
10565 goto ldv_final;
10566 } else {
10567
10568 }
10569#line 1575
10570 ldv_s_ems_usb_netdev_ops_net_device_ops = 0;
10571#line 1578
10572 ldv_s_ems_usb_driver_usb_driver = 0;
10573 {
10574#line 1581
10575 while (1) {
10576 while_continue: ;
10577 {
10578#line 1581
10579 tmp___9 = nondet_int();
10580 }
10581#line 1581
10582 if (tmp___9) {
10583
10584 } else {
10585 {
10586#line 1581
10587 __cil_tmp10 = ldv_s_ems_usb_netdev_ops_net_device_ops == 0;
10588#line 1581
10589 if (! __cil_tmp10) {
10590
10591 } else {
10592 {
10593#line 1581
10594 __cil_tmp11 = ldv_s_ems_usb_driver_usb_driver == 0;
10595#line 1581
10596 if (! __cil_tmp11) {
10597
10598 } else {
10599#line 1581
10600 goto while_break;
10601 }
10602 }
10603 }
10604 }
10605 }
10606 {
10607#line 1586
10608 tmp___8 = nondet_int();
10609 }
10610#line 1588
10611 if (tmp___8 == 0) {
10612#line 1588
10613 goto case_0;
10614 } else
10615#line 1664
10616 if (tmp___8 == 1) {
10617#line 1664
10618 goto case_1;
10619 } else
10620#line 1740
10621 if (tmp___8 == 2) {
10622#line 1740
10623 goto case_2;
10624 } else
10625#line 1813
10626 if (tmp___8 == 3) {
10627#line 1813
10628 goto case_3;
10629 } else
10630#line 1889
10631 if (tmp___8 == 4) {
10632#line 1889
10633 goto case_4;
10634 } else {
10635#line 1962
10636 goto switch_default;
10637#line 1586
10638 if (0) {
10639 case_0:
10640#line 1591
10641 if (ldv_s_ems_usb_netdev_ops_net_device_ops == 0) {
10642 {
10643#line 1653
10644 res_ems_usb_open_10 = ems_usb_open(var_group1);
10645#line 1654
10646 ldv_check_return_value(res_ems_usb_open_10);
10647 }
10648#line 1655
10649 if (res_ems_usb_open_10 < 0) {
10650#line 1656
10651 goto ldv_module_exit;
10652 } else {
10653
10654 }
10655#line 1657
10656 ldv_s_ems_usb_netdev_ops_net_device_ops = ldv_s_ems_usb_netdev_ops_net_device_ops + 1;
10657 } else {
10658
10659 }
10660#line 1663
10661 goto switch_break;
10662 case_1:
10663#line 1667
10664 if (ldv_s_ems_usb_netdev_ops_net_device_ops == 1) {
10665 {
10666#line 1729
10667 res_ems_usb_close_12 = ems_usb_close(var_group1);
10668#line 1730
10669 ldv_check_return_value(res_ems_usb_close_12);
10670 }
10671#line 1731
10672 if (res_ems_usb_close_12) {
10673#line 1732
10674 goto ldv_module_exit;
10675 } else {
10676
10677 }
10678#line 1733
10679 ldv_s_ems_usb_netdev_ops_net_device_ops = 0;
10680 } else {
10681
10682 }
10683#line 1739
10684 goto switch_break;
10685 case_2:
10686 {
10687#line 1805
10688 ems_usb_start_xmit(var_group2, var_group1);
10689 }
10690#line 1812
10691 goto switch_break;
10692 case_3:
10693#line 1816
10694 if (ldv_s_ems_usb_driver_usb_driver == 0) {
10695 {
10696#line 1878
10697 res_ems_usb_probe_16 = ems_usb_probe(var_group3, var_ems_usb_probe_16_p1);
10698#line 1879
10699 ldv_check_return_value(res_ems_usb_probe_16);
10700 }
10701#line 1880
10702 if (res_ems_usb_probe_16) {
10703#line 1881
10704 goto ldv_module_exit;
10705 } else {
10706
10707 }
10708#line 1882
10709 ldv_s_ems_usb_driver_usb_driver = ldv_s_ems_usb_driver_usb_driver + 1;
10710 } else {
10711
10712 }
10713#line 1888
10714 goto switch_break;
10715 case_4:
10716#line 1892
10717 if (ldv_s_ems_usb_driver_usb_driver == 1) {
10718 {
10719#line 1954
10720 ems_usb_disconnect(var_group3);
10721#line 1955
10722 ldv_s_ems_usb_driver_usb_driver = 0;
10723 }
10724 } else {
10725
10726 }
10727#line 1961
10728 goto switch_break;
10729 switch_default:
10730#line 1962
10731 goto switch_break;
10732 } else {
10733 switch_break: ;
10734 }
10735 }
10736 }
10737 while_break___0: ;
10738 }
10739
10740 while_break: ;
10741 ldv_module_exit:
10742 {
10743#line 2031
10744 ems_usb_exit();
10745 }
10746 ldv_final:
10747 {
10748#line 2034
10749 ldv_check_final_state();
10750 }
10751#line 2037
10752 return;
10753}
10754}
10755#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
10756void ldv_blast_assert(void)
10757{
10758
10759 {
10760 ERROR:
10761#line 6
10762 goto ERROR;
10763}
10764}
10765#line 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
10766extern void *ldv_undefined_pointer(void) ;
10767#line 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10768void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
10769#line 22
10770void ldv_assume_stop(void) __attribute__((__ldv_model_inline__)) ;
10771#line 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10772void ldv_assume_stop(void)
10773{
10774
10775 {
10776 LDV_STOP:
10777#line 23
10778 goto LDV_STOP;
10779}
10780}
10781#line 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10782int ldv_urb_state = 0;
10783#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10784int ldv_coherent_state = 0;
10785#line 62
10786void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
10787 dma_addr_t *dma ) __attribute__((__ldv_model__)) ;
10788#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10789void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
10790 dma_addr_t *dma )
10791{ void *arbitrary_memory ;
10792 void *tmp___7 ;
10793
10794 {
10795 {
10796#line 64
10797 while (1) {
10798 while_continue: ;
10799 {
10800#line 64
10801 tmp___7 = ldv_undefined_pointer();
10802#line 64
10803 arbitrary_memory = tmp___7;
10804 }
10805#line 64
10806 if (! arbitrary_memory) {
10807#line 64
10808 return ((void *)0);
10809 } else {
10810
10811 }
10812#line 64
10813 ldv_coherent_state = ldv_coherent_state + 1;
10814#line 64
10815 return (arbitrary_memory);
10816#line 64
10817 goto while_break;
10818 }
10819 while_break___0: ;
10820 }
10821
10822 while_break: ;
10823#line 65
10824 return ((void *)0);
10825}
10826}
10827#line 68
10828void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) __attribute__((__ldv_model__)) ;
10829#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10830void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )
10831{ void *__cil_tmp5 ;
10832 unsigned long __cil_tmp6 ;
10833 unsigned long __cil_tmp7 ;
10834 int __cil_tmp8 ;
10835
10836 {
10837 {
10838#line 70
10839 while (1) {
10840 while_continue: ;
10841
10842 {
10843#line 70
10844 __cil_tmp5 = (void *)0;
10845#line 70
10846 __cil_tmp6 = (unsigned long )__cil_tmp5;
10847#line 70
10848 __cil_tmp7 = (unsigned long )addr;
10849#line 70
10850 __cil_tmp8 = __cil_tmp7 != __cil_tmp6;
10851#line 70
10852 if (! __cil_tmp8) {
10853 {
10854#line 70
10855 ldv_assume_stop();
10856 }
10857 } else {
10858
10859 }
10860 }
10861#line 70
10862 if (addr) {
10863#line 70
10864 if (ldv_coherent_state >= 1) {
10865
10866 } else {
10867 {
10868#line 70
10869 ldv_blast_assert();
10870 }
10871 }
10872#line 70
10873 ldv_coherent_state = ldv_coherent_state - 1;
10874 } else {
10875
10876 }
10877#line 70
10878 goto while_break;
10879 }
10880 while_break___0: ;
10881 }
10882
10883 while_break: ;
10884#line 71
10885 return;
10886}
10887}
10888#line 74
10889struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) __attribute__((__ldv_model__)) ;
10890#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10891struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )
10892{ void *arbitrary_memory ;
10893 void *tmp___7 ;
10894 void *__cil_tmp5 ;
10895
10896 {
10897 {
10898#line 75
10899 while (1) {
10900 while_continue: ;
10901 {
10902#line 75
10903 tmp___7 = ldv_undefined_pointer();
10904#line 75
10905 arbitrary_memory = tmp___7;
10906 }
10907#line 75
10908 if (! arbitrary_memory) {
10909 {
10910#line 75
10911 __cil_tmp5 = (void *)0;
10912#line 75
10913 return ((struct urb *)__cil_tmp5);
10914 }
10915 } else {
10916
10917 }
10918#line 75
10919 ldv_urb_state = ldv_urb_state + 1;
10920#line 75
10921 return ((struct urb *)arbitrary_memory);
10922#line 75
10923 goto while_break;
10924 }
10925 while_break___0: ;
10926 }
10927
10928 while_break: ;
10929#line 76
10930 return ((struct urb *)0);
10931}
10932}
10933#line 79
10934void usb_free_urb(struct urb *urb ) __attribute__((__ldv_model__)) ;
10935#line 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10936void usb_free_urb(struct urb *urb )
10937{ struct urb *__cil_tmp2 ;
10938 unsigned long __cil_tmp3 ;
10939 unsigned long __cil_tmp4 ;
10940 int __cil_tmp5 ;
10941
10942 {
10943 {
10944#line 80
10945 while (1) {
10946 while_continue: ;
10947
10948 {
10949#line 80
10950 __cil_tmp2 = (struct urb *)0;
10951#line 80
10952 __cil_tmp3 = (unsigned long )__cil_tmp2;
10953#line 80
10954 __cil_tmp4 = (unsigned long )urb;
10955#line 80
10956 __cil_tmp5 = __cil_tmp4 != __cil_tmp3;
10957#line 80
10958 if (! __cil_tmp5) {
10959 {
10960#line 80
10961 ldv_assume_stop();
10962 }
10963 } else {
10964
10965 }
10966 }
10967#line 80
10968 if (urb) {
10969#line 80
10970 if (ldv_urb_state >= 1) {
10971
10972 } else {
10973 {
10974#line 80
10975 ldv_blast_assert();
10976 }
10977 }
10978#line 80
10979 ldv_urb_state = ldv_urb_state - 1;
10980 } else {
10981
10982 }
10983#line 80
10984 goto while_break;
10985 }
10986 while_break___0: ;
10987 }
10988
10989 while_break: ;
10990#line 81
10991 return;
10992}
10993}
10994#line 84
10995void ldv_check_final_state(void) __attribute__((__ldv_model__)) ;
10996#line 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/net/can/usb/ems_usb.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
10997void ldv_check_final_state(void)
10998{
10999
11000 {
11001#line 86
11002 if (ldv_urb_state == 0) {
11003
11004 } else {
11005 {
11006#line 86
11007 ldv_blast_assert();
11008 }
11009 }
11010#line 88
11011 if (ldv_coherent_state == 0) {
11012
11013 } else {
11014 {
11015#line 88
11016 ldv_blast_assert();
11017 }
11018 }
11019#line 89
11020 return;
11021}
11022}