1
2
3
4#line 19 "include/asm-generic/int-ll64.h"
5typedef signed char __s8;
6#line 20 "include/asm-generic/int-ll64.h"
7typedef unsigned char __u8;
8#line 22 "include/asm-generic/int-ll64.h"
9typedef short __s16;
10#line 23 "include/asm-generic/int-ll64.h"
11typedef unsigned short __u16;
12#line 25 "include/asm-generic/int-ll64.h"
13typedef int __s32;
14#line 26 "include/asm-generic/int-ll64.h"
15typedef unsigned int __u32;
16#line 29 "include/asm-generic/int-ll64.h"
17typedef long long __s64;
18#line 30 "include/asm-generic/int-ll64.h"
19typedef unsigned long long __u64;
20#line 42 "include/asm-generic/int-ll64.h"
21typedef signed char s8;
22#line 43 "include/asm-generic/int-ll64.h"
23typedef unsigned char u8;
24#line 45 "include/asm-generic/int-ll64.h"
25typedef short s16;
26#line 46 "include/asm-generic/int-ll64.h"
27typedef unsigned short u16;
28#line 48 "include/asm-generic/int-ll64.h"
29typedef int s32;
30#line 49 "include/asm-generic/int-ll64.h"
31typedef unsigned int u32;
32#line 51 "include/asm-generic/int-ll64.h"
33typedef long long s64;
34#line 52 "include/asm-generic/int-ll64.h"
35typedef unsigned long long u64;
36#line 14 "include/asm-generic/posix_types.h"
37typedef long __kernel_long_t;
38#line 15 "include/asm-generic/posix_types.h"
39typedef unsigned long __kernel_ulong_t;
40#line 27 "include/asm-generic/posix_types.h"
41typedef __kernel_ulong_t __kernel_nlink_t;
42#line 31 "include/asm-generic/posix_types.h"
43typedef int __kernel_pid_t;
44#line 52 "include/asm-generic/posix_types.h"
45typedef unsigned int __kernel_uid32_t;
46#line 53 "include/asm-generic/posix_types.h"
47typedef unsigned int __kernel_gid32_t;
48#line 75 "include/asm-generic/posix_types.h"
49typedef __kernel_ulong_t __kernel_size_t;
50#line 76 "include/asm-generic/posix_types.h"
51typedef __kernel_long_t __kernel_ssize_t;
52#line 90 "include/asm-generic/posix_types.h"
53typedef __kernel_long_t __kernel_off_t;
54#line 91 "include/asm-generic/posix_types.h"
55typedef long long __kernel_loff_t;
56#line 92 "include/asm-generic/posix_types.h"
57typedef __kernel_long_t __kernel_time_t;
58#line 93 "include/asm-generic/posix_types.h"
59typedef __kernel_long_t __kernel_clock_t;
60#line 94 "include/asm-generic/posix_types.h"
61typedef int __kernel_timer_t;
62#line 95 "include/asm-generic/posix_types.h"
63typedef int __kernel_clockid_t;
64#line 21 "include/linux/types.h"
65typedef __u32 __kernel_dev_t;
66#line 24 "include/linux/types.h"
67typedef __kernel_dev_t dev_t;
68#line 27 "include/linux/types.h"
69typedef unsigned short umode_t;
70#line 28 "include/linux/types.h"
71typedef __kernel_nlink_t nlink_t;
72#line 29 "include/linux/types.h"
73typedef __kernel_off_t off_t;
74#line 30 "include/linux/types.h"
75typedef __kernel_pid_t pid_t;
76#line 35 "include/linux/types.h"
77typedef __kernel_clockid_t clockid_t;
78#line 38 "include/linux/types.h"
79typedef _Bool bool;
80#line 40 "include/linux/types.h"
81typedef __kernel_uid32_t uid_t;
82#line 41 "include/linux/types.h"
83typedef __kernel_gid32_t gid_t;
84#line 54 "include/linux/types.h"
85typedef __kernel_loff_t loff_t;
86#line 63 "include/linux/types.h"
87typedef __kernel_size_t size_t;
88#line 68 "include/linux/types.h"
89typedef __kernel_ssize_t ssize_t;
90#line 78 "include/linux/types.h"
91typedef __kernel_time_t time_t;
92#line 100 "include/linux/types.h"
93typedef unsigned int uint;
94#line 111 "include/linux/types.h"
95typedef __s32 int32_t;
96#line 115 "include/linux/types.h"
97typedef __u8 uint8_t;
98#line 117 "include/linux/types.h"
99typedef __u32 uint32_t;
100#line 120 "include/linux/types.h"
101typedef __u64 uint64_t;
102#line 142 "include/linux/types.h"
103typedef unsigned long sector_t;
104#line 143 "include/linux/types.h"
105typedef unsigned long blkcnt_t;
106#line 155 "include/linux/types.h"
107typedef u64 dma_addr_t;
108#line 179 "include/linux/types.h"
109typedef __u16 __be16;
110#line 181 "include/linux/types.h"
111typedef __u32 __be32;
112#line 186 "include/linux/types.h"
113typedef __u32 __wsum;
114#line 202 "include/linux/types.h"
115typedef unsigned int gfp_t;
116#line 203 "include/linux/types.h"
117typedef unsigned int fmode_t;
118#line 206 "include/linux/types.h"
119typedef u64 phys_addr_t;
120#line 219 "include/linux/types.h"
121struct __anonstruct_atomic_t_7 {
122 int counter ;
123};
124#line 219 "include/linux/types.h"
125typedef struct __anonstruct_atomic_t_7 atomic_t;
126#line 224 "include/linux/types.h"
127struct __anonstruct_atomic64_t_8 {
128 long counter ;
129};
130#line 224 "include/linux/types.h"
131typedef struct __anonstruct_atomic64_t_8 atomic64_t;
132#line 229 "include/linux/types.h"
133struct list_head {
134 struct list_head *next ;
135 struct list_head *prev ;
136};
137#line 233
138struct hlist_node;
139#line 233 "include/linux/types.h"
140struct hlist_head {
141 struct hlist_node *first ;
142};
143#line 237 "include/linux/types.h"
144struct hlist_node {
145 struct hlist_node *next ;
146 struct hlist_node **pprev ;
147};
148#line 253 "include/linux/types.h"
149struct rcu_head {
150 struct rcu_head *next ;
151 void (*func)(struct rcu_head *head ) ;
152};
153#line 56 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
154struct module;
155#line 56
156struct module;
157#line 146 "include/linux/init.h"
158typedef void (*ctor_fn_t)(void);
159#line 9 "include/linux/dynamic_debug.h"
160struct _ddebug {
161 char const *modname ;
162 char const *function ;
163 char const *filename ;
164 char const *format ;
165 unsigned int lineno : 18 ;
166 unsigned int flags : 8 ;
167} __attribute__((__aligned__(8))) ;
168#line 47
169struct device;
170#line 47
171struct device;
172#line 53
173struct net_device;
174#line 53
175struct net_device;
176#line 135 "include/linux/kernel.h"
177struct completion;
178#line 135
179struct completion;
180#line 136
181struct pt_regs;
182#line 136
183struct pt_regs;
184#line 349
185struct pid;
186#line 349
187struct pid;
188#line 12 "include/linux/thread_info.h"
189struct timespec;
190#line 12
191struct timespec;
192#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page.h"
193struct page;
194#line 18
195struct page;
196#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/thread_info.h"
197struct task_struct;
198#line 20
199struct task_struct;
200#line 7 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
201struct task_struct;
202#line 8
203struct mm_struct;
204#line 8
205struct mm_struct;
206#line 99 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
207struct pt_regs {
208 unsigned long r15 ;
209 unsigned long r14 ;
210 unsigned long r13 ;
211 unsigned long r12 ;
212 unsigned long bp ;
213 unsigned long bx ;
214 unsigned long r11 ;
215 unsigned long r10 ;
216 unsigned long r9 ;
217 unsigned long r8 ;
218 unsigned long ax ;
219 unsigned long cx ;
220 unsigned long dx ;
221 unsigned long si ;
222 unsigned long di ;
223 unsigned long orig_ax ;
224 unsigned long ip ;
225 unsigned long cs ;
226 unsigned long flags ;
227 unsigned long sp ;
228 unsigned long ss ;
229};
230#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
231struct __anonstruct____missing_field_name_15 {
232 unsigned int a ;
233 unsigned int b ;
234};
235#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
236struct __anonstruct____missing_field_name_16 {
237 u16 limit0 ;
238 u16 base0 ;
239 unsigned int base1 : 8 ;
240 unsigned int type : 4 ;
241 unsigned int s : 1 ;
242 unsigned int dpl : 2 ;
243 unsigned int p : 1 ;
244 unsigned int limit : 4 ;
245 unsigned int avl : 1 ;
246 unsigned int l : 1 ;
247 unsigned int d : 1 ;
248 unsigned int g : 1 ;
249 unsigned int base2 : 8 ;
250};
251#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
252union __anonunion____missing_field_name_14 {
253 struct __anonstruct____missing_field_name_15 __annonCompField5 ;
254 struct __anonstruct____missing_field_name_16 __annonCompField6 ;
255};
256#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/desc_defs.h"
257struct desc_struct {
258 union __anonunion____missing_field_name_14 __annonCompField7 ;
259} __attribute__((__packed__)) ;
260#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
261typedef unsigned long pgdval_t;
262#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
263typedef unsigned long pgprotval_t;
264#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
265struct pgprot {
266 pgprotval_t pgprot ;
267};
268#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
269typedef struct pgprot pgprot_t;
270#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
271struct __anonstruct_pgd_t_20 {
272 pgdval_t pgd ;
273};
274#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
275typedef struct __anonstruct_pgd_t_20 pgd_t;
276#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
277typedef struct page *pgtable_t;
278#line 295
279struct file;
280#line 295
281struct file;
282#line 313
283struct seq_file;
284#line 313
285struct seq_file;
286#line 46 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
287struct page;
288#line 47
289struct thread_struct;
290#line 47
291struct thread_struct;
292#line 50
293struct mm_struct;
294#line 51
295struct desc_struct;
296#line 52
297struct task_struct;
298#line 53
299struct cpumask;
300#line 53
301struct cpumask;
302#line 329
303struct arch_spinlock;
304#line 329
305struct arch_spinlock;
306#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
307struct task_struct;
308#line 141 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
309struct kernel_vm86_regs {
310 struct pt_regs pt ;
311 unsigned short es ;
312 unsigned short __esh ;
313 unsigned short ds ;
314 unsigned short __dsh ;
315 unsigned short fs ;
316 unsigned short __fsh ;
317 unsigned short gs ;
318 unsigned short __gsh ;
319};
320#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
321union __anonunion____missing_field_name_24 {
322 struct pt_regs *regs ;
323 struct kernel_vm86_regs *vm86 ;
324};
325#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/math_emu.h"
326struct math_emu_info {
327 long ___orig_eip ;
328 union __anonunion____missing_field_name_24 __annonCompField8 ;
329};
330#line 8 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
331struct task_struct;
332#line 10 "include/asm-generic/bug.h"
333struct bug_entry {
334 int bug_addr_disp ;
335 int file_disp ;
336 unsigned short line ;
337 unsigned short flags ;
338};
339#line 12 "include/linux/bug.h"
340struct pt_regs;
341#line 14 "include/linux/cpumask.h"
342struct cpumask {
343 unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
344};
345#line 14 "include/linux/cpumask.h"
346typedef struct cpumask cpumask_t;
347#line 637 "include/linux/cpumask.h"
348typedef struct cpumask *cpumask_var_t;
349#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
350struct static_key;
351#line 234
352struct static_key;
353#line 11 "include/linux/personality.h"
354struct pt_regs;
355#line 153 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
356struct seq_operations;
357#line 290 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
358struct i387_fsave_struct {
359 u32 cwd ;
360 u32 swd ;
361 u32 twd ;
362 u32 fip ;
363 u32 fcs ;
364 u32 foo ;
365 u32 fos ;
366 u32 st_space[20] ;
367 u32 status ;
368};
369#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
370struct __anonstruct____missing_field_name_31 {
371 u64 rip ;
372 u64 rdp ;
373};
374#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
375struct __anonstruct____missing_field_name_32 {
376 u32 fip ;
377 u32 fcs ;
378 u32 foo ;
379 u32 fos ;
380};
381#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
382union __anonunion____missing_field_name_30 {
383 struct __anonstruct____missing_field_name_31 __annonCompField12 ;
384 struct __anonstruct____missing_field_name_32 __annonCompField13 ;
385};
386#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
387union __anonunion____missing_field_name_33 {
388 u32 padding1[12] ;
389 u32 sw_reserved[12] ;
390};
391#line 306 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
392struct i387_fxsave_struct {
393 u16 cwd ;
394 u16 swd ;
395 u16 twd ;
396 u16 fop ;
397 union __anonunion____missing_field_name_30 __annonCompField14 ;
398 u32 mxcsr ;
399 u32 mxcsr_mask ;
400 u32 st_space[32] ;
401 u32 xmm_space[64] ;
402 u32 padding[12] ;
403 union __anonunion____missing_field_name_33 __annonCompField15 ;
404} __attribute__((__aligned__(16))) ;
405#line 341 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
406struct i387_soft_struct {
407 u32 cwd ;
408 u32 swd ;
409 u32 twd ;
410 u32 fip ;
411 u32 fcs ;
412 u32 foo ;
413 u32 fos ;
414 u32 st_space[20] ;
415 u8 ftop ;
416 u8 changed ;
417 u8 lookahead ;
418 u8 no_update ;
419 u8 rm ;
420 u8 alimit ;
421 struct math_emu_info *info ;
422 u32 entry_eip ;
423};
424#line 361 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
425struct ymmh_struct {
426 u32 ymmh_space[64] ;
427};
428#line 366 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
429struct xsave_hdr_struct {
430 u64 xstate_bv ;
431 u64 reserved1[2] ;
432 u64 reserved2[5] ;
433} __attribute__((__packed__)) ;
434#line 372 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
435struct xsave_struct {
436 struct i387_fxsave_struct i387 ;
437 struct xsave_hdr_struct xsave_hdr ;
438 struct ymmh_struct ymmh ;
439} __attribute__((__packed__, __aligned__(64))) ;
440#line 379 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
441union thread_xstate {
442 struct i387_fsave_struct fsave ;
443 struct i387_fxsave_struct fxsave ;
444 struct i387_soft_struct soft ;
445 struct xsave_struct xsave ;
446};
447#line 386 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
448struct fpu {
449 unsigned int last_cpu ;
450 unsigned int has_fpu ;
451 union thread_xstate *state ;
452};
453#line 433
454struct kmem_cache;
455#line 435
456struct perf_event;
457#line 435
458struct perf_event;
459#line 437 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
460struct thread_struct {
461 struct desc_struct tls_array[3] ;
462 unsigned long sp0 ;
463 unsigned long sp ;
464 unsigned long usersp ;
465 unsigned short es ;
466 unsigned short ds ;
467 unsigned short fsindex ;
468 unsigned short gsindex ;
469 unsigned long fs ;
470 unsigned long gs ;
471 struct perf_event *ptrace_bps[4] ;
472 unsigned long debugreg6 ;
473 unsigned long ptrace_dr7 ;
474 unsigned long cr2 ;
475 unsigned long trap_nr ;
476 unsigned long error_code ;
477 struct fpu fpu ;
478 unsigned long *io_bitmap_ptr ;
479 unsigned long iopl ;
480 unsigned int io_bitmap_max ;
481};
482#line 23 "include/asm-generic/atomic-long.h"
483typedef atomic64_t atomic_long_t;
484#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
485typedef u16 __ticket_t;
486#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
487typedef u32 __ticketpair_t;
488#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
489struct __raw_tickets {
490 __ticket_t head ;
491 __ticket_t tail ;
492};
493#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
494union __anonunion____missing_field_name_36 {
495 __ticketpair_t head_tail ;
496 struct __raw_tickets tickets ;
497};
498#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
499struct arch_spinlock {
500 union __anonunion____missing_field_name_36 __annonCompField17 ;
501};
502#line 20 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
503typedef struct arch_spinlock arch_spinlock_t;
504#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
505struct __anonstruct____missing_field_name_38 {
506 u32 read ;
507 s32 write ;
508};
509#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
510union __anonunion_arch_rwlock_t_37 {
511 s64 lock ;
512 struct __anonstruct____missing_field_name_38 __annonCompField18 ;
513};
514#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
515typedef union __anonunion_arch_rwlock_t_37 arch_rwlock_t;
516#line 12 "include/linux/lockdep.h"
517struct task_struct;
518#line 391 "include/linux/lockdep.h"
519struct lock_class_key {
520
521};
522#line 20 "include/linux/spinlock_types.h"
523struct raw_spinlock {
524 arch_spinlock_t raw_lock ;
525 unsigned int magic ;
526 unsigned int owner_cpu ;
527 void *owner ;
528};
529#line 20 "include/linux/spinlock_types.h"
530typedef struct raw_spinlock raw_spinlock_t;
531#line 64 "include/linux/spinlock_types.h"
532union __anonunion____missing_field_name_39 {
533 struct raw_spinlock rlock ;
534};
535#line 64 "include/linux/spinlock_types.h"
536struct spinlock {
537 union __anonunion____missing_field_name_39 __annonCompField19 ;
538};
539#line 64 "include/linux/spinlock_types.h"
540typedef struct spinlock spinlock_t;
541#line 11 "include/linux/rwlock_types.h"
542struct __anonstruct_rwlock_t_40 {
543 arch_rwlock_t raw_lock ;
544 unsigned int magic ;
545 unsigned int owner_cpu ;
546 void *owner ;
547};
548#line 11 "include/linux/rwlock_types.h"
549typedef struct __anonstruct_rwlock_t_40 rwlock_t;
550#line 33 "include/linux/seqlock.h"
551struct __anonstruct_seqlock_t_41 {
552 unsigned int sequence ;
553 spinlock_t lock ;
554};
555#line 33 "include/linux/seqlock.h"
556typedef struct __anonstruct_seqlock_t_41 seqlock_t;
557#line 119 "include/linux/seqlock.h"
558struct seqcount {
559 unsigned int sequence ;
560};
561#line 119 "include/linux/seqlock.h"
562typedef struct seqcount seqcount_t;
563#line 14 "include/linux/time.h"
564struct timespec {
565 __kernel_time_t tv_sec ;
566 long tv_nsec ;
567};
568#line 62 "include/linux/stat.h"
569struct kstat {
570 u64 ino ;
571 dev_t dev ;
572 umode_t mode ;
573 unsigned int nlink ;
574 uid_t uid ;
575 gid_t gid ;
576 dev_t rdev ;
577 loff_t size ;
578 struct timespec atime ;
579 struct timespec mtime ;
580 struct timespec ctime ;
581 unsigned long blksize ;
582 unsigned long long blocks ;
583};
584#line 27 "include/linux/wait.h"
585struct __wait_queue;
586#line 27 "include/linux/wait.h"
587typedef struct __wait_queue wait_queue_t;
588#line 31 "include/linux/wait.h"
589struct __wait_queue {
590 unsigned int flags ;
591 void *private ;
592 int (*func)(wait_queue_t *wait , unsigned int mode , int flags , void *key ) ;
593 struct list_head task_list ;
594};
595#line 49 "include/linux/wait.h"
596struct __wait_queue_head {
597 spinlock_t lock ;
598 struct list_head task_list ;
599};
600#line 53 "include/linux/wait.h"
601typedef struct __wait_queue_head wait_queue_head_t;
602#line 55
603struct task_struct;
604#line 98 "include/linux/nodemask.h"
605struct __anonstruct_nodemask_t_42 {
606 unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
607};
608#line 98 "include/linux/nodemask.h"
609typedef struct __anonstruct_nodemask_t_42 nodemask_t;
610#line 60 "include/linux/pageblock-flags.h"
611struct page;
612#line 48 "include/linux/mutex.h"
613struct mutex {
614 atomic_t count ;
615 spinlock_t wait_lock ;
616 struct list_head wait_list ;
617 struct task_struct *owner ;
618 char const *name ;
619 void *magic ;
620};
621#line 69 "include/linux/mutex.h"
622struct mutex_waiter {
623 struct list_head list ;
624 struct task_struct *task ;
625 void *magic ;
626};
627#line 19 "include/linux/rwsem.h"
628struct rw_semaphore;
629#line 19
630struct rw_semaphore;
631#line 25 "include/linux/rwsem.h"
632struct rw_semaphore {
633 long count ;
634 raw_spinlock_t wait_lock ;
635 struct list_head wait_list ;
636};
637#line 25 "include/linux/completion.h"
638struct completion {
639 unsigned int done ;
640 wait_queue_head_t wait ;
641};
642#line 188 "include/linux/rcupdate.h"
643struct notifier_block;
644#line 188
645struct notifier_block;
646#line 50 "include/linux/notifier.h"
647struct notifier_block {
648 int (*notifier_call)(struct notifier_block * , unsigned long , void * ) ;
649 struct notifier_block *next ;
650 int priority ;
651};
652#line 61 "include/linux/notifier.h"
653struct blocking_notifier_head {
654 struct rw_semaphore rwsem ;
655 struct notifier_block *head ;
656};
657#line 9 "include/linux/memory_hotplug.h"
658struct page;
659#line 798 "include/linux/mmzone.h"
660struct ctl_table;
661#line 798
662struct ctl_table;
663#line 202 "include/linux/ioport.h"
664struct device;
665#line 103 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mpspec.h"
666struct device;
667#line 46 "include/linux/ktime.h"
668union ktime {
669 s64 tv64 ;
670};
671#line 59 "include/linux/ktime.h"
672typedef union ktime ktime_t;
673#line 10 "include/linux/timer.h"
674struct tvec_base;
675#line 10
676struct tvec_base;
677#line 12 "include/linux/timer.h"
678struct timer_list {
679 struct list_head entry ;
680 unsigned long expires ;
681 struct tvec_base *base ;
682 void (*function)(unsigned long ) ;
683 unsigned long data ;
684 int slack ;
685 int start_pid ;
686 void *start_site ;
687 char start_comm[16] ;
688};
689#line 289
690struct hrtimer;
691#line 289
692struct hrtimer;
693#line 290
694enum hrtimer_restart;
695#line 15 "include/linux/workqueue.h"
696struct workqueue_struct;
697#line 15
698struct workqueue_struct;
699#line 17
700struct work_struct;
701#line 17
702struct work_struct;
703#line 79 "include/linux/workqueue.h"
704struct work_struct {
705 atomic_long_t data ;
706 struct list_head entry ;
707 void (*func)(struct work_struct *work ) ;
708};
709#line 92 "include/linux/workqueue.h"
710struct delayed_work {
711 struct work_struct work ;
712 struct timer_list timer ;
713};
714#line 102 "include/linux/workqueue.h"
715struct execute_work {
716 struct work_struct work ;
717};
718#line 42 "include/linux/pm.h"
719struct device;
720#line 50 "include/linux/pm.h"
721struct pm_message {
722 int event ;
723};
724#line 50 "include/linux/pm.h"
725typedef struct pm_message pm_message_t;
726#line 264 "include/linux/pm.h"
727struct dev_pm_ops {
728 int (*prepare)(struct device *dev ) ;
729 void (*complete)(struct device *dev ) ;
730 int (*suspend)(struct device *dev ) ;
731 int (*resume)(struct device *dev ) ;
732 int (*freeze)(struct device *dev ) ;
733 int (*thaw)(struct device *dev ) ;
734 int (*poweroff)(struct device *dev ) ;
735 int (*restore)(struct device *dev ) ;
736 int (*suspend_late)(struct device *dev ) ;
737 int (*resume_early)(struct device *dev ) ;
738 int (*freeze_late)(struct device *dev ) ;
739 int (*thaw_early)(struct device *dev ) ;
740 int (*poweroff_late)(struct device *dev ) ;
741 int (*restore_early)(struct device *dev ) ;
742 int (*suspend_noirq)(struct device *dev ) ;
743 int (*resume_noirq)(struct device *dev ) ;
744 int (*freeze_noirq)(struct device *dev ) ;
745 int (*thaw_noirq)(struct device *dev ) ;
746 int (*poweroff_noirq)(struct device *dev ) ;
747 int (*restore_noirq)(struct device *dev ) ;
748 int (*runtime_suspend)(struct device *dev ) ;
749 int (*runtime_resume)(struct device *dev ) ;
750 int (*runtime_idle)(struct device *dev ) ;
751};
752#line 458
753enum rpm_status {
754 RPM_ACTIVE = 0,
755 RPM_RESUMING = 1,
756 RPM_SUSPENDED = 2,
757 RPM_SUSPENDING = 3
758} ;
759#line 480
760enum rpm_request {
761 RPM_REQ_NONE = 0,
762 RPM_REQ_IDLE = 1,
763 RPM_REQ_SUSPEND = 2,
764 RPM_REQ_AUTOSUSPEND = 3,
765 RPM_REQ_RESUME = 4
766} ;
767#line 488
768struct wakeup_source;
769#line 488
770struct wakeup_source;
771#line 495 "include/linux/pm.h"
772struct pm_subsys_data {
773 spinlock_t lock ;
774 unsigned int refcount ;
775};
776#line 506
777struct dev_pm_qos_request;
778#line 506
779struct pm_qos_constraints;
780#line 506 "include/linux/pm.h"
781struct dev_pm_info {
782 pm_message_t power_state ;
783 unsigned int can_wakeup : 1 ;
784 unsigned int async_suspend : 1 ;
785 bool is_prepared : 1 ;
786 bool is_suspended : 1 ;
787 bool ignore_children : 1 ;
788 spinlock_t lock ;
789 struct list_head entry ;
790 struct completion completion ;
791 struct wakeup_source *wakeup ;
792 bool wakeup_path : 1 ;
793 struct timer_list suspend_timer ;
794 unsigned long timer_expires ;
795 struct work_struct work ;
796 wait_queue_head_t wait_queue ;
797 atomic_t usage_count ;
798 atomic_t child_count ;
799 unsigned int disable_depth : 3 ;
800 unsigned int idle_notification : 1 ;
801 unsigned int request_pending : 1 ;
802 unsigned int deferred_resume : 1 ;
803 unsigned int run_wake : 1 ;
804 unsigned int runtime_auto : 1 ;
805 unsigned int no_callbacks : 1 ;
806 unsigned int irq_safe : 1 ;
807 unsigned int use_autosuspend : 1 ;
808 unsigned int timer_autosuspends : 1 ;
809 enum rpm_request request ;
810 enum rpm_status runtime_status ;
811 int runtime_error ;
812 int autosuspend_delay ;
813 unsigned long last_busy ;
814 unsigned long active_jiffies ;
815 unsigned long suspended_jiffies ;
816 unsigned long accounting_timestamp ;
817 ktime_t suspend_time ;
818 s64 max_time_suspended_ns ;
819 struct dev_pm_qos_request *pq_req ;
820 struct pm_subsys_data *subsys_data ;
821 struct pm_qos_constraints *constraints ;
822};
823#line 564 "include/linux/pm.h"
824struct dev_pm_domain {
825 struct dev_pm_ops ops ;
826};
827#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
828struct __anonstruct_mm_context_t_112 {
829 void *ldt ;
830 int size ;
831 unsigned short ia32_compat ;
832 struct mutex lock ;
833 void *vdso ;
834};
835#line 11 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
836typedef struct __anonstruct_mm_context_t_112 mm_context_t;
837#line 8 "include/linux/vmalloc.h"
838struct vm_area_struct;
839#line 8
840struct vm_area_struct;
841#line 336 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
842struct bio_vec;
843#line 336
844struct bio_vec;
845#line 994 "include/linux/mmzone.h"
846struct page;
847#line 18 "include/linux/smp.h"
848struct call_single_data {
849 struct list_head list ;
850 void (*func)(void *info ) ;
851 void *info ;
852 u16 flags ;
853 u16 priv ;
854};
855#line 10 "include/linux/gfp.h"
856struct vm_area_struct;
857#line 29 "include/linux/sysctl.h"
858struct completion;
859#line 100 "include/linux/rbtree.h"
860struct rb_node {
861 unsigned long rb_parent_color ;
862 struct rb_node *rb_right ;
863 struct rb_node *rb_left ;
864} __attribute__((__aligned__(sizeof(long )))) ;
865#line 110 "include/linux/rbtree.h"
866struct rb_root {
867 struct rb_node *rb_node ;
868};
869#line 938 "include/linux/sysctl.h"
870struct ctl_table;
871#line 939
872struct nsproxy;
873#line 939
874struct nsproxy;
875#line 940
876struct ctl_table_root;
877#line 940
878struct ctl_table_root;
879#line 941
880struct ctl_table_header;
881#line 941
882struct ctl_table_header;
883#line 942
884struct ctl_dir;
885#line 942
886struct ctl_dir;
887#line 946 "include/linux/sysctl.h"
888typedef int proc_handler(struct ctl_table *ctl , int write , void *buffer , size_t *lenp ,
889 loff_t *ppos );
890#line 996 "include/linux/sysctl.h"
891struct ctl_table_poll {
892 atomic_t event ;
893 wait_queue_head_t wait ;
894};
895#line 1014 "include/linux/sysctl.h"
896struct ctl_table {
897 char const *procname ;
898 void *data ;
899 int maxlen ;
900 umode_t mode ;
901 struct ctl_table *child ;
902 proc_handler *proc_handler ;
903 struct ctl_table_poll *poll ;
904 void *extra1 ;
905 void *extra2 ;
906};
907#line 1027 "include/linux/sysctl.h"
908struct ctl_node {
909 struct rb_node node ;
910 struct ctl_table_header *header ;
911};
912#line 1034 "include/linux/sysctl.h"
913struct __anonstruct____missing_field_name_194 {
914 struct ctl_table *ctl_table ;
915 int used ;
916 int count ;
917 int nreg ;
918};
919#line 1034 "include/linux/sysctl.h"
920union __anonunion____missing_field_name_193 {
921 struct __anonstruct____missing_field_name_194 __annonCompField30 ;
922 struct rcu_head rcu ;
923};
924#line 1034
925struct ctl_table_set;
926#line 1034 "include/linux/sysctl.h"
927struct ctl_table_header {
928 union __anonunion____missing_field_name_193 __annonCompField31 ;
929 struct completion *unregistering ;
930 struct ctl_table *ctl_table_arg ;
931 struct ctl_table_root *root ;
932 struct ctl_table_set *set ;
933 struct ctl_dir *parent ;
934 struct ctl_node *node ;
935};
936#line 1053 "include/linux/sysctl.h"
937struct ctl_dir {
938 struct ctl_table_header header ;
939 struct rb_root root ;
940};
941#line 1059 "include/linux/sysctl.h"
942struct ctl_table_set {
943 int (*is_seen)(struct ctl_table_set * ) ;
944 struct ctl_dir dir ;
945};
946#line 1064 "include/linux/sysctl.h"
947struct ctl_table_root {
948 struct ctl_table_set default_set ;
949 struct ctl_table_set *(*lookup)(struct ctl_table_root *root , struct nsproxy *namespaces ) ;
950 int (*permissions)(struct ctl_table_root *root , struct nsproxy *namespaces , struct ctl_table *table ) ;
951};
952#line 48 "include/linux/kmod.h"
953struct cred;
954#line 48
955struct cred;
956#line 49
957struct file;
958#line 270 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/elf.h"
959struct task_struct;
960#line 18 "include/linux/elf.h"
961typedef __u64 Elf64_Addr;
962#line 19 "include/linux/elf.h"
963typedef __u16 Elf64_Half;
964#line 23 "include/linux/elf.h"
965typedef __u32 Elf64_Word;
966#line 24 "include/linux/elf.h"
967typedef __u64 Elf64_Xword;
968#line 194 "include/linux/elf.h"
969struct elf64_sym {
970 Elf64_Word st_name ;
971 unsigned char st_info ;
972 unsigned char st_other ;
973 Elf64_Half st_shndx ;
974 Elf64_Addr st_value ;
975 Elf64_Xword st_size ;
976};
977#line 194 "include/linux/elf.h"
978typedef struct elf64_sym Elf64_Sym;
979#line 438
980struct file;
981#line 20 "include/linux/kobject_ns.h"
982struct sock;
983#line 20
984struct sock;
985#line 21
986struct kobject;
987#line 21
988struct kobject;
989#line 27
990enum kobj_ns_type {
991 KOBJ_NS_TYPE_NONE = 0,
992 KOBJ_NS_TYPE_NET = 1,
993 KOBJ_NS_TYPES = 2
994} ;
995#line 40 "include/linux/kobject_ns.h"
996struct kobj_ns_type_operations {
997 enum kobj_ns_type type ;
998 void *(*grab_current_ns)(void) ;
999 void const *(*netlink_ns)(struct sock *sk ) ;
1000 void const *(*initial_ns)(void) ;
1001 void (*drop_ns)(void * ) ;
1002};
1003#line 22 "include/linux/sysfs.h"
1004struct kobject;
1005#line 23
1006struct module;
1007#line 24
1008enum kobj_ns_type;
1009#line 26 "include/linux/sysfs.h"
1010struct attribute {
1011 char const *name ;
1012 umode_t mode ;
1013};
1014#line 56 "include/linux/sysfs.h"
1015struct attribute_group {
1016 char const *name ;
1017 umode_t (*is_visible)(struct kobject * , struct attribute * , int ) ;
1018 struct attribute **attrs ;
1019};
1020#line 85
1021struct file;
1022#line 86
1023struct vm_area_struct;
1024#line 88 "include/linux/sysfs.h"
1025struct bin_attribute {
1026 struct attribute attr ;
1027 size_t size ;
1028 void *private ;
1029 ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1030 loff_t , size_t ) ;
1031 ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1032 loff_t , size_t ) ;
1033 int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
1034};
1035#line 112 "include/linux/sysfs.h"
1036struct sysfs_ops {
1037 ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
1038 ssize_t (*store)(struct kobject * , struct attribute * , char const * , size_t ) ;
1039 void const *(*namespace)(struct kobject * , struct attribute const * ) ;
1040};
1041#line 118
1042struct sysfs_dirent;
1043#line 118
1044struct sysfs_dirent;
1045#line 22 "include/linux/kref.h"
1046struct kref {
1047 atomic_t refcount ;
1048};
1049#line 60 "include/linux/kobject.h"
1050struct kset;
1051#line 60
1052struct kobj_type;
1053#line 60 "include/linux/kobject.h"
1054struct kobject {
1055 char const *name ;
1056 struct list_head entry ;
1057 struct kobject *parent ;
1058 struct kset *kset ;
1059 struct kobj_type *ktype ;
1060 struct sysfs_dirent *sd ;
1061 struct kref kref ;
1062 unsigned int state_initialized : 1 ;
1063 unsigned int state_in_sysfs : 1 ;
1064 unsigned int state_add_uevent_sent : 1 ;
1065 unsigned int state_remove_uevent_sent : 1 ;
1066 unsigned int uevent_suppress : 1 ;
1067};
1068#line 108 "include/linux/kobject.h"
1069struct kobj_type {
1070 void (*release)(struct kobject *kobj ) ;
1071 struct sysfs_ops const *sysfs_ops ;
1072 struct attribute **default_attrs ;
1073 struct kobj_ns_type_operations const *(*child_ns_type)(struct kobject *kobj ) ;
1074 void const *(*namespace)(struct kobject *kobj ) ;
1075};
1076#line 116 "include/linux/kobject.h"
1077struct kobj_uevent_env {
1078 char *envp[32] ;
1079 int envp_idx ;
1080 char buf[2048] ;
1081 int buflen ;
1082};
1083#line 123 "include/linux/kobject.h"
1084struct kset_uevent_ops {
1085 int (* const filter)(struct kset *kset , struct kobject *kobj ) ;
1086 char const *(* const name)(struct kset *kset , struct kobject *kobj ) ;
1087 int (* const uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1088};
1089#line 140
1090struct sock;
1091#line 159 "include/linux/kobject.h"
1092struct kset {
1093 struct list_head list ;
1094 spinlock_t list_lock ;
1095 struct kobject kobj ;
1096 struct kset_uevent_ops const *uevent_ops ;
1097};
1098#line 39 "include/linux/moduleparam.h"
1099struct kernel_param;
1100#line 39
1101struct kernel_param;
1102#line 41 "include/linux/moduleparam.h"
1103struct kernel_param_ops {
1104 int (*set)(char const *val , struct kernel_param const *kp ) ;
1105 int (*get)(char *buffer , struct kernel_param const *kp ) ;
1106 void (*free)(void *arg ) ;
1107};
1108#line 50
1109struct kparam_string;
1110#line 50
1111struct kparam_array;
1112#line 50 "include/linux/moduleparam.h"
1113union __anonunion____missing_field_name_199 {
1114 void *arg ;
1115 struct kparam_string const *str ;
1116 struct kparam_array const *arr ;
1117};
1118#line 50 "include/linux/moduleparam.h"
1119struct kernel_param {
1120 char const *name ;
1121 struct kernel_param_ops const *ops ;
1122 u16 perm ;
1123 s16 level ;
1124 union __anonunion____missing_field_name_199 __annonCompField32 ;
1125};
1126#line 63 "include/linux/moduleparam.h"
1127struct kparam_string {
1128 unsigned int maxlen ;
1129 char *string ;
1130};
1131#line 69 "include/linux/moduleparam.h"
1132struct kparam_array {
1133 unsigned int max ;
1134 unsigned int elemsize ;
1135 unsigned int *num ;
1136 struct kernel_param_ops const *ops ;
1137 void *elem ;
1138};
1139#line 445
1140struct module;
1141#line 80 "include/linux/jump_label.h"
1142struct module;
1143#line 143 "include/linux/jump_label.h"
1144struct static_key {
1145 atomic_t enabled ;
1146};
1147#line 22 "include/linux/tracepoint.h"
1148struct module;
1149#line 23
1150struct tracepoint;
1151#line 23
1152struct tracepoint;
1153#line 25 "include/linux/tracepoint.h"
1154struct tracepoint_func {
1155 void *func ;
1156 void *data ;
1157};
1158#line 30 "include/linux/tracepoint.h"
1159struct tracepoint {
1160 char const *name ;
1161 struct static_key key ;
1162 void (*regfunc)(void) ;
1163 void (*unregfunc)(void) ;
1164 struct tracepoint_func *funcs ;
1165};
1166#line 19 "include/linux/export.h"
1167struct kernel_symbol {
1168 unsigned long value ;
1169 char const *name ;
1170};
1171#line 8 "include/asm-generic/module.h"
1172struct mod_arch_specific {
1173
1174};
1175#line 35 "include/linux/module.h"
1176struct module;
1177#line 37
1178struct module_param_attrs;
1179#line 37 "include/linux/module.h"
1180struct module_kobject {
1181 struct kobject kobj ;
1182 struct module *mod ;
1183 struct kobject *drivers_dir ;
1184 struct module_param_attrs *mp ;
1185};
1186#line 44 "include/linux/module.h"
1187struct module_attribute {
1188 struct attribute attr ;
1189 ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1190 ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const * ,
1191 size_t count ) ;
1192 void (*setup)(struct module * , char const * ) ;
1193 int (*test)(struct module * ) ;
1194 void (*free)(struct module * ) ;
1195};
1196#line 71
1197struct exception_table_entry;
1198#line 71
1199struct exception_table_entry;
1200#line 182
1201struct notifier_block;
1202#line 199
1203enum module_state {
1204 MODULE_STATE_LIVE = 0,
1205 MODULE_STATE_COMING = 1,
1206 MODULE_STATE_GOING = 2
1207} ;
1208#line 215 "include/linux/module.h"
1209struct module_ref {
1210 unsigned long incs ;
1211 unsigned long decs ;
1212} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1213#line 220
1214struct module_sect_attrs;
1215#line 220
1216struct module_notes_attrs;
1217#line 220
1218struct ftrace_event_call;
1219#line 220 "include/linux/module.h"
1220struct module {
1221 enum module_state state ;
1222 struct list_head list ;
1223 char name[64UL - sizeof(unsigned long )] ;
1224 struct module_kobject mkobj ;
1225 struct module_attribute *modinfo_attrs ;
1226 char const *version ;
1227 char const *srcversion ;
1228 struct kobject *holders_dir ;
1229 struct kernel_symbol const *syms ;
1230 unsigned long const *crcs ;
1231 unsigned int num_syms ;
1232 struct kernel_param *kp ;
1233 unsigned int num_kp ;
1234 unsigned int num_gpl_syms ;
1235 struct kernel_symbol const *gpl_syms ;
1236 unsigned long const *gpl_crcs ;
1237 struct kernel_symbol const *unused_syms ;
1238 unsigned long const *unused_crcs ;
1239 unsigned int num_unused_syms ;
1240 unsigned int num_unused_gpl_syms ;
1241 struct kernel_symbol const *unused_gpl_syms ;
1242 unsigned long const *unused_gpl_crcs ;
1243 struct kernel_symbol const *gpl_future_syms ;
1244 unsigned long const *gpl_future_crcs ;
1245 unsigned int num_gpl_future_syms ;
1246 unsigned int num_exentries ;
1247 struct exception_table_entry *extable ;
1248 int (*init)(void) ;
1249 void *module_init ;
1250 void *module_core ;
1251 unsigned int init_size ;
1252 unsigned int core_size ;
1253 unsigned int init_text_size ;
1254 unsigned int core_text_size ;
1255 unsigned int init_ro_size ;
1256 unsigned int core_ro_size ;
1257 struct mod_arch_specific arch ;
1258 unsigned int taints ;
1259 unsigned int num_bugs ;
1260 struct list_head bug_list ;
1261 struct bug_entry *bug_table ;
1262 Elf64_Sym *symtab ;
1263 Elf64_Sym *core_symtab ;
1264 unsigned int num_symtab ;
1265 unsigned int core_num_syms ;
1266 char *strtab ;
1267 char *core_strtab ;
1268 struct module_sect_attrs *sect_attrs ;
1269 struct module_notes_attrs *notes_attrs ;
1270 char *args ;
1271 void *percpu ;
1272 unsigned int percpu_size ;
1273 unsigned int num_tracepoints ;
1274 struct tracepoint * const *tracepoints_ptrs ;
1275 unsigned int num_trace_bprintk_fmt ;
1276 char const **trace_bprintk_fmt_start ;
1277 struct ftrace_event_call **trace_events ;
1278 unsigned int num_trace_events ;
1279 struct list_head source_list ;
1280 struct list_head target_list ;
1281 struct task_struct *waiter ;
1282 void (*exit)(void) ;
1283 struct module_ref *refptr ;
1284 ctor_fn_t *ctors ;
1285 unsigned int num_ctors ;
1286};
1287#line 46 "include/linux/slub_def.h"
1288struct kmem_cache_cpu {
1289 void **freelist ;
1290 unsigned long tid ;
1291 struct page *page ;
1292 struct page *partial ;
1293 int node ;
1294 unsigned int stat[26] ;
1295};
1296#line 57 "include/linux/slub_def.h"
1297struct kmem_cache_node {
1298 spinlock_t list_lock ;
1299 unsigned long nr_partial ;
1300 struct list_head partial ;
1301 atomic_long_t nr_slabs ;
1302 atomic_long_t total_objects ;
1303 struct list_head full ;
1304};
1305#line 73 "include/linux/slub_def.h"
1306struct kmem_cache_order_objects {
1307 unsigned long x ;
1308};
1309#line 80 "include/linux/slub_def.h"
1310struct kmem_cache {
1311 struct kmem_cache_cpu *cpu_slab ;
1312 unsigned long flags ;
1313 unsigned long min_partial ;
1314 int size ;
1315 int objsize ;
1316 int offset ;
1317 int cpu_partial ;
1318 struct kmem_cache_order_objects oo ;
1319 struct kmem_cache_order_objects max ;
1320 struct kmem_cache_order_objects min ;
1321 gfp_t allocflags ;
1322 int refcount ;
1323 void (*ctor)(void * ) ;
1324 int inuse ;
1325 int align ;
1326 int reserved ;
1327 char const *name ;
1328 struct list_head list ;
1329 struct kobject kobj ;
1330 int remote_node_defrag_ratio ;
1331 struct kmem_cache_node *node[1 << 10] ;
1332};
1333#line 49 "include/linux/configfs.h"
1334struct module;
1335#line 51
1336struct configfs_item_operations;
1337#line 51
1338struct configfs_item_operations;
1339#line 52
1340struct configfs_group_operations;
1341#line 52
1342struct configfs_group_operations;
1343#line 53
1344struct configfs_attribute;
1345#line 53
1346struct configfs_attribute;
1347#line 54
1348struct configfs_subsystem;
1349#line 54
1350struct configfs_subsystem;
1351#line 56
1352struct config_group;
1353#line 56
1354struct config_item_type;
1355#line 56
1356struct dentry;
1357#line 56 "include/linux/configfs.h"
1358struct config_item {
1359 char *ci_name ;
1360 char ci_namebuf[20] ;
1361 struct kref ci_kref ;
1362 struct list_head ci_entry ;
1363 struct config_item *ci_parent ;
1364 struct config_group *ci_group ;
1365 struct config_item_type *ci_type ;
1366 struct dentry *ci_dentry ;
1367};
1368#line 82 "include/linux/configfs.h"
1369struct config_item_type {
1370 struct module *ct_owner ;
1371 struct configfs_item_operations *ct_item_ops ;
1372 struct configfs_group_operations *ct_group_ops ;
1373 struct configfs_attribute **ct_attrs ;
1374};
1375#line 93 "include/linux/configfs.h"
1376struct config_group {
1377 struct config_item cg_item ;
1378 struct list_head cg_children ;
1379 struct configfs_subsystem *cg_subsys ;
1380 struct config_group **default_groups ;
1381};
1382#line 124 "include/linux/configfs.h"
1383struct configfs_attribute {
1384 char const *ca_name ;
1385 struct module *ca_owner ;
1386 umode_t ca_mode ;
1387};
1388#line 224 "include/linux/configfs.h"
1389struct configfs_item_operations {
1390 void (*release)(struct config_item * ) ;
1391 ssize_t (*show_attribute)(struct config_item * , struct configfs_attribute * ,
1392 char * ) ;
1393 ssize_t (*store_attribute)(struct config_item * , struct configfs_attribute * ,
1394 char const * , size_t ) ;
1395 int (*allow_link)(struct config_item *src , struct config_item *target ) ;
1396 int (*drop_link)(struct config_item *src , struct config_item *target ) ;
1397};
1398#line 232 "include/linux/configfs.h"
1399struct configfs_group_operations {
1400 struct config_item *(*make_item)(struct config_group *group , char const *name ) ;
1401 struct config_group *(*make_group)(struct config_group *group , char const *name ) ;
1402 int (*commit_item)(struct config_item *item ) ;
1403 void (*disconnect_notify)(struct config_group *group , struct config_item *item ) ;
1404 void (*drop_item)(struct config_group *group , struct config_item *item ) ;
1405};
1406#line 240 "include/linux/configfs.h"
1407struct configfs_subsystem {
1408 struct config_group su_group ;
1409 struct mutex su_mutex ;
1410};
1411#line 14 "include/linux/prio_tree.h"
1412struct prio_tree_node;
1413#line 14 "include/linux/prio_tree.h"
1414struct raw_prio_tree_node {
1415 struct prio_tree_node *left ;
1416 struct prio_tree_node *right ;
1417 struct prio_tree_node *parent ;
1418};
1419#line 20 "include/linux/prio_tree.h"
1420struct prio_tree_node {
1421 struct prio_tree_node *left ;
1422 struct prio_tree_node *right ;
1423 struct prio_tree_node *parent ;
1424 unsigned long start ;
1425 unsigned long last ;
1426};
1427#line 28 "include/linux/prio_tree.h"
1428struct prio_tree_root {
1429 struct prio_tree_node *prio_tree_node ;
1430 unsigned short index_bits ;
1431 unsigned short raw ;
1432};
1433#line 8 "include/linux/debug_locks.h"
1434struct task_struct;
1435#line 48
1436struct task_struct;
1437#line 23 "include/linux/mm_types.h"
1438struct address_space;
1439#line 23
1440struct address_space;
1441#line 40 "include/linux/mm_types.h"
1442union __anonunion____missing_field_name_202 {
1443 unsigned long index ;
1444 void *freelist ;
1445};
1446#line 40 "include/linux/mm_types.h"
1447struct __anonstruct____missing_field_name_206 {
1448 unsigned int inuse : 16 ;
1449 unsigned int objects : 15 ;
1450 unsigned int frozen : 1 ;
1451};
1452#line 40 "include/linux/mm_types.h"
1453union __anonunion____missing_field_name_205 {
1454 atomic_t _mapcount ;
1455 struct __anonstruct____missing_field_name_206 __annonCompField34 ;
1456};
1457#line 40 "include/linux/mm_types.h"
1458struct __anonstruct____missing_field_name_204 {
1459 union __anonunion____missing_field_name_205 __annonCompField35 ;
1460 atomic_t _count ;
1461};
1462#line 40 "include/linux/mm_types.h"
1463union __anonunion____missing_field_name_203 {
1464 unsigned long counters ;
1465 struct __anonstruct____missing_field_name_204 __annonCompField36 ;
1466};
1467#line 40 "include/linux/mm_types.h"
1468struct __anonstruct____missing_field_name_201 {
1469 union __anonunion____missing_field_name_202 __annonCompField33 ;
1470 union __anonunion____missing_field_name_203 __annonCompField37 ;
1471};
1472#line 40 "include/linux/mm_types.h"
1473struct __anonstruct____missing_field_name_208 {
1474 struct page *next ;
1475 int pages ;
1476 int pobjects ;
1477};
1478#line 40 "include/linux/mm_types.h"
1479union __anonunion____missing_field_name_207 {
1480 struct list_head lru ;
1481 struct __anonstruct____missing_field_name_208 __annonCompField39 ;
1482};
1483#line 40 "include/linux/mm_types.h"
1484union __anonunion____missing_field_name_209 {
1485 unsigned long private ;
1486 struct kmem_cache *slab ;
1487 struct page *first_page ;
1488};
1489#line 40 "include/linux/mm_types.h"
1490struct page {
1491 unsigned long flags ;
1492 struct address_space *mapping ;
1493 struct __anonstruct____missing_field_name_201 __annonCompField38 ;
1494 union __anonunion____missing_field_name_207 __annonCompField40 ;
1495 union __anonunion____missing_field_name_209 __annonCompField41 ;
1496 unsigned long debug_flags ;
1497} __attribute__((__aligned__((2) * (sizeof(unsigned long )) ))) ;
1498#line 200 "include/linux/mm_types.h"
1499struct __anonstruct_vm_set_211 {
1500 struct list_head list ;
1501 void *parent ;
1502 struct vm_area_struct *head ;
1503};
1504#line 200 "include/linux/mm_types.h"
1505union __anonunion_shared_210 {
1506 struct __anonstruct_vm_set_211 vm_set ;
1507 struct raw_prio_tree_node prio_tree_node ;
1508};
1509#line 200
1510struct anon_vma;
1511#line 200
1512struct vm_operations_struct;
1513#line 200
1514struct mempolicy;
1515#line 200 "include/linux/mm_types.h"
1516struct vm_area_struct {
1517 struct mm_struct *vm_mm ;
1518 unsigned long vm_start ;
1519 unsigned long vm_end ;
1520 struct vm_area_struct *vm_next ;
1521 struct vm_area_struct *vm_prev ;
1522 pgprot_t vm_page_prot ;
1523 unsigned long vm_flags ;
1524 struct rb_node vm_rb ;
1525 union __anonunion_shared_210 shared ;
1526 struct list_head anon_vma_chain ;
1527 struct anon_vma *anon_vma ;
1528 struct vm_operations_struct const *vm_ops ;
1529 unsigned long vm_pgoff ;
1530 struct file *vm_file ;
1531 void *vm_private_data ;
1532 struct mempolicy *vm_policy ;
1533};
1534#line 257 "include/linux/mm_types.h"
1535struct core_thread {
1536 struct task_struct *task ;
1537 struct core_thread *next ;
1538};
1539#line 262 "include/linux/mm_types.h"
1540struct core_state {
1541 atomic_t nr_threads ;
1542 struct core_thread dumper ;
1543 struct completion startup ;
1544};
1545#line 284 "include/linux/mm_types.h"
1546struct mm_rss_stat {
1547 atomic_long_t count[3] ;
1548};
1549#line 288
1550struct linux_binfmt;
1551#line 288
1552struct mmu_notifier_mm;
1553#line 288 "include/linux/mm_types.h"
1554struct mm_struct {
1555 struct vm_area_struct *mmap ;
1556 struct rb_root mm_rb ;
1557 struct vm_area_struct *mmap_cache ;
1558 unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1559 unsigned long pgoff , unsigned long flags ) ;
1560 void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1561 unsigned long mmap_base ;
1562 unsigned long task_size ;
1563 unsigned long cached_hole_size ;
1564 unsigned long free_area_cache ;
1565 pgd_t *pgd ;
1566 atomic_t mm_users ;
1567 atomic_t mm_count ;
1568 int map_count ;
1569 spinlock_t page_table_lock ;
1570 struct rw_semaphore mmap_sem ;
1571 struct list_head mmlist ;
1572 unsigned long hiwater_rss ;
1573 unsigned long hiwater_vm ;
1574 unsigned long total_vm ;
1575 unsigned long locked_vm ;
1576 unsigned long pinned_vm ;
1577 unsigned long shared_vm ;
1578 unsigned long exec_vm ;
1579 unsigned long stack_vm ;
1580 unsigned long reserved_vm ;
1581 unsigned long def_flags ;
1582 unsigned long nr_ptes ;
1583 unsigned long start_code ;
1584 unsigned long end_code ;
1585 unsigned long start_data ;
1586 unsigned long end_data ;
1587 unsigned long start_brk ;
1588 unsigned long brk ;
1589 unsigned long start_stack ;
1590 unsigned long arg_start ;
1591 unsigned long arg_end ;
1592 unsigned long env_start ;
1593 unsigned long env_end ;
1594 unsigned long saved_auxv[44] ;
1595 struct mm_rss_stat rss_stat ;
1596 struct linux_binfmt *binfmt ;
1597 cpumask_var_t cpu_vm_mask_var ;
1598 mm_context_t context ;
1599 unsigned int faultstamp ;
1600 unsigned int token_priority ;
1601 unsigned int last_interval ;
1602 unsigned long flags ;
1603 struct core_state *core_state ;
1604 spinlock_t ioctx_lock ;
1605 struct hlist_head ioctx_list ;
1606 struct task_struct *owner ;
1607 struct file *exe_file ;
1608 unsigned long num_exe_file_vmas ;
1609 struct mmu_notifier_mm *mmu_notifier_mm ;
1610 pgtable_t pmd_huge_pte ;
1611 struct cpumask cpumask_allocation ;
1612};
1613#line 8 "include/linux/shrinker.h"
1614struct shrink_control {
1615 gfp_t gfp_mask ;
1616 unsigned long nr_to_scan ;
1617};
1618#line 31 "include/linux/shrinker.h"
1619struct shrinker {
1620 int (*shrink)(struct shrinker * , struct shrink_control *sc ) ;
1621 int seeks ;
1622 long batch ;
1623 struct list_head list ;
1624 atomic_long_t nr_in_batch ;
1625};
1626#line 22 "include/linux/mm.h"
1627struct mempolicy;
1628#line 23
1629struct anon_vma;
1630#line 24
1631struct file_ra_state;
1632#line 24
1633struct file_ra_state;
1634#line 25
1635struct user_struct;
1636#line 25
1637struct user_struct;
1638#line 26
1639struct writeback_control;
1640#line 26
1641struct writeback_control;
1642#line 41 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64.h"
1643struct mm_struct;
1644#line 656 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable.h"
1645struct vm_area_struct;
1646#line 188 "include/linux/mm.h"
1647struct vm_fault {
1648 unsigned int flags ;
1649 unsigned long pgoff ;
1650 void *virtual_address ;
1651 struct page *page ;
1652};
1653#line 205 "include/linux/mm.h"
1654struct vm_operations_struct {
1655 void (*open)(struct vm_area_struct *area ) ;
1656 void (*close)(struct vm_area_struct *area ) ;
1657 int (*fault)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1658 int (*page_mkwrite)(struct vm_area_struct *vma , struct vm_fault *vmf ) ;
1659 int (*access)(struct vm_area_struct *vma , unsigned long addr , void *buf , int len ,
1660 int write ) ;
1661 int (*set_policy)(struct vm_area_struct *vma , struct mempolicy *new ) ;
1662 struct mempolicy *(*get_policy)(struct vm_area_struct *vma , unsigned long addr ) ;
1663 int (*migrate)(struct vm_area_struct *vma , nodemask_t const *from , nodemask_t const *to ,
1664 unsigned long flags ) ;
1665};
1666#line 247
1667struct inode;
1668#line 247
1669struct inode;
1670#line 195 "include/linux/page-flags.h"
1671struct page;
1672#line 6 "include/asm-generic/scatterlist.h"
1673struct scatterlist {
1674 unsigned long sg_magic ;
1675 unsigned long page_link ;
1676 unsigned int offset ;
1677 unsigned int length ;
1678 dma_addr_t dma_address ;
1679 unsigned int dma_length ;
1680};
1681#line 12 "include/linux/scatterlist.h"
1682struct sg_table {
1683 struct scatterlist *sgl ;
1684 unsigned int nents ;
1685 unsigned int orig_nents ;
1686};
1687#line 14 "include/scsi/scsi.h"
1688struct scsi_cmnd;
1689#line 14
1690struct scsi_cmnd;
1691#line 18 "include/linux/capability.h"
1692struct task_struct;
1693#line 94 "include/linux/capability.h"
1694struct kernel_cap_struct {
1695 __u32 cap[2] ;
1696};
1697#line 94 "include/linux/capability.h"
1698typedef struct kernel_cap_struct kernel_cap_t;
1699#line 377
1700struct dentry;
1701#line 378
1702struct user_namespace;
1703#line 378
1704struct user_namespace;
1705#line 7 "include/asm-generic/cputime.h"
1706typedef unsigned long cputime_t;
1707#line 84 "include/linux/sem.h"
1708struct task_struct;
1709#line 101
1710struct sem_undo_list;
1711#line 101 "include/linux/sem.h"
1712struct sysv_sem {
1713 struct sem_undo_list *undo_list ;
1714};
1715#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1716struct siginfo;
1717#line 10
1718struct siginfo;
1719#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1720struct __anonstruct_sigset_t_214 {
1721 unsigned long sig[1] ;
1722};
1723#line 30 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1724typedef struct __anonstruct_sigset_t_214 sigset_t;
1725#line 17 "include/asm-generic/signal-defs.h"
1726typedef void __signalfn_t(int );
1727#line 18 "include/asm-generic/signal-defs.h"
1728typedef __signalfn_t *__sighandler_t;
1729#line 20 "include/asm-generic/signal-defs.h"
1730typedef void __restorefn_t(void);
1731#line 21 "include/asm-generic/signal-defs.h"
1732typedef __restorefn_t *__sigrestore_t;
1733#line 167 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1734struct sigaction {
1735 __sighandler_t sa_handler ;
1736 unsigned long sa_flags ;
1737 __sigrestore_t sa_restorer ;
1738 sigset_t sa_mask ;
1739};
1740#line 174 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1741struct k_sigaction {
1742 struct sigaction sa ;
1743};
1744#line 7 "include/asm-generic/siginfo.h"
1745union sigval {
1746 int sival_int ;
1747 void *sival_ptr ;
1748};
1749#line 7 "include/asm-generic/siginfo.h"
1750typedef union sigval sigval_t;
1751#line 48 "include/asm-generic/siginfo.h"
1752struct __anonstruct__kill_216 {
1753 __kernel_pid_t _pid ;
1754 __kernel_uid32_t _uid ;
1755};
1756#line 48 "include/asm-generic/siginfo.h"
1757struct __anonstruct__timer_217 {
1758 __kernel_timer_t _tid ;
1759 int _overrun ;
1760 char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
1761 sigval_t _sigval ;
1762 int _sys_private ;
1763};
1764#line 48 "include/asm-generic/siginfo.h"
1765struct __anonstruct__rt_218 {
1766 __kernel_pid_t _pid ;
1767 __kernel_uid32_t _uid ;
1768 sigval_t _sigval ;
1769};
1770#line 48 "include/asm-generic/siginfo.h"
1771struct __anonstruct__sigchld_219 {
1772 __kernel_pid_t _pid ;
1773 __kernel_uid32_t _uid ;
1774 int _status ;
1775 __kernel_clock_t _utime ;
1776 __kernel_clock_t _stime ;
1777};
1778#line 48 "include/asm-generic/siginfo.h"
1779struct __anonstruct__sigfault_220 {
1780 void *_addr ;
1781 short _addr_lsb ;
1782};
1783#line 48 "include/asm-generic/siginfo.h"
1784struct __anonstruct__sigpoll_221 {
1785 long _band ;
1786 int _fd ;
1787};
1788#line 48 "include/asm-generic/siginfo.h"
1789union __anonunion__sifields_215 {
1790 int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
1791 struct __anonstruct__kill_216 _kill ;
1792 struct __anonstruct__timer_217 _timer ;
1793 struct __anonstruct__rt_218 _rt ;
1794 struct __anonstruct__sigchld_219 _sigchld ;
1795 struct __anonstruct__sigfault_220 _sigfault ;
1796 struct __anonstruct__sigpoll_221 _sigpoll ;
1797};
1798#line 48 "include/asm-generic/siginfo.h"
1799struct siginfo {
1800 int si_signo ;
1801 int si_errno ;
1802 int si_code ;
1803 union __anonunion__sifields_215 _sifields ;
1804};
1805#line 48 "include/asm-generic/siginfo.h"
1806typedef struct siginfo siginfo_t;
1807#line 288
1808struct siginfo;
1809#line 10 "include/linux/signal.h"
1810struct task_struct;
1811#line 28 "include/linux/signal.h"
1812struct sigpending {
1813 struct list_head list ;
1814 sigset_t signal ;
1815};
1816#line 239
1817struct timespec;
1818#line 240
1819struct pt_regs;
1820#line 6 "include/linux/pid.h"
1821enum pid_type {
1822 PIDTYPE_PID = 0,
1823 PIDTYPE_PGID = 1,
1824 PIDTYPE_SID = 2,
1825 PIDTYPE_MAX = 3
1826} ;
1827#line 50
1828struct pid_namespace;
1829#line 50 "include/linux/pid.h"
1830struct upid {
1831 int nr ;
1832 struct pid_namespace *ns ;
1833 struct hlist_node pid_chain ;
1834};
1835#line 57 "include/linux/pid.h"
1836struct pid {
1837 atomic_t count ;
1838 unsigned int level ;
1839 struct hlist_head tasks[3] ;
1840 struct rcu_head rcu ;
1841 struct upid numbers[1] ;
1842};
1843#line 69 "include/linux/pid.h"
1844struct pid_link {
1845 struct hlist_node node ;
1846 struct pid *pid ;
1847};
1848#line 100
1849struct pid_namespace;
1850#line 18 "include/linux/percpu_counter.h"
1851struct percpu_counter {
1852 raw_spinlock_t lock ;
1853 s64 count ;
1854 struct list_head list ;
1855 s32 *counters ;
1856};
1857#line 50 "include/linux/proportions.h"
1858struct prop_local_percpu {
1859 struct percpu_counter events ;
1860 int shift ;
1861 unsigned long period ;
1862 raw_spinlock_t lock ;
1863};
1864#line 10 "include/linux/seccomp.h"
1865struct __anonstruct_seccomp_t_224 {
1866 int mode ;
1867};
1868#line 10 "include/linux/seccomp.h"
1869typedef struct __anonstruct_seccomp_t_224 seccomp_t;
1870#line 81 "include/linux/plist.h"
1871struct plist_head {
1872 struct list_head node_list ;
1873};
1874#line 85 "include/linux/plist.h"
1875struct plist_node {
1876 int prio ;
1877 struct list_head prio_list ;
1878 struct list_head node_list ;
1879};
1880#line 40 "include/linux/rtmutex.h"
1881struct rt_mutex_waiter;
1882#line 40
1883struct rt_mutex_waiter;
1884#line 42 "include/linux/resource.h"
1885struct rlimit {
1886 unsigned long rlim_cur ;
1887 unsigned long rlim_max ;
1888};
1889#line 81
1890struct task_struct;
1891#line 8 "include/linux/timerqueue.h"
1892struct timerqueue_node {
1893 struct rb_node node ;
1894 ktime_t expires ;
1895};
1896#line 13 "include/linux/timerqueue.h"
1897struct timerqueue_head {
1898 struct rb_root head ;
1899 struct timerqueue_node *next ;
1900};
1901#line 27 "include/linux/hrtimer.h"
1902struct hrtimer_clock_base;
1903#line 27
1904struct hrtimer_clock_base;
1905#line 28
1906struct hrtimer_cpu_base;
1907#line 28
1908struct hrtimer_cpu_base;
1909#line 44
1910enum hrtimer_restart {
1911 HRTIMER_NORESTART = 0,
1912 HRTIMER_RESTART = 1
1913} ;
1914#line 108 "include/linux/hrtimer.h"
1915struct hrtimer {
1916 struct timerqueue_node node ;
1917 ktime_t _softexpires ;
1918 enum hrtimer_restart (*function)(struct hrtimer * ) ;
1919 struct hrtimer_clock_base *base ;
1920 unsigned long state ;
1921 int start_pid ;
1922 void *start_site ;
1923 char start_comm[16] ;
1924};
1925#line 145 "include/linux/hrtimer.h"
1926struct hrtimer_clock_base {
1927 struct hrtimer_cpu_base *cpu_base ;
1928 int index ;
1929 clockid_t clockid ;
1930 struct timerqueue_head active ;
1931 ktime_t resolution ;
1932 ktime_t (*get_time)(void) ;
1933 ktime_t softirq_time ;
1934 ktime_t offset ;
1935};
1936#line 178 "include/linux/hrtimer.h"
1937struct hrtimer_cpu_base {
1938 raw_spinlock_t lock ;
1939 unsigned long active_bases ;
1940 ktime_t expires_next ;
1941 int hres_active ;
1942 int hang_detected ;
1943 unsigned long nr_events ;
1944 unsigned long nr_retries ;
1945 unsigned long nr_hangs ;
1946 ktime_t max_hang_time ;
1947 struct hrtimer_clock_base clock_base[3] ;
1948};
1949#line 11 "include/linux/task_io_accounting.h"
1950struct task_io_accounting {
1951 u64 rchar ;
1952 u64 wchar ;
1953 u64 syscr ;
1954 u64 syscw ;
1955 u64 read_bytes ;
1956 u64 write_bytes ;
1957 u64 cancelled_write_bytes ;
1958};
1959#line 13 "include/linux/latencytop.h"
1960struct task_struct;
1961#line 20 "include/linux/latencytop.h"
1962struct latency_record {
1963 unsigned long backtrace[12] ;
1964 unsigned int count ;
1965 unsigned long time ;
1966 unsigned long max ;
1967};
1968#line 29 "include/linux/key.h"
1969typedef int32_t key_serial_t;
1970#line 32 "include/linux/key.h"
1971typedef uint32_t key_perm_t;
1972#line 34
1973struct key;
1974#line 34
1975struct key;
1976#line 74
1977struct seq_file;
1978#line 75
1979struct user_struct;
1980#line 76
1981struct signal_struct;
1982#line 76
1983struct signal_struct;
1984#line 77
1985struct cred;
1986#line 79
1987struct key_type;
1988#line 79
1989struct key_type;
1990#line 81
1991struct keyring_list;
1992#line 81
1993struct keyring_list;
1994#line 124
1995struct key_user;
1996#line 124 "include/linux/key.h"
1997union __anonunion____missing_field_name_225 {
1998 time_t expiry ;
1999 time_t revoked_at ;
2000};
2001#line 124 "include/linux/key.h"
2002union __anonunion_type_data_226 {
2003 struct list_head link ;
2004 unsigned long x[2] ;
2005 void *p[2] ;
2006 int reject_error ;
2007};
2008#line 124 "include/linux/key.h"
2009union __anonunion_payload_227 {
2010 unsigned long value ;
2011 void *rcudata ;
2012 void *data ;
2013 struct keyring_list *subscriptions ;
2014};
2015#line 124 "include/linux/key.h"
2016struct key {
2017 atomic_t usage ;
2018 key_serial_t serial ;
2019 struct rb_node serial_node ;
2020 struct key_type *type ;
2021 struct rw_semaphore sem ;
2022 struct key_user *user ;
2023 void *security ;
2024 union __anonunion____missing_field_name_225 __annonCompField42 ;
2025 uid_t uid ;
2026 gid_t gid ;
2027 key_perm_t perm ;
2028 unsigned short quotalen ;
2029 unsigned short datalen ;
2030 unsigned long flags ;
2031 char *description ;
2032 union __anonunion_type_data_226 type_data ;
2033 union __anonunion_payload_227 payload ;
2034};
2035#line 18 "include/linux/selinux.h"
2036struct audit_context;
2037#line 18
2038struct audit_context;
2039#line 21 "include/linux/cred.h"
2040struct user_struct;
2041#line 22
2042struct cred;
2043#line 23
2044struct inode;
2045#line 31 "include/linux/cred.h"
2046struct group_info {
2047 atomic_t usage ;
2048 int ngroups ;
2049 int nblocks ;
2050 gid_t small_block[32] ;
2051 gid_t *blocks[0] ;
2052};
2053#line 83 "include/linux/cred.h"
2054struct thread_group_cred {
2055 atomic_t usage ;
2056 pid_t tgid ;
2057 spinlock_t lock ;
2058 struct key *session_keyring ;
2059 struct key *process_keyring ;
2060 struct rcu_head rcu ;
2061};
2062#line 116 "include/linux/cred.h"
2063struct cred {
2064 atomic_t usage ;
2065 atomic_t subscribers ;
2066 void *put_addr ;
2067 unsigned int magic ;
2068 uid_t uid ;
2069 gid_t gid ;
2070 uid_t suid ;
2071 gid_t sgid ;
2072 uid_t euid ;
2073 gid_t egid ;
2074 uid_t fsuid ;
2075 gid_t fsgid ;
2076 unsigned int securebits ;
2077 kernel_cap_t cap_inheritable ;
2078 kernel_cap_t cap_permitted ;
2079 kernel_cap_t cap_effective ;
2080 kernel_cap_t cap_bset ;
2081 unsigned char jit_keyring ;
2082 struct key *thread_keyring ;
2083 struct key *request_key_auth ;
2084 struct thread_group_cred *tgcred ;
2085 void *security ;
2086 struct user_struct *user ;
2087 struct user_namespace *user_ns ;
2088 struct group_info *group_info ;
2089 struct rcu_head rcu ;
2090};
2091#line 61 "include/linux/llist.h"
2092struct llist_node;
2093#line 65 "include/linux/llist.h"
2094struct llist_node {
2095 struct llist_node *next ;
2096};
2097#line 97 "include/linux/sched.h"
2098struct futex_pi_state;
2099#line 97
2100struct futex_pi_state;
2101#line 98
2102struct robust_list_head;
2103#line 98
2104struct robust_list_head;
2105#line 99
2106struct bio_list;
2107#line 99
2108struct bio_list;
2109#line 100
2110struct fs_struct;
2111#line 100
2112struct fs_struct;
2113#line 101
2114struct perf_event_context;
2115#line 101
2116struct perf_event_context;
2117#line 102
2118struct blk_plug;
2119#line 102
2120struct blk_plug;
2121#line 150
2122struct seq_file;
2123#line 151
2124struct cfs_rq;
2125#line 151
2126struct cfs_rq;
2127#line 259
2128struct task_struct;
2129#line 366
2130struct nsproxy;
2131#line 367
2132struct user_namespace;
2133#line 58 "include/linux/aio_abi.h"
2134struct io_event {
2135 __u64 data ;
2136 __u64 obj ;
2137 __s64 res ;
2138 __s64 res2 ;
2139};
2140#line 16 "include/linux/uio.h"
2141struct iovec {
2142 void *iov_base ;
2143 __kernel_size_t iov_len ;
2144};
2145#line 15 "include/linux/aio.h"
2146struct kioctx;
2147#line 15
2148struct kioctx;
2149#line 87 "include/linux/aio.h"
2150union __anonunion_ki_obj_229 {
2151 void *user ;
2152 struct task_struct *tsk ;
2153};
2154#line 87
2155struct eventfd_ctx;
2156#line 87 "include/linux/aio.h"
2157struct kiocb {
2158 struct list_head ki_run_list ;
2159 unsigned long ki_flags ;
2160 int ki_users ;
2161 unsigned int ki_key ;
2162 struct file *ki_filp ;
2163 struct kioctx *ki_ctx ;
2164 int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2165 ssize_t (*ki_retry)(struct kiocb * ) ;
2166 void (*ki_dtor)(struct kiocb * ) ;
2167 union __anonunion_ki_obj_229 ki_obj ;
2168 __u64 ki_user_data ;
2169 loff_t ki_pos ;
2170 void *private ;
2171 unsigned short ki_opcode ;
2172 size_t ki_nbytes ;
2173 char *ki_buf ;
2174 size_t ki_left ;
2175 struct iovec ki_inline_vec ;
2176 struct iovec *ki_iovec ;
2177 unsigned long ki_nr_segs ;
2178 unsigned long ki_cur_seg ;
2179 struct list_head ki_list ;
2180 struct list_head ki_batch ;
2181 struct eventfd_ctx *ki_eventfd ;
2182};
2183#line 166 "include/linux/aio.h"
2184struct aio_ring_info {
2185 unsigned long mmap_base ;
2186 unsigned long mmap_size ;
2187 struct page **ring_pages ;
2188 spinlock_t ring_lock ;
2189 long nr_pages ;
2190 unsigned int nr ;
2191 unsigned int tail ;
2192 struct page *internal_pages[8] ;
2193};
2194#line 179 "include/linux/aio.h"
2195struct kioctx {
2196 atomic_t users ;
2197 int dead ;
2198 struct mm_struct *mm ;
2199 unsigned long user_id ;
2200 struct hlist_node list ;
2201 wait_queue_head_t wait ;
2202 spinlock_t ctx_lock ;
2203 int reqs_active ;
2204 struct list_head active_reqs ;
2205 struct list_head run_list ;
2206 unsigned int max_reqs ;
2207 struct aio_ring_info ring_info ;
2208 struct delayed_work wq ;
2209 struct rcu_head rcu_head ;
2210};
2211#line 214
2212struct mm_struct;
2213#line 443 "include/linux/sched.h"
2214struct sighand_struct {
2215 atomic_t count ;
2216 struct k_sigaction action[64] ;
2217 spinlock_t siglock ;
2218 wait_queue_head_t signalfd_wqh ;
2219};
2220#line 450 "include/linux/sched.h"
2221struct pacct_struct {
2222 int ac_flag ;
2223 long ac_exitcode ;
2224 unsigned long ac_mem ;
2225 cputime_t ac_utime ;
2226 cputime_t ac_stime ;
2227 unsigned long ac_minflt ;
2228 unsigned long ac_majflt ;
2229};
2230#line 458 "include/linux/sched.h"
2231struct cpu_itimer {
2232 cputime_t expires ;
2233 cputime_t incr ;
2234 u32 error ;
2235 u32 incr_error ;
2236};
2237#line 476 "include/linux/sched.h"
2238struct task_cputime {
2239 cputime_t utime ;
2240 cputime_t stime ;
2241 unsigned long long sum_exec_runtime ;
2242};
2243#line 512 "include/linux/sched.h"
2244struct thread_group_cputimer {
2245 struct task_cputime cputime ;
2246 int running ;
2247 raw_spinlock_t lock ;
2248};
2249#line 519
2250struct autogroup;
2251#line 519
2252struct autogroup;
2253#line 528
2254struct tty_struct;
2255#line 528
2256struct taskstats;
2257#line 528
2258struct tty_audit_buf;
2259#line 528 "include/linux/sched.h"
2260struct signal_struct {
2261 atomic_t sigcnt ;
2262 atomic_t live ;
2263 int nr_threads ;
2264 wait_queue_head_t wait_chldexit ;
2265 struct task_struct *curr_target ;
2266 struct sigpending shared_pending ;
2267 int group_exit_code ;
2268 int notify_count ;
2269 struct task_struct *group_exit_task ;
2270 int group_stop_count ;
2271 unsigned int flags ;
2272 unsigned int is_child_subreaper : 1 ;
2273 unsigned int has_child_subreaper : 1 ;
2274 struct list_head posix_timers ;
2275 struct hrtimer real_timer ;
2276 struct pid *leader_pid ;
2277 ktime_t it_real_incr ;
2278 struct cpu_itimer it[2] ;
2279 struct thread_group_cputimer cputimer ;
2280 struct task_cputime cputime_expires ;
2281 struct list_head cpu_timers[3] ;
2282 struct pid *tty_old_pgrp ;
2283 int leader ;
2284 struct tty_struct *tty ;
2285 struct autogroup *autogroup ;
2286 cputime_t utime ;
2287 cputime_t stime ;
2288 cputime_t cutime ;
2289 cputime_t cstime ;
2290 cputime_t gtime ;
2291 cputime_t cgtime ;
2292 cputime_t prev_utime ;
2293 cputime_t prev_stime ;
2294 unsigned long nvcsw ;
2295 unsigned long nivcsw ;
2296 unsigned long cnvcsw ;
2297 unsigned long cnivcsw ;
2298 unsigned long min_flt ;
2299 unsigned long maj_flt ;
2300 unsigned long cmin_flt ;
2301 unsigned long cmaj_flt ;
2302 unsigned long inblock ;
2303 unsigned long oublock ;
2304 unsigned long cinblock ;
2305 unsigned long coublock ;
2306 unsigned long maxrss ;
2307 unsigned long cmaxrss ;
2308 struct task_io_accounting ioac ;
2309 unsigned long long sum_sched_runtime ;
2310 struct rlimit rlim[16] ;
2311 struct pacct_struct pacct ;
2312 struct taskstats *stats ;
2313 unsigned int audit_tty ;
2314 struct tty_audit_buf *tty_audit_buf ;
2315 struct rw_semaphore group_rwsem ;
2316 int oom_adj ;
2317 int oom_score_adj ;
2318 int oom_score_adj_min ;
2319 struct mutex cred_guard_mutex ;
2320};
2321#line 703 "include/linux/sched.h"
2322struct user_struct {
2323 atomic_t __count ;
2324 atomic_t processes ;
2325 atomic_t files ;
2326 atomic_t sigpending ;
2327 atomic_t inotify_watches ;
2328 atomic_t inotify_devs ;
2329 atomic_t fanotify_listeners ;
2330 atomic_long_t epoll_watches ;
2331 unsigned long mq_bytes ;
2332 unsigned long locked_shm ;
2333 struct key *uid_keyring ;
2334 struct key *session_keyring ;
2335 struct hlist_node uidhash_node ;
2336 uid_t uid ;
2337 struct user_namespace *user_ns ;
2338 atomic_long_t locked_vm ;
2339};
2340#line 747
2341struct backing_dev_info;
2342#line 747
2343struct backing_dev_info;
2344#line 748
2345struct reclaim_state;
2346#line 748
2347struct reclaim_state;
2348#line 751 "include/linux/sched.h"
2349struct sched_info {
2350 unsigned long pcount ;
2351 unsigned long long run_delay ;
2352 unsigned long long last_arrival ;
2353 unsigned long long last_queued ;
2354};
2355#line 763 "include/linux/sched.h"
2356struct task_delay_info {
2357 spinlock_t lock ;
2358 unsigned int flags ;
2359 struct timespec blkio_start ;
2360 struct timespec blkio_end ;
2361 u64 blkio_delay ;
2362 u64 swapin_delay ;
2363 u32 blkio_count ;
2364 u32 swapin_count ;
2365 struct timespec freepages_start ;
2366 struct timespec freepages_end ;
2367 u64 freepages_delay ;
2368 u32 freepages_count ;
2369};
2370#line 1088
2371struct io_context;
2372#line 1088
2373struct io_context;
2374#line 1097
2375struct audit_context;
2376#line 1098
2377struct mempolicy;
2378#line 1099
2379struct pipe_inode_info;
2380#line 1099
2381struct pipe_inode_info;
2382#line 1102
2383struct rq;
2384#line 1102
2385struct rq;
2386#line 1122 "include/linux/sched.h"
2387struct sched_class {
2388 struct sched_class const *next ;
2389 void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2390 void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2391 void (*yield_task)(struct rq *rq ) ;
2392 bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2393 void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2394 struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2395 void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2396 int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2397 void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2398 void (*post_schedule)(struct rq *this_rq ) ;
2399 void (*task_waking)(struct task_struct *task ) ;
2400 void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2401 void (*set_cpus_allowed)(struct task_struct *p , struct cpumask const *newmask ) ;
2402 void (*rq_online)(struct rq *rq ) ;
2403 void (*rq_offline)(struct rq *rq ) ;
2404 void (*set_curr_task)(struct rq *rq ) ;
2405 void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2406 void (*task_fork)(struct task_struct *p ) ;
2407 void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2408 void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2409 void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2410 unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2411 void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2412};
2413#line 1167 "include/linux/sched.h"
2414struct load_weight {
2415 unsigned long weight ;
2416 unsigned long inv_weight ;
2417};
2418#line 1172 "include/linux/sched.h"
2419struct sched_statistics {
2420 u64 wait_start ;
2421 u64 wait_max ;
2422 u64 wait_count ;
2423 u64 wait_sum ;
2424 u64 iowait_count ;
2425 u64 iowait_sum ;
2426 u64 sleep_start ;
2427 u64 sleep_max ;
2428 s64 sum_sleep_runtime ;
2429 u64 block_start ;
2430 u64 block_max ;
2431 u64 exec_max ;
2432 u64 slice_max ;
2433 u64 nr_migrations_cold ;
2434 u64 nr_failed_migrations_affine ;
2435 u64 nr_failed_migrations_running ;
2436 u64 nr_failed_migrations_hot ;
2437 u64 nr_forced_migrations ;
2438 u64 nr_wakeups ;
2439 u64 nr_wakeups_sync ;
2440 u64 nr_wakeups_migrate ;
2441 u64 nr_wakeups_local ;
2442 u64 nr_wakeups_remote ;
2443 u64 nr_wakeups_affine ;
2444 u64 nr_wakeups_affine_attempts ;
2445 u64 nr_wakeups_passive ;
2446 u64 nr_wakeups_idle ;
2447};
2448#line 1207 "include/linux/sched.h"
2449struct sched_entity {
2450 struct load_weight load ;
2451 struct rb_node run_node ;
2452 struct list_head group_node ;
2453 unsigned int on_rq ;
2454 u64 exec_start ;
2455 u64 sum_exec_runtime ;
2456 u64 vruntime ;
2457 u64 prev_sum_exec_runtime ;
2458 u64 nr_migrations ;
2459 struct sched_statistics statistics ;
2460 struct sched_entity *parent ;
2461 struct cfs_rq *cfs_rq ;
2462 struct cfs_rq *my_q ;
2463};
2464#line 1233
2465struct rt_rq;
2466#line 1233 "include/linux/sched.h"
2467struct sched_rt_entity {
2468 struct list_head run_list ;
2469 unsigned long timeout ;
2470 unsigned int time_slice ;
2471 int nr_cpus_allowed ;
2472 struct sched_rt_entity *back ;
2473 struct sched_rt_entity *parent ;
2474 struct rt_rq *rt_rq ;
2475 struct rt_rq *my_q ;
2476};
2477#line 1264
2478struct files_struct;
2479#line 1264
2480struct css_set;
2481#line 1264
2482struct compat_robust_list_head;
2483#line 1264
2484struct mem_cgroup;
2485#line 1264 "include/linux/sched.h"
2486struct memcg_batch_info {
2487 int do_batch ;
2488 struct mem_cgroup *memcg ;
2489 unsigned long nr_pages ;
2490 unsigned long memsw_nr_pages ;
2491};
2492#line 1264 "include/linux/sched.h"
2493struct task_struct {
2494 long volatile state ;
2495 void *stack ;
2496 atomic_t usage ;
2497 unsigned int flags ;
2498 unsigned int ptrace ;
2499 struct llist_node wake_entry ;
2500 int on_cpu ;
2501 int on_rq ;
2502 int prio ;
2503 int static_prio ;
2504 int normal_prio ;
2505 unsigned int rt_priority ;
2506 struct sched_class const *sched_class ;
2507 struct sched_entity se ;
2508 struct sched_rt_entity rt ;
2509 struct hlist_head preempt_notifiers ;
2510 unsigned char fpu_counter ;
2511 unsigned int policy ;
2512 cpumask_t cpus_allowed ;
2513 struct sched_info sched_info ;
2514 struct list_head tasks ;
2515 struct plist_node pushable_tasks ;
2516 struct mm_struct *mm ;
2517 struct mm_struct *active_mm ;
2518 unsigned int brk_randomized : 1 ;
2519 int exit_state ;
2520 int exit_code ;
2521 int exit_signal ;
2522 int pdeath_signal ;
2523 unsigned int jobctl ;
2524 unsigned int personality ;
2525 unsigned int did_exec : 1 ;
2526 unsigned int in_execve : 1 ;
2527 unsigned int in_iowait : 1 ;
2528 unsigned int sched_reset_on_fork : 1 ;
2529 unsigned int sched_contributes_to_load : 1 ;
2530 unsigned int irq_thread : 1 ;
2531 pid_t pid ;
2532 pid_t tgid ;
2533 unsigned long stack_canary ;
2534 struct task_struct *real_parent ;
2535 struct task_struct *parent ;
2536 struct list_head children ;
2537 struct list_head sibling ;
2538 struct task_struct *group_leader ;
2539 struct list_head ptraced ;
2540 struct list_head ptrace_entry ;
2541 struct pid_link pids[3] ;
2542 struct list_head thread_group ;
2543 struct completion *vfork_done ;
2544 int *set_child_tid ;
2545 int *clear_child_tid ;
2546 cputime_t utime ;
2547 cputime_t stime ;
2548 cputime_t utimescaled ;
2549 cputime_t stimescaled ;
2550 cputime_t gtime ;
2551 cputime_t prev_utime ;
2552 cputime_t prev_stime ;
2553 unsigned long nvcsw ;
2554 unsigned long nivcsw ;
2555 struct timespec start_time ;
2556 struct timespec real_start_time ;
2557 unsigned long min_flt ;
2558 unsigned long maj_flt ;
2559 struct task_cputime cputime_expires ;
2560 struct list_head cpu_timers[3] ;
2561 struct cred const *real_cred ;
2562 struct cred const *cred ;
2563 struct cred *replacement_session_keyring ;
2564 char comm[16] ;
2565 int link_count ;
2566 int total_link_count ;
2567 struct sysv_sem sysvsem ;
2568 unsigned long last_switch_count ;
2569 struct thread_struct thread ;
2570 struct fs_struct *fs ;
2571 struct files_struct *files ;
2572 struct nsproxy *nsproxy ;
2573 struct signal_struct *signal ;
2574 struct sighand_struct *sighand ;
2575 sigset_t blocked ;
2576 sigset_t real_blocked ;
2577 sigset_t saved_sigmask ;
2578 struct sigpending pending ;
2579 unsigned long sas_ss_sp ;
2580 size_t sas_ss_size ;
2581 int (*notifier)(void *priv ) ;
2582 void *notifier_data ;
2583 sigset_t *notifier_mask ;
2584 struct audit_context *audit_context ;
2585 uid_t loginuid ;
2586 unsigned int sessionid ;
2587 seccomp_t seccomp ;
2588 u32 parent_exec_id ;
2589 u32 self_exec_id ;
2590 spinlock_t alloc_lock ;
2591 raw_spinlock_t pi_lock ;
2592 struct plist_head pi_waiters ;
2593 struct rt_mutex_waiter *pi_blocked_on ;
2594 struct mutex_waiter *blocked_on ;
2595 unsigned int irq_events ;
2596 unsigned long hardirq_enable_ip ;
2597 unsigned long hardirq_disable_ip ;
2598 unsigned int hardirq_enable_event ;
2599 unsigned int hardirq_disable_event ;
2600 int hardirqs_enabled ;
2601 int hardirq_context ;
2602 unsigned long softirq_disable_ip ;
2603 unsigned long softirq_enable_ip ;
2604 unsigned int softirq_disable_event ;
2605 unsigned int softirq_enable_event ;
2606 int softirqs_enabled ;
2607 int softirq_context ;
2608 void *journal_info ;
2609 struct bio_list *bio_list ;
2610 struct blk_plug *plug ;
2611 struct reclaim_state *reclaim_state ;
2612 struct backing_dev_info *backing_dev_info ;
2613 struct io_context *io_context ;
2614 unsigned long ptrace_message ;
2615 siginfo_t *last_siginfo ;
2616 struct task_io_accounting ioac ;
2617 u64 acct_rss_mem1 ;
2618 u64 acct_vm_mem1 ;
2619 cputime_t acct_timexpd ;
2620 nodemask_t mems_allowed ;
2621 seqcount_t mems_allowed_seq ;
2622 int cpuset_mem_spread_rotor ;
2623 int cpuset_slab_spread_rotor ;
2624 struct css_set *cgroups ;
2625 struct list_head cg_list ;
2626 struct robust_list_head *robust_list ;
2627 struct compat_robust_list_head *compat_robust_list ;
2628 struct list_head pi_state_list ;
2629 struct futex_pi_state *pi_state_cache ;
2630 struct perf_event_context *perf_event_ctxp[2] ;
2631 struct mutex perf_event_mutex ;
2632 struct list_head perf_event_list ;
2633 struct mempolicy *mempolicy ;
2634 short il_next ;
2635 short pref_node_fork ;
2636 struct rcu_head rcu ;
2637 struct pipe_inode_info *splice_pipe ;
2638 struct task_delay_info *delays ;
2639 int make_it_fail ;
2640 int nr_dirtied ;
2641 int nr_dirtied_pause ;
2642 unsigned long dirty_paused_when ;
2643 int latency_record_count ;
2644 struct latency_record latency_record[32] ;
2645 unsigned long timer_slack_ns ;
2646 unsigned long default_timer_slack_ns ;
2647 struct list_head *scm_work_list ;
2648 unsigned long trace ;
2649 unsigned long trace_recursion ;
2650 struct memcg_batch_info memcg_batch ;
2651 atomic_t ptrace_bp_refcnt ;
2652};
2653#line 1681
2654struct pid_namespace;
2655#line 25 "include/linux/genhd.h"
2656struct device_type;
2657#line 27
2658struct class;
2659#line 19 "include/linux/klist.h"
2660struct klist_node;
2661#line 19
2662struct klist_node;
2663#line 39 "include/linux/klist.h"
2664struct klist_node {
2665 void *n_klist ;
2666 struct list_head n_node ;
2667 struct kref n_ref ;
2668};
2669#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2670struct dma_map_ops;
2671#line 4 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2672struct dev_archdata {
2673 void *acpi_handle ;
2674 struct dma_map_ops *dma_ops ;
2675 void *iommu ;
2676};
2677#line 28 "include/linux/device.h"
2678struct device;
2679#line 29
2680struct device_private;
2681#line 29
2682struct device_private;
2683#line 30
2684struct device_driver;
2685#line 30
2686struct device_driver;
2687#line 31
2688struct driver_private;
2689#line 31
2690struct driver_private;
2691#line 32
2692struct module;
2693#line 33
2694struct class;
2695#line 34
2696struct subsys_private;
2697#line 34
2698struct subsys_private;
2699#line 35
2700struct bus_type;
2701#line 35
2702struct bus_type;
2703#line 36
2704struct device_node;
2705#line 36
2706struct device_node;
2707#line 37
2708struct iommu_ops;
2709#line 37
2710struct iommu_ops;
2711#line 39 "include/linux/device.h"
2712struct bus_attribute {
2713 struct attribute attr ;
2714 ssize_t (*show)(struct bus_type *bus , char *buf ) ;
2715 ssize_t (*store)(struct bus_type *bus , char const *buf , size_t count ) ;
2716};
2717#line 89
2718struct device_attribute;
2719#line 89
2720struct driver_attribute;
2721#line 89 "include/linux/device.h"
2722struct bus_type {
2723 char const *name ;
2724 char const *dev_name ;
2725 struct device *dev_root ;
2726 struct bus_attribute *bus_attrs ;
2727 struct device_attribute *dev_attrs ;
2728 struct driver_attribute *drv_attrs ;
2729 int (*match)(struct device *dev , struct device_driver *drv ) ;
2730 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2731 int (*probe)(struct device *dev ) ;
2732 int (*remove)(struct device *dev ) ;
2733 void (*shutdown)(struct device *dev ) ;
2734 int (*suspend)(struct device *dev , pm_message_t state ) ;
2735 int (*resume)(struct device *dev ) ;
2736 struct dev_pm_ops const *pm ;
2737 struct iommu_ops *iommu_ops ;
2738 struct subsys_private *p ;
2739};
2740#line 159
2741struct notifier_block;
2742#line 214
2743struct of_device_id;
2744#line 214 "include/linux/device.h"
2745struct device_driver {
2746 char const *name ;
2747 struct bus_type *bus ;
2748 struct module *owner ;
2749 char const *mod_name ;
2750 bool suppress_bind_attrs ;
2751 struct of_device_id const *of_match_table ;
2752 int (*probe)(struct device *dev ) ;
2753 int (*remove)(struct device *dev ) ;
2754 void (*shutdown)(struct device *dev ) ;
2755 int (*suspend)(struct device *dev , pm_message_t state ) ;
2756 int (*resume)(struct device *dev ) ;
2757 struct attribute_group const **groups ;
2758 struct dev_pm_ops const *pm ;
2759 struct driver_private *p ;
2760};
2761#line 249 "include/linux/device.h"
2762struct driver_attribute {
2763 struct attribute attr ;
2764 ssize_t (*show)(struct device_driver *driver , char *buf ) ;
2765 ssize_t (*store)(struct device_driver *driver , char const *buf , size_t count ) ;
2766};
2767#line 330
2768struct class_attribute;
2769#line 330 "include/linux/device.h"
2770struct class {
2771 char const *name ;
2772 struct module *owner ;
2773 struct class_attribute *class_attrs ;
2774 struct device_attribute *dev_attrs ;
2775 struct bin_attribute *dev_bin_attrs ;
2776 struct kobject *dev_kobj ;
2777 int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2778 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2779 void (*class_release)(struct class *class ) ;
2780 void (*dev_release)(struct device *dev ) ;
2781 int (*suspend)(struct device *dev , pm_message_t state ) ;
2782 int (*resume)(struct device *dev ) ;
2783 struct kobj_ns_type_operations const *ns_type ;
2784 void const *(*namespace)(struct device *dev ) ;
2785 struct dev_pm_ops const *pm ;
2786 struct subsys_private *p ;
2787};
2788#line 397 "include/linux/device.h"
2789struct class_attribute {
2790 struct attribute attr ;
2791 ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
2792 ssize_t (*store)(struct class *class , struct class_attribute *attr , char const *buf ,
2793 size_t count ) ;
2794 void const *(*namespace)(struct class *class , struct class_attribute const *attr ) ;
2795};
2796#line 465 "include/linux/device.h"
2797struct device_type {
2798 char const *name ;
2799 struct attribute_group const **groups ;
2800 int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
2801 char *(*devnode)(struct device *dev , umode_t *mode ) ;
2802 void (*release)(struct device *dev ) ;
2803 struct dev_pm_ops const *pm ;
2804};
2805#line 476 "include/linux/device.h"
2806struct device_attribute {
2807 struct attribute attr ;
2808 ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
2809 ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const *buf ,
2810 size_t count ) ;
2811};
2812#line 559 "include/linux/device.h"
2813struct device_dma_parameters {
2814 unsigned int max_segment_size ;
2815 unsigned long segment_boundary_mask ;
2816};
2817#line 627
2818struct dma_coherent_mem;
2819#line 627 "include/linux/device.h"
2820struct device {
2821 struct device *parent ;
2822 struct device_private *p ;
2823 struct kobject kobj ;
2824 char const *init_name ;
2825 struct device_type const *type ;
2826 struct mutex mutex ;
2827 struct bus_type *bus ;
2828 struct device_driver *driver ;
2829 void *platform_data ;
2830 struct dev_pm_info power ;
2831 struct dev_pm_domain *pm_domain ;
2832 int numa_node ;
2833 u64 *dma_mask ;
2834 u64 coherent_dma_mask ;
2835 struct device_dma_parameters *dma_parms ;
2836 struct list_head dma_pools ;
2837 struct dma_coherent_mem *dma_mem ;
2838 struct dev_archdata archdata ;
2839 struct device_node *of_node ;
2840 dev_t devt ;
2841 u32 id ;
2842 spinlock_t devres_lock ;
2843 struct list_head devres_head ;
2844 struct klist_node knode_class ;
2845 struct class *class ;
2846 struct attribute_group const **groups ;
2847 void (*release)(struct device *dev ) ;
2848};
2849#line 43 "include/linux/pm_wakeup.h"
2850struct wakeup_source {
2851 char const *name ;
2852 struct list_head entry ;
2853 spinlock_t lock ;
2854 struct timer_list timer ;
2855 unsigned long timer_expires ;
2856 ktime_t total_time ;
2857 ktime_t max_time ;
2858 ktime_t last_time ;
2859 unsigned long event_count ;
2860 unsigned long active_count ;
2861 unsigned long relax_count ;
2862 unsigned long hit_count ;
2863 unsigned int active : 1 ;
2864};
2865#line 13 "include/linux/blk_types.h"
2866struct bio;
2867#line 13
2868struct bio;
2869#line 14
2870struct bio_integrity_payload;
2871#line 14
2872struct bio_integrity_payload;
2873#line 15
2874struct page;
2875#line 16
2876struct block_device;
2877#line 16
2878struct block_device;
2879#line 17 "include/linux/blk_types.h"
2880typedef void bio_end_io_t(struct bio * , int );
2881#line 18 "include/linux/blk_types.h"
2882typedef void bio_destructor_t(struct bio * );
2883#line 23 "include/linux/blk_types.h"
2884struct bio_vec {
2885 struct page *bv_page ;
2886 unsigned int bv_len ;
2887 unsigned int bv_offset ;
2888};
2889#line 33 "include/linux/blk_types.h"
2890struct bio {
2891 sector_t bi_sector ;
2892 struct bio *bi_next ;
2893 struct block_device *bi_bdev ;
2894 unsigned long bi_flags ;
2895 unsigned long bi_rw ;
2896 unsigned short bi_vcnt ;
2897 unsigned short bi_idx ;
2898 unsigned int bi_phys_segments ;
2899 unsigned int bi_size ;
2900 unsigned int bi_seg_front_size ;
2901 unsigned int bi_seg_back_size ;
2902 unsigned int bi_max_vecs ;
2903 atomic_t bi_cnt ;
2904 struct bio_vec *bi_io_vec ;
2905 bio_end_io_t *bi_end_io ;
2906 void *bi_private ;
2907 struct bio_integrity_payload *bi_integrity ;
2908 bio_destructor_t *bi_destructor ;
2909 struct bio_vec bi_inline_vecs[0] ;
2910};
2911#line 33 "include/linux/list_bl.h"
2912struct hlist_bl_node;
2913#line 33 "include/linux/list_bl.h"
2914struct hlist_bl_head {
2915 struct hlist_bl_node *first ;
2916};
2917#line 37 "include/linux/list_bl.h"
2918struct hlist_bl_node {
2919 struct hlist_bl_node *next ;
2920 struct hlist_bl_node **pprev ;
2921};
2922#line 13 "include/linux/dcache.h"
2923struct nameidata;
2924#line 13
2925struct nameidata;
2926#line 14
2927struct path;
2928#line 14
2929struct path;
2930#line 15
2931struct vfsmount;
2932#line 15
2933struct vfsmount;
2934#line 35 "include/linux/dcache.h"
2935struct qstr {
2936 unsigned int hash ;
2937 unsigned int len ;
2938 unsigned char const *name ;
2939};
2940#line 88
2941struct dentry_operations;
2942#line 88
2943struct super_block;
2944#line 88 "include/linux/dcache.h"
2945union __anonunion_d_u_232 {
2946 struct list_head d_child ;
2947 struct rcu_head d_rcu ;
2948};
2949#line 88 "include/linux/dcache.h"
2950struct dentry {
2951 unsigned int d_flags ;
2952 seqcount_t d_seq ;
2953 struct hlist_bl_node d_hash ;
2954 struct dentry *d_parent ;
2955 struct qstr d_name ;
2956 struct inode *d_inode ;
2957 unsigned char d_iname[32] ;
2958 unsigned int d_count ;
2959 spinlock_t d_lock ;
2960 struct dentry_operations const *d_op ;
2961 struct super_block *d_sb ;
2962 unsigned long d_time ;
2963 void *d_fsdata ;
2964 struct list_head d_lru ;
2965 union __anonunion_d_u_232 d_u ;
2966 struct list_head d_subdirs ;
2967 struct list_head d_alias ;
2968};
2969#line 131 "include/linux/dcache.h"
2970struct dentry_operations {
2971 int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2972 int (*d_hash)(struct dentry const * , struct inode const * , struct qstr * ) ;
2973 int (*d_compare)(struct dentry const * , struct inode const * , struct dentry const * ,
2974 struct inode const * , unsigned int , char const * , struct qstr const * ) ;
2975 int (*d_delete)(struct dentry const * ) ;
2976 void (*d_release)(struct dentry * ) ;
2977 void (*d_prune)(struct dentry * ) ;
2978 void (*d_iput)(struct dentry * , struct inode * ) ;
2979 char *(*d_dname)(struct dentry * , char * , int ) ;
2980 struct vfsmount *(*d_automount)(struct path * ) ;
2981 int (*d_manage)(struct dentry * , bool ) ;
2982} __attribute__((__aligned__((1) << (6) ))) ;
2983#line 4 "include/linux/path.h"
2984struct dentry;
2985#line 5
2986struct vfsmount;
2987#line 7 "include/linux/path.h"
2988struct path {
2989 struct vfsmount *mnt ;
2990 struct dentry *dentry ;
2991};
2992#line 64 "include/linux/radix-tree.h"
2993struct radix_tree_node;
2994#line 64 "include/linux/radix-tree.h"
2995struct radix_tree_root {
2996 unsigned int height ;
2997 gfp_t gfp_mask ;
2998 struct radix_tree_node *rnode ;
2999};
3000#line 16 "include/linux/fiemap.h"
3001struct fiemap_extent {
3002 __u64 fe_logical ;
3003 __u64 fe_physical ;
3004 __u64 fe_length ;
3005 __u64 fe_reserved64[2] ;
3006 __u32 fe_flags ;
3007 __u32 fe_reserved[3] ;
3008};
3009#line 10 "include/linux/migrate_mode.h"
3010enum migrate_mode {
3011 MIGRATE_ASYNC = 0,
3012 MIGRATE_SYNC_LIGHT = 1,
3013 MIGRATE_SYNC = 2
3014} ;
3015#line 408 "include/linux/fs.h"
3016struct export_operations;
3017#line 408
3018struct export_operations;
3019#line 409
3020struct hd_geometry;
3021#line 409
3022struct hd_geometry;
3023#line 410
3024struct iovec;
3025#line 411
3026struct nameidata;
3027#line 412
3028struct kiocb;
3029#line 413
3030struct kobject;
3031#line 414
3032struct pipe_inode_info;
3033#line 415
3034struct poll_table_struct;
3035#line 415
3036struct poll_table_struct;
3037#line 416
3038struct kstatfs;
3039#line 416
3040struct kstatfs;
3041#line 417
3042struct vm_area_struct;
3043#line 418
3044struct vfsmount;
3045#line 419
3046struct cred;
3047#line 469 "include/linux/fs.h"
3048struct iattr {
3049 unsigned int ia_valid ;
3050 umode_t ia_mode ;
3051 uid_t ia_uid ;
3052 gid_t ia_gid ;
3053 loff_t ia_size ;
3054 struct timespec ia_atime ;
3055 struct timespec ia_mtime ;
3056 struct timespec ia_ctime ;
3057 struct file *ia_file ;
3058};
3059#line 129 "include/linux/quota.h"
3060struct if_dqinfo {
3061 __u64 dqi_bgrace ;
3062 __u64 dqi_igrace ;
3063 __u32 dqi_flags ;
3064 __u32 dqi_valid ;
3065};
3066#line 50 "include/linux/dqblk_xfs.h"
3067struct fs_disk_quota {
3068 __s8 d_version ;
3069 __s8 d_flags ;
3070 __u16 d_fieldmask ;
3071 __u32 d_id ;
3072 __u64 d_blk_hardlimit ;
3073 __u64 d_blk_softlimit ;
3074 __u64 d_ino_hardlimit ;
3075 __u64 d_ino_softlimit ;
3076 __u64 d_bcount ;
3077 __u64 d_icount ;
3078 __s32 d_itimer ;
3079 __s32 d_btimer ;
3080 __u16 d_iwarns ;
3081 __u16 d_bwarns ;
3082 __s32 d_padding2 ;
3083 __u64 d_rtb_hardlimit ;
3084 __u64 d_rtb_softlimit ;
3085 __u64 d_rtbcount ;
3086 __s32 d_rtbtimer ;
3087 __u16 d_rtbwarns ;
3088 __s16 d_padding3 ;
3089 char d_padding4[8] ;
3090};
3091#line 146 "include/linux/dqblk_xfs.h"
3092struct fs_qfilestat {
3093 __u64 qfs_ino ;
3094 __u64 qfs_nblks ;
3095 __u32 qfs_nextents ;
3096};
3097#line 146 "include/linux/dqblk_xfs.h"
3098typedef struct fs_qfilestat fs_qfilestat_t;
3099#line 152 "include/linux/dqblk_xfs.h"
3100struct fs_quota_stat {
3101 __s8 qs_version ;
3102 __u16 qs_flags ;
3103 __s8 qs_pad ;
3104 fs_qfilestat_t qs_uquota ;
3105 fs_qfilestat_t qs_gquota ;
3106 __u32 qs_incoredqs ;
3107 __s32 qs_btimelimit ;
3108 __s32 qs_itimelimit ;
3109 __s32 qs_rtbtimelimit ;
3110 __u16 qs_bwarnlimit ;
3111 __u16 qs_iwarnlimit ;
3112};
3113#line 17 "include/linux/dqblk_qtree.h"
3114struct dquot;
3115#line 17
3116struct dquot;
3117#line 185 "include/linux/quota.h"
3118typedef __kernel_uid32_t qid_t;
3119#line 186 "include/linux/quota.h"
3120typedef long long qsize_t;
3121#line 200 "include/linux/quota.h"
3122struct mem_dqblk {
3123 qsize_t dqb_bhardlimit ;
3124 qsize_t dqb_bsoftlimit ;
3125 qsize_t dqb_curspace ;
3126 qsize_t dqb_rsvspace ;
3127 qsize_t dqb_ihardlimit ;
3128 qsize_t dqb_isoftlimit ;
3129 qsize_t dqb_curinodes ;
3130 time_t dqb_btime ;
3131 time_t dqb_itime ;
3132};
3133#line 215
3134struct quota_format_type;
3135#line 215
3136struct quota_format_type;
3137#line 217 "include/linux/quota.h"
3138struct mem_dqinfo {
3139 struct quota_format_type *dqi_format ;
3140 int dqi_fmt_id ;
3141 struct list_head dqi_dirty_list ;
3142 unsigned long dqi_flags ;
3143 unsigned int dqi_bgrace ;
3144 unsigned int dqi_igrace ;
3145 qsize_t dqi_maxblimit ;
3146 qsize_t dqi_maxilimit ;
3147 void *dqi_priv ;
3148};
3149#line 230
3150struct super_block;
3151#line 288 "include/linux/quota.h"
3152struct dquot {
3153 struct hlist_node dq_hash ;
3154 struct list_head dq_inuse ;
3155 struct list_head dq_free ;
3156 struct list_head dq_dirty ;
3157 struct mutex dq_lock ;
3158 atomic_t dq_count ;
3159 wait_queue_head_t dq_wait_unused ;
3160 struct super_block *dq_sb ;
3161 unsigned int dq_id ;
3162 loff_t dq_off ;
3163 unsigned long dq_flags ;
3164 short dq_type ;
3165 struct mem_dqblk dq_dqb ;
3166};
3167#line 305 "include/linux/quota.h"
3168struct quota_format_ops {
3169 int (*check_quota_file)(struct super_block *sb , int type ) ;
3170 int (*read_file_info)(struct super_block *sb , int type ) ;
3171 int (*write_file_info)(struct super_block *sb , int type ) ;
3172 int (*free_file_info)(struct super_block *sb , int type ) ;
3173 int (*read_dqblk)(struct dquot *dquot ) ;
3174 int (*commit_dqblk)(struct dquot *dquot ) ;
3175 int (*release_dqblk)(struct dquot *dquot ) ;
3176};
3177#line 316 "include/linux/quota.h"
3178struct dquot_operations {
3179 int (*write_dquot)(struct dquot * ) ;
3180 struct dquot *(*alloc_dquot)(struct super_block * , int ) ;
3181 void (*destroy_dquot)(struct dquot * ) ;
3182 int (*acquire_dquot)(struct dquot * ) ;
3183 int (*release_dquot)(struct dquot * ) ;
3184 int (*mark_dirty)(struct dquot * ) ;
3185 int (*write_info)(struct super_block * , int ) ;
3186 qsize_t *(*get_reserved_space)(struct inode * ) ;
3187};
3188#line 329
3189struct path;
3190#line 332 "include/linux/quota.h"
3191struct quotactl_ops {
3192 int (*quota_on)(struct super_block * , int , int , struct path * ) ;
3193 int (*quota_on_meta)(struct super_block * , int , int ) ;
3194 int (*quota_off)(struct super_block * , int ) ;
3195 int (*quota_sync)(struct super_block * , int , int ) ;
3196 int (*get_info)(struct super_block * , int , struct if_dqinfo * ) ;
3197 int (*set_info)(struct super_block * , int , struct if_dqinfo * ) ;
3198 int (*get_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3199 int (*set_dqblk)(struct super_block * , int , qid_t , struct fs_disk_quota * ) ;
3200 int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3201 int (*set_xstate)(struct super_block * , unsigned int , int ) ;
3202};
3203#line 345 "include/linux/quota.h"
3204struct quota_format_type {
3205 int qf_fmt_id ;
3206 struct quota_format_ops const *qf_ops ;
3207 struct module *qf_owner ;
3208 struct quota_format_type *qf_next ;
3209};
3210#line 399 "include/linux/quota.h"
3211struct quota_info {
3212 unsigned int flags ;
3213 struct mutex dqio_mutex ;
3214 struct mutex dqonoff_mutex ;
3215 struct rw_semaphore dqptr_sem ;
3216 struct inode *files[2] ;
3217 struct mem_dqinfo info[2] ;
3218 struct quota_format_ops const *ops[2] ;
3219};
3220#line 532 "include/linux/fs.h"
3221struct page;
3222#line 533
3223struct address_space;
3224#line 534
3225struct writeback_control;
3226#line 577 "include/linux/fs.h"
3227union __anonunion_arg_239 {
3228 char *buf ;
3229 void *data ;
3230};
3231#line 577 "include/linux/fs.h"
3232struct __anonstruct_read_descriptor_t_238 {
3233 size_t written ;
3234 size_t count ;
3235 union __anonunion_arg_239 arg ;
3236 int error ;
3237};
3238#line 577 "include/linux/fs.h"
3239typedef struct __anonstruct_read_descriptor_t_238 read_descriptor_t;
3240#line 590 "include/linux/fs.h"
3241struct address_space_operations {
3242 int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3243 int (*readpage)(struct file * , struct page * ) ;
3244 int (*writepages)(struct address_space * , struct writeback_control * ) ;
3245 int (*set_page_dirty)(struct page *page ) ;
3246 int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3247 unsigned int nr_pages ) ;
3248 int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3249 unsigned int len , unsigned int flags , struct page **pagep ,
3250 void **fsdata ) ;
3251 int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3252 unsigned int copied , struct page *page , void *fsdata ) ;
3253 sector_t (*bmap)(struct address_space * , sector_t ) ;
3254 void (*invalidatepage)(struct page * , unsigned long ) ;
3255 int (*releasepage)(struct page * , gfp_t ) ;
3256 void (*freepage)(struct page * ) ;
3257 ssize_t (*direct_IO)(int , struct kiocb * , struct iovec const *iov , loff_t offset ,
3258 unsigned long nr_segs ) ;
3259 int (*get_xip_mem)(struct address_space * , unsigned long , int , void ** , unsigned long * ) ;
3260 int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode ) ;
3261 int (*launder_page)(struct page * ) ;
3262 int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long ) ;
3263 int (*error_remove_page)(struct address_space * , struct page * ) ;
3264};
3265#line 645
3266struct backing_dev_info;
3267#line 646 "include/linux/fs.h"
3268struct address_space {
3269 struct inode *host ;
3270 struct radix_tree_root page_tree ;
3271 spinlock_t tree_lock ;
3272 unsigned int i_mmap_writable ;
3273 struct prio_tree_root i_mmap ;
3274 struct list_head i_mmap_nonlinear ;
3275 struct mutex i_mmap_mutex ;
3276 unsigned long nrpages ;
3277 unsigned long writeback_index ;
3278 struct address_space_operations const *a_ops ;
3279 unsigned long flags ;
3280 struct backing_dev_info *backing_dev_info ;
3281 spinlock_t private_lock ;
3282 struct list_head private_list ;
3283 struct address_space *assoc_mapping ;
3284} __attribute__((__aligned__(sizeof(long )))) ;
3285#line 669
3286struct request_queue;
3287#line 669
3288struct request_queue;
3289#line 671
3290struct hd_struct;
3291#line 671
3292struct gendisk;
3293#line 671 "include/linux/fs.h"
3294struct block_device {
3295 dev_t bd_dev ;
3296 int bd_openers ;
3297 struct inode *bd_inode ;
3298 struct super_block *bd_super ;
3299 struct mutex bd_mutex ;
3300 struct list_head bd_inodes ;
3301 void *bd_claiming ;
3302 void *bd_holder ;
3303 int bd_holders ;
3304 bool bd_write_holder ;
3305 struct list_head bd_holder_disks ;
3306 struct block_device *bd_contains ;
3307 unsigned int bd_block_size ;
3308 struct hd_struct *bd_part ;
3309 unsigned int bd_part_count ;
3310 int bd_invalidated ;
3311 struct gendisk *bd_disk ;
3312 struct request_queue *bd_queue ;
3313 struct list_head bd_list ;
3314 unsigned long bd_private ;
3315 int bd_fsfreeze_count ;
3316 struct mutex bd_fsfreeze_mutex ;
3317};
3318#line 749
3319struct posix_acl;
3320#line 749
3321struct posix_acl;
3322#line 761
3323struct inode_operations;
3324#line 761 "include/linux/fs.h"
3325union __anonunion____missing_field_name_240 {
3326 unsigned int const i_nlink ;
3327 unsigned int __i_nlink ;
3328};
3329#line 761 "include/linux/fs.h"
3330union __anonunion____missing_field_name_241 {
3331 struct list_head i_dentry ;
3332 struct rcu_head i_rcu ;
3333};
3334#line 761
3335struct file_operations;
3336#line 761
3337struct file_lock;
3338#line 761
3339struct cdev;
3340#line 761 "include/linux/fs.h"
3341union __anonunion____missing_field_name_242 {
3342 struct pipe_inode_info *i_pipe ;
3343 struct block_device *i_bdev ;
3344 struct cdev *i_cdev ;
3345};
3346#line 761 "include/linux/fs.h"
3347struct inode {
3348 umode_t i_mode ;
3349 unsigned short i_opflags ;
3350 uid_t i_uid ;
3351 gid_t i_gid ;
3352 unsigned int i_flags ;
3353 struct posix_acl *i_acl ;
3354 struct posix_acl *i_default_acl ;
3355 struct inode_operations const *i_op ;
3356 struct super_block *i_sb ;
3357 struct address_space *i_mapping ;
3358 void *i_security ;
3359 unsigned long i_ino ;
3360 union __anonunion____missing_field_name_240 __annonCompField44 ;
3361 dev_t i_rdev ;
3362 struct timespec i_atime ;
3363 struct timespec i_mtime ;
3364 struct timespec i_ctime ;
3365 spinlock_t i_lock ;
3366 unsigned short i_bytes ;
3367 blkcnt_t i_blocks ;
3368 loff_t i_size ;
3369 unsigned long i_state ;
3370 struct mutex i_mutex ;
3371 unsigned long dirtied_when ;
3372 struct hlist_node i_hash ;
3373 struct list_head i_wb_list ;
3374 struct list_head i_lru ;
3375 struct list_head i_sb_list ;
3376 union __anonunion____missing_field_name_241 __annonCompField45 ;
3377 atomic_t i_count ;
3378 unsigned int i_blkbits ;
3379 u64 i_version ;
3380 atomic_t i_dio_count ;
3381 atomic_t i_writecount ;
3382 struct file_operations const *i_fop ;
3383 struct file_lock *i_flock ;
3384 struct address_space i_data ;
3385 struct dquot *i_dquot[2] ;
3386 struct list_head i_devices ;
3387 union __anonunion____missing_field_name_242 __annonCompField46 ;
3388 __u32 i_generation ;
3389 __u32 i_fsnotify_mask ;
3390 struct hlist_head i_fsnotify_marks ;
3391 atomic_t i_readcount ;
3392 void *i_private ;
3393};
3394#line 942 "include/linux/fs.h"
3395struct fown_struct {
3396 rwlock_t lock ;
3397 struct pid *pid ;
3398 enum pid_type pid_type ;
3399 uid_t uid ;
3400 uid_t euid ;
3401 int signum ;
3402};
3403#line 953 "include/linux/fs.h"
3404struct file_ra_state {
3405 unsigned long start ;
3406 unsigned int size ;
3407 unsigned int async_size ;
3408 unsigned int ra_pages ;
3409 unsigned int mmap_miss ;
3410 loff_t prev_pos ;
3411};
3412#line 976 "include/linux/fs.h"
3413union __anonunion_f_u_243 {
3414 struct list_head fu_list ;
3415 struct rcu_head fu_rcuhead ;
3416};
3417#line 976 "include/linux/fs.h"
3418struct file {
3419 union __anonunion_f_u_243 f_u ;
3420 struct path f_path ;
3421 struct file_operations const *f_op ;
3422 spinlock_t f_lock ;
3423 int f_sb_list_cpu ;
3424 atomic_long_t f_count ;
3425 unsigned int f_flags ;
3426 fmode_t f_mode ;
3427 loff_t f_pos ;
3428 struct fown_struct f_owner ;
3429 struct cred const *f_cred ;
3430 struct file_ra_state f_ra ;
3431 u64 f_version ;
3432 void *f_security ;
3433 void *private_data ;
3434 struct list_head f_ep_links ;
3435 struct list_head f_tfile_llink ;
3436 struct address_space *f_mapping ;
3437 unsigned long f_mnt_write_state ;
3438};
3439#line 1111 "include/linux/fs.h"
3440typedef struct files_struct *fl_owner_t;
3441#line 1113 "include/linux/fs.h"
3442struct file_lock_operations {
3443 void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3444 void (*fl_release_private)(struct file_lock * ) ;
3445};
3446#line 1118 "include/linux/fs.h"
3447struct lock_manager_operations {
3448 int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3449 void (*lm_notify)(struct file_lock * ) ;
3450 int (*lm_grant)(struct file_lock * , struct file_lock * , int ) ;
3451 void (*lm_release_private)(struct file_lock * ) ;
3452 void (*lm_break)(struct file_lock * ) ;
3453 int (*lm_change)(struct file_lock ** , int ) ;
3454};
3455#line 4 "include/linux/nfs_fs_i.h"
3456struct nlm_lockowner;
3457#line 4
3458struct nlm_lockowner;
3459#line 9 "include/linux/nfs_fs_i.h"
3460struct nfs_lock_info {
3461 u32 state ;
3462 struct nlm_lockowner *owner ;
3463 struct list_head list ;
3464};
3465#line 15
3466struct nfs4_lock_state;
3467#line 15
3468struct nfs4_lock_state;
3469#line 16 "include/linux/nfs_fs_i.h"
3470struct nfs4_lock_info {
3471 struct nfs4_lock_state *owner ;
3472};
3473#line 1138 "include/linux/fs.h"
3474struct fasync_struct;
3475#line 1138 "include/linux/fs.h"
3476struct __anonstruct_afs_245 {
3477 struct list_head link ;
3478 int state ;
3479};
3480#line 1138 "include/linux/fs.h"
3481union __anonunion_fl_u_244 {
3482 struct nfs_lock_info nfs_fl ;
3483 struct nfs4_lock_info nfs4_fl ;
3484 struct __anonstruct_afs_245 afs ;
3485};
3486#line 1138 "include/linux/fs.h"
3487struct file_lock {
3488 struct file_lock *fl_next ;
3489 struct list_head fl_link ;
3490 struct list_head fl_block ;
3491 fl_owner_t fl_owner ;
3492 unsigned int fl_flags ;
3493 unsigned char fl_type ;
3494 unsigned int fl_pid ;
3495 struct pid *fl_nspid ;
3496 wait_queue_head_t fl_wait ;
3497 struct file *fl_file ;
3498 loff_t fl_start ;
3499 loff_t fl_end ;
3500 struct fasync_struct *fl_fasync ;
3501 unsigned long fl_break_time ;
3502 unsigned long fl_downgrade_time ;
3503 struct file_lock_operations const *fl_ops ;
3504 struct lock_manager_operations const *fl_lmops ;
3505 union __anonunion_fl_u_244 fl_u ;
3506};
3507#line 1378 "include/linux/fs.h"
3508struct fasync_struct {
3509 spinlock_t fa_lock ;
3510 int magic ;
3511 int fa_fd ;
3512 struct fasync_struct *fa_next ;
3513 struct file *fa_file ;
3514 struct rcu_head fa_rcu ;
3515};
3516#line 1418
3517struct file_system_type;
3518#line 1418
3519struct super_operations;
3520#line 1418
3521struct xattr_handler;
3522#line 1418
3523struct mtd_info;
3524#line 1418 "include/linux/fs.h"
3525struct super_block {
3526 struct list_head s_list ;
3527 dev_t s_dev ;
3528 unsigned char s_dirt ;
3529 unsigned char s_blocksize_bits ;
3530 unsigned long s_blocksize ;
3531 loff_t s_maxbytes ;
3532 struct file_system_type *s_type ;
3533 struct super_operations const *s_op ;
3534 struct dquot_operations const *dq_op ;
3535 struct quotactl_ops const *s_qcop ;
3536 struct export_operations const *s_export_op ;
3537 unsigned long s_flags ;
3538 unsigned long s_magic ;
3539 struct dentry *s_root ;
3540 struct rw_semaphore s_umount ;
3541 struct mutex s_lock ;
3542 int s_count ;
3543 atomic_t s_active ;
3544 void *s_security ;
3545 struct xattr_handler const **s_xattr ;
3546 struct list_head s_inodes ;
3547 struct hlist_bl_head s_anon ;
3548 struct list_head *s_files ;
3549 struct list_head s_mounts ;
3550 struct list_head s_dentry_lru ;
3551 int s_nr_dentry_unused ;
3552 spinlock_t s_inode_lru_lock __attribute__((__aligned__((1) << (6) ))) ;
3553 struct list_head s_inode_lru ;
3554 int s_nr_inodes_unused ;
3555 struct block_device *s_bdev ;
3556 struct backing_dev_info *s_bdi ;
3557 struct mtd_info *s_mtd ;
3558 struct hlist_node s_instances ;
3559 struct quota_info s_dquot ;
3560 int s_frozen ;
3561 wait_queue_head_t s_wait_unfrozen ;
3562 char s_id[32] ;
3563 u8 s_uuid[16] ;
3564 void *s_fs_info ;
3565 unsigned int s_max_links ;
3566 fmode_t s_mode ;
3567 u32 s_time_gran ;
3568 struct mutex s_vfs_rename_mutex ;
3569 char *s_subtype ;
3570 char *s_options ;
3571 struct dentry_operations const *s_d_op ;
3572 int cleancache_poolid ;
3573 struct shrinker s_shrink ;
3574 atomic_long_t s_remove_count ;
3575 int s_readonly_remount ;
3576};
3577#line 1567 "include/linux/fs.h"
3578struct fiemap_extent_info {
3579 unsigned int fi_flags ;
3580 unsigned int fi_extents_mapped ;
3581 unsigned int fi_extents_max ;
3582 struct fiemap_extent *fi_extents_start ;
3583};
3584#line 1601
3585struct block_device_operations;
3586#line 1601
3587struct block_device_operations;
3588#line 1609 "include/linux/fs.h"
3589struct file_operations {
3590 struct module *owner ;
3591 loff_t (*llseek)(struct file * , loff_t , int ) ;
3592 ssize_t (*read)(struct file * , char * , size_t , loff_t * ) ;
3593 ssize_t (*write)(struct file * , char const * , size_t , loff_t * ) ;
3594 ssize_t (*aio_read)(struct kiocb * , struct iovec const * , unsigned long ,
3595 loff_t ) ;
3596 ssize_t (*aio_write)(struct kiocb * , struct iovec const * , unsigned long ,
3597 loff_t ) ;
3598 int (*readdir)(struct file * , void * , int (*)(void * , char const * , int ,
3599 loff_t , u64 , unsigned int ) ) ;
3600 unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3601 long (*unlocked_ioctl)(struct file * , unsigned int , unsigned long ) ;
3602 long (*compat_ioctl)(struct file * , unsigned int , unsigned long ) ;
3603 int (*mmap)(struct file * , struct vm_area_struct * ) ;
3604 int (*open)(struct inode * , struct file * ) ;
3605 int (*flush)(struct file * , fl_owner_t id ) ;
3606 int (*release)(struct inode * , struct file * ) ;
3607 int (*fsync)(struct file * , loff_t , loff_t , int datasync ) ;
3608 int (*aio_fsync)(struct kiocb * , int datasync ) ;
3609 int (*fasync)(int , struct file * , int ) ;
3610 int (*lock)(struct file * , int , struct file_lock * ) ;
3611 ssize_t (*sendpage)(struct file * , struct page * , int , size_t , loff_t * ,
3612 int ) ;
3613 unsigned long (*get_unmapped_area)(struct file * , unsigned long , unsigned long ,
3614 unsigned long , unsigned long ) ;
3615 int (*check_flags)(int ) ;
3616 int (*flock)(struct file * , int , struct file_lock * ) ;
3617 ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t ,
3618 unsigned int ) ;
3619 ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t ,
3620 unsigned int ) ;
3621 int (*setlease)(struct file * , long , struct file_lock ** ) ;
3622 long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
3623};
3624#line 1639 "include/linux/fs.h"
3625struct inode_operations {
3626 struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3627 void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3628 int (*permission)(struct inode * , int ) ;
3629 struct posix_acl *(*get_acl)(struct inode * , int ) ;
3630 int (*readlink)(struct dentry * , char * , int ) ;
3631 void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3632 int (*create)(struct inode * , struct dentry * , umode_t , struct nameidata * ) ;
3633 int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3634 int (*unlink)(struct inode * , struct dentry * ) ;
3635 int (*symlink)(struct inode * , struct dentry * , char const * ) ;
3636 int (*mkdir)(struct inode * , struct dentry * , umode_t ) ;
3637 int (*rmdir)(struct inode * , struct dentry * ) ;
3638 int (*mknod)(struct inode * , struct dentry * , umode_t , dev_t ) ;
3639 int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3640 void (*truncate)(struct inode * ) ;
3641 int (*setattr)(struct dentry * , struct iattr * ) ;
3642 int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
3643 int (*setxattr)(struct dentry * , char const * , void const * , size_t , int ) ;
3644 ssize_t (*getxattr)(struct dentry * , char const * , void * , size_t ) ;
3645 ssize_t (*listxattr)(struct dentry * , char * , size_t ) ;
3646 int (*removexattr)(struct dentry * , char const * ) ;
3647 void (*truncate_range)(struct inode * , loff_t , loff_t ) ;
3648 int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
3649} __attribute__((__aligned__((1) << (6) ))) ;
3650#line 1669
3651struct seq_file;
3652#line 1684 "include/linux/fs.h"
3653struct super_operations {
3654 struct inode *(*alloc_inode)(struct super_block *sb ) ;
3655 void (*destroy_inode)(struct inode * ) ;
3656 void (*dirty_inode)(struct inode * , int flags ) ;
3657 int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
3658 int (*drop_inode)(struct inode * ) ;
3659 void (*evict_inode)(struct inode * ) ;
3660 void (*put_super)(struct super_block * ) ;
3661 void (*write_super)(struct super_block * ) ;
3662 int (*sync_fs)(struct super_block *sb , int wait ) ;
3663 int (*freeze_fs)(struct super_block * ) ;
3664 int (*unfreeze_fs)(struct super_block * ) ;
3665 int (*statfs)(struct dentry * , struct kstatfs * ) ;
3666 int (*remount_fs)(struct super_block * , int * , char * ) ;
3667 void (*umount_begin)(struct super_block * ) ;
3668 int (*show_options)(struct seq_file * , struct dentry * ) ;
3669 int (*show_devname)(struct seq_file * , struct dentry * ) ;
3670 int (*show_path)(struct seq_file * , struct dentry * ) ;
3671 int (*show_stats)(struct seq_file * , struct dentry * ) ;
3672 ssize_t (*quota_read)(struct super_block * , int , char * , size_t , loff_t ) ;
3673 ssize_t (*quota_write)(struct super_block * , int , char const * , size_t ,
3674 loff_t ) ;
3675 int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t ) ;
3676 int (*nr_cached_objects)(struct super_block * ) ;
3677 void (*free_cached_objects)(struct super_block * , int ) ;
3678};
3679#line 1835 "include/linux/fs.h"
3680struct file_system_type {
3681 char const *name ;
3682 int fs_flags ;
3683 struct dentry *(*mount)(struct file_system_type * , int , char const * , void * ) ;
3684 void (*kill_sb)(struct super_block * ) ;
3685 struct module *owner ;
3686 struct file_system_type *next ;
3687 struct hlist_head fs_supers ;
3688 struct lock_class_key s_lock_key ;
3689 struct lock_class_key s_umount_key ;
3690 struct lock_class_key s_vfs_rename_key ;
3691 struct lock_class_key i_lock_key ;
3692 struct lock_class_key i_mutex_key ;
3693 struct lock_class_key i_mutex_dir_key ;
3694};
3695#line 2648
3696struct ctl_table;
3697#line 82 "include/linux/genhd.h"
3698struct disk_stats {
3699 unsigned long sectors[2] ;
3700 unsigned long ios[2] ;
3701 unsigned long merges[2] ;
3702 unsigned long ticks[2] ;
3703 unsigned long io_ticks ;
3704 unsigned long time_in_queue ;
3705};
3706#line 94 "include/linux/genhd.h"
3707struct partition_meta_info {
3708 u8 uuid[16] ;
3709 u8 volname[64] ;
3710};
3711#line 99 "include/linux/genhd.h"
3712struct hd_struct {
3713 sector_t start_sect ;
3714 sector_t nr_sects ;
3715 sector_t alignment_offset ;
3716 unsigned int discard_alignment ;
3717 struct device __dev ;
3718 struct kobject *holder_dir ;
3719 int policy ;
3720 int partno ;
3721 struct partition_meta_info *info ;
3722 int make_it_fail ;
3723 unsigned long stamp ;
3724 atomic_t in_flight[2] ;
3725 struct disk_stats *dkstats ;
3726 atomic_t ref ;
3727 struct rcu_head rcu_head ;
3728};
3729#line 147 "include/linux/genhd.h"
3730struct disk_part_tbl {
3731 struct rcu_head rcu_head ;
3732 int len ;
3733 struct hd_struct *last_lookup ;
3734 struct hd_struct *part[] ;
3735};
3736#line 154
3737struct disk_events;
3738#line 154
3739struct disk_events;
3740#line 156
3741struct timer_rand_state;
3742#line 156
3743struct blk_integrity;
3744#line 156 "include/linux/genhd.h"
3745struct gendisk {
3746 int major ;
3747 int first_minor ;
3748 int minors ;
3749 char disk_name[32] ;
3750 char *(*devnode)(struct gendisk *gd , umode_t *mode ) ;
3751 unsigned int events ;
3752 unsigned int async_events ;
3753 struct disk_part_tbl *part_tbl ;
3754 struct hd_struct part0 ;
3755 struct block_device_operations const *fops ;
3756 struct request_queue *queue ;
3757 void *private_data ;
3758 int flags ;
3759 struct device *driverfs_dev ;
3760 struct kobject *slave_dir ;
3761 struct timer_rand_state *random ;
3762 atomic_t sync_io ;
3763 struct disk_events *ev ;
3764 struct blk_integrity *integrity ;
3765 int node_id ;
3766};
3767#line 94 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/uaccess.h"
3768struct exception_table_entry {
3769 unsigned long insn ;
3770 unsigned long fixup ;
3771};
3772#line 31 "include/linux/irq.h"
3773struct seq_file;
3774#line 32
3775struct module;
3776#line 12 "include/linux/irqdesc.h"
3777struct proc_dir_entry;
3778#line 12
3779struct proc_dir_entry;
3780#line 13
3781struct timer_rand_state;
3782#line 14
3783struct module;
3784#line 16 "include/linux/profile.h"
3785struct proc_dir_entry;
3786#line 17
3787struct pt_regs;
3788#line 18
3789struct notifier_block;
3790#line 65
3791struct task_struct;
3792#line 66
3793struct mm_struct;
3794#line 88
3795struct pt_regs;
3796#line 132 "include/linux/hardirq.h"
3797struct task_struct;
3798#line 28 "include/linux/writeback.h"
3799struct backing_dev_info;
3800#line 33
3801enum writeback_sync_modes {
3802 WB_SYNC_NONE = 0,
3803 WB_SYNC_ALL = 1
3804} ;
3805#line 60 "include/linux/writeback.h"
3806struct writeback_control {
3807 enum writeback_sync_modes sync_mode ;
3808 long nr_to_write ;
3809 long pages_skipped ;
3810 loff_t range_start ;
3811 loff_t range_end ;
3812 unsigned int for_kupdate : 1 ;
3813 unsigned int for_background : 1 ;
3814 unsigned int tagged_writepages : 1 ;
3815 unsigned int for_reclaim : 1 ;
3816 unsigned int range_cyclic : 1 ;
3817};
3818#line 84
3819struct bdi_writeback;
3820#line 84
3821struct bdi_writeback;
3822#line 152
3823struct ctl_table;
3824#line 21 "include/linux/backing-dev.h"
3825struct page;
3826#line 22
3827struct device;
3828#line 23
3829struct dentry;
3830#line 38 "include/linux/backing-dev.h"
3831typedef int congested_fn(void * , int );
3832#line 50 "include/linux/backing-dev.h"
3833struct bdi_writeback {
3834 struct backing_dev_info *bdi ;
3835 unsigned int nr ;
3836 unsigned long last_old_flush ;
3837 unsigned long last_active ;
3838 struct task_struct *task ;
3839 struct timer_list wakeup_timer ;
3840 struct list_head b_dirty ;
3841 struct list_head b_io ;
3842 struct list_head b_more_io ;
3843 spinlock_t list_lock ;
3844};
3845#line 65 "include/linux/backing-dev.h"
3846struct backing_dev_info {
3847 struct list_head bdi_list ;
3848 unsigned long ra_pages ;
3849 unsigned long state ;
3850 unsigned int capabilities ;
3851 congested_fn *congested_fn ;
3852 void *congested_data ;
3853 char *name ;
3854 struct percpu_counter bdi_stat[4] ;
3855 unsigned long bw_time_stamp ;
3856 unsigned long dirtied_stamp ;
3857 unsigned long written_stamp ;
3858 unsigned long write_bandwidth ;
3859 unsigned long avg_write_bandwidth ;
3860 unsigned long dirty_ratelimit ;
3861 unsigned long balanced_dirty_ratelimit ;
3862 struct prop_local_percpu completions ;
3863 int dirty_exceeded ;
3864 unsigned int min_ratio ;
3865 unsigned int max_ratio ;
3866 unsigned int max_prop_frac ;
3867 struct bdi_writeback wb ;
3868 spinlock_t wb_lock ;
3869 struct list_head work_list ;
3870 struct device *dev ;
3871 struct timer_list laptop_mode_wb_timer ;
3872 struct dentry *debug_dir ;
3873 struct dentry *debug_stats ;
3874};
3875#line 9 "include/linux/mempool.h"
3876struct kmem_cache;
3877#line 11 "include/linux/mempool.h"
3878typedef void *mempool_alloc_t(gfp_t gfp_mask , void *pool_data );
3879#line 12 "include/linux/mempool.h"
3880typedef void mempool_free_t(void *element , void *pool_data );
3881#line 14 "include/linux/mempool.h"
3882struct mempool_s {
3883 spinlock_t lock ;
3884 int min_nr ;
3885 int curr_nr ;
3886 void **elements ;
3887 void *pool_data ;
3888 mempool_alloc_t *alloc ;
3889 mempool_free_t *free ;
3890 wait_queue_head_t wait ;
3891};
3892#line 14 "include/linux/mempool.h"
3893typedef struct mempool_s mempool_t;
3894#line 75 "include/linux/iocontext.h"
3895union __anonunion____missing_field_name_256 {
3896 struct list_head q_node ;
3897 struct kmem_cache *__rcu_icq_cache ;
3898};
3899#line 75 "include/linux/iocontext.h"
3900union __anonunion____missing_field_name_257 {
3901 struct hlist_node ioc_node ;
3902 struct rcu_head __rcu_head ;
3903};
3904#line 75 "include/linux/iocontext.h"
3905struct io_cq {
3906 struct request_queue *q ;
3907 struct io_context *ioc ;
3908 union __anonunion____missing_field_name_256 __annonCompField47 ;
3909 union __anonunion____missing_field_name_257 __annonCompField48 ;
3910 unsigned int flags ;
3911};
3912#line 101 "include/linux/iocontext.h"
3913struct io_context {
3914 atomic_long_t refcount ;
3915 atomic_t nr_tasks ;
3916 spinlock_t lock ;
3917 unsigned short ioprio ;
3918 int nr_batch_requests ;
3919 unsigned long last_waited ;
3920 struct radix_tree_root icq_tree ;
3921 struct io_cq *icq_hint ;
3922 struct hlist_head icq_list ;
3923 struct work_struct release_work ;
3924};
3925#line 137
3926struct task_struct;
3927#line 170 "include/linux/bio.h"
3928struct bio_integrity_payload {
3929 struct bio *bip_bio ;
3930 sector_t bip_sector ;
3931 void *bip_buf ;
3932 bio_end_io_t *bip_end_io ;
3933 unsigned int bip_size ;
3934 unsigned short bip_slab ;
3935 unsigned short bip_vcnt ;
3936 unsigned short bip_idx ;
3937 struct work_struct bip_work ;
3938 struct bio_vec bip_vec[0] ;
3939};
3940#line 222
3941struct request_queue;
3942#line 374 "include/linux/bio.h"
3943struct bio_list {
3944 struct bio *head ;
3945 struct bio *tail ;
3946};
3947#line 67 "include/linux/bsg.h"
3948struct bsg_class_device {
3949 struct device *class_dev ;
3950 struct device *parent ;
3951 int minor ;
3952 struct request_queue *queue ;
3953 struct kref ref ;
3954 void (*release)(struct device * ) ;
3955};
3956#line 25 "include/linux/blkdev.h"
3957struct module;
3958#line 28
3959struct request_queue;
3960#line 29
3961struct elevator_queue;
3962#line 29
3963struct elevator_queue;
3964#line 32
3965struct request;
3966#line 32
3967struct request;
3968#line 34
3969struct bsg_job;
3970#line 34
3971struct bsg_job;
3972#line 39
3973struct request;
3974#line 40 "include/linux/blkdev.h"
3975typedef void rq_end_io_fn(struct request * , int );
3976#line 42 "include/linux/blkdev.h"
3977struct request_list {
3978 int count[2] ;
3979 int starved[2] ;
3980 int elvpriv ;
3981 mempool_t *rq_pool ;
3982 wait_queue_head_t wait[2] ;
3983};
3984#line 57
3985enum rq_cmd_type_bits {
3986 REQ_TYPE_FS = 1,
3987 REQ_TYPE_BLOCK_PC = 2,
3988 REQ_TYPE_SENSE = 3,
3989 REQ_TYPE_PM_SUSPEND = 4,
3990 REQ_TYPE_PM_RESUME = 5,
3991 REQ_TYPE_PM_SHUTDOWN = 6,
3992 REQ_TYPE_SPECIAL = 7,
3993 REQ_TYPE_ATA_TASKFILE = 8,
3994 REQ_TYPE_ATA_PC = 9
3995} ;
3996#line 81 "include/linux/blkdev.h"
3997union __anonunion____missing_field_name_260 {
3998 struct rb_node rb_node ;
3999 void *completion_data ;
4000};
4001#line 81 "include/linux/blkdev.h"
4002struct __anonstruct_elv_262 {
4003 struct io_cq *icq ;
4004 void *priv[2] ;
4005};
4006#line 81 "include/linux/blkdev.h"
4007struct __anonstruct_flush_263 {
4008 unsigned int seq ;
4009 struct list_head list ;
4010 rq_end_io_fn *saved_end_io ;
4011};
4012#line 81 "include/linux/blkdev.h"
4013union __anonunion____missing_field_name_261 {
4014 struct __anonstruct_elv_262 elv ;
4015 struct __anonstruct_flush_263 flush ;
4016};
4017#line 81 "include/linux/blkdev.h"
4018struct request {
4019 struct list_head queuelist ;
4020 struct call_single_data csd ;
4021 struct request_queue *q ;
4022 unsigned int cmd_flags ;
4023 enum rq_cmd_type_bits cmd_type ;
4024 unsigned long atomic_flags ;
4025 int cpu ;
4026 unsigned int __data_len ;
4027 sector_t __sector ;
4028 struct bio *bio ;
4029 struct bio *biotail ;
4030 struct hlist_node hash ;
4031 union __anonunion____missing_field_name_260 __annonCompField49 ;
4032 union __anonunion____missing_field_name_261 __annonCompField50 ;
4033 struct gendisk *rq_disk ;
4034 struct hd_struct *part ;
4035 unsigned long start_time ;
4036 unsigned short nr_phys_segments ;
4037 unsigned short nr_integrity_segments ;
4038 unsigned short ioprio ;
4039 int ref_count ;
4040 void *special ;
4041 char *buffer ;
4042 int tag ;
4043 int errors ;
4044 unsigned char __cmd[16] ;
4045 unsigned char *cmd ;
4046 unsigned short cmd_len ;
4047 unsigned int extra_len ;
4048 unsigned int sense_len ;
4049 unsigned int resid_len ;
4050 void *sense ;
4051 unsigned long deadline ;
4052 struct list_head timeout_list ;
4053 unsigned int timeout ;
4054 int retries ;
4055 rq_end_io_fn *end_io ;
4056 void *end_io_data ;
4057 struct request *next_rq ;
4058};
4059#line 8 "include/linux/elevator.h"
4060struct io_cq;
4061#line 10 "include/linux/elevator.h"
4062typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
4063#line 13 "include/linux/elevator.h"
4064typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
4065#line 15 "include/linux/elevator.h"
4066typedef void elevator_merged_fn(struct request_queue * , struct request * , int );
4067#line 17 "include/linux/elevator.h"
4068typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
4069#line 19 "include/linux/elevator.h"
4070typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
4071#line 22 "include/linux/elevator.h"
4072typedef int elevator_dispatch_fn(struct request_queue * , int );
4073#line 24 "include/linux/elevator.h"
4074typedef void elevator_add_req_fn(struct request_queue * , struct request * );
4075#line 25 "include/linux/elevator.h"
4076typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
4077#line 26 "include/linux/elevator.h"
4078typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
4079#line 27 "include/linux/elevator.h"
4080typedef int elevator_may_queue_fn(struct request_queue * , int );
4081#line 29 "include/linux/elevator.h"
4082typedef void elevator_init_icq_fn(struct io_cq * );
4083#line 30 "include/linux/elevator.h"
4084typedef void elevator_exit_icq_fn(struct io_cq * );
4085#line 31 "include/linux/elevator.h"
4086typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t );
4087#line 32 "include/linux/elevator.h"
4088typedef void elevator_put_req_fn(struct request * );
4089#line 33 "include/linux/elevator.h"
4090typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
4091#line 34 "include/linux/elevator.h"
4092typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
4093#line 36 "include/linux/elevator.h"
4094typedef void *elevator_init_fn(struct request_queue * );
4095#line 37 "include/linux/elevator.h"
4096typedef void elevator_exit_fn(struct elevator_queue * );
4097#line 39 "include/linux/elevator.h"
4098struct elevator_ops {
4099 elevator_merge_fn *elevator_merge_fn ;
4100 elevator_merged_fn *elevator_merged_fn ;
4101 elevator_merge_req_fn *elevator_merge_req_fn ;
4102 elevator_allow_merge_fn *elevator_allow_merge_fn ;
4103 elevator_bio_merged_fn *elevator_bio_merged_fn ;
4104 elevator_dispatch_fn *elevator_dispatch_fn ;
4105 elevator_add_req_fn *elevator_add_req_fn ;
4106 elevator_activate_req_fn *elevator_activate_req_fn ;
4107 elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
4108 elevator_completed_req_fn *elevator_completed_req_fn ;
4109 elevator_request_list_fn *elevator_former_req_fn ;
4110 elevator_request_list_fn *elevator_latter_req_fn ;
4111 elevator_init_icq_fn *elevator_init_icq_fn ;
4112 elevator_exit_icq_fn *elevator_exit_icq_fn ;
4113 elevator_set_req_fn *elevator_set_req_fn ;
4114 elevator_put_req_fn *elevator_put_req_fn ;
4115 elevator_may_queue_fn *elevator_may_queue_fn ;
4116 elevator_init_fn *elevator_init_fn ;
4117 elevator_exit_fn *elevator_exit_fn ;
4118};
4119#line 71 "include/linux/elevator.h"
4120struct elv_fs_entry {
4121 struct attribute attr ;
4122 ssize_t (*show)(struct elevator_queue * , char * ) ;
4123 ssize_t (*store)(struct elevator_queue * , char const * , size_t ) ;
4124};
4125#line 80 "include/linux/elevator.h"
4126struct elevator_type {
4127 struct kmem_cache *icq_cache ;
4128 struct elevator_ops ops ;
4129 size_t icq_size ;
4130 size_t icq_align ;
4131 struct elv_fs_entry *elevator_attrs ;
4132 char elevator_name[16] ;
4133 struct module *elevator_owner ;
4134 char icq_cache_name[21] ;
4135 struct list_head list ;
4136};
4137#line 101 "include/linux/elevator.h"
4138struct elevator_queue {
4139 struct elevator_type *type ;
4140 void *elevator_data ;
4141 struct kobject kobj ;
4142 struct mutex sysfs_lock ;
4143 struct hlist_head *hash ;
4144 unsigned int registered : 1 ;
4145};
4146#line 202 "include/linux/blkdev.h"
4147typedef void request_fn_proc(struct request_queue *q );
4148#line 203 "include/linux/blkdev.h"
4149typedef void make_request_fn(struct request_queue *q , struct bio *bio );
4150#line 204 "include/linux/blkdev.h"
4151typedef int prep_rq_fn(struct request_queue * , struct request * );
4152#line 205 "include/linux/blkdev.h"
4153typedef void unprep_rq_fn(struct request_queue * , struct request * );
4154#line 207
4155struct bio_vec;
4156#line 208 "include/linux/blkdev.h"
4157struct bvec_merge_data {
4158 struct block_device *bi_bdev ;
4159 sector_t bi_sector ;
4160 unsigned int bi_size ;
4161 unsigned long bi_rw ;
4162};
4163#line 214 "include/linux/blkdev.h"
4164typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
4165#line 216 "include/linux/blkdev.h"
4166typedef void softirq_done_fn(struct request * );
4167#line 217 "include/linux/blkdev.h"
4168typedef int dma_drain_needed_fn(struct request * );
4169#line 218 "include/linux/blkdev.h"
4170typedef int lld_busy_fn(struct request_queue *q );
4171#line 219 "include/linux/blkdev.h"
4172typedef int bsg_job_fn(struct bsg_job * );
4173#line 221
4174enum blk_eh_timer_return {
4175 BLK_EH_NOT_HANDLED = 0,
4176 BLK_EH_HANDLED = 1,
4177 BLK_EH_RESET_TIMER = 2
4178} ;
4179#line 227 "include/linux/blkdev.h"
4180typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
4181#line 234 "include/linux/blkdev.h"
4182struct blk_queue_tag {
4183 struct request **tag_index ;
4184 unsigned long *tag_map ;
4185 int busy ;
4186 int max_depth ;
4187 int real_max_depth ;
4188 atomic_t refcnt ;
4189};
4190#line 246 "include/linux/blkdev.h"
4191struct queue_limits {
4192 unsigned long bounce_pfn ;
4193 unsigned long seg_boundary_mask ;
4194 unsigned int max_hw_sectors ;
4195 unsigned int max_sectors ;
4196 unsigned int max_segment_size ;
4197 unsigned int physical_block_size ;
4198 unsigned int alignment_offset ;
4199 unsigned int io_min ;
4200 unsigned int io_opt ;
4201 unsigned int max_discard_sectors ;
4202 unsigned int discard_granularity ;
4203 unsigned int discard_alignment ;
4204 unsigned short logical_block_size ;
4205 unsigned short max_segments ;
4206 unsigned short max_integrity_segments ;
4207 unsigned char misaligned ;
4208 unsigned char discard_misaligned ;
4209 unsigned char cluster ;
4210 unsigned char discard_zeroes_data ;
4211};
4212#line 271 "include/linux/blkdev.h"
4213struct request_queue {
4214 struct list_head queue_head ;
4215 struct request *last_merge ;
4216 struct elevator_queue *elevator ;
4217 struct request_list rq ;
4218 request_fn_proc *request_fn ;
4219 make_request_fn *make_request_fn ;
4220 prep_rq_fn *prep_rq_fn ;
4221 unprep_rq_fn *unprep_rq_fn ;
4222 merge_bvec_fn *merge_bvec_fn ;
4223 softirq_done_fn *softirq_done_fn ;
4224 rq_timed_out_fn *rq_timed_out_fn ;
4225 dma_drain_needed_fn *dma_drain_needed ;
4226 lld_busy_fn *lld_busy_fn ;
4227 sector_t end_sector ;
4228 struct request *boundary_rq ;
4229 struct delayed_work delay_work ;
4230 struct backing_dev_info backing_dev_info ;
4231 void *queuedata ;
4232 unsigned long queue_flags ;
4233 int id ;
4234 gfp_t bounce_gfp ;
4235 spinlock_t __queue_lock ;
4236 spinlock_t *queue_lock ;
4237 struct kobject kobj ;
4238 unsigned long nr_requests ;
4239 unsigned int nr_congestion_on ;
4240 unsigned int nr_congestion_off ;
4241 unsigned int nr_batching ;
4242 unsigned int dma_drain_size ;
4243 void *dma_drain_buffer ;
4244 unsigned int dma_pad_mask ;
4245 unsigned int dma_alignment ;
4246 struct blk_queue_tag *queue_tags ;
4247 struct list_head tag_busy_list ;
4248 unsigned int nr_sorted ;
4249 unsigned int in_flight[2] ;
4250 unsigned int rq_timeout ;
4251 struct timer_list timeout ;
4252 struct list_head timeout_list ;
4253 struct list_head icq_list ;
4254 struct queue_limits limits ;
4255 unsigned int sg_timeout ;
4256 unsigned int sg_reserved_size ;
4257 int node ;
4258 unsigned int flush_flags ;
4259 unsigned int flush_not_queueable : 1 ;
4260 unsigned int flush_queue_delayed : 1 ;
4261 unsigned int flush_pending_idx : 1 ;
4262 unsigned int flush_running_idx : 1 ;
4263 unsigned long flush_pending_since ;
4264 struct list_head flush_queue[2] ;
4265 struct list_head flush_data_in_flight ;
4266 struct request flush_rq ;
4267 struct mutex sysfs_lock ;
4268 bsg_job_fn *bsg_job_fn ;
4269 int bsg_job_size ;
4270 struct bsg_class_device bsg_dev ;
4271};
4272#line 889 "include/linux/blkdev.h"
4273struct blk_plug {
4274 unsigned long magic ;
4275 struct list_head list ;
4276 struct list_head cb_list ;
4277 unsigned int should_sort ;
4278};
4279#line 1165
4280struct work_struct;
4281#line 1220 "include/linux/blkdev.h"
4282struct blk_integrity_exchg {
4283 void *prot_buf ;
4284 void *data_buf ;
4285 sector_t sector ;
4286 unsigned int data_size ;
4287 unsigned short sector_size ;
4288 char const *disk_name ;
4289};
4290#line 1229 "include/linux/blkdev.h"
4291typedef void integrity_gen_fn(struct blk_integrity_exchg * );
4292#line 1230 "include/linux/blkdev.h"
4293typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
4294#line 1231 "include/linux/blkdev.h"
4295typedef void integrity_set_tag_fn(void * , void * , unsigned int );
4296#line 1232 "include/linux/blkdev.h"
4297typedef void integrity_get_tag_fn(void * , void * , unsigned int );
4298#line 1234 "include/linux/blkdev.h"
4299struct blk_integrity {
4300 integrity_gen_fn *generate_fn ;
4301 integrity_vrfy_fn *verify_fn ;
4302 integrity_set_tag_fn *set_tag_fn ;
4303 integrity_get_tag_fn *get_tag_fn ;
4304 unsigned short flags ;
4305 unsigned short tuple_size ;
4306 unsigned short sector_size ;
4307 unsigned short tag_size ;
4308 char const *name ;
4309 struct kobject kobj ;
4310};
4311#line 1362 "include/linux/blkdev.h"
4312struct block_device_operations {
4313 int (*open)(struct block_device * , fmode_t ) ;
4314 int (*release)(struct gendisk * , fmode_t ) ;
4315 int (*ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4316 int (*compat_ioctl)(struct block_device * , fmode_t , unsigned int , unsigned long ) ;
4317 int (*direct_access)(struct block_device * , sector_t , void ** , unsigned long * ) ;
4318 unsigned int (*check_events)(struct gendisk *disk , unsigned int clearing ) ;
4319 int (*media_changed)(struct gendisk * ) ;
4320 void (*unlock_native_capacity)(struct gendisk * ) ;
4321 int (*revalidate_disk)(struct gendisk * ) ;
4322 int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
4323 void (*swap_slot_free_notify)(struct block_device * , unsigned long ) ;
4324 struct module *owner ;
4325};
4326#line 27 "include/linux/dma-attrs.h"
4327struct dma_attrs {
4328 unsigned long flags[((4UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
4329};
4330#line 7 "include/linux/dma-direction.h"
4331enum dma_data_direction {
4332 DMA_BIDIRECTIONAL = 0,
4333 DMA_TO_DEVICE = 1,
4334 DMA_FROM_DEVICE = 2,
4335 DMA_NONE = 3
4336} ;
4337#line 11 "include/linux/dma-mapping.h"
4338struct dma_map_ops {
4339 void *(*alloc)(struct device *dev , size_t size , dma_addr_t *dma_handle , gfp_t gfp ,
4340 struct dma_attrs *attrs ) ;
4341 void (*free)(struct device *dev , size_t size , void *vaddr , dma_addr_t dma_handle ,
4342 struct dma_attrs *attrs ) ;
4343 int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t ,
4344 size_t , struct dma_attrs *attrs ) ;
4345 dma_addr_t (*map_page)(struct device *dev , struct page *page , unsigned long offset ,
4346 size_t size , enum dma_data_direction dir , struct dma_attrs *attrs ) ;
4347 void (*unmap_page)(struct device *dev , dma_addr_t dma_handle , size_t size , enum dma_data_direction dir ,
4348 struct dma_attrs *attrs ) ;
4349 int (*map_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
4350 struct dma_attrs *attrs ) ;
4351 void (*unmap_sg)(struct device *dev , struct scatterlist *sg , int nents , enum dma_data_direction dir ,
4352 struct dma_attrs *attrs ) ;
4353 void (*sync_single_for_cpu)(struct device *dev , dma_addr_t dma_handle , size_t size ,
4354 enum dma_data_direction dir ) ;
4355 void (*sync_single_for_device)(struct device *dev , dma_addr_t dma_handle , size_t size ,
4356 enum dma_data_direction dir ) ;
4357 void (*sync_sg_for_cpu)(struct device *dev , struct scatterlist *sg , int nents ,
4358 enum dma_data_direction dir ) ;
4359 void (*sync_sg_for_device)(struct device *dev , struct scatterlist *sg , int nents ,
4360 enum dma_data_direction dir ) ;
4361 int (*mapping_error)(struct device *dev , dma_addr_t dma_addr ) ;
4362 int (*dma_supported)(struct device *dev , u64 mask ) ;
4363 int (*set_dma_mask)(struct device *dev , u64 mask ) ;
4364 int is_phys ;
4365};
4366#line 25 "include/linux/dma-debug.h"
4367struct device;
4368#line 26
4369struct scatterlist;
4370#line 27
4371struct bus_type;
4372#line 6 "include/linux/swiotlb.h"
4373struct device;
4374#line 7
4375struct dma_attrs;
4376#line 8
4377struct scatterlist;
4378#line 11 "include/scsi/scsi_cmnd.h"
4379struct Scsi_Host;
4380#line 11
4381struct Scsi_Host;
4382#line 12
4383struct scsi_device;
4384#line 12
4385struct scsi_device;
4386#line 32 "include/scsi/scsi_cmnd.h"
4387struct scsi_data_buffer {
4388 struct sg_table table ;
4389 unsigned int length ;
4390 int resid ;
4391};
4392#line 39 "include/scsi/scsi_cmnd.h"
4393struct scsi_pointer {
4394 char *ptr ;
4395 int this_residual ;
4396 struct scatterlist *buffer ;
4397 int buffers_residual ;
4398 dma_addr_t dma_handle ;
4399 int volatile Status ;
4400 int volatile Message ;
4401 int volatile have_data_in ;
4402 int volatile sent_command ;
4403 int volatile phase ;
4404};
4405#line 54 "include/scsi/scsi_cmnd.h"
4406struct scsi_cmnd {
4407 struct scsi_device *device ;
4408 struct list_head list ;
4409 struct list_head eh_entry ;
4410 int eh_eflags ;
4411 unsigned long serial_number ;
4412 unsigned long jiffies_at_alloc ;
4413 int retries ;
4414 int allowed ;
4415 unsigned char prot_op ;
4416 unsigned char prot_type ;
4417 unsigned short cmd_len ;
4418 enum dma_data_direction sc_data_direction ;
4419 unsigned char *cmnd ;
4420 struct scsi_data_buffer sdb ;
4421 struct scsi_data_buffer *prot_sdb ;
4422 unsigned int underflow ;
4423 unsigned int transfersize ;
4424 struct request *request ;
4425 unsigned char *sense_buffer ;
4426 void (*scsi_done)(struct scsi_cmnd * ) ;
4427 struct scsi_pointer SCp ;
4428 unsigned char *host_scribble ;
4429 int result ;
4430 unsigned char tag ;
4431};
4432#line 11 "include/scsi/scsi_device.h"
4433struct device;
4434#line 12
4435struct request_queue;
4436#line 13
4437struct scsi_cmnd;
4438#line 15
4439struct scsi_sense_hdr;
4440#line 15
4441struct scsi_sense_hdr;
4442#line 31
4443enum scsi_device_state {
4444 SDEV_CREATED = 1,
4445 SDEV_RUNNING = 2,
4446 SDEV_CANCEL = 3,
4447 SDEV_DEL = 4,
4448 SDEV_QUIESCE = 5,
4449 SDEV_OFFLINE = 6,
4450 SDEV_BLOCK = 7,
4451 SDEV_CREATED_BLOCK = 8
4452} ;
4453#line 68
4454struct scsi_target;
4455#line 68
4456struct scsi_dh_data;
4457#line 68 "include/scsi/scsi_device.h"
4458struct scsi_device {
4459 struct Scsi_Host *host ;
4460 struct request_queue *request_queue ;
4461 struct list_head siblings ;
4462 struct list_head same_target_siblings ;
4463 unsigned int device_busy ;
4464 spinlock_t list_lock ;
4465 struct list_head cmd_list ;
4466 struct list_head starved_entry ;
4467 struct scsi_cmnd *current_cmnd ;
4468 unsigned short queue_depth ;
4469 unsigned short max_queue_depth ;
4470 unsigned short last_queue_full_depth ;
4471 unsigned short last_queue_full_count ;
4472 unsigned long last_queue_full_time ;
4473 unsigned long queue_ramp_up_period ;
4474 unsigned long last_queue_ramp_up ;
4475 unsigned int id ;
4476 unsigned int lun ;
4477 unsigned int channel ;
4478 unsigned int manufacturer ;
4479 unsigned int sector_size ;
4480 void *hostdata ;
4481 char type ;
4482 char scsi_level ;
4483 char inq_periph_qual ;
4484 unsigned char inquiry_len ;
4485 unsigned char *inquiry ;
4486 char const *vendor ;
4487 char const *model ;
4488 char const *rev ;
4489 unsigned char current_tag ;
4490 struct scsi_target *sdev_target ;
4491 unsigned int sdev_bflags ;
4492 unsigned int writeable : 1 ;
4493 unsigned int removable : 1 ;
4494 unsigned int changed : 1 ;
4495 unsigned int busy : 1 ;
4496 unsigned int lockable : 1 ;
4497 unsigned int locked : 1 ;
4498 unsigned int borken : 1 ;
4499 unsigned int disconnect : 1 ;
4500 unsigned int soft_reset : 1 ;
4501 unsigned int sdtr : 1 ;
4502 unsigned int wdtr : 1 ;
4503 unsigned int ppr : 1 ;
4504 unsigned int tagged_supported : 1 ;
4505 unsigned int simple_tags : 1 ;
4506 unsigned int ordered_tags : 1 ;
4507 unsigned int was_reset : 1 ;
4508 unsigned int expecting_cc_ua : 1 ;
4509 unsigned int use_10_for_rw : 1 ;
4510 unsigned int use_10_for_ms : 1 ;
4511 unsigned int skip_ms_page_8 : 1 ;
4512 unsigned int skip_ms_page_3f : 1 ;
4513 unsigned int skip_vpd_pages : 1 ;
4514 unsigned int use_192_bytes_for_3f : 1 ;
4515 unsigned int no_start_on_add : 1 ;
4516 unsigned int allow_restart : 1 ;
4517 unsigned int manage_start_stop : 1 ;
4518 unsigned int start_stop_pwr_cond : 1 ;
4519 unsigned int no_uld_attach : 1 ;
4520 unsigned int select_no_atn : 1 ;
4521 unsigned int fix_capacity : 1 ;
4522 unsigned int guess_capacity : 1 ;
4523 unsigned int retry_hwerror : 1 ;
4524 unsigned int last_sector_bug : 1 ;
4525 unsigned int no_read_disc_info : 1 ;
4526 unsigned int no_read_capacity_16 : 1 ;
4527 unsigned int is_visible : 1 ;
4528 unsigned long supported_events[((2UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
4529 struct list_head event_list ;
4530 struct work_struct event_work ;
4531 unsigned int device_blocked ;
4532 unsigned int max_device_blocked ;
4533 atomic_t iorequest_cnt ;
4534 atomic_t iodone_cnt ;
4535 atomic_t ioerr_cnt ;
4536 struct device sdev_gendev ;
4537 struct device sdev_dev ;
4538 struct execute_work ew ;
4539 struct work_struct requeue_work ;
4540 struct scsi_dh_data *scsi_dh_data ;
4541 enum scsi_device_state sdev_state ;
4542 unsigned long sdev_data[0] ;
4543} __attribute__((__aligned__(sizeof(unsigned long )))) ;
4544#line 180 "include/scsi/scsi_device.h"
4545struct scsi_dh_devlist {
4546 char *vendor ;
4547 char *model ;
4548};
4549#line 186 "include/scsi/scsi_device.h"
4550struct scsi_device_handler {
4551 struct list_head list ;
4552 struct module *module ;
4553 char const *name ;
4554 struct scsi_dh_devlist const *devlist ;
4555 int (*check_sense)(struct scsi_device * , struct scsi_sense_hdr * ) ;
4556 int (*attach)(struct scsi_device * ) ;
4557 void (*detach)(struct scsi_device * ) ;
4558 int (*activate)(struct scsi_device * , void (*)(void * , int ) , void * ) ;
4559 int (*prep_fn)(struct scsi_device * , struct request * ) ;
4560 int (*set_params)(struct scsi_device * , char const * ) ;
4561 bool (*match)(struct scsi_device * ) ;
4562};
4563#line 203 "include/scsi/scsi_device.h"
4564struct scsi_dh_data {
4565 struct scsi_device_handler *scsi_dh ;
4566 struct scsi_device *sdev ;
4567 struct kref kref ;
4568 char buf[0] ;
4569};
4570#line 226
4571enum scsi_target_state {
4572 STARGET_CREATED = 1,
4573 STARGET_RUNNING = 2,
4574 STARGET_DEL = 3
4575} ;
4576#line 237 "include/scsi/scsi_device.h"
4577struct scsi_target {
4578 struct scsi_device *starget_sdev_user ;
4579 struct list_head siblings ;
4580 struct list_head devices ;
4581 struct device dev ;
4582 unsigned int reap_ref ;
4583 unsigned int channel ;
4584 unsigned int id ;
4585 unsigned int create : 1 ;
4586 unsigned int single_lun : 1 ;
4587 unsigned int pdt_1f_for_no_lun : 1 ;
4588 unsigned int no_report_luns : 1 ;
4589 unsigned int target_busy ;
4590 unsigned int can_queue ;
4591 unsigned int target_blocked ;
4592 unsigned int max_target_blocked ;
4593 char scsi_level ;
4594 struct execute_work ew ;
4595 enum scsi_target_state state ;
4596 void *hostdata ;
4597 unsigned long starget_data[0] ;
4598} __attribute__((__aligned__(sizeof(unsigned long )))) ;
4599#line 11 "include/scsi/scsi_host.h"
4600struct request_queue;
4601#line 12
4602struct block_device;
4603#line 13
4604struct completion;
4605#line 14
4606struct module;
4607#line 15
4608struct scsi_cmnd;
4609#line 16
4610struct scsi_device;
4611#line 17
4612struct scsi_target;
4613#line 18
4614struct Scsi_Host;
4615#line 19
4616struct scsi_host_cmd_pool;
4617#line 19
4618struct scsi_host_cmd_pool;
4619#line 20
4620struct scsi_transport_template;
4621#line 20
4622struct scsi_transport_template;
4623#line 52 "include/scsi/scsi_host.h"
4624struct scsi_host_template {
4625 struct module *module ;
4626 char const *name ;
4627 int (*detect)(struct scsi_host_template * ) ;
4628 int (*release)(struct Scsi_Host * ) ;
4629 char const *(*info)(struct Scsi_Host * ) ;
4630 int (*ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
4631 int (*compat_ioctl)(struct scsi_device *dev , int cmd , void *arg ) ;
4632 int (*queuecommand)(struct Scsi_Host * , struct scsi_cmnd * ) ;
4633 int (*transfer_response)(struct scsi_cmnd * , void (*done)(struct scsi_cmnd * ) ) ;
4634 int (*eh_abort_handler)(struct scsi_cmnd * ) ;
4635 int (*eh_device_reset_handler)(struct scsi_cmnd * ) ;
4636 int (*eh_target_reset_handler)(struct scsi_cmnd * ) ;
4637 int (*eh_bus_reset_handler)(struct scsi_cmnd * ) ;
4638 int (*eh_host_reset_handler)(struct scsi_cmnd * ) ;
4639 int (*slave_alloc)(struct scsi_device * ) ;
4640 int (*slave_configure)(struct scsi_device * ) ;
4641 void (*slave_destroy)(struct scsi_device * ) ;
4642 int (*target_alloc)(struct scsi_target * ) ;
4643 void (*target_destroy)(struct scsi_target * ) ;
4644 int (*scan_finished)(struct Scsi_Host * , unsigned long ) ;
4645 void (*scan_start)(struct Scsi_Host * ) ;
4646 int (*change_queue_depth)(struct scsi_device * , int , int ) ;
4647 int (*change_queue_type)(struct scsi_device * , int ) ;
4648 int (*bios_param)(struct scsi_device * , struct block_device * , sector_t , int * ) ;
4649 void (*unlock_native_capacity)(struct scsi_device * ) ;
4650 int (*proc_info)(struct Scsi_Host * , char * , char ** , off_t , int , int ) ;
4651 enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd * ) ;
4652 int (*host_reset)(struct Scsi_Host *shost , int reset_type ) ;
4653 char const *proc_name ;
4654 struct proc_dir_entry *proc_dir ;
4655 int can_queue ;
4656 int this_id ;
4657 unsigned short sg_tablesize ;
4658 unsigned short sg_prot_tablesize ;
4659 unsigned short max_sectors ;
4660 unsigned long dma_boundary ;
4661 short cmd_per_lun ;
4662 unsigned char present ;
4663 unsigned int supported_mode : 2 ;
4664 unsigned int unchecked_isa_dma : 1 ;
4665 unsigned int use_clustering : 1 ;
4666 unsigned int emulated : 1 ;
4667 unsigned int skip_settle_delay : 1 ;
4668 unsigned int ordered_tag : 1 ;
4669 unsigned int max_host_blocked ;
4670 struct device_attribute **shost_attrs ;
4671 struct device_attribute **sdev_attrs ;
4672 struct list_head legacy_hosts ;
4673 u64 vendor_id ;
4674};
4675#line 543
4676enum scsi_host_state {
4677 SHOST_CREATED = 1,
4678 SHOST_RUNNING = 2,
4679 SHOST_CANCEL = 3,
4680 SHOST_DEL = 4,
4681 SHOST_RECOVERY = 5,
4682 SHOST_CANCEL_RECOVERY = 6,
4683 SHOST_DEL_RECOVERY = 7
4684} ;
4685#line 553 "include/scsi/scsi_host.h"
4686struct Scsi_Host {
4687 struct list_head __devices ;
4688 struct list_head __targets ;
4689 struct scsi_host_cmd_pool *cmd_pool ;
4690 spinlock_t free_list_lock ;
4691 struct list_head free_list ;
4692 struct list_head starved_list ;
4693 spinlock_t default_lock ;
4694 spinlock_t *host_lock ;
4695 struct mutex scan_mutex ;
4696 struct list_head eh_cmd_q ;
4697 struct task_struct *ehandler ;
4698 struct completion *eh_action ;
4699 wait_queue_head_t host_wait ;
4700 struct scsi_host_template *hostt ;
4701 struct scsi_transport_template *transportt ;
4702 struct blk_queue_tag *bqt ;
4703 unsigned int host_busy ;
4704 unsigned int host_failed ;
4705 unsigned int host_eh_scheduled ;
4706 unsigned int host_no ;
4707 int resetting ;
4708 unsigned long last_reset ;
4709 unsigned int max_id ;
4710 unsigned int max_lun ;
4711 unsigned int max_channel ;
4712 unsigned int unique_id ;
4713 unsigned short max_cmd_len ;
4714 int this_id ;
4715 int can_queue ;
4716 short cmd_per_lun ;
4717 unsigned short sg_tablesize ;
4718 unsigned short sg_prot_tablesize ;
4719 unsigned short max_sectors ;
4720 unsigned long dma_boundary ;
4721 unsigned long cmd_serial_number ;
4722 unsigned int active_mode : 2 ;
4723 unsigned int unchecked_isa_dma : 1 ;
4724 unsigned int use_clustering : 1 ;
4725 unsigned int use_blk_tcq : 1 ;
4726 unsigned int host_self_blocked : 1 ;
4727 unsigned int reverse_ordering : 1 ;
4728 unsigned int ordered_tag : 1 ;
4729 unsigned int tmf_in_progress : 1 ;
4730 unsigned int async_scan : 1 ;
4731 unsigned int eh_noresume : 1 ;
4732 char work_q_name[20] ;
4733 struct workqueue_struct *work_q ;
4734 unsigned int host_blocked ;
4735 unsigned int max_host_blocked ;
4736 unsigned int prot_capabilities ;
4737 unsigned char prot_guard_type ;
4738 struct request_queue *uspace_req_q ;
4739 unsigned long base ;
4740 unsigned long io_port ;
4741 unsigned char n_io_port ;
4742 unsigned char dma_channel ;
4743 unsigned int irq ;
4744 enum scsi_host_state shost_state ;
4745 struct device shost_gendev ;
4746 struct device shost_dev ;
4747 struct list_head sht_legacy_list ;
4748 void *shost_data ;
4749 struct device *dma_dev ;
4750 unsigned long hostdata[0] __attribute__((__aligned__(sizeof(unsigned long )))) ;
4751};
4752#line 11 "include/linux/socket.h"
4753typedef unsigned short __kernel_sa_family_t;
4754#line 13
4755struct sockaddr;
4756#line 29
4757struct pid;
4758#line 30
4759struct cred;
4760#line 36
4761struct seq_file;
4762#line 40 "include/linux/socket.h"
4763typedef __kernel_sa_family_t sa_family_t;
4764#line 46 "include/linux/socket.h"
4765struct sockaddr {
4766 sa_family_t sa_family ;
4767 char sa_data[14] ;
4768};
4769#line 64 "include/linux/socket.h"
4770struct msghdr {
4771 void *msg_name ;
4772 int msg_namelen ;
4773 struct iovec *msg_iov ;
4774 __kernel_size_t msg_iovlen ;
4775 void *msg_control ;
4776 __kernel_size_t msg_controllen ;
4777 unsigned int msg_flags ;
4778};
4779#line 336
4780struct timespec;
4781#line 17 "include/linux/list_nulls.h"
4782struct hlist_nulls_node;
4783#line 17 "include/linux/list_nulls.h"
4784struct hlist_nulls_head {
4785 struct hlist_nulls_node *first ;
4786};
4787#line 21 "include/linux/list_nulls.h"
4788struct hlist_nulls_node {
4789 struct hlist_nulls_node *next ;
4790 struct hlist_nulls_node **pprev ;
4791};
4792#line 37 "include/linux/hdlc/ioctl.h"
4793struct __anonstruct_sync_serial_settings_268 {
4794 unsigned int clock_rate ;
4795 unsigned int clock_type ;
4796 unsigned short loopback ;
4797};
4798#line 37 "include/linux/hdlc/ioctl.h"
4799typedef struct __anonstruct_sync_serial_settings_268 sync_serial_settings;
4800#line 43 "include/linux/hdlc/ioctl.h"
4801struct __anonstruct_te1_settings_269 {
4802 unsigned int clock_rate ;
4803 unsigned int clock_type ;
4804 unsigned short loopback ;
4805 unsigned int slot_map ;
4806};
4807#line 43 "include/linux/hdlc/ioctl.h"
4808typedef struct __anonstruct_te1_settings_269 te1_settings;
4809#line 50 "include/linux/hdlc/ioctl.h"
4810struct __anonstruct_raw_hdlc_proto_270 {
4811 unsigned short encoding ;
4812 unsigned short parity ;
4813};
4814#line 50 "include/linux/hdlc/ioctl.h"
4815typedef struct __anonstruct_raw_hdlc_proto_270 raw_hdlc_proto;
4816#line 55 "include/linux/hdlc/ioctl.h"
4817struct __anonstruct_fr_proto_271 {
4818 unsigned int t391 ;
4819 unsigned int t392 ;
4820 unsigned int n391 ;
4821 unsigned int n392 ;
4822 unsigned int n393 ;
4823 unsigned short lmi ;
4824 unsigned short dce ;
4825};
4826#line 55 "include/linux/hdlc/ioctl.h"
4827typedef struct __anonstruct_fr_proto_271 fr_proto;
4828#line 65 "include/linux/hdlc/ioctl.h"
4829struct __anonstruct_fr_proto_pvc_272 {
4830 unsigned int dlci ;
4831};
4832#line 65 "include/linux/hdlc/ioctl.h"
4833typedef struct __anonstruct_fr_proto_pvc_272 fr_proto_pvc;
4834#line 69 "include/linux/hdlc/ioctl.h"
4835struct __anonstruct_fr_proto_pvc_info_273 {
4836 unsigned int dlci ;
4837 char master[16] ;
4838};
4839#line 69 "include/linux/hdlc/ioctl.h"
4840typedef struct __anonstruct_fr_proto_pvc_info_273 fr_proto_pvc_info;
4841#line 74 "include/linux/hdlc/ioctl.h"
4842struct __anonstruct_cisco_proto_274 {
4843 unsigned int interval ;
4844 unsigned int timeout ;
4845};
4846#line 74 "include/linux/hdlc/ioctl.h"
4847typedef struct __anonstruct_cisco_proto_274 cisco_proto;
4848#line 140 "include/linux/if.h"
4849struct ifmap {
4850 unsigned long mem_start ;
4851 unsigned long mem_end ;
4852 unsigned short base_addr ;
4853 unsigned char irq ;
4854 unsigned char dma ;
4855 unsigned char port ;
4856};
4857#line 150 "include/linux/if.h"
4858union __anonunion_ifs_ifsu_277 {
4859 raw_hdlc_proto *raw_hdlc ;
4860 cisco_proto *cisco ;
4861 fr_proto *fr ;
4862 fr_proto_pvc *fr_pvc ;
4863 fr_proto_pvc_info *fr_pvc_info ;
4864 sync_serial_settings *sync ;
4865 te1_settings *te1 ;
4866};
4867#line 150 "include/linux/if.h"
4868struct if_settings {
4869 unsigned int type ;
4870 unsigned int size ;
4871 union __anonunion_ifs_ifsu_277 ifs_ifsu ;
4872};
4873#line 174 "include/linux/if.h"
4874union __anonunion_ifr_ifrn_278 {
4875 char ifrn_name[16] ;
4876};
4877#line 174 "include/linux/if.h"
4878union __anonunion_ifr_ifru_279 {
4879 struct sockaddr ifru_addr ;
4880 struct sockaddr ifru_dstaddr ;
4881 struct sockaddr ifru_broadaddr ;
4882 struct sockaddr ifru_netmask ;
4883 struct sockaddr ifru_hwaddr ;
4884 short ifru_flags ;
4885 int ifru_ivalue ;
4886 int ifru_mtu ;
4887 struct ifmap ifru_map ;
4888 char ifru_slave[16] ;
4889 char ifru_newname[16] ;
4890 void *ifru_data ;
4891 struct if_settings ifru_settings ;
4892};
4893#line 174 "include/linux/if.h"
4894struct ifreq {
4895 union __anonunion_ifr_ifrn_278 ifr_ifrn ;
4896 union __anonunion_ifr_ifru_279 ifr_ifru ;
4897};
4898#line 127 "include/linux/if_ether.h"
4899struct ethhdr {
4900 unsigned char h_dest[6] ;
4901 unsigned char h_source[6] ;
4902 __be16 h_proto ;
4903} __attribute__((__packed__)) ;
4904#line 47 "include/linux/net.h"
4905enum __anonenum_socket_state_281 {
4906 SS_FREE = 0,
4907 SS_UNCONNECTED = 1,
4908 SS_CONNECTING = 2,
4909 SS_CONNECTED = 3,
4910 SS_DISCONNECTING = 4
4911} ;
4912#line 47 "include/linux/net.h"
4913typedef enum __anonenum_socket_state_281 socket_state;
4914#line 65
4915struct poll_table_struct;
4916#line 66
4917struct pipe_inode_info;
4918#line 67
4919struct inode;
4920#line 68
4921struct net;
4922#line 68
4923struct net;
4924#line 121 "include/linux/net.h"
4925struct socket_wq {
4926 wait_queue_head_t wait ;
4927 struct fasync_struct *fasync_list ;
4928 struct rcu_head rcu ;
4929} __attribute__((__aligned__((1) << (6) ))) ;
4930#line 138
4931struct proto_ops;
4932#line 138 "include/linux/net.h"
4933struct socket {
4934 socket_state state ;
4935 short type ;
4936 unsigned long flags ;
4937 struct socket_wq *wq ;
4938 struct file *file ;
4939 struct sock *sk ;
4940 struct proto_ops const *ops ;
4941};
4942#line 154
4943struct vm_area_struct;
4944#line 155
4945struct page;
4946#line 156
4947struct kiocb;
4948#line 157
4949struct sockaddr;
4950#line 158
4951struct msghdr;
4952#line 159
4953struct module;
4954#line 161 "include/linux/net.h"
4955struct proto_ops {
4956 int family ;
4957 struct module *owner ;
4958 int (*release)(struct socket *sock ) ;
4959 int (*bind)(struct socket *sock , struct sockaddr *myaddr , int sockaddr_len ) ;
4960 int (*connect)(struct socket *sock , struct sockaddr *vaddr , int sockaddr_len ,
4961 int flags ) ;
4962 int (*socketpair)(struct socket *sock1 , struct socket *sock2 ) ;
4963 int (*accept)(struct socket *sock , struct socket *newsock , int flags ) ;
4964 int (*getname)(struct socket *sock , struct sockaddr *addr , int *sockaddr_len ,
4965 int peer ) ;
4966 unsigned int (*poll)(struct file *file , struct socket *sock , struct poll_table_struct *wait ) ;
4967 int (*ioctl)(struct socket *sock , unsigned int cmd , unsigned long arg ) ;
4968 int (*compat_ioctl)(struct socket *sock , unsigned int cmd , unsigned long arg ) ;
4969 int (*listen)(struct socket *sock , int len ) ;
4970 int (*shutdown)(struct socket *sock , int flags ) ;
4971 int (*setsockopt)(struct socket *sock , int level , int optname , char *optval ,
4972 unsigned int optlen ) ;
4973 int (*getsockopt)(struct socket *sock , int level , int optname , char *optval ,
4974 int *optlen ) ;
4975 int (*compat_setsockopt)(struct socket *sock , int level , int optname , char *optval ,
4976 unsigned int optlen ) ;
4977 int (*compat_getsockopt)(struct socket *sock , int level , int optname , char *optval ,
4978 int *optlen ) ;
4979 int (*sendmsg)(struct kiocb *iocb , struct socket *sock , struct msghdr *m , size_t total_len ) ;
4980 int (*recvmsg)(struct kiocb *iocb , struct socket *sock , struct msghdr *m , size_t total_len ,
4981 int flags ) ;
4982 int (*mmap)(struct file *file , struct socket *sock , struct vm_area_struct *vma ) ;
4983 ssize_t (*sendpage)(struct socket *sock , struct page *page , int offset , size_t size ,
4984 int flags ) ;
4985 ssize_t (*splice_read)(struct socket *sock , loff_t *ppos , struct pipe_inode_info *pipe ,
4986 size_t len , unsigned int flags ) ;
4987 void (*set_peek_off)(struct sock *sk , int val ) ;
4988};
4989#line 222
4990struct iovec;
4991#line 10 "include/linux/textsearch.h"
4992struct module;
4993#line 175 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/checksum_64.h"
4994struct in6_addr;
4995#line 175
4996struct in6_addr;
4997#line 109 "include/net/checksum.h"
4998struct sk_buff;
4999#line 109
5000struct sk_buff;
5001#line 37 "include/linux/dmaengine.h"
5002typedef s32 dma_cookie_t;
5003#line 15 "include/linux/netdev_features.h"
5004typedef u64 netdev_features_t;
5005#line 108 "include/linux/skbuff.h"
5006struct net_device;
5007#line 109
5008struct scatterlist;
5009#line 110
5010struct pipe_inode_info;
5011#line 113 "include/linux/skbuff.h"
5012struct nf_conntrack {
5013 atomic_t use ;
5014};
5015#line 119 "include/linux/skbuff.h"
5016struct nf_bridge_info {
5017 atomic_t use ;
5018 struct net_device *physindev ;
5019 struct net_device *physoutdev ;
5020 unsigned int mask ;
5021 unsigned long data[32UL / sizeof(unsigned long )] ;
5022};
5023#line 128 "include/linux/skbuff.h"
5024struct sk_buff_head {
5025 struct sk_buff *next ;
5026 struct sk_buff *prev ;
5027 __u32 qlen ;
5028 spinlock_t lock ;
5029};
5030#line 137
5031struct sk_buff;
5032#line 318 "include/linux/skbuff.h"
5033typedef unsigned int sk_buff_data_t;
5034#line 391
5035struct sec_path;
5036#line 391 "include/linux/skbuff.h"
5037struct __anonstruct____missing_field_name_290 {
5038 __u16 csum_start ;
5039 __u16 csum_offset ;
5040};
5041#line 391 "include/linux/skbuff.h"
5042union __anonunion____missing_field_name_289 {
5043 __wsum csum ;
5044 struct __anonstruct____missing_field_name_290 __annonCompField51 ;
5045};
5046#line 391 "include/linux/skbuff.h"
5047union __anonunion____missing_field_name_291 {
5048 __u32 mark ;
5049 __u32 dropcount ;
5050 __u32 avail_size ;
5051};
5052#line 391 "include/linux/skbuff.h"
5053struct sk_buff {
5054 struct sk_buff *next ;
5055 struct sk_buff *prev ;
5056 ktime_t tstamp ;
5057 struct sock *sk ;
5058 struct net_device *dev ;
5059 char cb[48] __attribute__((__aligned__(8))) ;
5060 unsigned long _skb_refdst ;
5061 struct sec_path *sp ;
5062 unsigned int len ;
5063 unsigned int data_len ;
5064 __u16 mac_len ;
5065 __u16 hdr_len ;
5066 union __anonunion____missing_field_name_289 __annonCompField52 ;
5067 __u32 priority ;
5068 __u8 local_df : 1 ;
5069 __u8 cloned : 1 ;
5070 __u8 ip_summed : 2 ;
5071 __u8 nohdr : 1 ;
5072 __u8 nfctinfo : 3 ;
5073 __u8 pkt_type : 3 ;
5074 __u8 fclone : 2 ;
5075 __u8 ipvs_property : 1 ;
5076 __u8 peeked : 1 ;
5077 __u8 nf_trace : 1 ;
5078 __be16 protocol ;
5079 void (*destructor)(struct sk_buff *skb ) ;
5080 struct nf_conntrack *nfct ;
5081 struct sk_buff *nfct_reasm ;
5082 struct nf_bridge_info *nf_bridge ;
5083 int skb_iif ;
5084 __u32 rxhash ;
5085 __u16 vlan_tci ;
5086 __u16 tc_index ;
5087 __u16 tc_verd ;
5088 __u16 queue_mapping ;
5089 __u8 ndisc_nodetype : 2 ;
5090 __u8 ooo_okay : 1 ;
5091 __u8 l4_rxhash : 1 ;
5092 __u8 wifi_acked_valid : 1 ;
5093 __u8 wifi_acked : 1 ;
5094 __u8 no_fcs : 1 ;
5095 dma_cookie_t dma_cookie ;
5096 __u32 secmark ;
5097 union __anonunion____missing_field_name_291 __annonCompField53 ;
5098 sk_buff_data_t transport_header ;
5099 sk_buff_data_t network_header ;
5100 sk_buff_data_t mac_header ;
5101 sk_buff_data_t tail ;
5102 sk_buff_data_t end ;
5103 unsigned char *head ;
5104 unsigned char *data ;
5105 unsigned int truesize ;
5106 atomic_t users ;
5107};
5108#line 520
5109struct dst_entry;
5110#line 555
5111struct rtable;
5112#line 129 "include/linux/netlink.h"
5113struct nlattr {
5114 __u16 nla_len ;
5115 __u16 nla_type ;
5116};
5117#line 157
5118struct net;
5119#line 41 "include/linux/if_link.h"
5120struct rtnl_link_stats64 {
5121 __u64 rx_packets ;
5122 __u64 tx_packets ;
5123 __u64 rx_bytes ;
5124 __u64 tx_bytes ;
5125 __u64 rx_errors ;
5126 __u64 tx_errors ;
5127 __u64 rx_dropped ;
5128 __u64 tx_dropped ;
5129 __u64 multicast ;
5130 __u64 collisions ;
5131 __u64 rx_length_errors ;
5132 __u64 rx_over_errors ;
5133 __u64 rx_crc_errors ;
5134 __u64 rx_frame_errors ;
5135 __u64 rx_fifo_errors ;
5136 __u64 rx_missed_errors ;
5137 __u64 tx_aborted_errors ;
5138 __u64 tx_carrier_errors ;
5139 __u64 tx_fifo_errors ;
5140 __u64 tx_heartbeat_errors ;
5141 __u64 tx_window_errors ;
5142 __u64 rx_compressed ;
5143 __u64 tx_compressed ;
5144};
5145#line 312 "include/linux/if_link.h"
5146struct ifla_vf_info {
5147 __u32 vf ;
5148 __u8 mac[32] ;
5149 __u32 vlan ;
5150 __u32 qos ;
5151 __u32 tx_rate ;
5152 __u32 spoofchk ;
5153};
5154#line 48 "include/linux/miscdevice.h"
5155struct device;
5156#line 30 "include/linux/pm_qos.h"
5157struct pm_qos_request {
5158 struct plist_node node ;
5159 int pm_qos_class ;
5160 struct delayed_work work ;
5161};
5162#line 36 "include/linux/pm_qos.h"
5163struct dev_pm_qos_request {
5164 struct plist_node node ;
5165 struct device *dev ;
5166};
5167#line 41
5168enum pm_qos_type {
5169 PM_QOS_UNITIALIZED = 0,
5170 PM_QOS_MAX = 1,
5171 PM_QOS_MIN = 2
5172} ;
5173#line 52 "include/linux/pm_qos.h"
5174struct pm_qos_constraints {
5175 struct plist_head list ;
5176 s32 target_value ;
5177 s32 default_value ;
5178 enum pm_qos_type type ;
5179 struct blocking_notifier_head *notifiers ;
5180};
5181#line 40 "include/linux/dynamic_queue_limits.h"
5182struct dql {
5183 unsigned int num_queued ;
5184 unsigned int adj_limit ;
5185 unsigned int last_obj_cnt ;
5186 unsigned int limit __attribute__((__aligned__((1) << (6) ))) ;
5187 unsigned int num_completed ;
5188 unsigned int prev_ovlimit ;
5189 unsigned int prev_num_queued ;
5190 unsigned int prev_last_obj_cnt ;
5191 unsigned int lowest_slack ;
5192 unsigned long slack_start_time ;
5193 unsigned int max_limit ;
5194 unsigned int min_limit ;
5195 unsigned int slack_hold_time ;
5196};
5197#line 39 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/compat.h"
5198typedef s32 compat_long_t;
5199#line 212 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/compat.h"
5200typedef u32 compat_uptr_t;
5201#line 226 "include/linux/compat.h"
5202struct compat_robust_list {
5203 compat_uptr_t next ;
5204};
5205#line 230 "include/linux/compat.h"
5206struct compat_robust_list_head {
5207 struct compat_robust_list list ;
5208 compat_long_t futex_offset ;
5209 compat_uptr_t list_op_pending ;
5210};
5211#line 23 "include/linux/ethtool.h"
5212struct ethtool_cmd {
5213 __u32 cmd ;
5214 __u32 supported ;
5215 __u32 advertising ;
5216 __u16 speed ;
5217 __u8 duplex ;
5218 __u8 port ;
5219 __u8 phy_address ;
5220 __u8 transceiver ;
5221 __u8 autoneg ;
5222 __u8 mdio_support ;
5223 __u32 maxtxpkt ;
5224 __u32 maxrxpkt ;
5225 __u16 speed_hi ;
5226 __u8 eth_tp_mdix ;
5227 __u8 reserved2 ;
5228 __u32 lp_advertising ;
5229 __u32 reserved[2] ;
5230};
5231#line 84 "include/linux/ethtool.h"
5232struct ethtool_drvinfo {
5233 __u32 cmd ;
5234 char driver[32] ;
5235 char version[32] ;
5236 char fw_version[32] ;
5237 char bus_info[32] ;
5238 char reserved1[32] ;
5239 char reserved2[12] ;
5240 __u32 n_priv_flags ;
5241 __u32 n_stats ;
5242 __u32 testinfo_len ;
5243 __u32 eedump_len ;
5244 __u32 regdump_len ;
5245};
5246#line 109 "include/linux/ethtool.h"
5247struct ethtool_wolinfo {
5248 __u32 cmd ;
5249 __u32 supported ;
5250 __u32 wolopts ;
5251 __u8 sopass[6] ;
5252};
5253#line 123 "include/linux/ethtool.h"
5254struct ethtool_regs {
5255 __u32 cmd ;
5256 __u32 version ;
5257 __u32 len ;
5258 __u8 data[0] ;
5259};
5260#line 131 "include/linux/ethtool.h"
5261struct ethtool_eeprom {
5262 __u32 cmd ;
5263 __u32 magic ;
5264 __u32 offset ;
5265 __u32 len ;
5266 __u8 data[0] ;
5267};
5268#line 211 "include/linux/ethtool.h"
5269struct ethtool_coalesce {
5270 __u32 cmd ;
5271 __u32 rx_coalesce_usecs ;
5272 __u32 rx_max_coalesced_frames ;
5273 __u32 rx_coalesce_usecs_irq ;
5274 __u32 rx_max_coalesced_frames_irq ;
5275 __u32 tx_coalesce_usecs ;
5276 __u32 tx_max_coalesced_frames ;
5277 __u32 tx_coalesce_usecs_irq ;
5278 __u32 tx_max_coalesced_frames_irq ;
5279 __u32 stats_block_coalesce_usecs ;
5280 __u32 use_adaptive_rx_coalesce ;
5281 __u32 use_adaptive_tx_coalesce ;
5282 __u32 pkt_rate_low ;
5283 __u32 rx_coalesce_usecs_low ;
5284 __u32 rx_max_coalesced_frames_low ;
5285 __u32 tx_coalesce_usecs_low ;
5286 __u32 tx_max_coalesced_frames_low ;
5287 __u32 pkt_rate_high ;
5288 __u32 rx_coalesce_usecs_high ;
5289 __u32 rx_max_coalesced_frames_high ;
5290 __u32 tx_coalesce_usecs_high ;
5291 __u32 tx_max_coalesced_frames_high ;
5292 __u32 rate_sample_interval ;
5293};
5294#line 238 "include/linux/ethtool.h"
5295struct ethtool_ringparam {
5296 __u32 cmd ;
5297 __u32 rx_max_pending ;
5298 __u32 rx_mini_max_pending ;
5299 __u32 rx_jumbo_max_pending ;
5300 __u32 tx_max_pending ;
5301 __u32 rx_pending ;
5302 __u32 rx_mini_pending ;
5303 __u32 rx_jumbo_pending ;
5304 __u32 tx_pending ;
5305};
5306#line 275 "include/linux/ethtool.h"
5307struct ethtool_channels {
5308 __u32 cmd ;
5309 __u32 max_rx ;
5310 __u32 max_tx ;
5311 __u32 max_other ;
5312 __u32 max_combined ;
5313 __u32 rx_count ;
5314 __u32 tx_count ;
5315 __u32 other_count ;
5316 __u32 combined_count ;
5317};
5318#line 288 "include/linux/ethtool.h"
5319struct ethtool_pauseparam {
5320 __u32 cmd ;
5321 __u32 autoneg ;
5322 __u32 rx_pause ;
5323 __u32 tx_pause ;
5324};
5325#line 352 "include/linux/ethtool.h"
5326struct ethtool_test {
5327 __u32 cmd ;
5328 __u32 flags ;
5329 __u32 reserved ;
5330 __u32 len ;
5331 __u64 data[0] ;
5332};
5333#line 361 "include/linux/ethtool.h"
5334struct ethtool_stats {
5335 __u32 cmd ;
5336 __u32 n_stats ;
5337 __u64 data[0] ;
5338};
5339#line 406 "include/linux/ethtool.h"
5340struct ethtool_tcpip4_spec {
5341 __be32 ip4src ;
5342 __be32 ip4dst ;
5343 __be16 psrc ;
5344 __be16 pdst ;
5345 __u8 tos ;
5346};
5347#line 423 "include/linux/ethtool.h"
5348struct ethtool_ah_espip4_spec {
5349 __be32 ip4src ;
5350 __be32 ip4dst ;
5351 __be32 spi ;
5352 __u8 tos ;
5353};
5354#line 441 "include/linux/ethtool.h"
5355struct ethtool_usrip4_spec {
5356 __be32 ip4src ;
5357 __be32 ip4dst ;
5358 __be32 l4_4_bytes ;
5359 __u8 tos ;
5360 __u8 ip_ver ;
5361 __u8 proto ;
5362};
5363#line 450 "include/linux/ethtool.h"
5364union ethtool_flow_union {
5365 struct ethtool_tcpip4_spec tcp_ip4_spec ;
5366 struct ethtool_tcpip4_spec udp_ip4_spec ;
5367 struct ethtool_tcpip4_spec sctp_ip4_spec ;
5368 struct ethtool_ah_espip4_spec ah_ip4_spec ;
5369 struct ethtool_ah_espip4_spec esp_ip4_spec ;
5370 struct ethtool_usrip4_spec usr_ip4_spec ;
5371 struct ethhdr ether_spec ;
5372 __u8 hdata[60] ;
5373};
5374#line 461 "include/linux/ethtool.h"
5375struct ethtool_flow_ext {
5376 __be16 vlan_etype ;
5377 __be16 vlan_tci ;
5378 __be32 data[2] ;
5379};
5380#line 482 "include/linux/ethtool.h"
5381struct ethtool_rx_flow_spec {
5382 __u32 flow_type ;
5383 union ethtool_flow_union h_u ;
5384 struct ethtool_flow_ext h_ext ;
5385 union ethtool_flow_union m_u ;
5386 struct ethtool_flow_ext m_ext ;
5387 __u64 ring_cookie ;
5388 __u32 location ;
5389};
5390#line 544 "include/linux/ethtool.h"
5391struct ethtool_rxnfc {
5392 __u32 cmd ;
5393 __u32 flow_type ;
5394 __u64 data ;
5395 struct ethtool_rx_flow_spec fs ;
5396 __u32 rule_cnt ;
5397 __u32 rule_locs[0] ;
5398};
5399#line 652 "include/linux/ethtool.h"
5400struct ethtool_flash {
5401 __u32 cmd ;
5402 __u32 region ;
5403 char data[128] ;
5404};
5405#line 670 "include/linux/ethtool.h"
5406struct ethtool_dump {
5407 __u32 cmd ;
5408 __u32 version ;
5409 __u32 flag ;
5410 __u32 len ;
5411 __u8 data[0] ;
5412};
5413#line 780
5414enum ethtool_phys_id_state {
5415 ETHTOOL_ID_INACTIVE = 0,
5416 ETHTOOL_ID_ACTIVE = 1,
5417 ETHTOOL_ID_ON = 2,
5418 ETHTOOL_ID_OFF = 3
5419} ;
5420#line 787
5421struct net_device;
5422#line 906 "include/linux/ethtool.h"
5423struct ethtool_ops {
5424 int (*get_settings)(struct net_device * , struct ethtool_cmd * ) ;
5425 int (*set_settings)(struct net_device * , struct ethtool_cmd * ) ;
5426 void (*get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) ;
5427 int (*get_regs_len)(struct net_device * ) ;
5428 void (*get_regs)(struct net_device * , struct ethtool_regs * , void * ) ;
5429 void (*get_wol)(struct net_device * , struct ethtool_wolinfo * ) ;
5430 int (*set_wol)(struct net_device * , struct ethtool_wolinfo * ) ;
5431 u32 (*get_msglevel)(struct net_device * ) ;
5432 void (*set_msglevel)(struct net_device * , u32 ) ;
5433 int (*nway_reset)(struct net_device * ) ;
5434 u32 (*get_link)(struct net_device * ) ;
5435 int (*get_eeprom_len)(struct net_device * ) ;
5436 int (*get_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ;
5437 int (*set_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ;
5438 int (*get_coalesce)(struct net_device * , struct ethtool_coalesce * ) ;
5439 int (*set_coalesce)(struct net_device * , struct ethtool_coalesce * ) ;
5440 void (*get_ringparam)(struct net_device * , struct ethtool_ringparam * ) ;
5441 int (*set_ringparam)(struct net_device * , struct ethtool_ringparam * ) ;
5442 void (*get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ;
5443 int (*set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ;
5444 void (*self_test)(struct net_device * , struct ethtool_test * , u64 * ) ;
5445 void (*get_strings)(struct net_device * , u32 stringset , u8 * ) ;
5446 int (*set_phys_id)(struct net_device * , enum ethtool_phys_id_state ) ;
5447 void (*get_ethtool_stats)(struct net_device * , struct ethtool_stats * , u64 * ) ;
5448 int (*begin)(struct net_device * ) ;
5449 void (*complete)(struct net_device * ) ;
5450 u32 (*get_priv_flags)(struct net_device * ) ;
5451 int (*set_priv_flags)(struct net_device * , u32 ) ;
5452 int (*get_sset_count)(struct net_device * , int ) ;
5453 int (*get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , u32 *rule_locs ) ;
5454 int (*set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) ;
5455 int (*flash_device)(struct net_device * , struct ethtool_flash * ) ;
5456 int (*reset)(struct net_device * , u32 * ) ;
5457 u32 (*get_rxfh_indir_size)(struct net_device * ) ;
5458 int (*get_rxfh_indir)(struct net_device * , u32 * ) ;
5459 int (*set_rxfh_indir)(struct net_device * , u32 const * ) ;
5460 void (*get_channels)(struct net_device * , struct ethtool_channels * ) ;
5461 int (*set_channels)(struct net_device * , struct ethtool_channels * ) ;
5462 int (*get_dump_flag)(struct net_device * , struct ethtool_dump * ) ;
5463 int (*get_dump_data)(struct net_device * , struct ethtool_dump * , void * ) ;
5464 int (*set_dump)(struct net_device * , struct ethtool_dump * ) ;
5465};
5466#line 4 "include/net/netns/core.h"
5467struct ctl_table_header;
5468#line 5
5469struct prot_inuse;
5470#line 5
5471struct prot_inuse;
5472#line 7 "include/net/netns/core.h"
5473struct netns_core {
5474 struct ctl_table_header *sysctl_hdr ;
5475 int sysctl_somaxconn ;
5476 struct prot_inuse *inuse ;
5477};
5478#line 64 "include/linux/u64_stats_sync.h"
5479struct u64_stats_sync {
5480
5481};
5482#line 56 "include/net/snmp.h"
5483struct ipstats_mib {
5484 u64 mibs[31] ;
5485 struct u64_stats_sync syncp ;
5486};
5487#line 64 "include/net/snmp.h"
5488struct icmp_mib {
5489 unsigned long mibs[27] ;
5490};
5491#line 69 "include/net/snmp.h"
5492struct icmpmsg_mib {
5493 atomic_long_t mibs[512] ;
5494};
5495#line 76 "include/net/snmp.h"
5496struct icmpv6_mib {
5497 unsigned long mibs[5] ;
5498};
5499#line 80 "include/net/snmp.h"
5500struct icmpv6_mib_device {
5501 atomic_long_t mibs[5] ;
5502};
5503#line 86 "include/net/snmp.h"
5504struct icmpv6msg_mib {
5505 atomic_long_t mibs[512] ;
5506};
5507#line 90 "include/net/snmp.h"
5508struct icmpv6msg_mib_device {
5509 atomic_long_t mibs[512] ;
5510};
5511#line 97 "include/net/snmp.h"
5512struct tcp_mib {
5513 unsigned long mibs[15] ;
5514};
5515#line 103 "include/net/snmp.h"
5516struct udp_mib {
5517 unsigned long mibs[7] ;
5518};
5519#line 109 "include/net/snmp.h"
5520struct linux_mib {
5521 unsigned long mibs[83] ;
5522};
5523#line 115 "include/net/snmp.h"
5524struct linux_xfrm_mib {
5525 unsigned long mibs[27] ;
5526};
5527#line 6 "include/net/netns/mib.h"
5528struct netns_mib {
5529 struct tcp_mib *tcp_statistics[1] ;
5530 struct ipstats_mib *ip_statistics[1] ;
5531 struct linux_mib *net_statistics[1] ;
5532 struct udp_mib *udp_statistics[1] ;
5533 struct udp_mib *udplite_statistics[1] ;
5534 struct icmp_mib *icmp_statistics[1] ;
5535 struct icmpmsg_mib *icmpmsg_statistics ;
5536 struct proc_dir_entry *proc_net_devsnmp6 ;
5537 struct udp_mib *udp_stats_in6[1] ;
5538 struct udp_mib *udplite_stats_in6[1] ;
5539 struct ipstats_mib *ipv6_statistics[1] ;
5540 struct icmpv6_mib *icmpv6_statistics[1] ;
5541 struct icmpv6msg_mib *icmpv6msg_statistics ;
5542 struct linux_xfrm_mib *xfrm_statistics[1] ;
5543};
5544#line 7 "include/net/netns/unix.h"
5545struct ctl_table_header;
5546#line 8 "include/net/netns/unix.h"
5547struct netns_unix {
5548 int sysctl_max_dgram_qlen ;
5549 struct ctl_table_header *ctl ;
5550};
5551#line 10 "include/net/netns/packet.h"
5552struct netns_packet {
5553 spinlock_t sklist_lock ;
5554 struct hlist_head sklist ;
5555};
5556#line 4 "include/net/inet_frag.h"
5557struct netns_frags {
5558 int nqueues ;
5559 atomic_t mem ;
5560 struct list_head lru_list ;
5561 int timeout ;
5562 int high_thresh ;
5563 int low_thresh ;
5564};
5565#line 10 "include/net/netns/ipv4.h"
5566struct ctl_table_header;
5567#line 11
5568struct ipv4_devconf;
5569#line 11
5570struct ipv4_devconf;
5571#line 12
5572struct fib_rules_ops;
5573#line 12
5574struct fib_rules_ops;
5575#line 13
5576struct hlist_head;
5577#line 14
5578struct sock;
5579#line 16
5580struct xt_table;
5581#line 16 "include/net/netns/ipv4.h"
5582struct netns_ipv4 {
5583 struct ctl_table_header *forw_hdr ;
5584 struct ctl_table_header *frags_hdr ;
5585 struct ctl_table_header *ipv4_hdr ;
5586 struct ctl_table_header *route_hdr ;
5587 struct ipv4_devconf *devconf_all ;
5588 struct ipv4_devconf *devconf_dflt ;
5589 struct fib_rules_ops *rules_ops ;
5590 struct hlist_head *fib_table_hash ;
5591 struct sock *fibnl ;
5592 struct sock **icmp_sk ;
5593 struct sock *tcp_sock ;
5594 struct netns_frags frags ;
5595 struct xt_table *iptable_filter ;
5596 struct xt_table *iptable_mangle ;
5597 struct xt_table *iptable_raw ;
5598 struct xt_table *arptable_filter ;
5599 struct xt_table *iptable_security ;
5600 struct xt_table *nat_table ;
5601 struct hlist_head *nat_bysource ;
5602 unsigned int nat_htable_size ;
5603 int sysctl_icmp_echo_ignore_all ;
5604 int sysctl_icmp_echo_ignore_broadcasts ;
5605 int sysctl_icmp_ignore_bogus_error_responses ;
5606 int sysctl_icmp_ratelimit ;
5607 int sysctl_icmp_ratemask ;
5608 int sysctl_icmp_errors_use_inbound_ifaddr ;
5609 int sysctl_rt_cache_rebuild_count ;
5610 int current_rt_cache_rebuild_count ;
5611 unsigned int sysctl_ping_group_range[2] ;
5612 long sysctl_tcp_mem[3] ;
5613 atomic_t rt_genid ;
5614 atomic_t dev_addr_genid ;
5615 struct list_head mr_tables ;
5616 struct fib_rules_ops *mr_rules_ops ;
5617};
5618#line 7 "include/net/dst_ops.h"
5619struct dst_entry;
5620#line 9
5621struct net_device;
5622#line 10
5623struct sk_buff;
5624#line 12
5625struct neighbour;
5626#line 12 "include/net/dst_ops.h"
5627struct dst_ops {
5628 unsigned short family ;
5629 __be16 protocol ;
5630 unsigned int gc_thresh ;
5631 int (*gc)(struct dst_ops *ops ) ;
5632 struct dst_entry *(*check)(struct dst_entry * , __u32 cookie ) ;
5633 unsigned int (*default_advmss)(struct dst_entry const * ) ;
5634 unsigned int (*mtu)(struct dst_entry const * ) ;
5635 u32 *(*cow_metrics)(struct dst_entry * , unsigned long ) ;
5636 void (*destroy)(struct dst_entry * ) ;
5637 void (*ifdown)(struct dst_entry * , struct net_device *dev , int how ) ;
5638 struct dst_entry *(*negative_advice)(struct dst_entry * ) ;
5639 void (*link_failure)(struct sk_buff * ) ;
5640 void (*update_pmtu)(struct dst_entry *dst , u32 mtu ) ;
5641 int (*local_out)(struct sk_buff *skb ) ;
5642 struct neighbour *(*neigh_lookup)(struct dst_entry const *dst , void const *daddr ) ;
5643 struct kmem_cache *kmem_cachep ;
5644 struct percpu_counter pcpuc_entries __attribute__((__aligned__((1) << (6) ))) ;
5645};
5646#line 11 "include/net/netns/ipv6.h"
5647struct ctl_table_header;
5648#line 13 "include/net/netns/ipv6.h"
5649struct netns_sysctl_ipv6 {
5650 struct ctl_table_header *table ;
5651 struct ctl_table_header *frags_hdr ;
5652 int bindv6only ;
5653 int flush_delay ;
5654 int ip6_rt_max_size ;
5655 int ip6_rt_gc_min_interval ;
5656 int ip6_rt_gc_timeout ;
5657 int ip6_rt_gc_interval ;
5658 int ip6_rt_gc_elasticity ;
5659 int ip6_rt_mtu_expires ;
5660 int ip6_rt_min_advmss ;
5661 int icmpv6_time ;
5662};
5663#line 30
5664struct ipv6_devconf;
5665#line 30
5666struct rt6_info;
5667#line 30
5668struct rt6_statistics;
5669#line 30
5670struct fib6_table;
5671#line 30 "include/net/netns/ipv6.h"
5672struct netns_ipv6 {
5673 struct netns_sysctl_ipv6 sysctl ;
5674 struct ipv6_devconf *devconf_all ;
5675 struct ipv6_devconf *devconf_dflt ;
5676 struct netns_frags frags ;
5677 struct xt_table *ip6table_filter ;
5678 struct xt_table *ip6table_mangle ;
5679 struct xt_table *ip6table_raw ;
5680 struct xt_table *ip6table_security ;
5681 struct rt6_info *ip6_null_entry ;
5682 struct rt6_statistics *rt6_stats ;
5683 struct timer_list ip6_fib_timer ;
5684 struct hlist_head *fib_table_hash ;
5685 struct fib6_table *fib6_main_tbl ;
5686 struct dst_ops ip6_dst_ops ;
5687 unsigned int ip6_rt_gc_expire ;
5688 unsigned long ip6_rt_last_gc ;
5689 struct rt6_info *ip6_prohibit_entry ;
5690 struct rt6_info *ip6_blk_hole_entry ;
5691 struct fib6_table *fib6_local_tbl ;
5692 struct fib_rules_ops *fib6_rules_ops ;
5693 struct sock **icmp_sk ;
5694 struct sock *ndisc_sk ;
5695 struct sock *tcp_sk ;
5696 struct sock *igmp_sk ;
5697 struct list_head mr6_tables ;
5698 struct fib_rules_ops *mr6_rules_ops ;
5699};
5700#line 4 "include/net/netns/dccp.h"
5701struct sock;
5702#line 6 "include/net/netns/dccp.h"
5703struct netns_dccp {
5704 struct sock *v4_ctl_sk ;
5705 struct sock *v6_ctl_sk ;
5706};
5707#line 30 "include/linux/in6.h"
5708union __anonunion_in6_u_322 {
5709 __u8 u6_addr8[16] ;
5710 __be16 u6_addr16[8] ;
5711 __be32 u6_addr32[4] ;
5712};
5713#line 30 "include/linux/in6.h"
5714struct in6_addr {
5715 union __anonunion_in6_u_322 in6_u ;
5716};
5717#line 102 "include/linux/netfilter.h"
5718struct sk_buff;
5719#line 200 "include/net/flow.h"
5720struct net;
5721#line 201
5722struct sock;
5723#line 10 "include/linux/proc_fs.h"
5724struct net;
5725#line 11
5726struct completion;
5727#line 12
5728struct mm_struct;
5729#line 46 "include/linux/proc_fs.h"
5730typedef int read_proc_t(char *page , char **start , off_t off , int count , int *eof ,
5731 void *data );
5732#line 48 "include/linux/proc_fs.h"
5733typedef int write_proc_t(struct file *file , char const *buffer , unsigned long count ,
5734 void *data );
5735#line 51 "include/linux/proc_fs.h"
5736struct proc_dir_entry {
5737 unsigned int low_ino ;
5738 umode_t mode ;
5739 nlink_t nlink ;
5740 uid_t uid ;
5741 gid_t gid ;
5742 loff_t size ;
5743 struct inode_operations const *proc_iops ;
5744 struct file_operations const *proc_fops ;
5745 struct proc_dir_entry *next ;
5746 struct proc_dir_entry *parent ;
5747 struct proc_dir_entry *subdir ;
5748 void *data ;
5749 read_proc_t *read_proc ;
5750 write_proc_t *write_proc ;
5751 atomic_t count ;
5752 int pde_users ;
5753 struct completion *pde_unload_completion ;
5754 struct list_head pde_openers ;
5755 spinlock_t pde_unload_lock ;
5756 u8 namelen ;
5757 char name[] ;
5758};
5759#line 117
5760struct pid_namespace;
5761#line 243
5762struct nsproxy;
5763#line 263
5764struct ctl_table_header;
5765#line 264
5766struct ctl_table;
5767#line 7 "include/net/netns/x_tables.h"
5768struct ebt_table;
5769#line 7
5770struct ebt_table;
5771#line 9 "include/net/netns/x_tables.h"
5772struct netns_xt {
5773 struct list_head tables[13] ;
5774 struct ebt_table *broute_table ;
5775 struct ebt_table *frame_filter ;
5776 struct ebt_table *frame_nat ;
5777};
5778#line 8 "include/net/netns/conntrack.h"
5779struct ctl_table_header;
5780#line 11
5781struct ip_conntrack_stat;
5782#line 11
5783struct nf_ct_event_notifier;
5784#line 11
5785struct nf_exp_event_notifier;
5786#line 11 "include/net/netns/conntrack.h"
5787struct netns_ct {
5788 atomic_t count ;
5789 unsigned int expect_count ;
5790 unsigned int htable_size ;
5791 struct kmem_cache *nf_conntrack_cachep ;
5792 struct hlist_nulls_head *hash ;
5793 struct hlist_head *expect_hash ;
5794 struct hlist_nulls_head unconfirmed ;
5795 struct hlist_nulls_head dying ;
5796 struct ip_conntrack_stat *stat ;
5797 struct nf_ct_event_notifier *nf_conntrack_event_cb ;
5798 struct nf_exp_event_notifier *nf_expect_event_cb ;
5799 int sysctl_events ;
5800 unsigned int sysctl_events_retry_timeout ;
5801 int sysctl_acct ;
5802 int sysctl_tstamp ;
5803 int sysctl_checksum ;
5804 unsigned int sysctl_log_invalid ;
5805 struct ctl_table_header *sysctl_header ;
5806 struct ctl_table_header *acct_sysctl_header ;
5807 struct ctl_table_header *tstamp_sysctl_header ;
5808 struct ctl_table_header *event_sysctl_header ;
5809 char *slabname ;
5810};
5811#line 10 "include/net/netns/xfrm.h"
5812struct ctl_table_header;
5813#line 12 "include/net/netns/xfrm.h"
5814struct xfrm_policy_hash {
5815 struct hlist_head *table ;
5816 unsigned int hmask ;
5817};
5818#line 17 "include/net/netns/xfrm.h"
5819struct netns_xfrm {
5820 struct list_head state_all ;
5821 struct hlist_head *state_bydst ;
5822 struct hlist_head *state_bysrc ;
5823 struct hlist_head *state_byspi ;
5824 unsigned int state_hmask ;
5825 unsigned int state_num ;
5826 struct work_struct state_hash_work ;
5827 struct hlist_head state_gc_list ;
5828 struct work_struct state_gc_work ;
5829 wait_queue_head_t km_waitq ;
5830 struct list_head policy_all ;
5831 struct hlist_head *policy_byidx ;
5832 unsigned int policy_idx_hmask ;
5833 struct hlist_head policy_inexact[6] ;
5834 struct xfrm_policy_hash policy_bydst[6] ;
5835 unsigned int policy_count[6] ;
5836 struct work_struct policy_hash_work ;
5837 struct sock *nlsk ;
5838 struct sock *nlsk_stash ;
5839 u32 sysctl_aevent_etime ;
5840 u32 sysctl_aevent_rseqth ;
5841 int sysctl_larval_drop ;
5842 u32 sysctl_acq_expires ;
5843 struct ctl_table_header *sysctl_hdr ;
5844 struct dst_ops xfrm4_dst_ops ;
5845 struct dst_ops xfrm6_dst_ops ;
5846};
5847#line 25 "include/net/net_namespace.h"
5848struct proc_dir_entry;
5849#line 26
5850struct net_device;
5851#line 27
5852struct sock;
5853#line 28
5854struct ctl_table_header;
5855#line 29
5856struct net_generic;
5857#line 29
5858struct net_generic;
5859#line 30
5860struct sock;
5861#line 31
5862struct netns_ipvs;
5863#line 31
5864struct netns_ipvs;
5865#line 37 "include/net/net_namespace.h"
5866struct net {
5867 atomic_t passive ;
5868 atomic_t count ;
5869 spinlock_t rules_mod_lock ;
5870 struct list_head list ;
5871 struct list_head cleanup_list ;
5872 struct list_head exit_list ;
5873 struct proc_dir_entry *proc_net ;
5874 struct proc_dir_entry *proc_net_stat ;
5875 struct ctl_table_set sysctls ;
5876 struct sock *rtnl ;
5877 struct sock *genl_sock ;
5878 struct list_head dev_base_head ;
5879 struct hlist_head *dev_name_head ;
5880 struct hlist_head *dev_index_head ;
5881 unsigned int dev_base_seq ;
5882 struct list_head rules_ops ;
5883 struct net_device *loopback_dev ;
5884 struct netns_core core ;
5885 struct netns_mib mib ;
5886 struct netns_packet packet ;
5887 struct netns_unix unx ;
5888 struct netns_ipv4 ipv4 ;
5889 struct netns_ipv6 ipv6 ;
5890 struct netns_dccp dccp ;
5891 struct netns_xt xt ;
5892 struct netns_ct ct ;
5893 struct sock *nfnl ;
5894 struct sock *nfnl_stash ;
5895 struct sk_buff_head wext_nlevents ;
5896 struct net_generic *gen ;
5897 struct netns_xfrm xfrm ;
5898 struct netns_ipvs *ipvs ;
5899};
5900#line 11 "include/linux/seq_file.h"
5901struct seq_operations;
5902#line 12
5903struct file;
5904#line 13
5905struct path;
5906#line 14
5907struct inode;
5908#line 15
5909struct dentry;
5910#line 17 "include/linux/seq_file.h"
5911struct seq_file {
5912 char *buf ;
5913 size_t size ;
5914 size_t from ;
5915 size_t count ;
5916 loff_t index ;
5917 loff_t read_pos ;
5918 u64 version ;
5919 struct mutex lock ;
5920 struct seq_operations const *op ;
5921 int poll_event ;
5922 void *private ;
5923};
5924#line 31 "include/linux/seq_file.h"
5925struct seq_operations {
5926 void *(*start)(struct seq_file *m , loff_t *pos ) ;
5927 void (*stop)(struct seq_file *m , void *v ) ;
5928 void *(*next)(struct seq_file *m , void *v , loff_t *pos ) ;
5929 int (*show)(struct seq_file *m , void *v ) ;
5930};
5931#line 6 "include/linux/seq_file_net.h"
5932struct net;
5933#line 283 "include/net/net_namespace.h"
5934struct ctl_table;
5935#line 284
5936struct ctl_table_header;
5937#line 22 "include/net/dsa.h"
5938struct dsa_chip_data {
5939 struct device *mii_bus ;
5940 int sw_addr ;
5941 char *port_names[12] ;
5942 s8 *rtable ;
5943};
5944#line 47 "include/net/dsa.h"
5945struct dsa_platform_data {
5946 struct device *netdev ;
5947 int nr_chips ;
5948 struct dsa_chip_data *chip ;
5949};
5950#line 62
5951struct dsa_switch;
5952#line 62 "include/net/dsa.h"
5953struct dsa_switch_tree {
5954 struct dsa_platform_data *pd ;
5955 struct net_device *master_netdev ;
5956 __be16 tag_protocol ;
5957 s8 cpu_switch ;
5958 s8 cpu_port ;
5959 int link_poll_needed ;
5960 struct work_struct link_poll_work ;
5961 struct timer_list link_poll_timer ;
5962 struct dsa_switch *ds[4] ;
5963};
5964#line 95
5965struct dsa_switch_driver;
5966#line 95
5967struct mii_bus;
5968#line 95 "include/net/dsa.h"
5969struct dsa_switch {
5970 struct dsa_switch_tree *dst ;
5971 int index ;
5972 struct dsa_chip_data *pd ;
5973 struct dsa_switch_driver *drv ;
5974 struct mii_bus *master_mii_bus ;
5975 u32 dsa_port_mask ;
5976 u32 phys_port_mask ;
5977 struct mii_bus *slave_mii_bus ;
5978 struct net_device *ports[12] ;
5979};
5980#line 147 "include/net/dsa.h"
5981struct dsa_switch_driver {
5982 struct list_head list ;
5983 __be16 tag_protocol ;
5984 int priv_size ;
5985 char *(*probe)(struct mii_bus *bus , int sw_addr ) ;
5986 int (*setup)(struct dsa_switch *ds ) ;
5987 int (*set_addr)(struct dsa_switch *ds , u8 *addr ) ;
5988 int (*phy_read)(struct dsa_switch *ds , int port , int regnum ) ;
5989 int (*phy_write)(struct dsa_switch *ds , int port , int regnum , u16 val ) ;
5990 void (*poll_link)(struct dsa_switch *ds ) ;
5991 void (*get_strings)(struct dsa_switch *ds , int port , uint8_t *data ) ;
5992 void (*get_ethtool_stats)(struct dsa_switch *ds , int port , uint64_t *data ) ;
5993 int (*get_sset_count)(struct dsa_switch *ds ) ;
5994};
5995#line 57 "include/linux/dcbnl.h"
5996struct ieee_ets {
5997 __u8 willing ;
5998 __u8 ets_cap ;
5999 __u8 cbs ;
6000 __u8 tc_tx_bw[8] ;
6001 __u8 tc_rx_bw[8] ;
6002 __u8 tc_tsa[8] ;
6003 __u8 prio_tc[8] ;
6004 __u8 tc_reco_bw[8] ;
6005 __u8 tc_reco_tsa[8] ;
6006 __u8 reco_prio_tc[8] ;
6007};
6008#line 81 "include/linux/dcbnl.h"
6009struct ieee_pfc {
6010 __u8 pfc_cap ;
6011 __u8 pfc_en ;
6012 __u8 mbc ;
6013 __u16 delay ;
6014 __u64 requests[8] ;
6015 __u64 indications[8] ;
6016};
6017#line 104 "include/linux/dcbnl.h"
6018struct cee_pg {
6019 __u8 willing ;
6020 __u8 error ;
6021 __u8 pg_en ;
6022 __u8 tcs_supported ;
6023 __u8 pg_bw[8] ;
6024 __u8 prio_pg[8] ;
6025};
6026#line 121 "include/linux/dcbnl.h"
6027struct cee_pfc {
6028 __u8 willing ;
6029 __u8 error ;
6030 __u8 pfc_en ;
6031 __u8 tcs_supported ;
6032};
6033#line 151 "include/linux/dcbnl.h"
6034struct dcb_app {
6035 __u8 selector ;
6036 __u8 priority ;
6037 __u16 protocol ;
6038};
6039#line 166 "include/linux/dcbnl.h"
6040struct dcb_peer_app_info {
6041 __u8 willing ;
6042 __u8 error ;
6043};
6044#line 47 "include/net/dcbnl.h"
6045struct dcbnl_rtnl_ops {
6046 int (*ieee_getets)(struct net_device * , struct ieee_ets * ) ;
6047 int (*ieee_setets)(struct net_device * , struct ieee_ets * ) ;
6048 int (*ieee_getpfc)(struct net_device * , struct ieee_pfc * ) ;
6049 int (*ieee_setpfc)(struct net_device * , struct ieee_pfc * ) ;
6050 int (*ieee_getapp)(struct net_device * , struct dcb_app * ) ;
6051 int (*ieee_setapp)(struct net_device * , struct dcb_app * ) ;
6052 int (*ieee_delapp)(struct net_device * , struct dcb_app * ) ;
6053 int (*ieee_peer_getets)(struct net_device * , struct ieee_ets * ) ;
6054 int (*ieee_peer_getpfc)(struct net_device * , struct ieee_pfc * ) ;
6055 u8 (*getstate)(struct net_device * ) ;
6056 u8 (*setstate)(struct net_device * , u8 ) ;
6057 void (*getpermhwaddr)(struct net_device * , u8 * ) ;
6058 void (*setpgtccfgtx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ;
6059 void (*setpgbwgcfgtx)(struct net_device * , int , u8 ) ;
6060 void (*setpgtccfgrx)(struct net_device * , int , u8 , u8 , u8 , u8 ) ;
6061 void (*setpgbwgcfgrx)(struct net_device * , int , u8 ) ;
6062 void (*getpgtccfgtx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ;
6063 void (*getpgbwgcfgtx)(struct net_device * , int , u8 * ) ;
6064 void (*getpgtccfgrx)(struct net_device * , int , u8 * , u8 * , u8 * , u8 * ) ;
6065 void (*getpgbwgcfgrx)(struct net_device * , int , u8 * ) ;
6066 void (*setpfccfg)(struct net_device * , int , u8 ) ;
6067 void (*getpfccfg)(struct net_device * , int , u8 * ) ;
6068 u8 (*setall)(struct net_device * ) ;
6069 u8 (*getcap)(struct net_device * , int , u8 * ) ;
6070 int (*getnumtcs)(struct net_device * , int , u8 * ) ;
6071 int (*setnumtcs)(struct net_device * , int , u8 ) ;
6072 u8 (*getpfcstate)(struct net_device * ) ;
6073 void (*setpfcstate)(struct net_device * , u8 ) ;
6074 void (*getbcncfg)(struct net_device * , int , u32 * ) ;
6075 void (*setbcncfg)(struct net_device * , int , u32 ) ;
6076 void (*getbcnrp)(struct net_device * , int , u8 * ) ;
6077 void (*setbcnrp)(struct net_device * , int , u8 ) ;
6078 u8 (*setapp)(struct net_device * , u8 , u16 , u8 ) ;
6079 u8 (*getapp)(struct net_device * , u8 , u16 ) ;
6080 u8 (*getfeatcfg)(struct net_device * , int , u8 * ) ;
6081 u8 (*setfeatcfg)(struct net_device * , int , u8 ) ;
6082 u8 (*getdcbx)(struct net_device * ) ;
6083 u8 (*setdcbx)(struct net_device * , u8 ) ;
6084 int (*peer_getappinfo)(struct net_device * , struct dcb_peer_app_info * , u16 * ) ;
6085 int (*peer_getapptable)(struct net_device * , struct dcb_app * ) ;
6086 int (*cee_peer_getpg)(struct net_device * , struct cee_pg * ) ;
6087 int (*cee_peer_getpfc)(struct net_device * , struct cee_pfc * ) ;
6088};
6089#line 40 "include/linux/taskstats.h"
6090struct taskstats {
6091 __u16 version ;
6092 __u32 ac_exitcode ;
6093 __u8 ac_flag ;
6094 __u8 ac_nice ;
6095 __u64 cpu_count __attribute__((__aligned__(8))) ;
6096 __u64 cpu_delay_total ;
6097 __u64 blkio_count ;
6098 __u64 blkio_delay_total ;
6099 __u64 swapin_count ;
6100 __u64 swapin_delay_total ;
6101 __u64 cpu_run_real_total ;
6102 __u64 cpu_run_virtual_total ;
6103 char ac_comm[32] ;
6104 __u8 ac_sched __attribute__((__aligned__(8))) ;
6105 __u8 ac_pad[3] ;
6106 __u32 ac_uid __attribute__((__aligned__(8))) ;
6107 __u32 ac_gid ;
6108 __u32 ac_pid ;
6109 __u32 ac_ppid ;
6110 __u32 ac_btime ;
6111 __u64 ac_etime __attribute__((__aligned__(8))) ;
6112 __u64 ac_utime ;
6113 __u64 ac_stime ;
6114 __u64 ac_minflt ;
6115 __u64 ac_majflt ;
6116 __u64 coremem ;
6117 __u64 virtmem ;
6118 __u64 hiwater_rss ;
6119 __u64 hiwater_vm ;
6120 __u64 read_char ;
6121 __u64 write_char ;
6122 __u64 read_syscalls ;
6123 __u64 write_syscalls ;
6124 __u64 read_bytes ;
6125 __u64 write_bytes ;
6126 __u64 cancelled_write_bytes ;
6127 __u64 nvcsw ;
6128 __u64 nivcsw ;
6129 __u64 ac_utimescaled ;
6130 __u64 ac_stimescaled ;
6131 __u64 cpu_scaled_run_real_total ;
6132 __u64 freepages_count ;
6133 __u64 freepages_delay_total ;
6134};
6135#line 51 "include/linux/idr.h"
6136struct idr_layer {
6137 unsigned long bitmap ;
6138 struct idr_layer *ary[1 << 6] ;
6139 int count ;
6140 int layer ;
6141 struct rcu_head rcu_head ;
6142};
6143#line 59 "include/linux/idr.h"
6144struct idr {
6145 struct idr_layer *top ;
6146 struct idr_layer *id_free ;
6147 int layers ;
6148 int id_free_cnt ;
6149 spinlock_t lock ;
6150};
6151#line 22 "include/linux/cgroup.h"
6152struct cgroupfs_root;
6153#line 22
6154struct cgroupfs_root;
6155#line 23
6156struct cgroup_subsys;
6157#line 23
6158struct cgroup_subsys;
6159#line 24
6160struct inode;
6161#line 25
6162struct cgroup;
6163#line 25
6164struct cgroup;
6165#line 26
6166struct css_id;
6167#line 26
6168struct css_id;
6169#line 60 "include/linux/cgroup.h"
6170struct cgroup_subsys_state {
6171 struct cgroup *cgroup ;
6172 atomic_t refcnt ;
6173 unsigned long flags ;
6174 struct css_id *id ;
6175};
6176#line 163 "include/linux/cgroup.h"
6177struct cgroup {
6178 unsigned long flags ;
6179 atomic_t count ;
6180 struct list_head sibling ;
6181 struct list_head children ;
6182 struct cgroup *parent ;
6183 struct dentry *dentry ;
6184 struct cgroup_subsys_state *subsys[8UL * sizeof(unsigned long )] ;
6185 struct cgroupfs_root *root ;
6186 struct cgroup *top_cgroup ;
6187 struct list_head css_sets ;
6188 struct list_head release_list ;
6189 struct list_head pidlists ;
6190 struct mutex pidlist_mutex ;
6191 struct rcu_head rcu_head ;
6192 struct list_head event_list ;
6193 spinlock_t event_list_lock ;
6194};
6195#line 224 "include/linux/cgroup.h"
6196struct css_set {
6197 atomic_t refcount ;
6198 struct hlist_node hlist ;
6199 struct list_head tasks ;
6200 struct list_head cg_links ;
6201 struct cgroup_subsys_state *subsys[8UL * sizeof(unsigned long )] ;
6202 struct rcu_head rcu_head ;
6203};
6204#line 431
6205struct cgroup_taskset;
6206#line 431
6207struct cgroup_taskset;
6208#line 454 "include/linux/cgroup.h"
6209struct cgroup_subsys {
6210 struct cgroup_subsys_state *(*create)(struct cgroup *cgrp ) ;
6211 int (*pre_destroy)(struct cgroup *cgrp ) ;
6212 void (*destroy)(struct cgroup *cgrp ) ;
6213 int (*can_attach)(struct cgroup *cgrp , struct cgroup_taskset *tset ) ;
6214 void (*cancel_attach)(struct cgroup *cgrp , struct cgroup_taskset *tset ) ;
6215 void (*attach)(struct cgroup *cgrp , struct cgroup_taskset *tset ) ;
6216 void (*fork)(struct task_struct *task ) ;
6217 void (*exit)(struct cgroup *cgrp , struct cgroup *old_cgrp , struct task_struct *task ) ;
6218 int (*populate)(struct cgroup_subsys *ss , struct cgroup *cgrp ) ;
6219 void (*post_clone)(struct cgroup *cgrp ) ;
6220 void (*bind)(struct cgroup *root ) ;
6221 int subsys_id ;
6222 int active ;
6223 int disabled ;
6224 int early_init ;
6225 bool use_id ;
6226 char const *name ;
6227 struct mutex hierarchy_mutex ;
6228 struct lock_class_key subsys_key ;
6229 struct cgroupfs_root *root ;
6230 struct list_head sibling ;
6231 struct idr idr ;
6232 spinlock_t id_lock ;
6233 struct module *module ;
6234};
6235#line 21 "include/net/netprio_cgroup.h"
6236struct netprio_map {
6237 struct rcu_head rcu ;
6238 u32 priomap_len ;
6239 u32 priomap[] ;
6240};
6241#line 58 "include/linux/netdevice.h"
6242struct netpoll_info;
6243#line 58
6244struct netpoll_info;
6245#line 59
6246struct device;
6247#line 60
6248struct phy_device;
6249#line 60
6250struct phy_device;
6251#line 62
6252struct wireless_dev;
6253#line 62
6254struct wireless_dev;
6255#line 109
6256enum netdev_tx {
6257 __NETDEV_TX_MIN = (-0x7FFFFFFF-1),
6258 NETDEV_TX_OK = 0,
6259 NETDEV_TX_BUSY = 16,
6260 NETDEV_TX_LOCKED = 32
6261} ;
6262#line 115 "include/linux/netdevice.h"
6263typedef enum netdev_tx netdev_tx_t;
6264#line 172 "include/linux/netdevice.h"
6265struct net_device_stats {
6266 unsigned long rx_packets ;
6267 unsigned long tx_packets ;
6268 unsigned long rx_bytes ;
6269 unsigned long tx_bytes ;
6270 unsigned long rx_errors ;
6271 unsigned long tx_errors ;
6272 unsigned long rx_dropped ;
6273 unsigned long tx_dropped ;
6274 unsigned long multicast ;
6275 unsigned long collisions ;
6276 unsigned long rx_length_errors ;
6277 unsigned long rx_over_errors ;
6278 unsigned long rx_crc_errors ;
6279 unsigned long rx_frame_errors ;
6280 unsigned long rx_fifo_errors ;
6281 unsigned long rx_missed_errors ;
6282 unsigned long tx_aborted_errors ;
6283 unsigned long tx_carrier_errors ;
6284 unsigned long tx_fifo_errors ;
6285 unsigned long tx_heartbeat_errors ;
6286 unsigned long tx_window_errors ;
6287 unsigned long rx_compressed ;
6288 unsigned long tx_compressed ;
6289};
6290#line 222
6291struct neighbour;
6292#line 223
6293struct neigh_parms;
6294#line 223
6295struct neigh_parms;
6296#line 224
6297struct sk_buff;
6298#line 241 "include/linux/netdevice.h"
6299struct netdev_hw_addr_list {
6300 struct list_head list ;
6301 int count ;
6302};
6303#line 261 "include/linux/netdevice.h"
6304struct hh_cache {
6305 u16 hh_len ;
6306 u16 __pad ;
6307 seqlock_t hh_lock ;
6308 unsigned long hh_data[128UL / sizeof(long )] ;
6309};
6310#line 288 "include/linux/netdevice.h"
6311struct header_ops {
6312 int (*create)(struct sk_buff *skb , struct net_device *dev , unsigned short type ,
6313 void const *daddr , void const *saddr , unsigned int len ) ;
6314 int (*parse)(struct sk_buff const *skb , unsigned char *haddr ) ;
6315 int (*rebuild)(struct sk_buff *skb ) ;
6316 int (*cache)(struct neighbour const *neigh , struct hh_cache *hh , __be16 type ) ;
6317 void (*cache_update)(struct hh_cache *hh , struct net_device const *dev , unsigned char const *haddr ) ;
6318};
6319#line 410
6320enum rx_handler_result {
6321 RX_HANDLER_CONSUMED = 0,
6322 RX_HANDLER_ANOTHER = 1,
6323 RX_HANDLER_EXACT = 2,
6324 RX_HANDLER_PASS = 3
6325} ;
6326#line 416 "include/linux/netdevice.h"
6327typedef enum rx_handler_result rx_handler_result_t;
6328#line 417 "include/linux/netdevice.h"
6329typedef rx_handler_result_t rx_handler_func_t(struct sk_buff **pskb );
6330#line 539
6331struct Qdisc;
6332#line 539 "include/linux/netdevice.h"
6333struct netdev_queue {
6334 struct net_device *dev ;
6335 struct Qdisc *qdisc ;
6336 struct Qdisc *qdisc_sleeping ;
6337 struct kobject kobj ;
6338 int numa_node ;
6339 spinlock_t _xmit_lock __attribute__((__aligned__((1) << (6) ))) ;
6340 int xmit_lock_owner ;
6341 unsigned long trans_start ;
6342 unsigned long trans_timeout ;
6343 unsigned long state ;
6344 struct dql dql ;
6345} __attribute__((__aligned__((1) << (6) ))) ;
6346#line 596 "include/linux/netdevice.h"
6347struct rps_map {
6348 unsigned int len ;
6349 struct rcu_head rcu ;
6350 u16 cpus[0] ;
6351};
6352#line 608 "include/linux/netdevice.h"
6353struct rps_dev_flow {
6354 u16 cpu ;
6355 u16 filter ;
6356 unsigned int last_qtail ;
6357};
6358#line 618 "include/linux/netdevice.h"
6359struct rps_dev_flow_table {
6360 unsigned int mask ;
6361 struct rcu_head rcu ;
6362 struct work_struct free_work ;
6363 struct rps_dev_flow flows[0] ;
6364};
6365#line 669 "include/linux/netdevice.h"
6366struct netdev_rx_queue {
6367 struct rps_map *rps_map ;
6368 struct rps_dev_flow_table *rps_flow_table ;
6369 struct kobject kobj ;
6370 struct net_device *dev ;
6371} __attribute__((__aligned__((1) << (6) ))) ;
6372#line 682 "include/linux/netdevice.h"
6373struct xps_map {
6374 unsigned int len ;
6375 unsigned int alloc_len ;
6376 struct rcu_head rcu ;
6377 u16 queues[0] ;
6378};
6379#line 695 "include/linux/netdevice.h"
6380struct xps_dev_maps {
6381 struct rcu_head rcu ;
6382 struct xps_map *cpu_map[0] ;
6383};
6384#line 706 "include/linux/netdevice.h"
6385struct netdev_tc_txq {
6386 u16 count ;
6387 u16 offset ;
6388};
6389#line 716 "include/linux/netdevice.h"
6390struct netdev_fcoe_hbainfo {
6391 char manufacturer[64] ;
6392 char serial_number[64] ;
6393 char hardware_version[64] ;
6394 char driver_version[64] ;
6395 char optionrom_version[64] ;
6396 char firmware_version[64] ;
6397 char model[256] ;
6398 char model_description[256] ;
6399};
6400#line 909 "include/linux/netdevice.h"
6401struct net_device_ops {
6402 int (*ndo_init)(struct net_device *dev ) ;
6403 void (*ndo_uninit)(struct net_device *dev ) ;
6404 int (*ndo_open)(struct net_device *dev ) ;
6405 int (*ndo_stop)(struct net_device *dev ) ;
6406 netdev_tx_t (*ndo_start_xmit)(struct sk_buff *skb , struct net_device *dev ) ;
6407 u16 (*ndo_select_queue)(struct net_device *dev , struct sk_buff *skb ) ;
6408 void (*ndo_change_rx_flags)(struct net_device *dev , int flags ) ;
6409 void (*ndo_set_rx_mode)(struct net_device *dev ) ;
6410 int (*ndo_set_mac_address)(struct net_device *dev , void *addr ) ;
6411 int (*ndo_validate_addr)(struct net_device *dev ) ;
6412 int (*ndo_do_ioctl)(struct net_device *dev , struct ifreq *ifr , int cmd ) ;
6413 int (*ndo_set_config)(struct net_device *dev , struct ifmap *map ) ;
6414 int (*ndo_change_mtu)(struct net_device *dev , int new_mtu ) ;
6415 int (*ndo_neigh_setup)(struct net_device *dev , struct neigh_parms * ) ;
6416 void (*ndo_tx_timeout)(struct net_device *dev ) ;
6417 struct rtnl_link_stats64 *(*ndo_get_stats64)(struct net_device *dev , struct rtnl_link_stats64 *storage ) ;
6418 struct net_device_stats *(*ndo_get_stats)(struct net_device *dev ) ;
6419 int (*ndo_vlan_rx_add_vid)(struct net_device *dev , unsigned short vid ) ;
6420 int (*ndo_vlan_rx_kill_vid)(struct net_device *dev , unsigned short vid ) ;
6421 void (*ndo_poll_controller)(struct net_device *dev ) ;
6422 int (*ndo_netpoll_setup)(struct net_device *dev , struct netpoll_info *info ) ;
6423 void (*ndo_netpoll_cleanup)(struct net_device *dev ) ;
6424 int (*ndo_set_vf_mac)(struct net_device *dev , int queue , u8 *mac ) ;
6425 int (*ndo_set_vf_vlan)(struct net_device *dev , int queue , u16 vlan , u8 qos ) ;
6426 int (*ndo_set_vf_tx_rate)(struct net_device *dev , int vf , int rate ) ;
6427 int (*ndo_set_vf_spoofchk)(struct net_device *dev , int vf , bool setting ) ;
6428 int (*ndo_get_vf_config)(struct net_device *dev , int vf , struct ifla_vf_info *ivf ) ;
6429 int (*ndo_set_vf_port)(struct net_device *dev , int vf , struct nlattr **port ) ;
6430 int (*ndo_get_vf_port)(struct net_device *dev , int vf , struct sk_buff *skb ) ;
6431 int (*ndo_setup_tc)(struct net_device *dev , u8 tc ) ;
6432 int (*ndo_fcoe_enable)(struct net_device *dev ) ;
6433 int (*ndo_fcoe_disable)(struct net_device *dev ) ;
6434 int (*ndo_fcoe_ddp_setup)(struct net_device *dev , u16 xid , struct scatterlist *sgl ,
6435 unsigned int sgc ) ;
6436 int (*ndo_fcoe_ddp_done)(struct net_device *dev , u16 xid ) ;
6437 int (*ndo_fcoe_ddp_target)(struct net_device *dev , u16 xid , struct scatterlist *sgl ,
6438 unsigned int sgc ) ;
6439 int (*ndo_fcoe_get_hbainfo)(struct net_device *dev , struct netdev_fcoe_hbainfo *hbainfo ) ;
6440 int (*ndo_fcoe_get_wwn)(struct net_device *dev , u64 *wwn , int type ) ;
6441 int (*ndo_rx_flow_steer)(struct net_device *dev , struct sk_buff const *skb ,
6442 u16 rxq_index , u32 flow_id ) ;
6443 int (*ndo_add_slave)(struct net_device *dev , struct net_device *slave_dev ) ;
6444 int (*ndo_del_slave)(struct net_device *dev , struct net_device *slave_dev ) ;
6445 netdev_features_t (*ndo_fix_features)(struct net_device *dev , netdev_features_t features ) ;
6446 int (*ndo_set_features)(struct net_device *dev , netdev_features_t features ) ;
6447 int (*ndo_neigh_construct)(struct neighbour *n ) ;
6448 void (*ndo_neigh_destroy)(struct neighbour *n ) ;
6449};
6450#line 1017
6451struct iw_handler_def;
6452#line 1017
6453struct iw_public_data;
6454#line 1017
6455struct vlan_info;
6456#line 1017
6457struct in_device;
6458#line 1017
6459struct dn_dev;
6460#line 1017
6461struct inet6_dev;
6462#line 1017
6463struct cpu_rmap;
6464#line 1017
6465enum __anonenum_reg_state_345 {
6466 NETREG_UNINITIALIZED = 0,
6467 NETREG_REGISTERED = 1,
6468 NETREG_UNREGISTERING = 2,
6469 NETREG_UNREGISTERED = 3,
6470 NETREG_RELEASED = 4,
6471 NETREG_DUMMY = 5
6472} ;
6473#line 1017
6474enum __anonenum_rtnl_link_state_346 {
6475 RTNL_LINK_INITIALIZED = 0,
6476 RTNL_LINK_INITIALIZING = 1
6477} ;
6478#line 1017
6479struct pcpu_lstats;
6480#line 1017
6481struct pcpu_tstats;
6482#line 1017
6483struct pcpu_dstats;
6484#line 1017 "include/linux/netdevice.h"
6485union __anonunion____missing_field_name_347 {
6486 void *ml_priv ;
6487 struct pcpu_lstats *lstats ;
6488 struct pcpu_tstats *tstats ;
6489 struct pcpu_dstats *dstats ;
6490};
6491#line 1017
6492struct garp_port;
6493#line 1017
6494struct rtnl_link_ops;
6495#line 1017 "include/linux/netdevice.h"
6496struct net_device {
6497 char name[16] ;
6498 struct pm_qos_request pm_qos_req ;
6499 struct hlist_node name_hlist ;
6500 char *ifalias ;
6501 unsigned long mem_end ;
6502 unsigned long mem_start ;
6503 unsigned long base_addr ;
6504 unsigned int irq ;
6505 unsigned long state ;
6506 struct list_head dev_list ;
6507 struct list_head napi_list ;
6508 struct list_head unreg_list ;
6509 netdev_features_t features ;
6510 netdev_features_t hw_features ;
6511 netdev_features_t wanted_features ;
6512 netdev_features_t vlan_features ;
6513 int ifindex ;
6514 int iflink ;
6515 struct net_device_stats stats ;
6516 atomic_long_t rx_dropped ;
6517 struct iw_handler_def const *wireless_handlers ;
6518 struct iw_public_data *wireless_data ;
6519 struct net_device_ops const *netdev_ops ;
6520 struct ethtool_ops const *ethtool_ops ;
6521 struct header_ops const *header_ops ;
6522 unsigned int flags ;
6523 unsigned int priv_flags ;
6524 unsigned short gflags ;
6525 unsigned short padded ;
6526 unsigned char operstate ;
6527 unsigned char link_mode ;
6528 unsigned char if_port ;
6529 unsigned char dma ;
6530 unsigned int mtu ;
6531 unsigned short type ;
6532 unsigned short hard_header_len ;
6533 unsigned short needed_headroom ;
6534 unsigned short needed_tailroom ;
6535 unsigned char perm_addr[32] ;
6536 unsigned char addr_assign_type ;
6537 unsigned char addr_len ;
6538 unsigned char neigh_priv_len ;
6539 unsigned short dev_id ;
6540 spinlock_t addr_list_lock ;
6541 struct netdev_hw_addr_list uc ;
6542 struct netdev_hw_addr_list mc ;
6543 bool uc_promisc ;
6544 unsigned int promiscuity ;
6545 unsigned int allmulti ;
6546 struct vlan_info *vlan_info ;
6547 struct dsa_switch_tree *dsa_ptr ;
6548 void *atalk_ptr ;
6549 struct in_device *ip_ptr ;
6550 struct dn_dev *dn_ptr ;
6551 struct inet6_dev *ip6_ptr ;
6552 void *ec_ptr ;
6553 void *ax25_ptr ;
6554 struct wireless_dev *ieee80211_ptr ;
6555 unsigned long last_rx ;
6556 struct net_device *master ;
6557 unsigned char *dev_addr ;
6558 struct netdev_hw_addr_list dev_addrs ;
6559 unsigned char broadcast[32] ;
6560 struct kset *queues_kset ;
6561 struct netdev_rx_queue *_rx ;
6562 unsigned int num_rx_queues ;
6563 unsigned int real_num_rx_queues ;
6564 struct cpu_rmap *rx_cpu_rmap ;
6565 rx_handler_func_t *rx_handler ;
6566 void *rx_handler_data ;
6567 struct netdev_queue *ingress_queue ;
6568 struct netdev_queue *_tx __attribute__((__aligned__((1) << (6) ))) ;
6569 unsigned int num_tx_queues ;
6570 unsigned int real_num_tx_queues ;
6571 struct Qdisc *qdisc ;
6572 unsigned long tx_queue_len ;
6573 spinlock_t tx_global_lock ;
6574 struct xps_dev_maps *xps_maps ;
6575 unsigned long trans_start ;
6576 int watchdog_timeo ;
6577 struct timer_list watchdog_timer ;
6578 int *pcpu_refcnt ;
6579 struct list_head todo_list ;
6580 struct hlist_node index_hlist ;
6581 struct list_head link_watch_list ;
6582 enum __anonenum_reg_state_345 reg_state : 8 ;
6583 bool dismantle ;
6584 enum __anonenum_rtnl_link_state_346 rtnl_link_state : 16 ;
6585 void (*destructor)(struct net_device *dev ) ;
6586 struct netpoll_info *npinfo ;
6587 struct net *nd_net ;
6588 union __anonunion____missing_field_name_347 __annonCompField56 ;
6589 struct garp_port *garp_port ;
6590 struct device dev ;
6591 struct attribute_group const *sysfs_groups[4] ;
6592 struct rtnl_link_ops const *rtnl_link_ops ;
6593 unsigned int gso_max_size ;
6594 struct dcbnl_rtnl_ops const *dcbnl_ops ;
6595 u8 num_tc ;
6596 struct netdev_tc_txq tc_to_txq[16] ;
6597 u8 prio_tc_map[16] ;
6598 unsigned int fcoe_ddp_xid ;
6599 struct netprio_map *priomap ;
6600 struct phy_device *phydev ;
6601 int group ;
6602};
6603#line 31 "include/linux/security.h"
6604struct cred;
6605#line 32
6606struct rlimit;
6607#line 33
6608struct siginfo;
6609#line 37
6610struct audit_context;
6611#line 38
6612struct super_block;
6613#line 39
6614struct inode;
6615#line 40
6616struct dentry;
6617#line 41
6618struct file;
6619#line 42
6620struct vfsmount;
6621#line 43
6622struct path;
6623#line 44
6624struct qstr;
6625#line 45
6626struct nameidata;
6627#line 46
6628struct iattr;
6629#line 47
6630struct fown_struct;
6631#line 48
6632struct file_operations;
6633#line 54
6634struct mm_struct;
6635#line 63
6636struct ctl_table;
6637#line 65
6638struct user_namespace;
6639#line 100
6640struct msghdr;
6641#line 101
6642struct sk_buff;
6643#line 102
6644struct sock;
6645#line 103
6646struct sockaddr;
6647#line 104
6648struct socket;
6649#line 106
6650struct dst_entry;
6651#line 108
6652struct xfrm_policy;
6653#line 108
6654struct xfrm_policy;
6655#line 109
6656struct xfrm_state;
6657#line 109
6658struct xfrm_state;
6659#line 111
6660struct seq_file;
6661#line 141
6662struct request_sock;
6663#line 141
6664struct request_sock;
6665#line 25 "include/linux/memcontrol.h"
6666struct mem_cgroup;
6667#line 27
6668struct page;
6669#line 28
6670struct mm_struct;
6671#line 439
6672struct sock;
6673#line 24 "include/linux/res_counter.h"
6674struct res_counter {
6675 unsigned long long usage ;
6676 unsigned long long max_usage ;
6677 unsigned long long limit ;
6678 unsigned long long soft_limit ;
6679 unsigned long long failcnt ;
6680 spinlock_t lock ;
6681 struct res_counter *parent ;
6682};
6683#line 26 "include/linux/filter.h"
6684struct sock_filter {
6685 __u16 code ;
6686 __u8 jt ;
6687 __u8 jf ;
6688 __u32 k ;
6689};
6690#line 135
6691struct sk_buff;
6692#line 136
6693struct sock;
6694#line 138 "include/linux/filter.h"
6695struct sk_filter {
6696 atomic_t refcnt ;
6697 unsigned int len ;
6698 unsigned int (*bpf_func)(struct sk_buff const *skb , struct sock_filter const *filter ) ;
6699 struct rcu_head rcu ;
6700 struct sock_filter insns[0] ;
6701};
6702#line 28 "include/linux/poll.h"
6703struct poll_table_struct;
6704#line 39 "include/linux/poll.h"
6705struct poll_table_struct {
6706 void (*_qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
6707 unsigned long _key ;
6708};
6709#line 212 "include/net/netlink.h"
6710struct nla_policy {
6711 u16 type ;
6712 u16 len ;
6713};
6714#line 48 "include/net/rtnetlink.h"
6715struct rtnl_link_ops {
6716 struct list_head list ;
6717 char const *kind ;
6718 size_t priv_size ;
6719 void (*setup)(struct net_device *dev ) ;
6720 int maxtype ;
6721 struct nla_policy const *policy ;
6722 int (*validate)(struct nlattr **tb , struct nlattr **data ) ;
6723 int (*newlink)(struct net *src_net , struct net_device *dev , struct nlattr **tb ,
6724 struct nlattr **data ) ;
6725 int (*changelink)(struct net_device *dev , struct nlattr **tb , struct nlattr **data ) ;
6726 void (*dellink)(struct net_device *dev , struct list_head *head ) ;
6727 size_t (*get_size)(struct net_device const *dev ) ;
6728 int (*fill_info)(struct sk_buff *skb , struct net_device const *dev ) ;
6729 size_t (*get_xstats_size)(struct net_device const *dev ) ;
6730 int (*fill_xstats)(struct sk_buff *skb , struct net_device const *dev ) ;
6731 int (*get_tx_queues)(struct net *net , struct nlattr **tb , unsigned int *tx_queues ,
6732 unsigned int *real_tx_queues ) ;
6733};
6734#line 38 "include/net/neighbour.h"
6735struct neighbour;
6736#line 40
6737struct neigh_table;
6738#line 40 "include/net/neighbour.h"
6739struct neigh_parms {
6740 struct net *net ;
6741 struct net_device *dev ;
6742 struct neigh_parms *next ;
6743 int (*neigh_setup)(struct neighbour * ) ;
6744 void (*neigh_cleanup)(struct neighbour * ) ;
6745 struct neigh_table *tbl ;
6746 void *sysctl_table ;
6747 int dead ;
6748 atomic_t refcnt ;
6749 struct rcu_head rcu_head ;
6750 int base_reachable_time ;
6751 int retrans_time ;
6752 int gc_staletime ;
6753 int reachable_time ;
6754 int delay_probe_time ;
6755 int queue_len_bytes ;
6756 int ucast_probes ;
6757 int app_probes ;
6758 int mcast_probes ;
6759 int anycast_delay ;
6760 int proxy_delay ;
6761 int proxy_qlen ;
6762 int locktime ;
6763};
6764#line 72 "include/net/neighbour.h"
6765struct neigh_statistics {
6766 unsigned long allocs ;
6767 unsigned long destroys ;
6768 unsigned long hash_grows ;
6769 unsigned long res_failed ;
6770 unsigned long lookups ;
6771 unsigned long hits ;
6772 unsigned long rcv_probes_mcast ;
6773 unsigned long rcv_probes_ucast ;
6774 unsigned long periodic_gc_runs ;
6775 unsigned long forced_gc_runs ;
6776 unsigned long unres_discards ;
6777};
6778#line 93
6779struct neigh_ops;
6780#line 93 "include/net/neighbour.h"
6781struct neighbour {
6782 struct neighbour *next ;
6783 struct neigh_table *tbl ;
6784 struct neigh_parms *parms ;
6785 unsigned long confirmed ;
6786 unsigned long updated ;
6787 rwlock_t lock ;
6788 atomic_t refcnt ;
6789 struct sk_buff_head arp_queue ;
6790 unsigned int arp_queue_len_bytes ;
6791 struct timer_list timer ;
6792 unsigned long used ;
6793 atomic_t probes ;
6794 __u8 flags ;
6795 __u8 nud_state ;
6796 __u8 type ;
6797 __u8 dead ;
6798 seqlock_t ha_lock ;
6799 unsigned char ha[(32 + ((int )sizeof(unsigned long ) - 1)) & ~ ((int )sizeof(unsigned long ) - 1)] ;
6800 struct hh_cache hh ;
6801 int (*output)(struct neighbour * , struct sk_buff * ) ;
6802 struct neigh_ops const *ops ;
6803 struct rcu_head rcu ;
6804 struct net_device *dev ;
6805 u8 primary_key[0] ;
6806};
6807#line 120 "include/net/neighbour.h"
6808struct neigh_ops {
6809 int family ;
6810 void (*solicit)(struct neighbour * , struct sk_buff * ) ;
6811 void (*error_report)(struct neighbour * , struct sk_buff * ) ;
6812 int (*output)(struct neighbour * , struct sk_buff * ) ;
6813 int (*connected_output)(struct neighbour * , struct sk_buff * ) ;
6814};
6815#line 128 "include/net/neighbour.h"
6816struct pneigh_entry {
6817 struct pneigh_entry *next ;
6818 struct net *net ;
6819 struct net_device *dev ;
6820 u8 flags ;
6821 u8 key[0] ;
6822};
6823#line 144 "include/net/neighbour.h"
6824struct neigh_hash_table {
6825 struct neighbour **hash_buckets ;
6826 unsigned int hash_shift ;
6827 __u32 hash_rnd[4] ;
6828 struct rcu_head rcu ;
6829};
6830#line 152 "include/net/neighbour.h"
6831struct neigh_table {
6832 struct neigh_table *next ;
6833 int family ;
6834 int entry_size ;
6835 int key_len ;
6836 __u32 (*hash)(void const *pkey , struct net_device const *dev , __u32 *hash_rnd ) ;
6837 int (*constructor)(struct neighbour * ) ;
6838 int (*pconstructor)(struct pneigh_entry * ) ;
6839 void (*pdestructor)(struct pneigh_entry * ) ;
6840 void (*proxy_redo)(struct sk_buff *skb ) ;
6841 char *id ;
6842 struct neigh_parms parms ;
6843 int gc_interval ;
6844 int gc_thresh1 ;
6845 int gc_thresh2 ;
6846 int gc_thresh3 ;
6847 unsigned long last_flush ;
6848 struct delayed_work gc_work ;
6849 struct timer_list proxy_timer ;
6850 struct sk_buff_head proxy_queue ;
6851 atomic_t entries ;
6852 rwlock_t lock ;
6853 unsigned long last_rand ;
6854 struct neigh_statistics *stats ;
6855 struct neigh_hash_table *nht ;
6856 struct pneigh_entry **phash_buckets ;
6857};
6858#line 31 "include/net/dst.h"
6859struct sk_buff;
6860#line 33 "include/net/dst.h"
6861union __anonunion____missing_field_name_367 {
6862 unsigned long expires ;
6863 struct dst_entry *from ;
6864};
6865#line 33
6866struct dn_route;
6867#line 33 "include/net/dst.h"
6868union __anonunion____missing_field_name_368 {
6869 struct dst_entry *next ;
6870 struct rtable *rt_next ;
6871 struct rt6_info *rt6_next ;
6872 struct dn_route *dn_next ;
6873};
6874#line 33 "include/net/dst.h"
6875struct dst_entry {
6876 struct rcu_head rcu_head ;
6877 struct dst_entry *child ;
6878 struct net_device *dev ;
6879 struct dst_ops *ops ;
6880 unsigned long _metrics ;
6881 union __anonunion____missing_field_name_367 __annonCompField57 ;
6882 struct dst_entry *path ;
6883 struct neighbour *_neighbour ;
6884 struct xfrm_state *xfrm ;
6885 int (*input)(struct sk_buff * ) ;
6886 int (*output)(struct sk_buff * ) ;
6887 int flags ;
6888 short error ;
6889 short obsolete ;
6890 unsigned short header_len ;
6891 unsigned short trailer_len ;
6892 __u32 tclassid ;
6893 long __pad_to_align_refcnt[2] ;
6894 atomic_t __refcnt ;
6895 int __use ;
6896 unsigned long lastuse ;
6897 union __anonunion____missing_field_name_368 __annonCompField58 ;
6898};
6899#line 70 "include/net/sock.h"
6900struct cgroup;
6901#line 71
6902struct cgroup_subsys;
6903#line 109 "include/net/sock.h"
6904struct __anonstruct_socket_lock_t_370 {
6905 spinlock_t slock ;
6906 int owned ;
6907 wait_queue_head_t wq ;
6908};
6909#line 109 "include/net/sock.h"
6910typedef struct __anonstruct_socket_lock_t_370 socket_lock_t;
6911#line 124
6912struct sock;
6913#line 125
6914struct proto;
6915#line 125
6916struct proto;
6917#line 126
6918struct net;
6919#line 150 "include/net/sock.h"
6920union __anonunion____missing_field_name_371 {
6921 unsigned int skc_hash ;
6922 __u16 skc_u16hashes[2] ;
6923};
6924#line 150 "include/net/sock.h"
6925union __anonunion____missing_field_name_372 {
6926 struct hlist_node skc_bind_node ;
6927 struct hlist_nulls_node skc_portaddr_node ;
6928};
6929#line 150 "include/net/sock.h"
6930union __anonunion____missing_field_name_373 {
6931 struct hlist_node skc_node ;
6932 struct hlist_nulls_node skc_nulls_node ;
6933};
6934#line 150 "include/net/sock.h"
6935struct sock_common {
6936 __be32 skc_daddr ;
6937 __be32 skc_rcv_saddr ;
6938 union __anonunion____missing_field_name_371 __annonCompField59 ;
6939 unsigned short skc_family ;
6940 unsigned char volatile skc_state ;
6941 unsigned char skc_reuse ;
6942 int skc_bound_dev_if ;
6943 union __anonunion____missing_field_name_372 __annonCompField60 ;
6944 struct proto *skc_prot ;
6945 struct net *skc_net ;
6946 int skc_dontcopy_begin[0] ;
6947 union __anonunion____missing_field_name_373 __annonCompField61 ;
6948 int skc_tx_queue_mapping ;
6949 atomic_t skc_refcnt ;
6950 int skc_dontcopy_end[0] ;
6951};
6952#line 191
6953struct cg_proto;
6954#line 191
6955struct cg_proto;
6956#line 263 "include/net/sock.h"
6957struct __anonstruct_sk_backlog_374 {
6958 atomic_t rmem_alloc ;
6959 int len ;
6960 struct sk_buff *head ;
6961 struct sk_buff *tail ;
6962};
6963#line 263 "include/net/sock.h"
6964struct sock {
6965 struct sock_common __sk_common ;
6966 socket_lock_t sk_lock ;
6967 struct sk_buff_head sk_receive_queue ;
6968 struct __anonstruct_sk_backlog_374 sk_backlog ;
6969 int sk_forward_alloc ;
6970 __u32 sk_rxhash ;
6971 atomic_t sk_drops ;
6972 int sk_rcvbuf ;
6973 struct sk_filter *sk_filter ;
6974 struct socket_wq *sk_wq ;
6975 struct sk_buff_head sk_async_wait_queue ;
6976 struct xfrm_policy *sk_policy[2] ;
6977 unsigned long sk_flags ;
6978 struct dst_entry *sk_dst_cache ;
6979 spinlock_t sk_dst_lock ;
6980 atomic_t sk_wmem_alloc ;
6981 atomic_t sk_omem_alloc ;
6982 int sk_sndbuf ;
6983 struct sk_buff_head sk_write_queue ;
6984 unsigned int sk_shutdown : 2 ;
6985 unsigned int sk_no_check : 2 ;
6986 unsigned int sk_userlocks : 4 ;
6987 unsigned int sk_protocol : 8 ;
6988 unsigned int sk_type : 16 ;
6989 int sk_wmem_queued ;
6990 gfp_t sk_allocation ;
6991 netdev_features_t sk_route_caps ;
6992 netdev_features_t sk_route_nocaps ;
6993 int sk_gso_type ;
6994 unsigned int sk_gso_max_size ;
6995 int sk_rcvlowat ;
6996 unsigned long sk_lingertime ;
6997 struct sk_buff_head sk_error_queue ;
6998 struct proto *sk_prot_creator ;
6999 rwlock_t sk_callback_lock ;
7000 int sk_err ;
7001 int sk_err_soft ;
7002 unsigned short sk_ack_backlog ;
7003 unsigned short sk_max_ack_backlog ;
7004 __u32 sk_priority ;
7005 __u32 sk_cgrp_prioidx ;
7006 struct pid *sk_peer_pid ;
7007 struct cred const *sk_peer_cred ;
7008 long sk_rcvtimeo ;
7009 long sk_sndtimeo ;
7010 void *sk_protinfo ;
7011 struct timer_list sk_timer ;
7012 ktime_t sk_stamp ;
7013 struct socket *sk_socket ;
7014 void *sk_user_data ;
7015 struct page *sk_sndmsg_page ;
7016 struct sk_buff *sk_send_head ;
7017 __u32 sk_sndmsg_off ;
7018 __s32 sk_peek_off ;
7019 int sk_write_pending ;
7020 void *sk_security ;
7021 __u32 sk_mark ;
7022 u32 sk_classid ;
7023 struct cg_proto *sk_cgrp ;
7024 void (*sk_state_change)(struct sock *sk ) ;
7025 void (*sk_data_ready)(struct sock *sk , int bytes ) ;
7026 void (*sk_write_space)(struct sock *sk ) ;
7027 void (*sk_error_report)(struct sock *sk ) ;
7028 int (*sk_backlog_rcv)(struct sock *sk , struct sk_buff *skb ) ;
7029 void (*sk_destruct)(struct sock *sk ) ;
7030};
7031#line 788
7032struct request_sock_ops;
7033#line 788
7034struct request_sock_ops;
7035#line 789
7036struct timewait_sock_ops;
7037#line 789
7038struct timewait_sock_ops;
7039#line 790
7040struct inet_hashinfo;
7041#line 790
7042struct inet_hashinfo;
7043#line 791
7044struct raw_hashinfo;
7045#line 791
7046struct raw_hashinfo;
7047#line 792
7048struct module;
7049#line 798
7050struct udp_table;
7051#line 798 "include/net/sock.h"
7052union __anonunion_h_375 {
7053 struct inet_hashinfo *hashinfo ;
7054 struct udp_table *udp_table ;
7055 struct raw_hashinfo *raw_hash ;
7056};
7057#line 798 "include/net/sock.h"
7058struct proto {
7059 void (*close)(struct sock *sk , long timeout ) ;
7060 int (*connect)(struct sock *sk , struct sockaddr *uaddr , int addr_len ) ;
7061 int (*disconnect)(struct sock *sk , int flags ) ;
7062 struct sock *(*accept)(struct sock *sk , int flags , int *err ) ;
7063 int (*ioctl)(struct sock *sk , int cmd , unsigned long arg ) ;
7064 int (*init)(struct sock *sk ) ;
7065 void (*destroy)(struct sock *sk ) ;
7066 void (*shutdown)(struct sock *sk , int how ) ;
7067 int (*setsockopt)(struct sock *sk , int level , int optname , char *optval , unsigned int optlen ) ;
7068 int (*getsockopt)(struct sock *sk , int level , int optname , char *optval , int *option ) ;
7069 int (*compat_setsockopt)(struct sock *sk , int level , int optname , char *optval ,
7070 unsigned int optlen ) ;
7071 int (*compat_getsockopt)(struct sock *sk , int level , int optname , char *optval ,
7072 int *option ) ;
7073 int (*compat_ioctl)(struct sock *sk , unsigned int cmd , unsigned long arg ) ;
7074 int (*sendmsg)(struct kiocb *iocb , struct sock *sk , struct msghdr *msg , size_t len ) ;
7075 int (*recvmsg)(struct kiocb *iocb , struct sock *sk , struct msghdr *msg , size_t len ,
7076 int noblock , int flags , int *addr_len ) ;
7077 int (*sendpage)(struct sock *sk , struct page *page , int offset , size_t size ,
7078 int flags ) ;
7079 int (*bind)(struct sock *sk , struct sockaddr *uaddr , int addr_len ) ;
7080 int (*backlog_rcv)(struct sock *sk , struct sk_buff *skb ) ;
7081 void (*hash)(struct sock *sk ) ;
7082 void (*unhash)(struct sock *sk ) ;
7083 void (*rehash)(struct sock *sk ) ;
7084 int (*get_port)(struct sock *sk , unsigned short snum ) ;
7085 void (*clear_sk)(struct sock *sk , int size ) ;
7086 unsigned int inuse_idx ;
7087 void (*enter_memory_pressure)(struct sock *sk ) ;
7088 atomic_long_t *memory_allocated ;
7089 struct percpu_counter *sockets_allocated ;
7090 int *memory_pressure ;
7091 long *sysctl_mem ;
7092 int *sysctl_wmem ;
7093 int *sysctl_rmem ;
7094 int max_header ;
7095 bool no_autobind ;
7096 struct kmem_cache *slab ;
7097 unsigned int obj_size ;
7098 int slab_flags ;
7099 struct percpu_counter *orphan_count ;
7100 struct request_sock_ops *rsk_prot ;
7101 struct timewait_sock_ops *twsk_prot ;
7102 union __anonunion_h_375 h ;
7103 struct module *owner ;
7104 char name[32] ;
7105 struct list_head node ;
7106 int (*init_cgroup)(struct cgroup *cgrp , struct cgroup_subsys *ss ) ;
7107 void (*destroy_cgroup)(struct cgroup *cgrp ) ;
7108 struct cg_proto *(*proto_cgroup)(struct mem_cgroup *memcg ) ;
7109};
7110#line 911 "include/net/sock.h"
7111struct cg_proto {
7112 void (*enter_memory_pressure)(struct sock *sk ) ;
7113 struct res_counter *memory_allocated ;
7114 struct percpu_counter *sockets_allocated ;
7115 int *memory_pressure ;
7116 long *sysctl_mem ;
7117 struct mem_cgroup *memcg ;
7118};
7119#line 25 "include/net/request_sock.h"
7120struct request_sock;
7121#line 26
7122struct sk_buff;
7123#line 27
7124struct dst_entry;
7125#line 28
7126struct proto;
7127#line 32 "include/net/request_sock.h"
7128struct request_values {
7129
7130};
7131#line 35 "include/net/request_sock.h"
7132struct request_sock_ops {
7133 int family ;
7134 int obj_size ;
7135 struct kmem_cache *slab ;
7136 char *slab_name ;
7137 int (*rtx_syn_ack)(struct sock *sk , struct request_sock *req , struct request_values *rvp ) ;
7138 void (*send_ack)(struct sock *sk , struct sk_buff *skb , struct request_sock *req ) ;
7139 void (*send_reset)(struct sock *sk , struct sk_buff *skb ) ;
7140 void (*destructor)(struct request_sock *req ) ;
7141 void (*syn_ack_timeout)(struct sock *sk , struct request_sock *req ) ;
7142};
7143#line 54 "include/net/request_sock.h"
7144struct request_sock {
7145 struct request_sock *dl_next ;
7146 u16 mss ;
7147 u8 retrans ;
7148 u8 cookie_ts ;
7149 u32 window_clamp ;
7150 u32 rcv_wnd ;
7151 u32 ts_recent ;
7152 unsigned long expires ;
7153 struct request_sock_ops const *rsk_ops ;
7154 struct sock *sk ;
7155 u32 secid ;
7156 u32 peer_secid ;
7157};
7158#line 6 "include/net/netns/hash.h"
7159struct net;
7160#line 118 "include/net/inet_sock.h"
7161struct rtable;
7162#line 38 "include/net/inet_connection_sock.h"
7163struct inet_peer;
7164#line 18 "include/net/timewait_sock.h"
7165struct timewait_sock_ops {
7166 struct kmem_cache *twsk_slab ;
7167 char *twsk_slab_name ;
7168 unsigned int twsk_obj_size ;
7169 int (*twsk_unique)(struct sock *sk , struct sock *sktw , void *twp ) ;
7170 void (*twsk_destructor)(struct sock *sk ) ;
7171 void *(*twsk_getpeer)(struct sock *sk ) ;
7172};
7173#line 32 "include/net/inet_timewait_sock.h"
7174struct inet_hashinfo;
7175#line 116 "include/linux/crypto.h"
7176struct scatterlist;
7177#line 187 "include/linux/interrupt.h"
7178struct device;
7179#line 695
7180struct seq_file;
7181#line 135 "include/linux/ipv6.h"
7182struct ipv6_devconf {
7183 __s32 forwarding ;
7184 __s32 hop_limit ;
7185 __s32 mtu6 ;
7186 __s32 accept_ra ;
7187 __s32 accept_redirects ;
7188 __s32 autoconf ;
7189 __s32 dad_transmits ;
7190 __s32 rtr_solicits ;
7191 __s32 rtr_solicit_interval ;
7192 __s32 rtr_solicit_delay ;
7193 __s32 force_mld_version ;
7194 __s32 use_tempaddr ;
7195 __s32 temp_valid_lft ;
7196 __s32 temp_prefered_lft ;
7197 __s32 regen_max_retry ;
7198 __s32 max_desync_factor ;
7199 __s32 max_addresses ;
7200 __s32 accept_ra_defrtr ;
7201 __s32 accept_ra_pinfo ;
7202 __s32 accept_ra_rtr_pref ;
7203 __s32 rtr_probe_interval ;
7204 __s32 accept_ra_rt_info_max_plen ;
7205 __s32 proxy_ndp ;
7206 __s32 accept_source_route ;
7207 __s32 optimistic_dad ;
7208 __s32 mc_forwarding ;
7209 __s32 disable_ipv6 ;
7210 __s32 accept_dad ;
7211 __s32 force_tllao ;
7212 void *sysctl ;
7213};
7214#line 187 "include/linux/icmpv6.h"
7215struct in6_addr;
7216#line 98 "include/net/if_inet6.h"
7217struct ip6_sf_list {
7218 struct ip6_sf_list *sf_next ;
7219 struct in6_addr sf_addr ;
7220 unsigned long sf_count[2] ;
7221 unsigned char sf_gsresp ;
7222 unsigned char sf_oldin ;
7223 unsigned char sf_crcount ;
7224};
7225#line 113 "include/net/if_inet6.h"
7226struct ifmcaddr6 {
7227 struct in6_addr mca_addr ;
7228 struct inet6_dev *idev ;
7229 struct ifmcaddr6 *next ;
7230 struct ip6_sf_list *mca_sources ;
7231 struct ip6_sf_list *mca_tomb ;
7232 unsigned int mca_sfmode ;
7233 unsigned char mca_crcount ;
7234 unsigned long mca_sfcount[2] ;
7235 struct timer_list mca_timer ;
7236 unsigned int mca_flags ;
7237 int mca_users ;
7238 atomic_t mca_refcnt ;
7239 spinlock_t mca_lock ;
7240 unsigned long mca_cstamp ;
7241 unsigned long mca_tstamp ;
7242};
7243#line 139 "include/net/if_inet6.h"
7244struct ifacaddr6 {
7245 struct in6_addr aca_addr ;
7246 struct inet6_dev *aca_idev ;
7247 struct rt6_info *aca_rt ;
7248 struct ifacaddr6 *aca_next ;
7249 int aca_users ;
7250 atomic_t aca_refcnt ;
7251 spinlock_t aca_lock ;
7252 unsigned long aca_cstamp ;
7253 unsigned long aca_tstamp ;
7254};
7255#line 155 "include/net/if_inet6.h"
7256struct ipv6_devstat {
7257 struct proc_dir_entry *proc_dir_entry ;
7258 struct ipstats_mib *ipv6[1] ;
7259 struct icmpv6_mib_device *icmpv6dev ;
7260 struct icmpv6msg_mib_device *icmpv6msgdev ;
7261};
7262#line 162 "include/net/if_inet6.h"
7263struct inet6_dev {
7264 struct net_device *dev ;
7265 struct list_head addr_list ;
7266 struct ifmcaddr6 *mc_list ;
7267 struct ifmcaddr6 *mc_tomb ;
7268 spinlock_t mc_lock ;
7269 unsigned char mc_qrv ;
7270 unsigned char mc_gq_running ;
7271 unsigned char mc_ifc_count ;
7272 unsigned long mc_v1_seen ;
7273 unsigned long mc_maxdelay ;
7274 struct timer_list mc_gq_timer ;
7275 struct timer_list mc_ifc_timer ;
7276 struct ifacaddr6 *ac_list ;
7277 rwlock_t lock ;
7278 atomic_t refcnt ;
7279 __u32 if_flags ;
7280 int dead ;
7281 u8 rndid[8] ;
7282 struct timer_list regen_timer ;
7283 struct list_head tempaddr_list ;
7284 struct neigh_parms *nd_parms ;
7285 struct inet6_dev *next ;
7286 struct ipv6_devconf cnf ;
7287 struct ipv6_devstat stats ;
7288 unsigned long tstamp ;
7289 struct rcu_head rcu ;
7290};
7291#line 52 "include/net/ndisc.h"
7292struct ctl_table;
7293#line 53
7294struct inet6_dev;
7295#line 54
7296struct net_device;
7297#line 56
7298struct sk_buff;
7299#line 18 "include/net/inetpeer.h"
7300union __anonunion____missing_field_name_398 {
7301 __be32 a4 ;
7302 __be32 a6[4] ;
7303};
7304#line 18 "include/net/inetpeer.h"
7305struct inetpeer_addr_base {
7306 union __anonunion____missing_field_name_398 __annonCompField62 ;
7307};
7308#line 25 "include/net/inetpeer.h"
7309struct inetpeer_addr {
7310 struct inetpeer_addr_base addr ;
7311 __u16 family ;
7312};
7313#line 30 "include/net/inetpeer.h"
7314struct __anonstruct____missing_field_name_400 {
7315 atomic_t rid ;
7316 atomic_t ip_id_count ;
7317 __u32 tcp_ts ;
7318 __u32 tcp_ts_stamp ;
7319};
7320#line 30 "include/net/inetpeer.h"
7321union __anonunion____missing_field_name_399 {
7322 struct __anonstruct____missing_field_name_400 __annonCompField63 ;
7323 struct rcu_head rcu ;
7324 struct inet_peer *gc_next ;
7325};
7326#line 30 "include/net/inetpeer.h"
7327struct inet_peer {
7328 struct inet_peer *avl_left ;
7329 struct inet_peer *avl_right ;
7330 struct inetpeer_addr daddr ;
7331 __u32 avl_height ;
7332 u32 metrics[14] ;
7333 u32 rate_tokens ;
7334 unsigned long rate_last ;
7335 unsigned long pmtu_expires ;
7336 u32 pmtu_orig ;
7337 u32 pmtu_learned ;
7338 struct inetpeer_addr_base redirect_learned ;
7339 struct list_head gc_list ;
7340 union __anonunion____missing_field_name_399 __annonCompField64 ;
7341 __u32 dtime ;
7342 atomic_t refcnt ;
7343};
7344#line 43 "include/net/route.h"
7345struct inet_peer;
7346#line 44
7347struct fib_info;
7348#line 44
7349struct fib_info;
7350#line 45 "include/net/route.h"
7351struct rtable {
7352 struct dst_entry dst ;
7353 __be32 rt_key_dst ;
7354 __be32 rt_key_src ;
7355 int rt_genid ;
7356 unsigned int rt_flags ;
7357 __u16 rt_type ;
7358 __u8 rt_key_tos ;
7359 __be32 rt_dst ;
7360 __be32 rt_src ;
7361 int rt_route_iif ;
7362 int rt_iif ;
7363 int rt_oif ;
7364 __u32 rt_mark ;
7365 __be32 rt_gateway ;
7366 __be32 rt_spec_dst ;
7367 u32 rt_peer_genid ;
7368 struct inet_peer *peer ;
7369 struct fib_info *fi ;
7370};
7371#line 112
7372struct in_device;
7373#line 43 "include/net/inet_hashtables.h"
7374struct inet_ehash_bucket {
7375 struct hlist_nulls_head chain ;
7376 struct hlist_nulls_head twchain ;
7377};
7378#line 98 "include/net/inet_hashtables.h"
7379struct inet_bind_hashbucket {
7380 spinlock_t lock ;
7381 struct hlist_head chain ;
7382};
7383#line 110 "include/net/inet_hashtables.h"
7384struct inet_listen_hashbucket {
7385 spinlock_t lock ;
7386 struct hlist_nulls_head head ;
7387};
7388#line 118 "include/net/inet_hashtables.h"
7389struct inet_hashinfo {
7390 struct inet_ehash_bucket *ehash ;
7391 spinlock_t *ehash_locks ;
7392 unsigned int ehash_mask ;
7393 unsigned int ehash_locks_mask ;
7394 struct inet_bind_hashbucket *bhash ;
7395 unsigned int bhash_size ;
7396 struct kmem_cache *bind_bucket_cachep ;
7397 struct inet_listen_hashbucket listening_hash[32] __attribute__((__aligned__((1) <<
7398 (6) ))) ;
7399 atomic_t bsockets ;
7400};
7401#line 34 "include/net/ip.h"
7402struct sock;
7403#line 81
7404struct msghdr;
7405#line 82
7406struct net_device;
7407#line 84
7408struct rtable;
7409#line 85
7410struct sockaddr;
7411#line 133 "include/target/target_core_base.h"
7412enum transport_lun_status_table {
7413 TRANSPORT_LUN_STATUS_FREE = 0,
7414 TRANSPORT_LUN_STATUS_ACTIVE = 1
7415} ;
7416#line 139
7417enum transport_tpg_type_table {
7418 TRANSPORT_TPG_TYPE_NORMAL = 0,
7419 TRANSPORT_TPG_TYPE_DISCOVERY = 1
7420} ;
7421#line 153
7422enum transport_state_table {
7423 TRANSPORT_NO_STATE = 0,
7424 TRANSPORT_NEW_CMD = 1,
7425 TRANSPORT_WRITE_PENDING = 3,
7426 TRANSPORT_PROCESS_WRITE = 4,
7427 TRANSPORT_PROCESSING = 5,
7428 TRANSPORT_COMPLETE = 6,
7429 TRANSPORT_PROCESS_TMR = 9,
7430 TRANSPORT_ISTATE_PROCESSING = 11,
7431 TRANSPORT_NEW_CMD_MAP = 16,
7432 TRANSPORT_COMPLETE_QF_WP = 18,
7433 TRANSPORT_COMPLETE_QF_OK = 19
7434} ;
7435#line 263 "include/target/target_core_base.h"
7436struct se_obj {
7437 atomic_t obj_access_count ;
7438};
7439#line 271
7440enum __anonenum_t10_alua_index_t_404 {
7441 SPC_ALUA_PASSTHROUGH = 0,
7442 SPC2_ALUA_DISABLED = 1,
7443 SPC3_ALUA_EMULATED = 2
7444} ;
7445#line 271 "include/target/target_core_base.h"
7446typedef enum __anonenum_t10_alua_index_t_404 t10_alua_index_t;
7447#line 281
7448enum __anonenum_t10_task_attr_index_t_405 {
7449 SAM_TASK_ATTR_PASSTHROUGH = 0,
7450 SAM_TASK_ATTR_UNTAGGED = 1,
7451 SAM_TASK_ATTR_EMULATED = 2
7452} ;
7453#line 281 "include/target/target_core_base.h"
7454typedef enum __anonenum_t10_task_attr_index_t_405 t10_task_attr_index_t;
7455#line 297
7456struct se_cmd;
7457#line 297
7458struct se_cmd;
7459#line 299
7460struct se_subsystem_dev;
7461#line 299
7462struct t10_alua_tg_pt_gp;
7463#line 299 "include/target/target_core_base.h"
7464struct t10_alua {
7465 t10_alua_index_t alua_type ;
7466 u16 alua_tg_pt_gps_counter ;
7467 u32 alua_tg_pt_gps_count ;
7468 spinlock_t tg_pt_gps_lock ;
7469 struct se_subsystem_dev *t10_sub_dev ;
7470 struct t10_alua_tg_pt_gp *default_tg_pt_gp ;
7471 struct config_group alua_tg_pt_gps_group ;
7472 int (*alua_state_check)(struct se_cmd * , unsigned char * , u8 * ) ;
7473 struct list_head tg_pt_gps_list ;
7474};
7475#line 314 "include/target/target_core_base.h"
7476struct t10_alua_lu_gp {
7477 u16 lu_gp_id ;
7478 int lu_gp_valid_id ;
7479 u32 lu_gp_members ;
7480 atomic_t lu_gp_ref_cnt ;
7481 spinlock_t lu_gp_lock ;
7482 struct config_group lu_gp_group ;
7483 struct list_head lu_gp_node ;
7484 struct list_head lu_gp_mem_list ;
7485};
7486#line 325
7487struct se_device;
7488#line 325 "include/target/target_core_base.h"
7489struct t10_alua_lu_gp_member {
7490 bool lu_gp_assoc ;
7491 atomic_t lu_gp_mem_ref_cnt ;
7492 spinlock_t lu_gp_mem_lock ;
7493 struct t10_alua_lu_gp *lu_gp ;
7494 struct se_device *lu_gp_mem_dev ;
7495 struct list_head lu_gp_mem_list ;
7496};
7497#line 334 "include/target/target_core_base.h"
7498struct t10_alua_tg_pt_gp {
7499 u16 tg_pt_gp_id ;
7500 int tg_pt_gp_valid_id ;
7501 int tg_pt_gp_alua_access_status ;
7502 int tg_pt_gp_alua_access_type ;
7503 int tg_pt_gp_nonop_delay_msecs ;
7504 int tg_pt_gp_trans_delay_msecs ;
7505 int tg_pt_gp_pref ;
7506 int tg_pt_gp_write_metadata ;
7507 u32 tg_pt_gp_md_buf_len ;
7508 u32 tg_pt_gp_members ;
7509 atomic_t tg_pt_gp_alua_access_state ;
7510 atomic_t tg_pt_gp_ref_cnt ;
7511 spinlock_t tg_pt_gp_lock ;
7512 struct mutex tg_pt_gp_md_mutex ;
7513 struct se_subsystem_dev *tg_pt_gp_su_dev ;
7514 struct config_group tg_pt_gp_group ;
7515 struct list_head tg_pt_gp_list ;
7516 struct list_head tg_pt_gp_mem_list ;
7517};
7518#line 357
7519struct se_port;
7520#line 357 "include/target/target_core_base.h"
7521struct t10_alua_tg_pt_gp_member {
7522 bool tg_pt_gp_assoc ;
7523 atomic_t tg_pt_gp_mem_ref_cnt ;
7524 spinlock_t tg_pt_gp_mem_lock ;
7525 struct t10_alua_tg_pt_gp *tg_pt_gp ;
7526 struct se_port *tg_pt ;
7527 struct list_head tg_pt_gp_mem_list ;
7528};
7529#line 376 "include/target/target_core_base.h"
7530struct t10_wwn {
7531 char vendor[8] ;
7532 char model[16] ;
7533 char revision[4] ;
7534 char unit_serial[254] ;
7535 spinlock_t t10_vpd_lock ;
7536 struct se_subsystem_dev *t10_sub_dev ;
7537 struct config_group t10_wwn_group ;
7538 struct list_head t10_vpd_list ;
7539};
7540#line 393
7541enum __anonenum_t10_reservations_index_t_407 {
7542 SPC_PASSTHROUGH = 0,
7543 SPC2_RESERVATIONS = 1,
7544 SPC3_PERSISTENT_RESERVATIONS = 2
7545} ;
7546#line 393 "include/target/target_core_base.h"
7547typedef enum __anonenum_t10_reservations_index_t_407 t10_reservations_index_t;
7548#line 399
7549struct se_node_acl;
7550#line 399
7551struct se_dev_entry;
7552#line 399
7553struct se_lun;
7554#line 399 "include/target/target_core_base.h"
7555struct t10_pr_registration {
7556 char pr_reg_isid[16] ;
7557 unsigned char pr_iport[256] ;
7558 unsigned char pr_tport[256] ;
7559 unsigned char *pr_aptpl_buf ;
7560 u16 pr_aptpl_rpti ;
7561 u16 pr_reg_tpgt ;
7562 int pr_reg_all_tg_pt ;
7563 int pr_reg_aptpl ;
7564 int pr_res_holder ;
7565 int pr_res_type ;
7566 int pr_res_scope ;
7567 bool isid_present_at_reg ;
7568 u32 pr_res_mapped_lun ;
7569 u32 pr_aptpl_target_lun ;
7570 u32 pr_res_generation ;
7571 u64 pr_reg_bin_isid ;
7572 u64 pr_res_key ;
7573 atomic_t pr_res_holders ;
7574 struct se_node_acl *pr_reg_nacl ;
7575 struct se_dev_entry *pr_reg_deve ;
7576 struct se_lun *pr_reg_tg_pt_lun ;
7577 struct list_head pr_reg_list ;
7578 struct list_head pr_reg_abort_list ;
7579 struct list_head pr_reg_aptpl_list ;
7580 struct list_head pr_reg_atp_list ;
7581 struct list_head pr_reg_atp_mem_list ;
7582};
7583#line 445 "include/target/target_core_base.h"
7584struct t10_reservation_ops {
7585 int (*t10_reservation_check)(struct se_cmd * , u32 * ) ;
7586 int (*t10_seq_non_holder)(struct se_cmd * , unsigned char * , u32 ) ;
7587 int (*t10_pr_register)(struct se_cmd * ) ;
7588 int (*t10_pr_clear)(struct se_cmd * ) ;
7589};
7590#line 452 "include/target/target_core_base.h"
7591struct t10_reservation {
7592 int pr_all_tg_pt ;
7593 int pr_aptpl_active ;
7594 u32 pr_aptpl_buf_len ;
7595 u32 pr_generation ;
7596 t10_reservations_index_t res_type ;
7597 spinlock_t registration_lock ;
7598 spinlock_t aptpl_reg_lock ;
7599 struct se_node_acl *pr_res_holder ;
7600 struct list_head registration_list ;
7601 struct list_head aptpl_reg_list ;
7602 struct t10_reservation_ops pr_ops ;
7603};
7604#line 481 "include/target/target_core_base.h"
7605struct se_queue_obj {
7606 atomic_t queue_cnt ;
7607 spinlock_t cmd_queue_lock ;
7608 struct list_head qobj_list ;
7609 wait_queue_head_t thread_wq ;
7610};
7611#line 488 "include/target/target_core_base.h"
7612struct se_task {
7613 unsigned long long task_lba ;
7614 u32 task_sectors ;
7615 u32 task_size ;
7616 struct se_cmd *task_se_cmd ;
7617 struct scatterlist *task_sg ;
7618 u32 task_sg_nents ;
7619 u16 task_flags ;
7620 u8 task_scsi_status ;
7621 enum dma_data_direction task_data_direction ;
7622 struct list_head t_list ;
7623 struct list_head t_execute_list ;
7624 struct list_head t_state_list ;
7625 bool t_state_active ;
7626 struct completion task_stop_comp ;
7627};
7628#line 505 "include/target/target_core_base.h"
7629struct se_tmr_req {
7630 u8 function ;
7631 u8 response ;
7632 int call_transport ;
7633 u32 ref_task_tag ;
7634 u64 ref_task_lun ;
7635 void *fabric_tmr_ptr ;
7636 struct se_cmd *task_cmd ;
7637 struct se_cmd *ref_cmd ;
7638 struct se_device *tmr_dev ;
7639 struct se_lun *tmr_lun ;
7640 struct list_head tmr_list ;
7641};
7642#line 523
7643struct se_session;
7644#line 523
7645struct target_core_fabric_ops;
7646#line 523 "include/target/target_core_base.h"
7647struct se_cmd {
7648 u8 scsi_status ;
7649 u8 scsi_asc ;
7650 u8 scsi_ascq ;
7651 u8 scsi_sense_reason ;
7652 u16 scsi_sense_length ;
7653 int alua_nonop_delay ;
7654 enum dma_data_direction data_direction ;
7655 int sam_task_attr ;
7656 enum transport_state_table t_state ;
7657 unsigned int check_release : 1 ;
7658 unsigned int cmd_wait_set : 1 ;
7659 u32 se_cmd_flags ;
7660 u32 se_ordered_id ;
7661 u32 data_length ;
7662 u32 cmd_spdtl ;
7663 u32 residual_count ;
7664 u32 orig_fe_lun ;
7665 u64 pr_res_key ;
7666 void *sense_buffer ;
7667 struct list_head se_delayed_node ;
7668 struct list_head se_lun_node ;
7669 struct list_head se_qf_node ;
7670 struct se_device *se_dev ;
7671 struct se_dev_entry *se_deve ;
7672 struct se_lun *se_lun ;
7673 struct se_session *se_sess ;
7674 struct se_tmr_req *se_tmr_req ;
7675 struct list_head se_queue_node ;
7676 struct list_head se_cmd_list ;
7677 struct completion cmd_wait_comp ;
7678 struct kref cmd_kref ;
7679 struct target_core_fabric_ops *se_tfo ;
7680 int (*execute_task)(struct se_task * ) ;
7681 void (*transport_complete_callback)(struct se_cmd * ) ;
7682 unsigned char *t_task_cdb ;
7683 unsigned char __t_task_cdb[32] ;
7684 unsigned long long t_task_lba ;
7685 u32 t_tasks_sg_chained_no ;
7686 atomic_t t_fe_count ;
7687 atomic_t t_se_count ;
7688 atomic_t t_task_cdbs_left ;
7689 atomic_t t_task_cdbs_ex_left ;
7690 atomic_t t_task_cdbs_sent ;
7691 unsigned int transport_state ;
7692 spinlock_t t_state_lock ;
7693 struct completion t_transport_stop_comp ;
7694 struct completion transport_lun_fe_stop_comp ;
7695 struct completion transport_lun_stop_comp ;
7696 struct scatterlist *t_tasks_sg_chained ;
7697 struct work_struct work ;
7698 struct scatterlist *t_data_sg ;
7699 unsigned int t_data_nents ;
7700 void *t_data_vmap ;
7701 struct scatterlist *t_bidi_data_sg ;
7702 unsigned int t_bidi_data_nents ;
7703 struct list_head t_task_list ;
7704 u32 t_task_list_num ;
7705};
7706#line 619
7707struct se_portal_group;
7708#line 619 "include/target/target_core_base.h"
7709struct se_node_acl {
7710 char initiatorname[224] ;
7711 bool dynamic_node_acl ;
7712 bool acl_stop : 1 ;
7713 u32 queue_depth ;
7714 u32 acl_index ;
7715 u64 num_cmds ;
7716 u64 read_bytes ;
7717 u64 write_bytes ;
7718 spinlock_t stats_lock ;
7719 atomic_t acl_pr_ref_count ;
7720 struct se_dev_entry **device_list ;
7721 struct se_session *nacl_sess ;
7722 struct se_portal_group *se_tpg ;
7723 spinlock_t device_list_lock ;
7724 spinlock_t nacl_sess_lock ;
7725 struct config_group acl_group ;
7726 struct config_group acl_attrib_group ;
7727 struct config_group acl_auth_group ;
7728 struct config_group acl_param_group ;
7729 struct config_group acl_fabric_stat_group ;
7730 struct config_group *acl_default_groups[5] ;
7731 struct list_head acl_list ;
7732 struct list_head acl_sess_list ;
7733 struct completion acl_free_comp ;
7734 struct kref acl_kref ;
7735};
7736#line 649 "include/target/target_core_base.h"
7737struct se_session {
7738 unsigned int sess_tearing_down : 1 ;
7739 u64 sess_bin_isid ;
7740 struct se_node_acl *se_node_acl ;
7741 struct se_portal_group *se_tpg ;
7742 void *fabric_sess_ptr ;
7743 struct list_head sess_list ;
7744 struct list_head sess_acl_list ;
7745 struct list_head sess_cmd_list ;
7746 struct list_head sess_wait_list ;
7747 spinlock_t sess_cmd_lock ;
7748 struct kref sess_kref ;
7749};
7750#line 663
7751struct se_device;
7752#line 665
7753struct scatterlist;
7754#line 667 "include/target/target_core_base.h"
7755struct se_ml_stat_grps {
7756 struct config_group stat_group ;
7757 struct config_group scsi_auth_intr_group ;
7758 struct config_group scsi_att_intr_port_group ;
7759};
7760#line 673 "include/target/target_core_base.h"
7761struct se_lun_acl {
7762 char initiatorname[224] ;
7763 u32 mapped_lun ;
7764 struct se_node_acl *se_lun_nacl ;
7765 struct se_lun *se_lun ;
7766 struct list_head lacl_list ;
7767 struct config_group se_lun_group ;
7768 struct se_ml_stat_grps ml_stat_grps ;
7769};
7770#line 683 "include/target/target_core_base.h"
7771struct se_dev_entry {
7772 bool def_pr_registered ;
7773 u32 lun_flags ;
7774 u32 deve_cmds ;
7775 u32 mapped_lun ;
7776 u32 average_bytes ;
7777 u32 last_byte_count ;
7778 u32 total_cmds ;
7779 u32 total_bytes ;
7780 u64 pr_res_key ;
7781 u64 creation_time ;
7782 u32 attach_count ;
7783 u64 read_bytes ;
7784 u64 write_bytes ;
7785 atomic_t ua_count ;
7786 atomic_t pr_ref_count ;
7787 struct se_lun_acl *se_lun_acl ;
7788 spinlock_t ua_lock ;
7789 struct se_lun *se_lun ;
7790 struct list_head alua_port_list ;
7791 struct list_head ua_list ;
7792};
7793#line 717 "include/target/target_core_base.h"
7794struct se_dev_attrib {
7795 int emulate_dpo ;
7796 int emulate_fua_write ;
7797 int emulate_fua_read ;
7798 int emulate_write_cache ;
7799 int emulate_ua_intlck_ctrl ;
7800 int emulate_tas ;
7801 int emulate_tpu ;
7802 int emulate_tpws ;
7803 int emulate_reservations ;
7804 int emulate_alua ;
7805 int enforce_pr_isids ;
7806 int is_nonrot ;
7807 int emulate_rest_reord ;
7808 u32 hw_block_size ;
7809 u32 block_size ;
7810 u32 hw_max_sectors ;
7811 u32 max_sectors ;
7812 u32 fabric_max_sectors ;
7813 u32 optimal_sectors ;
7814 u32 hw_queue_depth ;
7815 u32 queue_depth ;
7816 u32 max_unmap_lba_count ;
7817 u32 max_unmap_block_desc_count ;
7818 u32 unmap_granularity ;
7819 u32 unmap_granularity_alignment ;
7820 struct se_subsystem_dev *da_sub_dev ;
7821 struct config_group da_group ;
7822};
7823#line 747 "include/target/target_core_base.h"
7824struct se_dev_stat_grps {
7825 struct config_group stat_group ;
7826 struct config_group scsi_dev_group ;
7827 struct config_group scsi_tgt_dev_group ;
7828 struct config_group scsi_lu_group ;
7829};
7830#line 754
7831struct se_hba;
7832#line 754 "include/target/target_core_base.h"
7833struct se_subsystem_dev {
7834 unsigned char se_dev_alias[512] ;
7835 unsigned char se_dev_udev_path[512] ;
7836 u32 su_dev_flags ;
7837 struct se_hba *se_dev_hba ;
7838 struct se_device *se_dev_ptr ;
7839 struct se_dev_attrib se_dev_attrib ;
7840 struct t10_alua t10_alua ;
7841 struct t10_wwn t10_wwn ;
7842 struct t10_reservation t10_pr ;
7843 spinlock_t se_dev_lock ;
7844 void *se_dev_su_ptr ;
7845 struct config_group se_dev_group ;
7846 struct config_group se_dev_pr_group ;
7847 struct se_dev_stat_grps dev_stat_grps ;
7848};
7849#line 780
7850struct se_subsystem_api;
7851#line 780 "include/target/target_core_base.h"
7852struct se_device {
7853 u16 dev_rpti_counter ;
7854 u32 dev_cur_ordered_id ;
7855 u32 dev_flags ;
7856 u32 dev_port_count ;
7857 u32 dev_status ;
7858 u32 queue_depth ;
7859 u64 dev_res_bin_isid ;
7860 t10_task_attr_index_t dev_task_attr_type ;
7861 void *dev_ptr ;
7862 u32 dev_index ;
7863 u64 creation_time ;
7864 u32 num_resets ;
7865 u64 num_cmds ;
7866 u64 read_bytes ;
7867 u64 write_bytes ;
7868 spinlock_t stats_lock ;
7869 atomic_t simple_cmds ;
7870 atomic_t dev_ordered_id ;
7871 atomic_t execute_tasks ;
7872 atomic_t dev_ordered_sync ;
7873 atomic_t dev_qf_count ;
7874 struct se_obj dev_obj ;
7875 struct se_obj dev_access_obj ;
7876 struct se_obj dev_export_obj ;
7877 struct se_queue_obj dev_queue_obj ;
7878 spinlock_t delayed_cmd_lock ;
7879 spinlock_t execute_task_lock ;
7880 spinlock_t dev_reservation_lock ;
7881 spinlock_t dev_status_lock ;
7882 spinlock_t se_port_lock ;
7883 spinlock_t se_tmr_lock ;
7884 spinlock_t qf_cmd_lock ;
7885 struct se_node_acl *dev_reserved_node_acl ;
7886 struct t10_alua_lu_gp_member *dev_alua_lu_gp_mem ;
7887 struct t10_pr_registration *dev_pr_res_holder ;
7888 struct list_head dev_sep_list ;
7889 struct list_head dev_tmr_list ;
7890 struct task_struct *process_thread ;
7891 struct work_struct qf_work_queue ;
7892 struct list_head delayed_cmd_list ;
7893 struct list_head execute_task_list ;
7894 struct list_head state_task_list ;
7895 struct list_head qf_cmd_list ;
7896 struct se_hba *se_hba ;
7897 struct se_subsystem_dev *se_sub_dev ;
7898 struct se_subsystem_api *transport ;
7899 struct list_head dev_list ;
7900};
7901#line 844 "include/target/target_core_base.h"
7902struct se_hba {
7903 u16 hba_tpgt ;
7904 u32 hba_id ;
7905 u32 hba_flags ;
7906 u32 dev_count ;
7907 u32 hba_index ;
7908 void *hba_ptr ;
7909 struct list_head hba_dev_list ;
7910 struct list_head hba_node ;
7911 spinlock_t device_lock ;
7912 struct config_group hba_group ;
7913 struct mutex hba_access_mutex ;
7914 struct se_subsystem_api *transport ;
7915};
7916#line 863 "include/target/target_core_base.h"
7917struct se_port_stat_grps {
7918 struct config_group stat_group ;
7919 struct config_group scsi_port_group ;
7920 struct config_group scsi_tgt_port_group ;
7921 struct config_group scsi_transport_group ;
7922};
7923#line 870 "include/target/target_core_base.h"
7924struct se_lun {
7925 enum transport_lun_status_table lun_status ;
7926 u32 lun_access ;
7927 u32 lun_flags ;
7928 u32 unpacked_lun ;
7929 atomic_t lun_acl_count ;
7930 spinlock_t lun_acl_lock ;
7931 spinlock_t lun_cmd_lock ;
7932 spinlock_t lun_sep_lock ;
7933 struct completion lun_shutdown_comp ;
7934 struct list_head lun_cmd_list ;
7935 struct list_head lun_acl_list ;
7936 struct se_device *lun_se_dev ;
7937 struct se_port *lun_sep ;
7938 struct config_group lun_group ;
7939 struct se_port_stat_grps port_stat_grps ;
7940};
7941#line 889 "include/target/target_core_base.h"
7942struct scsi_port_stats {
7943 u64 cmd_pdus ;
7944 u64 tx_data_octets ;
7945 u64 rx_data_octets ;
7946};
7947#line 895 "include/target/target_core_base.h"
7948struct se_port {
7949 u16 sep_rtpi ;
7950 int sep_tg_pt_secondary_stat ;
7951 int sep_tg_pt_secondary_write_md ;
7952 u32 sep_index ;
7953 struct scsi_port_stats sep_stats ;
7954 atomic_t sep_tg_pt_secondary_offline ;
7955 atomic_t sep_tg_pt_ref_cnt ;
7956 spinlock_t sep_alua_lock ;
7957 struct mutex sep_tg_pt_md_mutex ;
7958 struct t10_alua_tg_pt_gp_member *sep_alua_tg_pt_gp_mem ;
7959 struct se_lun *sep_lun ;
7960 struct se_portal_group *sep_tpg ;
7961 struct list_head sep_alua_list ;
7962 struct list_head sep_list ;
7963};
7964#line 915 "include/target/target_core_base.h"
7965struct se_tpg_np {
7966 struct se_portal_group *tpg_np_parent ;
7967 struct config_group tpg_np_group ;
7968};
7969#line 920
7970struct se_wwn;
7971#line 920 "include/target/target_core_base.h"
7972struct se_portal_group {
7973 enum transport_tpg_type_table se_tpg_type ;
7974 u32 num_node_acls ;
7975 atomic_t tpg_pr_ref_count ;
7976 spinlock_t acl_node_lock ;
7977 spinlock_t session_lock ;
7978 spinlock_t tpg_lun_lock ;
7979 void *se_tpg_fabric_ptr ;
7980 struct list_head se_tpg_node ;
7981 struct list_head acl_node_list ;
7982 struct se_lun **tpg_lun_list ;
7983 struct se_lun tpg_virt_lun0 ;
7984 struct list_head tpg_sess_list ;
7985 struct target_core_fabric_ops *se_tpg_tfo ;
7986 struct se_wwn *se_tpg_wwn ;
7987 struct config_group tpg_group ;
7988 struct config_group *tpg_default_groups[6] ;
7989 struct config_group tpg_lun_group ;
7990 struct config_group tpg_np_group ;
7991 struct config_group tpg_acl_group ;
7992 struct config_group tpg_attrib_group ;
7993 struct config_group tpg_param_group ;
7994};
7995#line 953
7996struct target_fabric_configfs;
7997#line 953 "include/target/target_core_base.h"
7998struct se_wwn {
7999 struct target_fabric_configfs *wwn_tf ;
8000 struct config_group wwn_group ;
8001 struct config_group *wwn_default_groups[2] ;
8002 struct config_group fabric_stat_group ;
8003};
8004#line 4 "include/target/target_core_fabric.h"
8005struct target_core_fabric_ops {
8006 struct configfs_subsystem *tf_subsys ;
8007 bool task_sg_chaining ;
8008 char *(*get_fabric_name)(void) ;
8009 u8 (*get_fabric_proto_ident)(struct se_portal_group * ) ;
8010 char *(*tpg_get_wwn)(struct se_portal_group * ) ;
8011 u16 (*tpg_get_tag)(struct se_portal_group * ) ;
8012 u32 (*tpg_get_default_depth)(struct se_portal_group * ) ;
8013 u32 (*tpg_get_pr_transport_id)(struct se_portal_group * , struct se_node_acl * ,
8014 struct t10_pr_registration * , int * , unsigned char * ) ;
8015 u32 (*tpg_get_pr_transport_id_len)(struct se_portal_group * , struct se_node_acl * ,
8016 struct t10_pr_registration * , int * ) ;
8017 char *(*tpg_parse_pr_out_transport_id)(struct se_portal_group * , char const * ,
8018 u32 * , char ** ) ;
8019 int (*tpg_check_demo_mode)(struct se_portal_group * ) ;
8020 int (*tpg_check_demo_mode_cache)(struct se_portal_group * ) ;
8021 int (*tpg_check_demo_mode_write_protect)(struct se_portal_group * ) ;
8022 int (*tpg_check_prod_mode_write_protect)(struct se_portal_group * ) ;
8023 int (*tpg_check_demo_mode_login_only)(struct se_portal_group * ) ;
8024 struct se_node_acl *(*tpg_alloc_fabric_acl)(struct se_portal_group * ) ;
8025 void (*tpg_release_fabric_acl)(struct se_portal_group * , struct se_node_acl * ) ;
8026 u32 (*tpg_get_inst_index)(struct se_portal_group * ) ;
8027 int (*new_cmd_map)(struct se_cmd * ) ;
8028 int (*check_stop_free)(struct se_cmd * ) ;
8029 void (*release_cmd)(struct se_cmd * ) ;
8030 int (*shutdown_session)(struct se_session * ) ;
8031 void (*close_session)(struct se_session * ) ;
8032 u32 (*sess_get_index)(struct se_session * ) ;
8033 u32 (*sess_get_initiator_sid)(struct se_session * , unsigned char * , u32 ) ;
8034 int (*write_pending)(struct se_cmd * ) ;
8035 int (*write_pending_status)(struct se_cmd * ) ;
8036 void (*set_default_node_attributes)(struct se_node_acl * ) ;
8037 u32 (*get_task_tag)(struct se_cmd * ) ;
8038 int (*get_cmd_state)(struct se_cmd * ) ;
8039 int (*queue_data_in)(struct se_cmd * ) ;
8040 int (*queue_status)(struct se_cmd * ) ;
8041 int (*queue_tm_rsp)(struct se_cmd * ) ;
8042 u16 (*set_fabric_sense_len)(struct se_cmd * , u32 ) ;
8043 u16 (*get_fabric_sense_len)(void) ;
8044 struct se_wwn *(*fabric_make_wwn)(struct target_fabric_configfs * , struct config_group * ,
8045 char const * ) ;
8046 void (*fabric_drop_wwn)(struct se_wwn * ) ;
8047 struct se_portal_group *(*fabric_make_tpg)(struct se_wwn * , struct config_group * ,
8048 char const * ) ;
8049 void (*fabric_drop_tpg)(struct se_portal_group * ) ;
8050 int (*fabric_post_link)(struct se_portal_group * , struct se_lun * ) ;
8051 void (*fabric_pre_unlink)(struct se_portal_group * , struct se_lun * ) ;
8052 struct se_tpg_np *(*fabric_make_np)(struct se_portal_group * , struct config_group * ,
8053 char const * ) ;
8054 void (*fabric_drop_np)(struct se_tpg_np * ) ;
8055 struct se_node_acl *(*fabric_make_nodeacl)(struct se_portal_group * , struct config_group * ,
8056 char const * ) ;
8057 void (*fabric_drop_nodeacl)(struct se_node_acl * ) ;
8058};
8059#line 74 "include/target/target_core_fabric_configfs.h"
8060struct target_fabric_tpg_attribute {
8061 struct configfs_attribute attr ;
8062 ssize_t (*show)(struct se_portal_group * , char * ) ;
8063 ssize_t (*store)(struct se_portal_group * , char const * , size_t ) ;
8064};
8065#line 82 "include/target/target_core_fabric_configfs.h"
8066struct target_fabric_wwn_attribute {
8067 struct configfs_attribute attr ;
8068 ssize_t (*show)(struct target_fabric_configfs * , char * ) ;
8069 ssize_t (*store)(struct target_fabric_configfs * , char const * , size_t ) ;
8070};
8071#line 14 "include/target/target_core_configfs.h"
8072struct target_fabric_configfs_template {
8073 struct config_item_type tfc_discovery_cit ;
8074 struct config_item_type tfc_wwn_cit ;
8075 struct config_item_type tfc_wwn_fabric_stats_cit ;
8076 struct config_item_type tfc_tpg_cit ;
8077 struct config_item_type tfc_tpg_base_cit ;
8078 struct config_item_type tfc_tpg_lun_cit ;
8079 struct config_item_type tfc_tpg_port_cit ;
8080 struct config_item_type tfc_tpg_port_stat_cit ;
8081 struct config_item_type tfc_tpg_np_cit ;
8082 struct config_item_type tfc_tpg_np_base_cit ;
8083 struct config_item_type tfc_tpg_attrib_cit ;
8084 struct config_item_type tfc_tpg_param_cit ;
8085 struct config_item_type tfc_tpg_nacl_cit ;
8086 struct config_item_type tfc_tpg_nacl_base_cit ;
8087 struct config_item_type tfc_tpg_nacl_attrib_cit ;
8088 struct config_item_type tfc_tpg_nacl_auth_cit ;
8089 struct config_item_type tfc_tpg_nacl_param_cit ;
8090 struct config_item_type tfc_tpg_nacl_stat_cit ;
8091 struct config_item_type tfc_tpg_mappedlun_cit ;
8092 struct config_item_type tfc_tpg_mappedlun_stat_cit ;
8093};
8094#line 37 "include/target/target_core_configfs.h"
8095struct target_fabric_configfs {
8096 char tf_name[32] ;
8097 atomic_t tf_access_cnt ;
8098 struct list_head tf_list ;
8099 struct config_group tf_group ;
8100 struct config_group tf_disc_group ;
8101 struct config_group *tf_default_groups[2] ;
8102 struct config_item *tf_fabric ;
8103 struct config_item_type *tf_fabric_cit ;
8104 struct configfs_subsystem *tf_subsys ;
8105 struct module *tf_module ;
8106 struct target_core_fabric_ops tf_ops ;
8107 struct target_fabric_configfs_template tf_cit_tmpl ;
8108};
8109#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/target/loopback/tcm_loop.h"
8110struct tcm_loop_cmd {
8111 u32 sc_cmd_state ;
8112 struct scsi_cmnd *sc ;
8113 struct se_cmd tl_se_cmd ;
8114 struct work_struct work ;
8115 unsigned char tl_sense_buf[96] ;
8116};
8117#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/target/loopback/tcm_loop.h"
8118struct tcm_loop_tmr {
8119 atomic_t tmr_complete ;
8120 wait_queue_head_t tl_tmr_wait ;
8121};
8122#line 27
8123struct scsi_host;
8124#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/target/loopback/tcm_loop.h"
8125struct tcm_loop_nexus {
8126 int it_nexus_active ;
8127 struct scsi_host *sh ;
8128 struct se_session *se_sess ;
8129};
8130#line 39 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/target/loopback/tcm_loop.h"
8131struct tcm_loop_nacl {
8132 struct se_node_acl se_node_acl ;
8133};
8134#line 43
8135struct tcm_loop_hba;
8136#line 43 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/target/loopback/tcm_loop.h"
8137struct tcm_loop_tpg {
8138 unsigned short tl_tpgt ;
8139 atomic_t tl_tpg_port_count ;
8140 struct se_portal_group tl_se_tpg ;
8141 struct tcm_loop_hba *tl_hba ;
8142};
8143#line 50
8144struct se_hba_s;
8145#line 50
8146struct se_device_s;
8147#line 50 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/drivers/target/loopback/tcm_loop.h"
8148struct tcm_loop_hba {
8149 u8 tl_proto_id ;
8150 unsigned char tl_wwn_address[256] ;
8151 struct se_hba_s *se_hba ;
8152 struct se_lun *tl_hba_lun ;
8153 struct se_port *tl_hba_lun_sep ;
8154 struct se_device_s *se_dev_hba_ptr ;
8155 struct tcm_loop_nexus *tl_nexus ;
8156 struct device dev ;
8157 struct Scsi_Host *sh ;
8158 struct tcm_loop_tpg tl_hba_tpgs[32] ;
8159 struct se_wwn tl_hba_wwn ;
8160};
8161#line 1 "<compiler builtins>"
8162
8163#line 1
8164long __builtin_expect(long val , long res ) ;
8165#line 24 "include/linux/list.h"
8166__inline static void INIT_LIST_HEAD(struct list_head *list ) __attribute__((__no_instrument_function__)) ;
8167#line 24 "include/linux/list.h"
8168__inline static void INIT_LIST_HEAD(struct list_head *list )
8169{ unsigned long __cil_tmp2 ;
8170 unsigned long __cil_tmp3 ;
8171
8172 {
8173#line 26
8174 *((struct list_head **)list) = list;
8175#line 27
8176 __cil_tmp2 = (unsigned long )list;
8177#line 27
8178 __cil_tmp3 = __cil_tmp2 + 8;
8179#line 27
8180 *((struct list_head **)__cil_tmp3) = list;
8181#line 28
8182 return;
8183}
8184}
8185#line 59 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
8186__inline static void ( __attribute__((__always_inline__)) set_bit)(unsigned int nr ,
8187 unsigned long volatile *addr ) __attribute__((__no_instrument_function__)) ;
8188#line 59 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/bitops.h"
8189__inline static void ( __attribute__((__always_inline__)) set_bit)(unsigned int nr ,
8190 unsigned long volatile *addr )
8191{ long volatile *__cil_tmp3 ;
8192
8193 {
8194#line 68
8195 __cil_tmp3 = (long volatile *)addr;
8196#line 68
8197 __asm__ volatile (".section .smp_locks,\"a\"\n"
8198 ".balign 4\n"
8199 ".long 671f - .\n"
8200 ".previous\n"
8201 "671:"
8202 "\n\tlock; "
8203 "bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
8204#line 71
8205 return;
8206}
8207}
8208#line 100 "include/linux/printk.h"
8209extern int ( printk)(char const *fmt , ...) ;
8210#line 44 "include/linux/dynamic_debug.h"
8211extern int ( __dynamic_pr_debug)(struct _ddebug *descriptor ,
8212 char const *fmt , ...) ;
8213#line 147 "include/linux/kernel.h"
8214extern void __might_sleep(char const *file , int line , int preempt_offset ) ;
8215#line 307
8216extern unsigned long simple_strtoul(char const * , char ** , unsigned int ) ;
8217#line 320
8218extern int ( sprintf)(char *buf , char const *fmt , ...) ;
8219#line 322
8220extern int ( snprintf)(char *buf , size_t size , char const *fmt
8221 , ...) ;
8222#line 88 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/percpu.h"
8223extern void __bad_percpu_size(void) ;
8224#line 10 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
8225extern struct task_struct *current_task __attribute__((__section__(".data..percpu"))) ;
8226#line 12
8227__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void) __attribute__((__no_instrument_function__)) ;
8228#line 12 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/current.h"
8229__inline static struct task_struct *( __attribute__((__always_inline__)) get_current)(void)
8230{ struct task_struct *pfo_ret__ ;
8231
8232 {
8233#line 14
8234 if ((int )8UL == 1) {
8235#line 14
8236 goto case_1;
8237 } else
8238#line 14
8239 if ((int )8UL == 2) {
8240#line 14
8241 goto case_2;
8242 } else
8243#line 14
8244 if ((int )8UL == 4) {
8245#line 14
8246 goto case_4;
8247 } else
8248#line 14
8249 if ((int )8UL == 8) {
8250#line 14
8251 goto case_8;
8252 } else {
8253 {
8254#line 14
8255 goto switch_default;
8256#line 14
8257 if (0) {
8258 case_1:
8259#line 14
8260 __asm__ ("mov"
8261 "b "
8262 "%%"
8263 "gs"
8264 ":"
8265 "%P"
8266 "1"
8267 ",%0": "=q" (pfo_ret__): "p" (& current_task));
8268#line 14
8269 goto switch_break;
8270 case_2:
8271#line 14
8272 __asm__ ("mov"
8273 "w "
8274 "%%"
8275 "gs"
8276 ":"
8277 "%P"
8278 "1"
8279 ",%0": "=r" (pfo_ret__): "p" (& current_task));
8280#line 14
8281 goto switch_break;
8282 case_4:
8283#line 14
8284 __asm__ ("mov"
8285 "l "
8286 "%%"
8287 "gs"
8288 ":"
8289 "%P"
8290 "1"
8291 ",%0": "=r" (pfo_ret__): "p" (& current_task));
8292#line 14
8293 goto switch_break;
8294 case_8:
8295#line 14
8296 __asm__ ("mov"
8297 "q "
8298 "%%"
8299 "gs"
8300 ":"
8301 "%P"
8302 "1"
8303 ",%0": "=r" (pfo_ret__): "p" (& current_task));
8304#line 14
8305 goto switch_break;
8306 switch_default:
8307 {
8308#line 14
8309 __bad_percpu_size();
8310 }
8311 } else {
8312 switch_break: ;
8313 }
8314 }
8315 }
8316#line 14
8317 return (pfo_ret__);
8318}
8319}
8320#line 34 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/string_64.h"
8321extern void *__memcpy(void *to , void const *from , size_t len ) ;
8322#line 55
8323extern void *memset(void *s , int c , size_t n ) ;
8324#line 61
8325extern unsigned long strlen(char const *s ) ;
8326#line 45 "include/linux/string.h"
8327extern int strncmp(char const * , char const * , __kernel_size_t ) ;
8328#line 75
8329extern char *strstr(char const * , char const * ) ;
8330#line 22 "include/linux/err.h"
8331__inline static void * __attribute__((__warn_unused_result__)) ERR_PTR(long error ) __attribute__((__no_instrument_function__)) ;
8332#line 22 "include/linux/err.h"
8333__inline static void * __attribute__((__warn_unused_result__)) ERR_PTR(long error )
8334{
8335
8336 {
8337#line 24
8338 return ((void *)error);
8339}
8340}
8341#line 27
8342__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
8343#line 27 "include/linux/err.h"
8344__inline static long __attribute__((__warn_unused_result__)) PTR_ERR(void const *ptr )
8345{
8346
8347 {
8348#line 29
8349 return ((long )ptr);
8350}
8351}
8352#line 32
8353__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr ) __attribute__((__no_instrument_function__)) ;
8354#line 32 "include/linux/err.h"
8355__inline static long __attribute__((__warn_unused_result__)) IS_ERR(void const *ptr )
8356{ long tmp ;
8357 unsigned long __cil_tmp3 ;
8358 int __cil_tmp4 ;
8359 int __cil_tmp5 ;
8360 int __cil_tmp6 ;
8361 long __cil_tmp7 ;
8362
8363 {
8364 {
8365#line 34
8366 __cil_tmp3 = (unsigned long )ptr;
8367#line 34
8368 __cil_tmp4 = __cil_tmp3 >= 0xfffffffffffff001UL;
8369#line 34
8370 __cil_tmp5 = ! __cil_tmp4;
8371#line 34
8372 __cil_tmp6 = ! __cil_tmp5;
8373#line 34
8374 __cil_tmp7 = (long )__cil_tmp6;
8375#line 34
8376 tmp = __builtin_expect(__cil_tmp7, 0L);
8377 }
8378#line 34
8379 return (tmp);
8380}
8381}
8382#line 23 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
8383__inline static int atomic_read(atomic_t const *v ) __attribute__((__no_instrument_function__)) ;
8384#line 23 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
8385__inline static int atomic_read(atomic_t const *v )
8386{ int const *__cil_tmp2 ;
8387 int volatile *__cil_tmp3 ;
8388 int volatile __cil_tmp4 ;
8389
8390 {
8391 {
8392#line 25
8393 __cil_tmp2 = (int const *)v;
8394#line 25
8395 __cil_tmp3 = (int volatile *)__cil_tmp2;
8396#line 25
8397 __cil_tmp4 = *__cil_tmp3;
8398#line 25
8399 return ((int )__cil_tmp4);
8400 }
8401}
8402}
8403#line 35
8404__inline static void atomic_set(atomic_t *v , int i ) __attribute__((__no_instrument_function__)) ;
8405#line 35 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
8406__inline static void atomic_set(atomic_t *v , int i )
8407{
8408
8409 {
8410#line 37
8411 *((int *)v) = i;
8412#line 38
8413 return;
8414}
8415}
8416#line 93
8417__inline static void atomic_inc(atomic_t *v ) __attribute__((__no_instrument_function__)) ;
8418#line 93 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
8419__inline static void atomic_inc(atomic_t *v )
8420{
8421
8422 {
8423#line 95
8424 __asm__ volatile (".section .smp_locks,\"a\"\n"
8425 ".balign 4\n"
8426 ".long 671f - .\n"
8427 ".previous\n"
8428 "671:"
8429 "\n\tlock; "
8430 "incl %0": "+m" (*((int *)v)));
8431#line 97
8432 return;
8433}
8434}
8435#line 105
8436__inline static void atomic_dec(atomic_t *v ) __attribute__((__no_instrument_function__)) ;
8437#line 105 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/atomic.h"
8438__inline static void atomic_dec(atomic_t *v )
8439{
8440
8441 {
8442#line 107
8443 __asm__ volatile (".section .smp_locks,\"a\"\n"
8444 ".balign 4\n"
8445 ".long 671f - .\n"
8446 ".previous\n"
8447 "671:"
8448 "\n\tlock; "
8449 "decl %0": "+m" (*((int *)v)));
8450#line 109
8451 return;
8452}
8453}
8454#line 79 "include/linux/wait.h"
8455extern void __init_waitqueue_head(wait_queue_head_t *q , char const *name , struct lock_class_key * ) ;
8456#line 155
8457extern void __wake_up(wait_queue_head_t *q , unsigned int mode , int nr , void *key ) ;
8458#line 584
8459extern void prepare_to_wait(wait_queue_head_t *q , wait_queue_t *wait , int state ) ;
8460#line 586
8461extern void finish_wait(wait_queue_head_t *q , wait_queue_t *wait ) ;
8462#line 589
8463extern int autoremove_wake_function(wait_queue_t *wait , unsigned int mode , int sync ,
8464 void *key ) ;
8465#line 152 "include/linux/mutex.h"
8466void mutex_lock(struct mutex *lock ) ;
8467#line 153
8468int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock ) ;
8469#line 154
8470int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock ) ;
8471#line 168
8472int mutex_trylock(struct mutex *lock ) ;
8473#line 169
8474void mutex_unlock(struct mutex *lock ) ;
8475#line 170
8476int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock ) ;
8477#line 156 "include/linux/workqueue.h"
8478extern void __init_work(struct work_struct *work , int onstack ) ;
8479#line 303
8480extern struct workqueue_struct *( __alloc_workqueue_key)(char const *fmt ,
8481 unsigned int flags ,
8482 int max_active ,
8483 struct lock_class_key *key ,
8484 char const *lock_name
8485 , ...) ;
8486#line 366
8487extern void destroy_workqueue(struct workqueue_struct *wq ) ;
8488#line 368
8489extern int queue_work(struct workqueue_struct *wq , struct work_struct *work ) ;
8490#line 26 "include/linux/export.h"
8491extern struct module __this_module ;
8492#line 67 "include/linux/module.h"
8493int init_module(void) ;
8494#line 68
8495void cleanup_module(void) ;
8496#line 101 "include/linux/slab.h"
8497extern struct kmem_cache *kmem_cache_create(char const * , size_t , size_t , unsigned long ,
8498 void (*)(void * ) ) ;
8499#line 104
8500extern void kmem_cache_destroy(struct kmem_cache * ) ;
8501#line 106
8502extern void kmem_cache_free(struct kmem_cache * , void * ) ;
8503#line 161
8504extern void kfree(void const * ) ;
8505#line 220 "include/linux/slub_def.h"
8506extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t ) ;
8507#line 221
8508extern void *__kmalloc(size_t size , gfp_t flags ) ;
8509#line 268
8510__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
8511 gfp_t flags ) __attribute__((__no_instrument_function__)) ;
8512#line 268 "include/linux/slub_def.h"
8513__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
8514 gfp_t flags )
8515{ void *tmp___2 ;
8516
8517 {
8518 {
8519#line 283
8520 tmp___2 = __kmalloc(size, flags);
8521 }
8522#line 283
8523 return (tmp___2);
8524}
8525}
8526#line 339 "include/linux/slab.h"
8527__inline static void *kmem_cache_zalloc(struct kmem_cache *k , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
8528#line 339 "include/linux/slab.h"
8529__inline static void *kmem_cache_zalloc(struct kmem_cache *k , gfp_t flags )
8530{ void *tmp ;
8531 unsigned int __cil_tmp4 ;
8532
8533 {
8534 {
8535#line 341
8536 __cil_tmp4 = flags | 32768U;
8537#line 341
8538 tmp = kmem_cache_alloc(k, __cil_tmp4);
8539 }
8540#line 341
8541 return (tmp);
8542}
8543}
8544#line 349
8545__inline static void *kzalloc(size_t size , gfp_t flags ) __attribute__((__no_instrument_function__)) ;
8546#line 349 "include/linux/slab.h"
8547__inline static void *kzalloc(size_t size , gfp_t flags )
8548{ void *tmp ;
8549 unsigned int __cil_tmp4 ;
8550
8551 {
8552 {
8553#line 351
8554 __cil_tmp4 = flags | 32768U;
8555#line 351
8556 tmp = kmalloc(size, __cil_tmp4);
8557 }
8558#line 351
8559 return (tmp);
8560}
8561}
8562#line 69 "include/linux/configfs.h"
8563__inline static char *config_item_name(struct config_item *item ) __attribute__((__no_instrument_function__)) ;
8564#line 69 "include/linux/configfs.h"
8565__inline static char *config_item_name(struct config_item *item )
8566{
8567
8568 {
8569#line 71
8570 return (*((char **)item));
8571}
8572}
8573#line 737 "include/linux/mm.h"
8574__inline static void *( __attribute__((__always_inline__)) lowmem_page_address)(struct page const *page ) __attribute__((__no_instrument_function__)) ;
8575#line 737 "include/linux/mm.h"
8576__inline static void *( __attribute__((__always_inline__)) lowmem_page_address)(struct page const *page )
8577{ struct page *__cil_tmp2 ;
8578 struct page const *__cil_tmp3 ;
8579 int __cil_tmp4 ;
8580 unsigned long __cil_tmp5 ;
8581 phys_addr_t __cil_tmp6 ;
8582 phys_addr_t __cil_tmp7 ;
8583 unsigned long __cil_tmp8 ;
8584 unsigned long __cil_tmp9 ;
8585
8586 {
8587 {
8588#line 739
8589 __cil_tmp2 = (struct page *)0xffffea0000000000UL;
8590#line 739
8591 __cil_tmp3 = (struct page const *)__cil_tmp2;
8592#line 739
8593 __cil_tmp4 = page - __cil_tmp3;
8594#line 739
8595 __cil_tmp5 = (unsigned long )__cil_tmp4;
8596#line 739
8597 __cil_tmp6 = (phys_addr_t )__cil_tmp5;
8598#line 739
8599 __cil_tmp7 = __cil_tmp6 << 12;
8600#line 739
8601 __cil_tmp8 = (unsigned long )__cil_tmp7;
8602#line 739
8603 __cil_tmp9 = __cil_tmp8 + 0xffff880000000000UL;
8604#line 739
8605 return ((void *)__cil_tmp9);
8606 }
8607}
8608}
8609#line 95 "include/linux/scatterlist.h"
8610__inline static struct page *sg_page(struct scatterlist *sg ) __attribute__((__no_instrument_function__)) ;
8611#line 95 "include/linux/scatterlist.h"
8612__inline static struct page *sg_page(struct scatterlist *sg )
8613{ long tmp ;
8614 long tmp___0 ;
8615 unsigned long __cil_tmp4 ;
8616 int __cil_tmp5 ;
8617 int __cil_tmp6 ;
8618 int __cil_tmp7 ;
8619 long __cil_tmp8 ;
8620 unsigned long __cil_tmp9 ;
8621 unsigned long __cil_tmp10 ;
8622 unsigned long __cil_tmp11 ;
8623 unsigned long __cil_tmp12 ;
8624 int __cil_tmp13 ;
8625 int __cil_tmp14 ;
8626 long __cil_tmp15 ;
8627 unsigned long __cil_tmp16 ;
8628 unsigned long __cil_tmp17 ;
8629 unsigned long __cil_tmp18 ;
8630 unsigned long __cil_tmp19 ;
8631
8632 {
8633 {
8634#line 98
8635 while (1) {
8636 while_continue: ;
8637 {
8638#line 98
8639 __cil_tmp4 = *((unsigned long *)sg);
8640#line 98
8641 __cil_tmp5 = __cil_tmp4 != 2271560481UL;
8642#line 98
8643 __cil_tmp6 = ! __cil_tmp5;
8644#line 98
8645 __cil_tmp7 = ! __cil_tmp6;
8646#line 98
8647 __cil_tmp8 = (long )__cil_tmp7;
8648#line 98
8649 tmp = __builtin_expect(__cil_tmp8, 0L);
8650 }
8651#line 98
8652 if (tmp) {
8653 {
8654#line 98
8655 while (1) {
8656 while_continue___0: ;
8657#line 98
8658 __asm__ volatile ("1:\tud2\n"
8659 ".pushsection __bug_table,\"a\"\n"
8660 "2:\t.long 1b - 2b, %c0 - 2b\n"
8661 "\t.word %c1, 0\n"
8662 "\t.org 2b+%c2\n"
8663 ".popsection": : "i" ("include/linux/scatterlist.h"),
8664 "i" (98), "i" (12UL));
8665 {
8666#line 98
8667 while (1) {
8668 while_continue___1: ;
8669 }
8670 while_break___1: ;
8671 }
8672#line 98
8673 goto while_break___0;
8674 }
8675 while_break___0: ;
8676 }
8677 } else {
8678
8679 }
8680#line 98
8681 goto while_break;
8682 }
8683 while_break: ;
8684 }
8685 {
8686#line 99
8687 while (1) {
8688 while_continue___2: ;
8689 {
8690#line 99
8691 __cil_tmp9 = (unsigned long )sg;
8692#line 99
8693 __cil_tmp10 = __cil_tmp9 + 8;
8694#line 99
8695 __cil_tmp11 = *((unsigned long *)__cil_tmp10);
8696#line 99
8697 __cil_tmp12 = __cil_tmp11 & 1UL;
8698#line 99
8699 __cil_tmp13 = ! __cil_tmp12;
8700#line 99
8701 __cil_tmp14 = ! __cil_tmp13;
8702#line 99
8703 __cil_tmp15 = (long )__cil_tmp14;
8704#line 99
8705 tmp___0 = __builtin_expect(__cil_tmp15, 0L);
8706 }
8707#line 99
8708 if (tmp___0) {
8709 {
8710#line 99
8711 while (1) {
8712 while_continue___3: ;
8713#line 99
8714 __asm__ volatile ("1:\tud2\n"
8715 ".pushsection __bug_table,\"a\"\n"
8716 "2:\t.long 1b - 2b, %c0 - 2b\n"
8717 "\t.word %c1, 0\n"
8718 "\t.org 2b+%c2\n"
8719 ".popsection": : "i" ("include/linux/scatterlist.h"),
8720 "i" (99), "i" (12UL));
8721 {
8722#line 99
8723 while (1) {
8724 while_continue___4: ;
8725 }
8726 while_break___4: ;
8727 }
8728#line 99
8729 goto while_break___3;
8730 }
8731 while_break___3: ;
8732 }
8733 } else {
8734
8735 }
8736#line 99
8737 goto while_break___2;
8738 }
8739 while_break___2: ;
8740 }
8741 {
8742#line 101
8743 __cil_tmp16 = (unsigned long )sg;
8744#line 101
8745 __cil_tmp17 = __cil_tmp16 + 8;
8746#line 101
8747 __cil_tmp18 = *((unsigned long *)__cil_tmp17);
8748#line 101
8749 __cil_tmp19 = __cil_tmp18 & 0xfffffffffffffffcUL;
8750#line 101
8751 return ((struct page *)__cil_tmp19);
8752 }
8753}
8754}
8755#line 362 "include/linux/sched.h"
8756extern void schedule(void) ;
8757#line 120 "include/linux/device.h"
8758extern int __attribute__((__warn_unused_result__)) __bus_register(struct bus_type *bus ,
8759 struct lock_class_key *key ) ;
8760#line 122
8761extern void bus_unregister(struct bus_type *bus ) ;
8762#line 238
8763extern int __attribute__((__warn_unused_result__)) driver_register(struct device_driver *drv ) ;
8764#line 239
8765extern void driver_unregister(struct device_driver *drv ) ;
8766#line 694
8767extern int ( dev_set_name)(struct device *dev , char const *name
8768 , ...) ;
8769#line 778
8770extern int __attribute__((__warn_unused_result__)) device_register(struct device *dev ) ;
8771#line 779
8772extern void device_unregister(struct device *dev ) ;
8773#line 798
8774extern struct device *__root_device_register(char const *name , struct module *owner ) ;
8775#line 808
8776extern void root_device_unregister(struct device *root ) ;
8777#line 881
8778extern int ( dev_printk)(char const *level , struct device const *dev ,
8779 char const *fmt , ...) ;
8780#line 49 "include/linux/highmem.h"
8781__inline static void *kmap(struct page *page ) __attribute__((__no_instrument_function__)) ;
8782#line 49 "include/linux/highmem.h"
8783__inline static void *kmap(struct page *page )
8784{ void *tmp___7 ;
8785 struct page const *__cil_tmp3 ;
8786
8787 {
8788 {
8789#line 51
8790 while (1) {
8791 while_continue: ;
8792 {
8793#line 51
8794 __might_sleep("include/linux/highmem.h", 51, 0);
8795 }
8796 {
8797#line 51
8798 while (1) {
8799 while_continue___0: ;
8800#line 51
8801 goto while_break___0;
8802 }
8803 while_break___0: ;
8804 }
8805#line 51
8806 goto while_break;
8807 }
8808 while_break: ;
8809 }
8810 {
8811#line 52
8812 __cil_tmp3 = (struct page const *)page;
8813#line 52
8814 tmp___7 = lowmem_page_address(__cil_tmp3);
8815 }
8816#line 52
8817 return (tmp___7);
8818}
8819}
8820#line 55
8821__inline static void kunmap(struct page *page ) __attribute__((__no_instrument_function__)) ;
8822#line 55 "include/linux/highmem.h"
8823__inline static void kunmap(struct page *page )
8824{
8825
8826 {
8827#line 57
8828 return;
8829}
8830}
8831#line 163 "include/scsi/scsi_cmnd.h"
8832__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
8833#line 163 "include/scsi/scsi_cmnd.h"
8834__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd )
8835{ unsigned long __cil_tmp2 ;
8836 unsigned long __cil_tmp3 ;
8837 unsigned long __cil_tmp4 ;
8838 unsigned long __cil_tmp5 ;
8839
8840 {
8841 {
8842#line 165
8843 __cil_tmp2 = 0 + 8;
8844#line 165
8845 __cil_tmp3 = 88 + __cil_tmp2;
8846#line 165
8847 __cil_tmp4 = (unsigned long )cmd;
8848#line 165
8849 __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
8850#line 165
8851 return (*((unsigned int *)__cil_tmp5));
8852 }
8853}
8854}
8855#line 168
8856__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
8857#line 168 "include/scsi/scsi_cmnd.h"
8858__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd )
8859{ unsigned long __cil_tmp2 ;
8860 unsigned long __cil_tmp3 ;
8861
8862 {
8863 {
8864#line 170
8865 __cil_tmp2 = (unsigned long )cmd;
8866#line 170
8867 __cil_tmp3 = __cil_tmp2 + 88;
8868#line 170
8869 return (*((struct scatterlist **)__cil_tmp3));
8870 }
8871}
8872}
8873#line 173
8874__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
8875#line 173 "include/scsi/scsi_cmnd.h"
8876__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd )
8877{ unsigned long __cil_tmp2 ;
8878 unsigned long __cil_tmp3 ;
8879 unsigned long __cil_tmp4 ;
8880
8881 {
8882 {
8883#line 175
8884 __cil_tmp2 = 88 + 16;
8885#line 175
8886 __cil_tmp3 = (unsigned long )cmd;
8887#line 175
8888 __cil_tmp4 = __cil_tmp3 + __cil_tmp2;
8889#line 175
8890 return (*((unsigned int *)__cil_tmp4));
8891 }
8892}
8893}
8894#line 178
8895__inline static void scsi_set_resid(struct scsi_cmnd *cmd , int resid ) __attribute__((__no_instrument_function__)) ;
8896#line 178 "include/scsi/scsi_cmnd.h"
8897__inline static void scsi_set_resid(struct scsi_cmnd *cmd , int resid )
8898{ unsigned long __cil_tmp3 ;
8899 unsigned long __cil_tmp4 ;
8900 unsigned long __cil_tmp5 ;
8901
8902 {
8903#line 180
8904 __cil_tmp3 = 88 + 20;
8905#line 180
8906 __cil_tmp4 = (unsigned long )cmd;
8907#line 180
8908 __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
8909#line 180
8910 *((int *)__cil_tmp5) = resid;
8911#line 181
8912 return;
8913}
8914}
8915#line 191
8916__inline static int scsi_bidi_cmnd(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
8917#line 191 "include/scsi/scsi_cmnd.h"
8918__inline static int scsi_bidi_cmnd(struct scsi_cmnd *cmd )
8919{ int tmp___7 ;
8920 void *__cil_tmp3 ;
8921 unsigned long __cil_tmp4 ;
8922 unsigned long __cil_tmp5 ;
8923 unsigned long __cil_tmp6 ;
8924 struct request *__cil_tmp7 ;
8925 unsigned long __cil_tmp8 ;
8926 unsigned long __cil_tmp9 ;
8927 struct request *__cil_tmp10 ;
8928 unsigned long __cil_tmp11 ;
8929 void *__cil_tmp12 ;
8930 unsigned long __cil_tmp13 ;
8931 unsigned long __cil_tmp14 ;
8932 unsigned long __cil_tmp15 ;
8933 struct request *__cil_tmp16 ;
8934 unsigned long __cil_tmp17 ;
8935 unsigned long __cil_tmp18 ;
8936 struct request *__cil_tmp19 ;
8937 unsigned long __cil_tmp20 ;
8938 unsigned long __cil_tmp21 ;
8939 void *__cil_tmp22 ;
8940 unsigned long __cil_tmp23 ;
8941
8942 {
8943 {
8944#line 193
8945 __cil_tmp3 = (void *)0;
8946#line 193
8947 __cil_tmp4 = (unsigned long )__cil_tmp3;
8948#line 193
8949 __cil_tmp5 = (unsigned long )cmd;
8950#line 193
8951 __cil_tmp6 = __cil_tmp5 + 128;
8952#line 193
8953 __cil_tmp7 = *((struct request **)__cil_tmp6);
8954#line 193
8955 __cil_tmp8 = (unsigned long )__cil_tmp7;
8956#line 193
8957 __cil_tmp9 = __cil_tmp8 + 344;
8958#line 193
8959 __cil_tmp10 = *((struct request **)__cil_tmp9);
8960#line 193
8961 __cil_tmp11 = (unsigned long )__cil_tmp10;
8962#line 193
8963 if (__cil_tmp11 != __cil_tmp4) {
8964 {
8965#line 193
8966 __cil_tmp12 = (void *)0;
8967#line 193
8968 __cil_tmp13 = (unsigned long )__cil_tmp12;
8969#line 193
8970 __cil_tmp14 = (unsigned long )cmd;
8971#line 193
8972 __cil_tmp15 = __cil_tmp14 + 128;
8973#line 193
8974 __cil_tmp16 = *((struct request **)__cil_tmp15);
8975#line 193
8976 __cil_tmp17 = (unsigned long )__cil_tmp16;
8977#line 193
8978 __cil_tmp18 = __cil_tmp17 + 344;
8979#line 193
8980 __cil_tmp19 = *((struct request **)__cil_tmp18);
8981#line 193
8982 __cil_tmp20 = (unsigned long )__cil_tmp19;
8983#line 193
8984 __cil_tmp21 = __cil_tmp20 + 224;
8985#line 193
8986 __cil_tmp22 = *((void **)__cil_tmp21);
8987#line 193
8988 __cil_tmp23 = (unsigned long )__cil_tmp22;
8989#line 193
8990 if (__cil_tmp23 != __cil_tmp13) {
8991#line 193
8992 tmp___7 = 1;
8993 } else {
8994#line 193
8995 tmp___7 = 0;
8996 }
8997 }
8998 } else {
8999#line 193
9000 tmp___7 = 0;
9001 }
9002 }
9003#line 193
9004 return (tmp___7);
9005}
9006}
9007#line 197
9008__inline static struct scsi_data_buffer *scsi_in(struct scsi_cmnd *cmd ) __attribute__((__no_instrument_function__)) ;
9009#line 197 "include/scsi/scsi_cmnd.h"
9010__inline static struct scsi_data_buffer *scsi_in(struct scsi_cmnd *cmd )
9011{ struct scsi_data_buffer *tmp___8 ;
9012 int tmp___9 ;
9013 unsigned long __cil_tmp5 ;
9014 unsigned long __cil_tmp6 ;
9015 struct request *__cil_tmp7 ;
9016 unsigned long __cil_tmp8 ;
9017 unsigned long __cil_tmp9 ;
9018 struct request *__cil_tmp10 ;
9019 unsigned long __cil_tmp11 ;
9020 unsigned long __cil_tmp12 ;
9021 void *__cil_tmp13 ;
9022 unsigned long __cil_tmp14 ;
9023 unsigned long __cil_tmp15 ;
9024
9025 {
9026 {
9027#line 199
9028 tmp___9 = scsi_bidi_cmnd(cmd);
9029 }
9030#line 199
9031 if (tmp___9) {
9032#line 199
9033 __cil_tmp5 = (unsigned long )cmd;
9034#line 199
9035 __cil_tmp6 = __cil_tmp5 + 128;
9036#line 199
9037 __cil_tmp7 = *((struct request **)__cil_tmp6);
9038#line 199
9039 __cil_tmp8 = (unsigned long )__cil_tmp7;
9040#line 199
9041 __cil_tmp9 = __cil_tmp8 + 344;
9042#line 199
9043 __cil_tmp10 = *((struct request **)__cil_tmp9);
9044#line 199
9045 __cil_tmp11 = (unsigned long )__cil_tmp10;
9046#line 199
9047 __cil_tmp12 = __cil_tmp11 + 224;
9048#line 199
9049 __cil_tmp13 = *((void **)__cil_tmp12);
9050#line 199
9051 tmp___8 = (struct scsi_data_buffer *)__cil_tmp13;
9052 } else {
9053#line 199
9054 __cil_tmp14 = (unsigned long )cmd;
9055#line 199
9056 __cil_tmp15 = __cil_tmp14 + 88;
9057#line 199
9058 tmp___8 = (struct scsi_data_buffer *)__cil_tmp15;
9059 }
9060#line 199
9061 return (tmp___8);
9062}
9063}
9064#line 304
9065__inline static void set_host_byte(struct scsi_cmnd *cmd , char status ) __attribute__((__no_instrument_function__)) ;
9066#line 304 "include/scsi/scsi_cmnd.h"
9067__inline static void set_host_byte(struct scsi_cmnd *cmd , char status )
9068{ unsigned long __cil_tmp3 ;
9069 unsigned long __cil_tmp4 ;
9070 int __cil_tmp5 ;
9071 int __cil_tmp6 ;
9072 unsigned int __cil_tmp7 ;
9073 unsigned long __cil_tmp8 ;
9074 unsigned long __cil_tmp9 ;
9075 int __cil_tmp10 ;
9076 unsigned int __cil_tmp11 ;
9077 unsigned int __cil_tmp12 ;
9078 unsigned int __cil_tmp13 ;
9079
9080 {
9081#line 306
9082 __cil_tmp3 = (unsigned long )cmd;
9083#line 306
9084 __cil_tmp4 = __cil_tmp3 + 224;
9085#line 306
9086 __cil_tmp5 = (int )status;
9087#line 306
9088 __cil_tmp6 = __cil_tmp5 << 16;
9089#line 306
9090 __cil_tmp7 = (unsigned int )__cil_tmp6;
9091#line 306
9092 __cil_tmp8 = (unsigned long )cmd;
9093#line 306
9094 __cil_tmp9 = __cil_tmp8 + 224;
9095#line 306
9096 __cil_tmp10 = *((int *)__cil_tmp9);
9097#line 306
9098 __cil_tmp11 = (unsigned int )__cil_tmp10;
9099#line 306
9100 __cil_tmp12 = __cil_tmp11 & 4278255615U;
9101#line 306
9102 __cil_tmp13 = __cil_tmp12 | __cil_tmp7;
9103#line 306
9104 *((int *)__cil_tmp4) = (int )__cil_tmp13;
9105#line 307
9106 return;
9107}
9108}
9109#line 309
9110__inline static void set_driver_byte(struct scsi_cmnd *cmd , char status ) __attribute__((__no_instrument_function__)) ;
9111#line 309 "include/scsi/scsi_cmnd.h"
9112__inline static void set_driver_byte(struct scsi_cmnd *cmd , char status )
9113{ unsigned long __cil_tmp3 ;
9114 unsigned long __cil_tmp4 ;
9115 int __cil_tmp5 ;
9116 int __cil_tmp6 ;
9117 unsigned long __cil_tmp7 ;
9118 unsigned long __cil_tmp8 ;
9119 int __cil_tmp9 ;
9120 int __cil_tmp10 ;
9121
9122 {
9123#line 311
9124 __cil_tmp3 = (unsigned long )cmd;
9125#line 311
9126 __cil_tmp4 = __cil_tmp3 + 224;
9127#line 311
9128 __cil_tmp5 = (int )status;
9129#line 311
9130 __cil_tmp6 = __cil_tmp5 << 24;
9131#line 311
9132 __cil_tmp7 = (unsigned long )cmd;
9133#line 311
9134 __cil_tmp8 = __cil_tmp7 + 224;
9135#line 311
9136 __cil_tmp9 = *((int *)__cil_tmp8);
9137#line 311
9138 __cil_tmp10 = __cil_tmp9 & 16777215;
9139#line 311
9140 *((int *)__cil_tmp4) = __cil_tmp10 | __cil_tmp6;
9141#line 312
9142 return;
9143}
9144}
9145#line 286 "include/scsi/scsi_device.h"
9146extern int scsi_add_device(struct Scsi_Host *host , uint channel , uint target , uint lun ) ;
9147#line 289
9148extern void scsi_remove_device(struct scsi_device * ) ;
9149#line 293
9150extern void scsi_device_put(struct scsi_device * ) ;
9151#line 294
9152extern struct scsi_device *scsi_device_lookup(struct Scsi_Host * , uint , uint ,
9153 uint ) ;
9154#line 342
9155extern void scsi_adjust_queue_depth(struct scsi_device * , int , int ) ;
9156#line 343
9157extern int scsi_track_queue_full(struct scsi_device * , int ) ;
9158#line 750 "include/scsi/scsi_host.h"
9159__inline static void *shost_priv(struct Scsi_Host *shost ) __attribute__((__no_instrument_function__)) ;
9160#line 750 "include/scsi/scsi_host.h"
9161__inline static void *shost_priv(struct Scsi_Host *shost )
9162{ unsigned long __cil_tmp2 ;
9163 unsigned long __cil_tmp3 ;
9164 unsigned long __cil_tmp4 ;
9165 unsigned long __cil_tmp5 ;
9166 unsigned long *__cil_tmp6 ;
9167
9168 {
9169 {
9170#line 752
9171 __cil_tmp2 = 0 * 8UL;
9172#line 752
9173 __cil_tmp3 = 2040 + __cil_tmp2;
9174#line 752
9175 __cil_tmp4 = (unsigned long )shost;
9176#line 752
9177 __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
9178#line 752
9179 __cil_tmp6 = (unsigned long *)__cil_tmp5;
9180#line 752
9181 return ((void *)__cil_tmp6);
9182 }
9183}
9184}
9185#line 778
9186extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template * , int ) ;
9187#line 779
9188extern int __attribute__((__warn_unused_result__)) scsi_add_host_with_dma(struct Scsi_Host * ,
9189 struct device * ,
9190 struct device * ) ;
9191#line 784
9192extern void scsi_remove_host(struct Scsi_Host * ) ;
9193#line 786
9194extern void scsi_host_put(struct Scsi_Host *t ) ;
9195#line 793
9196__inline static int __attribute__((__warn_unused_result__)) scsi_add_host(struct Scsi_Host *host ,
9197 struct device *dev ) __attribute__((__no_instrument_function__)) ;
9198#line 793 "include/scsi/scsi_host.h"
9199__inline static int __attribute__((__warn_unused_result__)) scsi_add_host(struct Scsi_Host *host ,
9200 struct device *dev )
9201{ int tmp___7 ;
9202
9203 {
9204 {
9205#line 796
9206 tmp___7 = (int )scsi_add_host_with_dma(host, dev, dev);
9207 }
9208#line 796
9209 return (tmp___7);
9210}
9211}
9212#line 27 "include/scsi/scsi_tcq.h"
9213__inline static int scsi_get_tag_type(struct scsi_device *sdev ) __attribute__((__no_instrument_function__)) ;
9214#line 27 "include/scsi/scsi_tcq.h"
9215__inline static int scsi_get_tag_type(struct scsi_device *sdev )
9216{ unsigned int __cil_tmp2 ;
9217
9218 {
9219 {
9220#line 29
9221 __cil_tmp2 = sdev->tagged_supported;
9222#line 29
9223 if (! __cil_tmp2) {
9224#line 30
9225 return (0);
9226 } else {
9227
9228 }
9229 }
9230#line 31
9231 if (sdev->ordered_tags) {
9232#line 32
9233 return (34);
9234 } else {
9235
9236 }
9237#line 33
9238 if (sdev->simple_tags) {
9239#line 34
9240 return (32);
9241 } else {
9242
9243 }
9244#line 35
9245 return (0);
9246}
9247}
9248#line 202 "include/net/inet_connection_sock.h"
9249static struct _ddebug __attribute__((__aligned__(8))) descriptor __attribute__((__used__,
9250__section__("__verbose"))) = {"tcm_loop", "inet_csk_clear_xmit_timer", "include/net/inet_connection_sock.h",
9251 "%s", 202U, 0U};
9252#line 218 "include/net/inet_connection_sock.h"
9253static struct _ddebug __attribute__((__aligned__(8))) descriptor___0 __attribute__((__used__,
9254__section__("__verbose"))) = {"tcm_loop", "inet_csk_reset_xmit_timer", "include/net/inet_connection_sock.h",
9255 "reset_xmit_timer: sk=%p %d when=0x%lx, caller=%p\n", 219U, 0U};
9256#line 235 "include/net/inet_connection_sock.h"
9257static struct _ddebug __attribute__((__aligned__(8))) descriptor___1 __attribute__((__used__,
9258__section__("__verbose"))) = {"tcm_loop", "inet_csk_reset_xmit_timer", "include/net/inet_connection_sock.h",
9259 "%s", 235U, 0U};
9260#line 99 "include/target/target_core_fabric.h"
9261extern struct se_session *transport_init_session(void) ;
9262#line 100
9263extern void __transport_register_session(struct se_portal_group * , struct se_node_acl * ,
9264 struct se_session * , void * ) ;
9265#line 106
9266extern void transport_free_session(struct se_session * ) ;
9267#line 109
9268extern void transport_deregister_session(struct se_session * ) ;
9269#line 112
9270extern void transport_init_se_cmd(struct se_cmd * , struct target_core_fabric_ops * ,
9271 struct se_session * , u32 , int , int , unsigned char * ) ;
9272#line 114
9273extern int transport_lookup_cmd_lun(struct se_cmd * , u32 ) ;
9274#line 115
9275extern int transport_generic_allocate_tasks(struct se_cmd * , unsigned char * ) ;
9276#line 122
9277extern int transport_handle_cdb_direct(struct se_cmd * ) ;
9278#line 125
9279extern int transport_generic_map_mem_to_cmd(struct se_cmd *cmd , struct scatterlist * ,
9280 u32 , struct scatterlist * , u32 ) ;
9281#line 130
9282extern void transport_generic_process_write(struct se_cmd * ) ;
9283#line 132
9284extern void transport_generic_free_cmd(struct se_cmd * , int ) ;
9285#line 136
9286extern int transport_send_check_condition_and_sense(struct se_cmd * , u8 , int ) ;
9287#line 145
9288extern int core_tmr_alloc_req(struct se_cmd * , void * , u8 , gfp_t ) ;
9289#line 147
9290extern int transport_generic_handle_tmr(struct se_cmd * ) ;
9291#line 149
9292extern int transport_lookup_tmr_lun(struct se_cmd * , u32 ) ;
9293#line 151
9294extern struct se_node_acl *core_tpg_check_initiator_node_acl(struct se_portal_group * ,
9295 unsigned char * ) ;
9296#line 160
9297extern int core_tpg_register(struct target_core_fabric_ops * , struct se_wwn * , struct se_portal_group * ,
9298 void * , int ) ;
9299#line 162
9300extern int core_tpg_deregister(struct se_portal_group * ) ;
9301#line 165
9302extern u8 sas_get_fabric_proto_ident(struct se_portal_group * ) ;
9303#line 166
9304extern u32 sas_get_pr_transport_id(struct se_portal_group * , struct se_node_acl * ,
9305 struct t10_pr_registration * , int * , unsigned char * ) ;
9306#line 168
9307extern u32 sas_get_pr_transport_id_len(struct se_portal_group * , struct se_node_acl * ,
9308 struct t10_pr_registration * , int * ) ;
9309#line 170
9310extern char *sas_parse_pr_out_transport_id(struct se_portal_group * , char const * ,
9311 u32 * , char ** ) ;
9312#line 174
9313extern u8 fc_get_fabric_proto_ident(struct se_portal_group * ) ;
9314#line 175
9315extern u32 fc_get_pr_transport_id(struct se_portal_group * , struct se_node_acl * ,
9316 struct t10_pr_registration * , int * , unsigned char * ) ;
9317#line 177
9318extern u32 fc_get_pr_transport_id_len(struct se_portal_group * , struct se_node_acl * ,
9319 struct t10_pr_registration * , int * ) ;
9320#line 179
9321extern char *fc_parse_pr_out_transport_id(struct se_portal_group * , char const * ,
9322 u32 * , char ** ) ;
9323#line 183
9324extern u8 iscsi_get_fabric_proto_ident(struct se_portal_group * ) ;
9325#line 184
9326extern u32 iscsi_get_pr_transport_id(struct se_portal_group * , struct se_node_acl * ,
9327 struct t10_pr_registration * , int * , unsigned char * ) ;
9328#line 186
9329extern u32 iscsi_get_pr_transport_id_len(struct se_portal_group * , struct se_node_acl * ,
9330 struct t10_pr_registration * , int * ) ;
9331#line 188
9332extern char *iscsi_parse_pr_out_transport_id(struct se_portal_group * , char const * ,
9333 u32 * , char ** ) ;
9334#line 8 "include/target/target_core_configfs.h"
9335extern struct target_fabric_configfs *target_fabric_configfs_init(struct module * ,
9336 char const * ) ;
9337#line 10
9338extern void target_fabric_configfs_free(struct target_fabric_configfs * ) ;
9339#line 11
9340extern int target_fabric_configfs_register(struct target_fabric_configfs * ) ;
9341#line 12
9342extern void target_fabric_configfs_deregister(struct target_fabric_configfs * ) ;
9343#line 46 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9344static struct target_fabric_configfs *tcm_loop_fabric_configfs ;
9345#line 48 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9346static struct workqueue_struct *tcm_loop_workqueue ;
9347#line 49 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9348static struct kmem_cache *tcm_loop_cmd_cache ;
9349#line 51 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9350static int tcm_loop_hba_no_cnt ;
9351#line 53
9352static int tcm_loop_queue_status(struct se_cmd *se_cmd ) ;
9353#line 58 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9354static int tcm_loop_check_stop_free(struct se_cmd *se_cmd )
9355{ unsigned long __cil_tmp2 ;
9356 unsigned long __cil_tmp3 ;
9357 u32 __cil_tmp4 ;
9358
9359 {
9360 {
9361#line 65
9362 __cil_tmp2 = (unsigned long )se_cmd;
9363#line 65
9364 __cil_tmp3 = __cil_tmp2 + 28;
9365#line 65
9366 __cil_tmp4 = *((u32 *)__cil_tmp3);
9367#line 65
9368 if (__cil_tmp4 & 64U) {
9369#line 66
9370 return (0);
9371 } else {
9372
9373 }
9374 }
9375 {
9376#line 71
9377 transport_generic_free_cmd(se_cmd, 0);
9378 }
9379#line 72
9380 return (1);
9381}
9382}
9383#line 75 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9384static void tcm_loop_release_cmd(struct se_cmd *se_cmd )
9385{ struct tcm_loop_cmd *tl_cmd ;
9386 struct se_cmd const *__mptr ;
9387 struct tcm_loop_cmd *__cil_tmp4 ;
9388 unsigned long __cil_tmp5 ;
9389 unsigned long __cil_tmp6 ;
9390 struct se_cmd *__cil_tmp7 ;
9391 unsigned int __cil_tmp8 ;
9392 char *__cil_tmp9 ;
9393 char *__cil_tmp10 ;
9394 void *__cil_tmp11 ;
9395
9396 {
9397 {
9398#line 77
9399 __mptr = (struct se_cmd const *)se_cmd;
9400#line 77
9401 __cil_tmp4 = (struct tcm_loop_cmd *)0;
9402#line 77
9403 __cil_tmp5 = (unsigned long )__cil_tmp4;
9404#line 77
9405 __cil_tmp6 = __cil_tmp5 + 16;
9406#line 77
9407 __cil_tmp7 = (struct se_cmd *)__cil_tmp6;
9408#line 77
9409 __cil_tmp8 = (unsigned int )__cil_tmp7;
9410#line 77
9411 __cil_tmp9 = (char *)__mptr;
9412#line 77
9413 __cil_tmp10 = __cil_tmp9 - __cil_tmp8;
9414#line 77
9415 tl_cmd = (struct tcm_loop_cmd *)__cil_tmp10;
9416#line 80
9417 __cil_tmp11 = (void *)tl_cmd;
9418#line 80
9419 kmem_cache_free(tcm_loop_cmd_cache, __cil_tmp11);
9420 }
9421#line 81
9422 return;
9423}
9424}
9425#line 83 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9426static int tcm_loop_proc_info(struct Scsi_Host *host , char *buffer , char **start ,
9427 off_t offset , int length , int inout )
9428{ int tmp___17 ;
9429
9430 {
9431 {
9432#line 87
9433 tmp___17 = sprintf(buffer, "tcm_loop_proc_info()\n");
9434 }
9435#line 87
9436 return (tmp___17);
9437}
9438}
9439#line 90
9440static int tcm_loop_driver_probe(struct device *dev ) ;
9441#line 91
9442static int tcm_loop_driver_remove(struct device *dev ) ;
9443#line 93 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9444static int pseudo_lld_bus_match(struct device *dev , struct device_driver *dev_driver )
9445{
9446
9447 {
9448#line 96
9449 return (1);
9450}
9451}
9452#line 99 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9453static struct bus_type tcm_loop_lld_bus =
9454#line 99
9455 {"tcm_loop_bus", (char const *)0, (struct device *)0, (struct bus_attribute *)0,
9456 (struct device_attribute *)0, (struct driver_attribute *)0, & pseudo_lld_bus_match,
9457 (int (*)(struct device *dev , struct kobj_uevent_env *env ))0, & tcm_loop_driver_probe,
9458 & tcm_loop_driver_remove, (void (*)(struct device *dev ))0, (int (*)(struct device *dev ,
9459 pm_message_t state ))0,
9460 (int (*)(struct device *dev ))0, (struct dev_pm_ops const *)0, (struct iommu_ops *)0,
9461 (struct subsys_private *)0};
9462#line 106 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9463static struct device_driver tcm_loop_driverfs =
9464#line 106
9465 {"tcm_loop", & tcm_loop_lld_bus, (struct module *)0, (char const *)0, (_Bool)0,
9466 (struct of_device_id const *)0, (int (*)(struct device *dev ))0, (int (*)(struct device *dev ))0,
9467 (void (*)(struct device *dev ))0, (int (*)(struct device *dev , pm_message_t state ))0,
9468 (int (*)(struct device *dev ))0, (struct attribute_group const **)0, (struct dev_pm_ops const *)0,
9469 (struct driver_private *)0};
9470#line 113 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9471struct device *tcm_loop_primary ;
9472#line 119 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9473static int tcm_loop_change_queue_depth(struct scsi_device *sdev , int depth , int reason )
9474{ int tmp___17 ;
9475 int tmp___18 ;
9476 unsigned long __cil_tmp6 ;
9477 unsigned long __cil_tmp7 ;
9478 unsigned short __cil_tmp8 ;
9479
9480 {
9481#line 125
9482 if (reason == 0) {
9483#line 125
9484 goto case_0;
9485 } else
9486#line 128
9487 if (reason == 1) {
9488#line 128
9489 goto case_1;
9490 } else
9491#line 131
9492 if (reason == 2) {
9493#line 131
9494 goto case_2;
9495 } else {
9496 {
9497#line 134
9498 goto switch_default;
9499#line 124
9500 if (0) {
9501 case_0:
9502 {
9503#line 126
9504 tmp___17 = scsi_get_tag_type(sdev);
9505#line 126
9506 scsi_adjust_queue_depth(sdev, tmp___17, depth);
9507 }
9508#line 127
9509 goto switch_break;
9510 case_1:
9511 {
9512#line 129
9513 scsi_track_queue_full(sdev, depth);
9514 }
9515#line 130
9516 goto switch_break;
9517 case_2:
9518 {
9519#line 132
9520 tmp___18 = scsi_get_tag_type(sdev);
9521#line 132
9522 scsi_adjust_queue_depth(sdev, tmp___18, depth);
9523 }
9524#line 133
9525 goto switch_break;
9526 switch_default:
9527#line 135
9528 return (-95);
9529 } else {
9530 switch_break: ;
9531 }
9532 }
9533 }
9534 {
9535#line 137
9536 __cil_tmp6 = (unsigned long )sdev;
9537#line 137
9538 __cil_tmp7 = __cil_tmp6 + 120;
9539#line 137
9540 __cil_tmp8 = *((unsigned short *)__cil_tmp7);
9541#line 137
9542 return ((int )__cil_tmp8);
9543 }
9544}
9545}
9546#line 143 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9547static int tcm_loop_sam_attr(struct scsi_cmnd *sc )
9548{ struct scsi_device *__cil_tmp2 ;
9549 unsigned long __cil_tmp3 ;
9550 unsigned long __cil_tmp4 ;
9551 unsigned char __cil_tmp5 ;
9552
9553 {
9554 {
9555#line 145
9556 __cil_tmp2 = *((struct scsi_device **)sc);
9557#line 145
9558 if (__cil_tmp2->tagged_supported) {
9559 {
9560#line 146
9561 __cil_tmp3 = (unsigned long )sc;
9562#line 146
9563 __cil_tmp4 = __cil_tmp3 + 228;
9564#line 146
9565 __cil_tmp5 = *((unsigned char *)__cil_tmp4);
9566#line 147
9567 if ((int )__cil_tmp5 == 33) {
9568#line 147
9569 goto case_33;
9570 } else
9571#line 149
9572 if ((int )__cil_tmp5 == 34) {
9573#line 149
9574 goto case_34;
9575 } else {
9576 {
9577#line 151
9578 goto switch_default;
9579#line 146
9580 if (0) {
9581 case_33:
9582#line 148
9583 return (33);
9584 case_34:
9585#line 150
9586 return (34);
9587 switch_default:
9588#line 152
9589 goto switch_break;
9590 } else {
9591 switch_break: ;
9592 }
9593 }
9594 }
9595 }
9596 } else {
9597
9598 }
9599 }
9600#line 156
9601 return (32);
9602}
9603}
9604#line 159 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
9605static void tcm_loop_submission_work(struct work_struct *work )
9606{ struct tcm_loop_cmd *tl_cmd ;
9607 struct work_struct const *__mptr ;
9608 struct se_cmd *se_cmd ;
9609 struct scsi_cmnd *sc ;
9610 struct tcm_loop_nexus *tl_nexus ;
9611 struct tcm_loop_hba *tl_hba ;
9612 struct tcm_loop_tpg *tl_tpg ;
9613 struct scatterlist *sgl_bidi ;
9614 u32 sgl_bidi_count ;
9615 int ret ;
9616 void *tmp___17 ;
9617 int tmp___18 ;
9618 unsigned int tmp___19 ;
9619 struct scsi_data_buffer *sdb ;
9620 struct scsi_data_buffer *tmp___20 ;
9621 int tmp___21 ;
9622 int tmp___22 ;
9623 struct scatterlist *sg ;
9624 struct scatterlist *tmp___23 ;
9625 unsigned char *buf ;
9626 struct page *tmp___24 ;
9627 void *tmp___25 ;
9628 struct page *tmp___26 ;
9629 unsigned int tmp___27 ;
9630 struct scatterlist *tmp___28 ;
9631 struct tcm_loop_cmd *__cil_tmp27 ;
9632 unsigned long __cil_tmp28 ;
9633 unsigned long __cil_tmp29 ;
9634 struct work_struct *__cil_tmp30 ;
9635 unsigned int __cil_tmp31 ;
9636 char *__cil_tmp32 ;
9637 char *__cil_tmp33 ;
9638 unsigned long __cil_tmp34 ;
9639 unsigned long __cil_tmp35 ;
9640 unsigned long __cil_tmp36 ;
9641 unsigned long __cil_tmp37 ;
9642 void *__cil_tmp38 ;
9643 struct scsi_device *__cil_tmp39 ;
9644 struct Scsi_Host *__cil_tmp40 ;
9645 struct tcm_loop_hba **__cil_tmp41 ;
9646 struct scsi_device *__cil_tmp42 ;
9647 unsigned long __cil_tmp43 ;
9648 unsigned long __cil_tmp44 ;
9649 unsigned int __cil_tmp45 ;
9650 unsigned long __cil_tmp46 ;
9651 unsigned long __cil_tmp47 ;
9652 unsigned long __cil_tmp48 ;
9653 unsigned long __cil_tmp49 ;
9654 unsigned long __cil_tmp50 ;
9655 unsigned long __cil_tmp51 ;
9656 struct tcm_loop_hba *__cil_tmp52 ;
9657 unsigned long __cil_tmp53 ;
9658 unsigned long __cil_tmp54 ;
9659 unsigned long __cil_tmp55 ;
9660 unsigned long __cil_tmp56 ;
9661 struct request *__cil_tmp57 ;
9662 unsigned long __cil_tmp58 ;
9663 unsigned long __cil_tmp59 ;
9664 struct scsi_device *__cil_tmp60 ;
9665 unsigned long __cil_tmp61 ;
9666 unsigned long __cil_tmp62 ;
9667 struct device *__cil_tmp63 ;
9668 struct device const *__cil_tmp64 ;
9669 unsigned long __cil_tmp65 ;
9670 unsigned long __cil_tmp66 ;
9671 unsigned long __cil_tmp67 ;
9672 unsigned long __cil_tmp68 ;
9673 struct request *__cil_tmp69 ;
9674 unsigned long __cil_tmp70 ;
9675 unsigned long __cil_tmp71 ;
9676 struct gendisk *__cil_tmp72 ;
9677 unsigned long __cil_tmp73 ;
9678 unsigned long __cil_tmp74 ;
9679 char *__cil_tmp75 ;
9680 struct scsi_device *__cil_tmp76 ;
9681 unsigned long __cil_tmp77 ;
9682 unsigned long __cil_tmp78 ;
9683 struct device *__cil_tmp79 ;
9684 struct device const *__cil_tmp80 ;
9685 unsigned long __cil_tmp81 ;
9686 unsigned long __cil_tmp82 ;
9687 unsigned long __cil_tmp83 ;
9688 struct target_core_fabric_ops *__cil_tmp84 ;
9689 unsigned long __cil_tmp85 ;
9690 unsigned long __cil_tmp86 ;
9691 struct se_session *__cil_tmp87 ;
9692 unsigned long __cil_tmp88 ;
9693 unsigned long __cil_tmp89 ;
9694 enum dma_data_direction __cil_tmp90 ;
9695 int __cil_tmp91 ;
9696 unsigned long __cil_tmp92 ;
9697 unsigned long __cil_tmp93 ;
9698 unsigned long __cil_tmp94 ;
9699 unsigned long __cil_tmp95 ;
9700 unsigned char *__cil_tmp96 ;
9701 unsigned long __cil_tmp97 ;
9702 unsigned long __cil_tmp98 ;
9703 unsigned long __cil_tmp99 ;
9704 unsigned long __cil_tmp100 ;
9705 unsigned long __cil_tmp101 ;
9706 unsigned long __cil_tmp102 ;
9707 unsigned long __cil_tmp103 ;
9708 u32 __cil_tmp104 ;
9709 unsigned long __cil_tmp105 ;
9710 unsigned long __cil_tmp106 ;
9711 struct scsi_cmnd *__cil_tmp107 ;
9712 struct scsi_device *__cil_tmp108 ;
9713 unsigned long __cil_tmp109 ;
9714 unsigned long __cil_tmp110 ;
9715 unsigned int __cil_tmp111 ;
9716 void *__cil_tmp112 ;
9717 unsigned long __cil_tmp113 ;
9718 unsigned long __cil_tmp114 ;
9719 u32 __cil_tmp115 ;
9720 unsigned long __cil_tmp116 ;
9721 unsigned long __cil_tmp117 ;
9722 enum dma_data_direction __cil_tmp118 ;
9723 unsigned int __cil_tmp119 ;
9724 unsigned long __cil_tmp120 ;
9725 unsigned long __cil_tmp121 ;
9726 unsigned int __cil_tmp122 ;
9727 void *__cil_tmp123 ;
9728 void *__cil_tmp124 ;
9729 unsigned long __cil_tmp125 ;
9730 unsigned long __cil_tmp126 ;
9731 void *__cil_tmp127 ;
9732 unsigned long __cil_tmp128 ;
9733 unsigned long __cil_tmp129 ;
9734 unsigned int __cil_tmp130 ;
9735 size_t __cil_tmp131 ;
9736 unsigned long __cil_tmp132 ;
9737 unsigned long __cil_tmp133 ;
9738 unsigned char *__cil_tmp134 ;
9739 u8 __cil_tmp135 ;
9740 unsigned long __cil_tmp136 ;
9741 unsigned long __cil_tmp137 ;
9742 u32 __cil_tmp138 ;
9743 unsigned long __cil_tmp139 ;
9744 unsigned long __cil_tmp140 ;
9745 u8 __cil_tmp141 ;
9746 unsigned long __cil_tmp142 ;
9747 unsigned long __cil_tmp143 ;
9748 u8 __cil_tmp144 ;
9749 unsigned long __cil_tmp145 ;
9750 unsigned long __cil_tmp146 ;
9751 void (*__cil_tmp147)(struct scsi_cmnd * ) ;
9752
9753 {
9754 {
9755#line 162
9756 __mptr = (struct work_struct const *)work;
9757#line 162
9758 __cil_tmp27 = (struct tcm_loop_cmd *)0;
9759#line 162
9760 __cil_tmp28 = (unsigned long )__cil_tmp27;
9761#line 162
9762 __cil_tmp29 = __cil_tmp28 + 640;
9763#line 162
9764 __cil_tmp30 = (struct work_struct *)__cil_tmp29;
9765#line 162
9766 __cil_tmp31 = (unsigned int )__cil_tmp30;
9767#line 162
9768 __cil_tmp32 = (char *)__mptr;
9769#line 162
9770 __cil_tmp33 = __cil_tmp32 - __cil_tmp31;
9771#line 162
9772 tl_cmd = (struct tcm_loop_cmd *)__cil_tmp33;
9773#line 163
9774 __cil_tmp34 = (unsigned long )tl_cmd;
9775#line 163
9776 __cil_tmp35 = __cil_tmp34 + 16;
9777#line 163
9778 se_cmd = (struct se_cmd *)__cil_tmp35;
9779#line 164
9780 __cil_tmp36 = (unsigned long )tl_cmd;
9781#line 164
9782 __cil_tmp37 = __cil_tmp36 + 8;
9783#line 164
9784 sc = *((struct scsi_cmnd **)__cil_tmp37);
9785#line 168
9786 __cil_tmp38 = (void *)0;
9787#line 168
9788 sgl_bidi = (struct scatterlist *)__cil_tmp38;
9789#line 169
9790 sgl_bidi_count = (u32 )0;
9791#line 172
9792 __cil_tmp39 = *((struct scsi_device **)sc);
9793#line 172
9794 __cil_tmp40 = *((struct Scsi_Host **)__cil_tmp39);
9795#line 172
9796 tmp___17 = shost_priv(__cil_tmp40);
9797#line 172
9798 __cil_tmp41 = (struct tcm_loop_hba **)tmp___17;
9799#line 172
9800 tl_hba = *__cil_tmp41;
9801#line 173
9802 __cil_tmp42 = *((struct scsi_device **)sc);
9803#line 173
9804 __cil_tmp43 = (unsigned long )__cil_tmp42;
9805#line 173
9806 __cil_tmp44 = __cil_tmp43 + 152;
9807#line 173
9808 __cil_tmp45 = *((unsigned int *)__cil_tmp44);
9809#line 173
9810 __cil_tmp46 = __cil_tmp45 * 1656UL;
9811#line 173
9812 __cil_tmp47 = 1080 + __cil_tmp46;
9813#line 173
9814 __cil_tmp48 = (unsigned long )tl_hba;
9815#line 173
9816 __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
9817#line 173
9818 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp49;
9819 }
9820 {
9821#line 179
9822 __cil_tmp50 = (unsigned long )tl_tpg;
9823#line 179
9824 __cil_tmp51 = __cil_tmp50 + 1648;
9825#line 179
9826 __cil_tmp52 = *((struct tcm_loop_hba **)__cil_tmp51);
9827#line 179
9828 if (! __cil_tmp52) {
9829 {
9830#line 180
9831 set_host_byte(sc, (char)1);
9832 }
9833#line 181
9834 goto out_done;
9835 } else {
9836
9837 }
9838 }
9839#line 184
9840 __cil_tmp53 = (unsigned long )tl_hba;
9841#line 184
9842 __cil_tmp54 = __cil_tmp53 + 296;
9843#line 184
9844 tl_nexus = *((struct tcm_loop_nexus **)__cil_tmp54);
9845#line 185
9846 if (! tl_nexus) {
9847 {
9848#line 186
9849 __cil_tmp55 = (unsigned long )sc;
9850#line 186
9851 __cil_tmp56 = __cil_tmp55 + 128;
9852#line 186
9853 __cil_tmp57 = *((struct request **)__cil_tmp56);
9854#line 186
9855 __cil_tmp58 = (unsigned long )__cil_tmp57;
9856#line 186
9857 __cil_tmp59 = __cil_tmp58 + 184;
9858#line 186
9859 if (*((struct gendisk **)__cil_tmp59)) {
9860 {
9861#line 186
9862 __cil_tmp60 = *((struct scsi_device **)sc);
9863#line 186
9864 __cil_tmp61 = (unsigned long )__cil_tmp60;
9865#line 186
9866 __cil_tmp62 = __cil_tmp61 + 336;
9867#line 186
9868 __cil_tmp63 = (struct device *)__cil_tmp62;
9869#line 186
9870 __cil_tmp64 = (struct device const *)__cil_tmp63;
9871#line 186
9872 __cil_tmp65 = 0 * 1UL;
9873#line 186
9874 __cil_tmp66 = 12 + __cil_tmp65;
9875#line 186
9876 __cil_tmp67 = (unsigned long )sc;
9877#line 186
9878 __cil_tmp68 = __cil_tmp67 + 128;
9879#line 186
9880 __cil_tmp69 = *((struct request **)__cil_tmp68);
9881#line 186
9882 __cil_tmp70 = (unsigned long )__cil_tmp69;
9883#line 186
9884 __cil_tmp71 = __cil_tmp70 + 184;
9885#line 186
9886 __cil_tmp72 = *((struct gendisk **)__cil_tmp71);
9887#line 186
9888 __cil_tmp73 = (unsigned long )__cil_tmp72;
9889#line 186
9890 __cil_tmp74 = __cil_tmp73 + __cil_tmp66;
9891#line 186
9892 __cil_tmp75 = (char *)__cil_tmp74;
9893#line 186
9894 dev_printk("<3>", __cil_tmp64, "[%s] TCM_Loop I_T Nexus does not exist\n", __cil_tmp75);
9895 }
9896 } else {
9897 {
9898#line 186
9899 __cil_tmp76 = *((struct scsi_device **)sc);
9900#line 186
9901 __cil_tmp77 = (unsigned long )__cil_tmp76;
9902#line 186
9903 __cil_tmp78 = __cil_tmp77 + 336;
9904#line 186
9905 __cil_tmp79 = (struct device *)__cil_tmp78;
9906#line 186
9907 __cil_tmp80 = (struct device const *)__cil_tmp79;
9908#line 186
9909 dev_printk("<3>", __cil_tmp80, "TCM_Loop I_T Nexus does not exist\n");
9910 }
9911 }
9912 }
9913 {
9914#line 188
9915 set_host_byte(sc, (char)7);
9916 }
9917#line 189
9918 goto out_done;
9919 } else {
9920
9921 }
9922 {
9923#line 192
9924 tmp___18 = tcm_loop_sam_attr(sc);
9925#line 192
9926 tmp___19 = scsi_bufflen(sc);
9927#line 192
9928 __cil_tmp81 = 8 + 904;
9929#line 192
9930 __cil_tmp82 = (unsigned long )tl_tpg;
9931#line 192
9932 __cil_tmp83 = __cil_tmp82 + __cil_tmp81;
9933#line 192
9934 __cil_tmp84 = *((struct target_core_fabric_ops **)__cil_tmp83);
9935#line 192
9936 __cil_tmp85 = (unsigned long )tl_nexus;
9937#line 192
9938 __cil_tmp86 = __cil_tmp85 + 16;
9939#line 192
9940 __cil_tmp87 = *((struct se_session **)__cil_tmp86);
9941#line 192
9942 __cil_tmp88 = (unsigned long )sc;
9943#line 192
9944 __cil_tmp89 = __cil_tmp88 + 76;
9945#line 192
9946 __cil_tmp90 = *((enum dma_data_direction *)__cil_tmp89);
9947#line 192
9948 __cil_tmp91 = (int )__cil_tmp90;
9949#line 192
9950 __cil_tmp92 = 0 * 1UL;
9951#line 192
9952 __cil_tmp93 = 672 + __cil_tmp92;
9953#line 192
9954 __cil_tmp94 = (unsigned long )tl_cmd;
9955#line 192
9956 __cil_tmp95 = __cil_tmp94 + __cil_tmp93;
9957#line 192
9958 __cil_tmp96 = (unsigned char *)__cil_tmp95;
9959#line 192
9960 transport_init_se_cmd(se_cmd, __cil_tmp84, __cil_tmp87, tmp___19, __cil_tmp91, tmp___18,
9961 __cil_tmp96);
9962#line 197
9963 tmp___21 = scsi_bidi_cmnd(sc);
9964 }
9965#line 197
9966 if (tmp___21) {
9967 {
9968#line 198
9969 tmp___20 = scsi_in(sc);
9970#line 198
9971 sdb = tmp___20;
9972#line 200
9973 sgl_bidi = *((struct scatterlist **)sdb);
9974#line 201
9975 __cil_tmp97 = 0 + 8;
9976#line 201
9977 __cil_tmp98 = (unsigned long )sdb;
9978#line 201
9979 __cil_tmp99 = __cil_tmp98 + __cil_tmp97;
9980#line 201
9981 sgl_bidi_count = *((unsigned int *)__cil_tmp99);
9982#line 202
9983 __cil_tmp100 = (unsigned long )se_cmd;
9984#line 202
9985 __cil_tmp101 = __cil_tmp100 + 28;
9986#line 202
9987 __cil_tmp102 = (unsigned long )se_cmd;
9988#line 202
9989 __cil_tmp103 = __cil_tmp102 + 28;
9990#line 202
9991 __cil_tmp104 = *((u32 *)__cil_tmp103);
9992#line 202
9993 *((u32 *)__cil_tmp101) = __cil_tmp104 | 8192U;
9994 }
9995 } else {
9996
9997 }
9998 {
9999#line 206
10000 __cil_tmp105 = (unsigned long )tl_cmd;
10001#line 206
10002 __cil_tmp106 = __cil_tmp105 + 8;
10003#line 206
10004 __cil_tmp107 = *((struct scsi_cmnd **)__cil_tmp106);
10005#line 206
10006 __cil_tmp108 = *((struct scsi_device **)__cil_tmp107);
10007#line 206
10008 __cil_tmp109 = (unsigned long )__cil_tmp108;
10009#line 206
10010 __cil_tmp110 = __cil_tmp109 + 156;
10011#line 206
10012 __cil_tmp111 = *((unsigned int *)__cil_tmp110);
10013#line 206
10014 tmp___22 = transport_lookup_cmd_lun(se_cmd, __cil_tmp111);
10015 }
10016#line 206
10017 if (tmp___22 < 0) {
10018 {
10019#line 207
10020 __cil_tmp112 = (void *)tl_cmd;
10021#line 207
10022 kmem_cache_free(tcm_loop_cmd_cache, __cil_tmp112);
10023#line 208
10024 set_host_byte(sc, (char)1);
10025 }
10026#line 209
10027 goto out_done;
10028 } else {
10029
10030 }
10031 {
10032#line 220
10033 __cil_tmp113 = (unsigned long )se_cmd;
10034#line 220
10035 __cil_tmp114 = __cil_tmp113 + 28;
10036#line 220
10037 __cil_tmp115 = *((u32 *)__cil_tmp114);
10038#line 220
10039 if (__cil_tmp115 & 16U) {
10040 {
10041#line 220
10042 __cil_tmp116 = (unsigned long )se_cmd;
10043#line 220
10044 __cil_tmp117 = __cil_tmp116 + 12;
10045#line 220
10046 __cil_tmp118 = *((enum dma_data_direction *)__cil_tmp117);
10047#line 220
10048 __cil_tmp119 = (unsigned int )__cil_tmp118;
10049#line 220
10050 if (__cil_tmp119 == 2U) {
10051 {
10052#line 222
10053 tmp___23 = scsi_sglist(sc);
10054#line 222
10055 sg = tmp___23;
10056#line 223
10057 tmp___24 = sg_page(sg);
10058#line 223
10059 tmp___25 = kmap(tmp___24);
10060#line 223
10061 __cil_tmp120 = (unsigned long )sg;
10062#line 223
10063 __cil_tmp121 = __cil_tmp120 + 16;
10064#line 223
10065 __cil_tmp122 = *((unsigned int *)__cil_tmp121);
10066#line 223
10067 __cil_tmp123 = tmp___25 + __cil_tmp122;
10068#line 223
10069 buf = (unsigned char *)__cil_tmp123;
10070 }
10071 {
10072#line 225
10073 __cil_tmp124 = (void *)0;
10074#line 225
10075 __cil_tmp125 = (unsigned long )__cil_tmp124;
10076#line 225
10077 __cil_tmp126 = (unsigned long )buf;
10078#line 225
10079 if (__cil_tmp126 != __cil_tmp125) {
10080 {
10081#line 226
10082 __cil_tmp127 = (void *)buf;
10083#line 226
10084 __cil_tmp128 = (unsigned long )sg;
10085#line 226
10086 __cil_tmp129 = __cil_tmp128 + 20;
10087#line 226
10088 __cil_tmp130 = *((unsigned int *)__cil_tmp129);
10089#line 226
10090 __cil_tmp131 = (size_t )__cil_tmp130;
10091#line 226
10092 memset(__cil_tmp127, 0, __cil_tmp131);
10093#line 227
10094 tmp___26 = sg_page(sg);
10095#line 227
10096 kunmap(tmp___26);
10097 }
10098 } else {
10099
10100 }
10101 }
10102 } else {
10103
10104 }
10105 }
10106 } else {
10107
10108 }
10109 }
10110 {
10111#line 231
10112 __cil_tmp132 = (unsigned long )sc;
10113#line 231
10114 __cil_tmp133 = __cil_tmp132 + 80;
10115#line 231
10116 __cil_tmp134 = *((unsigned char **)__cil_tmp133);
10117#line 231
10118 ret = transport_generic_allocate_tasks(se_cmd, __cil_tmp134);
10119 }
10120#line 232
10121 if (ret == -12) {
10122 {
10123#line 233
10124 __cil_tmp135 = (u8 )10;
10125#line 233
10126 transport_send_check_condition_and_sense(se_cmd, __cil_tmp135, 0);
10127#line 235
10128 transport_generic_free_cmd(se_cmd, 0);
10129 }
10130#line 236
10131 return;
10132 } else
10133#line 237
10134 if (ret < 0) {
10135 {
10136#line 238
10137 __cil_tmp136 = (unsigned long )se_cmd;
10138#line 238
10139 __cil_tmp137 = __cil_tmp136 + 28;
10140#line 238
10141 __cil_tmp138 = *((u32 *)__cil_tmp137);
10142#line 238
10143 if (__cil_tmp138 & 256U) {
10144 {
10145#line 239
10146 tcm_loop_queue_status(se_cmd);
10147 }
10148 } else {
10149 {
10150#line 241
10151 __cil_tmp139 = (unsigned long )se_cmd;
10152#line 241
10153 __cil_tmp140 = __cil_tmp139 + 3;
10154#line 241
10155 __cil_tmp141 = *((u8 *)__cil_tmp140);
10156#line 241
10157 transport_send_check_condition_and_sense(se_cmd, __cil_tmp141, 0);
10158 }
10159 }
10160 }
10161 {
10162#line 243
10163 transport_generic_free_cmd(se_cmd, 0);
10164 }
10165#line 244
10166 return;
10167 } else {
10168
10169 }
10170 {
10171#line 247
10172 tmp___27 = scsi_sg_count(sc);
10173#line 247
10174 tmp___28 = scsi_sglist(sc);
10175#line 247
10176 ret = transport_generic_map_mem_to_cmd(se_cmd, tmp___28, tmp___27, sgl_bidi, sgl_bidi_count);
10177 }
10178#line 249
10179 if (ret) {
10180 {
10181#line 250
10182 __cil_tmp142 = (unsigned long )se_cmd;
10183#line 250
10184 __cil_tmp143 = __cil_tmp142 + 3;
10185#line 250
10186 __cil_tmp144 = *((u8 *)__cil_tmp143);
10187#line 250
10188 transport_send_check_condition_and_sense(se_cmd, __cil_tmp144, 0);
10189#line 252
10190 transport_generic_free_cmd(se_cmd, 0);
10191 }
10192#line 253
10193 return;
10194 } else {
10195
10196 }
10197 {
10198#line 255
10199 transport_handle_cdb_direct(se_cmd);
10200 }
10201#line 256
10202 return;
10203 out_done:
10204 {
10205#line 259
10206 __cil_tmp145 = (unsigned long )sc;
10207#line 259
10208 __cil_tmp146 = __cil_tmp145 + 144;
10209#line 259
10210 __cil_tmp147 = *((void (**)(struct scsi_cmnd * ))__cil_tmp146);
10211#line 259
10212 (*__cil_tmp147)(sc);
10213 }
10214#line 260
10215 return;
10216}
10217}
10218#line 271
10219static int tcm_loop_queuecommand(struct Scsi_Host *sh , struct scsi_cmnd *sc ) ;
10220#line 271 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10221static struct _ddebug __attribute__((__aligned__(8))) descriptor___2 __attribute__((__used__,
10222__section__("__verbose"))) = {"tcm_loop", "tcm_loop_queuecommand", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
10223 "tcm_loop_queuecommand() %d:%d:%d:%d got CDB: 0x%02x scsi_buf_len: %u\n", 274U,
10224 0U};
10225#line 267 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10226static int tcm_loop_queuecommand(struct Scsi_Host *sh , struct scsi_cmnd *sc )
10227{ struct tcm_loop_cmd *tl_cmd ;
10228 unsigned int tmp___17 ;
10229 long tmp___18 ;
10230 void *tmp___19 ;
10231 atomic_long_t __constr_expr_0 ;
10232 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp8 ;
10233 unsigned int __cil_tmp9 ;
10234 unsigned int __cil_tmp10 ;
10235 int __cil_tmp11 ;
10236 int __cil_tmp12 ;
10237 long __cil_tmp13 ;
10238 struct scsi_device *__cil_tmp14 ;
10239 struct Scsi_Host *__cil_tmp15 ;
10240 unsigned long __cil_tmp16 ;
10241 unsigned long __cil_tmp17 ;
10242 unsigned int __cil_tmp18 ;
10243 struct scsi_device *__cil_tmp19 ;
10244 unsigned long __cil_tmp20 ;
10245 unsigned long __cil_tmp21 ;
10246 unsigned int __cil_tmp22 ;
10247 struct scsi_device *__cil_tmp23 ;
10248 unsigned long __cil_tmp24 ;
10249 unsigned long __cil_tmp25 ;
10250 unsigned int __cil_tmp26 ;
10251 struct scsi_device *__cil_tmp27 ;
10252 unsigned long __cil_tmp28 ;
10253 unsigned long __cil_tmp29 ;
10254 unsigned int __cil_tmp30 ;
10255 unsigned long __cil_tmp31 ;
10256 unsigned long __cil_tmp32 ;
10257 unsigned char *__cil_tmp33 ;
10258 unsigned char *__cil_tmp34 ;
10259 unsigned char __cil_tmp35 ;
10260 int __cil_tmp36 ;
10261 unsigned long __cil_tmp37 ;
10262 unsigned long __cil_tmp38 ;
10263 void (*__cil_tmp39)(struct scsi_cmnd * ) ;
10264 unsigned long __cil_tmp40 ;
10265 unsigned long __cil_tmp41 ;
10266 unsigned long __cil_tmp42 ;
10267 unsigned long __cil_tmp43 ;
10268 struct work_struct *__cil_tmp44 ;
10269 unsigned long __cil_tmp45 ;
10270 unsigned long __cil_tmp46 ;
10271 unsigned long __cil_tmp47 ;
10272 unsigned long __cil_tmp48 ;
10273 unsigned long __cil_tmp49 ;
10274 struct list_head *__cil_tmp50 ;
10275 unsigned long __cil_tmp51 ;
10276 unsigned long __cil_tmp52 ;
10277 unsigned long __cil_tmp53 ;
10278 unsigned long __cil_tmp54 ;
10279 unsigned long __cil_tmp55 ;
10280 struct work_struct *__cil_tmp56 ;
10281 long __constr_expr_0_counter57 ;
10282
10283 {
10284 {
10285#line 271
10286 while (1) {
10287 while_continue: ;
10288 {
10289#line 271
10290 __cil_tmp8 = & descriptor___2;
10291#line 271
10292 __cil_tmp9 = __cil_tmp8->flags;
10293#line 271
10294 __cil_tmp10 = __cil_tmp9 & 1U;
10295#line 271
10296 __cil_tmp11 = ! __cil_tmp10;
10297#line 271
10298 __cil_tmp12 = ! __cil_tmp11;
10299#line 271
10300 __cil_tmp13 = (long )__cil_tmp12;
10301#line 271
10302 tmp___18 = __builtin_expect(__cil_tmp13, 0L);
10303 }
10304#line 271
10305 if (tmp___18) {
10306 {
10307#line 271
10308 tmp___17 = scsi_bufflen(sc);
10309#line 271
10310 __cil_tmp14 = *((struct scsi_device **)sc);
10311#line 271
10312 __cil_tmp15 = *((struct Scsi_Host **)__cil_tmp14);
10313#line 271
10314 __cil_tmp16 = (unsigned long )__cil_tmp15;
10315#line 271
10316 __cil_tmp17 = __cil_tmp16 + 308;
10317#line 271
10318 __cil_tmp18 = *((unsigned int *)__cil_tmp17);
10319#line 271
10320 __cil_tmp19 = *((struct scsi_device **)sc);
10321#line 271
10322 __cil_tmp20 = (unsigned long )__cil_tmp19;
10323#line 271
10324 __cil_tmp21 = __cil_tmp20 + 152;
10325#line 271
10326 __cil_tmp22 = *((unsigned int *)__cil_tmp21);
10327#line 271
10328 __cil_tmp23 = *((struct scsi_device **)sc);
10329#line 271
10330 __cil_tmp24 = (unsigned long )__cil_tmp23;
10331#line 271
10332 __cil_tmp25 = __cil_tmp24 + 160;
10333#line 271
10334 __cil_tmp26 = *((unsigned int *)__cil_tmp25);
10335#line 271
10336 __cil_tmp27 = *((struct scsi_device **)sc);
10337#line 271
10338 __cil_tmp28 = (unsigned long )__cil_tmp27;
10339#line 271
10340 __cil_tmp29 = __cil_tmp28 + 156;
10341#line 271
10342 __cil_tmp30 = *((unsigned int *)__cil_tmp29);
10343#line 271
10344 __cil_tmp31 = (unsigned long )sc;
10345#line 271
10346 __cil_tmp32 = __cil_tmp31 + 80;
10347#line 271
10348 __cil_tmp33 = *((unsigned char **)__cil_tmp32);
10349#line 271
10350 __cil_tmp34 = __cil_tmp33 + 0;
10351#line 271
10352 __cil_tmp35 = *__cil_tmp34;
10353#line 271
10354 __cil_tmp36 = (int )__cil_tmp35;
10355#line 271
10356 __dynamic_pr_debug(& descriptor___2, "tcm_loop_queuecommand() %d:%d:%d:%d got CDB: 0x%02x scsi_buf_len: %u\n",
10357 __cil_tmp18, __cil_tmp22, __cil_tmp26, __cil_tmp30, __cil_tmp36,
10358 tmp___17);
10359 }
10360 } else {
10361
10362 }
10363#line 271
10364 goto while_break;
10365 }
10366 while_break: ;
10367 }
10368 {
10369#line 276
10370 tmp___19 = kmem_cache_zalloc(tcm_loop_cmd_cache, 32U);
10371#line 276
10372 tl_cmd = (struct tcm_loop_cmd *)tmp___19;
10373 }
10374#line 277
10375 if (! tl_cmd) {
10376 {
10377#line 278
10378 printk("<3>Unable to allocate struct tcm_loop_cmd\n");
10379#line 279
10380 set_host_byte(sc, (char)7);
10381#line 280
10382 __cil_tmp37 = (unsigned long )sc;
10383#line 280
10384 __cil_tmp38 = __cil_tmp37 + 144;
10385#line 280
10386 __cil_tmp39 = *((void (**)(struct scsi_cmnd * ))__cil_tmp38);
10387#line 280
10388 (*__cil_tmp39)(sc);
10389 }
10390#line 281
10391 return (0);
10392 } else {
10393
10394 }
10395#line 284
10396 __cil_tmp40 = (unsigned long )tl_cmd;
10397#line 284
10398 __cil_tmp41 = __cil_tmp40 + 8;
10399#line 284
10400 *((struct scsi_cmnd **)__cil_tmp41) = sc;
10401 {
10402#line 285
10403 while (1) {
10404 while_continue___0: ;
10405 {
10406#line 285
10407 while (1) {
10408 while_continue___1: ;
10409 {
10410#line 285
10411 __cil_tmp42 = (unsigned long )tl_cmd;
10412#line 285
10413 __cil_tmp43 = __cil_tmp42 + 640;
10414#line 285
10415 __cil_tmp44 = (struct work_struct *)__cil_tmp43;
10416#line 285
10417 __init_work(__cil_tmp44, 0);
10418#line 285
10419 __constr_expr_0_counter57 = 2097664L;
10420#line 285
10421 __cil_tmp45 = (unsigned long )tl_cmd;
10422#line 285
10423 __cil_tmp46 = __cil_tmp45 + 640;
10424#line 285
10425 ((atomic_long_t *)__cil_tmp46)->counter = __constr_expr_0_counter57;
10426#line 285
10427 __cil_tmp47 = 640 + 8;
10428#line 285
10429 __cil_tmp48 = (unsigned long )tl_cmd;
10430#line 285
10431 __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
10432#line 285
10433 __cil_tmp50 = (struct list_head *)__cil_tmp49;
10434#line 285
10435 INIT_LIST_HEAD(__cil_tmp50);
10436 }
10437 {
10438#line 285
10439 while (1) {
10440 while_continue___2: ;
10441#line 285
10442 __cil_tmp51 = 640 + 24;
10443#line 285
10444 __cil_tmp52 = (unsigned long )tl_cmd;
10445#line 285
10446 __cil_tmp53 = __cil_tmp52 + __cil_tmp51;
10447#line 285
10448 *((void (**)(struct work_struct *work ))__cil_tmp53) = & tcm_loop_submission_work;
10449#line 285
10450 goto while_break___2;
10451 }
10452 while_break___2: ;
10453 }
10454#line 285
10455 goto while_break___1;
10456 }
10457 while_break___1: ;
10458 }
10459#line 285
10460 goto while_break___0;
10461 }
10462 while_break___0: ;
10463 }
10464 {
10465#line 286
10466 __cil_tmp54 = (unsigned long )tl_cmd;
10467#line 286
10468 __cil_tmp55 = __cil_tmp54 + 640;
10469#line 286
10470 __cil_tmp56 = (struct work_struct *)__cil_tmp55;
10471#line 286
10472 queue_work(tcm_loop_workqueue, __cil_tmp56);
10473 }
10474#line 287
10475 return (0);
10476}
10477}
10478#line 336 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10479static struct lock_class_key __key___7 ;
10480#line 294 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10481static int tcm_loop_device_reset(struct scsi_cmnd *sc )
10482{ struct se_cmd *se_cmd ;
10483 struct se_portal_group *se_tpg ;
10484 struct se_session *se_sess ;
10485 struct tcm_loop_cmd *tl_cmd ;
10486 struct tcm_loop_hba *tl_hba ;
10487 struct tcm_loop_nexus *tl_nexus ;
10488 struct tcm_loop_tmr *tl_tmr ;
10489 struct tcm_loop_tpg *tl_tpg ;
10490 int ret ;
10491 int rc ;
10492 void *tmp___17 ;
10493 void *tmp___18 ;
10494 void *tmp___19 ;
10495 int tmp___20 ;
10496 int tmp___21 ;
10497 wait_queue_t __wait ;
10498 struct task_struct *tmp___22 ;
10499 int tmp___23 ;
10500 void *__cil_tmp20 ;
10501 void *__cil_tmp21 ;
10502 void *__cil_tmp22 ;
10503 struct scsi_device *__cil_tmp23 ;
10504 struct Scsi_Host *__cil_tmp24 ;
10505 struct tcm_loop_hba **__cil_tmp25 ;
10506 unsigned long __cil_tmp26 ;
10507 unsigned long __cil_tmp27 ;
10508 unsigned long __cil_tmp28 ;
10509 unsigned long __cil_tmp29 ;
10510 struct scsi_device *__cil_tmp30 ;
10511 unsigned long __cil_tmp31 ;
10512 unsigned long __cil_tmp32 ;
10513 unsigned int __cil_tmp33 ;
10514 unsigned long __cil_tmp34 ;
10515 unsigned long __cil_tmp35 ;
10516 unsigned long __cil_tmp36 ;
10517 unsigned long __cil_tmp37 ;
10518 unsigned long __cil_tmp38 ;
10519 unsigned long __cil_tmp39 ;
10520 unsigned long __cil_tmp40 ;
10521 unsigned long __cil_tmp41 ;
10522 wait_queue_head_t *__cil_tmp42 ;
10523 unsigned long __cil_tmp43 ;
10524 unsigned long __cil_tmp44 ;
10525 unsigned long __cil_tmp45 ;
10526 unsigned long __cil_tmp46 ;
10527 struct target_core_fabric_ops *__cil_tmp47 ;
10528 u32 __cil_tmp48 ;
10529 unsigned long __cil_tmp49 ;
10530 unsigned long __cil_tmp50 ;
10531 unsigned long __cil_tmp51 ;
10532 unsigned long __cil_tmp52 ;
10533 unsigned char *__cil_tmp53 ;
10534 void *__cil_tmp54 ;
10535 u8 __cil_tmp55 ;
10536 struct scsi_device *__cil_tmp56 ;
10537 unsigned long __cil_tmp57 ;
10538 unsigned long __cil_tmp58 ;
10539 unsigned int __cil_tmp59 ;
10540 atomic_t *__cil_tmp60 ;
10541 atomic_t const *__cil_tmp61 ;
10542 wait_queue_t *__cil_tmp62 ;
10543 unsigned long __cil_tmp63 ;
10544 unsigned long __cil_tmp64 ;
10545 unsigned long __cil_tmp65 ;
10546 unsigned long __cil_tmp66 ;
10547 unsigned long __cil_tmp67 ;
10548 unsigned long __cil_tmp68 ;
10549 unsigned long __cil_tmp69 ;
10550 unsigned long __cil_tmp70 ;
10551 unsigned long __cil_tmp71 ;
10552 wait_queue_head_t *__cil_tmp72 ;
10553 atomic_t *__cil_tmp73 ;
10554 atomic_t const *__cil_tmp74 ;
10555 unsigned long __cil_tmp75 ;
10556 unsigned long __cil_tmp76 ;
10557 wait_queue_head_t *__cil_tmp77 ;
10558 unsigned long __cil_tmp78 ;
10559 unsigned long __cil_tmp79 ;
10560 struct se_tmr_req *__cil_tmp80 ;
10561 unsigned long __cil_tmp81 ;
10562 unsigned long __cil_tmp82 ;
10563 u8 __cil_tmp83 ;
10564 int __cil_tmp84 ;
10565 void *__cil_tmp85 ;
10566 void const *__cil_tmp86 ;
10567
10568 {
10569 {
10570#line 296
10571 __cil_tmp20 = (void *)0;
10572#line 296
10573 se_cmd = (struct se_cmd *)__cil_tmp20;
10574#line 299
10575 __cil_tmp21 = (void *)0;
10576#line 299
10577 tl_cmd = (struct tcm_loop_cmd *)__cil_tmp21;
10578#line 302
10579 __cil_tmp22 = (void *)0;
10580#line 302
10581 tl_tmr = (struct tcm_loop_tmr *)__cil_tmp22;
10582#line 304
10583 ret = 8195;
10584#line 308
10585 __cil_tmp23 = *((struct scsi_device **)sc);
10586#line 308
10587 __cil_tmp24 = *((struct Scsi_Host **)__cil_tmp23);
10588#line 308
10589 tmp___17 = shost_priv(__cil_tmp24);
10590#line 308
10591 __cil_tmp25 = (struct tcm_loop_hba **)tmp___17;
10592#line 308
10593 tl_hba = *__cil_tmp25;
10594#line 312
10595 __cil_tmp26 = (unsigned long )tl_hba;
10596#line 312
10597 __cil_tmp27 = __cil_tmp26 + 296;
10598#line 312
10599 tl_nexus = *((struct tcm_loop_nexus **)__cil_tmp27);
10600 }
10601#line 313
10602 if (! tl_nexus) {
10603 {
10604#line 314
10605 printk("<3>Unable to perform device reset without active I_T Nexus\n");
10606 }
10607#line 316
10608 return (8195);
10609 } else {
10610
10611 }
10612 {
10613#line 318
10614 __cil_tmp28 = (unsigned long )tl_nexus;
10615#line 318
10616 __cil_tmp29 = __cil_tmp28 + 16;
10617#line 318
10618 se_sess = *((struct se_session **)__cil_tmp29);
10619#line 322
10620 __cil_tmp30 = *((struct scsi_device **)sc);
10621#line 322
10622 __cil_tmp31 = (unsigned long )__cil_tmp30;
10623#line 322
10624 __cil_tmp32 = __cil_tmp31 + 152;
10625#line 322
10626 __cil_tmp33 = *((unsigned int *)__cil_tmp32);
10627#line 322
10628 __cil_tmp34 = __cil_tmp33 * 1656UL;
10629#line 322
10630 __cil_tmp35 = 1080 + __cil_tmp34;
10631#line 322
10632 __cil_tmp36 = (unsigned long )tl_hba;
10633#line 322
10634 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
10635#line 322
10636 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp37;
10637#line 323
10638 __cil_tmp38 = (unsigned long )tl_tpg;
10639#line 323
10640 __cil_tmp39 = __cil_tmp38 + 8;
10641#line 323
10642 se_tpg = (struct se_portal_group *)__cil_tmp39;
10643#line 325
10644 tmp___18 = kmem_cache_zalloc(tcm_loop_cmd_cache, 208U);
10645#line 325
10646 tl_cmd = (struct tcm_loop_cmd *)tmp___18;
10647 }
10648#line 326
10649 if (! tl_cmd) {
10650 {
10651#line 327
10652 printk("<3>Unable to allocate memory for tl_cmd\n");
10653 }
10654#line 328
10655 return (8195);
10656 } else {
10657
10658 }
10659 {
10660#line 331
10661 tmp___19 = kzalloc(48UL, 208U);
10662#line 331
10663 tl_tmr = (struct tcm_loop_tmr *)tmp___19;
10664 }
10665#line 332
10666 if (! tl_tmr) {
10667 {
10668#line 333
10669 printk("<3>Unable to allocate memory for tl_tmr\n");
10670 }
10671#line 334
10672 goto release;
10673 } else {
10674
10675 }
10676 {
10677#line 336
10678 while (1) {
10679 while_continue: ;
10680 {
10681#line 336
10682 __cil_tmp40 = (unsigned long )tl_tmr;
10683#line 336
10684 __cil_tmp41 = __cil_tmp40 + 8;
10685#line 336
10686 __cil_tmp42 = (wait_queue_head_t *)__cil_tmp41;
10687#line 336
10688 __init_waitqueue_head(__cil_tmp42, "&tl_tmr->tl_tmr_wait", & __key___7);
10689 }
10690#line 336
10691 goto while_break;
10692 }
10693 while_break: ;
10694 }
10695 {
10696#line 338
10697 __cil_tmp43 = (unsigned long )tl_cmd;
10698#line 338
10699 __cil_tmp44 = __cil_tmp43 + 16;
10700#line 338
10701 se_cmd = (struct se_cmd *)__cil_tmp44;
10702#line 342
10703 __cil_tmp45 = (unsigned long )se_tpg;
10704#line 342
10705 __cil_tmp46 = __cil_tmp45 + 904;
10706#line 342
10707 __cil_tmp47 = *((struct target_core_fabric_ops **)__cil_tmp46);
10708#line 342
10709 __cil_tmp48 = (u32 )0;
10710#line 342
10711 __cil_tmp49 = 0 * 1UL;
10712#line 342
10713 __cil_tmp50 = 672 + __cil_tmp49;
10714#line 342
10715 __cil_tmp51 = (unsigned long )tl_cmd;
10716#line 342
10717 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
10718#line 342
10719 __cil_tmp53 = (unsigned char *)__cil_tmp52;
10720#line 342
10721 transport_init_se_cmd(se_cmd, __cil_tmp47, se_sess, __cil_tmp48, 3, 32, __cil_tmp53);
10722#line 346
10723 __cil_tmp54 = (void *)tl_tmr;
10724#line 346
10725 __cil_tmp55 = (u8 )5;
10726#line 346
10727 rc = core_tmr_alloc_req(se_cmd, __cil_tmp54, __cil_tmp55, 208U);
10728 }
10729#line 347
10730 if (rc < 0) {
10731#line 348
10732 goto release;
10733 } else {
10734
10735 }
10736 {
10737#line 352
10738 __cil_tmp56 = *((struct scsi_device **)sc);
10739#line 352
10740 __cil_tmp57 = (unsigned long )__cil_tmp56;
10741#line 352
10742 __cil_tmp58 = __cil_tmp57 + 156;
10743#line 352
10744 __cil_tmp59 = *((unsigned int *)__cil_tmp58);
10745#line 352
10746 tmp___20 = transport_lookup_tmr_lun(se_cmd, __cil_tmp59);
10747 }
10748#line 352
10749 if (tmp___20 < 0) {
10750#line 353
10751 goto release;
10752 } else {
10753
10754 }
10755 {
10756#line 358
10757 transport_generic_handle_tmr(se_cmd);
10758 }
10759 {
10760#line 359
10761 while (1) {
10762 while_continue___0: ;
10763 {
10764#line 359
10765 __cil_tmp60 = (atomic_t *)tl_tmr;
10766#line 359
10767 __cil_tmp61 = (atomic_t const *)__cil_tmp60;
10768#line 359
10769 tmp___21 = atomic_read(__cil_tmp61);
10770 }
10771#line 359
10772 if (tmp___21) {
10773#line 359
10774 goto while_break___0;
10775 } else {
10776
10777 }
10778 {
10779#line 359
10780 while (1) {
10781 while_continue___1: ;
10782 {
10783#line 359
10784 tmp___22 = get_current();
10785#line 359
10786 __cil_tmp62 = & __wait;
10787#line 359
10788 *((unsigned int *)__cil_tmp62) = 0U;
10789#line 359
10790 __cil_tmp63 = (unsigned long )(& __wait) + 8;
10791#line 359
10792 *((void **)__cil_tmp63) = (void *)tmp___22;
10793#line 359
10794 __cil_tmp64 = (unsigned long )(& __wait) + 16;
10795#line 359
10796 *((int (**)(wait_queue_t *wait , unsigned int mode , int flags , void *key ))__cil_tmp64) = & autoremove_wake_function;
10797#line 359
10798 __cil_tmp65 = (unsigned long )(& __wait) + 24;
10799#line 359
10800 __cil_tmp66 = (unsigned long )(& __wait) + 24;
10801#line 359
10802 *((struct list_head **)__cil_tmp65) = (struct list_head *)__cil_tmp66;
10803#line 359
10804 __cil_tmp67 = 24 + 8;
10805#line 359
10806 __cil_tmp68 = (unsigned long )(& __wait) + __cil_tmp67;
10807#line 359
10808 __cil_tmp69 = (unsigned long )(& __wait) + 24;
10809#line 359
10810 *((struct list_head **)__cil_tmp68) = (struct list_head *)__cil_tmp69;
10811 }
10812 {
10813#line 359
10814 while (1) {
10815 while_continue___2: ;
10816 {
10817#line 359
10818 __cil_tmp70 = (unsigned long )tl_tmr;
10819#line 359
10820 __cil_tmp71 = __cil_tmp70 + 8;
10821#line 359
10822 __cil_tmp72 = (wait_queue_head_t *)__cil_tmp71;
10823#line 359
10824 prepare_to_wait(__cil_tmp72, & __wait, 2);
10825#line 359
10826 __cil_tmp73 = (atomic_t *)tl_tmr;
10827#line 359
10828 __cil_tmp74 = (atomic_t const *)__cil_tmp73;
10829#line 359
10830 tmp___23 = atomic_read(__cil_tmp74);
10831 }
10832#line 359
10833 if (tmp___23) {
10834#line 359
10835 goto while_break___2;
10836 } else {
10837
10838 }
10839 {
10840#line 359
10841 schedule();
10842 }
10843 }
10844 while_break___2: ;
10845 }
10846 {
10847#line 359
10848 __cil_tmp75 = (unsigned long )tl_tmr;
10849#line 359
10850 __cil_tmp76 = __cil_tmp75 + 8;
10851#line 359
10852 __cil_tmp77 = (wait_queue_head_t *)__cil_tmp76;
10853#line 359
10854 finish_wait(__cil_tmp77, & __wait);
10855 }
10856#line 359
10857 goto while_break___1;
10858 }
10859 while_break___1: ;
10860 }
10861#line 359
10862 goto while_break___0;
10863 }
10864 while_break___0: ;
10865 }
10866 {
10867#line 364
10868 __cil_tmp78 = (unsigned long )se_cmd;
10869#line 364
10870 __cil_tmp79 = __cil_tmp78 + 152;
10871#line 364
10872 __cil_tmp80 = *((struct se_tmr_req **)__cil_tmp79);
10873#line 364
10874 __cil_tmp81 = (unsigned long )__cil_tmp80;
10875#line 364
10876 __cil_tmp82 = __cil_tmp81 + 1;
10877#line 364
10878 __cil_tmp83 = *((u8 *)__cil_tmp82);
10879#line 364
10880 __cil_tmp84 = (int )__cil_tmp83;
10881#line 364
10882 if (__cil_tmp84 == 0) {
10883#line 364
10884 ret = 8194;
10885 } else {
10886#line 364
10887 ret = 8195;
10888 }
10889 }
10890 release:
10891#line 367
10892 if (se_cmd) {
10893 {
10894#line 368
10895 transport_generic_free_cmd(se_cmd, 1);
10896 }
10897 } else {
10898 {
10899#line 370
10900 __cil_tmp85 = (void *)tl_cmd;
10901#line 370
10902 kmem_cache_free(tcm_loop_cmd_cache, __cil_tmp85);
10903 }
10904 }
10905 {
10906#line 371
10907 __cil_tmp86 = (void const *)tl_tmr;
10908#line 371
10909 kfree(__cil_tmp86);
10910 }
10911#line 372
10912 return (ret);
10913}
10914}
10915#line 375 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10916static int tcm_loop_slave_alloc(struct scsi_device *sd )
10917{ unsigned long __cil_tmp2 ;
10918 unsigned long __cil_tmp3 ;
10919 struct request_queue *__cil_tmp4 ;
10920 unsigned long __cil_tmp5 ;
10921 unsigned long __cil_tmp6 ;
10922 unsigned long *__cil_tmp7 ;
10923 unsigned long volatile *__cil_tmp8 ;
10924
10925 {
10926 {
10927#line 377
10928 __cil_tmp2 = (unsigned long )sd;
10929#line 377
10930 __cil_tmp3 = __cil_tmp2 + 8;
10931#line 377
10932 __cil_tmp4 = *((struct request_queue **)__cil_tmp3);
10933#line 377
10934 __cil_tmp5 = (unsigned long )__cil_tmp4;
10935#line 377
10936 __cil_tmp6 = __cil_tmp5 + 1144;
10937#line 377
10938 __cil_tmp7 = (unsigned long *)__cil_tmp6;
10939#line 377
10940 __cil_tmp8 = (unsigned long volatile *)__cil_tmp7;
10941#line 377
10942 set_bit(7U, __cil_tmp8);
10943 }
10944#line 378
10945 return (0);
10946}
10947}
10948#line 381 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10949static int tcm_loop_slave_configure(struct scsi_device *sd )
10950{
10951
10952 {
10953#line 383
10954 return (0);
10955}
10956}
10957#line 386 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10958static struct scsi_host_template tcm_loop_driver_template =
10959#line 386
10960 {& __this_module, "TCM_Loopback", (int (*)(struct scsi_host_template * ))0, (int (*)(struct Scsi_Host * ))0,
10961 (char const *(*)(struct Scsi_Host * ))0, (int (*)(struct scsi_device *dev ,
10962 int cmd , void *arg ))0, (int (*)(struct scsi_device *dev ,
10963 int cmd ,
10964 void *arg ))0,
10965 & tcm_loop_queuecommand, (int (*)(struct scsi_cmnd * , void (*done)(struct scsi_cmnd * ) ))0,
10966 (int (*)(struct scsi_cmnd * ))0, & tcm_loop_device_reset, (int (*)(struct scsi_cmnd * ))0,
10967 (int (*)(struct scsi_cmnd * ))0, (int (*)(struct scsi_cmnd * ))0, & tcm_loop_slave_alloc,
10968 & tcm_loop_slave_configure, (void (*)(struct scsi_device * ))0, (int (*)(struct scsi_target * ))0,
10969 (void (*)(struct scsi_target * ))0, (int (*)(struct Scsi_Host * , unsigned long ))0,
10970 (void (*)(struct Scsi_Host * ))0, & tcm_loop_change_queue_depth, (int (*)(struct scsi_device * ,
10971 int ))0,
10972 (int (*)(struct scsi_device * , struct block_device * , sector_t , int * ))0,
10973 (void (*)(struct scsi_device * ))0, & tcm_loop_proc_info, (enum blk_eh_timer_return (*)(struct scsi_cmnd * ))0,
10974 (int (*)(struct Scsi_Host *shost , int reset_type ))0, "tcm_loopback", (struct proc_dir_entry *)0,
10975 1024, -1, (unsigned short)256, (unsigned short)0, (unsigned short)65535, 0UL,
10976 (short)1024, (unsigned char)0, 0U, 0U, 0U, 0U, 0U, 0U, 0U, (struct device_attribute **)0,
10977 (struct device_attribute **)0, {(struct list_head *)0, (struct list_head *)0},
10978 0ULL};
10979#line 404 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
10980static int tcm_loop_driver_probe(struct device *dev )
10981{ struct tcm_loop_hba *tl_hba ;
10982 struct Scsi_Host *sh ;
10983 int error ;
10984 struct device const *__mptr ;
10985 struct tcm_loop_hba *__cil_tmp6 ;
10986 unsigned long __cil_tmp7 ;
10987 unsigned long __cil_tmp8 ;
10988 struct device *__cil_tmp9 ;
10989 unsigned int __cil_tmp10 ;
10990 char *__cil_tmp11 ;
10991 char *__cil_tmp12 ;
10992 int __cil_tmp13 ;
10993 unsigned long __cil_tmp14 ;
10994 unsigned long __cil_tmp15 ;
10995 unsigned long __cil_tmp16 ;
10996 unsigned long __cil_tmp17 ;
10997 unsigned long __cil_tmp18 ;
10998 unsigned long __cil_tmp19 ;
10999 unsigned long *__cil_tmp20 ;
11000 struct tcm_loop_hba **__cil_tmp21 ;
11001 unsigned long __cil_tmp22 ;
11002 unsigned long __cil_tmp23 ;
11003 unsigned long __cil_tmp24 ;
11004 unsigned long __cil_tmp25 ;
11005 unsigned long __cil_tmp26 ;
11006 unsigned long __cil_tmp27 ;
11007 unsigned long __cil_tmp28 ;
11008 unsigned long __cil_tmp29 ;
11009 unsigned long __cil_tmp30 ;
11010 unsigned long __cil_tmp31 ;
11011 struct device *__cil_tmp32 ;
11012
11013 {
11014 {
11015#line 410
11016 __mptr = (struct device const *)dev;
11017#line 410
11018 __cil_tmp6 = (struct tcm_loop_hba *)0;
11019#line 410
11020 __cil_tmp7 = (unsigned long )__cil_tmp6;
11021#line 410
11022 __cil_tmp8 = __cil_tmp7 + 304;
11023#line 410
11024 __cil_tmp9 = (struct device *)__cil_tmp8;
11025#line 410
11026 __cil_tmp10 = (unsigned int )__cil_tmp9;
11027#line 410
11028 __cil_tmp11 = (char *)__mptr;
11029#line 410
11030 __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
11031#line 410
11032 tl_hba = (struct tcm_loop_hba *)__cil_tmp12;
11033#line 412
11034 __cil_tmp13 = (int )54320UL;
11035#line 412
11036 sh = scsi_host_alloc(& tcm_loop_driver_template, __cil_tmp13);
11037 }
11038#line 414
11039 if (! sh) {
11040 {
11041#line 415
11042 printk("<3>Unable to allocate struct scsi_host\n");
11043 }
11044#line 416
11045 return (-19);
11046 } else {
11047
11048 }
11049 {
11050#line 418
11051 __cil_tmp14 = (unsigned long )tl_hba;
11052#line 418
11053 __cil_tmp15 = __cil_tmp14 + 1072;
11054#line 418
11055 *((struct Scsi_Host **)__cil_tmp15) = sh;
11056#line 423
11057 __cil_tmp16 = 0 * 8UL;
11058#line 423
11059 __cil_tmp17 = 2040 + __cil_tmp16;
11060#line 423
11061 __cil_tmp18 = (unsigned long )sh;
11062#line 423
11063 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
11064#line 423
11065 __cil_tmp20 = (unsigned long *)__cil_tmp19;
11066#line 423
11067 __cil_tmp21 = (struct tcm_loop_hba **)__cil_tmp20;
11068#line 423
11069 *__cil_tmp21 = tl_hba;
11070#line 427
11071 __cil_tmp22 = (unsigned long )sh;
11072#line 427
11073 __cil_tmp23 = __cil_tmp22 + 328;
11074#line 427
11075 *((unsigned int *)__cil_tmp23) = 2U;
11076#line 428
11077 __cil_tmp24 = (unsigned long )sh;
11078#line 428
11079 __cil_tmp25 = __cil_tmp24 + 332;
11080#line 428
11081 *((unsigned int *)__cil_tmp25) = 0U;
11082#line 429
11083 __cil_tmp26 = (unsigned long )sh;
11084#line 429
11085 __cil_tmp27 = __cil_tmp26 + 336;
11086#line 429
11087 *((unsigned int *)__cil_tmp27) = 0U;
11088#line 430
11089 __cil_tmp28 = (unsigned long )sh;
11090#line 430
11091 __cil_tmp29 = __cil_tmp28 + 344;
11092#line 430
11093 *((unsigned short *)__cil_tmp29) = (unsigned short)32;
11094#line 432
11095 __cil_tmp30 = (unsigned long )tl_hba;
11096#line 432
11097 __cil_tmp31 = __cil_tmp30 + 304;
11098#line 432
11099 __cil_tmp32 = (struct device *)__cil_tmp31;
11100#line 432
11101 error = (int )scsi_add_host(sh, __cil_tmp32);
11102 }
11103#line 433
11104 if (error) {
11105 {
11106#line 434
11107 printk("<3>%s: scsi_add_host failed\n", "tcm_loop_driver_probe");
11108#line 435
11109 scsi_host_put(sh);
11110 }
11111#line 436
11112 return (-19);
11113 } else {
11114
11115 }
11116#line 438
11117 return (0);
11118}
11119}
11120#line 441 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11121static int tcm_loop_driver_remove(struct device *dev )
11122{ struct tcm_loop_hba *tl_hba ;
11123 struct Scsi_Host *sh ;
11124 struct device const *__mptr ;
11125 struct tcm_loop_hba *__cil_tmp5 ;
11126 unsigned long __cil_tmp6 ;
11127 unsigned long __cil_tmp7 ;
11128 struct device *__cil_tmp8 ;
11129 unsigned int __cil_tmp9 ;
11130 char *__cil_tmp10 ;
11131 char *__cil_tmp11 ;
11132 unsigned long __cil_tmp12 ;
11133 unsigned long __cil_tmp13 ;
11134
11135 {
11136 {
11137#line 446
11138 __mptr = (struct device const *)dev;
11139#line 446
11140 __cil_tmp5 = (struct tcm_loop_hba *)0;
11141#line 446
11142 __cil_tmp6 = (unsigned long )__cil_tmp5;
11143#line 446
11144 __cil_tmp7 = __cil_tmp6 + 304;
11145#line 446
11146 __cil_tmp8 = (struct device *)__cil_tmp7;
11147#line 446
11148 __cil_tmp9 = (unsigned int )__cil_tmp8;
11149#line 446
11150 __cil_tmp10 = (char *)__mptr;
11151#line 446
11152 __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
11153#line 446
11154 tl_hba = (struct tcm_loop_hba *)__cil_tmp11;
11155#line 447
11156 __cil_tmp12 = (unsigned long )tl_hba;
11157#line 447
11158 __cil_tmp13 = __cil_tmp12 + 1072;
11159#line 447
11160 sh = *((struct Scsi_Host **)__cil_tmp13);
11161#line 449
11162 scsi_remove_host(sh);
11163#line 450
11164 scsi_host_put(sh);
11165 }
11166#line 451
11167 return (0);
11168}
11169}
11170#line 454 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11171static void tcm_loop_release_adapter(struct device *dev )
11172{ struct tcm_loop_hba *tl_hba ;
11173 struct device const *__mptr ;
11174 struct tcm_loop_hba *__cil_tmp4 ;
11175 unsigned long __cil_tmp5 ;
11176 unsigned long __cil_tmp6 ;
11177 struct device *__cil_tmp7 ;
11178 unsigned int __cil_tmp8 ;
11179 char *__cil_tmp9 ;
11180 char *__cil_tmp10 ;
11181 void const *__cil_tmp11 ;
11182
11183 {
11184 {
11185#line 456
11186 __mptr = (struct device const *)dev;
11187#line 456
11188 __cil_tmp4 = (struct tcm_loop_hba *)0;
11189#line 456
11190 __cil_tmp5 = (unsigned long )__cil_tmp4;
11191#line 456
11192 __cil_tmp6 = __cil_tmp5 + 304;
11193#line 456
11194 __cil_tmp7 = (struct device *)__cil_tmp6;
11195#line 456
11196 __cil_tmp8 = (unsigned int )__cil_tmp7;
11197#line 456
11198 __cil_tmp9 = (char *)__mptr;
11199#line 456
11200 __cil_tmp10 = __cil_tmp9 - __cil_tmp8;
11201#line 456
11202 tl_hba = (struct tcm_loop_hba *)__cil_tmp10;
11203#line 458
11204 __cil_tmp11 = (void const *)tl_hba;
11205#line 458
11206 kfree(__cil_tmp11);
11207 }
11208#line 459
11209 return;
11210}
11211}
11212#line 464 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11213static int tcm_loop_setup_hba_bus(struct tcm_loop_hba *tl_hba , int tcm_loop_host_id )
11214{ int ret ;
11215 unsigned long __cil_tmp4 ;
11216 unsigned long __cil_tmp5 ;
11217 unsigned long __cil_tmp6 ;
11218 unsigned long __cil_tmp7 ;
11219 unsigned long __cil_tmp8 ;
11220 unsigned long __cil_tmp9 ;
11221 unsigned long __cil_tmp10 ;
11222 unsigned long __cil_tmp11 ;
11223 unsigned long __cil_tmp12 ;
11224 unsigned long __cil_tmp13 ;
11225 struct device *__cil_tmp14 ;
11226 unsigned long __cil_tmp15 ;
11227 unsigned long __cil_tmp16 ;
11228 struct device *__cil_tmp17 ;
11229
11230 {
11231 {
11232#line 468
11233 __cil_tmp4 = 304 + 168;
11234#line 468
11235 __cil_tmp5 = (unsigned long )tl_hba;
11236#line 468
11237 __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
11238#line 468
11239 *((struct bus_type **)__cil_tmp6) = & tcm_loop_lld_bus;
11240#line 469
11241 __cil_tmp7 = (unsigned long )tl_hba;
11242#line 469
11243 __cil_tmp8 = __cil_tmp7 + 304;
11244#line 469
11245 *((struct device **)__cil_tmp8) = tcm_loop_primary;
11246#line 470
11247 __cil_tmp9 = 304 + 760;
11248#line 470
11249 __cil_tmp10 = (unsigned long )tl_hba;
11250#line 470
11251 __cil_tmp11 = __cil_tmp10 + __cil_tmp9;
11252#line 470
11253 *((void (**)(struct device *dev ))__cil_tmp11) = & tcm_loop_release_adapter;
11254#line 471
11255 __cil_tmp12 = (unsigned long )tl_hba;
11256#line 471
11257 __cil_tmp13 = __cil_tmp12 + 304;
11258#line 471
11259 __cil_tmp14 = (struct device *)__cil_tmp13;
11260#line 471
11261 dev_set_name(__cil_tmp14, "tcm_loop_adapter_%d", tcm_loop_host_id);
11262#line 473
11263 __cil_tmp15 = (unsigned long )tl_hba;
11264#line 473
11265 __cil_tmp16 = __cil_tmp15 + 304;
11266#line 473
11267 __cil_tmp17 = (struct device *)__cil_tmp16;
11268#line 473
11269 ret = (int )device_register(__cil_tmp17);
11270 }
11271#line 474
11272 if (ret) {
11273 {
11274#line 475
11275 printk("<3>device_register() failed for tl_hba->dev: %d\n", ret);
11276 }
11277#line 477
11278 return (-19);
11279 } else {
11280
11281 }
11282#line 480
11283 return (0);
11284}
11285}
11286#line 497 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11287static struct lock_class_key __key___8 ;
11288#line 510
11289static int tcm_loop_alloc_core_bus(void) ;
11290#line 510 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11291static struct _ddebug __attribute__((__aligned__(8))) descriptor___3 __attribute__((__used__,
11292__section__("__verbose"))) = {"tcm_loop", "tcm_loop_alloc_core_bus", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
11293 "Initialized TCM Loop Core Bus\n", 510U, 0U};
11294#line 487 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11295static int tcm_loop_alloc_core_bus(void)
11296{ int ret ;
11297 long tmp___17 ;
11298 long tmp___18 ;
11299 int tmp___19 ;
11300 long tmp___20 ;
11301 void const *__cil_tmp6 ;
11302 void const *__cil_tmp7 ;
11303 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp8 ;
11304 unsigned int __cil_tmp9 ;
11305 unsigned int __cil_tmp10 ;
11306 int __cil_tmp11 ;
11307 int __cil_tmp12 ;
11308 long __cil_tmp13 ;
11309
11310 {
11311 {
11312#line 491
11313 tcm_loop_primary = __root_device_register("tcm_loop_0", & __this_module);
11314#line 492
11315 __cil_tmp6 = (void const *)tcm_loop_primary;
11316#line 492
11317 tmp___18 = (long )IS_ERR(__cil_tmp6);
11318 }
11319#line 492
11320 if (tmp___18) {
11321 {
11322#line 493
11323 printk("<3>Unable to allocate tcm_loop_primary\n");
11324#line 494
11325 __cil_tmp7 = (void const *)tcm_loop_primary;
11326#line 494
11327 tmp___17 = (long )PTR_ERR(__cil_tmp7);
11328 }
11329#line 494
11330 return ((int )tmp___17);
11331 } else {
11332
11333 }
11334 {
11335#line 497
11336 tmp___19 = (int )__bus_register(& tcm_loop_lld_bus, & __key___8);
11337#line 497
11338 ret = tmp___19;
11339 }
11340#line 498
11341 if (ret) {
11342 {
11343#line 499
11344 printk("<3>bus_register() failed for tcm_loop_lld_bus\n");
11345 }
11346#line 500
11347 goto dev_unreg;
11348 } else {
11349
11350 }
11351 {
11352#line 503
11353 ret = (int )driver_register(& tcm_loop_driverfs);
11354 }
11355#line 504
11356 if (ret) {
11357 {
11358#line 505
11359 printk("<3>driver_register() failed fortcm_loop_driverfs\n");
11360 }
11361#line 507
11362 goto bus_unreg;
11363 } else {
11364
11365 }
11366 {
11367#line 510
11368 while (1) {
11369 while_continue: ;
11370 {
11371#line 510
11372 __cil_tmp8 = & descriptor___3;
11373#line 510
11374 __cil_tmp9 = __cil_tmp8->flags;
11375#line 510
11376 __cil_tmp10 = __cil_tmp9 & 1U;
11377#line 510
11378 __cil_tmp11 = ! __cil_tmp10;
11379#line 510
11380 __cil_tmp12 = ! __cil_tmp11;
11381#line 510
11382 __cil_tmp13 = (long )__cil_tmp12;
11383#line 510
11384 tmp___20 = __builtin_expect(__cil_tmp13, 0L);
11385 }
11386#line 510
11387 if (tmp___20) {
11388 {
11389#line 510
11390 __dynamic_pr_debug(& descriptor___3, "Initialized TCM Loop Core Bus\n");
11391 }
11392 } else {
11393
11394 }
11395#line 510
11396 goto while_break;
11397 }
11398 while_break: ;
11399 }
11400#line 511
11401 return (ret);
11402 bus_unreg:
11403 {
11404#line 514
11405 bus_unregister(& tcm_loop_lld_bus);
11406 }
11407 dev_unreg:
11408 {
11409#line 516
11410 root_device_unregister(tcm_loop_primary);
11411 }
11412#line 517
11413 return (ret);
11414}
11415}
11416#line 526
11417static void tcm_loop_release_core_bus(void) ;
11418#line 526 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11419static struct _ddebug __attribute__((__aligned__(8))) descriptor___4 __attribute__((__used__,
11420__section__("__verbose"))) = {"tcm_loop", "tcm_loop_release_core_bus", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
11421 "Releasing TCM Loop Core BUS\n", 526U, 0U};
11422#line 520 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11423static void tcm_loop_release_core_bus(void)
11424{ long tmp___17 ;
11425 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp2 ;
11426 unsigned int __cil_tmp3 ;
11427 unsigned int __cil_tmp4 ;
11428 int __cil_tmp5 ;
11429 int __cil_tmp6 ;
11430 long __cil_tmp7 ;
11431
11432 {
11433 {
11434#line 522
11435 driver_unregister(& tcm_loop_driverfs);
11436#line 523
11437 bus_unregister(& tcm_loop_lld_bus);
11438#line 524
11439 root_device_unregister(tcm_loop_primary);
11440 }
11441 {
11442#line 526
11443 while (1) {
11444 while_continue: ;
11445 {
11446#line 526
11447 __cil_tmp2 = & descriptor___4;
11448#line 526
11449 __cil_tmp3 = __cil_tmp2->flags;
11450#line 526
11451 __cil_tmp4 = __cil_tmp3 & 1U;
11452#line 526
11453 __cil_tmp5 = ! __cil_tmp4;
11454#line 526
11455 __cil_tmp6 = ! __cil_tmp5;
11456#line 526
11457 __cil_tmp7 = (long )__cil_tmp6;
11458#line 526
11459 tmp___17 = __builtin_expect(__cil_tmp7, 0L);
11460 }
11461#line 526
11462 if (tmp___17) {
11463 {
11464#line 526
11465 __dynamic_pr_debug(& descriptor___4, "Releasing TCM Loop Core BUS\n");
11466 }
11467 } else {
11468
11469 }
11470#line 526
11471 goto while_break;
11472 }
11473 while_break: ;
11474 }
11475#line 527
11476 return;
11477}
11478}
11479#line 529 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11480static char *tcm_loop_get_fabric_name(void)
11481{
11482
11483 {
11484#line 531
11485 return ((char *)"loopback");
11486}
11487}
11488#line 534 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11489static u8 tcm_loop_get_fabric_proto_ident(struct se_portal_group *se_tpg )
11490{ struct tcm_loop_tpg *tl_tpg ;
11491 struct tcm_loop_hba *tl_hba ;
11492 u8 tmp___17 ;
11493 u8 tmp___18 ;
11494 u8 tmp___19 ;
11495 u8 tmp___20 ;
11496 unsigned long __cil_tmp8 ;
11497 unsigned long __cil_tmp9 ;
11498 void *__cil_tmp10 ;
11499 unsigned long __cil_tmp11 ;
11500 unsigned long __cil_tmp12 ;
11501 u8 __cil_tmp13 ;
11502 u8 __cil_tmp14 ;
11503 int __cil_tmp15 ;
11504
11505 {
11506#line 536
11507 __cil_tmp8 = (unsigned long )se_tpg;
11508#line 536
11509 __cil_tmp9 = __cil_tmp8 + 88;
11510#line 536
11511 __cil_tmp10 = *((void **)__cil_tmp9);
11512#line 536
11513 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp10;
11514#line 537
11515 __cil_tmp11 = (unsigned long )tl_tpg;
11516#line 537
11517 __cil_tmp12 = __cil_tmp11 + 1648;
11518#line 537
11519 tl_hba = *((struct tcm_loop_hba **)__cil_tmp12);
11520 {
11521#line 545
11522 __cil_tmp13 = *((u8 *)tl_hba);
11523#line 546
11524 if ((int )__cil_tmp13 == 6) {
11525#line 546
11526 goto case_6;
11527 } else
11528#line 548
11529 if ((int )__cil_tmp13 == 0) {
11530#line 548
11531 goto case_0;
11532 } else
11533#line 550
11534 if ((int )__cil_tmp13 == 5) {
11535#line 550
11536 goto case_5;
11537 } else {
11538 {
11539#line 552
11540 goto switch_default;
11541#line 545
11542 if (0) {
11543 case_6:
11544 {
11545#line 547
11546 tmp___17 = sas_get_fabric_proto_ident(se_tpg);
11547 }
11548#line 547
11549 return (tmp___17);
11550 case_0:
11551 {
11552#line 549
11553 tmp___18 = fc_get_fabric_proto_ident(se_tpg);
11554 }
11555#line 549
11556 return (tmp___18);
11557 case_5:
11558 {
11559#line 551
11560 tmp___19 = iscsi_get_fabric_proto_ident(se_tpg);
11561 }
11562#line 551
11563 return (tmp___19);
11564 switch_default:
11565 {
11566#line 553
11567 __cil_tmp14 = *((u8 *)tl_hba);
11568#line 553
11569 __cil_tmp15 = (int )__cil_tmp14;
11570#line 553
11571 printk("<3>Unknown tl_proto_id: 0x%02x, using SAS emulation\n", __cil_tmp15);
11572 }
11573#line 555
11574 goto switch_break;
11575 } else {
11576 switch_break: ;
11577 }
11578 }
11579 }
11580 }
11581 {
11582#line 558
11583 tmp___20 = sas_get_fabric_proto_ident(se_tpg);
11584 }
11585#line 558
11586 return (tmp___20);
11587}
11588}
11589#line 561 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11590static char *tcm_loop_get_endpoint_wwn(struct se_portal_group *se_tpg )
11591{ struct tcm_loop_tpg *tl_tpg ;
11592 unsigned long __cil_tmp3 ;
11593 unsigned long __cil_tmp4 ;
11594 void *__cil_tmp5 ;
11595 unsigned long __cil_tmp6 ;
11596 unsigned long __cil_tmp7 ;
11597 unsigned long __cil_tmp8 ;
11598 unsigned long __cil_tmp9 ;
11599 struct tcm_loop_hba *__cil_tmp10 ;
11600 unsigned long __cil_tmp11 ;
11601 unsigned long __cil_tmp12 ;
11602 unsigned char *__cil_tmp13 ;
11603
11604 {
11605#line 563
11606 __cil_tmp3 = (unsigned long )se_tpg;
11607#line 563
11608 __cil_tmp4 = __cil_tmp3 + 88;
11609#line 563
11610 __cil_tmp5 = *((void **)__cil_tmp4);
11611#line 563
11612 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp5;
11613 {
11614#line 567
11615 __cil_tmp6 = 0 * 1UL;
11616#line 567
11617 __cil_tmp7 = 1 + __cil_tmp6;
11618#line 567
11619 __cil_tmp8 = (unsigned long )tl_tpg;
11620#line 567
11621 __cil_tmp9 = __cil_tmp8 + 1648;
11622#line 567
11623 __cil_tmp10 = *((struct tcm_loop_hba **)__cil_tmp9);
11624#line 567
11625 __cil_tmp11 = (unsigned long )__cil_tmp10;
11626#line 567
11627 __cil_tmp12 = __cil_tmp11 + __cil_tmp7;
11628#line 567
11629 __cil_tmp13 = (unsigned char *)__cil_tmp12;
11630#line 567
11631 return ((char *)__cil_tmp13);
11632 }
11633}
11634}
11635#line 570 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11636static u16 tcm_loop_get_tag(struct se_portal_group *se_tpg )
11637{ struct tcm_loop_tpg *tl_tpg ;
11638 unsigned long __cil_tmp3 ;
11639 unsigned long __cil_tmp4 ;
11640 void *__cil_tmp5 ;
11641
11642 {
11643#line 572
11644 __cil_tmp3 = (unsigned long )se_tpg;
11645#line 572
11646 __cil_tmp4 = __cil_tmp3 + 88;
11647#line 572
11648 __cil_tmp5 = *((void **)__cil_tmp4);
11649#line 572
11650 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp5;
11651#line 577
11652 return (*((unsigned short *)tl_tpg));
11653}
11654}
11655#line 580 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11656static u32 tcm_loop_get_default_depth(struct se_portal_group *se_tpg )
11657{
11658
11659 {
11660#line 582
11661 return ((u32 )1);
11662}
11663}
11664#line 585 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11665static u32 tcm_loop_get_pr_transport_id(struct se_portal_group *se_tpg , struct se_node_acl *se_nacl ,
11666 struct t10_pr_registration *pr_reg , int *format_code ,
11667 unsigned char *buf )
11668{ struct tcm_loop_tpg *tl_tpg ;
11669 struct tcm_loop_hba *tl_hba ;
11670 u32 tmp___17 ;
11671 u32 tmp___18 ;
11672 u32 tmp___19 ;
11673 u32 tmp___20 ;
11674 unsigned long __cil_tmp12 ;
11675 unsigned long __cil_tmp13 ;
11676 void *__cil_tmp14 ;
11677 unsigned long __cil_tmp15 ;
11678 unsigned long __cil_tmp16 ;
11679 u8 __cil_tmp17 ;
11680 u8 __cil_tmp18 ;
11681 int __cil_tmp19 ;
11682
11683 {
11684#line 592
11685 __cil_tmp12 = (unsigned long )se_tpg;
11686#line 592
11687 __cil_tmp13 = __cil_tmp12 + 88;
11688#line 592
11689 __cil_tmp14 = *((void **)__cil_tmp13);
11690#line 592
11691 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp14;
11692#line 593
11693 __cil_tmp15 = (unsigned long )tl_tpg;
11694#line 593
11695 __cil_tmp16 = __cil_tmp15 + 1648;
11696#line 593
11697 tl_hba = *((struct tcm_loop_hba **)__cil_tmp16);
11698 {
11699#line 595
11700 __cil_tmp17 = *((u8 *)tl_hba);
11701#line 596
11702 if ((int )__cil_tmp17 == 6) {
11703#line 596
11704 goto case_6;
11705 } else
11706#line 599
11707 if ((int )__cil_tmp17 == 0) {
11708#line 599
11709 goto case_0;
11710 } else
11711#line 602
11712 if ((int )__cil_tmp17 == 5) {
11713#line 602
11714 goto case_5;
11715 } else {
11716 {
11717#line 605
11718 goto switch_default;
11719#line 595
11720 if (0) {
11721 case_6:
11722 {
11723#line 597
11724 tmp___17 = sas_get_pr_transport_id(se_tpg, se_nacl, pr_reg, format_code, buf);
11725 }
11726#line 597
11727 return (tmp___17);
11728 case_0:
11729 {
11730#line 600
11731 tmp___18 = fc_get_pr_transport_id(se_tpg, se_nacl, pr_reg, format_code, buf);
11732 }
11733#line 600
11734 return (tmp___18);
11735 case_5:
11736 {
11737#line 603
11738 tmp___19 = iscsi_get_pr_transport_id(se_tpg, se_nacl, pr_reg, format_code, buf);
11739 }
11740#line 603
11741 return (tmp___19);
11742 switch_default:
11743 {
11744#line 606
11745 __cil_tmp18 = *((u8 *)tl_hba);
11746#line 606
11747 __cil_tmp19 = (int )__cil_tmp18;
11748#line 606
11749 printk("<3>Unknown tl_proto_id: 0x%02x, using SAS emulation\n", __cil_tmp19);
11750 }
11751#line 608
11752 goto switch_break;
11753 } else {
11754 switch_break: ;
11755 }
11756 }
11757 }
11758 }
11759 {
11760#line 611
11761 tmp___20 = sas_get_pr_transport_id(se_tpg, se_nacl, pr_reg, format_code, buf);
11762 }
11763#line 611
11764 return (tmp___20);
11765}
11766}
11767#line 615 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11768static u32 tcm_loop_get_pr_transport_id_len(struct se_portal_group *se_tpg , struct se_node_acl *se_nacl ,
11769 struct t10_pr_registration *pr_reg , int *format_code )
11770{ struct tcm_loop_tpg *tl_tpg ;
11771 struct tcm_loop_hba *tl_hba ;
11772 u32 tmp___17 ;
11773 u32 tmp___18 ;
11774 u32 tmp___19 ;
11775 u32 tmp___20 ;
11776 unsigned long __cil_tmp11 ;
11777 unsigned long __cil_tmp12 ;
11778 void *__cil_tmp13 ;
11779 unsigned long __cil_tmp14 ;
11780 unsigned long __cil_tmp15 ;
11781 u8 __cil_tmp16 ;
11782 u8 __cil_tmp17 ;
11783 int __cil_tmp18 ;
11784
11785 {
11786#line 621
11787 __cil_tmp11 = (unsigned long )se_tpg;
11788#line 621
11789 __cil_tmp12 = __cil_tmp11 + 88;
11790#line 621
11791 __cil_tmp13 = *((void **)__cil_tmp12);
11792#line 621
11793 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp13;
11794#line 622
11795 __cil_tmp14 = (unsigned long )tl_tpg;
11796#line 622
11797 __cil_tmp15 = __cil_tmp14 + 1648;
11798#line 622
11799 tl_hba = *((struct tcm_loop_hba **)__cil_tmp15);
11800 {
11801#line 624
11802 __cil_tmp16 = *((u8 *)tl_hba);
11803#line 625
11804 if ((int )__cil_tmp16 == 6) {
11805#line 625
11806 goto case_6;
11807 } else
11808#line 628
11809 if ((int )__cil_tmp16 == 0) {
11810#line 628
11811 goto case_0;
11812 } else
11813#line 631
11814 if ((int )__cil_tmp16 == 5) {
11815#line 631
11816 goto case_5;
11817 } else {
11818 {
11819#line 634
11820 goto switch_default;
11821#line 624
11822 if (0) {
11823 case_6:
11824 {
11825#line 626
11826 tmp___17 = sas_get_pr_transport_id_len(se_tpg, se_nacl, pr_reg, format_code);
11827 }
11828#line 626
11829 return (tmp___17);
11830 case_0:
11831 {
11832#line 629
11833 tmp___18 = fc_get_pr_transport_id_len(se_tpg, se_nacl, pr_reg, format_code);
11834 }
11835#line 629
11836 return (tmp___18);
11837 case_5:
11838 {
11839#line 632
11840 tmp___19 = iscsi_get_pr_transport_id_len(se_tpg, se_nacl, pr_reg, format_code);
11841 }
11842#line 632
11843 return (tmp___19);
11844 switch_default:
11845 {
11846#line 635
11847 __cil_tmp17 = *((u8 *)tl_hba);
11848#line 635
11849 __cil_tmp18 = (int )__cil_tmp17;
11850#line 635
11851 printk("<3>Unknown tl_proto_id: 0x%02x, using SAS emulation\n", __cil_tmp18);
11852 }
11853#line 637
11854 goto switch_break;
11855 } else {
11856 switch_break: ;
11857 }
11858 }
11859 }
11860 }
11861 {
11862#line 640
11863 tmp___20 = sas_get_pr_transport_id_len(se_tpg, se_nacl, pr_reg, format_code);
11864 }
11865#line 640
11866 return (tmp___20);
11867}
11868}
11869#line 648 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11870static char *tcm_loop_parse_pr_out_transport_id(struct se_portal_group *se_tpg , char const *buf ,
11871 u32 *out_tid_len , char **port_nexus_ptr )
11872{ struct tcm_loop_tpg *tl_tpg ;
11873 struct tcm_loop_hba *tl_hba ;
11874 char *tmp___17 ;
11875 char *tmp___18 ;
11876 char *tmp___19 ;
11877 char *tmp___20 ;
11878 unsigned long __cil_tmp11 ;
11879 unsigned long __cil_tmp12 ;
11880 void *__cil_tmp13 ;
11881 unsigned long __cil_tmp14 ;
11882 unsigned long __cil_tmp15 ;
11883 u8 __cil_tmp16 ;
11884 u8 __cil_tmp17 ;
11885 int __cil_tmp18 ;
11886
11887 {
11888#line 654
11889 __cil_tmp11 = (unsigned long )se_tpg;
11890#line 654
11891 __cil_tmp12 = __cil_tmp11 + 88;
11892#line 654
11893 __cil_tmp13 = *((void **)__cil_tmp12);
11894#line 654
11895 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp13;
11896#line 655
11897 __cil_tmp14 = (unsigned long )tl_tpg;
11898#line 655
11899 __cil_tmp15 = __cil_tmp14 + 1648;
11900#line 655
11901 tl_hba = *((struct tcm_loop_hba **)__cil_tmp15);
11902 {
11903#line 657
11904 __cil_tmp16 = *((u8 *)tl_hba);
11905#line 658
11906 if ((int )__cil_tmp16 == 6) {
11907#line 658
11908 goto case_6;
11909 } else
11910#line 661
11911 if ((int )__cil_tmp16 == 0) {
11912#line 661
11913 goto case_0;
11914 } else
11915#line 664
11916 if ((int )__cil_tmp16 == 5) {
11917#line 664
11918 goto case_5;
11919 } else {
11920 {
11921#line 667
11922 goto switch_default;
11923#line 657
11924 if (0) {
11925 case_6:
11926 {
11927#line 659
11928 tmp___17 = sas_parse_pr_out_transport_id(se_tpg, buf, out_tid_len, port_nexus_ptr);
11929 }
11930#line 659
11931 return (tmp___17);
11932 case_0:
11933 {
11934#line 662
11935 tmp___18 = fc_parse_pr_out_transport_id(se_tpg, buf, out_tid_len, port_nexus_ptr);
11936 }
11937#line 662
11938 return (tmp___18);
11939 case_5:
11940 {
11941#line 665
11942 tmp___19 = iscsi_parse_pr_out_transport_id(se_tpg, buf, out_tid_len, port_nexus_ptr);
11943 }
11944#line 665
11945 return (tmp___19);
11946 switch_default:
11947 {
11948#line 668
11949 __cil_tmp17 = *((u8 *)tl_hba);
11950#line 668
11951 __cil_tmp18 = (int )__cil_tmp17;
11952#line 668
11953 printk("<3>Unknown tl_proto_id: 0x%02x, using SAS emulation\n", __cil_tmp18);
11954 }
11955#line 670
11956 goto switch_break;
11957 } else {
11958 switch_break: ;
11959 }
11960 }
11961 }
11962 }
11963 {
11964#line 673
11965 tmp___20 = sas_parse_pr_out_transport_id(se_tpg, buf, out_tid_len, port_nexus_ptr);
11966 }
11967#line 673
11968 return (tmp___20);
11969}
11970}
11971#line 681 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11972static int tcm_loop_check_demo_mode(struct se_portal_group *se_tpg )
11973{
11974
11975 {
11976#line 683
11977 return (1);
11978}
11979}
11980#line 686 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11981static int tcm_loop_check_demo_mode_cache(struct se_portal_group *se_tpg )
11982{
11983
11984 {
11985#line 688
11986 return (0);
11987}
11988}
11989#line 695 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11990static int tcm_loop_check_demo_mode_write_protect(struct se_portal_group *se_tpg )
11991{
11992
11993 {
11994#line 697
11995 return (0);
11996}
11997}
11998#line 705 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
11999static int tcm_loop_check_prod_mode_write_protect(struct se_portal_group *se_tpg )
12000{
12001
12002 {
12003#line 707
12004 return (0);
12005}
12006}
12007#line 710 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12008static struct se_node_acl *tcm_loop_tpg_alloc_fabric_acl(struct se_portal_group *se_tpg )
12009{ struct tcm_loop_nacl *tl_nacl ;
12010 void *tmp___17 ;
12011 void *__cil_tmp4 ;
12012
12013 {
12014 {
12015#line 715
12016 tmp___17 = kzalloc(1056UL, 208U);
12017#line 715
12018 tl_nacl = (struct tcm_loop_nacl *)tmp___17;
12019 }
12020#line 716
12021 if (! tl_nacl) {
12022 {
12023#line 717
12024 printk("<3>Unable to allocate struct tcm_loop_nacl\n");
12025 }
12026 {
12027#line 718
12028 __cil_tmp4 = (void *)0;
12029#line 718
12030 return ((struct se_node_acl *)__cil_tmp4);
12031 }
12032 } else {
12033
12034 }
12035#line 721
12036 return ((struct se_node_acl *)tl_nacl);
12037}
12038}
12039#line 724 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12040static void tcm_loop_tpg_release_fabric_acl(struct se_portal_group *se_tpg , struct se_node_acl *se_nacl )
12041{ struct tcm_loop_nacl *tl_nacl ;
12042 struct se_node_acl const *__mptr ;
12043 struct tcm_loop_nacl *__cil_tmp5 ;
12044 struct se_node_acl *__cil_tmp6 ;
12045 unsigned int __cil_tmp7 ;
12046 char *__cil_tmp8 ;
12047 char *__cil_tmp9 ;
12048 void const *__cil_tmp10 ;
12049
12050 {
12051 {
12052#line 728
12053 __mptr = (struct se_node_acl const *)se_nacl;
12054#line 728
12055 __cil_tmp5 = (struct tcm_loop_nacl *)0;
12056#line 728
12057 __cil_tmp6 = (struct se_node_acl *)__cil_tmp5;
12058#line 728
12059 __cil_tmp7 = (unsigned int )__cil_tmp6;
12060#line 728
12061 __cil_tmp8 = (char *)__mptr;
12062#line 728
12063 __cil_tmp9 = __cil_tmp8 - __cil_tmp7;
12064#line 728
12065 tl_nacl = (struct tcm_loop_nacl *)__cil_tmp9;
12066#line 731
12067 __cil_tmp10 = (void const *)tl_nacl;
12068#line 731
12069 kfree(__cil_tmp10);
12070 }
12071#line 732
12072 return;
12073}
12074}
12075#line 734 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12076static u32 tcm_loop_get_inst_index(struct se_portal_group *se_tpg )
12077{
12078
12079 {
12080#line 736
12081 return ((u32 )1);
12082}
12083}
12084#line 739 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12085static u32 tcm_loop_sess_get_index(struct se_session *se_sess )
12086{
12087
12088 {
12089#line 741
12090 return ((u32 )1);
12091}
12092}
12093#line 744 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12094static void tcm_loop_set_default_node_attributes(struct se_node_acl *se_acl )
12095{
12096
12097 {
12098#line 746
12099 return;
12100}
12101}
12102#line 749 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12103static u32 tcm_loop_get_task_tag(struct se_cmd *se_cmd )
12104{
12105
12106 {
12107#line 751
12108 return ((u32 )1);
12109}
12110}
12111#line 754 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12112static int tcm_loop_get_cmd_state(struct se_cmd *se_cmd )
12113{ struct tcm_loop_cmd *tl_cmd ;
12114 struct se_cmd const *__mptr ;
12115 struct tcm_loop_cmd *__cil_tmp4 ;
12116 unsigned long __cil_tmp5 ;
12117 unsigned long __cil_tmp6 ;
12118 struct se_cmd *__cil_tmp7 ;
12119 unsigned int __cil_tmp8 ;
12120 char *__cil_tmp9 ;
12121 char *__cil_tmp10 ;
12122 u32 __cil_tmp11 ;
12123
12124 {
12125#line 756
12126 __mptr = (struct se_cmd const *)se_cmd;
12127#line 756
12128 __cil_tmp4 = (struct tcm_loop_cmd *)0;
12129#line 756
12130 __cil_tmp5 = (unsigned long )__cil_tmp4;
12131#line 756
12132 __cil_tmp6 = __cil_tmp5 + 16;
12133#line 756
12134 __cil_tmp7 = (struct se_cmd *)__cil_tmp6;
12135#line 756
12136 __cil_tmp8 = (unsigned int )__cil_tmp7;
12137#line 756
12138 __cil_tmp9 = (char *)__mptr;
12139#line 756
12140 __cil_tmp10 = __cil_tmp9 - __cil_tmp8;
12141#line 756
12142 tl_cmd = (struct tcm_loop_cmd *)__cil_tmp10;
12143 {
12144#line 759
12145 __cil_tmp11 = *((u32 *)tl_cmd);
12146#line 759
12147 return ((int )__cil_tmp11);
12148 }
12149}
12150}
12151#line 762 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12152static int tcm_loop_shutdown_session(struct se_session *se_sess )
12153{
12154
12155 {
12156#line 764
12157 return (0);
12158}
12159}
12160#line 767 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12161static void tcm_loop_close_session(struct se_session *se_sess )
12162{
12163
12164 {
12165#line 769
12166 return;
12167}
12168}
12169#line 772 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12170static int tcm_loop_write_pending(struct se_cmd *se_cmd )
12171{
12172
12173 {
12174 {
12175#line 783
12176 transport_generic_process_write(se_cmd);
12177 }
12178#line 784
12179 return (0);
12180}
12181}
12182#line 787 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12183static int tcm_loop_write_pending_status(struct se_cmd *se_cmd )
12184{
12185
12186 {
12187#line 789
12188 return (0);
12189}
12190}
12191#line 798
12192static int tcm_loop_queue_data_in(struct se_cmd *se_cmd ) ;
12193#line 798 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12194static struct _ddebug __attribute__((__aligned__(8))) descriptor___5 __attribute__((__used__,
12195__section__("__verbose"))) = {"tcm_loop", "tcm_loop_queue_data_in", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
12196 "tcm_loop_queue_data_in() called for scsi_cmnd: %p cdb: 0x%02x\n", 799U, 0U};
12197#line 792 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12198static int tcm_loop_queue_data_in(struct se_cmd *se_cmd )
12199{ struct tcm_loop_cmd *tl_cmd ;
12200 struct se_cmd const *__mptr ;
12201 struct scsi_cmnd *sc ;
12202 long tmp___17 ;
12203 struct tcm_loop_cmd *__cil_tmp6 ;
12204 unsigned long __cil_tmp7 ;
12205 unsigned long __cil_tmp8 ;
12206 struct se_cmd *__cil_tmp9 ;
12207 unsigned int __cil_tmp10 ;
12208 char *__cil_tmp11 ;
12209 char *__cil_tmp12 ;
12210 unsigned long __cil_tmp13 ;
12211 unsigned long __cil_tmp14 ;
12212 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp15 ;
12213 unsigned int __cil_tmp16 ;
12214 unsigned int __cil_tmp17 ;
12215 int __cil_tmp18 ;
12216 int __cil_tmp19 ;
12217 long __cil_tmp20 ;
12218 unsigned long __cil_tmp21 ;
12219 unsigned long __cil_tmp22 ;
12220 unsigned char *__cil_tmp23 ;
12221 unsigned char *__cil_tmp24 ;
12222 unsigned char __cil_tmp25 ;
12223 int __cil_tmp26 ;
12224 unsigned long __cil_tmp27 ;
12225 unsigned long __cil_tmp28 ;
12226 unsigned long __cil_tmp29 ;
12227 unsigned long __cil_tmp30 ;
12228 u32 __cil_tmp31 ;
12229 unsigned long __cil_tmp32 ;
12230 unsigned long __cil_tmp33 ;
12231 u32 __cil_tmp34 ;
12232 int __cil_tmp35 ;
12233 unsigned long __cil_tmp36 ;
12234 unsigned long __cil_tmp37 ;
12235 u32 __cil_tmp38 ;
12236 unsigned long __cil_tmp39 ;
12237 unsigned long __cil_tmp40 ;
12238 u32 __cil_tmp41 ;
12239 int __cil_tmp42 ;
12240 unsigned long __cil_tmp43 ;
12241 unsigned long __cil_tmp44 ;
12242 void (*__cil_tmp45)(struct scsi_cmnd * ) ;
12243
12244 {
12245#line 794
12246 __mptr = (struct se_cmd const *)se_cmd;
12247#line 794
12248 __cil_tmp6 = (struct tcm_loop_cmd *)0;
12249#line 794
12250 __cil_tmp7 = (unsigned long )__cil_tmp6;
12251#line 794
12252 __cil_tmp8 = __cil_tmp7 + 16;
12253#line 794
12254 __cil_tmp9 = (struct se_cmd *)__cil_tmp8;
12255#line 794
12256 __cil_tmp10 = (unsigned int )__cil_tmp9;
12257#line 794
12258 __cil_tmp11 = (char *)__mptr;
12259#line 794
12260 __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
12261#line 794
12262 tl_cmd = (struct tcm_loop_cmd *)__cil_tmp12;
12263#line 796
12264 __cil_tmp13 = (unsigned long )tl_cmd;
12265#line 796
12266 __cil_tmp14 = __cil_tmp13 + 8;
12267#line 796
12268 sc = *((struct scsi_cmnd **)__cil_tmp14);
12269 {
12270#line 798
12271 while (1) {
12272 while_continue: ;
12273 {
12274#line 798
12275 __cil_tmp15 = & descriptor___5;
12276#line 798
12277 __cil_tmp16 = __cil_tmp15->flags;
12278#line 798
12279 __cil_tmp17 = __cil_tmp16 & 1U;
12280#line 798
12281 __cil_tmp18 = ! __cil_tmp17;
12282#line 798
12283 __cil_tmp19 = ! __cil_tmp18;
12284#line 798
12285 __cil_tmp20 = (long )__cil_tmp19;
12286#line 798
12287 tmp___17 = __builtin_expect(__cil_tmp20, 0L);
12288 }
12289#line 798
12290 if (tmp___17) {
12291 {
12292#line 798
12293 __cil_tmp21 = (unsigned long )sc;
12294#line 798
12295 __cil_tmp22 = __cil_tmp21 + 80;
12296#line 798
12297 __cil_tmp23 = *((unsigned char **)__cil_tmp22);
12298#line 798
12299 __cil_tmp24 = __cil_tmp23 + 0;
12300#line 798
12301 __cil_tmp25 = *__cil_tmp24;
12302#line 798
12303 __cil_tmp26 = (int )__cil_tmp25;
12304#line 798
12305 __dynamic_pr_debug(& descriptor___5, "tcm_loop_queue_data_in() called for scsi_cmnd: %p cdb: 0x%02x\n",
12306 sc, __cil_tmp26);
12307 }
12308 } else {
12309
12310 }
12311#line 798
12312 goto while_break;
12313 }
12314 while_break: ;
12315 }
12316 {
12317#line 801
12318 __cil_tmp27 = (unsigned long )sc;
12319#line 801
12320 __cil_tmp28 = __cil_tmp27 + 224;
12321#line 801
12322 *((int *)__cil_tmp28) = 0;
12323#line 802
12324 set_host_byte(sc, (char)0);
12325 }
12326 {
12327#line 803
12328 __cil_tmp29 = (unsigned long )se_cmd;
12329#line 803
12330 __cil_tmp30 = __cil_tmp29 + 28;
12331#line 803
12332 __cil_tmp31 = *((u32 *)__cil_tmp30);
12333#line 803
12334 if (__cil_tmp31 & 32768U) {
12335 {
12336#line 805
12337 __cil_tmp32 = (unsigned long )se_cmd;
12338#line 805
12339 __cil_tmp33 = __cil_tmp32 + 44;
12340#line 805
12341 __cil_tmp34 = *((u32 *)__cil_tmp33);
12342#line 805
12343 __cil_tmp35 = (int )__cil_tmp34;
12344#line 805
12345 scsi_set_resid(sc, __cil_tmp35);
12346 }
12347 } else {
12348 {
12349#line 803
12350 __cil_tmp36 = (unsigned long )se_cmd;
12351#line 803
12352 __cil_tmp37 = __cil_tmp36 + 28;
12353#line 803
12354 __cil_tmp38 = *((u32 *)__cil_tmp37);
12355#line 803
12356 if (__cil_tmp38 & 65536U) {
12357 {
12358#line 805
12359 __cil_tmp39 = (unsigned long )se_cmd;
12360#line 805
12361 __cil_tmp40 = __cil_tmp39 + 44;
12362#line 805
12363 __cil_tmp41 = *((u32 *)__cil_tmp40);
12364#line 805
12365 __cil_tmp42 = (int )__cil_tmp41;
12366#line 805
12367 scsi_set_resid(sc, __cil_tmp42);
12368 }
12369 } else {
12370
12371 }
12372 }
12373 }
12374 }
12375 {
12376#line 806
12377 __cil_tmp43 = (unsigned long )sc;
12378#line 806
12379 __cil_tmp44 = __cil_tmp43 + 144;
12380#line 806
12381 __cil_tmp45 = *((void (**)(struct scsi_cmnd * ))__cil_tmp44);
12382#line 806
12383 (*__cil_tmp45)(sc);
12384 }
12385#line 807
12386 return (0);
12387}
12388}
12389#line 816
12390static int tcm_loop_queue_status(struct se_cmd *se_cmd ) ;
12391#line 816 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12392static struct _ddebug __attribute__((__aligned__(8))) descriptor___6 __attribute__((__used__,
12393__section__("__verbose"))) = {"tcm_loop", "tcm_loop_queue_status", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
12394 "tcm_loop_queue_status() called for scsi_cmnd: %p cdb: 0x%02x\n", 817U, 0U};
12395#line 810 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12396static int tcm_loop_queue_status(struct se_cmd *se_cmd )
12397{ struct tcm_loop_cmd *tl_cmd ;
12398 struct se_cmd const *__mptr ;
12399 struct scsi_cmnd *sc ;
12400 long tmp___17 ;
12401 size_t __len ;
12402 void *__ret ;
12403 struct tcm_loop_cmd *__cil_tmp8 ;
12404 unsigned long __cil_tmp9 ;
12405 unsigned long __cil_tmp10 ;
12406 struct se_cmd *__cil_tmp11 ;
12407 unsigned int __cil_tmp12 ;
12408 char *__cil_tmp13 ;
12409 char *__cil_tmp14 ;
12410 unsigned long __cil_tmp15 ;
12411 unsigned long __cil_tmp16 ;
12412 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp17 ;
12413 unsigned int __cil_tmp18 ;
12414 unsigned int __cil_tmp19 ;
12415 int __cil_tmp20 ;
12416 int __cil_tmp21 ;
12417 long __cil_tmp22 ;
12418 unsigned long __cil_tmp23 ;
12419 unsigned long __cil_tmp24 ;
12420 unsigned char *__cil_tmp25 ;
12421 unsigned char *__cil_tmp26 ;
12422 unsigned char __cil_tmp27 ;
12423 int __cil_tmp28 ;
12424 unsigned long __cil_tmp29 ;
12425 unsigned long __cil_tmp30 ;
12426 unsigned long __cil_tmp31 ;
12427 unsigned long __cil_tmp32 ;
12428 u32 __cil_tmp33 ;
12429 unsigned long __cil_tmp34 ;
12430 unsigned long __cil_tmp35 ;
12431 u32 __cil_tmp36 ;
12432 unsigned long __cil_tmp37 ;
12433 unsigned long __cil_tmp38 ;
12434 unsigned char *__cil_tmp39 ;
12435 void *__cil_tmp40 ;
12436 unsigned long __cil_tmp41 ;
12437 unsigned long __cil_tmp42 ;
12438 void *__cil_tmp43 ;
12439 void const *__cil_tmp44 ;
12440 unsigned long __cil_tmp45 ;
12441 unsigned long __cil_tmp46 ;
12442 unsigned char *__cil_tmp47 ;
12443 void *__cil_tmp48 ;
12444 unsigned long __cil_tmp49 ;
12445 unsigned long __cil_tmp50 ;
12446 void *__cil_tmp51 ;
12447 void const *__cil_tmp52 ;
12448 unsigned long __cil_tmp53 ;
12449 unsigned long __cil_tmp54 ;
12450 unsigned long __cil_tmp55 ;
12451 unsigned long __cil_tmp56 ;
12452 u8 __cil_tmp57 ;
12453 unsigned long __cil_tmp58 ;
12454 unsigned long __cil_tmp59 ;
12455 u8 __cil_tmp60 ;
12456 unsigned long __cil_tmp61 ;
12457 unsigned long __cil_tmp62 ;
12458 u32 __cil_tmp63 ;
12459 unsigned long __cil_tmp64 ;
12460 unsigned long __cil_tmp65 ;
12461 u32 __cil_tmp66 ;
12462 int __cil_tmp67 ;
12463 unsigned long __cil_tmp68 ;
12464 unsigned long __cil_tmp69 ;
12465 u32 __cil_tmp70 ;
12466 unsigned long __cil_tmp71 ;
12467 unsigned long __cil_tmp72 ;
12468 u32 __cil_tmp73 ;
12469 int __cil_tmp74 ;
12470 unsigned long __cil_tmp75 ;
12471 unsigned long __cil_tmp76 ;
12472 void (*__cil_tmp77)(struct scsi_cmnd * ) ;
12473
12474 {
12475#line 812
12476 __mptr = (struct se_cmd const *)se_cmd;
12477#line 812
12478 __cil_tmp8 = (struct tcm_loop_cmd *)0;
12479#line 812
12480 __cil_tmp9 = (unsigned long )__cil_tmp8;
12481#line 812
12482 __cil_tmp10 = __cil_tmp9 + 16;
12483#line 812
12484 __cil_tmp11 = (struct se_cmd *)__cil_tmp10;
12485#line 812
12486 __cil_tmp12 = (unsigned int )__cil_tmp11;
12487#line 812
12488 __cil_tmp13 = (char *)__mptr;
12489#line 812
12490 __cil_tmp14 = __cil_tmp13 - __cil_tmp12;
12491#line 812
12492 tl_cmd = (struct tcm_loop_cmd *)__cil_tmp14;
12493#line 814
12494 __cil_tmp15 = (unsigned long )tl_cmd;
12495#line 814
12496 __cil_tmp16 = __cil_tmp15 + 8;
12497#line 814
12498 sc = *((struct scsi_cmnd **)__cil_tmp16);
12499 {
12500#line 816
12501 while (1) {
12502 while_continue: ;
12503 {
12504#line 816
12505 __cil_tmp17 = & descriptor___6;
12506#line 816
12507 __cil_tmp18 = __cil_tmp17->flags;
12508#line 816
12509 __cil_tmp19 = __cil_tmp18 & 1U;
12510#line 816
12511 __cil_tmp20 = ! __cil_tmp19;
12512#line 816
12513 __cil_tmp21 = ! __cil_tmp20;
12514#line 816
12515 __cil_tmp22 = (long )__cil_tmp21;
12516#line 816
12517 tmp___17 = __builtin_expect(__cil_tmp22, 0L);
12518 }
12519#line 816
12520 if (tmp___17) {
12521 {
12522#line 816
12523 __cil_tmp23 = (unsigned long )sc;
12524#line 816
12525 __cil_tmp24 = __cil_tmp23 + 80;
12526#line 816
12527 __cil_tmp25 = *((unsigned char **)__cil_tmp24);
12528#line 816
12529 __cil_tmp26 = __cil_tmp25 + 0;
12530#line 816
12531 __cil_tmp27 = *__cil_tmp26;
12532#line 816
12533 __cil_tmp28 = (int )__cil_tmp27;
12534#line 816
12535 __dynamic_pr_debug(& descriptor___6, "tcm_loop_queue_status() called for scsi_cmnd: %p cdb: 0x%02x\n",
12536 sc, __cil_tmp28);
12537 }
12538 } else {
12539
12540 }
12541#line 816
12542 goto while_break;
12543 }
12544 while_break: ;
12545 }
12546 {
12547#line 819
12548 __cil_tmp29 = (unsigned long )se_cmd;
12549#line 819
12550 __cil_tmp30 = __cil_tmp29 + 64;
12551#line 819
12552 if (*((void **)__cil_tmp30)) {
12553 {
12554#line 819
12555 __cil_tmp31 = (unsigned long )se_cmd;
12556#line 819
12557 __cil_tmp32 = __cil_tmp31 + 28;
12558#line 819
12559 __cil_tmp33 = *((u32 *)__cil_tmp32);
12560#line 819
12561 if (__cil_tmp33 & 2U) {
12562#line 819
12563 goto _L;
12564 } else {
12565 {
12566#line 819
12567 __cil_tmp34 = (unsigned long )se_cmd;
12568#line 819
12569 __cil_tmp35 = __cil_tmp34 + 28;
12570#line 819
12571 __cil_tmp36 = *((u32 *)__cil_tmp35);
12572#line 819
12573 if (__cil_tmp36 & 4U) {
12574 _L:
12575#line 823
12576 __len = (size_t )96;
12577#line 823
12578 if (__len >= 64UL) {
12579 {
12580#line 823
12581 __cil_tmp37 = (unsigned long )sc;
12582#line 823
12583 __cil_tmp38 = __cil_tmp37 + 136;
12584#line 823
12585 __cil_tmp39 = *((unsigned char **)__cil_tmp38);
12586#line 823
12587 __cil_tmp40 = (void *)__cil_tmp39;
12588#line 823
12589 __cil_tmp41 = (unsigned long )se_cmd;
12590#line 823
12591 __cil_tmp42 = __cil_tmp41 + 64;
12592#line 823
12593 __cil_tmp43 = *((void **)__cil_tmp42);
12594#line 823
12595 __cil_tmp44 = (void const *)__cil_tmp43;
12596#line 823
12597 __ret = __memcpy(__cil_tmp40, __cil_tmp44, __len);
12598 }
12599 } else {
12600 {
12601#line 823
12602 __cil_tmp45 = (unsigned long )sc;
12603#line 823
12604 __cil_tmp46 = __cil_tmp45 + 136;
12605#line 823
12606 __cil_tmp47 = *((unsigned char **)__cil_tmp46);
12607#line 823
12608 __cil_tmp48 = (void *)__cil_tmp47;
12609#line 823
12610 __cil_tmp49 = (unsigned long )se_cmd;
12611#line 823
12612 __cil_tmp50 = __cil_tmp49 + 64;
12613#line 823
12614 __cil_tmp51 = *((void **)__cil_tmp50);
12615#line 823
12616 __cil_tmp52 = (void const *)__cil_tmp51;
12617#line 823
12618 __ret = __builtin_memcpy(__cil_tmp48, __cil_tmp52, __len);
12619 }
12620 }
12621 {
12622#line 825
12623 __cil_tmp53 = (unsigned long )sc;
12624#line 825
12625 __cil_tmp54 = __cil_tmp53 + 224;
12626#line 825
12627 *((int *)__cil_tmp54) = 2;
12628#line 826
12629 set_driver_byte(sc, (char)8);
12630 }
12631 } else {
12632#line 828
12633 __cil_tmp55 = (unsigned long )sc;
12634#line 828
12635 __cil_tmp56 = __cil_tmp55 + 224;
12636#line 828
12637 __cil_tmp57 = *((u8 *)se_cmd);
12638#line 828
12639 *((int *)__cil_tmp56) = (int )__cil_tmp57;
12640 }
12641 }
12642 }
12643 }
12644 } else {
12645#line 828
12646 __cil_tmp58 = (unsigned long )sc;
12647#line 828
12648 __cil_tmp59 = __cil_tmp58 + 224;
12649#line 828
12650 __cil_tmp60 = *((u8 *)se_cmd);
12651#line 828
12652 *((int *)__cil_tmp59) = (int )__cil_tmp60;
12653 }
12654 }
12655 {
12656#line 830
12657 set_host_byte(sc, (char)0);
12658 }
12659 {
12660#line 831
12661 __cil_tmp61 = (unsigned long )se_cmd;
12662#line 831
12663 __cil_tmp62 = __cil_tmp61 + 28;
12664#line 831
12665 __cil_tmp63 = *((u32 *)__cil_tmp62);
12666#line 831
12667 if (__cil_tmp63 & 32768U) {
12668 {
12669#line 833
12670 __cil_tmp64 = (unsigned long )se_cmd;
12671#line 833
12672 __cil_tmp65 = __cil_tmp64 + 44;
12673#line 833
12674 __cil_tmp66 = *((u32 *)__cil_tmp65);
12675#line 833
12676 __cil_tmp67 = (int )__cil_tmp66;
12677#line 833
12678 scsi_set_resid(sc, __cil_tmp67);
12679 }
12680 } else {
12681 {
12682#line 831
12683 __cil_tmp68 = (unsigned long )se_cmd;
12684#line 831
12685 __cil_tmp69 = __cil_tmp68 + 28;
12686#line 831
12687 __cil_tmp70 = *((u32 *)__cil_tmp69);
12688#line 831
12689 if (__cil_tmp70 & 65536U) {
12690 {
12691#line 833
12692 __cil_tmp71 = (unsigned long )se_cmd;
12693#line 833
12694 __cil_tmp72 = __cil_tmp71 + 44;
12695#line 833
12696 __cil_tmp73 = *((u32 *)__cil_tmp72);
12697#line 833
12698 __cil_tmp74 = (int )__cil_tmp73;
12699#line 833
12700 scsi_set_resid(sc, __cil_tmp74);
12701 }
12702 } else {
12703
12704 }
12705 }
12706 }
12707 }
12708 {
12709#line 834
12710 __cil_tmp75 = (unsigned long )sc;
12711#line 834
12712 __cil_tmp76 = __cil_tmp75 + 144;
12713#line 834
12714 __cil_tmp77 = *((void (**)(struct scsi_cmnd * ))__cil_tmp76);
12715#line 834
12716 (*__cil_tmp77)(sc);
12717 }
12718#line 835
12719 return (0);
12720}
12721}
12722#line 838 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12723static int tcm_loop_queue_tm_rsp(struct se_cmd *se_cmd )
12724{ struct se_tmr_req *se_tmr ;
12725 struct tcm_loop_tmr *tl_tmr ;
12726 unsigned long __cil_tmp4 ;
12727 unsigned long __cil_tmp5 ;
12728 unsigned long __cil_tmp6 ;
12729 unsigned long __cil_tmp7 ;
12730 void *__cil_tmp8 ;
12731 atomic_t *__cil_tmp9 ;
12732 unsigned long __cil_tmp10 ;
12733 unsigned long __cil_tmp11 ;
12734 wait_queue_head_t *__cil_tmp12 ;
12735 void *__cil_tmp13 ;
12736
12737 {
12738 {
12739#line 840
12740 __cil_tmp4 = (unsigned long )se_cmd;
12741#line 840
12742 __cil_tmp5 = __cil_tmp4 + 152;
12743#line 840
12744 se_tmr = *((struct se_tmr_req **)__cil_tmp5);
12745#line 841
12746 __cil_tmp6 = (unsigned long )se_tmr;
12747#line 841
12748 __cil_tmp7 = __cil_tmp6 + 24;
12749#line 841
12750 __cil_tmp8 = *((void **)__cil_tmp7);
12751#line 841
12752 tl_tmr = (struct tcm_loop_tmr *)__cil_tmp8;
12753#line 846
12754 __cil_tmp9 = (atomic_t *)tl_tmr;
12755#line 846
12756 atomic_set(__cil_tmp9, 1);
12757#line 847
12758 __cil_tmp10 = (unsigned long )tl_tmr;
12759#line 847
12760 __cil_tmp11 = __cil_tmp10 + 8;
12761#line 847
12762 __cil_tmp12 = (wait_queue_head_t *)__cil_tmp11;
12763#line 847
12764 __cil_tmp13 = (void *)0;
12765#line 847
12766 __wake_up(__cil_tmp12, 3U, 1, __cil_tmp13);
12767 }
12768#line 848
12769 return (0);
12770}
12771}
12772#line 851 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12773static u16 tcm_loop_set_fabric_sense_len(struct se_cmd *se_cmd , u32 sense_length )
12774{
12775
12776 {
12777#line 853
12778 return ((u16 )0);
12779}
12780}
12781#line 856 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12782static u16 tcm_loop_get_fabric_sense_len(void)
12783{
12784
12785 {
12786#line 858
12787 return ((u16 )0);
12788}
12789}
12790#line 861 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12791static char *tcm_loop_dump_proto_id(struct tcm_loop_hba *tl_hba )
12792{ u8 __cil_tmp2 ;
12793
12794 {
12795 {
12796#line 863
12797 __cil_tmp2 = *((u8 *)tl_hba);
12798#line 864
12799 if ((int )__cil_tmp2 == 6) {
12800#line 864
12801 goto case_6;
12802 } else
12803#line 866
12804 if ((int )__cil_tmp2 == 0) {
12805#line 866
12806 goto case_0;
12807 } else
12808#line 868
12809 if ((int )__cil_tmp2 == 5) {
12810#line 868
12811 goto case_5;
12812 } else {
12813 {
12814#line 870
12815 goto switch_default;
12816#line 863
12817 if (0) {
12818 case_6:
12819#line 865
12820 return ((char *)"SAS");
12821 case_0:
12822#line 867
12823 return ((char *)"FCP");
12824 case_5:
12825#line 869
12826 return ((char *)"iSCSI");
12827 switch_default:
12828#line 871
12829 goto switch_break;
12830 } else {
12831 switch_break: ;
12832 }
12833 }
12834 }
12835 }
12836#line 874
12837 return ((char *)"Unknown");
12838}
12839}
12840#line 894
12841static int tcm_loop_port_link(struct se_portal_group *se_tpg , struct se_lun *lun ) ;
12842#line 894 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12843static struct _ddebug __attribute__((__aligned__(8))) descriptor___7 __attribute__((__used__,
12844__section__("__verbose"))) = {"tcm_loop", "tcm_loop_port_link", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
12845 "TCM_Loop_ConfigFS: Port Link Successful\n", 894U, 0U};
12846#line 879 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12847static int tcm_loop_port_link(struct se_portal_group *se_tpg , struct se_lun *lun )
12848{ struct tcm_loop_tpg *tl_tpg ;
12849 struct se_portal_group const *__mptr ;
12850 struct tcm_loop_hba *tl_hba ;
12851 long tmp___17 ;
12852 struct tcm_loop_tpg *__cil_tmp7 ;
12853 unsigned long __cil_tmp8 ;
12854 unsigned long __cil_tmp9 ;
12855 struct se_portal_group *__cil_tmp10 ;
12856 unsigned int __cil_tmp11 ;
12857 char *__cil_tmp12 ;
12858 char *__cil_tmp13 ;
12859 unsigned long __cil_tmp14 ;
12860 unsigned long __cil_tmp15 ;
12861 unsigned long __cil_tmp16 ;
12862 unsigned long __cil_tmp17 ;
12863 atomic_t *__cil_tmp18 ;
12864 unsigned long __cil_tmp19 ;
12865 unsigned long __cil_tmp20 ;
12866 struct Scsi_Host *__cil_tmp21 ;
12867 uint __cil_tmp22 ;
12868 unsigned short __cil_tmp23 ;
12869 uint __cil_tmp24 ;
12870 unsigned long __cil_tmp25 ;
12871 unsigned long __cil_tmp26 ;
12872 u32 __cil_tmp27 ;
12873 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp28 ;
12874 unsigned int __cil_tmp29 ;
12875 unsigned int __cil_tmp30 ;
12876 int __cil_tmp31 ;
12877 int __cil_tmp32 ;
12878 long __cil_tmp33 ;
12879
12880 {
12881 {
12882#line 883
12883 __mptr = (struct se_portal_group const *)se_tpg;
12884#line 883
12885 __cil_tmp7 = (struct tcm_loop_tpg *)0;
12886#line 883
12887 __cil_tmp8 = (unsigned long )__cil_tmp7;
12888#line 883
12889 __cil_tmp9 = __cil_tmp8 + 8;
12890#line 883
12891 __cil_tmp10 = (struct se_portal_group *)__cil_tmp9;
12892#line 883
12893 __cil_tmp11 = (unsigned int )__cil_tmp10;
12894#line 883
12895 __cil_tmp12 = (char *)__mptr;
12896#line 883
12897 __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
12898#line 883
12899 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp13;
12900#line 885
12901 __cil_tmp14 = (unsigned long )tl_tpg;
12902#line 885
12903 __cil_tmp15 = __cil_tmp14 + 1648;
12904#line 885
12905 tl_hba = *((struct tcm_loop_hba **)__cil_tmp15);
12906#line 887
12907 __cil_tmp16 = (unsigned long )tl_tpg;
12908#line 887
12909 __cil_tmp17 = __cil_tmp16 + 4;
12910#line 887
12911 __cil_tmp18 = (atomic_t *)__cil_tmp17;
12912#line 887
12913 atomic_inc(__cil_tmp18);
12914#line 888
12915 __asm__ volatile ("": : : "memory");
12916#line 892
12917 __cil_tmp19 = (unsigned long )tl_hba;
12918#line 892
12919 __cil_tmp20 = __cil_tmp19 + 1072;
12920#line 892
12921 __cil_tmp21 = *((struct Scsi_Host **)__cil_tmp20);
12922#line 892
12923 __cil_tmp22 = (uint )0;
12924#line 892
12925 __cil_tmp23 = *((unsigned short *)tl_tpg);
12926#line 892
12927 __cil_tmp24 = (uint )__cil_tmp23;
12928#line 892
12929 __cil_tmp25 = (unsigned long )lun;
12930#line 892
12931 __cil_tmp26 = __cil_tmp25 + 12;
12932#line 892
12933 __cil_tmp27 = *((u32 *)__cil_tmp26);
12934#line 892
12935 scsi_add_device(__cil_tmp21, __cil_tmp22, __cil_tmp24, __cil_tmp27);
12936 }
12937 {
12938#line 894
12939 while (1) {
12940 while_continue: ;
12941 {
12942#line 894
12943 __cil_tmp28 = & descriptor___7;
12944#line 894
12945 __cil_tmp29 = __cil_tmp28->flags;
12946#line 894
12947 __cil_tmp30 = __cil_tmp29 & 1U;
12948#line 894
12949 __cil_tmp31 = ! __cil_tmp30;
12950#line 894
12951 __cil_tmp32 = ! __cil_tmp31;
12952#line 894
12953 __cil_tmp33 = (long )__cil_tmp32;
12954#line 894
12955 tmp___17 = __builtin_expect(__cil_tmp33, 0L);
12956 }
12957#line 894
12958 if (tmp___17) {
12959 {
12960#line 894
12961 __dynamic_pr_debug(& descriptor___7, "TCM_Loop_ConfigFS: Port Link Successful\n");
12962 }
12963 } else {
12964
12965 }
12966#line 894
12967 goto while_break;
12968 }
12969 while_break: ;
12970 }
12971#line 895
12972 return (0);
12973}
12974}
12975#line 925
12976static void tcm_loop_port_unlink(struct se_portal_group *se_tpg , struct se_lun *se_lun ) ;
12977#line 925 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12978static struct _ddebug __attribute__((__aligned__(8))) descriptor___8 __attribute__((__used__,
12979__section__("__verbose"))) = {"tcm_loop", "tcm_loop_port_unlink", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
12980 "TCM_Loop_ConfigFS: Port Unlink Successful\n", 925U, 0U};
12981#line 898 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
12982static void tcm_loop_port_unlink(struct se_portal_group *se_tpg , struct se_lun *se_lun )
12983{ struct scsi_device *sd ;
12984 struct tcm_loop_hba *tl_hba ;
12985 struct tcm_loop_tpg *tl_tpg ;
12986 struct se_portal_group const *__mptr ;
12987 long tmp___17 ;
12988 struct tcm_loop_tpg *__cil_tmp8 ;
12989 unsigned long __cil_tmp9 ;
12990 unsigned long __cil_tmp10 ;
12991 struct se_portal_group *__cil_tmp11 ;
12992 unsigned int __cil_tmp12 ;
12993 char *__cil_tmp13 ;
12994 char *__cil_tmp14 ;
12995 unsigned long __cil_tmp15 ;
12996 unsigned long __cil_tmp16 ;
12997 unsigned long __cil_tmp17 ;
12998 unsigned long __cil_tmp18 ;
12999 struct Scsi_Host *__cil_tmp19 ;
13000 uint __cil_tmp20 ;
13001 unsigned short __cil_tmp21 ;
13002 uint __cil_tmp22 ;
13003 unsigned long __cil_tmp23 ;
13004 unsigned long __cil_tmp24 ;
13005 u32 __cil_tmp25 ;
13006 unsigned short __cil_tmp26 ;
13007 int __cil_tmp27 ;
13008 unsigned long __cil_tmp28 ;
13009 unsigned long __cil_tmp29 ;
13010 u32 __cil_tmp30 ;
13011 unsigned long __cil_tmp31 ;
13012 unsigned long __cil_tmp32 ;
13013 atomic_t *__cil_tmp33 ;
13014 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp34 ;
13015 unsigned int __cil_tmp35 ;
13016 unsigned int __cil_tmp36 ;
13017 int __cil_tmp37 ;
13018 int __cil_tmp38 ;
13019 long __cil_tmp39 ;
13020
13021 {
13022 {
13023#line 906
13024 __mptr = (struct se_portal_group const *)se_tpg;
13025#line 906
13026 __cil_tmp8 = (struct tcm_loop_tpg *)0;
13027#line 906
13028 __cil_tmp9 = (unsigned long )__cil_tmp8;
13029#line 906
13030 __cil_tmp10 = __cil_tmp9 + 8;
13031#line 906
13032 __cil_tmp11 = (struct se_portal_group *)__cil_tmp10;
13033#line 906
13034 __cil_tmp12 = (unsigned int )__cil_tmp11;
13035#line 906
13036 __cil_tmp13 = (char *)__mptr;
13037#line 906
13038 __cil_tmp14 = __cil_tmp13 - __cil_tmp12;
13039#line 906
13040 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp14;
13041#line 907
13042 __cil_tmp15 = (unsigned long )tl_tpg;
13043#line 907
13044 __cil_tmp16 = __cil_tmp15 + 1648;
13045#line 907
13046 tl_hba = *((struct tcm_loop_hba **)__cil_tmp16);
13047#line 909
13048 __cil_tmp17 = (unsigned long )tl_hba;
13049#line 909
13050 __cil_tmp18 = __cil_tmp17 + 1072;
13051#line 909
13052 __cil_tmp19 = *((struct Scsi_Host **)__cil_tmp18);
13053#line 909
13054 __cil_tmp20 = (uint )0;
13055#line 909
13056 __cil_tmp21 = *((unsigned short *)tl_tpg);
13057#line 909
13058 __cil_tmp22 = (uint )__cil_tmp21;
13059#line 909
13060 __cil_tmp23 = (unsigned long )se_lun;
13061#line 909
13062 __cil_tmp24 = __cil_tmp23 + 12;
13063#line 909
13064 __cil_tmp25 = *((u32 *)__cil_tmp24);
13065#line 909
13066 sd = scsi_device_lookup(__cil_tmp19, __cil_tmp20, __cil_tmp22, __cil_tmp25);
13067 }
13068#line 911
13069 if (! sd) {
13070 {
13071#line 912
13072 __cil_tmp26 = *((unsigned short *)tl_tpg);
13073#line 912
13074 __cil_tmp27 = (int )__cil_tmp26;
13075#line 912
13076 __cil_tmp28 = (unsigned long )se_lun;
13077#line 912
13078 __cil_tmp29 = __cil_tmp28 + 12;
13079#line 912
13080 __cil_tmp30 = *((u32 *)__cil_tmp29);
13081#line 912
13082 printk("<3>Unable to locate struct scsi_device for %d:%d:%d\n", 0, __cil_tmp27,
13083 __cil_tmp30);
13084 }
13085#line 914
13086 return;
13087 } else {
13088
13089 }
13090 {
13091#line 919
13092 scsi_remove_device(sd);
13093#line 920
13094 scsi_device_put(sd);
13095#line 922
13096 __cil_tmp31 = (unsigned long )tl_tpg;
13097#line 922
13098 __cil_tmp32 = __cil_tmp31 + 4;
13099#line 922
13100 __cil_tmp33 = (atomic_t *)__cil_tmp32;
13101#line 922
13102 atomic_dec(__cil_tmp33);
13103#line 923
13104 __asm__ volatile ("": : : "memory");
13105 }
13106 {
13107#line 925
13108 while (1) {
13109 while_continue: ;
13110 {
13111#line 925
13112 __cil_tmp34 = & descriptor___8;
13113#line 925
13114 __cil_tmp35 = __cil_tmp34->flags;
13115#line 925
13116 __cil_tmp36 = __cil_tmp35 & 1U;
13117#line 925
13118 __cil_tmp37 = ! __cil_tmp36;
13119#line 925
13120 __cil_tmp38 = ! __cil_tmp37;
13121#line 925
13122 __cil_tmp39 = (long )__cil_tmp38;
13123#line 925
13124 tmp___17 = __builtin_expect(__cil_tmp39, 0L);
13125 }
13126#line 925
13127 if (tmp___17) {
13128 {
13129#line 925
13130 __dynamic_pr_debug(& descriptor___8, "TCM_Loop_ConfigFS: Port Unlink Successful\n");
13131 }
13132 } else {
13133
13134 }
13135#line 925
13136 goto while_break;
13137 }
13138 while_break: ;
13139 }
13140#line 926
13141 return;
13142}
13143}
13144#line 942
13145static int tcm_loop_make_nexus(struct tcm_loop_tpg *tl_tpg , char const *name ) ;
13146#line 942 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
13147static struct _ddebug __attribute__((__aligned__(8))) descriptor___9 __attribute__((__used__,
13148__section__("__verbose"))) = {"tcm_loop", "tcm_loop_make_nexus", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
13149 "tl_tpg->tl_hba->tl_nexus already exists\n", 942U, 0U};
13150#line 978
13151static int tcm_loop_make_nexus(struct tcm_loop_tpg *tl_tpg , char const *name ) ;
13152#line 978 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
13153static struct _ddebug __attribute__((__aligned__(8))) descriptor___10 __attribute__((__used__,
13154__section__("__verbose"))) = {"tcm_loop", "tcm_loop_make_nexus", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
13155 "TCM_Loop_ConfigFS: Established I_T Nexus to emulated %s Initiator Port: %s\n",
13156 980U, 0U};
13157#line 932 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
13158static int tcm_loop_make_nexus(struct tcm_loop_tpg *tl_tpg , char const *name )
13159{ struct se_portal_group *se_tpg ;
13160 struct tcm_loop_hba *tl_hba ;
13161 struct tcm_loop_nexus *tl_nexus ;
13162 int ret ;
13163 long tmp___17 ;
13164 void *tmp___18 ;
13165 long tmp___19 ;
13166 long tmp___20 ;
13167 char *tmp___21 ;
13168 long tmp___22 ;
13169 unsigned long __cil_tmp13 ;
13170 unsigned long __cil_tmp14 ;
13171 unsigned long __cil_tmp15 ;
13172 unsigned long __cil_tmp16 ;
13173 struct tcm_loop_hba *__cil_tmp17 ;
13174 unsigned long __cil_tmp18 ;
13175 unsigned long __cil_tmp19 ;
13176 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp20 ;
13177 unsigned int __cil_tmp21 ;
13178 unsigned int __cil_tmp22 ;
13179 int __cil_tmp23 ;
13180 int __cil_tmp24 ;
13181 long __cil_tmp25 ;
13182 unsigned long __cil_tmp26 ;
13183 unsigned long __cil_tmp27 ;
13184 unsigned long __cil_tmp28 ;
13185 unsigned long __cil_tmp29 ;
13186 unsigned long __cil_tmp30 ;
13187 unsigned long __cil_tmp31 ;
13188 struct se_session *__cil_tmp32 ;
13189 void const *__cil_tmp33 ;
13190 unsigned long __cil_tmp34 ;
13191 unsigned long __cil_tmp35 ;
13192 struct se_session *__cil_tmp36 ;
13193 void const *__cil_tmp37 ;
13194 unsigned long __cil_tmp38 ;
13195 unsigned long __cil_tmp39 ;
13196 struct se_session *__cil_tmp40 ;
13197 unsigned long __cil_tmp41 ;
13198 unsigned long __cil_tmp42 ;
13199 unsigned char *__cil_tmp43 ;
13200 unsigned long __cil_tmp44 ;
13201 unsigned long __cil_tmp45 ;
13202 struct se_session *__cil_tmp46 ;
13203 unsigned long __cil_tmp47 ;
13204 unsigned long __cil_tmp48 ;
13205 struct se_node_acl *__cil_tmp49 ;
13206 unsigned long __cil_tmp50 ;
13207 unsigned long __cil_tmp51 ;
13208 struct se_session *__cil_tmp52 ;
13209 unsigned long __cil_tmp53 ;
13210 unsigned long __cil_tmp54 ;
13211 struct se_session *__cil_tmp55 ;
13212 unsigned long __cil_tmp56 ;
13213 unsigned long __cil_tmp57 ;
13214 struct se_node_acl *__cil_tmp58 ;
13215 unsigned long __cil_tmp59 ;
13216 unsigned long __cil_tmp60 ;
13217 struct se_session *__cil_tmp61 ;
13218 void *__cil_tmp62 ;
13219 unsigned long __cil_tmp63 ;
13220 unsigned long __cil_tmp64 ;
13221 struct tcm_loop_hba *__cil_tmp65 ;
13222 unsigned long __cil_tmp66 ;
13223 unsigned long __cil_tmp67 ;
13224 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp68 ;
13225 unsigned int __cil_tmp69 ;
13226 unsigned int __cil_tmp70 ;
13227 int __cil_tmp71 ;
13228 int __cil_tmp72 ;
13229 long __cil_tmp73 ;
13230 void const *__cil_tmp74 ;
13231
13232 {
13233#line 937
13234 __cil_tmp13 = (unsigned long )tl_tpg;
13235#line 937
13236 __cil_tmp14 = __cil_tmp13 + 1648;
13237#line 937
13238 tl_hba = *((struct tcm_loop_hba **)__cil_tmp14);
13239#line 939
13240 ret = -12;
13241 {
13242#line 941
13243 __cil_tmp15 = (unsigned long )tl_tpg;
13244#line 941
13245 __cil_tmp16 = __cil_tmp15 + 1648;
13246#line 941
13247 __cil_tmp17 = *((struct tcm_loop_hba **)__cil_tmp16);
13248#line 941
13249 __cil_tmp18 = (unsigned long )__cil_tmp17;
13250#line 941
13251 __cil_tmp19 = __cil_tmp18 + 296;
13252#line 941
13253 if (*((struct tcm_loop_nexus **)__cil_tmp19)) {
13254 {
13255#line 942
13256 while (1) {
13257 while_continue: ;
13258 {
13259#line 942
13260 __cil_tmp20 = & descriptor___9;
13261#line 942
13262 __cil_tmp21 = __cil_tmp20->flags;
13263#line 942
13264 __cil_tmp22 = __cil_tmp21 & 1U;
13265#line 942
13266 __cil_tmp23 = ! __cil_tmp22;
13267#line 942
13268 __cil_tmp24 = ! __cil_tmp23;
13269#line 942
13270 __cil_tmp25 = (long )__cil_tmp24;
13271#line 942
13272 tmp___17 = __builtin_expect(__cil_tmp25, 0L);
13273 }
13274#line 942
13275 if (tmp___17) {
13276 {
13277#line 942
13278 __dynamic_pr_debug(& descriptor___9, "tl_tpg->tl_hba->tl_nexus already exists\n");
13279 }
13280 } else {
13281
13282 }
13283#line 942
13284 goto while_break;
13285 }
13286 while_break: ;
13287 }
13288#line 943
13289 return (-17);
13290 } else {
13291
13292 }
13293 }
13294 {
13295#line 945
13296 __cil_tmp26 = (unsigned long )tl_tpg;
13297#line 945
13298 __cil_tmp27 = __cil_tmp26 + 8;
13299#line 945
13300 se_tpg = (struct se_portal_group *)__cil_tmp27;
13301#line 947
13302 tmp___18 = kzalloc(24UL, 208U);
13303#line 947
13304 tl_nexus = (struct tcm_loop_nexus *)tmp___18;
13305 }
13306#line 948
13307 if (! tl_nexus) {
13308 {
13309#line 949
13310 printk("<3>Unable to allocate struct tcm_loop_nexus\n");
13311 }
13312#line 950
13313 return (-12);
13314 } else {
13315
13316 }
13317 {
13318#line 955
13319 __cil_tmp28 = (unsigned long )tl_nexus;
13320#line 955
13321 __cil_tmp29 = __cil_tmp28 + 16;
13322#line 955
13323 *((struct se_session **)__cil_tmp29) = transport_init_session();
13324#line 956
13325 __cil_tmp30 = (unsigned long )tl_nexus;
13326#line 956
13327 __cil_tmp31 = __cil_tmp30 + 16;
13328#line 956
13329 __cil_tmp32 = *((struct se_session **)__cil_tmp31);
13330#line 956
13331 __cil_tmp33 = (void const *)__cil_tmp32;
13332#line 956
13333 tmp___20 = (long )IS_ERR(__cil_tmp33);
13334 }
13335#line 956
13336 if (tmp___20) {
13337 {
13338#line 957
13339 __cil_tmp34 = (unsigned long )tl_nexus;
13340#line 957
13341 __cil_tmp35 = __cil_tmp34 + 16;
13342#line 957
13343 __cil_tmp36 = *((struct se_session **)__cil_tmp35);
13344#line 957
13345 __cil_tmp37 = (void const *)__cil_tmp36;
13346#line 957
13347 tmp___19 = (long )PTR_ERR(__cil_tmp37);
13348#line 957
13349 ret = (int )tmp___19;
13350 }
13351#line 958
13352 goto out;
13353 } else {
13354
13355 }
13356 {
13357#line 965
13358 __cil_tmp38 = (unsigned long )tl_nexus;
13359#line 965
13360 __cil_tmp39 = __cil_tmp38 + 16;
13361#line 965
13362 __cil_tmp40 = *((struct se_session **)__cil_tmp39);
13363#line 965
13364 __cil_tmp41 = (unsigned long )__cil_tmp40;
13365#line 965
13366 __cil_tmp42 = __cil_tmp41 + 16;
13367#line 965
13368 __cil_tmp43 = (unsigned char *)name;
13369#line 965
13370 *((struct se_node_acl **)__cil_tmp42) = core_tpg_check_initiator_node_acl(se_tpg,
13371 __cil_tmp43);
13372 }
13373 {
13374#line 967
13375 __cil_tmp44 = (unsigned long )tl_nexus;
13376#line 967
13377 __cil_tmp45 = __cil_tmp44 + 16;
13378#line 967
13379 __cil_tmp46 = *((struct se_session **)__cil_tmp45);
13380#line 967
13381 __cil_tmp47 = (unsigned long )__cil_tmp46;
13382#line 967
13383 __cil_tmp48 = __cil_tmp47 + 16;
13384#line 967
13385 __cil_tmp49 = *((struct se_node_acl **)__cil_tmp48);
13386#line 967
13387 if (! __cil_tmp49) {
13388 {
13389#line 968
13390 __cil_tmp50 = (unsigned long )tl_nexus;
13391#line 968
13392 __cil_tmp51 = __cil_tmp50 + 16;
13393#line 968
13394 __cil_tmp52 = *((struct se_session **)__cil_tmp51);
13395#line 968
13396 transport_free_session(__cil_tmp52);
13397 }
13398#line 969
13399 goto out;
13400 } else {
13401
13402 }
13403 }
13404 {
13405#line 975
13406 __cil_tmp53 = (unsigned long )tl_nexus;
13407#line 975
13408 __cil_tmp54 = __cil_tmp53 + 16;
13409#line 975
13410 __cil_tmp55 = *((struct se_session **)__cil_tmp54);
13411#line 975
13412 __cil_tmp56 = (unsigned long )__cil_tmp55;
13413#line 975
13414 __cil_tmp57 = __cil_tmp56 + 16;
13415#line 975
13416 __cil_tmp58 = *((struct se_node_acl **)__cil_tmp57);
13417#line 975
13418 __cil_tmp59 = (unsigned long )tl_nexus;
13419#line 975
13420 __cil_tmp60 = __cil_tmp59 + 16;
13421#line 975
13422 __cil_tmp61 = *((struct se_session **)__cil_tmp60);
13423#line 975
13424 __cil_tmp62 = (void *)tl_nexus;
13425#line 975
13426 __transport_register_session(se_tpg, __cil_tmp58, __cil_tmp61, __cil_tmp62);
13427#line 977
13428 __cil_tmp63 = (unsigned long )tl_tpg;
13429#line 977
13430 __cil_tmp64 = __cil_tmp63 + 1648;
13431#line 977
13432 __cil_tmp65 = *((struct tcm_loop_hba **)__cil_tmp64);
13433#line 977
13434 __cil_tmp66 = (unsigned long )__cil_tmp65;
13435#line 977
13436 __cil_tmp67 = __cil_tmp66 + 296;
13437#line 977
13438 *((struct tcm_loop_nexus **)__cil_tmp67) = tl_nexus;
13439 }
13440 {
13441#line 978
13442 while (1) {
13443 while_continue___0: ;
13444 {
13445#line 978
13446 __cil_tmp68 = & descriptor___10;
13447#line 978
13448 __cil_tmp69 = __cil_tmp68->flags;
13449#line 978
13450 __cil_tmp70 = __cil_tmp69 & 1U;
13451#line 978
13452 __cil_tmp71 = ! __cil_tmp70;
13453#line 978
13454 __cil_tmp72 = ! __cil_tmp71;
13455#line 978
13456 __cil_tmp73 = (long )__cil_tmp72;
13457#line 978
13458 tmp___22 = __builtin_expect(__cil_tmp73, 0L);
13459 }
13460#line 978
13461 if (tmp___22) {
13462 {
13463#line 978
13464 tmp___21 = tcm_loop_dump_proto_id(tl_hba);
13465#line 978
13466 __dynamic_pr_debug(& descriptor___10, "TCM_Loop_ConfigFS: Established I_T Nexus to emulated %s Initiator Port: %s\n",
13467 tmp___21, name);
13468 }
13469 } else {
13470
13471 }
13472#line 978
13473 goto while_break___0;
13474 }
13475 while_break___0: ;
13476 }
13477#line 981
13478 return (0);
13479 out:
13480 {
13481#line 984
13482 __cil_tmp74 = (void const *)tl_nexus;
13483#line 984
13484 kfree(__cil_tmp74);
13485 }
13486#line 985
13487 return (ret);
13488}
13489}
13490#line 1010
13491static int tcm_loop_drop_nexus(struct tcm_loop_tpg *tpg ) ;
13492#line 1010 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
13493static struct _ddebug __attribute__((__aligned__(8))) descriptor___11 __attribute__((__used__,
13494__section__("__verbose"))) = {"tcm_loop", "tcm_loop_drop_nexus", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
13495 "TCM_Loop_ConfigFS: Removing I_T Nexus to emulated %s Initiator Port: %s\n", 1012U,
13496 0U};
13497#line 988 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
13498static int tcm_loop_drop_nexus(struct tcm_loop_tpg *tpg )
13499{ struct se_session *se_sess ;
13500 struct tcm_loop_nexus *tl_nexus ;
13501 struct tcm_loop_hba *tl_hba ;
13502 int tmp___17 ;
13503 int tmp___18 ;
13504 char *tmp___19 ;
13505 long tmp___20 ;
13506 unsigned long __cil_tmp9 ;
13507 unsigned long __cil_tmp10 ;
13508 unsigned long __cil_tmp11 ;
13509 unsigned long __cil_tmp12 ;
13510 struct tcm_loop_hba *__cil_tmp13 ;
13511 unsigned long __cil_tmp14 ;
13512 unsigned long __cil_tmp15 ;
13513 unsigned long __cil_tmp16 ;
13514 unsigned long __cil_tmp17 ;
13515 unsigned long __cil_tmp18 ;
13516 unsigned long __cil_tmp19 ;
13517 atomic_t *__cil_tmp20 ;
13518 atomic_t const *__cil_tmp21 ;
13519 unsigned long __cil_tmp22 ;
13520 unsigned long __cil_tmp23 ;
13521 atomic_t *__cil_tmp24 ;
13522 atomic_t const *__cil_tmp25 ;
13523 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp26 ;
13524 unsigned int __cil_tmp27 ;
13525 unsigned int __cil_tmp28 ;
13526 int __cil_tmp29 ;
13527 int __cil_tmp30 ;
13528 long __cil_tmp31 ;
13529 unsigned long __cil_tmp32 ;
13530 unsigned long __cil_tmp33 ;
13531 unsigned long __cil_tmp34 ;
13532 unsigned long __cil_tmp35 ;
13533 struct se_session *__cil_tmp36 ;
13534 unsigned long __cil_tmp37 ;
13535 unsigned long __cil_tmp38 ;
13536 struct se_node_acl *__cil_tmp39 ;
13537 unsigned long __cil_tmp40 ;
13538 unsigned long __cil_tmp41 ;
13539 char *__cil_tmp42 ;
13540 unsigned long __cil_tmp43 ;
13541 unsigned long __cil_tmp44 ;
13542 struct se_session *__cil_tmp45 ;
13543 unsigned long __cil_tmp46 ;
13544 unsigned long __cil_tmp47 ;
13545 struct tcm_loop_hba *__cil_tmp48 ;
13546 unsigned long __cil_tmp49 ;
13547 unsigned long __cil_tmp50 ;
13548 void *__cil_tmp51 ;
13549 void const *__cil_tmp52 ;
13550
13551 {
13552#line 993
13553 __cil_tmp9 = (unsigned long )tpg;
13554#line 993
13555 __cil_tmp10 = __cil_tmp9 + 1648;
13556#line 993
13557 tl_hba = *((struct tcm_loop_hba **)__cil_tmp10);
13558#line 995
13559 __cil_tmp11 = (unsigned long )tpg;
13560#line 995
13561 __cil_tmp12 = __cil_tmp11 + 1648;
13562#line 995
13563 __cil_tmp13 = *((struct tcm_loop_hba **)__cil_tmp12);
13564#line 995
13565 __cil_tmp14 = (unsigned long )__cil_tmp13;
13566#line 995
13567 __cil_tmp15 = __cil_tmp14 + 296;
13568#line 995
13569 tl_nexus = *((struct tcm_loop_nexus **)__cil_tmp15);
13570#line 996
13571 if (! tl_nexus) {
13572#line 997
13573 return (-19);
13574 } else {
13575
13576 }
13577#line 999
13578 __cil_tmp16 = (unsigned long )tl_nexus;
13579#line 999
13580 __cil_tmp17 = __cil_tmp16 + 16;
13581#line 999
13582 se_sess = *((struct se_session **)__cil_tmp17);
13583#line 1000
13584 if (! se_sess) {
13585#line 1001
13586 return (-19);
13587 } else {
13588
13589 }
13590 {
13591#line 1003
13592 __cil_tmp18 = (unsigned long )tpg;
13593#line 1003
13594 __cil_tmp19 = __cil_tmp18 + 4;
13595#line 1003
13596 __cil_tmp20 = (atomic_t *)__cil_tmp19;
13597#line 1003
13598 __cil_tmp21 = (atomic_t const *)__cil_tmp20;
13599#line 1003
13600 tmp___18 = atomic_read(__cil_tmp21);
13601 }
13602#line 1003
13603 if (tmp___18) {
13604 {
13605#line 1004
13606 __cil_tmp22 = (unsigned long )tpg;
13607#line 1004
13608 __cil_tmp23 = __cil_tmp22 + 4;
13609#line 1004
13610 __cil_tmp24 = (atomic_t *)__cil_tmp23;
13611#line 1004
13612 __cil_tmp25 = (atomic_t const *)__cil_tmp24;
13613#line 1004
13614 tmp___17 = atomic_read(__cil_tmp25);
13615#line 1004
13616 printk("<3>Unable to remove TCM_Loop I_T Nexus with active TPG port count: %d\n",
13617 tmp___17);
13618 }
13619#line 1007
13620 return (-1);
13621 } else {
13622
13623 }
13624 {
13625#line 1010
13626 while (1) {
13627 while_continue: ;
13628 {
13629#line 1010
13630 __cil_tmp26 = & descriptor___11;
13631#line 1010
13632 __cil_tmp27 = __cil_tmp26->flags;
13633#line 1010
13634 __cil_tmp28 = __cil_tmp27 & 1U;
13635#line 1010
13636 __cil_tmp29 = ! __cil_tmp28;
13637#line 1010
13638 __cil_tmp30 = ! __cil_tmp29;
13639#line 1010
13640 __cil_tmp31 = (long )__cil_tmp30;
13641#line 1010
13642 tmp___20 = __builtin_expect(__cil_tmp31, 0L);
13643 }
13644#line 1010
13645 if (tmp___20) {
13646 {
13647#line 1010
13648 tmp___19 = tcm_loop_dump_proto_id(tl_hba);
13649#line 1010
13650 __cil_tmp32 = 0 * 1UL;
13651#line 1010
13652 __cil_tmp33 = 0 + __cil_tmp32;
13653#line 1010
13654 __cil_tmp34 = (unsigned long )tl_nexus;
13655#line 1010
13656 __cil_tmp35 = __cil_tmp34 + 16;
13657#line 1010
13658 __cil_tmp36 = *((struct se_session **)__cil_tmp35);
13659#line 1010
13660 __cil_tmp37 = (unsigned long )__cil_tmp36;
13661#line 1010
13662 __cil_tmp38 = __cil_tmp37 + 16;
13663#line 1010
13664 __cil_tmp39 = *((struct se_node_acl **)__cil_tmp38);
13665#line 1010
13666 __cil_tmp40 = (unsigned long )__cil_tmp39;
13667#line 1010
13668 __cil_tmp41 = __cil_tmp40 + __cil_tmp33;
13669#line 1010
13670 __cil_tmp42 = (char *)__cil_tmp41;
13671#line 1010
13672 __dynamic_pr_debug(& descriptor___11, "TCM_Loop_ConfigFS: Removing I_T Nexus to emulated %s Initiator Port: %s\n",
13673 tmp___19, __cil_tmp42);
13674 }
13675 } else {
13676
13677 }
13678#line 1010
13679 goto while_break;
13680 }
13681 while_break: ;
13682 }
13683 {
13684#line 1016
13685 __cil_tmp43 = (unsigned long )tl_nexus;
13686#line 1016
13687 __cil_tmp44 = __cil_tmp43 + 16;
13688#line 1016
13689 __cil_tmp45 = *((struct se_session **)__cil_tmp44);
13690#line 1016
13691 transport_deregister_session(__cil_tmp45);
13692#line 1017
13693 __cil_tmp46 = (unsigned long )tpg;
13694#line 1017
13695 __cil_tmp47 = __cil_tmp46 + 1648;
13696#line 1017
13697 __cil_tmp48 = *((struct tcm_loop_hba **)__cil_tmp47);
13698#line 1017
13699 __cil_tmp49 = (unsigned long )__cil_tmp48;
13700#line 1017
13701 __cil_tmp50 = __cil_tmp49 + 296;
13702#line 1017
13703 __cil_tmp51 = (void *)0;
13704#line 1017
13705 *((struct tcm_loop_nexus **)__cil_tmp50) = (struct tcm_loop_nexus *)__cil_tmp51;
13706#line 1018
13707 __cil_tmp52 = (void const *)tl_nexus;
13708#line 1018
13709 kfree(__cil_tmp52);
13710 }
13711#line 1019
13712 return (0);
13713}
13714}
13715#line 1024 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
13716static ssize_t tcm_loop_tpg_show_nexus(struct se_portal_group *se_tpg , char *page )
13717{ struct tcm_loop_tpg *tl_tpg ;
13718 struct se_portal_group const *__mptr ;
13719 struct tcm_loop_nexus *tl_nexus ;
13720 ssize_t ret ;
13721 int tmp___17 ;
13722 struct tcm_loop_tpg *__cil_tmp8 ;
13723 unsigned long __cil_tmp9 ;
13724 unsigned long __cil_tmp10 ;
13725 struct se_portal_group *__cil_tmp11 ;
13726 unsigned int __cil_tmp12 ;
13727 char *__cil_tmp13 ;
13728 char *__cil_tmp14 ;
13729 unsigned long __cil_tmp15 ;
13730 unsigned long __cil_tmp16 ;
13731 struct tcm_loop_hba *__cil_tmp17 ;
13732 unsigned long __cil_tmp18 ;
13733 unsigned long __cil_tmp19 ;
13734 unsigned long __cil_tmp20 ;
13735 unsigned long __cil_tmp21 ;
13736 unsigned long __cil_tmp22 ;
13737 unsigned long __cil_tmp23 ;
13738 unsigned long __cil_tmp24 ;
13739 struct se_session *__cil_tmp25 ;
13740 unsigned long __cil_tmp26 ;
13741 unsigned long __cil_tmp27 ;
13742 struct se_node_acl *__cil_tmp28 ;
13743 unsigned long __cil_tmp29 ;
13744 unsigned long __cil_tmp30 ;
13745 char *__cil_tmp31 ;
13746
13747 {
13748#line 1028
13749 __mptr = (struct se_portal_group const *)se_tpg;
13750#line 1028
13751 __cil_tmp8 = (struct tcm_loop_tpg *)0;
13752#line 1028
13753 __cil_tmp9 = (unsigned long )__cil_tmp8;
13754#line 1028
13755 __cil_tmp10 = __cil_tmp9 + 8;
13756#line 1028
13757 __cil_tmp11 = (struct se_portal_group *)__cil_tmp10;
13758#line 1028
13759 __cil_tmp12 = (unsigned int )__cil_tmp11;
13760#line 1028
13761 __cil_tmp13 = (char *)__mptr;
13762#line 1028
13763 __cil_tmp14 = __cil_tmp13 - __cil_tmp12;
13764#line 1028
13765 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp14;
13766#line 1033
13767 __cil_tmp15 = (unsigned long )tl_tpg;
13768#line 1033
13769 __cil_tmp16 = __cil_tmp15 + 1648;
13770#line 1033
13771 __cil_tmp17 = *((struct tcm_loop_hba **)__cil_tmp16);
13772#line 1033
13773 __cil_tmp18 = (unsigned long )__cil_tmp17;
13774#line 1033
13775 __cil_tmp19 = __cil_tmp18 + 296;
13776#line 1033
13777 tl_nexus = *((struct tcm_loop_nexus **)__cil_tmp19);
13778#line 1034
13779 if (! tl_nexus) {
13780#line 1035
13781 return ((ssize_t )-19);
13782 } else {
13783
13784 }
13785 {
13786#line 1037
13787 __cil_tmp20 = 1UL << 12;
13788#line 1037
13789 __cil_tmp21 = 0 * 1UL;
13790#line 1037
13791 __cil_tmp22 = 0 + __cil_tmp21;
13792#line 1037
13793 __cil_tmp23 = (unsigned long )tl_nexus;
13794#line 1037
13795 __cil_tmp24 = __cil_tmp23 + 16;
13796#line 1037
13797 __cil_tmp25 = *((struct se_session **)__cil_tmp24);
13798#line 1037
13799 __cil_tmp26 = (unsigned long )__cil_tmp25;
13800#line 1037
13801 __cil_tmp27 = __cil_tmp26 + 16;
13802#line 1037
13803 __cil_tmp28 = *((struct se_node_acl **)__cil_tmp27);
13804#line 1037
13805 __cil_tmp29 = (unsigned long )__cil_tmp28;
13806#line 1037
13807 __cil_tmp30 = __cil_tmp29 + __cil_tmp22;
13808#line 1037
13809 __cil_tmp31 = (char *)__cil_tmp30;
13810#line 1037
13811 tmp___17 = snprintf(page, __cil_tmp20, "%s\n", __cil_tmp31);
13812#line 1037
13813 ret = (ssize_t )tmp___17;
13814 }
13815#line 1040
13816 return (ret);
13817}
13818}
13819#line 1043 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
13820static ssize_t tcm_loop_tpg_store_nexus(struct se_portal_group *se_tpg , char const *page ,
13821 size_t count )
13822{ struct tcm_loop_tpg *tl_tpg ;
13823 struct se_portal_group const *__mptr ;
13824 struct tcm_loop_hba *tl_hba ;
13825 unsigned char i_port[256] ;
13826 unsigned char *ptr ;
13827 unsigned char *port_ptr ;
13828 int ret ;
13829 size_t tmp___17 ;
13830 int tmp___18 ;
13831 unsigned long tmp___19 ;
13832 char *tmp___20 ;
13833 char *tmp___21 ;
13834 char *tmp___22 ;
13835 char *tmp___23 ;
13836 char *tmp___24 ;
13837 char *tmp___25 ;
13838 unsigned long tmp___26 ;
13839 unsigned long tmp___27 ;
13840 struct tcm_loop_tpg *__cil_tmp22 ;
13841 unsigned long __cil_tmp23 ;
13842 unsigned long __cil_tmp24 ;
13843 struct se_portal_group *__cil_tmp25 ;
13844 unsigned int __cil_tmp26 ;
13845 char *__cil_tmp27 ;
13846 char *__cil_tmp28 ;
13847 unsigned long __cil_tmp29 ;
13848 unsigned long __cil_tmp30 ;
13849 __kernel_size_t __cil_tmp31 ;
13850 unsigned long __cil_tmp32 ;
13851 unsigned long __cil_tmp33 ;
13852 unsigned char *__cil_tmp34 ;
13853 char *__cil_tmp35 ;
13854 size_t __cil_tmp36 ;
13855 unsigned long __cil_tmp37 ;
13856 unsigned long __cil_tmp38 ;
13857 unsigned char *__cil_tmp39 ;
13858 char const *__cil_tmp40 ;
13859 u8 __cil_tmp41 ;
13860 int __cil_tmp42 ;
13861 unsigned long __cil_tmp43 ;
13862 unsigned long __cil_tmp44 ;
13863 unsigned char *__cil_tmp45 ;
13864 unsigned long __cil_tmp46 ;
13865 unsigned long __cil_tmp47 ;
13866 unsigned long __cil_tmp48 ;
13867 unsigned long __cil_tmp49 ;
13868 unsigned char *__cil_tmp50 ;
13869 char const *__cil_tmp51 ;
13870 u8 __cil_tmp52 ;
13871 int __cil_tmp53 ;
13872 unsigned long __cil_tmp54 ;
13873 unsigned long __cil_tmp55 ;
13874 unsigned char *__cil_tmp56 ;
13875 unsigned long __cil_tmp57 ;
13876 unsigned long __cil_tmp58 ;
13877 unsigned long __cil_tmp59 ;
13878 unsigned long __cil_tmp60 ;
13879 unsigned char *__cil_tmp61 ;
13880 char const *__cil_tmp62 ;
13881 u8 __cil_tmp63 ;
13882 int __cil_tmp64 ;
13883 unsigned long __cil_tmp65 ;
13884 unsigned long __cil_tmp66 ;
13885 unsigned char *__cil_tmp67 ;
13886 unsigned long __cil_tmp68 ;
13887 unsigned long __cil_tmp69 ;
13888 unsigned long __cil_tmp70 ;
13889 unsigned long __cil_tmp71 ;
13890 unsigned char *__cil_tmp72 ;
13891 unsigned long __cil_tmp73 ;
13892 unsigned long __cil_tmp74 ;
13893 unsigned char *__cil_tmp75 ;
13894 char const *__cil_tmp76 ;
13895 unsigned long __cil_tmp77 ;
13896 unsigned long __cil_tmp78 ;
13897 unsigned long __cil_tmp79 ;
13898 unsigned char __cil_tmp80 ;
13899 int __cil_tmp81 ;
13900 unsigned long __cil_tmp82 ;
13901 unsigned long __cil_tmp83 ;
13902 unsigned char *__cil_tmp84 ;
13903 char const *__cil_tmp85 ;
13904 unsigned long __cil_tmp86 ;
13905 unsigned long __cil_tmp87 ;
13906 unsigned long __cil_tmp88 ;
13907 char const *__cil_tmp89 ;
13908
13909 {
13910 {
13911#line 1048
13912 __mptr = (struct se_portal_group const *)se_tpg;
13913#line 1048
13914 __cil_tmp22 = (struct tcm_loop_tpg *)0;
13915#line 1048
13916 __cil_tmp23 = (unsigned long )__cil_tmp22;
13917#line 1048
13918 __cil_tmp24 = __cil_tmp23 + 8;
13919#line 1048
13920 __cil_tmp25 = (struct se_portal_group *)__cil_tmp24;
13921#line 1048
13922 __cil_tmp26 = (unsigned int )__cil_tmp25;
13923#line 1048
13924 __cil_tmp27 = (char *)__mptr;
13925#line 1048
13926 __cil_tmp28 = __cil_tmp27 - __cil_tmp26;
13927#line 1048
13928 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp28;
13929#line 1050
13930 __cil_tmp29 = (unsigned long )tl_tpg;
13931#line 1050
13932 __cil_tmp30 = __cil_tmp29 + 1648;
13933#line 1050
13934 tl_hba = *((struct tcm_loop_hba **)__cil_tmp30);
13935#line 1056
13936 __cil_tmp31 = (__kernel_size_t )4;
13937#line 1056
13938 tmp___18 = strncmp(page, "NULL", __cil_tmp31);
13939 }
13940#line 1056
13941 if (tmp___18) {
13942
13943 } else {
13944 {
13945#line 1057
13946 ret = tcm_loop_drop_nexus(tl_tpg);
13947 }
13948#line 1058
13949 if (! ret) {
13950#line 1058
13951 tmp___17 = count;
13952 } else {
13953#line 1058
13954 tmp___17 = (size_t )ret;
13955 }
13956#line 1058
13957 return ((ssize_t )tmp___17);
13958 }
13959 {
13960#line 1065
13961 tmp___19 = strlen(page);
13962 }
13963#line 1065
13964 if (tmp___19 >= 256UL) {
13965 {
13966#line 1066
13967 printk("<3>Emulated NAA Sas Address: %s, exceeds max: %d\n", page, 256);
13968 }
13969#line 1068
13970 return ((ssize_t )-22);
13971 } else {
13972
13973 }
13974 {
13975#line 1070
13976 __cil_tmp32 = 0 * 1UL;
13977#line 1070
13978 __cil_tmp33 = (unsigned long )(i_port) + __cil_tmp32;
13979#line 1070
13980 __cil_tmp34 = (unsigned char *)__cil_tmp33;
13981#line 1070
13982 __cil_tmp35 = (char *)__cil_tmp34;
13983#line 1070
13984 __cil_tmp36 = (size_t )256;
13985#line 1070
13986 snprintf(__cil_tmp35, __cil_tmp36, "%s", page);
13987#line 1072
13988 __cil_tmp37 = 0 * 1UL;
13989#line 1072
13990 __cil_tmp38 = (unsigned long )(i_port) + __cil_tmp37;
13991#line 1072
13992 __cil_tmp39 = (unsigned char *)__cil_tmp38;
13993#line 1072
13994 __cil_tmp40 = (char const *)__cil_tmp39;
13995#line 1072
13996 tmp___20 = strstr(__cil_tmp40, "naa.");
13997#line 1072
13998 ptr = (unsigned char *)tmp___20;
13999 }
14000#line 1073
14001 if (ptr) {
14002 {
14003#line 1074
14004 __cil_tmp41 = *((u8 *)tl_hba);
14005#line 1074
14006 __cil_tmp42 = (int )__cil_tmp41;
14007#line 1074
14008 if (__cil_tmp42 != 6) {
14009 {
14010#line 1075
14011 tmp___21 = tcm_loop_dump_proto_id(tl_hba);
14012#line 1075
14013 __cil_tmp43 = 0 * 1UL;
14014#line 1075
14015 __cil_tmp44 = (unsigned long )(i_port) + __cil_tmp43;
14016#line 1075
14017 __cil_tmp45 = (unsigned char *)__cil_tmp44;
14018#line 1075
14019 printk("<3>Passed SAS Initiator Port %s does not match target port protoid: %s\n",
14020 __cil_tmp45, tmp___21);
14021 }
14022#line 1078
14023 return ((ssize_t )-22);
14024 } else {
14025
14026 }
14027 }
14028#line 1080
14029 __cil_tmp46 = 0 * 1UL;
14030#line 1080
14031 __cil_tmp47 = (unsigned long )(i_port) + __cil_tmp46;
14032#line 1080
14033 port_ptr = (unsigned char *)__cil_tmp47;
14034#line 1081
14035 goto check_newline;
14036 } else {
14037
14038 }
14039 {
14040#line 1083
14041 __cil_tmp48 = 0 * 1UL;
14042#line 1083
14043 __cil_tmp49 = (unsigned long )(i_port) + __cil_tmp48;
14044#line 1083
14045 __cil_tmp50 = (unsigned char *)__cil_tmp49;
14046#line 1083
14047 __cil_tmp51 = (char const *)__cil_tmp50;
14048#line 1083
14049 tmp___22 = strstr(__cil_tmp51, "fc.");
14050#line 1083
14051 ptr = (unsigned char *)tmp___22;
14052 }
14053#line 1084
14054 if (ptr) {
14055 {
14056#line 1085
14057 __cil_tmp52 = *((u8 *)tl_hba);
14058#line 1085
14059 __cil_tmp53 = (int )__cil_tmp52;
14060#line 1085
14061 if (__cil_tmp53 != 0) {
14062 {
14063#line 1086
14064 tmp___23 = tcm_loop_dump_proto_id(tl_hba);
14065#line 1086
14066 __cil_tmp54 = 0 * 1UL;
14067#line 1086
14068 __cil_tmp55 = (unsigned long )(i_port) + __cil_tmp54;
14069#line 1086
14070 __cil_tmp56 = (unsigned char *)__cil_tmp55;
14071#line 1086
14072 printk("<3>Passed FCP Initiator Port %s does not match target port protoid: %s\n",
14073 __cil_tmp56, tmp___23);
14074 }
14075#line 1089
14076 return ((ssize_t )-22);
14077 } else {
14078
14079 }
14080 }
14081#line 1091
14082 __cil_tmp57 = 3 * 1UL;
14083#line 1091
14084 __cil_tmp58 = (unsigned long )(i_port) + __cil_tmp57;
14085#line 1091
14086 port_ptr = (unsigned char *)__cil_tmp58;
14087#line 1092
14088 goto check_newline;
14089 } else {
14090
14091 }
14092 {
14093#line 1094
14094 __cil_tmp59 = 0 * 1UL;
14095#line 1094
14096 __cil_tmp60 = (unsigned long )(i_port) + __cil_tmp59;
14097#line 1094
14098 __cil_tmp61 = (unsigned char *)__cil_tmp60;
14099#line 1094
14100 __cil_tmp62 = (char const *)__cil_tmp61;
14101#line 1094
14102 tmp___24 = strstr(__cil_tmp62, "iqn.");
14103#line 1094
14104 ptr = (unsigned char *)tmp___24;
14105 }
14106#line 1095
14107 if (ptr) {
14108 {
14109#line 1096
14110 __cil_tmp63 = *((u8 *)tl_hba);
14111#line 1096
14112 __cil_tmp64 = (int )__cil_tmp63;
14113#line 1096
14114 if (__cil_tmp64 != 5) {
14115 {
14116#line 1097
14117 tmp___25 = tcm_loop_dump_proto_id(tl_hba);
14118#line 1097
14119 __cil_tmp65 = 0 * 1UL;
14120#line 1097
14121 __cil_tmp66 = (unsigned long )(i_port) + __cil_tmp65;
14122#line 1097
14123 __cil_tmp67 = (unsigned char *)__cil_tmp66;
14124#line 1097
14125 printk("<3>Passed iSCSI Initiator Port %s does not match target port protoid: %s\n",
14126 __cil_tmp67, tmp___25);
14127 }
14128#line 1100
14129 return ((ssize_t )-22);
14130 } else {
14131
14132 }
14133 }
14134#line 1102
14135 __cil_tmp68 = 0 * 1UL;
14136#line 1102
14137 __cil_tmp69 = (unsigned long )(i_port) + __cil_tmp68;
14138#line 1102
14139 port_ptr = (unsigned char *)__cil_tmp69;
14140#line 1103
14141 goto check_newline;
14142 } else {
14143
14144 }
14145 {
14146#line 1105
14147 __cil_tmp70 = 0 * 1UL;
14148#line 1105
14149 __cil_tmp71 = (unsigned long )(i_port) + __cil_tmp70;
14150#line 1105
14151 __cil_tmp72 = (unsigned char *)__cil_tmp71;
14152#line 1105
14153 printk("<3>Unable to locate prefix for emulated Initiator Port: %s\n", __cil_tmp72);
14154 }
14155#line 1107
14156 return ((ssize_t )-22);
14157 check_newline:
14158 {
14159#line 1112
14160 __cil_tmp73 = 0 * 1UL;
14161#line 1112
14162 __cil_tmp74 = (unsigned long )(i_port) + __cil_tmp73;
14163#line 1112
14164 __cil_tmp75 = (unsigned char *)__cil_tmp74;
14165#line 1112
14166 __cil_tmp76 = (char const *)__cil_tmp75;
14167#line 1112
14168 tmp___27 = strlen(__cil_tmp76);
14169 }
14170 {
14171#line 1112
14172 __cil_tmp77 = tmp___27 - 1UL;
14173#line 1112
14174 __cil_tmp78 = __cil_tmp77 * 1UL;
14175#line 1112
14176 __cil_tmp79 = (unsigned long )(i_port) + __cil_tmp78;
14177#line 1112
14178 __cil_tmp80 = *((unsigned char *)__cil_tmp79);
14179#line 1112
14180 __cil_tmp81 = (int )__cil_tmp80;
14181#line 1112
14182 if (__cil_tmp81 == 10) {
14183 {
14184#line 1113
14185 __cil_tmp82 = 0 * 1UL;
14186#line 1113
14187 __cil_tmp83 = (unsigned long )(i_port) + __cil_tmp82;
14188#line 1113
14189 __cil_tmp84 = (unsigned char *)__cil_tmp83;
14190#line 1113
14191 __cil_tmp85 = (char const *)__cil_tmp84;
14192#line 1113
14193 tmp___26 = strlen(__cil_tmp85);
14194#line 1113
14195 __cil_tmp86 = tmp___26 - 1UL;
14196#line 1113
14197 __cil_tmp87 = __cil_tmp86 * 1UL;
14198#line 1113
14199 __cil_tmp88 = (unsigned long )(i_port) + __cil_tmp87;
14200#line 1113
14201 *((unsigned char *)__cil_tmp88) = (unsigned char )'\000';
14202 }
14203 } else {
14204
14205 }
14206 }
14207 {
14208#line 1115
14209 __cil_tmp89 = (char const *)port_ptr;
14210#line 1115
14211 ret = tcm_loop_make_nexus(tl_tpg, __cil_tmp89);
14212 }
14213#line 1116
14214 if (ret < 0) {
14215#line 1117
14216 return ((ssize_t )ret);
14217 } else {
14218
14219 }
14220#line 1119
14221 return ((ssize_t )count);
14222}
14223}
14224#line 1122 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14225static struct target_fabric_tpg_attribute tcm_loop_tpg_nexus = {{"nexus", & __this_module, (umode_t )420}, & tcm_loop_tpg_show_nexus, & tcm_loop_tpg_store_nexus};
14226#line 1124 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14227static struct configfs_attribute *tcm_loop_tpg_attrs[2] = { & tcm_loop_tpg_nexus.attr, (struct configfs_attribute *)((void *)0)};
14228#line 1169
14229struct se_portal_group *tcm_loop_make_naa_tpg(struct se_wwn *wwn , struct config_group *group ,
14230 char const *name ) ;
14231#line 1169 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14232static struct _ddebug __attribute__((__aligned__(8))) descriptor___12 __attribute__((__used__,
14233__section__("__verbose"))) = {"tcm_loop", "tcm_loop_make_naa_tpg", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
14234 "TCM_Loop_ConfigFS: Allocated Emulated %s Target Port %s,t,0x%04x\n", 1171U, 0U};
14235#line 1131 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14236struct se_portal_group *tcm_loop_make_naa_tpg(struct se_wwn *wwn , struct config_group *group ,
14237 char const *name )
14238{ struct tcm_loop_hba *tl_hba ;
14239 struct se_wwn const *__mptr ;
14240 struct tcm_loop_tpg *tl_tpg ;
14241 char *tpgt_str ;
14242 char *end_ptr ;
14243 int ret ;
14244 unsigned short tpgt ;
14245 void *tmp___17 ;
14246 unsigned long tmp___18 ;
14247 void *tmp___19 ;
14248 void *tmp___20 ;
14249 char *tmp___21 ;
14250 char *tmp___22 ;
14251 long tmp___23 ;
14252 struct tcm_loop_hba *__cil_tmp18 ;
14253 unsigned long __cil_tmp19 ;
14254 unsigned long __cil_tmp20 ;
14255 struct se_wwn *__cil_tmp21 ;
14256 unsigned int __cil_tmp22 ;
14257 char *__cil_tmp23 ;
14258 char *__cil_tmp24 ;
14259 char const *__cil_tmp25 ;
14260 int __cil_tmp26 ;
14261 int __cil_tmp27 ;
14262 unsigned long __cil_tmp28 ;
14263 unsigned long __cil_tmp29 ;
14264 unsigned long __cil_tmp30 ;
14265 unsigned long __cil_tmp31 ;
14266 unsigned long __cil_tmp32 ;
14267 unsigned long __cil_tmp33 ;
14268 unsigned long __cil_tmp34 ;
14269 unsigned long __cil_tmp35 ;
14270 struct target_core_fabric_ops *__cil_tmp36 ;
14271 unsigned long __cil_tmp37 ;
14272 unsigned long __cil_tmp38 ;
14273 struct se_portal_group *__cil_tmp39 ;
14274 void *__cil_tmp40 ;
14275 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp41 ;
14276 unsigned int __cil_tmp42 ;
14277 unsigned int __cil_tmp43 ;
14278 int __cil_tmp44 ;
14279 int __cil_tmp45 ;
14280 long __cil_tmp46 ;
14281 unsigned long __cil_tmp47 ;
14282 unsigned long __cil_tmp48 ;
14283 struct config_item *__cil_tmp49 ;
14284 int __cil_tmp50 ;
14285 unsigned long __cil_tmp51 ;
14286 unsigned long __cil_tmp52 ;
14287
14288 {
14289 {
14290#line 1136
14291 __mptr = (struct se_wwn const *)wwn;
14292#line 1136
14293 __cil_tmp18 = (struct tcm_loop_hba *)0;
14294#line 1136
14295 __cil_tmp19 = (unsigned long )__cil_tmp18;
14296#line 1136
14297 __cil_tmp20 = __cil_tmp19 + 54072;
14298#line 1136
14299 __cil_tmp21 = (struct se_wwn *)__cil_tmp20;
14300#line 1136
14301 __cil_tmp22 = (unsigned int )__cil_tmp21;
14302#line 1136
14303 __cil_tmp23 = (char *)__mptr;
14304#line 1136
14305 __cil_tmp24 = __cil_tmp23 - __cil_tmp22;
14306#line 1136
14307 tl_hba = (struct tcm_loop_hba *)__cil_tmp24;
14308#line 1143
14309 tpgt_str = strstr(name, "tpgt_");
14310 }
14311#line 1144
14312 if (! tpgt_str) {
14313 {
14314#line 1145
14315 printk("<3>Unable to locate \"tpgt_#\" directory group\n");
14316#line 1147
14317 tmp___17 = (void *)ERR_PTR(-22L);
14318 }
14319#line 1147
14320 return ((struct se_portal_group *)tmp___17);
14321 } else {
14322
14323 }
14324 {
14325#line 1149
14326 tpgt_str = tpgt_str + 5;
14327#line 1150
14328 __cil_tmp25 = (char const *)tpgt_str;
14329#line 1150
14330 tmp___18 = simple_strtoul(__cil_tmp25, & end_ptr, 0U);
14331#line 1150
14332 tpgt = (unsigned short )tmp___18;
14333 }
14334 {
14335#line 1152
14336 __cil_tmp26 = (int )tpgt;
14337#line 1152
14338 if (__cil_tmp26 >= 32) {
14339 {
14340#line 1153
14341 __cil_tmp27 = (int )tpgt;
14342#line 1153
14343 printk("<3>Passed tpgt: %hu exceeds TL_TPGS_PER_HBA: %u\n", __cil_tmp27, 32);
14344#line 1155
14345 tmp___19 = (void *)ERR_PTR(-22L);
14346 }
14347#line 1155
14348 return ((struct se_portal_group *)tmp___19);
14349 } else {
14350
14351 }
14352 }
14353 {
14354#line 1157
14355 __cil_tmp28 = tpgt * 1656UL;
14356#line 1157
14357 __cil_tmp29 = 1080 + __cil_tmp28;
14358#line 1157
14359 __cil_tmp30 = (unsigned long )tl_hba;
14360#line 1157
14361 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
14362#line 1157
14363 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp31;
14364#line 1158
14365 __cil_tmp32 = (unsigned long )tl_tpg;
14366#line 1158
14367 __cil_tmp33 = __cil_tmp32 + 1648;
14368#line 1158
14369 *((struct tcm_loop_hba **)__cil_tmp33) = tl_hba;
14370#line 1159
14371 *((unsigned short *)tl_tpg) = tpgt;
14372#line 1163
14373 __cil_tmp34 = (unsigned long )tcm_loop_fabric_configfs;
14374#line 1163
14375 __cil_tmp35 = __cil_tmp34 + 328;
14376#line 1163
14377 __cil_tmp36 = (struct target_core_fabric_ops *)__cil_tmp35;
14378#line 1163
14379 __cil_tmp37 = (unsigned long )tl_tpg;
14380#line 1163
14381 __cil_tmp38 = __cil_tmp37 + 8;
14382#line 1163
14383 __cil_tmp39 = (struct se_portal_group *)__cil_tmp38;
14384#line 1163
14385 __cil_tmp40 = (void *)tl_tpg;
14386#line 1163
14387 ret = core_tpg_register(__cil_tmp36, wwn, __cil_tmp39, __cil_tmp40, 0);
14388 }
14389#line 1166
14390 if (ret < 0) {
14391 {
14392#line 1167
14393 tmp___20 = (void *)ERR_PTR(-12L);
14394 }
14395#line 1167
14396 return ((struct se_portal_group *)tmp___20);
14397 } else {
14398
14399 }
14400 {
14401#line 1169
14402 while (1) {
14403 while_continue: ;
14404 {
14405#line 1169
14406 __cil_tmp41 = & descriptor___12;
14407#line 1169
14408 __cil_tmp42 = __cil_tmp41->flags;
14409#line 1169
14410 __cil_tmp43 = __cil_tmp42 & 1U;
14411#line 1169
14412 __cil_tmp44 = ! __cil_tmp43;
14413#line 1169
14414 __cil_tmp45 = ! __cil_tmp44;
14415#line 1169
14416 __cil_tmp46 = (long )__cil_tmp45;
14417#line 1169
14418 tmp___23 = __builtin_expect(__cil_tmp46, 0L);
14419 }
14420#line 1169
14421 if (tmp___23) {
14422 {
14423#line 1169
14424 __cil_tmp47 = (unsigned long )wwn;
14425#line 1169
14426 __cil_tmp48 = __cil_tmp47 + 8;
14427#line 1169
14428 __cil_tmp49 = (struct config_item *)__cil_tmp48;
14429#line 1169
14430 tmp___21 = config_item_name(__cil_tmp49);
14431#line 1169
14432 tmp___22 = tcm_loop_dump_proto_id(tl_hba);
14433#line 1169
14434 __cil_tmp50 = (int )tpgt;
14435#line 1169
14436 __dynamic_pr_debug(& descriptor___12, "TCM_Loop_ConfigFS: Allocated Emulated %s Target Port %s,t,0x%04x\n",
14437 tmp___22, tmp___21, __cil_tmp50);
14438 }
14439 } else {
14440
14441 }
14442#line 1169
14443 goto while_break;
14444 }
14445 while_break: ;
14446 }
14447 {
14448#line 1173
14449 __cil_tmp51 = (unsigned long )tl_tpg;
14450#line 1173
14451 __cil_tmp52 = __cil_tmp51 + 8;
14452#line 1173
14453 return ((struct se_portal_group *)__cil_tmp52);
14454 }
14455}
14456}
14457#line 1199
14458void tcm_loop_drop_naa_tpg(struct se_portal_group *se_tpg ) ;
14459#line 1199 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14460static struct _ddebug __attribute__((__aligned__(8))) descriptor___13 __attribute__((__used__,
14461__section__("__verbose"))) = {"tcm_loop", "tcm_loop_drop_naa_tpg", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
14462 "TCM_Loop_ConfigFS: Deallocated Emulated %s Target Port %s,t,0x%04x\n", 1201U,
14463 0U};
14464#line 1176 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14465void tcm_loop_drop_naa_tpg(struct se_portal_group *se_tpg )
14466{ struct se_wwn *wwn ;
14467 struct tcm_loop_tpg *tl_tpg ;
14468 struct se_portal_group const *__mptr ;
14469 struct tcm_loop_hba *tl_hba ;
14470 unsigned short tpgt ;
14471 char *tmp___17 ;
14472 char *tmp___18 ;
14473 long tmp___19 ;
14474 unsigned long __cil_tmp10 ;
14475 unsigned long __cil_tmp11 ;
14476 struct tcm_loop_tpg *__cil_tmp12 ;
14477 unsigned long __cil_tmp13 ;
14478 unsigned long __cil_tmp14 ;
14479 struct se_portal_group *__cil_tmp15 ;
14480 unsigned int __cil_tmp16 ;
14481 char *__cil_tmp17 ;
14482 char *__cil_tmp18 ;
14483 unsigned long __cil_tmp19 ;
14484 unsigned long __cil_tmp20 ;
14485 unsigned long __cil_tmp21 ;
14486 unsigned long __cil_tmp22 ;
14487 void *__cil_tmp23 ;
14488 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp24 ;
14489 unsigned int __cil_tmp25 ;
14490 unsigned int __cil_tmp26 ;
14491 int __cil_tmp27 ;
14492 int __cil_tmp28 ;
14493 long __cil_tmp29 ;
14494 unsigned long __cil_tmp30 ;
14495 unsigned long __cil_tmp31 ;
14496 struct config_item *__cil_tmp32 ;
14497 int __cil_tmp33 ;
14498
14499 {
14500 {
14501#line 1179
14502 __cil_tmp10 = (unsigned long )se_tpg;
14503#line 1179
14504 __cil_tmp11 = __cil_tmp10 + 912;
14505#line 1179
14506 wwn = *((struct se_wwn **)__cil_tmp11);
14507#line 1180
14508 __mptr = (struct se_portal_group const *)se_tpg;
14509#line 1180
14510 __cil_tmp12 = (struct tcm_loop_tpg *)0;
14511#line 1180
14512 __cil_tmp13 = (unsigned long )__cil_tmp12;
14513#line 1180
14514 __cil_tmp14 = __cil_tmp13 + 8;
14515#line 1180
14516 __cil_tmp15 = (struct se_portal_group *)__cil_tmp14;
14517#line 1180
14518 __cil_tmp16 = (unsigned int )__cil_tmp15;
14519#line 1180
14520 __cil_tmp17 = (char *)__mptr;
14521#line 1180
14522 __cil_tmp18 = __cil_tmp17 - __cil_tmp16;
14523#line 1180
14524 tl_tpg = (struct tcm_loop_tpg *)__cil_tmp18;
14525#line 1185
14526 __cil_tmp19 = (unsigned long )tl_tpg;
14527#line 1185
14528 __cil_tmp20 = __cil_tmp19 + 1648;
14529#line 1185
14530 tl_hba = *((struct tcm_loop_hba **)__cil_tmp20);
14531#line 1186
14532 tpgt = *((unsigned short *)tl_tpg);
14533#line 1190
14534 tcm_loop_drop_nexus(tl_tpg);
14535#line 1194
14536 core_tpg_deregister(se_tpg);
14537#line 1196
14538 __cil_tmp21 = (unsigned long )tl_tpg;
14539#line 1196
14540 __cil_tmp22 = __cil_tmp21 + 1648;
14541#line 1196
14542 __cil_tmp23 = (void *)0;
14543#line 1196
14544 *((struct tcm_loop_hba **)__cil_tmp22) = (struct tcm_loop_hba *)__cil_tmp23;
14545#line 1197
14546 *((unsigned short *)tl_tpg) = (unsigned short)0;
14547 }
14548 {
14549#line 1199
14550 while (1) {
14551 while_continue: ;
14552 {
14553#line 1199
14554 __cil_tmp24 = & descriptor___13;
14555#line 1199
14556 __cil_tmp25 = __cil_tmp24->flags;
14557#line 1199
14558 __cil_tmp26 = __cil_tmp25 & 1U;
14559#line 1199
14560 __cil_tmp27 = ! __cil_tmp26;
14561#line 1199
14562 __cil_tmp28 = ! __cil_tmp27;
14563#line 1199
14564 __cil_tmp29 = (long )__cil_tmp28;
14565#line 1199
14566 tmp___19 = __builtin_expect(__cil_tmp29, 0L);
14567 }
14568#line 1199
14569 if (tmp___19) {
14570 {
14571#line 1199
14572 __cil_tmp30 = (unsigned long )wwn;
14573#line 1199
14574 __cil_tmp31 = __cil_tmp30 + 8;
14575#line 1199
14576 __cil_tmp32 = (struct config_item *)__cil_tmp31;
14577#line 1199
14578 tmp___17 = config_item_name(__cil_tmp32);
14579#line 1199
14580 tmp___18 = tcm_loop_dump_proto_id(tl_hba);
14581#line 1199
14582 __cil_tmp33 = (int )tpgt;
14583#line 1199
14584 __dynamic_pr_debug(& descriptor___13, "TCM_Loop_ConfigFS: Deallocated Emulated %s Target Port %s,t,0x%04x\n",
14585 tmp___18, tmp___17, __cil_tmp33);
14586 }
14587 } else {
14588
14589 }
14590#line 1199
14591 goto while_break;
14592 }
14593 while_break: ;
14594 }
14595#line 1202
14596 return;
14597}
14598}
14599#line 1268
14600struct se_wwn *tcm_loop_make_scsi_hba(struct target_fabric_configfs *tf , struct config_group *group ,
14601 char const *name ) ;
14602#line 1268 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14603static struct _ddebug __attribute__((__aligned__(8))) descriptor___14 __attribute__((__used__,
14604__section__("__verbose"))) = {"tcm_loop", "tcm_loop_make_scsi_hba", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
14605 "TCM_Loop_ConfigFS: Allocated emulated Target %s Address: %s at Linux/SCSI Host ID: %d\n",
14606 1270U, 0U};
14607#line 1208 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14608struct se_wwn *tcm_loop_make_scsi_hba(struct target_fabric_configfs *tf , struct config_group *group ,
14609 char const *name )
14610{ struct tcm_loop_hba *tl_hba ;
14611 struct Scsi_Host *sh ;
14612 char *ptr ;
14613 int ret ;
14614 int off ;
14615 void *tmp___17 ;
14616 void *tmp___18 ;
14617 char *tmp___19 ;
14618 unsigned long tmp___20 ;
14619 char *tmp___21 ;
14620 long tmp___22 ;
14621 void *tmp___23 ;
14622 unsigned long __cil_tmp16 ;
14623 unsigned long __cil_tmp17 ;
14624 unsigned long __cil_tmp18 ;
14625 unsigned long __cil_tmp19 ;
14626 unsigned char *__cil_tmp20 ;
14627 char *__cil_tmp21 ;
14628 size_t __cil_tmp22 ;
14629 char const *__cil_tmp23 ;
14630 unsigned long __cil_tmp24 ;
14631 unsigned long __cil_tmp25 ;
14632 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp26 ;
14633 unsigned int __cil_tmp27 ;
14634 unsigned int __cil_tmp28 ;
14635 int __cil_tmp29 ;
14636 int __cil_tmp30 ;
14637 long __cil_tmp31 ;
14638 unsigned long __cil_tmp32 ;
14639 unsigned long __cil_tmp33 ;
14640 unsigned int __cil_tmp34 ;
14641 unsigned long __cil_tmp35 ;
14642 unsigned long __cil_tmp36 ;
14643 void const *__cil_tmp37 ;
14644 long __cil_tmp38 ;
14645
14646 {
14647 {
14648#line 1216
14649 off = 0;
14650#line 1218
14651 tmp___17 = kzalloc(54320UL, 208U);
14652#line 1218
14653 tl_hba = (struct tcm_loop_hba *)tmp___17;
14654 }
14655#line 1219
14656 if (! tl_hba) {
14657 {
14658#line 1220
14659 printk("<3>Unable to allocate struct tcm_loop_hba\n");
14660#line 1221
14661 tmp___18 = (void *)ERR_PTR(-12L);
14662 }
14663#line 1221
14664 return ((struct se_wwn *)tmp___18);
14665 } else {
14666
14667 }
14668 {
14669#line 1227
14670 ptr = strstr(name, "naa.");
14671 }
14672#line 1228
14673 if (ptr) {
14674#line 1229
14675 *((u8 *)tl_hba) = (u8 )6;
14676#line 1230
14677 goto check_len;
14678 } else {
14679
14680 }
14681 {
14682#line 1232
14683 ptr = strstr(name, "fc.");
14684 }
14685#line 1233
14686 if (ptr) {
14687#line 1234
14688 *((u8 *)tl_hba) = (u8 )0;
14689#line 1235
14690 off = 3;
14691#line 1236
14692 goto check_len;
14693 } else {
14694
14695 }
14696 {
14697#line 1238
14698 ptr = strstr(name, "iqn.");
14699 }
14700#line 1239
14701 if (! ptr) {
14702 {
14703#line 1240
14704 printk("<3>Unable to locate prefix for emulated Target Port: %s\n", name);
14705#line 1242
14706 ret = -22;
14707 }
14708#line 1243
14709 goto out;
14710 } else {
14711
14712 }
14713#line 1245
14714 *((u8 *)tl_hba) = (u8 )5;
14715 check_len:
14716 {
14717#line 1248
14718 tmp___20 = strlen(name);
14719 }
14720#line 1248
14721 if (tmp___20 >= 256UL) {
14722 {
14723#line 1249
14724 tmp___19 = tcm_loop_dump_proto_id(tl_hba);
14725#line 1249
14726 printk("<3>Emulated NAA %s Address: %s, exceeds max: %d\n", name, tmp___19, 256);
14727#line 1252
14728 ret = -22;
14729 }
14730#line 1253
14731 goto out;
14732 } else {
14733
14734 }
14735 {
14736#line 1255
14737 __cil_tmp16 = 0 * 1UL;
14738#line 1255
14739 __cil_tmp17 = 1 + __cil_tmp16;
14740#line 1255
14741 __cil_tmp18 = (unsigned long )tl_hba;
14742#line 1255
14743 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
14744#line 1255
14745 __cil_tmp20 = (unsigned char *)__cil_tmp19;
14746#line 1255
14747 __cil_tmp21 = (char *)__cil_tmp20;
14748#line 1255
14749 __cil_tmp22 = (size_t )256;
14750#line 1255
14751 __cil_tmp23 = name + off;
14752#line 1255
14753 snprintf(__cil_tmp21, __cil_tmp22, "%s", __cil_tmp23);
14754#line 1262
14755 ret = tcm_loop_setup_hba_bus(tl_hba, tcm_loop_hba_no_cnt);
14756 }
14757#line 1263
14758 if (ret) {
14759#line 1264
14760 goto out;
14761 } else {
14762
14763 }
14764#line 1266
14765 __cil_tmp24 = (unsigned long )tl_hba;
14766#line 1266
14767 __cil_tmp25 = __cil_tmp24 + 1072;
14768#line 1266
14769 sh = *((struct Scsi_Host **)__cil_tmp25);
14770#line 1267
14771 tcm_loop_hba_no_cnt = tcm_loop_hba_no_cnt + 1;
14772 {
14773#line 1268
14774 while (1) {
14775 while_continue: ;
14776 {
14777#line 1268
14778 __cil_tmp26 = & descriptor___14;
14779#line 1268
14780 __cil_tmp27 = __cil_tmp26->flags;
14781#line 1268
14782 __cil_tmp28 = __cil_tmp27 & 1U;
14783#line 1268
14784 __cil_tmp29 = ! __cil_tmp28;
14785#line 1268
14786 __cil_tmp30 = ! __cil_tmp29;
14787#line 1268
14788 __cil_tmp31 = (long )__cil_tmp30;
14789#line 1268
14790 tmp___22 = __builtin_expect(__cil_tmp31, 0L);
14791 }
14792#line 1268
14793 if (tmp___22) {
14794 {
14795#line 1268
14796 tmp___21 = tcm_loop_dump_proto_id(tl_hba);
14797#line 1268
14798 __cil_tmp32 = (unsigned long )sh;
14799#line 1268
14800 __cil_tmp33 = __cil_tmp32 + 308;
14801#line 1268
14802 __cil_tmp34 = *((unsigned int *)__cil_tmp33);
14803#line 1268
14804 __dynamic_pr_debug(& descriptor___14, "TCM_Loop_ConfigFS: Allocated emulated Target %s Address: %s at Linux/SCSI Host ID: %d\n",
14805 tmp___21, name, __cil_tmp34);
14806 }
14807 } else {
14808
14809 }
14810#line 1268
14811 goto while_break;
14812 }
14813 while_break: ;
14814 }
14815 {
14816#line 1272
14817 __cil_tmp35 = (unsigned long )tl_hba;
14818#line 1272
14819 __cil_tmp36 = __cil_tmp35 + 54072;
14820#line 1272
14821 return ((struct se_wwn *)__cil_tmp36);
14822 }
14823 out:
14824 {
14825#line 1274
14826 __cil_tmp37 = (void const *)tl_hba;
14827#line 1274
14828 kfree(__cil_tmp37);
14829#line 1275
14830 __cil_tmp38 = (long )ret;
14831#line 1275
14832 tmp___23 = (void *)ERR_PTR(__cil_tmp38);
14833 }
14834#line 1275
14835 return ((struct se_wwn *)tmp___23);
14836}
14837}
14838#line 1284
14839void tcm_loop_drop_scsi_hba(struct se_wwn *wwn ) ;
14840#line 1284 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14841static struct _ddebug __attribute__((__aligned__(8))) descriptor___15 __attribute__((__used__,
14842__section__("__verbose"))) = {"tcm_loop", "tcm_loop_drop_scsi_hba", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
14843 "TCM_Loop_ConfigFS: Deallocating emulated Target SAS Address: %s at Linux/SCSI Host ID: %d\n",
14844 1286U, 0U};
14845#line 1278 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14846void tcm_loop_drop_scsi_hba(struct se_wwn *wwn )
14847{ struct tcm_loop_hba *tl_hba ;
14848 struct se_wwn const *__mptr ;
14849 long tmp___17 ;
14850 struct tcm_loop_hba *__cil_tmp5 ;
14851 unsigned long __cil_tmp6 ;
14852 unsigned long __cil_tmp7 ;
14853 struct se_wwn *__cil_tmp8 ;
14854 unsigned int __cil_tmp9 ;
14855 char *__cil_tmp10 ;
14856 char *__cil_tmp11 ;
14857 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp12 ;
14858 unsigned int __cil_tmp13 ;
14859 unsigned int __cil_tmp14 ;
14860 int __cil_tmp15 ;
14861 int __cil_tmp16 ;
14862 long __cil_tmp17 ;
14863 unsigned long __cil_tmp18 ;
14864 unsigned long __cil_tmp19 ;
14865 unsigned long __cil_tmp20 ;
14866 unsigned long __cil_tmp21 ;
14867 unsigned char *__cil_tmp22 ;
14868 unsigned long __cil_tmp23 ;
14869 unsigned long __cil_tmp24 ;
14870 struct Scsi_Host *__cil_tmp25 ;
14871 unsigned long __cil_tmp26 ;
14872 unsigned long __cil_tmp27 ;
14873 unsigned int __cil_tmp28 ;
14874 unsigned long __cil_tmp29 ;
14875 unsigned long __cil_tmp30 ;
14876 struct device *__cil_tmp31 ;
14877
14878 {
14879#line 1281
14880 __mptr = (struct se_wwn const *)wwn;
14881#line 1281
14882 __cil_tmp5 = (struct tcm_loop_hba *)0;
14883#line 1281
14884 __cil_tmp6 = (unsigned long )__cil_tmp5;
14885#line 1281
14886 __cil_tmp7 = __cil_tmp6 + 54072;
14887#line 1281
14888 __cil_tmp8 = (struct se_wwn *)__cil_tmp7;
14889#line 1281
14890 __cil_tmp9 = (unsigned int )__cil_tmp8;
14891#line 1281
14892 __cil_tmp10 = (char *)__mptr;
14893#line 1281
14894 __cil_tmp11 = __cil_tmp10 - __cil_tmp9;
14895#line 1281
14896 tl_hba = (struct tcm_loop_hba *)__cil_tmp11;
14897 {
14898#line 1284
14899 while (1) {
14900 while_continue: ;
14901 {
14902#line 1284
14903 __cil_tmp12 = & descriptor___15;
14904#line 1284
14905 __cil_tmp13 = __cil_tmp12->flags;
14906#line 1284
14907 __cil_tmp14 = __cil_tmp13 & 1U;
14908#line 1284
14909 __cil_tmp15 = ! __cil_tmp14;
14910#line 1284
14911 __cil_tmp16 = ! __cil_tmp15;
14912#line 1284
14913 __cil_tmp17 = (long )__cil_tmp16;
14914#line 1284
14915 tmp___17 = __builtin_expect(__cil_tmp17, 0L);
14916 }
14917#line 1284
14918 if (tmp___17) {
14919 {
14920#line 1284
14921 __cil_tmp18 = 0 * 1UL;
14922#line 1284
14923 __cil_tmp19 = 1 + __cil_tmp18;
14924#line 1284
14925 __cil_tmp20 = (unsigned long )tl_hba;
14926#line 1284
14927 __cil_tmp21 = __cil_tmp20 + __cil_tmp19;
14928#line 1284
14929 __cil_tmp22 = (unsigned char *)__cil_tmp21;
14930#line 1284
14931 __cil_tmp23 = (unsigned long )tl_hba;
14932#line 1284
14933 __cil_tmp24 = __cil_tmp23 + 1072;
14934#line 1284
14935 __cil_tmp25 = *((struct Scsi_Host **)__cil_tmp24);
14936#line 1284
14937 __cil_tmp26 = (unsigned long )__cil_tmp25;
14938#line 1284
14939 __cil_tmp27 = __cil_tmp26 + 308;
14940#line 1284
14941 __cil_tmp28 = *((unsigned int *)__cil_tmp27);
14942#line 1284
14943 __dynamic_pr_debug(& descriptor___15, "TCM_Loop_ConfigFS: Deallocating emulated Target SAS Address: %s at Linux/SCSI Host ID: %d\n",
14944 __cil_tmp22, __cil_tmp28);
14945 }
14946 } else {
14947
14948 }
14949#line 1284
14950 goto while_break;
14951 }
14952 while_break: ;
14953 }
14954 {
14955#line 1292
14956 __cil_tmp29 = (unsigned long )tl_hba;
14957#line 1292
14958 __cil_tmp30 = __cil_tmp29 + 304;
14959#line 1292
14960 __cil_tmp31 = (struct device *)__cil_tmp30;
14961#line 1292
14962 device_unregister(__cil_tmp31);
14963 }
14964#line 1293
14965 return;
14966}
14967}
14968#line 1296 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14969static ssize_t tcm_loop_wwn_show_attr_version(struct target_fabric_configfs *tf ,
14970 char *page )
14971{ int tmp___17 ;
14972
14973 {
14974 {
14975#line 1300
14976 tmp___17 = sprintf(page, "TCM Loopback Fabric module %s\n", "v2.1-rc2");
14977 }
14978#line 1300
14979 return ((ssize_t )tmp___17);
14980}
14981}
14982#line 1303 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14983static struct target_fabric_wwn_attribute tcm_loop_wwn_version = {{"version", & __this_module, (umode_t )292}, & tcm_loop_wwn_show_attr_version,
14984 (ssize_t (*)(struct target_fabric_configfs * , char const * , size_t ))0};
14985#line 1305 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14986static struct configfs_attribute *tcm_loop_wwn_attrs[2] = { & tcm_loop_wwn_version.attr, (struct configfs_attribute *)((void *)0)};
14987#line 1419
14988static int tcm_loop_register_configfs(void) ;
14989#line 1419 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14990static struct _ddebug __attribute__((__aligned__(8))) descriptor___16 __attribute__((__used__,
14991__section__("__verbose"))) = {"tcm_loop", "tcm_loop_register_configfs", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
14992 "TCM_LOOP[0] - Set fabric -> tcm_loop_fabric_configfs\n", 1420U, 0U};
14993#line 1312 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
14994static int tcm_loop_register_configfs(void)
14995{ struct target_fabric_configfs *fabric ;
14996 int ret ;
14997 long tmp___17 ;
14998 long tmp___18 ;
14999 long tmp___19 ;
15000 void const *__cil_tmp6 ;
15001 void const *__cil_tmp7 ;
15002 unsigned long __cil_tmp8 ;
15003 unsigned long __cil_tmp9 ;
15004 unsigned long __cil_tmp10 ;
15005 unsigned long __cil_tmp11 ;
15006 unsigned long __cil_tmp12 ;
15007 unsigned long __cil_tmp13 ;
15008 unsigned long __cil_tmp14 ;
15009 unsigned long __cil_tmp15 ;
15010 unsigned long __cil_tmp16 ;
15011 unsigned long __cil_tmp17 ;
15012 unsigned long __cil_tmp18 ;
15013 unsigned long __cil_tmp19 ;
15014 unsigned long __cil_tmp20 ;
15015 unsigned long __cil_tmp21 ;
15016 unsigned long __cil_tmp22 ;
15017 unsigned long __cil_tmp23 ;
15018 unsigned long __cil_tmp24 ;
15019 unsigned long __cil_tmp25 ;
15020 unsigned long __cil_tmp26 ;
15021 unsigned long __cil_tmp27 ;
15022 unsigned long __cil_tmp28 ;
15023 unsigned long __cil_tmp29 ;
15024 unsigned long __cil_tmp30 ;
15025 unsigned long __cil_tmp31 ;
15026 unsigned long __cil_tmp32 ;
15027 unsigned long __cil_tmp33 ;
15028 unsigned long __cil_tmp34 ;
15029 unsigned long __cil_tmp35 ;
15030 unsigned long __cil_tmp36 ;
15031 unsigned long __cil_tmp37 ;
15032 unsigned long __cil_tmp38 ;
15033 unsigned long __cil_tmp39 ;
15034 unsigned long __cil_tmp40 ;
15035 unsigned long __cil_tmp41 ;
15036 unsigned long __cil_tmp42 ;
15037 unsigned long __cil_tmp43 ;
15038 unsigned long __cil_tmp44 ;
15039 unsigned long __cil_tmp45 ;
15040 unsigned long __cil_tmp46 ;
15041 unsigned long __cil_tmp47 ;
15042 unsigned long __cil_tmp48 ;
15043 unsigned long __cil_tmp49 ;
15044 unsigned long __cil_tmp50 ;
15045 unsigned long __cil_tmp51 ;
15046 unsigned long __cil_tmp52 ;
15047 unsigned long __cil_tmp53 ;
15048 unsigned long __cil_tmp54 ;
15049 unsigned long __cil_tmp55 ;
15050 unsigned long __cil_tmp56 ;
15051 unsigned long __cil_tmp57 ;
15052 unsigned long __cil_tmp58 ;
15053 unsigned long __cil_tmp59 ;
15054 unsigned long __cil_tmp60 ;
15055 unsigned long __cil_tmp61 ;
15056 unsigned long __cil_tmp62 ;
15057 unsigned long __cil_tmp63 ;
15058 unsigned long __cil_tmp64 ;
15059 unsigned long __cil_tmp65 ;
15060 unsigned long __cil_tmp66 ;
15061 unsigned long __cil_tmp67 ;
15062 unsigned long __cil_tmp68 ;
15063 unsigned long __cil_tmp69 ;
15064 unsigned long __cil_tmp70 ;
15065 void *__cil_tmp71 ;
15066 unsigned long __cil_tmp72 ;
15067 unsigned long __cil_tmp73 ;
15068 unsigned long __cil_tmp74 ;
15069 unsigned long __cil_tmp75 ;
15070 unsigned long __cil_tmp76 ;
15071 unsigned long __cil_tmp77 ;
15072 unsigned long __cil_tmp78 ;
15073 unsigned long __cil_tmp79 ;
15074 unsigned long __cil_tmp80 ;
15075 unsigned long __cil_tmp81 ;
15076 unsigned long __cil_tmp82 ;
15077 unsigned long __cil_tmp83 ;
15078 unsigned long __cil_tmp84 ;
15079 unsigned long __cil_tmp85 ;
15080 unsigned long __cil_tmp86 ;
15081 unsigned long __cil_tmp87 ;
15082 unsigned long __cil_tmp88 ;
15083 unsigned long __cil_tmp89 ;
15084 unsigned long __cil_tmp90 ;
15085 unsigned long __cil_tmp91 ;
15086 unsigned long __cil_tmp92 ;
15087 unsigned long __cil_tmp93 ;
15088 unsigned long __cil_tmp94 ;
15089 unsigned long __cil_tmp95 ;
15090 unsigned long __cil_tmp96 ;
15091 unsigned long __cil_tmp97 ;
15092 unsigned long __cil_tmp98 ;
15093 unsigned long __cil_tmp99 ;
15094 unsigned long __cil_tmp100 ;
15095 unsigned long __cil_tmp101 ;
15096 unsigned long __cil_tmp102 ;
15097 unsigned long __cil_tmp103 ;
15098 unsigned long __cil_tmp104 ;
15099 unsigned long __cil_tmp105 ;
15100 unsigned long __cil_tmp106 ;
15101 unsigned long __cil_tmp107 ;
15102 unsigned long __cil_tmp108 ;
15103 unsigned long __cil_tmp109 ;
15104 unsigned long __cil_tmp110 ;
15105 unsigned long __cil_tmp111 ;
15106 unsigned long __cil_tmp112 ;
15107 unsigned long __cil_tmp113 ;
15108 unsigned long __cil_tmp114 ;
15109 unsigned long __cil_tmp115 ;
15110 unsigned long __cil_tmp116 ;
15111 unsigned long __cil_tmp117 ;
15112 unsigned long __cil_tmp118 ;
15113 unsigned long __cil_tmp119 ;
15114 unsigned long __cil_tmp120 ;
15115 unsigned long __cil_tmp121 ;
15116 unsigned long __cil_tmp122 ;
15117 void *__cil_tmp123 ;
15118 unsigned long __cil_tmp124 ;
15119 unsigned long __cil_tmp125 ;
15120 unsigned long __cil_tmp126 ;
15121 void *__cil_tmp127 ;
15122 unsigned long __cil_tmp128 ;
15123 unsigned long __cil_tmp129 ;
15124 unsigned long __cil_tmp130 ;
15125 unsigned long __cil_tmp131 ;
15126 unsigned long __cil_tmp132 ;
15127 unsigned long __cil_tmp133 ;
15128 unsigned long __cil_tmp134 ;
15129 unsigned long __cil_tmp135 ;
15130 unsigned long __cil_tmp136 ;
15131 unsigned long __cil_tmp137 ;
15132 unsigned long __cil_tmp138 ;
15133 unsigned long __cil_tmp139 ;
15134 unsigned long __cil_tmp140 ;
15135 unsigned long __cil_tmp141 ;
15136 unsigned long __cil_tmp142 ;
15137 unsigned long __cil_tmp143 ;
15138 void *__cil_tmp144 ;
15139 unsigned long __cil_tmp145 ;
15140 unsigned long __cil_tmp146 ;
15141 unsigned long __cil_tmp147 ;
15142 unsigned long __cil_tmp148 ;
15143 void *__cil_tmp149 ;
15144 unsigned long __cil_tmp150 ;
15145 unsigned long __cil_tmp151 ;
15146 unsigned long __cil_tmp152 ;
15147 unsigned long __cil_tmp153 ;
15148 void *__cil_tmp154 ;
15149 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp155 ;
15150 unsigned int __cil_tmp156 ;
15151 unsigned int __cil_tmp157 ;
15152 int __cil_tmp158 ;
15153 int __cil_tmp159 ;
15154 long __cil_tmp160 ;
15155
15156 {
15157 {
15158#line 1319
15159 tcm_loop_hba_no_cnt = 0;
15160#line 1323
15161 fabric = target_fabric_configfs_init(& __this_module, "loopback");
15162#line 1324
15163 __cil_tmp6 = (void const *)fabric;
15164#line 1324
15165 tmp___18 = (long )IS_ERR(__cil_tmp6);
15166 }
15167#line 1324
15168 if (tmp___18) {
15169 {
15170#line 1325
15171 printk("<3>tcm_loop_register_configfs() failed!\n");
15172#line 1326
15173 __cil_tmp7 = (void const *)fabric;
15174#line 1326
15175 tmp___17 = (long )PTR_ERR(__cil_tmp7);
15176 }
15177#line 1326
15178 return ((int )tmp___17);
15179 } else {
15180
15181 }
15182 {
15183#line 1331
15184 __cil_tmp8 = 328 + 16;
15185#line 1331
15186 __cil_tmp9 = (unsigned long )fabric;
15187#line 1331
15188 __cil_tmp10 = __cil_tmp9 + __cil_tmp8;
15189#line 1331
15190 *((char *(**)(void))__cil_tmp10) = & tcm_loop_get_fabric_name;
15191#line 1332
15192 __cil_tmp11 = 328 + 24;
15193#line 1332
15194 __cil_tmp12 = (unsigned long )fabric;
15195#line 1332
15196 __cil_tmp13 = __cil_tmp12 + __cil_tmp11;
15197#line 1332
15198 *((u8 (**)(struct se_portal_group * ))__cil_tmp13) = & tcm_loop_get_fabric_proto_ident;
15199#line 1333
15200 __cil_tmp14 = 328 + 32;
15201#line 1333
15202 __cil_tmp15 = (unsigned long )fabric;
15203#line 1333
15204 __cil_tmp16 = __cil_tmp15 + __cil_tmp14;
15205#line 1333
15206 *((char *(**)(struct se_portal_group * ))__cil_tmp16) = & tcm_loop_get_endpoint_wwn;
15207#line 1334
15208 __cil_tmp17 = 328 + 40;
15209#line 1334
15210 __cil_tmp18 = (unsigned long )fabric;
15211#line 1334
15212 __cil_tmp19 = __cil_tmp18 + __cil_tmp17;
15213#line 1334
15214 *((u16 (**)(struct se_portal_group * ))__cil_tmp19) = & tcm_loop_get_tag;
15215#line 1335
15216 __cil_tmp20 = 328 + 48;
15217#line 1335
15218 __cil_tmp21 = (unsigned long )fabric;
15219#line 1335
15220 __cil_tmp22 = __cil_tmp21 + __cil_tmp20;
15221#line 1335
15222 *((u32 (**)(struct se_portal_group * ))__cil_tmp22) = & tcm_loop_get_default_depth;
15223#line 1336
15224 __cil_tmp23 = 328 + 56;
15225#line 1336
15226 __cil_tmp24 = (unsigned long )fabric;
15227#line 1336
15228 __cil_tmp25 = __cil_tmp24 + __cil_tmp23;
15229#line 1336
15230 *((u32 (**)(struct se_portal_group * , struct se_node_acl * , struct t10_pr_registration * ,
15231 int * , unsigned char * ))__cil_tmp25) = & tcm_loop_get_pr_transport_id;
15232#line 1337
15233 __cil_tmp26 = 328 + 64;
15234#line 1337
15235 __cil_tmp27 = (unsigned long )fabric;
15236#line 1337
15237 __cil_tmp28 = __cil_tmp27 + __cil_tmp26;
15238#line 1337
15239 *((u32 (**)(struct se_portal_group * , struct se_node_acl * , struct t10_pr_registration * ,
15240 int * ))__cil_tmp28) = & tcm_loop_get_pr_transport_id_len;
15241#line 1339
15242 __cil_tmp29 = 328 + 72;
15243#line 1339
15244 __cil_tmp30 = (unsigned long )fabric;
15245#line 1339
15246 __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
15247#line 1339
15248 *((char *(**)(struct se_portal_group * , char const * , u32 * , char ** ))__cil_tmp31) = & tcm_loop_parse_pr_out_transport_id;
15249#line 1341
15250 __cil_tmp32 = 328 + 80;
15251#line 1341
15252 __cil_tmp33 = (unsigned long )fabric;
15253#line 1341
15254 __cil_tmp34 = __cil_tmp33 + __cil_tmp32;
15255#line 1341
15256 *((int (**)(struct se_portal_group * ))__cil_tmp34) = & tcm_loop_check_demo_mode;
15257#line 1342
15258 __cil_tmp35 = 328 + 88;
15259#line 1342
15260 __cil_tmp36 = (unsigned long )fabric;
15261#line 1342
15262 __cil_tmp37 = __cil_tmp36 + __cil_tmp35;
15263#line 1342
15264 *((int (**)(struct se_portal_group * ))__cil_tmp37) = & tcm_loop_check_demo_mode_cache;
15265#line 1344
15266 __cil_tmp38 = 328 + 96;
15267#line 1344
15268 __cil_tmp39 = (unsigned long )fabric;
15269#line 1344
15270 __cil_tmp40 = __cil_tmp39 + __cil_tmp38;
15271#line 1344
15272 *((int (**)(struct se_portal_group * ))__cil_tmp40) = & tcm_loop_check_demo_mode_write_protect;
15273#line 1346
15274 __cil_tmp41 = 328 + 104;
15275#line 1346
15276 __cil_tmp42 = (unsigned long )fabric;
15277#line 1346
15278 __cil_tmp43 = __cil_tmp42 + __cil_tmp41;
15279#line 1346
15280 *((int (**)(struct se_portal_group * ))__cil_tmp43) = & tcm_loop_check_prod_mode_write_protect;
15281#line 1353
15282 __cil_tmp44 = 328 + 120;
15283#line 1353
15284 __cil_tmp45 = (unsigned long )fabric;
15285#line 1353
15286 __cil_tmp46 = __cil_tmp45 + __cil_tmp44;
15287#line 1353
15288 *((struct se_node_acl *(**)(struct se_portal_group * ))__cil_tmp46) = & tcm_loop_tpg_alloc_fabric_acl;
15289#line 1354
15290 __cil_tmp47 = 328 + 128;
15291#line 1354
15292 __cil_tmp48 = (unsigned long )fabric;
15293#line 1354
15294 __cil_tmp49 = __cil_tmp48 + __cil_tmp47;
15295#line 1354
15296 *((void (**)(struct se_portal_group * , struct se_node_acl * ))__cil_tmp49) = & tcm_loop_tpg_release_fabric_acl;
15297#line 1356
15298 __cil_tmp50 = 328 + 136;
15299#line 1356
15300 __cil_tmp51 = (unsigned long )fabric;
15301#line 1356
15302 __cil_tmp52 = __cil_tmp51 + __cil_tmp50;
15303#line 1356
15304 *((u32 (**)(struct se_portal_group * ))__cil_tmp52) = & tcm_loop_get_inst_index;
15305#line 1360
15306 __cil_tmp53 = 328 + 152;
15307#line 1360
15308 __cil_tmp54 = (unsigned long )fabric;
15309#line 1360
15310 __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
15311#line 1360
15312 *((int (**)(struct se_cmd * ))__cil_tmp55) = & tcm_loop_check_stop_free;
15313#line 1361
15314 __cil_tmp56 = 328 + 160;
15315#line 1361
15316 __cil_tmp57 = (unsigned long )fabric;
15317#line 1361
15318 __cil_tmp58 = __cil_tmp57 + __cil_tmp56;
15319#line 1361
15320 *((void (**)(struct se_cmd * ))__cil_tmp58) = & tcm_loop_release_cmd;
15321#line 1362
15322 __cil_tmp59 = 328 + 168;
15323#line 1362
15324 __cil_tmp60 = (unsigned long )fabric;
15325#line 1362
15326 __cil_tmp61 = __cil_tmp60 + __cil_tmp59;
15327#line 1362
15328 *((int (**)(struct se_session * ))__cil_tmp61) = & tcm_loop_shutdown_session;
15329#line 1363
15330 __cil_tmp62 = 328 + 176;
15331#line 1363
15332 __cil_tmp63 = (unsigned long )fabric;
15333#line 1363
15334 __cil_tmp64 = __cil_tmp63 + __cil_tmp62;
15335#line 1363
15336 *((void (**)(struct se_session * ))__cil_tmp64) = & tcm_loop_close_session;
15337#line 1364
15338 __cil_tmp65 = 328 + 184;
15339#line 1364
15340 __cil_tmp66 = (unsigned long )fabric;
15341#line 1364
15342 __cil_tmp67 = __cil_tmp66 + __cil_tmp65;
15343#line 1364
15344 *((u32 (**)(struct se_session * ))__cil_tmp67) = & tcm_loop_sess_get_index;
15345#line 1365
15346 __cil_tmp68 = 328 + 192;
15347#line 1365
15348 __cil_tmp69 = (unsigned long )fabric;
15349#line 1365
15350 __cil_tmp70 = __cil_tmp69 + __cil_tmp68;
15351#line 1365
15352 __cil_tmp71 = (void *)0;
15353#line 1365
15354 *((u32 (**)(struct se_session * , unsigned char * , u32 ))__cil_tmp70) = (u32 (*)(struct se_session * ,
15355 unsigned char * ,
15356 u32 ))__cil_tmp71;
15357#line 1366
15358 __cil_tmp72 = 328 + 200;
15359#line 1366
15360 __cil_tmp73 = (unsigned long )fabric;
15361#line 1366
15362 __cil_tmp74 = __cil_tmp73 + __cil_tmp72;
15363#line 1366
15364 *((int (**)(struct se_cmd * ))__cil_tmp74) = & tcm_loop_write_pending;
15365#line 1367
15366 __cil_tmp75 = 328 + 208;
15367#line 1367
15368 __cil_tmp76 = (unsigned long )fabric;
15369#line 1367
15370 __cil_tmp77 = __cil_tmp76 + __cil_tmp75;
15371#line 1367
15372 *((int (**)(struct se_cmd * ))__cil_tmp77) = & tcm_loop_write_pending_status;
15373#line 1371
15374 __cil_tmp78 = 328 + 216;
15375#line 1371
15376 __cil_tmp79 = (unsigned long )fabric;
15377#line 1371
15378 __cil_tmp80 = __cil_tmp79 + __cil_tmp78;
15379#line 1371
15380 *((void (**)(struct se_node_acl * ))__cil_tmp80) = & tcm_loop_set_default_node_attributes;
15381#line 1373
15382 __cil_tmp81 = 328 + 224;
15383#line 1373
15384 __cil_tmp82 = (unsigned long )fabric;
15385#line 1373
15386 __cil_tmp83 = __cil_tmp82 + __cil_tmp81;
15387#line 1373
15388 *((u32 (**)(struct se_cmd * ))__cil_tmp83) = & tcm_loop_get_task_tag;
15389#line 1374
15390 __cil_tmp84 = 328 + 232;
15391#line 1374
15392 __cil_tmp85 = (unsigned long )fabric;
15393#line 1374
15394 __cil_tmp86 = __cil_tmp85 + __cil_tmp84;
15395#line 1374
15396 *((int (**)(struct se_cmd * ))__cil_tmp86) = & tcm_loop_get_cmd_state;
15397#line 1375
15398 __cil_tmp87 = 328 + 240;
15399#line 1375
15400 __cil_tmp88 = (unsigned long )fabric;
15401#line 1375
15402 __cil_tmp89 = __cil_tmp88 + __cil_tmp87;
15403#line 1375
15404 *((int (**)(struct se_cmd * ))__cil_tmp89) = & tcm_loop_queue_data_in;
15405#line 1376
15406 __cil_tmp90 = 328 + 248;
15407#line 1376
15408 __cil_tmp91 = (unsigned long )fabric;
15409#line 1376
15410 __cil_tmp92 = __cil_tmp91 + __cil_tmp90;
15411#line 1376
15412 *((int (**)(struct se_cmd * ))__cil_tmp92) = & tcm_loop_queue_status;
15413#line 1377
15414 __cil_tmp93 = 328 + 256;
15415#line 1377
15416 __cil_tmp94 = (unsigned long )fabric;
15417#line 1377
15418 __cil_tmp95 = __cil_tmp94 + __cil_tmp93;
15419#line 1377
15420 *((int (**)(struct se_cmd * ))__cil_tmp95) = & tcm_loop_queue_tm_rsp;
15421#line 1378
15422 __cil_tmp96 = 328 + 264;
15423#line 1378
15424 __cil_tmp97 = (unsigned long )fabric;
15425#line 1378
15426 __cil_tmp98 = __cil_tmp97 + __cil_tmp96;
15427#line 1378
15428 *((u16 (**)(struct se_cmd * , u32 ))__cil_tmp98) = & tcm_loop_set_fabric_sense_len;
15429#line 1379
15430 __cil_tmp99 = 328 + 272;
15431#line 1379
15432 __cil_tmp100 = (unsigned long )fabric;
15433#line 1379
15434 __cil_tmp101 = __cil_tmp100 + __cil_tmp99;
15435#line 1379
15436 *((u16 (**)(void))__cil_tmp101) = & tcm_loop_get_fabric_sense_len;
15437#line 1384
15438 __cil_tmp102 = 328 + 280;
15439#line 1384
15440 __cil_tmp103 = (unsigned long )fabric;
15441#line 1384
15442 __cil_tmp104 = __cil_tmp103 + __cil_tmp102;
15443#line 1384
15444 *((struct se_wwn *(**)(struct target_fabric_configfs * , struct config_group * ,
15445 char const * ))__cil_tmp104) = & tcm_loop_make_scsi_hba;
15446#line 1385
15447 __cil_tmp105 = 328 + 288;
15448#line 1385
15449 __cil_tmp106 = (unsigned long )fabric;
15450#line 1385
15451 __cil_tmp107 = __cil_tmp106 + __cil_tmp105;
15452#line 1385
15453 *((void (**)(struct se_wwn * ))__cil_tmp107) = & tcm_loop_drop_scsi_hba;
15454#line 1386
15455 __cil_tmp108 = 328 + 296;
15456#line 1386
15457 __cil_tmp109 = (unsigned long )fabric;
15458#line 1386
15459 __cil_tmp110 = __cil_tmp109 + __cil_tmp108;
15460#line 1386
15461 *((struct se_portal_group *(**)(struct se_wwn * , struct config_group * , char const * ))__cil_tmp110) = & tcm_loop_make_naa_tpg;
15462#line 1387
15463 __cil_tmp111 = 328 + 304;
15464#line 1387
15465 __cil_tmp112 = (unsigned long )fabric;
15466#line 1387
15467 __cil_tmp113 = __cil_tmp112 + __cil_tmp111;
15468#line 1387
15469 *((void (**)(struct se_portal_group * ))__cil_tmp113) = & tcm_loop_drop_naa_tpg;
15470#line 1392
15471 __cil_tmp114 = 328 + 312;
15472#line 1392
15473 __cil_tmp115 = (unsigned long )fabric;
15474#line 1392
15475 __cil_tmp116 = __cil_tmp115 + __cil_tmp114;
15476#line 1392
15477 *((int (**)(struct se_portal_group * , struct se_lun * ))__cil_tmp116) = & tcm_loop_port_link;
15478#line 1393
15479 __cil_tmp117 = 328 + 320;
15480#line 1393
15481 __cil_tmp118 = (unsigned long )fabric;
15482#line 1393
15483 __cil_tmp119 = __cil_tmp118 + __cil_tmp117;
15484#line 1393
15485 *((void (**)(struct se_portal_group * , struct se_lun * ))__cil_tmp119) = & tcm_loop_port_unlink;
15486#line 1394
15487 __cil_tmp120 = 328 + 328;
15488#line 1394
15489 __cil_tmp121 = (unsigned long )fabric;
15490#line 1394
15491 __cil_tmp122 = __cil_tmp121 + __cil_tmp120;
15492#line 1394
15493 __cil_tmp123 = (void *)0;
15494#line 1394
15495 *((struct se_tpg_np *(**)(struct se_portal_group * , struct config_group * , char const * ))__cil_tmp122) = (struct se_tpg_np *(*)(struct se_portal_group * ,
15496 struct config_group * ,
15497 char const * ))__cil_tmp123;
15498#line 1395
15499 __cil_tmp124 = 328 + 336;
15500#line 1395
15501 __cil_tmp125 = (unsigned long )fabric;
15502#line 1395
15503 __cil_tmp126 = __cil_tmp125 + __cil_tmp124;
15504#line 1395
15505 __cil_tmp127 = (void *)0;
15506#line 1395
15507 *((void (**)(struct se_tpg_np * ))__cil_tmp126) = (void (*)(struct se_tpg_np * ))__cil_tmp127;
15508#line 1399
15509 __cil_tmp128 = 32 + 24;
15510#line 1399
15511 __cil_tmp129 = 688 + __cil_tmp128;
15512#line 1399
15513 __cil_tmp130 = (unsigned long )fabric;
15514#line 1399
15515 __cil_tmp131 = __cil_tmp130 + __cil_tmp129;
15516#line 1399
15517 __cil_tmp132 = 0 * 8UL;
15518#line 1399
15519 __cil_tmp133 = (unsigned long )(tcm_loop_wwn_attrs) + __cil_tmp132;
15520#line 1399
15521 *((struct configfs_attribute ***)__cil_tmp131) = (struct configfs_attribute **)__cil_tmp133;
15522#line 1400
15523 __cil_tmp134 = 128 + 24;
15524#line 1400
15525 __cil_tmp135 = 688 + __cil_tmp134;
15526#line 1400
15527 __cil_tmp136 = (unsigned long )fabric;
15528#line 1400
15529 __cil_tmp137 = __cil_tmp136 + __cil_tmp135;
15530#line 1400
15531 __cil_tmp138 = 0 * 8UL;
15532#line 1400
15533 __cil_tmp139 = (unsigned long )(tcm_loop_tpg_attrs) + __cil_tmp138;
15534#line 1400
15535 *((struct configfs_attribute ***)__cil_tmp137) = (struct configfs_attribute **)__cil_tmp139;
15536#line 1401
15537 __cil_tmp140 = 320 + 24;
15538#line 1401
15539 __cil_tmp141 = 688 + __cil_tmp140;
15540#line 1401
15541 __cil_tmp142 = (unsigned long )fabric;
15542#line 1401
15543 __cil_tmp143 = __cil_tmp142 + __cil_tmp141;
15544#line 1401
15545 __cil_tmp144 = (void *)0;
15546#line 1401
15547 *((struct configfs_attribute ***)__cil_tmp143) = (struct configfs_attribute **)__cil_tmp144;
15548#line 1402
15549 __cil_tmp145 = 352 + 24;
15550#line 1402
15551 __cil_tmp146 = 688 + __cil_tmp145;
15552#line 1402
15553 __cil_tmp147 = (unsigned long )fabric;
15554#line 1402
15555 __cil_tmp148 = __cil_tmp147 + __cil_tmp146;
15556#line 1402
15557 __cil_tmp149 = (void *)0;
15558#line 1402
15559 *((struct configfs_attribute ***)__cil_tmp148) = (struct configfs_attribute **)__cil_tmp149;
15560#line 1403
15561 __cil_tmp150 = 288 + 24;
15562#line 1403
15563 __cil_tmp151 = 688 + __cil_tmp150;
15564#line 1403
15565 __cil_tmp152 = (unsigned long )fabric;
15566#line 1403
15567 __cil_tmp153 = __cil_tmp152 + __cil_tmp151;
15568#line 1403
15569 __cil_tmp154 = (void *)0;
15570#line 1403
15571 *((struct configfs_attribute ***)__cil_tmp153) = (struct configfs_attribute **)__cil_tmp154;
15572#line 1408
15573 ret = target_fabric_configfs_register(fabric);
15574 }
15575#line 1409
15576 if (ret < 0) {
15577 {
15578#line 1410
15579 printk("<3>target_fabric_configfs_register() for TCM_Loop failed!\n");
15580#line 1412
15581 target_fabric_configfs_free(fabric);
15582 }
15583#line 1413
15584 return (-1);
15585 } else {
15586
15587 }
15588#line 1418
15589 tcm_loop_fabric_configfs = fabric;
15590 {
15591#line 1419
15592 while (1) {
15593 while_continue: ;
15594 {
15595#line 1419
15596 __cil_tmp155 = & descriptor___16;
15597#line 1419
15598 __cil_tmp156 = __cil_tmp155->flags;
15599#line 1419
15600 __cil_tmp157 = __cil_tmp156 & 1U;
15601#line 1419
15602 __cil_tmp158 = ! __cil_tmp157;
15603#line 1419
15604 __cil_tmp159 = ! __cil_tmp158;
15605#line 1419
15606 __cil_tmp160 = (long )__cil_tmp159;
15607#line 1419
15608 tmp___19 = __builtin_expect(__cil_tmp160, 0L);
15609 }
15610#line 1419
15611 if (tmp___19) {
15612 {
15613#line 1419
15614 __dynamic_pr_debug(& descriptor___16, "TCM_LOOP[0] - Set fabric -> tcm_loop_fabric_configfs\n");
15615 }
15616 } else {
15617
15618 }
15619#line 1419
15620 goto while_break;
15621 }
15622 while_break: ;
15623 }
15624#line 1421
15625 return (0);
15626}
15627}
15628#line 1431
15629static void tcm_loop_deregister_configfs(void) ;
15630#line 1431 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15631static struct _ddebug __attribute__((__aligned__(8))) descriptor___17 __attribute__((__used__,
15632__section__("__verbose"))) = {"tcm_loop", "tcm_loop_deregister_configfs", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
15633 "TCM_LOOP[0] - Cleared tcm_loop_fabric_configfs\n", 1432U, 0U};
15634#line 1424 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15635static void tcm_loop_deregister_configfs(void)
15636{ long tmp___17 ;
15637 void *__cil_tmp2 ;
15638 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp3 ;
15639 unsigned int __cil_tmp4 ;
15640 unsigned int __cil_tmp5 ;
15641 int __cil_tmp6 ;
15642 int __cil_tmp7 ;
15643 long __cil_tmp8 ;
15644
15645 {
15646#line 1426
15647 if (! tcm_loop_fabric_configfs) {
15648#line 1427
15649 return;
15650 } else {
15651
15652 }
15653 {
15654#line 1429
15655 target_fabric_configfs_deregister(tcm_loop_fabric_configfs);
15656#line 1430
15657 __cil_tmp2 = (void *)0;
15658#line 1430
15659 tcm_loop_fabric_configfs = (struct target_fabric_configfs *)__cil_tmp2;
15660 }
15661 {
15662#line 1431
15663 while (1) {
15664 while_continue: ;
15665 {
15666#line 1431
15667 __cil_tmp3 = & descriptor___17;
15668#line 1431
15669 __cil_tmp4 = __cil_tmp3->flags;
15670#line 1431
15671 __cil_tmp5 = __cil_tmp4 & 1U;
15672#line 1431
15673 __cil_tmp6 = ! __cil_tmp5;
15674#line 1431
15675 __cil_tmp7 = ! __cil_tmp6;
15676#line 1431
15677 __cil_tmp8 = (long )__cil_tmp7;
15678#line 1431
15679 tmp___17 = __builtin_expect(__cil_tmp8, 0L);
15680 }
15681#line 1431
15682 if (tmp___17) {
15683 {
15684#line 1431
15685 __dynamic_pr_debug(& descriptor___17, "TCM_LOOP[0] - Cleared tcm_loop_fabric_configfs\n");
15686 }
15687 } else {
15688
15689 }
15690#line 1431
15691 goto while_break;
15692 }
15693 while_break: ;
15694 }
15695#line 1433
15696 return;
15697}
15698}
15699#line 1448
15700static int tcm_loop_fabric_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
15701#line 1448 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15702static struct _ddebug __attribute__((__aligned__(8))) descriptor___18 __attribute__((__used__,
15703__section__("__verbose"))) = {"tcm_loop", "tcm_loop_fabric_init", "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c",
15704 "kmem_cache_create() for tcm_loop_cmd_cache failed\n", 1449U, 0U};
15705#line 1435
15706static int tcm_loop_fabric_init(void) __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
15707#line 1435 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15708static int tcm_loop_fabric_init(void)
15709{ int ret ;
15710 long tmp___17 ;
15711 void *__cil_tmp3 ;
15712 struct lock_class_key *__cil_tmp4 ;
15713 void *__cil_tmp5 ;
15714 char const *__cil_tmp6 ;
15715 void *__cil_tmp7 ;
15716 void (*__cil_tmp8)(void * ) ;
15717 struct _ddebug __attribute__((__aligned__(8))) *__cil_tmp9 ;
15718 unsigned int __cil_tmp10 ;
15719 unsigned int __cil_tmp11 ;
15720 int __cil_tmp12 ;
15721 int __cil_tmp13 ;
15722 long __cil_tmp14 ;
15723
15724 {
15725 {
15726#line 1437
15727 ret = -12;
15728#line 1439
15729 __cil_tmp3 = (void *)0;
15730#line 1439
15731 __cil_tmp4 = (struct lock_class_key *)__cil_tmp3;
15732#line 1439
15733 __cil_tmp5 = (void *)0;
15734#line 1439
15735 __cil_tmp6 = (char const *)__cil_tmp5;
15736#line 1439
15737 tcm_loop_workqueue = __alloc_workqueue_key("tcm_loop", 0U, 0, __cil_tmp4, __cil_tmp6);
15738 }
15739#line 1440
15740 if (! tcm_loop_workqueue) {
15741#line 1441
15742 goto out;
15743 } else {
15744
15745 }
15746 {
15747#line 1443
15748 __cil_tmp7 = (void *)0;
15749#line 1443
15750 __cil_tmp8 = (void (*)(void * ))__cil_tmp7;
15751#line 1443
15752 tcm_loop_cmd_cache = kmem_cache_create("tcm_loop_cmd_cache", 768UL, 8UL, 0UL, __cil_tmp8);
15753 }
15754#line 1447
15755 if (! tcm_loop_cmd_cache) {
15756 {
15757#line 1448
15758 while (1) {
15759 while_continue: ;
15760 {
15761#line 1448
15762 __cil_tmp9 = & descriptor___18;
15763#line 1448
15764 __cil_tmp10 = __cil_tmp9->flags;
15765#line 1448
15766 __cil_tmp11 = __cil_tmp10 & 1U;
15767#line 1448
15768 __cil_tmp12 = ! __cil_tmp11;
15769#line 1448
15770 __cil_tmp13 = ! __cil_tmp12;
15771#line 1448
15772 __cil_tmp14 = (long )__cil_tmp13;
15773#line 1448
15774 tmp___17 = __builtin_expect(__cil_tmp14, 0L);
15775 }
15776#line 1448
15777 if (tmp___17) {
15778 {
15779#line 1448
15780 __dynamic_pr_debug(& descriptor___18, "kmem_cache_create() for tcm_loop_cmd_cache failed\n");
15781 }
15782 } else {
15783
15784 }
15785#line 1448
15786 goto while_break;
15787 }
15788 while_break: ;
15789 }
15790#line 1450
15791 goto out_destroy_workqueue;
15792 } else {
15793
15794 }
15795 {
15796#line 1453
15797 ret = tcm_loop_alloc_core_bus();
15798 }
15799#line 1454
15800 if (ret) {
15801#line 1455
15802 goto out_destroy_cache;
15803 } else {
15804
15805 }
15806 {
15807#line 1457
15808 ret = tcm_loop_register_configfs();
15809 }
15810#line 1458
15811 if (ret) {
15812#line 1459
15813 goto out_release_core_bus;
15814 } else {
15815
15816 }
15817#line 1461
15818 return (0);
15819 out_release_core_bus:
15820 {
15821#line 1464
15822 tcm_loop_release_core_bus();
15823 }
15824 out_destroy_cache:
15825 {
15826#line 1466
15827 kmem_cache_destroy(tcm_loop_cmd_cache);
15828 }
15829 out_destroy_workqueue:
15830 {
15831#line 1468
15832 destroy_workqueue(tcm_loop_workqueue);
15833 }
15834 out:
15835#line 1470
15836 return (ret);
15837}
15838}
15839#line 1473
15840static void tcm_loop_fabric_exit(void) __attribute__((__section__(".exit.text"),
15841__no_instrument_function__)) ;
15842#line 1473 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15843static void tcm_loop_fabric_exit(void)
15844{
15845
15846 {
15847 {
15848#line 1475
15849 tcm_loop_deregister_configfs();
15850#line 1476
15851 tcm_loop_release_core_bus();
15852#line 1477
15853 kmem_cache_destroy(tcm_loop_cmd_cache);
15854#line 1478
15855 destroy_workqueue(tcm_loop_workqueue);
15856 }
15857#line 1479
15858 return;
15859}
15860}
15861#line 1481 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15862static char const __mod_description1481[58] __attribute__((__used__, __unused__,
15863__section__(".modinfo"), __aligned__(1))) =
15864#line 1481
15865 { (char const )'d', (char const )'e', (char const )'s', (char const )'c',
15866 (char const )'r', (char const )'i', (char const )'p', (char const )'t',
15867 (char const )'i', (char const )'o', (char const )'n', (char const )'=',
15868 (char const )'T', (char const )'C', (char const )'M', (char const )' ',
15869 (char const )'l', (char const )'o', (char const )'o', (char const )'p',
15870 (char const )'b', (char const )'a', (char const )'c', (char const )'k',
15871 (char const )' ', (char const )'v', (char const )'i', (char const )'r',
15872 (char const )'t', (char const )'u', (char const )'a', (char const )'l',
15873 (char const )' ', (char const )'L', (char const )'i', (char const )'n',
15874 (char const )'u', (char const )'x', (char const )'/', (char const )'S',
15875 (char const )'C', (char const )'S', (char const )'I', (char const )' ',
15876 (char const )'f', (char const )'a', (char const )'b', (char const )'r',
15877 (char const )'i', (char const )'c', (char const )' ', (char const )'m',
15878 (char const )'o', (char const )'d', (char const )'u', (char const )'l',
15879 (char const )'e', (char const )'\000'};
15880#line 1482 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15881static char const __mod_author1482[57] __attribute__((__used__, __unused__, __section__(".modinfo"),
15882__aligned__(1))) =
15883#line 1482
15884 { (char const )'a', (char const )'u', (char const )'t', (char const )'h',
15885 (char const )'o', (char const )'r', (char const )'=', (char const )'N',
15886 (char const )'i', (char const )'c', (char const )'h', (char const )'o',
15887 (char const )'l', (char const )'a', (char const )'s', (char const )' ',
15888 (char const )'A', (char const )'.', (char const )' ', (char const )'B',
15889 (char const )'e', (char const )'l', (char const )'l', (char const )'i',
15890 (char const )'n', (char const )'g', (char const )'e', (char const )'r',
15891 (char const )' ', (char const )'<', (char const )'n', (char const )'a',
15892 (char const )'b', (char const )'@', (char const )'r', (char const )'i',
15893 (char const )'s', (char const )'i', (char const )'n', (char const )'g',
15894 (char const )'t', (char const )'i', (char const )'d', (char const )'e',
15895 (char const )'s', (char const )'y', (char const )'s', (char const )'t',
15896 (char const )'e', (char const )'m', (char const )'s', (char const )'.',
15897 (char const )'c', (char const )'o', (char const )'m', (char const )'>',
15898 (char const )'\000'};
15899#line 1483 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15900static char const __mod_license1483[12] __attribute__((__used__, __unused__, __section__(".modinfo"),
15901__aligned__(1))) =
15902#line 1483
15903 { (char const )'l', (char const )'i', (char const )'c', (char const )'e',
15904 (char const )'n', (char const )'s', (char const )'e', (char const )'=',
15905 (char const )'G', (char const )'P', (char const )'L', (char const )'\000'};
15906#line 1484 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15907int init_module(void)
15908{ int tmp___17 ;
15909
15910 {
15911 {
15912#line 1484
15913 tmp___17 = tcm_loop_fabric_init();
15914 }
15915#line 1484
15916 return (tmp___17);
15917}
15918}
15919#line 1485 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15920void cleanup_module(void)
15921{
15922
15923 {
15924 {
15925#line 1485
15926 tcm_loop_fabric_exit();
15927 }
15928#line 1485
15929 return;
15930}
15931}
15932#line 1503
15933void ldv_check_final_state(void) ;
15934#line 1506
15935extern void ldv_check_return_value(int res ) ;
15936#line 1509
15937extern void ldv_initialize(void) ;
15938#line 1512
15939extern int __VERIFIER_nondet_int(void) ;
15940#line 1515 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15941int LDV_IN_INTERRUPT ;
15942#line 1538 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15943static int res_tcm_loop_driver_probe_11 ;
15944#line 1518 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
15945void main(void)
15946{ struct device *var_group1 ;
15947 struct device_driver *var_group2 ;
15948 struct Scsi_Host *var_group3 ;
15949 char *var_tcm_loop_proc_info_2_p1 ;
15950 char **var_tcm_loop_proc_info_2_p2 ;
15951 off_t var_tcm_loop_proc_info_2_p3 ;
15952 int var_tcm_loop_proc_info_2_p4 ;
15953 int var_tcm_loop_proc_info_2_p5 ;
15954 struct scsi_cmnd *var_group4 ;
15955 struct scsi_device *var_group5 ;
15956 int var_tcm_loop_change_queue_depth_4_p1 ;
15957 int var_tcm_loop_change_queue_depth_4_p2 ;
15958 int tmp___17 ;
15959 int ldv_s_tcm_loop_lld_bus_bus_type ;
15960 int tmp___18 ;
15961 int tmp___19 ;
15962 int __cil_tmp17 ;
15963
15964 {
15965 {
15966#line 1596
15967 LDV_IN_INTERRUPT = 1;
15968#line 1605
15969 ldv_initialize();
15970#line 1613
15971 tmp___17 = tcm_loop_fabric_init();
15972 }
15973#line 1613
15974 if (tmp___17) {
15975#line 1614
15976 goto ldv_final;
15977 } else {
15978
15979 }
15980#line 1615
15981 ldv_s_tcm_loop_lld_bus_bus_type = 0;
15982 {
15983#line 1621
15984 while (1) {
15985 while_continue: ;
15986 {
15987#line 1621
15988 tmp___19 = __VERIFIER_nondet_int();
15989 }
15990#line 1621
15991 if (tmp___19) {
15992
15993 } else {
15994 {
15995#line 1621
15996 __cil_tmp17 = ldv_s_tcm_loop_lld_bus_bus_type == 0;
15997#line 1621
15998 if (! __cil_tmp17) {
15999
16000 } else {
16001#line 1621
16002 goto while_break;
16003 }
16004 }
16005 }
16006 {
16007#line 1625
16008 tmp___18 = __VERIFIER_nondet_int();
16009 }
16010#line 1627
16011 if (tmp___18 == 0) {
16012#line 1627
16013 goto case_0;
16014 } else
16015#line 1648
16016 if (tmp___18 == 1) {
16017#line 1648
16018 goto case_1;
16019 } else
16020#line 1666
16021 if (tmp___18 == 2) {
16022#line 1666
16023 goto case_2;
16024 } else
16025#line 1684
16026 if (tmp___18 == 3) {
16027#line 1684
16028 goto case_3;
16029 } else
16030#line 1702
16031 if (tmp___18 == 4) {
16032#line 1702
16033 goto case_4;
16034 } else
16035#line 1720
16036 if (tmp___18 == 5) {
16037#line 1720
16038 goto case_5;
16039 } else
16040#line 1738
16041 if (tmp___18 == 6) {
16042#line 1738
16043 goto case_6;
16044 } else
16045#line 1756
16046 if (tmp___18 == 7) {
16047#line 1756
16048 goto case_7;
16049 } else
16050#line 1774
16051 if (tmp___18 == 8) {
16052#line 1774
16053 goto case_8;
16054 } else {
16055 {
16056#line 1792
16057 goto switch_default;
16058#line 1625
16059 if (0) {
16060 case_0:
16061#line 1630
16062 if (ldv_s_tcm_loop_lld_bus_bus_type == 0) {
16063 {
16064#line 1637
16065 res_tcm_loop_driver_probe_11 = tcm_loop_driver_probe(var_group1);
16066#line 1638
16067 ldv_check_return_value(res_tcm_loop_driver_probe_11);
16068 }
16069#line 1639
16070 if (res_tcm_loop_driver_probe_11) {
16071#line 1640
16072 goto ldv_module_exit;
16073 } else {
16074
16075 }
16076#line 1641
16077 ldv_s_tcm_loop_lld_bus_bus_type = 0;
16078 } else {
16079
16080 }
16081#line 1647
16082 goto switch_break;
16083 case_1:
16084 {
16085#line 1658
16086 pseudo_lld_bus_match(var_group1, var_group2);
16087 }
16088#line 1665
16089 goto switch_break;
16090 case_2:
16091 {
16092#line 1676
16093 tcm_loop_driver_remove(var_group1);
16094 }
16095#line 1683
16096 goto switch_break;
16097 case_3:
16098 {
16099#line 1694
16100 tcm_loop_proc_info(var_group3, var_tcm_loop_proc_info_2_p1, var_tcm_loop_proc_info_2_p2,
16101 var_tcm_loop_proc_info_2_p3, var_tcm_loop_proc_info_2_p4,
16102 var_tcm_loop_proc_info_2_p5);
16103 }
16104#line 1701
16105 goto switch_break;
16106 case_4:
16107 {
16108#line 1712
16109 tcm_loop_queuecommand(var_group3, var_group4);
16110 }
16111#line 1719
16112 goto switch_break;
16113 case_5:
16114 {
16115#line 1730
16116 tcm_loop_change_queue_depth(var_group5, var_tcm_loop_change_queue_depth_4_p1,
16117 var_tcm_loop_change_queue_depth_4_p2);
16118 }
16119#line 1737
16120 goto switch_break;
16121 case_6:
16122 {
16123#line 1748
16124 tcm_loop_device_reset(var_group4);
16125 }
16126#line 1755
16127 goto switch_break;
16128 case_7:
16129 {
16130#line 1766
16131 tcm_loop_slave_alloc(var_group5);
16132 }
16133#line 1773
16134 goto switch_break;
16135 case_8:
16136 {
16137#line 1784
16138 tcm_loop_slave_configure(var_group5);
16139 }
16140#line 1791
16141 goto switch_break;
16142 switch_default:
16143#line 1792
16144 goto switch_break;
16145 } else {
16146 switch_break: ;
16147 }
16148 }
16149 }
16150 }
16151 while_break: ;
16152 }
16153 ldv_module_exit:
16154 {
16155#line 1806
16156 tcm_loop_fabric_exit();
16157 }
16158 ldv_final:
16159 {
16160#line 1809
16161 ldv_check_final_state();
16162 }
16163#line 1812
16164 return;
16165}
16166}
16167#line 5 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast-assert.h"
16168void ldv_blast_assert(void)
16169{
16170
16171 {
16172 ERROR:
16173#line 6
16174 goto ERROR;
16175}
16176}
16177#line 6 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/engine-blast.h"
16178extern int __VERIFIER_nondet_int(void) ;
16179#line 19 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16180int ldv_mutex = 1;
16181#line 22 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16182int __attribute__((__warn_unused_result__)) mutex_lock_interruptible(struct mutex *lock )
16183{ int nondetermined ;
16184
16185 {
16186#line 29
16187 if (ldv_mutex == 1) {
16188
16189 } else {
16190 {
16191#line 29
16192 ldv_blast_assert();
16193 }
16194 }
16195 {
16196#line 32
16197 nondetermined = __VERIFIER_nondet_int();
16198 }
16199#line 35
16200 if (nondetermined) {
16201#line 38
16202 ldv_mutex = 2;
16203#line 40
16204 return (0);
16205 } else {
16206#line 45
16207 return (-4);
16208 }
16209}
16210}
16211#line 50 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16212int __attribute__((__warn_unused_result__)) mutex_lock_killable(struct mutex *lock )
16213{ int nondetermined ;
16214
16215 {
16216#line 57
16217 if (ldv_mutex == 1) {
16218
16219 } else {
16220 {
16221#line 57
16222 ldv_blast_assert();
16223 }
16224 }
16225 {
16226#line 60
16227 nondetermined = __VERIFIER_nondet_int();
16228 }
16229#line 63
16230 if (nondetermined) {
16231#line 66
16232 ldv_mutex = 2;
16233#line 68
16234 return (0);
16235 } else {
16236#line 73
16237 return (-4);
16238 }
16239}
16240}
16241#line 78 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16242int atomic_dec_and_mutex_lock(atomic_t *cnt , struct mutex *lock )
16243{ int atomic_value_after_dec ;
16244
16245 {
16246#line 83
16247 if (ldv_mutex == 1) {
16248
16249 } else {
16250 {
16251#line 83
16252 ldv_blast_assert();
16253 }
16254 }
16255 {
16256#line 86
16257 atomic_value_after_dec = __VERIFIER_nondet_int();
16258 }
16259#line 89
16260 if (atomic_value_after_dec == 0) {
16261#line 92
16262 ldv_mutex = 2;
16263#line 94
16264 return (1);
16265 } else {
16266
16267 }
16268#line 98
16269 return (0);
16270}
16271}
16272#line 103 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16273void mutex_lock(struct mutex *lock )
16274{
16275
16276 {
16277#line 108
16278 if (ldv_mutex == 1) {
16279
16280 } else {
16281 {
16282#line 108
16283 ldv_blast_assert();
16284 }
16285 }
16286#line 110
16287 ldv_mutex = 2;
16288#line 111
16289 return;
16290}
16291}
16292#line 114 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16293int mutex_trylock(struct mutex *lock )
16294{ int nondetermined ;
16295
16296 {
16297#line 121
16298 if (ldv_mutex == 1) {
16299
16300 } else {
16301 {
16302#line 121
16303 ldv_blast_assert();
16304 }
16305 }
16306 {
16307#line 124
16308 nondetermined = __VERIFIER_nondet_int();
16309 }
16310#line 127
16311 if (nondetermined) {
16312#line 130
16313 ldv_mutex = 2;
16314#line 132
16315 return (1);
16316 } else {
16317#line 137
16318 return (0);
16319 }
16320}
16321}
16322#line 142 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16323void mutex_unlock(struct mutex *lock )
16324{
16325
16326 {
16327#line 147
16328 if (ldv_mutex == 2) {
16329
16330 } else {
16331 {
16332#line 147
16333 ldv_blast_assert();
16334 }
16335 }
16336#line 149
16337 ldv_mutex = 1;
16338#line 150
16339 return;
16340}
16341}
16342#line 153 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/kernel-rules/files/model0032.c"
16343void ldv_check_final_state(void)
16344{
16345
16346 {
16347#line 156
16348 if (ldv_mutex == 1) {
16349
16350 } else {
16351 {
16352#line 156
16353 ldv_blast_assert();
16354 }
16355 }
16356#line 157
16357 return;
16358}
16359}
16360#line 1821 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--32_1--X--cpachecker/linux-3.4/csd_deg_dscv/17463/dscv_tempdir/dscv/ri/32_1/drivers/target/loopback/tcm_loop.c.common.c"
16361long s__builtin_expect(long val , long res )
16362{
16363
16364 {
16365#line 1822
16366 return (val);
16367}
16368}