Showing error 1207

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/43_1a_cilled_safe_ok_nondet_linux-43_1a-drivers--scsi--pcmcia--sym53c500_cs.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 9128
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1/* Generated by CIL v. 1.3.7 */
   2/* print_CIL_Input is true */
   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 43 "include/asm-generic/int-ll64.h"
  21typedef unsigned char u8;
  22#line 45 "include/asm-generic/int-ll64.h"
  23typedef short s16;
  24#line 46 "include/asm-generic/int-ll64.h"
  25typedef unsigned short u16;
  26#line 48 "include/asm-generic/int-ll64.h"
  27typedef int s32;
  28#line 49 "include/asm-generic/int-ll64.h"
  29typedef unsigned int u32;
  30#line 51 "include/asm-generic/int-ll64.h"
  31typedef long long s64;
  32#line 52 "include/asm-generic/int-ll64.h"
  33typedef unsigned long long u64;
  34#line 14 "include/asm-generic/posix_types.h"
  35typedef long __kernel_long_t;
  36#line 15 "include/asm-generic/posix_types.h"
  37typedef unsigned long __kernel_ulong_t;
  38#line 31 "include/asm-generic/posix_types.h"
  39typedef int __kernel_pid_t;
  40#line 52 "include/asm-generic/posix_types.h"
  41typedef unsigned int __kernel_uid32_t;
  42#line 53 "include/asm-generic/posix_types.h"
  43typedef unsigned int __kernel_gid32_t;
  44#line 75 "include/asm-generic/posix_types.h"
  45typedef __kernel_ulong_t __kernel_size_t;
  46#line 76 "include/asm-generic/posix_types.h"
  47typedef __kernel_long_t __kernel_ssize_t;
  48#line 90 "include/asm-generic/posix_types.h"
  49typedef __kernel_long_t __kernel_off_t;
  50#line 91 "include/asm-generic/posix_types.h"
  51typedef long long __kernel_loff_t;
  52#line 92 "include/asm-generic/posix_types.h"
  53typedef __kernel_long_t __kernel_time_t;
  54#line 93 "include/asm-generic/posix_types.h"
  55typedef __kernel_long_t __kernel_clock_t;
  56#line 94 "include/asm-generic/posix_types.h"
  57typedef int __kernel_timer_t;
  58#line 95 "include/asm-generic/posix_types.h"
  59typedef int __kernel_clockid_t;
  60#line 21 "include/linux/types.h"
  61typedef __u32 __kernel_dev_t;
  62#line 24 "include/linux/types.h"
  63typedef __kernel_dev_t dev_t;
  64#line 27 "include/linux/types.h"
  65typedef unsigned short umode_t;
  66#line 29 "include/linux/types.h"
  67typedef __kernel_off_t off_t;
  68#line 30 "include/linux/types.h"
  69typedef __kernel_pid_t pid_t;
  70#line 35 "include/linux/types.h"
  71typedef __kernel_clockid_t clockid_t;
  72#line 38 "include/linux/types.h"
  73typedef _Bool bool;
  74#line 40 "include/linux/types.h"
  75typedef __kernel_uid32_t uid_t;
  76#line 41 "include/linux/types.h"
  77typedef __kernel_gid32_t gid_t;
  78#line 54 "include/linux/types.h"
  79typedef __kernel_loff_t loff_t;
  80#line 63 "include/linux/types.h"
  81typedef __kernel_size_t size_t;
  82#line 68 "include/linux/types.h"
  83typedef __kernel_ssize_t ssize_t;
  84#line 78 "include/linux/types.h"
  85typedef __kernel_time_t time_t;
  86#line 92 "include/linux/types.h"
  87typedef unsigned char u_char;
  88#line 93 "include/linux/types.h"
  89typedef unsigned short u_short;
  90#line 94 "include/linux/types.h"
  91typedef unsigned int u_int;
  92#line 111 "include/linux/types.h"
  93typedef __s32 int32_t;
  94#line 117 "include/linux/types.h"
  95typedef __u32 uint32_t;
  96#line 142 "include/linux/types.h"
  97typedef unsigned long sector_t;
  98#line 143 "include/linux/types.h"
  99typedef unsigned long blkcnt_t;
 100#line 155 "include/linux/types.h"
 101typedef u64 dma_addr_t;
 102#line 202 "include/linux/types.h"
 103typedef unsigned int gfp_t;
 104#line 203 "include/linux/types.h"
 105typedef unsigned int fmode_t;
 106#line 206 "include/linux/types.h"
 107typedef u64 phys_addr_t;
 108#line 211 "include/linux/types.h"
 109typedef phys_addr_t resource_size_t;
 110#line 221 "include/linux/types.h"
 111struct __anonstruct_atomic_t_6 {
 112   int counter ;
 113};
 114#line 221 "include/linux/types.h"
 115typedef struct __anonstruct_atomic_t_6 atomic_t;
 116#line 226 "include/linux/types.h"
 117struct __anonstruct_atomic64_t_7 {
 118   long counter ;
 119};
 120#line 226 "include/linux/types.h"
 121typedef struct __anonstruct_atomic64_t_7 atomic64_t;
 122#line 227 "include/linux/types.h"
 123struct list_head {
 124   struct list_head *next ;
 125   struct list_head *prev ;
 126};
 127#line 232
 128struct hlist_node;
 129#line 232 "include/linux/types.h"
 130struct hlist_head {
 131   struct hlist_node *first ;
 132};
 133#line 236 "include/linux/types.h"
 134struct hlist_node {
 135   struct hlist_node *next ;
 136   struct hlist_node **pprev ;
 137};
 138#line 247 "include/linux/types.h"
 139struct rcu_head {
 140   struct rcu_head *next ;
 141   void (*func)(struct rcu_head * ) ;
 142};
 143#line 55 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/alternative.h"
 144struct module;
 145#line 55
 146struct module;
 147#line 146 "include/linux/init.h"
 148typedef void (*ctor_fn_t)(void);
 149#line 305 "include/linux/printk.h"
 150struct _ddebug {
 151   char const   *modname ;
 152   char const   *function ;
 153   char const   *filename ;
 154   char const   *format ;
 155   unsigned int lineno : 18 ;
 156   unsigned char flags ;
 157};
 158#line 46 "include/linux/dynamic_debug.h"
 159struct device;
 160#line 46
 161struct device;
 162#line 57
 163struct completion;
 164#line 57
 165struct completion;
 166#line 58
 167struct pt_regs;
 168#line 58
 169struct pt_regs;
 170#line 348 "include/linux/kernel.h"
 171struct pid;
 172#line 348
 173struct pid;
 174#line 112 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/stat.h"
 175struct timespec;
 176#line 112
 177struct timespec;
 178#line 58 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/page_types.h"
 179struct page;
 180#line 58
 181struct page;
 182#line 26 "include/asm-generic/getorder.h"
 183struct task_struct;
 184#line 26
 185struct task_struct;
 186#line 28
 187struct mm_struct;
 188#line 28
 189struct mm_struct;
 190#line 268 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/segment.h"
 191struct pt_regs {
 192   unsigned long r15 ;
 193   unsigned long r14 ;
 194   unsigned long r13 ;
 195   unsigned long r12 ;
 196   unsigned long bp ;
 197   unsigned long bx ;
 198   unsigned long r11 ;
 199   unsigned long r10 ;
 200   unsigned long r9 ;
 201   unsigned long r8 ;
 202   unsigned long ax ;
 203   unsigned long cx ;
 204   unsigned long dx ;
 205   unsigned long si ;
 206   unsigned long di ;
 207   unsigned long orig_ax ;
 208   unsigned long ip ;
 209   unsigned long cs ;
 210   unsigned long flags ;
 211   unsigned long sp ;
 212   unsigned long ss ;
 213};
 214#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 215struct __anonstruct_ldv_2180_13 {
 216   unsigned int a ;
 217   unsigned int b ;
 218};
 219#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 220struct __anonstruct_ldv_2195_14 {
 221   u16 limit0 ;
 222   u16 base0 ;
 223   unsigned char base1 ;
 224   unsigned char type : 4 ;
 225   unsigned char s : 1 ;
 226   unsigned char dpl : 2 ;
 227   unsigned char p : 1 ;
 228   unsigned char limit : 4 ;
 229   unsigned char avl : 1 ;
 230   unsigned char l : 1 ;
 231   unsigned char d : 1 ;
 232   unsigned char g : 1 ;
 233   unsigned char base2 ;
 234};
 235#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 236union __anonunion_ldv_2196_12 {
 237   struct __anonstruct_ldv_2180_13 ldv_2180 ;
 238   struct __anonstruct_ldv_2195_14 ldv_2195 ;
 239};
 240#line 125 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 241struct desc_struct {
 242   union __anonunion_ldv_2196_12 ldv_2196 ;
 243};
 244#line 13 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 245typedef unsigned long pgdval_t;
 246#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 247typedef unsigned long pgprotval_t;
 248#line 18 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_64_types.h"
 249struct pgprot {
 250   pgprotval_t pgprot ;
 251};
 252#line 192 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 253typedef struct pgprot pgprot_t;
 254#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 255struct __anonstruct_pgd_t_16 {
 256   pgdval_t pgd ;
 257};
 258#line 194 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 259typedef struct __anonstruct_pgd_t_16 pgd_t;
 260#line 282 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/pgtable_types.h"
 261typedef struct page *pgtable_t;
 262#line 290
 263struct file;
 264#line 290
 265struct file;
 266#line 305
 267struct seq_file;
 268#line 305
 269struct seq_file;
 270#line 337
 271struct thread_struct;
 272#line 337
 273struct thread_struct;
 274#line 339
 275struct cpumask;
 276#line 339
 277struct cpumask;
 278#line 327 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt_types.h"
 279struct arch_spinlock;
 280#line 327
 281struct arch_spinlock;
 282#line 300 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/ptrace.h"
 283struct kernel_vm86_regs {
 284   struct pt_regs pt ;
 285   unsigned short es ;
 286   unsigned short __esh ;
 287   unsigned short ds ;
 288   unsigned short __dsh ;
 289   unsigned short fs ;
 290   unsigned short __fsh ;
 291   unsigned short gs ;
 292   unsigned short __gsh ;
 293};
 294#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 295union __anonunion_ldv_2824_19 {
 296   struct pt_regs *regs ;
 297   struct kernel_vm86_regs *vm86 ;
 298};
 299#line 203 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/vm86.h"
 300struct math_emu_info {
 301   long ___orig_eip ;
 302   union __anonunion_ldv_2824_19 ldv_2824 ;
 303};
 304#line 306 "include/linux/bitmap.h"
 305struct bug_entry {
 306   int bug_addr_disp ;
 307   int file_disp ;
 308   unsigned short line ;
 309   unsigned short flags ;
 310};
 311#line 89 "include/linux/bug.h"
 312struct cpumask {
 313   unsigned long bits[64U] ;
 314};
 315#line 14 "include/linux/cpumask.h"
 316typedef struct cpumask cpumask_t;
 317#line 637 "include/linux/cpumask.h"
 318typedef struct cpumask *cpumask_var_t;
 319#line 234 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/paravirt.h"
 320struct static_key;
 321#line 234
 322struct static_key;
 323#line 287 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 324struct i387_fsave_struct {
 325   u32 cwd ;
 326   u32 swd ;
 327   u32 twd ;
 328   u32 fip ;
 329   u32 fcs ;
 330   u32 foo ;
 331   u32 fos ;
 332   u32 st_space[20U] ;
 333   u32 status ;
 334};
 335#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 336struct __anonstruct_ldv_5180_24 {
 337   u64 rip ;
 338   u64 rdp ;
 339};
 340#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 341struct __anonstruct_ldv_5186_25 {
 342   u32 fip ;
 343   u32 fcs ;
 344   u32 foo ;
 345   u32 fos ;
 346};
 347#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 348union __anonunion_ldv_5187_23 {
 349   struct __anonstruct_ldv_5180_24 ldv_5180 ;
 350   struct __anonstruct_ldv_5186_25 ldv_5186 ;
 351};
 352#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 353union __anonunion_ldv_5196_26 {
 354   u32 padding1[12U] ;
 355   u32 sw_reserved[12U] ;
 356};
 357#line 305 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 358struct i387_fxsave_struct {
 359   u16 cwd ;
 360   u16 swd ;
 361   u16 twd ;
 362   u16 fop ;
 363   union __anonunion_ldv_5187_23 ldv_5187 ;
 364   u32 mxcsr ;
 365   u32 mxcsr_mask ;
 366   u32 st_space[32U] ;
 367   u32 xmm_space[64U] ;
 368   u32 padding[12U] ;
 369   union __anonunion_ldv_5196_26 ldv_5196 ;
 370};
 371#line 339 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 372struct i387_soft_struct {
 373   u32 cwd ;
 374   u32 swd ;
 375   u32 twd ;
 376   u32 fip ;
 377   u32 fcs ;
 378   u32 foo ;
 379   u32 fos ;
 380   u32 st_space[20U] ;
 381   u8 ftop ;
 382   u8 changed ;
 383   u8 lookahead ;
 384   u8 no_update ;
 385   u8 rm ;
 386   u8 alimit ;
 387   struct math_emu_info *info ;
 388   u32 entry_eip ;
 389};
 390#line 360 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 391struct ymmh_struct {
 392   u32 ymmh_space[64U] ;
 393};
 394#line 365 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 395struct xsave_hdr_struct {
 396   u64 xstate_bv ;
 397   u64 reserved1[2U] ;
 398   u64 reserved2[5U] ;
 399};
 400#line 371 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 401struct xsave_struct {
 402   struct i387_fxsave_struct i387 ;
 403   struct xsave_hdr_struct xsave_hdr ;
 404   struct ymmh_struct ymmh ;
 405};
 406#line 377 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 407union thread_xstate {
 408   struct i387_fsave_struct fsave ;
 409   struct i387_fxsave_struct fxsave ;
 410   struct i387_soft_struct soft ;
 411   struct xsave_struct xsave ;
 412};
 413#line 385 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 414struct fpu {
 415   unsigned int last_cpu ;
 416   unsigned int has_fpu ;
 417   union thread_xstate *state ;
 418};
 419#line 433
 420struct kmem_cache;
 421#line 434
 422struct perf_event;
 423#line 434
 424struct perf_event;
 425#line 435 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/processor.h"
 426struct thread_struct {
 427   struct desc_struct tls_array[3U] ;
 428   unsigned long sp0 ;
 429   unsigned long sp ;
 430   unsigned long usersp ;
 431   unsigned short es ;
 432   unsigned short ds ;
 433   unsigned short fsindex ;
 434   unsigned short gsindex ;
 435   unsigned long fs ;
 436   unsigned long gs ;
 437   struct perf_event *ptrace_bps[4U] ;
 438   unsigned long debugreg6 ;
 439   unsigned long ptrace_dr7 ;
 440   unsigned long cr2 ;
 441   unsigned long trap_nr ;
 442   unsigned long error_code ;
 443   struct fpu fpu ;
 444   unsigned long *io_bitmap_ptr ;
 445   unsigned long iopl ;
 446   unsigned int io_bitmap_max ;
 447};
 448#line 23 "include/asm-generic/atomic-long.h"
 449typedef atomic64_t atomic_long_t;
 450#line 14 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 451typedef u16 __ticket_t;
 452#line 15 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 453typedef u32 __ticketpair_t;
 454#line 16 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 455struct __raw_tickets {
 456   __ticket_t head ;
 457   __ticket_t tail ;
 458};
 459#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 460union __anonunion_ldv_5907_29 {
 461   __ticketpair_t head_tail ;
 462   struct __raw_tickets tickets ;
 463};
 464#line 26 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 465struct arch_spinlock {
 466   union __anonunion_ldv_5907_29 ldv_5907 ;
 467};
 468#line 27 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/spinlock_types.h"
 469typedef struct arch_spinlock arch_spinlock_t;
 470#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 471struct __anonstruct_ldv_5914_31 {
 472   u32 read ;
 473   s32 write ;
 474};
 475#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 476union __anonunion_arch_rwlock_t_30 {
 477   s64 lock ;
 478   struct __anonstruct_ldv_5914_31 ldv_5914 ;
 479};
 480#line 33 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/rwlock.h"
 481typedef union __anonunion_arch_rwlock_t_30 arch_rwlock_t;
 482#line 34
 483struct lockdep_map;
 484#line 34
 485struct lockdep_map;
 486#line 55 "include/linux/debug_locks.h"
 487struct stack_trace {
 488   unsigned int nr_entries ;
 489   unsigned int max_entries ;
 490   unsigned long *entries ;
 491   int skip ;
 492};
 493#line 26 "include/linux/stacktrace.h"
 494struct lockdep_subclass_key {
 495   char __one_byte ;
 496};
 497#line 53 "include/linux/lockdep.h"
 498struct lock_class_key {
 499   struct lockdep_subclass_key subkeys[8U] ;
 500};
 501#line 59 "include/linux/lockdep.h"
 502struct lock_class {
 503   struct list_head hash_entry ;
 504   struct list_head lock_entry ;
 505   struct lockdep_subclass_key *key ;
 506   unsigned int subclass ;
 507   unsigned int dep_gen_id ;
 508   unsigned long usage_mask ;
 509   struct stack_trace usage_traces[13U] ;
 510   struct list_head locks_after ;
 511   struct list_head locks_before ;
 512   unsigned int version ;
 513   unsigned long ops ;
 514   char const   *name ;
 515   int name_version ;
 516   unsigned long contention_point[4U] ;
 517   unsigned long contending_point[4U] ;
 518};
 519#line 144 "include/linux/lockdep.h"
 520struct lockdep_map {
 521   struct lock_class_key *key ;
 522   struct lock_class *class_cache[2U] ;
 523   char const   *name ;
 524   int cpu ;
 525   unsigned long ip ;
 526};
 527#line 187 "include/linux/lockdep.h"
 528struct held_lock {
 529   u64 prev_chain_key ;
 530   unsigned long acquire_ip ;
 531   struct lockdep_map *instance ;
 532   struct lockdep_map *nest_lock ;
 533   u64 waittime_stamp ;
 534   u64 holdtime_stamp ;
 535   unsigned short class_idx : 13 ;
 536   unsigned char irq_context : 2 ;
 537   unsigned char trylock : 1 ;
 538   unsigned char read : 2 ;
 539   unsigned char check : 2 ;
 540   unsigned char hardirqs_off : 1 ;
 541   unsigned short references : 11 ;
 542};
 543#line 556 "include/linux/lockdep.h"
 544struct raw_spinlock {
 545   arch_spinlock_t raw_lock ;
 546   unsigned int magic ;
 547   unsigned int owner_cpu ;
 548   void *owner ;
 549   struct lockdep_map dep_map ;
 550};
 551#line 32 "include/linux/spinlock_types.h"
 552typedef struct raw_spinlock raw_spinlock_t;
 553#line 33 "include/linux/spinlock_types.h"
 554struct __anonstruct_ldv_6122_33 {
 555   u8 __padding[24U] ;
 556   struct lockdep_map dep_map ;
 557};
 558#line 33 "include/linux/spinlock_types.h"
 559union __anonunion_ldv_6123_32 {
 560   struct raw_spinlock rlock ;
 561   struct __anonstruct_ldv_6122_33 ldv_6122 ;
 562};
 563#line 33 "include/linux/spinlock_types.h"
 564struct spinlock {
 565   union __anonunion_ldv_6123_32 ldv_6123 ;
 566};
 567#line 76 "include/linux/spinlock_types.h"
 568typedef struct spinlock spinlock_t;
 569#line 23 "include/linux/rwlock_types.h"
 570struct __anonstruct_rwlock_t_34 {
 571   arch_rwlock_t raw_lock ;
 572   unsigned int magic ;
 573   unsigned int owner_cpu ;
 574   void *owner ;
 575   struct lockdep_map dep_map ;
 576};
 577#line 23 "include/linux/rwlock_types.h"
 578typedef struct __anonstruct_rwlock_t_34 rwlock_t;
 579#line 110 "include/linux/seqlock.h"
 580struct seqcount {
 581   unsigned int sequence ;
 582};
 583#line 121 "include/linux/seqlock.h"
 584typedef struct seqcount seqcount_t;
 585#line 254 "include/linux/seqlock.h"
 586struct timespec {
 587   __kernel_time_t tv_sec ;
 588   long tv_nsec ;
 589};
 590#line 286 "include/linux/time.h"
 591struct kstat {
 592   u64 ino ;
 593   dev_t dev ;
 594   umode_t mode ;
 595   unsigned int nlink ;
 596   uid_t uid ;
 597   gid_t gid ;
 598   dev_t rdev ;
 599   loff_t size ;
 600   struct timespec atime ;
 601   struct timespec mtime ;
 602   struct timespec ctime ;
 603   unsigned long blksize ;
 604   unsigned long long blocks ;
 605};
 606#line 48 "include/linux/wait.h"
 607struct __wait_queue_head {
 608   spinlock_t lock ;
 609   struct list_head task_list ;
 610};
 611#line 53 "include/linux/wait.h"
 612typedef struct __wait_queue_head wait_queue_head_t;
 613#line 98 "include/linux/nodemask.h"
 614struct __anonstruct_nodemask_t_36 {
 615   unsigned long bits[16U] ;
 616};
 617#line 98 "include/linux/nodemask.h"
 618typedef struct __anonstruct_nodemask_t_36 nodemask_t;
 619#line 670 "include/linux/mmzone.h"
 620struct mutex {
 621   atomic_t count ;
 622   spinlock_t wait_lock ;
 623   struct list_head wait_list ;
 624   struct task_struct *owner ;
 625   char const   *name ;
 626   void *magic ;
 627   struct lockdep_map dep_map ;
 628};
 629#line 63 "include/linux/mutex.h"
 630struct mutex_waiter {
 631   struct list_head list ;
 632   struct task_struct *task ;
 633   void *magic ;
 634};
 635#line 171
 636struct rw_semaphore;
 637#line 171
 638struct rw_semaphore;
 639#line 172 "include/linux/mutex.h"
 640struct rw_semaphore {
 641   long count ;
 642   raw_spinlock_t wait_lock ;
 643   struct list_head wait_list ;
 644   struct lockdep_map dep_map ;
 645};
 646#line 128 "include/linux/rwsem.h"
 647struct completion {
 648   unsigned int done ;
 649   wait_queue_head_t wait ;
 650};
 651#line 139 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/e820.h"
 652struct resource {
 653   resource_size_t start ;
 654   resource_size_t end ;
 655   char const   *name ;
 656   unsigned long flags ;
 657   struct resource *parent ;
 658   struct resource *sibling ;
 659   struct resource *child ;
 660};
 661#line 181 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/x86_init.h"
 662struct pci_dev;
 663#line 181
 664struct pci_dev;
 665#line 312 "include/linux/jiffies.h"
 666union ktime {
 667   s64 tv64 ;
 668};
 669#line 59 "include/linux/ktime.h"
 670typedef union ktime ktime_t;
 671#line 341
 672struct tvec_base;
 673#line 341
 674struct tvec_base;
 675#line 342 "include/linux/ktime.h"
 676struct timer_list {
 677   struct list_head entry ;
 678   unsigned long expires ;
 679   struct tvec_base *base ;
 680   void (*function)(unsigned long  ) ;
 681   unsigned long data ;
 682   int slack ;
 683   int start_pid ;
 684   void *start_site ;
 685   char start_comm[16U] ;
 686   struct lockdep_map lockdep_map ;
 687};
 688#line 289 "include/linux/timer.h"
 689struct hrtimer;
 690#line 289
 691struct hrtimer;
 692#line 290
 693enum hrtimer_restart;
 694#line 301
 695struct workqueue_struct;
 696#line 301
 697struct workqueue_struct;
 698#line 302
 699struct work_struct;
 700#line 302
 701struct work_struct;
 702#line 45 "include/linux/workqueue.h"
 703struct work_struct {
 704   atomic_long_t data ;
 705   struct list_head entry ;
 706   void (*func)(struct work_struct * ) ;
 707   struct lockdep_map lockdep_map ;
 708};
 709#line 86 "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 46 "include/linux/pm.h"
 719struct pm_message {
 720   int event ;
 721};
 722#line 52 "include/linux/pm.h"
 723typedef struct pm_message pm_message_t;
 724#line 53 "include/linux/pm.h"
 725struct dev_pm_ops {
 726   int (*prepare)(struct device * ) ;
 727   void (*complete)(struct device * ) ;
 728   int (*suspend)(struct device * ) ;
 729   int (*resume)(struct device * ) ;
 730   int (*freeze)(struct device * ) ;
 731   int (*thaw)(struct device * ) ;
 732   int (*poweroff)(struct device * ) ;
 733   int (*restore)(struct device * ) ;
 734   int (*suspend_late)(struct device * ) ;
 735   int (*resume_early)(struct device * ) ;
 736   int (*freeze_late)(struct device * ) ;
 737   int (*thaw_early)(struct device * ) ;
 738   int (*poweroff_late)(struct device * ) ;
 739   int (*restore_early)(struct device * ) ;
 740   int (*suspend_noirq)(struct device * ) ;
 741   int (*resume_noirq)(struct device * ) ;
 742   int (*freeze_noirq)(struct device * ) ;
 743   int (*thaw_noirq)(struct device * ) ;
 744   int (*poweroff_noirq)(struct device * ) ;
 745   int (*restore_noirq)(struct device * ) ;
 746   int (*runtime_suspend)(struct device * ) ;
 747   int (*runtime_resume)(struct device * ) ;
 748   int (*runtime_idle)(struct device * ) ;
 749};
 750#line 289
 751enum rpm_status {
 752    RPM_ACTIVE = 0,
 753    RPM_RESUMING = 1,
 754    RPM_SUSPENDED = 2,
 755    RPM_SUSPENDING = 3
 756} ;
 757#line 296
 758enum rpm_request {
 759    RPM_REQ_NONE = 0,
 760    RPM_REQ_IDLE = 1,
 761    RPM_REQ_SUSPEND = 2,
 762    RPM_REQ_AUTOSUSPEND = 3,
 763    RPM_REQ_RESUME = 4
 764} ;
 765#line 304
 766struct wakeup_source;
 767#line 304
 768struct wakeup_source;
 769#line 494 "include/linux/pm.h"
 770struct pm_subsys_data {
 771   spinlock_t lock ;
 772   unsigned int refcount ;
 773};
 774#line 499
 775struct dev_pm_qos_request;
 776#line 499
 777struct pm_qos_constraints;
 778#line 499 "include/linux/pm.h"
 779struct dev_pm_info {
 780   pm_message_t power_state ;
 781   unsigned char can_wakeup : 1 ;
 782   unsigned char async_suspend : 1 ;
 783   bool is_prepared ;
 784   bool is_suspended ;
 785   bool ignore_children ;
 786   spinlock_t lock ;
 787   struct list_head entry ;
 788   struct completion completion ;
 789   struct wakeup_source *wakeup ;
 790   bool wakeup_path ;
 791   struct timer_list suspend_timer ;
 792   unsigned long timer_expires ;
 793   struct work_struct work ;
 794   wait_queue_head_t wait_queue ;
 795   atomic_t usage_count ;
 796   atomic_t child_count ;
 797   unsigned char disable_depth : 3 ;
 798   unsigned char idle_notification : 1 ;
 799   unsigned char request_pending : 1 ;
 800   unsigned char deferred_resume : 1 ;
 801   unsigned char run_wake : 1 ;
 802   unsigned char runtime_auto : 1 ;
 803   unsigned char no_callbacks : 1 ;
 804   unsigned char irq_safe : 1 ;
 805   unsigned char use_autosuspend : 1 ;
 806   unsigned char timer_autosuspends : 1 ;
 807   enum rpm_request request ;
 808   enum rpm_status runtime_status ;
 809   int runtime_error ;
 810   int autosuspend_delay ;
 811   unsigned long last_busy ;
 812   unsigned long active_jiffies ;
 813   unsigned long suspended_jiffies ;
 814   unsigned long accounting_timestamp ;
 815   ktime_t suspend_time ;
 816   s64 max_time_suspended_ns ;
 817   struct dev_pm_qos_request *pq_req ;
 818   struct pm_subsys_data *subsys_data ;
 819   struct pm_qos_constraints *constraints ;
 820};
 821#line 558 "include/linux/pm.h"
 822struct dev_pm_domain {
 823   struct dev_pm_ops ops ;
 824};
 825#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/topology.h"
 826struct pci_bus;
 827#line 173
 828struct pci_bus;
 829#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 830struct __anonstruct_mm_context_t_101 {
 831   void *ldt ;
 832   int size ;
 833   unsigned short ia32_compat ;
 834   struct mutex lock ;
 835   void *vdso ;
 836};
 837#line 22 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/mmu.h"
 838typedef struct __anonstruct_mm_context_t_101 mm_context_t;
 839#line 18 "include/asm-generic/pci_iomap.h"
 840struct vm_area_struct;
 841#line 18
 842struct vm_area_struct;
 843#line 68 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/xen/hypervisor.h"
 844struct bio_vec;
 845#line 68
 846struct bio_vec;
 847#line 18 "include/linux/smp.h"
 848struct call_single_data {
 849   struct list_head list ;
 850   void (*func)(void * ) ;
 851   void *info ;
 852   u16 flags ;
 853   u16 priv ;
 854};
 855#line 835 "include/linux/sysctl.h"
 856struct rb_node {
 857   unsigned long rb_parent_color ;
 858   struct rb_node *rb_right ;
 859   struct rb_node *rb_left ;
 860};
 861#line 108 "include/linux/rbtree.h"
 862struct rb_root {
 863   struct rb_node *rb_node ;
 864};
 865#line 176
 866struct nsproxy;
 867#line 176
 868struct nsproxy;
 869#line 37 "include/linux/kmod.h"
 870struct cred;
 871#line 37
 872struct cred;
 873#line 18 "include/linux/elf.h"
 874typedef __u64 Elf64_Addr;
 875#line 19 "include/linux/elf.h"
 876typedef __u16 Elf64_Half;
 877#line 23 "include/linux/elf.h"
 878typedef __u32 Elf64_Word;
 879#line 24 "include/linux/elf.h"
 880typedef __u64 Elf64_Xword;
 881#line 193 "include/linux/elf.h"
 882struct elf64_sym {
 883   Elf64_Word st_name ;
 884   unsigned char st_info ;
 885   unsigned char st_other ;
 886   Elf64_Half st_shndx ;
 887   Elf64_Addr st_value ;
 888   Elf64_Xword st_size ;
 889};
 890#line 201 "include/linux/elf.h"
 891typedef struct elf64_sym Elf64_Sym;
 892#line 445
 893struct sock;
 894#line 445
 895struct sock;
 896#line 446
 897struct kobject;
 898#line 446
 899struct kobject;
 900#line 447
 901enum kobj_ns_type {
 902    KOBJ_NS_TYPE_NONE = 0,
 903    KOBJ_NS_TYPE_NET = 1,
 904    KOBJ_NS_TYPES = 2
 905} ;
 906#line 453 "include/linux/elf.h"
 907struct kobj_ns_type_operations {
 908   enum kobj_ns_type type ;
 909   void *(*grab_current_ns)(void) ;
 910   void const   *(*netlink_ns)(struct sock * ) ;
 911   void const   *(*initial_ns)(void) ;
 912   void (*drop_ns)(void * ) ;
 913};
 914#line 57 "include/linux/kobject_ns.h"
 915struct attribute {
 916   char const   *name ;
 917   umode_t mode ;
 918   struct lock_class_key *key ;
 919   struct lock_class_key skey ;
 920};
 921#line 33 "include/linux/sysfs.h"
 922struct attribute_group {
 923   char const   *name ;
 924   umode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
 925   struct attribute **attrs ;
 926};
 927#line 62 "include/linux/sysfs.h"
 928struct bin_attribute {
 929   struct attribute attr ;
 930   size_t size ;
 931   void *private ;
 932   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 933                   loff_t  , size_t  ) ;
 934   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
 935                    loff_t  , size_t  ) ;
 936   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
 937};
 938#line 98 "include/linux/sysfs.h"
 939struct sysfs_ops {
 940   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
 941   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
 942   void const   *(*namespace)(struct kobject * , struct attribute  const  * ) ;
 943};
 944#line 117
 945struct sysfs_dirent;
 946#line 117
 947struct sysfs_dirent;
 948#line 182 "include/linux/sysfs.h"
 949struct kref {
 950   atomic_t refcount ;
 951};
 952#line 49 "include/linux/kobject.h"
 953struct kset;
 954#line 49
 955struct kobj_type;
 956#line 49 "include/linux/kobject.h"
 957struct kobject {
 958   char const   *name ;
 959   struct list_head entry ;
 960   struct kobject *parent ;
 961   struct kset *kset ;
 962   struct kobj_type *ktype ;
 963   struct sysfs_dirent *sd ;
 964   struct kref kref ;
 965   unsigned char state_initialized : 1 ;
 966   unsigned char state_in_sysfs : 1 ;
 967   unsigned char state_add_uevent_sent : 1 ;
 968   unsigned char state_remove_uevent_sent : 1 ;
 969   unsigned char uevent_suppress : 1 ;
 970};
 971#line 107 "include/linux/kobject.h"
 972struct kobj_type {
 973   void (*release)(struct kobject * ) ;
 974   struct sysfs_ops  const  *sysfs_ops ;
 975   struct attribute **default_attrs ;
 976   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
 977   void const   *(*namespace)(struct kobject * ) ;
 978};
 979#line 115 "include/linux/kobject.h"
 980struct kobj_uevent_env {
 981   char *envp[32U] ;
 982   int envp_idx ;
 983   char buf[2048U] ;
 984   int buflen ;
 985};
 986#line 122 "include/linux/kobject.h"
 987struct kset_uevent_ops {
 988   int (* const  filter)(struct kset * , struct kobject * ) ;
 989   char const   *(* const  name)(struct kset * , struct kobject * ) ;
 990   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
 991};
 992#line 139 "include/linux/kobject.h"
 993struct kset {
 994   struct list_head list ;
 995   spinlock_t list_lock ;
 996   struct kobject kobj ;
 997   struct kset_uevent_ops  const  *uevent_ops ;
 998};
 999#line 215
1000struct kernel_param;
1001#line 215
1002struct kernel_param;
1003#line 216 "include/linux/kobject.h"
1004struct kernel_param_ops {
1005   int (*set)(char const   * , struct kernel_param  const  * ) ;
1006   int (*get)(char * , struct kernel_param  const  * ) ;
1007   void (*free)(void * ) ;
1008};
1009#line 49 "include/linux/moduleparam.h"
1010struct kparam_string;
1011#line 49
1012struct kparam_array;
1013#line 49 "include/linux/moduleparam.h"
1014union __anonunion_ldv_13363_134 {
1015   void *arg ;
1016   struct kparam_string  const  *str ;
1017   struct kparam_array  const  *arr ;
1018};
1019#line 49 "include/linux/moduleparam.h"
1020struct kernel_param {
1021   char const   *name ;
1022   struct kernel_param_ops  const  *ops ;
1023   u16 perm ;
1024   s16 level ;
1025   union __anonunion_ldv_13363_134 ldv_13363 ;
1026};
1027#line 61 "include/linux/moduleparam.h"
1028struct kparam_string {
1029   unsigned int maxlen ;
1030   char *string ;
1031};
1032#line 67 "include/linux/moduleparam.h"
1033struct kparam_array {
1034   unsigned int max ;
1035   unsigned int elemsize ;
1036   unsigned int *num ;
1037   struct kernel_param_ops  const  *ops ;
1038   void *elem ;
1039};
1040#line 458 "include/linux/moduleparam.h"
1041struct static_key {
1042   atomic_t enabled ;
1043};
1044#line 225 "include/linux/jump_label.h"
1045struct tracepoint;
1046#line 225
1047struct tracepoint;
1048#line 226 "include/linux/jump_label.h"
1049struct tracepoint_func {
1050   void *func ;
1051   void *data ;
1052};
1053#line 29 "include/linux/tracepoint.h"
1054struct tracepoint {
1055   char const   *name ;
1056   struct static_key key ;
1057   void (*regfunc)(void) ;
1058   void (*unregfunc)(void) ;
1059   struct tracepoint_func *funcs ;
1060};
1061#line 86 "include/linux/tracepoint.h"
1062struct kernel_symbol {
1063   unsigned long value ;
1064   char const   *name ;
1065};
1066#line 27 "include/linux/export.h"
1067struct mod_arch_specific {
1068
1069};
1070#line 34 "include/linux/module.h"
1071struct module_param_attrs;
1072#line 34 "include/linux/module.h"
1073struct module_kobject {
1074   struct kobject kobj ;
1075   struct module *mod ;
1076   struct kobject *drivers_dir ;
1077   struct module_param_attrs *mp ;
1078};
1079#line 43 "include/linux/module.h"
1080struct module_attribute {
1081   struct attribute attr ;
1082   ssize_t (*show)(struct module_attribute * , struct module_kobject * , char * ) ;
1083   ssize_t (*store)(struct module_attribute * , struct module_kobject * , char const   * ,
1084                    size_t  ) ;
1085   void (*setup)(struct module * , char const   * ) ;
1086   int (*test)(struct module * ) ;
1087   void (*free)(struct module * ) ;
1088};
1089#line 69
1090struct exception_table_entry;
1091#line 69
1092struct exception_table_entry;
1093#line 198
1094enum module_state {
1095    MODULE_STATE_LIVE = 0,
1096    MODULE_STATE_COMING = 1,
1097    MODULE_STATE_GOING = 2
1098} ;
1099#line 204 "include/linux/module.h"
1100struct module_ref {
1101   unsigned long incs ;
1102   unsigned long decs ;
1103};
1104#line 219
1105struct module_sect_attrs;
1106#line 219
1107struct module_notes_attrs;
1108#line 219
1109struct ftrace_event_call;
1110#line 219 "include/linux/module.h"
1111struct module {
1112   enum module_state state ;
1113   struct list_head list ;
1114   char name[56U] ;
1115   struct module_kobject mkobj ;
1116   struct module_attribute *modinfo_attrs ;
1117   char const   *version ;
1118   char const   *srcversion ;
1119   struct kobject *holders_dir ;
1120   struct kernel_symbol  const  *syms ;
1121   unsigned long const   *crcs ;
1122   unsigned int num_syms ;
1123   struct kernel_param *kp ;
1124   unsigned int num_kp ;
1125   unsigned int num_gpl_syms ;
1126   struct kernel_symbol  const  *gpl_syms ;
1127   unsigned long const   *gpl_crcs ;
1128   struct kernel_symbol  const  *unused_syms ;
1129   unsigned long const   *unused_crcs ;
1130   unsigned int num_unused_syms ;
1131   unsigned int num_unused_gpl_syms ;
1132   struct kernel_symbol  const  *unused_gpl_syms ;
1133   unsigned long const   *unused_gpl_crcs ;
1134   struct kernel_symbol  const  *gpl_future_syms ;
1135   unsigned long const   *gpl_future_crcs ;
1136   unsigned int num_gpl_future_syms ;
1137   unsigned int num_exentries ;
1138   struct exception_table_entry *extable ;
1139   int (*init)(void) ;
1140   void *module_init ;
1141   void *module_core ;
1142   unsigned int init_size ;
1143   unsigned int core_size ;
1144   unsigned int init_text_size ;
1145   unsigned int core_text_size ;
1146   unsigned int init_ro_size ;
1147   unsigned int core_ro_size ;
1148   struct mod_arch_specific arch ;
1149   unsigned int taints ;
1150   unsigned int num_bugs ;
1151   struct list_head bug_list ;
1152   struct bug_entry *bug_table ;
1153   Elf64_Sym *symtab ;
1154   Elf64_Sym *core_symtab ;
1155   unsigned int num_symtab ;
1156   unsigned int core_num_syms ;
1157   char *strtab ;
1158   char *core_strtab ;
1159   struct module_sect_attrs *sect_attrs ;
1160   struct module_notes_attrs *notes_attrs ;
1161   char *args ;
1162   void *percpu ;
1163   unsigned int percpu_size ;
1164   unsigned int num_tracepoints ;
1165   struct tracepoint * const  *tracepoints_ptrs ;
1166   unsigned int num_trace_bprintk_fmt ;
1167   char const   **trace_bprintk_fmt_start ;
1168   struct ftrace_event_call **trace_events ;
1169   unsigned int num_trace_events ;
1170   struct list_head source_list ;
1171   struct list_head target_list ;
1172   struct task_struct *waiter ;
1173   void (*exit)(void) ;
1174   struct module_ref *refptr ;
1175   ctor_fn_t (**ctors)(void) ;
1176   unsigned int num_ctors ;
1177};
1178#line 88 "include/linux/kmemleak.h"
1179struct kmem_cache_cpu {
1180   void **freelist ;
1181   unsigned long tid ;
1182   struct page *page ;
1183   struct page *partial ;
1184   int node ;
1185   unsigned int stat[26U] ;
1186};
1187#line 55 "include/linux/slub_def.h"
1188struct kmem_cache_node {
1189   spinlock_t list_lock ;
1190   unsigned long nr_partial ;
1191   struct list_head partial ;
1192   atomic_long_t nr_slabs ;
1193   atomic_long_t total_objects ;
1194   struct list_head full ;
1195};
1196#line 66 "include/linux/slub_def.h"
1197struct kmem_cache_order_objects {
1198   unsigned long x ;
1199};
1200#line 76 "include/linux/slub_def.h"
1201struct kmem_cache {
1202   struct kmem_cache_cpu *cpu_slab ;
1203   unsigned long flags ;
1204   unsigned long min_partial ;
1205   int size ;
1206   int objsize ;
1207   int offset ;
1208   int cpu_partial ;
1209   struct kmem_cache_order_objects oo ;
1210   struct kmem_cache_order_objects max ;
1211   struct kmem_cache_order_objects min ;
1212   gfp_t allocflags ;
1213   int refcount ;
1214   void (*ctor)(void * ) ;
1215   int inuse ;
1216   int align ;
1217   int reserved ;
1218   char const   *name ;
1219   struct list_head list ;
1220   struct kobject kobj ;
1221   int remote_node_defrag_ratio ;
1222   struct kmem_cache_node *node[1024U] ;
1223};
1224#line 15 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
1225enum irqreturn {
1226    IRQ_NONE = 0,
1227    IRQ_HANDLED = 1,
1228    IRQ_WAKE_THREAD = 2
1229} ;
1230#line 16 "include/linux/irqreturn.h"
1231typedef enum irqreturn irqreturn_t;
1232#line 348 "include/linux/irq.h"
1233struct proc_dir_entry;
1234#line 348
1235struct proc_dir_entry;
1236#line 349
1237struct timer_rand_state;
1238#line 349
1239struct timer_rand_state;
1240#line 41 "include/asm-generic/sections.h"
1241struct exception_table_entry {
1242   unsigned long insn ;
1243   unsigned long fixup ;
1244};
1245#line 189 "include/linux/hardirq.h"
1246struct timerqueue_node {
1247   struct rb_node node ;
1248   ktime_t expires ;
1249};
1250#line 12 "include/linux/timerqueue.h"
1251struct timerqueue_head {
1252   struct rb_root head ;
1253   struct timerqueue_node *next ;
1254};
1255#line 50
1256struct hrtimer_clock_base;
1257#line 50
1258struct hrtimer_clock_base;
1259#line 51
1260struct hrtimer_cpu_base;
1261#line 51
1262struct hrtimer_cpu_base;
1263#line 60
1264enum hrtimer_restart {
1265    HRTIMER_NORESTART = 0,
1266    HRTIMER_RESTART = 1
1267} ;
1268#line 65 "include/linux/timerqueue.h"
1269struct hrtimer {
1270   struct timerqueue_node node ;
1271   ktime_t _softexpires ;
1272   enum hrtimer_restart (*function)(struct hrtimer * ) ;
1273   struct hrtimer_clock_base *base ;
1274   unsigned long state ;
1275   int start_pid ;
1276   void *start_site ;
1277   char start_comm[16U] ;
1278};
1279#line 132 "include/linux/hrtimer.h"
1280struct hrtimer_clock_base {
1281   struct hrtimer_cpu_base *cpu_base ;
1282   int index ;
1283   clockid_t clockid ;
1284   struct timerqueue_head active ;
1285   ktime_t resolution ;
1286   ktime_t (*get_time)(void) ;
1287   ktime_t softirq_time ;
1288   ktime_t offset ;
1289};
1290#line 162 "include/linux/hrtimer.h"
1291struct hrtimer_cpu_base {
1292   raw_spinlock_t lock ;
1293   unsigned long active_bases ;
1294   ktime_t expires_next ;
1295   int hres_active ;
1296   int hang_detected ;
1297   unsigned long nr_events ;
1298   unsigned long nr_retries ;
1299   unsigned long nr_hangs ;
1300   ktime_t max_hang_time ;
1301   struct hrtimer_clock_base clock_base[3U] ;
1302};
1303#line 93 "include/linux/capability.h"
1304struct kernel_cap_struct {
1305   __u32 cap[2U] ;
1306};
1307#line 96 "include/linux/capability.h"
1308typedef struct kernel_cap_struct kernel_cap_t;
1309#line 104
1310struct dentry;
1311#line 104
1312struct dentry;
1313#line 105
1314struct user_namespace;
1315#line 105
1316struct user_namespace;
1317#line 554
1318struct prio_tree_node;
1319#line 554 "include/linux/capability.h"
1320struct raw_prio_tree_node {
1321   struct prio_tree_node *left ;
1322   struct prio_tree_node *right ;
1323   struct prio_tree_node *parent ;
1324};
1325#line 19 "include/linux/prio_tree.h"
1326struct prio_tree_node {
1327   struct prio_tree_node *left ;
1328   struct prio_tree_node *right ;
1329   struct prio_tree_node *parent ;
1330   unsigned long start ;
1331   unsigned long last ;
1332};
1333#line 27 "include/linux/prio_tree.h"
1334struct prio_tree_root {
1335   struct prio_tree_node *prio_tree_node ;
1336   unsigned short index_bits ;
1337   unsigned short raw ;
1338};
1339#line 116
1340struct address_space;
1341#line 116
1342struct address_space;
1343#line 117 "include/linux/prio_tree.h"
1344union __anonunion_ldv_15945_138 {
1345   unsigned long index ;
1346   void *freelist ;
1347};
1348#line 117 "include/linux/prio_tree.h"
1349struct __anonstruct_ldv_15955_142 {
1350   unsigned short inuse ;
1351   unsigned short objects : 15 ;
1352   unsigned char frozen : 1 ;
1353};
1354#line 117 "include/linux/prio_tree.h"
1355union __anonunion_ldv_15956_141 {
1356   atomic_t _mapcount ;
1357   struct __anonstruct_ldv_15955_142 ldv_15955 ;
1358};
1359#line 117 "include/linux/prio_tree.h"
1360struct __anonstruct_ldv_15958_140 {
1361   union __anonunion_ldv_15956_141 ldv_15956 ;
1362   atomic_t _count ;
1363};
1364#line 117 "include/linux/prio_tree.h"
1365union __anonunion_ldv_15959_139 {
1366   unsigned long counters ;
1367   struct __anonstruct_ldv_15958_140 ldv_15958 ;
1368};
1369#line 117 "include/linux/prio_tree.h"
1370struct __anonstruct_ldv_15960_137 {
1371   union __anonunion_ldv_15945_138 ldv_15945 ;
1372   union __anonunion_ldv_15959_139 ldv_15959 ;
1373};
1374#line 117 "include/linux/prio_tree.h"
1375struct __anonstruct_ldv_15967_144 {
1376   struct page *next ;
1377   int pages ;
1378   int pobjects ;
1379};
1380#line 117 "include/linux/prio_tree.h"
1381union __anonunion_ldv_15968_143 {
1382   struct list_head lru ;
1383   struct __anonstruct_ldv_15967_144 ldv_15967 ;
1384};
1385#line 117 "include/linux/prio_tree.h"
1386union __anonunion_ldv_15973_145 {
1387   unsigned long private ;
1388   struct kmem_cache *slab ;
1389   struct page *first_page ;
1390};
1391#line 117 "include/linux/prio_tree.h"
1392struct page {
1393   unsigned long flags ;
1394   struct address_space *mapping ;
1395   struct __anonstruct_ldv_15960_137 ldv_15960 ;
1396   union __anonunion_ldv_15968_143 ldv_15968 ;
1397   union __anonunion_ldv_15973_145 ldv_15973 ;
1398   unsigned long debug_flags ;
1399};
1400#line 192 "include/linux/mm_types.h"
1401struct __anonstruct_vm_set_147 {
1402   struct list_head list ;
1403   void *parent ;
1404   struct vm_area_struct *head ;
1405};
1406#line 192 "include/linux/mm_types.h"
1407union __anonunion_shared_146 {
1408   struct __anonstruct_vm_set_147 vm_set ;
1409   struct raw_prio_tree_node prio_tree_node ;
1410};
1411#line 192
1412struct anon_vma;
1413#line 192
1414struct vm_operations_struct;
1415#line 192
1416struct mempolicy;
1417#line 192 "include/linux/mm_types.h"
1418struct vm_area_struct {
1419   struct mm_struct *vm_mm ;
1420   unsigned long vm_start ;
1421   unsigned long vm_end ;
1422   struct vm_area_struct *vm_next ;
1423   struct vm_area_struct *vm_prev ;
1424   pgprot_t vm_page_prot ;
1425   unsigned long vm_flags ;
1426   struct rb_node vm_rb ;
1427   union __anonunion_shared_146 shared ;
1428   struct list_head anon_vma_chain ;
1429   struct anon_vma *anon_vma ;
1430   struct vm_operations_struct  const  *vm_ops ;
1431   unsigned long vm_pgoff ;
1432   struct file *vm_file ;
1433   void *vm_private_data ;
1434   struct mempolicy *vm_policy ;
1435};
1436#line 255 "include/linux/mm_types.h"
1437struct core_thread {
1438   struct task_struct *task ;
1439   struct core_thread *next ;
1440};
1441#line 261 "include/linux/mm_types.h"
1442struct core_state {
1443   atomic_t nr_threads ;
1444   struct core_thread dumper ;
1445   struct completion startup ;
1446};
1447#line 274 "include/linux/mm_types.h"
1448struct mm_rss_stat {
1449   atomic_long_t count[3U] ;
1450};
1451#line 287
1452struct linux_binfmt;
1453#line 287
1454struct mmu_notifier_mm;
1455#line 287 "include/linux/mm_types.h"
1456struct mm_struct {
1457   struct vm_area_struct *mmap ;
1458   struct rb_root mm_rb ;
1459   struct vm_area_struct *mmap_cache ;
1460   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
1461                                      unsigned long  , unsigned long  ) ;
1462   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
1463   unsigned long mmap_base ;
1464   unsigned long task_size ;
1465   unsigned long cached_hole_size ;
1466   unsigned long free_area_cache ;
1467   pgd_t *pgd ;
1468   atomic_t mm_users ;
1469   atomic_t mm_count ;
1470   int map_count ;
1471   spinlock_t page_table_lock ;
1472   struct rw_semaphore mmap_sem ;
1473   struct list_head mmlist ;
1474   unsigned long hiwater_rss ;
1475   unsigned long hiwater_vm ;
1476   unsigned long total_vm ;
1477   unsigned long locked_vm ;
1478   unsigned long pinned_vm ;
1479   unsigned long shared_vm ;
1480   unsigned long exec_vm ;
1481   unsigned long stack_vm ;
1482   unsigned long reserved_vm ;
1483   unsigned long def_flags ;
1484   unsigned long nr_ptes ;
1485   unsigned long start_code ;
1486   unsigned long end_code ;
1487   unsigned long start_data ;
1488   unsigned long end_data ;
1489   unsigned long start_brk ;
1490   unsigned long brk ;
1491   unsigned long start_stack ;
1492   unsigned long arg_start ;
1493   unsigned long arg_end ;
1494   unsigned long env_start ;
1495   unsigned long env_end ;
1496   unsigned long saved_auxv[44U] ;
1497   struct mm_rss_stat rss_stat ;
1498   struct linux_binfmt *binfmt ;
1499   cpumask_var_t cpu_vm_mask_var ;
1500   mm_context_t context ;
1501   unsigned int faultstamp ;
1502   unsigned int token_priority ;
1503   unsigned int last_interval ;
1504   unsigned long flags ;
1505   struct core_state *core_state ;
1506   spinlock_t ioctx_lock ;
1507   struct hlist_head ioctx_list ;
1508   struct task_struct *owner ;
1509   struct file *exe_file ;
1510   unsigned long num_exe_file_vmas ;
1511   struct mmu_notifier_mm *mmu_notifier_mm ;
1512   pgtable_t pmd_huge_pte ;
1513   struct cpumask cpumask_allocation ;
1514};
1515#line 7 "include/asm-generic/cputime.h"
1516typedef unsigned long cputime_t;
1517#line 98 "include/linux/sem.h"
1518struct sem_undo_list;
1519#line 98 "include/linux/sem.h"
1520struct sysv_sem {
1521   struct sem_undo_list *undo_list ;
1522};
1523#line 107
1524struct siginfo;
1525#line 107
1526struct siginfo;
1527#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1528struct __anonstruct_sigset_t_148 {
1529   unsigned long sig[1U] ;
1530};
1531#line 32 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1532typedef struct __anonstruct_sigset_t_148 sigset_t;
1533#line 17 "include/asm-generic/signal-defs.h"
1534typedef void __signalfn_t(int  );
1535#line 18 "include/asm-generic/signal-defs.h"
1536typedef __signalfn_t *__sighandler_t;
1537#line 20 "include/asm-generic/signal-defs.h"
1538typedef void __restorefn_t(void);
1539#line 21 "include/asm-generic/signal-defs.h"
1540typedef __restorefn_t *__sigrestore_t;
1541#line 126 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1542struct sigaction {
1543   __sighandler_t sa_handler ;
1544   unsigned long sa_flags ;
1545   __sigrestore_t sa_restorer ;
1546   sigset_t sa_mask ;
1547};
1548#line 173 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1549struct k_sigaction {
1550   struct sigaction sa ;
1551};
1552#line 185 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/signal.h"
1553union sigval {
1554   int sival_int ;
1555   void *sival_ptr ;
1556};
1557#line 10 "include/asm-generic/siginfo.h"
1558typedef union sigval sigval_t;
1559#line 11 "include/asm-generic/siginfo.h"
1560struct __anonstruct__kill_150 {
1561   __kernel_pid_t _pid ;
1562   __kernel_uid32_t _uid ;
1563};
1564#line 11 "include/asm-generic/siginfo.h"
1565struct __anonstruct__timer_151 {
1566   __kernel_timer_t _tid ;
1567   int _overrun ;
1568   char _pad[0U] ;
1569   sigval_t _sigval ;
1570   int _sys_private ;
1571};
1572#line 11 "include/asm-generic/siginfo.h"
1573struct __anonstruct__rt_152 {
1574   __kernel_pid_t _pid ;
1575   __kernel_uid32_t _uid ;
1576   sigval_t _sigval ;
1577};
1578#line 11 "include/asm-generic/siginfo.h"
1579struct __anonstruct__sigchld_153 {
1580   __kernel_pid_t _pid ;
1581   __kernel_uid32_t _uid ;
1582   int _status ;
1583   __kernel_clock_t _utime ;
1584   __kernel_clock_t _stime ;
1585};
1586#line 11 "include/asm-generic/siginfo.h"
1587struct __anonstruct__sigfault_154 {
1588   void *_addr ;
1589   short _addr_lsb ;
1590};
1591#line 11 "include/asm-generic/siginfo.h"
1592struct __anonstruct__sigpoll_155 {
1593   long _band ;
1594   int _fd ;
1595};
1596#line 11 "include/asm-generic/siginfo.h"
1597union __anonunion__sifields_149 {
1598   int _pad[28U] ;
1599   struct __anonstruct__kill_150 _kill ;
1600   struct __anonstruct__timer_151 _timer ;
1601   struct __anonstruct__rt_152 _rt ;
1602   struct __anonstruct__sigchld_153 _sigchld ;
1603   struct __anonstruct__sigfault_154 _sigfault ;
1604   struct __anonstruct__sigpoll_155 _sigpoll ;
1605};
1606#line 11 "include/asm-generic/siginfo.h"
1607struct siginfo {
1608   int si_signo ;
1609   int si_errno ;
1610   int si_code ;
1611   union __anonunion__sifields_149 _sifields ;
1612};
1613#line 102 "include/asm-generic/siginfo.h"
1614typedef struct siginfo siginfo_t;
1615#line 14 "include/linux/signal.h"
1616struct user_struct;
1617#line 24 "include/linux/signal.h"
1618struct sigpending {
1619   struct list_head list ;
1620   sigset_t signal ;
1621};
1622#line 388
1623enum pid_type {
1624    PIDTYPE_PID = 0,
1625    PIDTYPE_PGID = 1,
1626    PIDTYPE_SID = 2,
1627    PIDTYPE_MAX = 3
1628} ;
1629#line 395
1630struct pid_namespace;
1631#line 395 "include/linux/signal.h"
1632struct upid {
1633   int nr ;
1634   struct pid_namespace *ns ;
1635   struct hlist_node pid_chain ;
1636};
1637#line 56 "include/linux/pid.h"
1638struct pid {
1639   atomic_t count ;
1640   unsigned int level ;
1641   struct hlist_head tasks[3U] ;
1642   struct rcu_head rcu ;
1643   struct upid numbers[1U] ;
1644};
1645#line 68 "include/linux/pid.h"
1646struct pid_link {
1647   struct hlist_node node ;
1648   struct pid *pid ;
1649};
1650#line 175 "include/linux/pid.h"
1651struct percpu_counter {
1652   raw_spinlock_t lock ;
1653   s64 count ;
1654   struct list_head list ;
1655   s32 *counters ;
1656};
1657#line 45 "include/linux/proportions.h"
1658struct prop_local_percpu {
1659   struct percpu_counter events ;
1660   int shift ;
1661   unsigned long period ;
1662   raw_spinlock_t lock ;
1663};
1664#line 10 "include/linux/seccomp.h"
1665struct __anonstruct_seccomp_t_158 {
1666   int mode ;
1667};
1668#line 10 "include/linux/seccomp.h"
1669typedef struct __anonstruct_seccomp_t_158 seccomp_t;
1670#line 427 "include/linux/rculist.h"
1671struct plist_head {
1672   struct list_head node_list ;
1673};
1674#line 84 "include/linux/plist.h"
1675struct plist_node {
1676   int prio ;
1677   struct list_head prio_list ;
1678   struct list_head node_list ;
1679};
1680#line 38 "include/linux/rtmutex.h"
1681struct rt_mutex_waiter;
1682#line 38
1683struct rt_mutex_waiter;
1684#line 41 "include/linux/resource.h"
1685struct rlimit {
1686   unsigned long rlim_cur ;
1687   unsigned long rlim_max ;
1688};
1689#line 85 "include/linux/resource.h"
1690struct task_io_accounting {
1691   u64 rchar ;
1692   u64 wchar ;
1693   u64 syscr ;
1694   u64 syscw ;
1695   u64 read_bytes ;
1696   u64 write_bytes ;
1697   u64 cancelled_write_bytes ;
1698};
1699#line 45 "include/linux/task_io_accounting.h"
1700struct latency_record {
1701   unsigned long backtrace[12U] ;
1702   unsigned int count ;
1703   unsigned long time ;
1704   unsigned long max ;
1705};
1706#line 29 "include/linux/key.h"
1707typedef int32_t key_serial_t;
1708#line 32 "include/linux/key.h"
1709typedef uint32_t key_perm_t;
1710#line 33
1711struct key;
1712#line 33
1713struct key;
1714#line 34
1715struct signal_struct;
1716#line 34
1717struct signal_struct;
1718#line 35
1719struct key_type;
1720#line 35
1721struct key_type;
1722#line 37
1723struct keyring_list;
1724#line 37
1725struct keyring_list;
1726#line 115
1727struct key_user;
1728#line 115 "include/linux/key.h"
1729union __anonunion_ldv_16970_159 {
1730   time_t expiry ;
1731   time_t revoked_at ;
1732};
1733#line 115 "include/linux/key.h"
1734union __anonunion_type_data_160 {
1735   struct list_head link ;
1736   unsigned long x[2U] ;
1737   void *p[2U] ;
1738   int reject_error ;
1739};
1740#line 115 "include/linux/key.h"
1741union __anonunion_payload_161 {
1742   unsigned long value ;
1743   void *rcudata ;
1744   void *data ;
1745   struct keyring_list *subscriptions ;
1746};
1747#line 115 "include/linux/key.h"
1748struct key {
1749   atomic_t usage ;
1750   key_serial_t serial ;
1751   struct rb_node serial_node ;
1752   struct key_type *type ;
1753   struct rw_semaphore sem ;
1754   struct key_user *user ;
1755   void *security ;
1756   union __anonunion_ldv_16970_159 ldv_16970 ;
1757   uid_t uid ;
1758   gid_t gid ;
1759   key_perm_t perm ;
1760   unsigned short quotalen ;
1761   unsigned short datalen ;
1762   unsigned long flags ;
1763   char *description ;
1764   union __anonunion_type_data_160 type_data ;
1765   union __anonunion_payload_161 payload ;
1766};
1767#line 316
1768struct audit_context;
1769#line 316
1770struct audit_context;
1771#line 27 "include/linux/selinux.h"
1772struct inode;
1773#line 27
1774struct inode;
1775#line 28 "include/linux/selinux.h"
1776struct group_info {
1777   atomic_t usage ;
1778   int ngroups ;
1779   int nblocks ;
1780   gid_t small_block[32U] ;
1781   gid_t *blocks[0U] ;
1782};
1783#line 77 "include/linux/cred.h"
1784struct thread_group_cred {
1785   atomic_t usage ;
1786   pid_t tgid ;
1787   spinlock_t lock ;
1788   struct key *session_keyring ;
1789   struct key *process_keyring ;
1790   struct rcu_head rcu ;
1791};
1792#line 91 "include/linux/cred.h"
1793struct cred {
1794   atomic_t usage ;
1795   atomic_t subscribers ;
1796   void *put_addr ;
1797   unsigned int magic ;
1798   uid_t uid ;
1799   gid_t gid ;
1800   uid_t suid ;
1801   gid_t sgid ;
1802   uid_t euid ;
1803   gid_t egid ;
1804   uid_t fsuid ;
1805   gid_t fsgid ;
1806   unsigned int securebits ;
1807   kernel_cap_t cap_inheritable ;
1808   kernel_cap_t cap_permitted ;
1809   kernel_cap_t cap_effective ;
1810   kernel_cap_t cap_bset ;
1811   unsigned char jit_keyring ;
1812   struct key *thread_keyring ;
1813   struct key *request_key_auth ;
1814   struct thread_group_cred *tgcred ;
1815   void *security ;
1816   struct user_struct *user ;
1817   struct user_namespace *user_ns ;
1818   struct group_info *group_info ;
1819   struct rcu_head rcu ;
1820};
1821#line 264
1822struct llist_node;
1823#line 64 "include/linux/llist.h"
1824struct llist_node {
1825   struct llist_node *next ;
1826};
1827#line 185
1828struct futex_pi_state;
1829#line 185
1830struct futex_pi_state;
1831#line 186
1832struct robust_list_head;
1833#line 186
1834struct robust_list_head;
1835#line 187
1836struct bio_list;
1837#line 187
1838struct bio_list;
1839#line 188
1840struct fs_struct;
1841#line 188
1842struct fs_struct;
1843#line 189
1844struct perf_event_context;
1845#line 189
1846struct perf_event_context;
1847#line 190
1848struct blk_plug;
1849#line 190
1850struct blk_plug;
1851#line 149 "include/linux/sched.h"
1852struct cfs_rq;
1853#line 149
1854struct cfs_rq;
1855#line 44 "include/linux/aio_abi.h"
1856struct io_event {
1857   __u64 data ;
1858   __u64 obj ;
1859   __s64 res ;
1860   __s64 res2 ;
1861};
1862#line 106 "include/linux/aio_abi.h"
1863struct iovec {
1864   void *iov_base ;
1865   __kernel_size_t iov_len ;
1866};
1867#line 54 "include/linux/uio.h"
1868struct kioctx;
1869#line 54
1870struct kioctx;
1871#line 55 "include/linux/uio.h"
1872union __anonunion_ki_obj_162 {
1873   void *user ;
1874   struct task_struct *tsk ;
1875};
1876#line 55
1877struct eventfd_ctx;
1878#line 55 "include/linux/uio.h"
1879struct kiocb {
1880   struct list_head ki_run_list ;
1881   unsigned long ki_flags ;
1882   int ki_users ;
1883   unsigned int ki_key ;
1884   struct file *ki_filp ;
1885   struct kioctx *ki_ctx ;
1886   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
1887   ssize_t (*ki_retry)(struct kiocb * ) ;
1888   void (*ki_dtor)(struct kiocb * ) ;
1889   union __anonunion_ki_obj_162 ki_obj ;
1890   __u64 ki_user_data ;
1891   loff_t ki_pos ;
1892   void *private ;
1893   unsigned short ki_opcode ;
1894   size_t ki_nbytes ;
1895   char *ki_buf ;
1896   size_t ki_left ;
1897   struct iovec ki_inline_vec ;
1898   struct iovec *ki_iovec ;
1899   unsigned long ki_nr_segs ;
1900   unsigned long ki_cur_seg ;
1901   struct list_head ki_list ;
1902   struct list_head ki_batch ;
1903   struct eventfd_ctx *ki_eventfd ;
1904};
1905#line 162 "include/linux/aio.h"
1906struct aio_ring_info {
1907   unsigned long mmap_base ;
1908   unsigned long mmap_size ;
1909   struct page **ring_pages ;
1910   spinlock_t ring_lock ;
1911   long nr_pages ;
1912   unsigned int nr ;
1913   unsigned int tail ;
1914   struct page *internal_pages[8U] ;
1915};
1916#line 178 "include/linux/aio.h"
1917struct kioctx {
1918   atomic_t users ;
1919   int dead ;
1920   struct mm_struct *mm ;
1921   unsigned long user_id ;
1922   struct hlist_node list ;
1923   wait_queue_head_t wait ;
1924   spinlock_t ctx_lock ;
1925   int reqs_active ;
1926   struct list_head active_reqs ;
1927   struct list_head run_list ;
1928   unsigned int max_reqs ;
1929   struct aio_ring_info ring_info ;
1930   struct delayed_work wq ;
1931   struct rcu_head rcu_head ;
1932};
1933#line 406 "include/linux/sched.h"
1934struct sighand_struct {
1935   atomic_t count ;
1936   struct k_sigaction action[64U] ;
1937   spinlock_t siglock ;
1938   wait_queue_head_t signalfd_wqh ;
1939};
1940#line 449 "include/linux/sched.h"
1941struct pacct_struct {
1942   int ac_flag ;
1943   long ac_exitcode ;
1944   unsigned long ac_mem ;
1945   cputime_t ac_utime ;
1946   cputime_t ac_stime ;
1947   unsigned long ac_minflt ;
1948   unsigned long ac_majflt ;
1949};
1950#line 457 "include/linux/sched.h"
1951struct cpu_itimer {
1952   cputime_t expires ;
1953   cputime_t incr ;
1954   u32 error ;
1955   u32 incr_error ;
1956};
1957#line 464 "include/linux/sched.h"
1958struct task_cputime {
1959   cputime_t utime ;
1960   cputime_t stime ;
1961   unsigned long long sum_exec_runtime ;
1962};
1963#line 481 "include/linux/sched.h"
1964struct thread_group_cputimer {
1965   struct task_cputime cputime ;
1966   int running ;
1967   raw_spinlock_t lock ;
1968};
1969#line 517
1970struct autogroup;
1971#line 517
1972struct autogroup;
1973#line 518
1974struct tty_struct;
1975#line 518
1976struct taskstats;
1977#line 518
1978struct tty_audit_buf;
1979#line 518 "include/linux/sched.h"
1980struct signal_struct {
1981   atomic_t sigcnt ;
1982   atomic_t live ;
1983   int nr_threads ;
1984   wait_queue_head_t wait_chldexit ;
1985   struct task_struct *curr_target ;
1986   struct sigpending shared_pending ;
1987   int group_exit_code ;
1988   int notify_count ;
1989   struct task_struct *group_exit_task ;
1990   int group_stop_count ;
1991   unsigned int flags ;
1992   unsigned char is_child_subreaper : 1 ;
1993   unsigned char has_child_subreaper : 1 ;
1994   struct list_head posix_timers ;
1995   struct hrtimer real_timer ;
1996   struct pid *leader_pid ;
1997   ktime_t it_real_incr ;
1998   struct cpu_itimer it[2U] ;
1999   struct thread_group_cputimer cputimer ;
2000   struct task_cputime cputime_expires ;
2001   struct list_head cpu_timers[3U] ;
2002   struct pid *tty_old_pgrp ;
2003   int leader ;
2004   struct tty_struct *tty ;
2005   struct autogroup *autogroup ;
2006   cputime_t utime ;
2007   cputime_t stime ;
2008   cputime_t cutime ;
2009   cputime_t cstime ;
2010   cputime_t gtime ;
2011   cputime_t cgtime ;
2012   cputime_t prev_utime ;
2013   cputime_t prev_stime ;
2014   unsigned long nvcsw ;
2015   unsigned long nivcsw ;
2016   unsigned long cnvcsw ;
2017   unsigned long cnivcsw ;
2018   unsigned long min_flt ;
2019   unsigned long maj_flt ;
2020   unsigned long cmin_flt ;
2021   unsigned long cmaj_flt ;
2022   unsigned long inblock ;
2023   unsigned long oublock ;
2024   unsigned long cinblock ;
2025   unsigned long coublock ;
2026   unsigned long maxrss ;
2027   unsigned long cmaxrss ;
2028   struct task_io_accounting ioac ;
2029   unsigned long long sum_sched_runtime ;
2030   struct rlimit rlim[16U] ;
2031   struct pacct_struct pacct ;
2032   struct taskstats *stats ;
2033   unsigned int audit_tty ;
2034   struct tty_audit_buf *tty_audit_buf ;
2035   struct rw_semaphore group_rwsem ;
2036   int oom_adj ;
2037   int oom_score_adj ;
2038   int oom_score_adj_min ;
2039   struct mutex cred_guard_mutex ;
2040};
2041#line 699 "include/linux/sched.h"
2042struct user_struct {
2043   atomic_t __count ;
2044   atomic_t processes ;
2045   atomic_t files ;
2046   atomic_t sigpending ;
2047   atomic_t inotify_watches ;
2048   atomic_t inotify_devs ;
2049   atomic_t fanotify_listeners ;
2050   atomic_long_t epoll_watches ;
2051   unsigned long mq_bytes ;
2052   unsigned long locked_shm ;
2053   struct key *uid_keyring ;
2054   struct key *session_keyring ;
2055   struct hlist_node uidhash_node ;
2056   uid_t uid ;
2057   struct user_namespace *user_ns ;
2058   atomic_long_t locked_vm ;
2059};
2060#line 744
2061struct backing_dev_info;
2062#line 744
2063struct backing_dev_info;
2064#line 745
2065struct reclaim_state;
2066#line 745
2067struct reclaim_state;
2068#line 746 "include/linux/sched.h"
2069struct sched_info {
2070   unsigned long pcount ;
2071   unsigned long long run_delay ;
2072   unsigned long long last_arrival ;
2073   unsigned long long last_queued ;
2074};
2075#line 760 "include/linux/sched.h"
2076struct task_delay_info {
2077   spinlock_t lock ;
2078   unsigned int flags ;
2079   struct timespec blkio_start ;
2080   struct timespec blkio_end ;
2081   u64 blkio_delay ;
2082   u64 swapin_delay ;
2083   u32 blkio_count ;
2084   u32 swapin_count ;
2085   struct timespec freepages_start ;
2086   struct timespec freepages_end ;
2087   u64 freepages_delay ;
2088   u32 freepages_count ;
2089};
2090#line 1069
2091struct io_context;
2092#line 1069
2093struct io_context;
2094#line 1097
2095struct pipe_inode_info;
2096#line 1097
2097struct pipe_inode_info;
2098#line 1099
2099struct rq;
2100#line 1099
2101struct rq;
2102#line 1100 "include/linux/sched.h"
2103struct sched_class {
2104   struct sched_class  const  *next ;
2105   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
2106   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
2107   void (*yield_task)(struct rq * ) ;
2108   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
2109   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
2110   struct task_struct *(*pick_next_task)(struct rq * ) ;
2111   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
2112   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
2113   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
2114   void (*post_schedule)(struct rq * ) ;
2115   void (*task_waking)(struct task_struct * ) ;
2116   void (*task_woken)(struct rq * , struct task_struct * ) ;
2117   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
2118   void (*rq_online)(struct rq * ) ;
2119   void (*rq_offline)(struct rq * ) ;
2120   void (*set_curr_task)(struct rq * ) ;
2121   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
2122   void (*task_fork)(struct task_struct * ) ;
2123   void (*switched_from)(struct rq * , struct task_struct * ) ;
2124   void (*switched_to)(struct rq * , struct task_struct * ) ;
2125   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
2126   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
2127   void (*task_move_group)(struct task_struct * , int  ) ;
2128};
2129#line 1165 "include/linux/sched.h"
2130struct load_weight {
2131   unsigned long weight ;
2132   unsigned long inv_weight ;
2133};
2134#line 1170 "include/linux/sched.h"
2135struct sched_statistics {
2136   u64 wait_start ;
2137   u64 wait_max ;
2138   u64 wait_count ;
2139   u64 wait_sum ;
2140   u64 iowait_count ;
2141   u64 iowait_sum ;
2142   u64 sleep_start ;
2143   u64 sleep_max ;
2144   s64 sum_sleep_runtime ;
2145   u64 block_start ;
2146   u64 block_max ;
2147   u64 exec_max ;
2148   u64 slice_max ;
2149   u64 nr_migrations_cold ;
2150   u64 nr_failed_migrations_affine ;
2151   u64 nr_failed_migrations_running ;
2152   u64 nr_failed_migrations_hot ;
2153   u64 nr_forced_migrations ;
2154   u64 nr_wakeups ;
2155   u64 nr_wakeups_sync ;
2156   u64 nr_wakeups_migrate ;
2157   u64 nr_wakeups_local ;
2158   u64 nr_wakeups_remote ;
2159   u64 nr_wakeups_affine ;
2160   u64 nr_wakeups_affine_attempts ;
2161   u64 nr_wakeups_passive ;
2162   u64 nr_wakeups_idle ;
2163};
2164#line 1205 "include/linux/sched.h"
2165struct sched_entity {
2166   struct load_weight load ;
2167   struct rb_node run_node ;
2168   struct list_head group_node ;
2169   unsigned int on_rq ;
2170   u64 exec_start ;
2171   u64 sum_exec_runtime ;
2172   u64 vruntime ;
2173   u64 prev_sum_exec_runtime ;
2174   u64 nr_migrations ;
2175   struct sched_statistics statistics ;
2176   struct sched_entity *parent ;
2177   struct cfs_rq *cfs_rq ;
2178   struct cfs_rq *my_q ;
2179};
2180#line 1231
2181struct rt_rq;
2182#line 1231 "include/linux/sched.h"
2183struct sched_rt_entity {
2184   struct list_head run_list ;
2185   unsigned long timeout ;
2186   unsigned int time_slice ;
2187   int nr_cpus_allowed ;
2188   struct sched_rt_entity *back ;
2189   struct sched_rt_entity *parent ;
2190   struct rt_rq *rt_rq ;
2191   struct rt_rq *my_q ;
2192};
2193#line 1255
2194struct mem_cgroup;
2195#line 1255 "include/linux/sched.h"
2196struct memcg_batch_info {
2197   int do_batch ;
2198   struct mem_cgroup *memcg ;
2199   unsigned long nr_pages ;
2200   unsigned long memsw_nr_pages ;
2201};
2202#line 1616
2203struct files_struct;
2204#line 1616
2205struct css_set;
2206#line 1616
2207struct compat_robust_list_head;
2208#line 1616 "include/linux/sched.h"
2209struct task_struct {
2210   long volatile   state ;
2211   void *stack ;
2212   atomic_t usage ;
2213   unsigned int flags ;
2214   unsigned int ptrace ;
2215   struct llist_node wake_entry ;
2216   int on_cpu ;
2217   int on_rq ;
2218   int prio ;
2219   int static_prio ;
2220   int normal_prio ;
2221   unsigned int rt_priority ;
2222   struct sched_class  const  *sched_class ;
2223   struct sched_entity se ;
2224   struct sched_rt_entity rt ;
2225   struct hlist_head preempt_notifiers ;
2226   unsigned char fpu_counter ;
2227   unsigned int policy ;
2228   cpumask_t cpus_allowed ;
2229   struct sched_info sched_info ;
2230   struct list_head tasks ;
2231   struct plist_node pushable_tasks ;
2232   struct mm_struct *mm ;
2233   struct mm_struct *active_mm ;
2234   unsigned char brk_randomized : 1 ;
2235   int exit_state ;
2236   int exit_code ;
2237   int exit_signal ;
2238   int pdeath_signal ;
2239   unsigned int jobctl ;
2240   unsigned int personality ;
2241   unsigned char did_exec : 1 ;
2242   unsigned char in_execve : 1 ;
2243   unsigned char in_iowait : 1 ;
2244   unsigned char sched_reset_on_fork : 1 ;
2245   unsigned char sched_contributes_to_load : 1 ;
2246   unsigned char irq_thread : 1 ;
2247   pid_t pid ;
2248   pid_t tgid ;
2249   unsigned long stack_canary ;
2250   struct task_struct *real_parent ;
2251   struct task_struct *parent ;
2252   struct list_head children ;
2253   struct list_head sibling ;
2254   struct task_struct *group_leader ;
2255   struct list_head ptraced ;
2256   struct list_head ptrace_entry ;
2257   struct pid_link pids[3U] ;
2258   struct list_head thread_group ;
2259   struct completion *vfork_done ;
2260   int *set_child_tid ;
2261   int *clear_child_tid ;
2262   cputime_t utime ;
2263   cputime_t stime ;
2264   cputime_t utimescaled ;
2265   cputime_t stimescaled ;
2266   cputime_t gtime ;
2267   cputime_t prev_utime ;
2268   cputime_t prev_stime ;
2269   unsigned long nvcsw ;
2270   unsigned long nivcsw ;
2271   struct timespec start_time ;
2272   struct timespec real_start_time ;
2273   unsigned long min_flt ;
2274   unsigned long maj_flt ;
2275   struct task_cputime cputime_expires ;
2276   struct list_head cpu_timers[3U] ;
2277   struct cred  const  *real_cred ;
2278   struct cred  const  *cred ;
2279   struct cred *replacement_session_keyring ;
2280   char comm[16U] ;
2281   int link_count ;
2282   int total_link_count ;
2283   struct sysv_sem sysvsem ;
2284   unsigned long last_switch_count ;
2285   struct thread_struct thread ;
2286   struct fs_struct *fs ;
2287   struct files_struct *files ;
2288   struct nsproxy *nsproxy ;
2289   struct signal_struct *signal ;
2290   struct sighand_struct *sighand ;
2291   sigset_t blocked ;
2292   sigset_t real_blocked ;
2293   sigset_t saved_sigmask ;
2294   struct sigpending pending ;
2295   unsigned long sas_ss_sp ;
2296   size_t sas_ss_size ;
2297   int (*notifier)(void * ) ;
2298   void *notifier_data ;
2299   sigset_t *notifier_mask ;
2300   struct audit_context *audit_context ;
2301   uid_t loginuid ;
2302   unsigned int sessionid ;
2303   seccomp_t seccomp ;
2304   u32 parent_exec_id ;
2305   u32 self_exec_id ;
2306   spinlock_t alloc_lock ;
2307   raw_spinlock_t pi_lock ;
2308   struct plist_head pi_waiters ;
2309   struct rt_mutex_waiter *pi_blocked_on ;
2310   struct mutex_waiter *blocked_on ;
2311   unsigned int irq_events ;
2312   unsigned long hardirq_enable_ip ;
2313   unsigned long hardirq_disable_ip ;
2314   unsigned int hardirq_enable_event ;
2315   unsigned int hardirq_disable_event ;
2316   int hardirqs_enabled ;
2317   int hardirq_context ;
2318   unsigned long softirq_disable_ip ;
2319   unsigned long softirq_enable_ip ;
2320   unsigned int softirq_disable_event ;
2321   unsigned int softirq_enable_event ;
2322   int softirqs_enabled ;
2323   int softirq_context ;
2324   u64 curr_chain_key ;
2325   int lockdep_depth ;
2326   unsigned int lockdep_recursion ;
2327   struct held_lock held_locks[48U] ;
2328   gfp_t lockdep_reclaim_gfp ;
2329   void *journal_info ;
2330   struct bio_list *bio_list ;
2331   struct blk_plug *plug ;
2332   struct reclaim_state *reclaim_state ;
2333   struct backing_dev_info *backing_dev_info ;
2334   struct io_context *io_context ;
2335   unsigned long ptrace_message ;
2336   siginfo_t *last_siginfo ;
2337   struct task_io_accounting ioac ;
2338   u64 acct_rss_mem1 ;
2339   u64 acct_vm_mem1 ;
2340   cputime_t acct_timexpd ;
2341   nodemask_t mems_allowed ;
2342   seqcount_t mems_allowed_seq ;
2343   int cpuset_mem_spread_rotor ;
2344   int cpuset_slab_spread_rotor ;
2345   struct css_set *cgroups ;
2346   struct list_head cg_list ;
2347   struct robust_list_head *robust_list ;
2348   struct compat_robust_list_head *compat_robust_list ;
2349   struct list_head pi_state_list ;
2350   struct futex_pi_state *pi_state_cache ;
2351   struct perf_event_context *perf_event_ctxp[2U] ;
2352   struct mutex perf_event_mutex ;
2353   struct list_head perf_event_list ;
2354   struct mempolicy *mempolicy ;
2355   short il_next ;
2356   short pref_node_fork ;
2357   struct rcu_head rcu ;
2358   struct pipe_inode_info *splice_pipe ;
2359   struct task_delay_info *delays ;
2360   int make_it_fail ;
2361   int nr_dirtied ;
2362   int nr_dirtied_pause ;
2363   unsigned long dirty_paused_when ;
2364   int latency_record_count ;
2365   struct latency_record latency_record[32U] ;
2366   unsigned long timer_slack_ns ;
2367   unsigned long default_timer_slack_ns ;
2368   struct list_head *scm_work_list ;
2369   unsigned long trace ;
2370   unsigned long trace_recursion ;
2371   struct memcg_batch_info memcg_batch ;
2372   atomic_t ptrace_bp_refcnt ;
2373};
2374#line 25 "include/linux/genhd.h"
2375struct device_type;
2376#line 27
2377struct class;
2378#line 51
2379struct klist_node;
2380#line 51
2381struct klist_node;
2382#line 37 "include/linux/klist.h"
2383struct klist_node {
2384   void *n_klist ;
2385   struct list_head n_node ;
2386   struct kref n_ref ;
2387};
2388#line 67
2389struct dma_map_ops;
2390#line 67 "include/linux/klist.h"
2391struct dev_archdata {
2392   void *acpi_handle ;
2393   struct dma_map_ops *dma_ops ;
2394   void *iommu ;
2395};
2396#line 17 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2397struct device_private;
2398#line 17
2399struct device_private;
2400#line 18
2401struct device_driver;
2402#line 18
2403struct device_driver;
2404#line 19
2405struct driver_private;
2406#line 19
2407struct driver_private;
2408#line 20
2409struct subsys_private;
2410#line 20
2411struct subsys_private;
2412#line 21
2413struct bus_type;
2414#line 21
2415struct bus_type;
2416#line 22
2417struct device_node;
2418#line 22
2419struct device_node;
2420#line 23
2421struct iommu_ops;
2422#line 23
2423struct iommu_ops;
2424#line 24 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/device.h"
2425struct bus_attribute {
2426   struct attribute attr ;
2427   ssize_t (*show)(struct bus_type * , char * ) ;
2428   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
2429};
2430#line 51 "include/linux/device.h"
2431struct device_attribute;
2432#line 51
2433struct driver_attribute;
2434#line 51 "include/linux/device.h"
2435struct bus_type {
2436   char const   *name ;
2437   char const   *dev_name ;
2438   struct device *dev_root ;
2439   struct bus_attribute *bus_attrs ;
2440   struct device_attribute *dev_attrs ;
2441   struct driver_attribute *drv_attrs ;
2442   int (*match)(struct device * , struct device_driver * ) ;
2443   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
2444   int (*probe)(struct device * ) ;
2445   int (*remove)(struct device * ) ;
2446   void (*shutdown)(struct device * ) ;
2447   int (*suspend)(struct device * , pm_message_t  ) ;
2448   int (*resume)(struct device * ) ;
2449   struct dev_pm_ops  const  *pm ;
2450   struct iommu_ops *iommu_ops ;
2451   struct subsys_private *p ;
2452};
2453#line 182
2454struct of_device_id;
2455#line 182 "include/linux/device.h"
2456struct device_driver {
2457   char const   *name ;
2458   struct bus_type *bus ;
2459   struct module *owner ;
2460   char const   *mod_name ;
2461   bool suppress_bind_attrs ;
2462   struct of_device_id  const  *of_match_table ;
2463   int (*probe)(struct device * ) ;
2464   int (*remove)(struct device * ) ;
2465   void (*shutdown)(struct device * ) ;
2466   int (*suspend)(struct device * , pm_message_t  ) ;
2467   int (*resume)(struct device * ) ;
2468   struct attribute_group  const  **groups ;
2469   struct dev_pm_ops  const  *pm ;
2470   struct driver_private *p ;
2471};
2472#line 245 "include/linux/device.h"
2473struct driver_attribute {
2474   struct attribute attr ;
2475   ssize_t (*show)(struct device_driver * , char * ) ;
2476   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
2477};
2478#line 299
2479struct class_attribute;
2480#line 299 "include/linux/device.h"
2481struct class {
2482   char const   *name ;
2483   struct module *owner ;
2484   struct class_attribute *class_attrs ;
2485   struct device_attribute *dev_attrs ;
2486   struct bin_attribute *dev_bin_attrs ;
2487   struct kobject *dev_kobj ;
2488   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
2489   char *(*devnode)(struct device * , umode_t * ) ;
2490   void (*class_release)(struct class * ) ;
2491   void (*dev_release)(struct device * ) ;
2492   int (*suspend)(struct device * , pm_message_t  ) ;
2493   int (*resume)(struct device * ) ;
2494   struct kobj_ns_type_operations  const  *ns_type ;
2495   void const   *(*namespace)(struct device * ) ;
2496   struct dev_pm_ops  const  *pm ;
2497   struct subsys_private *p ;
2498};
2499#line 394 "include/linux/device.h"
2500struct class_attribute {
2501   struct attribute attr ;
2502   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
2503   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
2504   void const   *(*namespace)(struct class * , struct class_attribute  const  * ) ;
2505};
2506#line 447 "include/linux/device.h"
2507struct device_type {
2508   char const   *name ;
2509   struct attribute_group  const  **groups ;
2510   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
2511   char *(*devnode)(struct device * , umode_t * ) ;
2512   void (*release)(struct device * ) ;
2513   struct dev_pm_ops  const  *pm ;
2514};
2515#line 474 "include/linux/device.h"
2516struct device_attribute {
2517   struct attribute attr ;
2518   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
2519   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
2520                    size_t  ) ;
2521};
2522#line 557 "include/linux/device.h"
2523struct device_dma_parameters {
2524   unsigned int max_segment_size ;
2525   unsigned long segment_boundary_mask ;
2526};
2527#line 567
2528struct dma_coherent_mem;
2529#line 567 "include/linux/device.h"
2530struct device {
2531   struct device *parent ;
2532   struct device_private *p ;
2533   struct kobject kobj ;
2534   char const   *init_name ;
2535   struct device_type  const  *type ;
2536   struct mutex mutex ;
2537   struct bus_type *bus ;
2538   struct device_driver *driver ;
2539   void *platform_data ;
2540   struct dev_pm_info power ;
2541   struct dev_pm_domain *pm_domain ;
2542   int numa_node ;
2543   u64 *dma_mask ;
2544   u64 coherent_dma_mask ;
2545   struct device_dma_parameters *dma_parms ;
2546   struct list_head dma_pools ;
2547   struct dma_coherent_mem *dma_mem ;
2548   struct dev_archdata archdata ;
2549   struct device_node *of_node ;
2550   dev_t devt ;
2551   u32 id ;
2552   spinlock_t devres_lock ;
2553   struct list_head devres_head ;
2554   struct klist_node knode_class ;
2555   struct class *class ;
2556   struct attribute_group  const  **groups ;
2557   void (*release)(struct device * ) ;
2558};
2559#line 681 "include/linux/device.h"
2560struct wakeup_source {
2561   char const   *name ;
2562   struct list_head entry ;
2563   spinlock_t lock ;
2564   struct timer_list timer ;
2565   unsigned long timer_expires ;
2566   ktime_t total_time ;
2567   ktime_t max_time ;
2568   ktime_t last_time ;
2569   unsigned long event_count ;
2570   unsigned long active_count ;
2571   unsigned long relax_count ;
2572   unsigned long hit_count ;
2573   unsigned char active : 1 ;
2574};
2575#line 992
2576struct bio;
2577#line 992
2578struct bio;
2579#line 993
2580struct bio_integrity_payload;
2581#line 993
2582struct bio_integrity_payload;
2583#line 994
2584struct block_device;
2585#line 994
2586struct block_device;
2587#line 17 "include/linux/blk_types.h"
2588typedef void bio_end_io_t(struct bio * , int  );
2589#line 18 "include/linux/blk_types.h"
2590typedef void bio_destructor_t(struct bio * );
2591#line 19 "include/linux/blk_types.h"
2592struct bio_vec {
2593   struct page *bv_page ;
2594   unsigned int bv_len ;
2595   unsigned int bv_offset ;
2596};
2597#line 28 "include/linux/blk_types.h"
2598struct bio {
2599   sector_t bi_sector ;
2600   struct bio *bi_next ;
2601   struct block_device *bi_bdev ;
2602   unsigned long bi_flags ;
2603   unsigned long bi_rw ;
2604   unsigned short bi_vcnt ;
2605   unsigned short bi_idx ;
2606   unsigned int bi_phys_segments ;
2607   unsigned int bi_size ;
2608   unsigned int bi_seg_front_size ;
2609   unsigned int bi_seg_back_size ;
2610   unsigned int bi_max_vecs ;
2611   atomic_t bi_cnt ;
2612   struct bio_vec *bi_io_vec ;
2613   bio_end_io_t *bi_end_io ;
2614   void *bi_private ;
2615   struct bio_integrity_payload *bi_integrity ;
2616   bio_destructor_t *bi_destructor ;
2617   struct bio_vec bi_inline_vecs[0U] ;
2618};
2619#line 93 "include/linux/bit_spinlock.h"
2620struct hlist_bl_node;
2621#line 93 "include/linux/bit_spinlock.h"
2622struct hlist_bl_head {
2623   struct hlist_bl_node *first ;
2624};
2625#line 36 "include/linux/list_bl.h"
2626struct hlist_bl_node {
2627   struct hlist_bl_node *next ;
2628   struct hlist_bl_node **pprev ;
2629};
2630#line 114 "include/linux/rculist_bl.h"
2631struct nameidata;
2632#line 114
2633struct nameidata;
2634#line 115
2635struct path;
2636#line 115
2637struct path;
2638#line 116
2639struct vfsmount;
2640#line 116
2641struct vfsmount;
2642#line 117 "include/linux/rculist_bl.h"
2643struct qstr {
2644   unsigned int hash ;
2645   unsigned int len ;
2646   unsigned char const   *name ;
2647};
2648#line 72 "include/linux/dcache.h"
2649struct dentry_operations;
2650#line 72
2651struct super_block;
2652#line 72 "include/linux/dcache.h"
2653union __anonunion_d_u_164 {
2654   struct list_head d_child ;
2655   struct rcu_head d_rcu ;
2656};
2657#line 72 "include/linux/dcache.h"
2658struct dentry {
2659   unsigned int d_flags ;
2660   seqcount_t d_seq ;
2661   struct hlist_bl_node d_hash ;
2662   struct dentry *d_parent ;
2663   struct qstr d_name ;
2664   struct inode *d_inode ;
2665   unsigned char d_iname[32U] ;
2666   unsigned int d_count ;
2667   spinlock_t d_lock ;
2668   struct dentry_operations  const  *d_op ;
2669   struct super_block *d_sb ;
2670   unsigned long d_time ;
2671   void *d_fsdata ;
2672   struct list_head d_lru ;
2673   union __anonunion_d_u_164 d_u ;
2674   struct list_head d_subdirs ;
2675   struct list_head d_alias ;
2676};
2677#line 123 "include/linux/dcache.h"
2678struct dentry_operations {
2679   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
2680   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
2681   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
2682                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
2683   int (*d_delete)(struct dentry  const  * ) ;
2684   void (*d_release)(struct dentry * ) ;
2685   void (*d_prune)(struct dentry * ) ;
2686   void (*d_iput)(struct dentry * , struct inode * ) ;
2687   char *(*d_dname)(struct dentry * , char * , int  ) ;
2688   struct vfsmount *(*d_automount)(struct path * ) ;
2689   int (*d_manage)(struct dentry * , bool  ) ;
2690};
2691#line 402 "include/linux/dcache.h"
2692struct path {
2693   struct vfsmount *mnt ;
2694   struct dentry *dentry ;
2695};
2696#line 58 "include/linux/radix-tree.h"
2697struct radix_tree_node;
2698#line 58 "include/linux/radix-tree.h"
2699struct radix_tree_root {
2700   unsigned int height ;
2701   gfp_t gfp_mask ;
2702   struct radix_tree_node *rnode ;
2703};
2704#line 45 "include/linux/semaphore.h"
2705struct fiemap_extent {
2706   __u64 fe_logical ;
2707   __u64 fe_physical ;
2708   __u64 fe_length ;
2709   __u64 fe_reserved64[2U] ;
2710   __u32 fe_flags ;
2711   __u32 fe_reserved[3U] ;
2712};
2713#line 38 "include/linux/fiemap.h"
2714struct shrink_control {
2715   gfp_t gfp_mask ;
2716   unsigned long nr_to_scan ;
2717};
2718#line 14 "include/linux/shrinker.h"
2719struct shrinker {
2720   int (*shrink)(struct shrinker * , struct shrink_control * ) ;
2721   int seeks ;
2722   long batch ;
2723   struct list_head list ;
2724   atomic_long_t nr_in_batch ;
2725};
2726#line 43
2727enum migrate_mode {
2728    MIGRATE_ASYNC = 0,
2729    MIGRATE_SYNC_LIGHT = 1,
2730    MIGRATE_SYNC = 2
2731} ;
2732#line 49
2733struct export_operations;
2734#line 49
2735struct export_operations;
2736#line 50
2737struct hd_geometry;
2738#line 50
2739struct hd_geometry;
2740#line 51
2741struct poll_table_struct;
2742#line 51
2743struct poll_table_struct;
2744#line 52
2745struct kstatfs;
2746#line 52
2747struct kstatfs;
2748#line 435 "include/linux/fs.h"
2749struct iattr {
2750   unsigned int ia_valid ;
2751   umode_t ia_mode ;
2752   uid_t ia_uid ;
2753   gid_t ia_gid ;
2754   loff_t ia_size ;
2755   struct timespec ia_atime ;
2756   struct timespec ia_mtime ;
2757   struct timespec ia_ctime ;
2758   struct file *ia_file ;
2759};
2760#line 119 "include/linux/quota.h"
2761struct if_dqinfo {
2762   __u64 dqi_bgrace ;
2763   __u64 dqi_igrace ;
2764   __u32 dqi_flags ;
2765   __u32 dqi_valid ;
2766};
2767#line 152 "include/linux/quota.h"
2768struct fs_disk_quota {
2769   __s8 d_version ;
2770   __s8 d_flags ;
2771   __u16 d_fieldmask ;
2772   __u32 d_id ;
2773   __u64 d_blk_hardlimit ;
2774   __u64 d_blk_softlimit ;
2775   __u64 d_ino_hardlimit ;
2776   __u64 d_ino_softlimit ;
2777   __u64 d_bcount ;
2778   __u64 d_icount ;
2779   __s32 d_itimer ;
2780   __s32 d_btimer ;
2781   __u16 d_iwarns ;
2782   __u16 d_bwarns ;
2783   __s32 d_padding2 ;
2784   __u64 d_rtb_hardlimit ;
2785   __u64 d_rtb_softlimit ;
2786   __u64 d_rtbcount ;
2787   __s32 d_rtbtimer ;
2788   __u16 d_rtbwarns ;
2789   __s16 d_padding3 ;
2790   char d_padding4[8U] ;
2791};
2792#line 75 "include/linux/dqblk_xfs.h"
2793struct fs_qfilestat {
2794   __u64 qfs_ino ;
2795   __u64 qfs_nblks ;
2796   __u32 qfs_nextents ;
2797};
2798#line 150 "include/linux/dqblk_xfs.h"
2799typedef struct fs_qfilestat fs_qfilestat_t;
2800#line 151 "include/linux/dqblk_xfs.h"
2801struct fs_quota_stat {
2802   __s8 qs_version ;
2803   __u16 qs_flags ;
2804   __s8 qs_pad ;
2805   fs_qfilestat_t qs_uquota ;
2806   fs_qfilestat_t qs_gquota ;
2807   __u32 qs_incoredqs ;
2808   __s32 qs_btimelimit ;
2809   __s32 qs_itimelimit ;
2810   __s32 qs_rtbtimelimit ;
2811   __u16 qs_bwarnlimit ;
2812   __u16 qs_iwarnlimit ;
2813};
2814#line 165
2815struct dquot;
2816#line 165
2817struct dquot;
2818#line 185 "include/linux/quota.h"
2819typedef __kernel_uid32_t qid_t;
2820#line 186 "include/linux/quota.h"
2821typedef long long qsize_t;
2822#line 189 "include/linux/quota.h"
2823struct mem_dqblk {
2824   qsize_t dqb_bhardlimit ;
2825   qsize_t dqb_bsoftlimit ;
2826   qsize_t dqb_curspace ;
2827   qsize_t dqb_rsvspace ;
2828   qsize_t dqb_ihardlimit ;
2829   qsize_t dqb_isoftlimit ;
2830   qsize_t dqb_curinodes ;
2831   time_t dqb_btime ;
2832   time_t dqb_itime ;
2833};
2834#line 211
2835struct quota_format_type;
2836#line 211
2837struct quota_format_type;
2838#line 212 "include/linux/quota.h"
2839struct mem_dqinfo {
2840   struct quota_format_type *dqi_format ;
2841   int dqi_fmt_id ;
2842   struct list_head dqi_dirty_list ;
2843   unsigned long dqi_flags ;
2844   unsigned int dqi_bgrace ;
2845   unsigned int dqi_igrace ;
2846   qsize_t dqi_maxblimit ;
2847   qsize_t dqi_maxilimit ;
2848   void *dqi_priv ;
2849};
2850#line 275 "include/linux/quota.h"
2851struct dquot {
2852   struct hlist_node dq_hash ;
2853   struct list_head dq_inuse ;
2854   struct list_head dq_free ;
2855   struct list_head dq_dirty ;
2856   struct mutex dq_lock ;
2857   atomic_t dq_count ;
2858   wait_queue_head_t dq_wait_unused ;
2859   struct super_block *dq_sb ;
2860   unsigned int dq_id ;
2861   loff_t dq_off ;
2862   unsigned long dq_flags ;
2863   short dq_type ;
2864   struct mem_dqblk dq_dqb ;
2865};
2866#line 303 "include/linux/quota.h"
2867struct quota_format_ops {
2868   int (*check_quota_file)(struct super_block * , int  ) ;
2869   int (*read_file_info)(struct super_block * , int  ) ;
2870   int (*write_file_info)(struct super_block * , int  ) ;
2871   int (*free_file_info)(struct super_block * , int  ) ;
2872   int (*read_dqblk)(struct dquot * ) ;
2873   int (*commit_dqblk)(struct dquot * ) ;
2874   int (*release_dqblk)(struct dquot * ) ;
2875};
2876#line 314 "include/linux/quota.h"
2877struct dquot_operations {
2878   int (*write_dquot)(struct dquot * ) ;
2879   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
2880   void (*destroy_dquot)(struct dquot * ) ;
2881   int (*acquire_dquot)(struct dquot * ) ;
2882   int (*release_dquot)(struct dquot * ) ;
2883   int (*mark_dirty)(struct dquot * ) ;
2884   int (*write_info)(struct super_block * , int  ) ;
2885   qsize_t *(*get_reserved_space)(struct inode * ) ;
2886};
2887#line 328 "include/linux/quota.h"
2888struct quotactl_ops {
2889   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
2890   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
2891   int (*quota_off)(struct super_block * , int  ) ;
2892   int (*quota_sync)(struct super_block * , int  , int  ) ;
2893   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2894   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
2895   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2896   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
2897   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
2898   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
2899};
2900#line 344 "include/linux/quota.h"
2901struct quota_format_type {
2902   int qf_fmt_id ;
2903   struct quota_format_ops  const  *qf_ops ;
2904   struct module *qf_owner ;
2905   struct quota_format_type *qf_next ;
2906};
2907#line 390 "include/linux/quota.h"
2908struct quota_info {
2909   unsigned int flags ;
2910   struct mutex dqio_mutex ;
2911   struct mutex dqonoff_mutex ;
2912   struct rw_semaphore dqptr_sem ;
2913   struct inode *files[2U] ;
2914   struct mem_dqinfo info[2U] ;
2915   struct quota_format_ops  const  *ops[2U] ;
2916};
2917#line 421
2918struct writeback_control;
2919#line 421
2920struct writeback_control;
2921#line 585 "include/linux/fs.h"
2922union __anonunion_arg_166 {
2923   char *buf ;
2924   void *data ;
2925};
2926#line 585 "include/linux/fs.h"
2927struct __anonstruct_read_descriptor_t_165 {
2928   size_t written ;
2929   size_t count ;
2930   union __anonunion_arg_166 arg ;
2931   int error ;
2932};
2933#line 585 "include/linux/fs.h"
2934typedef struct __anonstruct_read_descriptor_t_165 read_descriptor_t;
2935#line 588 "include/linux/fs.h"
2936struct address_space_operations {
2937   int (*writepage)(struct page * , struct writeback_control * ) ;
2938   int (*readpage)(struct file * , struct page * ) ;
2939   int (*writepages)(struct address_space * , struct writeback_control * ) ;
2940   int (*set_page_dirty)(struct page * ) ;
2941   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
2942                    unsigned int  ) ;
2943   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
2944                      unsigned int  , struct page ** , void ** ) ;
2945   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
2946                    unsigned int  , struct page * , void * ) ;
2947   sector_t (*bmap)(struct address_space * , sector_t  ) ;
2948   void (*invalidatepage)(struct page * , unsigned long  ) ;
2949   int (*releasepage)(struct page * , gfp_t  ) ;
2950   void (*freepage)(struct page * ) ;
2951   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
2952                        unsigned long  ) ;
2953   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
2954   int (*migratepage)(struct address_space * , struct page * , struct page * , enum migrate_mode  ) ;
2955   int (*launder_page)(struct page * ) ;
2956   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
2957   int (*error_remove_page)(struct address_space * , struct page * ) ;
2958};
2959#line 642 "include/linux/fs.h"
2960struct address_space {
2961   struct inode *host ;
2962   struct radix_tree_root page_tree ;
2963   spinlock_t tree_lock ;
2964   unsigned int i_mmap_writable ;
2965   struct prio_tree_root i_mmap ;
2966   struct list_head i_mmap_nonlinear ;
2967   struct mutex i_mmap_mutex ;
2968   unsigned long nrpages ;
2969   unsigned long writeback_index ;
2970   struct address_space_operations  const  *a_ops ;
2971   unsigned long flags ;
2972   struct backing_dev_info *backing_dev_info ;
2973   spinlock_t private_lock ;
2974   struct list_head private_list ;
2975   struct address_space *assoc_mapping ;
2976};
2977#line 664
2978struct request_queue;
2979#line 664
2980struct request_queue;
2981#line 665
2982struct hd_struct;
2983#line 665
2984struct gendisk;
2985#line 665 "include/linux/fs.h"
2986struct block_device {
2987   dev_t bd_dev ;
2988   int bd_openers ;
2989   struct inode *bd_inode ;
2990   struct super_block *bd_super ;
2991   struct mutex bd_mutex ;
2992   struct list_head bd_inodes ;
2993   void *bd_claiming ;
2994   void *bd_holder ;
2995   int bd_holders ;
2996   bool bd_write_holder ;
2997   struct list_head bd_holder_disks ;
2998   struct block_device *bd_contains ;
2999   unsigned int bd_block_size ;
3000   struct hd_struct *bd_part ;
3001   unsigned int bd_part_count ;
3002   int bd_invalidated ;
3003   struct gendisk *bd_disk ;
3004   struct request_queue *bd_queue ;
3005   struct list_head bd_list ;
3006   unsigned long bd_private ;
3007   int bd_fsfreeze_count ;
3008   struct mutex bd_fsfreeze_mutex ;
3009};
3010#line 737
3011struct posix_acl;
3012#line 737
3013struct posix_acl;
3014#line 738
3015struct inode_operations;
3016#line 738 "include/linux/fs.h"
3017union __anonunion_ldv_20804_167 {
3018   unsigned int const   i_nlink ;
3019   unsigned int __i_nlink ;
3020};
3021#line 738 "include/linux/fs.h"
3022union __anonunion_ldv_20823_168 {
3023   struct list_head i_dentry ;
3024   struct rcu_head i_rcu ;
3025};
3026#line 738
3027struct file_operations;
3028#line 738
3029struct file_lock;
3030#line 738
3031struct cdev;
3032#line 738 "include/linux/fs.h"
3033union __anonunion_ldv_20841_169 {
3034   struct pipe_inode_info *i_pipe ;
3035   struct block_device *i_bdev ;
3036   struct cdev *i_cdev ;
3037};
3038#line 738 "include/linux/fs.h"
3039struct inode {
3040   umode_t i_mode ;
3041   unsigned short i_opflags ;
3042   uid_t i_uid ;
3043   gid_t i_gid ;
3044   unsigned int i_flags ;
3045   struct posix_acl *i_acl ;
3046   struct posix_acl *i_default_acl ;
3047   struct inode_operations  const  *i_op ;
3048   struct super_block *i_sb ;
3049   struct address_space *i_mapping ;
3050   void *i_security ;
3051   unsigned long i_ino ;
3052   union __anonunion_ldv_20804_167 ldv_20804 ;
3053   dev_t i_rdev ;
3054   struct timespec i_atime ;
3055   struct timespec i_mtime ;
3056   struct timespec i_ctime ;
3057   spinlock_t i_lock ;
3058   unsigned short i_bytes ;
3059   blkcnt_t i_blocks ;
3060   loff_t i_size ;
3061   unsigned long i_state ;
3062   struct mutex i_mutex ;
3063   unsigned long dirtied_when ;
3064   struct hlist_node i_hash ;
3065   struct list_head i_wb_list ;
3066   struct list_head i_lru ;
3067   struct list_head i_sb_list ;
3068   union __anonunion_ldv_20823_168 ldv_20823 ;
3069   atomic_t i_count ;
3070   unsigned int i_blkbits ;
3071   u64 i_version ;
3072   atomic_t i_dio_count ;
3073   atomic_t i_writecount ;
3074   struct file_operations  const  *i_fop ;
3075   struct file_lock *i_flock ;
3076   struct address_space i_data ;
3077   struct dquot *i_dquot[2U] ;
3078   struct list_head i_devices ;
3079   union __anonunion_ldv_20841_169 ldv_20841 ;
3080   __u32 i_generation ;
3081   __u32 i_fsnotify_mask ;
3082   struct hlist_head i_fsnotify_marks ;
3083   atomic_t i_readcount ;
3084   void *i_private ;
3085};
3086#line 941 "include/linux/fs.h"
3087struct fown_struct {
3088   rwlock_t lock ;
3089   struct pid *pid ;
3090   enum pid_type pid_type ;
3091   uid_t uid ;
3092   uid_t euid ;
3093   int signum ;
3094};
3095#line 949 "include/linux/fs.h"
3096struct file_ra_state {
3097   unsigned long start ;
3098   unsigned int size ;
3099   unsigned int async_size ;
3100   unsigned int ra_pages ;
3101   unsigned int mmap_miss ;
3102   loff_t prev_pos ;
3103};
3104#line 972 "include/linux/fs.h"
3105union __anonunion_f_u_170 {
3106   struct list_head fu_list ;
3107   struct rcu_head fu_rcuhead ;
3108};
3109#line 972 "include/linux/fs.h"
3110struct file {
3111   union __anonunion_f_u_170 f_u ;
3112   struct path f_path ;
3113   struct file_operations  const  *f_op ;
3114   spinlock_t f_lock ;
3115   int f_sb_list_cpu ;
3116   atomic_long_t f_count ;
3117   unsigned int f_flags ;
3118   fmode_t f_mode ;
3119   loff_t f_pos ;
3120   struct fown_struct f_owner ;
3121   struct cred  const  *f_cred ;
3122   struct file_ra_state f_ra ;
3123   u64 f_version ;
3124   void *f_security ;
3125   void *private_data ;
3126   struct list_head f_ep_links ;
3127   struct list_head f_tfile_llink ;
3128   struct address_space *f_mapping ;
3129   unsigned long f_mnt_write_state ;
3130};
3131#line 1111 "include/linux/fs.h"
3132typedef struct files_struct *fl_owner_t;
3133#line 1112 "include/linux/fs.h"
3134struct file_lock_operations {
3135   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3136   void (*fl_release_private)(struct file_lock * ) ;
3137};
3138#line 1117 "include/linux/fs.h"
3139struct lock_manager_operations {
3140   int (*lm_compare_owner)(struct file_lock * , struct file_lock * ) ;
3141   void (*lm_notify)(struct file_lock * ) ;
3142   int (*lm_grant)(struct file_lock * , struct file_lock * , int  ) ;
3143   void (*lm_release_private)(struct file_lock * ) ;
3144   void (*lm_break)(struct file_lock * ) ;
3145   int (*lm_change)(struct file_lock ** , int  ) ;
3146};
3147#line 1134
3148struct nlm_lockowner;
3149#line 1134
3150struct nlm_lockowner;
3151#line 1135 "include/linux/fs.h"
3152struct nfs_lock_info {
3153   u32 state ;
3154   struct nlm_lockowner *owner ;
3155   struct list_head list ;
3156};
3157#line 14 "include/linux/nfs_fs_i.h"
3158struct nfs4_lock_state;
3159#line 14
3160struct nfs4_lock_state;
3161#line 15 "include/linux/nfs_fs_i.h"
3162struct nfs4_lock_info {
3163   struct nfs4_lock_state *owner ;
3164};
3165#line 19
3166struct fasync_struct;
3167#line 19 "include/linux/nfs_fs_i.h"
3168struct __anonstruct_afs_172 {
3169   struct list_head link ;
3170   int state ;
3171};
3172#line 19 "include/linux/nfs_fs_i.h"
3173union __anonunion_fl_u_171 {
3174   struct nfs_lock_info nfs_fl ;
3175   struct nfs4_lock_info nfs4_fl ;
3176   struct __anonstruct_afs_172 afs ;
3177};
3178#line 19 "include/linux/nfs_fs_i.h"
3179struct file_lock {
3180   struct file_lock *fl_next ;
3181   struct list_head fl_link ;
3182   struct list_head fl_block ;
3183   fl_owner_t fl_owner ;
3184   unsigned int fl_flags ;
3185   unsigned char fl_type ;
3186   unsigned int fl_pid ;
3187   struct pid *fl_nspid ;
3188   wait_queue_head_t fl_wait ;
3189   struct file *fl_file ;
3190   loff_t fl_start ;
3191   loff_t fl_end ;
3192   struct fasync_struct *fl_fasync ;
3193   unsigned long fl_break_time ;
3194   unsigned long fl_downgrade_time ;
3195   struct file_lock_operations  const  *fl_ops ;
3196   struct lock_manager_operations  const  *fl_lmops ;
3197   union __anonunion_fl_u_171 fl_u ;
3198};
3199#line 1221 "include/linux/fs.h"
3200struct fasync_struct {
3201   spinlock_t fa_lock ;
3202   int magic ;
3203   int fa_fd ;
3204   struct fasync_struct *fa_next ;
3205   struct file *fa_file ;
3206   struct rcu_head fa_rcu ;
3207};
3208#line 1417
3209struct file_system_type;
3210#line 1417
3211struct super_operations;
3212#line 1417
3213struct xattr_handler;
3214#line 1417
3215struct mtd_info;
3216#line 1417 "include/linux/fs.h"
3217struct super_block {
3218   struct list_head s_list ;
3219   dev_t s_dev ;
3220   unsigned char s_dirt ;
3221   unsigned char s_blocksize_bits ;
3222   unsigned long s_blocksize ;
3223   loff_t s_maxbytes ;
3224   struct file_system_type *s_type ;
3225   struct super_operations  const  *s_op ;
3226   struct dquot_operations  const  *dq_op ;
3227   struct quotactl_ops  const  *s_qcop ;
3228   struct export_operations  const  *s_export_op ;
3229   unsigned long s_flags ;
3230   unsigned long s_magic ;
3231   struct dentry *s_root ;
3232   struct rw_semaphore s_umount ;
3233   struct mutex s_lock ;
3234   int s_count ;
3235   atomic_t s_active ;
3236   void *s_security ;
3237   struct xattr_handler  const  **s_xattr ;
3238   struct list_head s_inodes ;
3239   struct hlist_bl_head s_anon ;
3240   struct list_head *s_files ;
3241   struct list_head s_mounts ;
3242   struct list_head s_dentry_lru ;
3243   int s_nr_dentry_unused ;
3244   spinlock_t s_inode_lru_lock ;
3245   struct list_head s_inode_lru ;
3246   int s_nr_inodes_unused ;
3247   struct block_device *s_bdev ;
3248   struct backing_dev_info *s_bdi ;
3249   struct mtd_info *s_mtd ;
3250   struct hlist_node s_instances ;
3251   struct quota_info s_dquot ;
3252   int s_frozen ;
3253   wait_queue_head_t s_wait_unfrozen ;
3254   char s_id[32U] ;
3255   u8 s_uuid[16U] ;
3256   void *s_fs_info ;
3257   unsigned int s_max_links ;
3258   fmode_t s_mode ;
3259   u32 s_time_gran ;
3260   struct mutex s_vfs_rename_mutex ;
3261   char *s_subtype ;
3262   char *s_options ;
3263   struct dentry_operations  const  *s_d_op ;
3264   int cleancache_poolid ;
3265   struct shrinker s_shrink ;
3266   atomic_long_t s_remove_count ;
3267   int s_readonly_remount ;
3268};
3269#line 1563 "include/linux/fs.h"
3270struct fiemap_extent_info {
3271   unsigned int fi_flags ;
3272   unsigned int fi_extents_mapped ;
3273   unsigned int fi_extents_max ;
3274   struct fiemap_extent *fi_extents_start ;
3275};
3276#line 1601
3277struct block_device_operations;
3278#line 1601
3279struct block_device_operations;
3280#line 1602 "include/linux/fs.h"
3281struct file_operations {
3282   struct module *owner ;
3283   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
3284   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
3285   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
3286   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3287                       loff_t  ) ;
3288   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
3289                        loff_t  ) ;
3290   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
3291                                                   loff_t  , u64  , unsigned int  ) ) ;
3292   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
3293   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3294   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
3295   int (*mmap)(struct file * , struct vm_area_struct * ) ;
3296   int (*open)(struct inode * , struct file * ) ;
3297   int (*flush)(struct file * , fl_owner_t  ) ;
3298   int (*release)(struct inode * , struct file * ) ;
3299   int (*fsync)(struct file * , loff_t  , loff_t  , int  ) ;
3300   int (*aio_fsync)(struct kiocb * , int  ) ;
3301   int (*fasync)(int  , struct file * , int  ) ;
3302   int (*lock)(struct file * , int  , struct file_lock * ) ;
3303   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
3304                       int  ) ;
3305   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
3306                                      unsigned long  , unsigned long  ) ;
3307   int (*check_flags)(int  ) ;
3308   int (*flock)(struct file * , int  , struct file_lock * ) ;
3309   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
3310                           unsigned int  ) ;
3311   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
3312                          unsigned int  ) ;
3313   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
3314   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
3315};
3316#line 1637 "include/linux/fs.h"
3317struct inode_operations {
3318   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
3319   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
3320   int (*permission)(struct inode * , int  ) ;
3321   struct posix_acl *(*get_acl)(struct inode * , int  ) ;
3322   int (*readlink)(struct dentry * , char * , int  ) ;
3323   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
3324   int (*create)(struct inode * , struct dentry * , umode_t  , struct nameidata * ) ;
3325   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
3326   int (*unlink)(struct inode * , struct dentry * ) ;
3327   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
3328   int (*mkdir)(struct inode * , struct dentry * , umode_t  ) ;
3329   int (*rmdir)(struct inode * , struct dentry * ) ;
3330   int (*mknod)(struct inode * , struct dentry * , umode_t  , dev_t  ) ;
3331   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
3332   void (*truncate)(struct inode * ) ;
3333   int (*setattr)(struct dentry * , struct iattr * ) ;
3334   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
3335   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
3336   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
3337   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
3338   int (*removexattr)(struct dentry * , char const   * ) ;
3339   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
3340   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
3341};
3342#line 1682 "include/linux/fs.h"
3343struct super_operations {
3344   struct inode *(*alloc_inode)(struct super_block * ) ;
3345   void (*destroy_inode)(struct inode * ) ;
3346   void (*dirty_inode)(struct inode * , int  ) ;
3347   int (*write_inode)(struct inode * , struct writeback_control * ) ;
3348   int (*drop_inode)(struct inode * ) ;
3349   void (*evict_inode)(struct inode * ) ;
3350   void (*put_super)(struct super_block * ) ;
3351   void (*write_super)(struct super_block * ) ;
3352   int (*sync_fs)(struct super_block * , int  ) ;
3353   int (*freeze_fs)(struct super_block * ) ;
3354   int (*unfreeze_fs)(struct super_block * ) ;
3355   int (*statfs)(struct dentry * , struct kstatfs * ) ;
3356   int (*remount_fs)(struct super_block * , int * , char * ) ;
3357   void (*umount_begin)(struct super_block * ) ;
3358   int (*show_options)(struct seq_file * , struct dentry * ) ;
3359   int (*show_devname)(struct seq_file * , struct dentry * ) ;
3360   int (*show_path)(struct seq_file * , struct dentry * ) ;
3361   int (*show_stats)(struct seq_file * , struct dentry * ) ;
3362   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
3363   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
3364                          loff_t  ) ;
3365   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
3366   int (*nr_cached_objects)(struct super_block * ) ;
3367   void (*free_cached_objects)(struct super_block * , int  ) ;
3368};
3369#line 1834 "include/linux/fs.h"
3370struct file_system_type {
3371   char const   *name ;
3372   int fs_flags ;
3373   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
3374   void (*kill_sb)(struct super_block * ) ;
3375   struct module *owner ;
3376   struct file_system_type *next ;
3377   struct hlist_head fs_supers ;
3378   struct lock_class_key s_lock_key ;
3379   struct lock_class_key s_umount_key ;
3380   struct lock_class_key s_vfs_rename_key ;
3381   struct lock_class_key i_lock_key ;
3382   struct lock_class_key i_mutex_key ;
3383   struct lock_class_key i_mutex_dir_key ;
3384};
3385#line 81 "include/linux/genhd.h"
3386struct disk_stats {
3387   unsigned long sectors[2U] ;
3388   unsigned long ios[2U] ;
3389   unsigned long merges[2U] ;
3390   unsigned long ticks[2U] ;
3391   unsigned long io_ticks ;
3392   unsigned long time_in_queue ;
3393};
3394#line 90 "include/linux/genhd.h"
3395struct partition_meta_info {
3396   u8 uuid[16U] ;
3397   u8 volname[64U] ;
3398};
3399#line 98 "include/linux/genhd.h"
3400struct hd_struct {
3401   sector_t start_sect ;
3402   sector_t nr_sects ;
3403   sector_t alignment_offset ;
3404   unsigned int discard_alignment ;
3405   struct device __dev ;
3406   struct kobject *holder_dir ;
3407   int policy ;
3408   int partno ;
3409   struct partition_meta_info *info ;
3410   int make_it_fail ;
3411   unsigned long stamp ;
3412   atomic_t in_flight[2U] ;
3413   struct disk_stats *dkstats ;
3414   atomic_t ref ;
3415   struct rcu_head rcu_head ;
3416};
3417#line 146 "include/linux/genhd.h"
3418struct disk_part_tbl {
3419   struct rcu_head rcu_head ;
3420   int len ;
3421   struct hd_struct *last_lookup ;
3422   struct hd_struct *part[0U] ;
3423};
3424#line 153
3425struct disk_events;
3426#line 153
3427struct disk_events;
3428#line 154
3429struct blk_integrity;
3430#line 154 "include/linux/genhd.h"
3431struct gendisk {
3432   int major ;
3433   int first_minor ;
3434   int minors ;
3435   char disk_name[32U] ;
3436   char *(*devnode)(struct gendisk * , umode_t * ) ;
3437   unsigned int events ;
3438   unsigned int async_events ;
3439   struct disk_part_tbl *part_tbl ;
3440   struct hd_struct part0 ;
3441   struct block_device_operations  const  *fops ;
3442   struct request_queue *queue ;
3443   void *private_data ;
3444   int flags ;
3445   struct device *driverfs_dev ;
3446   struct kobject *slave_dir ;
3447   struct timer_rand_state *random ;
3448   atomic_t sync_io ;
3449   struct disk_events *ev ;
3450   struct blk_integrity *integrity ;
3451   int node_id ;
3452};
3453#line 178 "include/linux/mm.h"
3454struct vm_fault {
3455   unsigned int flags ;
3456   unsigned long pgoff ;
3457   void *virtual_address ;
3458   struct page *page ;
3459};
3460#line 195 "include/linux/mm.h"
3461struct vm_operations_struct {
3462   void (*open)(struct vm_area_struct * ) ;
3463   void (*close)(struct vm_area_struct * ) ;
3464   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
3465   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
3466   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
3467   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
3468   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
3469   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
3470                  unsigned long  ) ;
3471};
3472#line 11 "include/linux/writeback.h"
3473enum writeback_sync_modes {
3474    WB_SYNC_NONE = 0,
3475    WB_SYNC_ALL = 1
3476} ;
3477#line 54 "include/linux/writeback.h"
3478struct writeback_control {
3479   enum writeback_sync_modes sync_mode ;
3480   long nr_to_write ;
3481   long pages_skipped ;
3482   loff_t range_start ;
3483   loff_t range_end ;
3484   unsigned char for_kupdate : 1 ;
3485   unsigned char for_background : 1 ;
3486   unsigned char tagged_writepages : 1 ;
3487   unsigned char for_reclaim : 1 ;
3488   unsigned char range_cyclic : 1 ;
3489};
3490#line 80
3491struct bdi_writeback;
3492#line 80
3493struct bdi_writeback;
3494#line 38 "include/linux/backing-dev.h"
3495typedef int congested_fn(void * , int  );
3496#line 47 "include/linux/backing-dev.h"
3497struct bdi_writeback {
3498   struct backing_dev_info *bdi ;
3499   unsigned int nr ;
3500   unsigned long last_old_flush ;
3501   unsigned long last_active ;
3502   struct task_struct *task ;
3503   struct timer_list wakeup_timer ;
3504   struct list_head b_dirty ;
3505   struct list_head b_io ;
3506   struct list_head b_more_io ;
3507   spinlock_t list_lock ;
3508};
3509#line 64 "include/linux/backing-dev.h"
3510struct backing_dev_info {
3511   struct list_head bdi_list ;
3512   unsigned long ra_pages ;
3513   unsigned long state ;
3514   unsigned int capabilities ;
3515   congested_fn *congested_fn ;
3516   void *congested_data ;
3517   char *name ;
3518   struct percpu_counter bdi_stat[4U] ;
3519   unsigned long bw_time_stamp ;
3520   unsigned long dirtied_stamp ;
3521   unsigned long written_stamp ;
3522   unsigned long write_bandwidth ;
3523   unsigned long avg_write_bandwidth ;
3524   unsigned long dirty_ratelimit ;
3525   unsigned long balanced_dirty_ratelimit ;
3526   struct prop_local_percpu completions ;
3527   int dirty_exceeded ;
3528   unsigned int min_ratio ;
3529   unsigned int max_ratio ;
3530   unsigned int max_prop_frac ;
3531   struct bdi_writeback wb ;
3532   spinlock_t wb_lock ;
3533   struct list_head work_list ;
3534   struct device *dev ;
3535   struct timer_list laptop_mode_wb_timer ;
3536   struct dentry *debug_dir ;
3537   struct dentry *debug_stats ;
3538};
3539#line 11 "include/linux/mempool.h"
3540typedef void *mempool_alloc_t(gfp_t  , void * );
3541#line 12 "include/linux/mempool.h"
3542typedef void mempool_free_t(void * , void * );
3543#line 13 "include/linux/mempool.h"
3544struct mempool_s {
3545   spinlock_t lock ;
3546   int min_nr ;
3547   int curr_nr ;
3548   void **elements ;
3549   void *pool_data ;
3550   mempool_alloc_t *alloc ;
3551   mempool_free_t *free ;
3552   wait_queue_head_t wait ;
3553};
3554#line 24 "include/linux/mempool.h"
3555typedef struct mempool_s mempool_t;
3556#line 79 "include/linux/mempool.h"
3557union __anonunion_ldv_26459_173 {
3558   struct list_head q_node ;
3559   struct kmem_cache *__rcu_icq_cache ;
3560};
3561#line 79 "include/linux/mempool.h"
3562union __anonunion_ldv_26463_174 {
3563   struct hlist_node ioc_node ;
3564   struct rcu_head __rcu_head ;
3565};
3566#line 79 "include/linux/mempool.h"
3567struct io_cq {
3568   struct request_queue *q ;
3569   struct io_context *ioc ;
3570   union __anonunion_ldv_26459_173 ldv_26459 ;
3571   union __anonunion_ldv_26463_174 ldv_26463 ;
3572   unsigned int flags ;
3573};
3574#line 96 "include/linux/iocontext.h"
3575struct io_context {
3576   atomic_long_t refcount ;
3577   atomic_t nr_tasks ;
3578   spinlock_t lock ;
3579   unsigned short ioprio ;
3580   int nr_batch_requests ;
3581   unsigned long last_waited ;
3582   struct radix_tree_root icq_tree ;
3583   struct io_cq *icq_hint ;
3584   struct hlist_head icq_list ;
3585   struct work_struct release_work ;
3586};
3587#line 91 "include/linux/bio.h"
3588struct bio_integrity_payload {
3589   struct bio *bip_bio ;
3590   sector_t bip_sector ;
3591   void *bip_buf ;
3592   bio_end_io_t *bip_end_io ;
3593   unsigned int bip_size ;
3594   unsigned short bip_slab ;
3595   unsigned short bip_vcnt ;
3596   unsigned short bip_idx ;
3597   struct work_struct bip_work ;
3598   struct bio_vec bip_vec[0U] ;
3599};
3600#line 366 "include/linux/bio.h"
3601struct bio_list {
3602   struct bio *head ;
3603   struct bio *tail ;
3604};
3605#line 63 "include/linux/bsg.h"
3606struct bsg_class_device {
3607   struct device *class_dev ;
3608   struct device *parent ;
3609   int minor ;
3610   struct request_queue *queue ;
3611   struct kref ref ;
3612   void (*release)(struct device * ) ;
3613};
3614#line 80 "include/linux/bsg.h"
3615struct scatterlist {
3616   unsigned long sg_magic ;
3617   unsigned long page_link ;
3618   unsigned int offset ;
3619   unsigned int length ;
3620   dma_addr_t dma_address ;
3621   unsigned int dma_length ;
3622};
3623#line 18 "include/asm-generic/scatterlist.h"
3624struct elevator_queue;
3625#line 18
3626struct elevator_queue;
3627#line 21
3628struct request;
3629#line 21
3630struct request;
3631#line 23
3632struct bsg_job;
3633#line 23
3634struct bsg_job;
3635#line 40 "include/linux/blkdev.h"
3636typedef void rq_end_io_fn(struct request * , int  );
3637#line 41 "include/linux/blkdev.h"
3638struct request_list {
3639   int count[2U] ;
3640   int starved[2U] ;
3641   int elvpriv ;
3642   mempool_t *rq_pool ;
3643   wait_queue_head_t wait[2U] ;
3644};
3645#line 53
3646enum rq_cmd_type_bits {
3647    REQ_TYPE_FS = 1,
3648    REQ_TYPE_BLOCK_PC = 2,
3649    REQ_TYPE_SENSE = 3,
3650    REQ_TYPE_PM_SUSPEND = 4,
3651    REQ_TYPE_PM_RESUME = 5,
3652    REQ_TYPE_PM_SHUTDOWN = 6,
3653    REQ_TYPE_SPECIAL = 7,
3654    REQ_TYPE_ATA_TASKFILE = 8,
3655    REQ_TYPE_ATA_PC = 9
3656} ;
3657#line 65 "include/linux/blkdev.h"
3658union __anonunion_ldv_26893_175 {
3659   struct rb_node rb_node ;
3660   void *completion_data ;
3661};
3662#line 65 "include/linux/blkdev.h"
3663struct __anonstruct_elv_177 {
3664   struct io_cq *icq ;
3665   void *priv[2U] ;
3666};
3667#line 65 "include/linux/blkdev.h"
3668struct __anonstruct_flush_178 {
3669   unsigned int seq ;
3670   struct list_head list ;
3671   rq_end_io_fn *saved_end_io ;
3672};
3673#line 65 "include/linux/blkdev.h"
3674union __anonunion_ldv_26904_176 {
3675   struct __anonstruct_elv_177 elv ;
3676   struct __anonstruct_flush_178 flush ;
3677};
3678#line 65 "include/linux/blkdev.h"
3679struct request {
3680   struct list_head queuelist ;
3681   struct call_single_data csd ;
3682   struct request_queue *q ;
3683   unsigned int cmd_flags ;
3684   enum rq_cmd_type_bits cmd_type ;
3685   unsigned long atomic_flags ;
3686   int cpu ;
3687   unsigned int __data_len ;
3688   sector_t __sector ;
3689   struct bio *bio ;
3690   struct bio *biotail ;
3691   struct hlist_node hash ;
3692   union __anonunion_ldv_26893_175 ldv_26893 ;
3693   union __anonunion_ldv_26904_176 ldv_26904 ;
3694   struct gendisk *rq_disk ;
3695   struct hd_struct *part ;
3696   unsigned long start_time ;
3697   unsigned short nr_phys_segments ;
3698   unsigned short nr_integrity_segments ;
3699   unsigned short ioprio ;
3700   int ref_count ;
3701   void *special ;
3702   char *buffer ;
3703   int tag ;
3704   int errors ;
3705   unsigned char __cmd[16U] ;
3706   unsigned char *cmd ;
3707   unsigned short cmd_len ;
3708   unsigned int extra_len ;
3709   unsigned int sense_len ;
3710   unsigned int resid_len ;
3711   void *sense ;
3712   unsigned long deadline ;
3713   struct list_head timeout_list ;
3714   unsigned int timeout ;
3715   int retries ;
3716   rq_end_io_fn *end_io ;
3717   void *end_io_data ;
3718   struct request *next_rq ;
3719};
3720#line 10 "include/linux/elevator.h"
3721typedef int elevator_merge_fn(struct request_queue * , struct request ** , struct bio * );
3722#line 13 "include/linux/elevator.h"
3723typedef void elevator_merge_req_fn(struct request_queue * , struct request * , struct request * );
3724#line 15 "include/linux/elevator.h"
3725typedef void elevator_merged_fn(struct request_queue * , struct request * , int  );
3726#line 17 "include/linux/elevator.h"
3727typedef int elevator_allow_merge_fn(struct request_queue * , struct request * , struct bio * );
3728#line 19 "include/linux/elevator.h"
3729typedef void elevator_bio_merged_fn(struct request_queue * , struct request * , struct bio * );
3730#line 22 "include/linux/elevator.h"
3731typedef int elevator_dispatch_fn(struct request_queue * , int  );
3732#line 24 "include/linux/elevator.h"
3733typedef void elevator_add_req_fn(struct request_queue * , struct request * );
3734#line 25 "include/linux/elevator.h"
3735typedef struct request *elevator_request_list_fn(struct request_queue * , struct request * );
3736#line 26 "include/linux/elevator.h"
3737typedef void elevator_completed_req_fn(struct request_queue * , struct request * );
3738#line 27 "include/linux/elevator.h"
3739typedef int elevator_may_queue_fn(struct request_queue * , int  );
3740#line 29 "include/linux/elevator.h"
3741typedef void elevator_init_icq_fn(struct io_cq * );
3742#line 30 "include/linux/elevator.h"
3743typedef void elevator_exit_icq_fn(struct io_cq * );
3744#line 31 "include/linux/elevator.h"
3745typedef int elevator_set_req_fn(struct request_queue * , struct request * , gfp_t  );
3746#line 32 "include/linux/elevator.h"
3747typedef void elevator_put_req_fn(struct request * );
3748#line 33 "include/linux/elevator.h"
3749typedef void elevator_activate_req_fn(struct request_queue * , struct request * );
3750#line 34 "include/linux/elevator.h"
3751typedef void elevator_deactivate_req_fn(struct request_queue * , struct request * );
3752#line 36 "include/linux/elevator.h"
3753typedef void *elevator_init_fn(struct request_queue * );
3754#line 37 "include/linux/elevator.h"
3755typedef void elevator_exit_fn(struct elevator_queue * );
3756#line 38 "include/linux/elevator.h"
3757struct elevator_ops {
3758   elevator_merge_fn *elevator_merge_fn ;
3759   elevator_merged_fn *elevator_merged_fn ;
3760   elevator_merge_req_fn *elevator_merge_req_fn ;
3761   elevator_allow_merge_fn *elevator_allow_merge_fn ;
3762   elevator_bio_merged_fn *elevator_bio_merged_fn ;
3763   elevator_dispatch_fn *elevator_dispatch_fn ;
3764   elevator_add_req_fn *elevator_add_req_fn ;
3765   elevator_activate_req_fn *elevator_activate_req_fn ;
3766   elevator_deactivate_req_fn *elevator_deactivate_req_fn ;
3767   elevator_completed_req_fn *elevator_completed_req_fn ;
3768   elevator_request_list_fn *elevator_former_req_fn ;
3769   elevator_request_list_fn *elevator_latter_req_fn ;
3770   elevator_init_icq_fn *elevator_init_icq_fn ;
3771   elevator_exit_icq_fn *elevator_exit_icq_fn ;
3772   elevator_set_req_fn *elevator_set_req_fn ;
3773   elevator_put_req_fn *elevator_put_req_fn ;
3774   elevator_may_queue_fn *elevator_may_queue_fn ;
3775   elevator_init_fn *elevator_init_fn ;
3776   elevator_exit_fn *elevator_exit_fn ;
3777};
3778#line 68 "include/linux/elevator.h"
3779struct elv_fs_entry {
3780   struct attribute attr ;
3781   ssize_t (*show)(struct elevator_queue * , char * ) ;
3782   ssize_t (*store)(struct elevator_queue * , char const   * , size_t  ) ;
3783};
3784#line 76 "include/linux/elevator.h"
3785struct elevator_type {
3786   struct kmem_cache *icq_cache ;
3787   struct elevator_ops ops ;
3788   size_t icq_size ;
3789   size_t icq_align ;
3790   struct elv_fs_entry *elevator_attrs ;
3791   char elevator_name[16U] ;
3792   struct module *elevator_owner ;
3793   char icq_cache_name[21U] ;
3794   struct list_head list ;
3795};
3796#line 97 "include/linux/elevator.h"
3797struct elevator_queue {
3798   struct elevator_type *type ;
3799   void *elevator_data ;
3800   struct kobject kobj ;
3801   struct mutex sysfs_lock ;
3802   struct hlist_head *hash ;
3803   unsigned char registered : 1 ;
3804};
3805#line 202 "include/linux/blkdev.h"
3806typedef void request_fn_proc(struct request_queue * );
3807#line 203 "include/linux/blkdev.h"
3808typedef void make_request_fn(struct request_queue * , struct bio * );
3809#line 204 "include/linux/blkdev.h"
3810typedef int prep_rq_fn(struct request_queue * , struct request * );
3811#line 205 "include/linux/blkdev.h"
3812typedef void unprep_rq_fn(struct request_queue * , struct request * );
3813#line 206 "include/linux/blkdev.h"
3814struct bvec_merge_data {
3815   struct block_device *bi_bdev ;
3816   sector_t bi_sector ;
3817   unsigned int bi_size ;
3818   unsigned long bi_rw ;
3819};
3820#line 214 "include/linux/blkdev.h"
3821typedef int merge_bvec_fn(struct request_queue * , struct bvec_merge_data * , struct bio_vec * );
3822#line 216 "include/linux/blkdev.h"
3823typedef void softirq_done_fn(struct request * );
3824#line 217 "include/linux/blkdev.h"
3825typedef int dma_drain_needed_fn(struct request * );
3826#line 218 "include/linux/blkdev.h"
3827typedef int lld_busy_fn(struct request_queue * );
3828#line 219 "include/linux/blkdev.h"
3829typedef int bsg_job_fn(struct bsg_job * );
3830#line 220
3831enum blk_eh_timer_return {
3832    BLK_EH_NOT_HANDLED = 0,
3833    BLK_EH_HANDLED = 1,
3834    BLK_EH_RESET_TIMER = 2
3835} ;
3836#line 227 "include/linux/blkdev.h"
3837typedef enum blk_eh_timer_return rq_timed_out_fn(struct request * );
3838#line 233 "include/linux/blkdev.h"
3839struct blk_queue_tag {
3840   struct request **tag_index ;
3841   unsigned long *tag_map ;
3842   int busy ;
3843   int max_depth ;
3844   int real_max_depth ;
3845   atomic_t refcnt ;
3846};
3847#line 242 "include/linux/blkdev.h"
3848struct queue_limits {
3849   unsigned long bounce_pfn ;
3850   unsigned long seg_boundary_mask ;
3851   unsigned int max_hw_sectors ;
3852   unsigned int max_sectors ;
3853   unsigned int max_segment_size ;
3854   unsigned int physical_block_size ;
3855   unsigned int alignment_offset ;
3856   unsigned int io_min ;
3857   unsigned int io_opt ;
3858   unsigned int max_discard_sectors ;
3859   unsigned int discard_granularity ;
3860   unsigned int discard_alignment ;
3861   unsigned short logical_block_size ;
3862   unsigned short max_segments ;
3863   unsigned short max_integrity_segments ;
3864   unsigned char misaligned ;
3865   unsigned char discard_misaligned ;
3866   unsigned char cluster ;
3867   unsigned char discard_zeroes_data ;
3868};
3869#line 270 "include/linux/blkdev.h"
3870struct request_queue {
3871   struct list_head queue_head ;
3872   struct request *last_merge ;
3873   struct elevator_queue *elevator ;
3874   struct request_list rq ;
3875   request_fn_proc *request_fn ;
3876   make_request_fn *make_request_fn ;
3877   prep_rq_fn *prep_rq_fn ;
3878   unprep_rq_fn *unprep_rq_fn ;
3879   merge_bvec_fn *merge_bvec_fn ;
3880   softirq_done_fn *softirq_done_fn ;
3881   rq_timed_out_fn *rq_timed_out_fn ;
3882   dma_drain_needed_fn *dma_drain_needed ;
3883   lld_busy_fn *lld_busy_fn ;
3884   sector_t end_sector ;
3885   struct request *boundary_rq ;
3886   struct delayed_work delay_work ;
3887   struct backing_dev_info backing_dev_info ;
3888   void *queuedata ;
3889   unsigned long queue_flags ;
3890   int id ;
3891   gfp_t bounce_gfp ;
3892   spinlock_t __queue_lock ;
3893   spinlock_t *queue_lock ;
3894   struct kobject kobj ;
3895   unsigned long nr_requests ;
3896   unsigned int nr_congestion_on ;
3897   unsigned int nr_congestion_off ;
3898   unsigned int nr_batching ;
3899   unsigned int dma_drain_size ;
3900   void *dma_drain_buffer ;
3901   unsigned int dma_pad_mask ;
3902   unsigned int dma_alignment ;
3903   struct blk_queue_tag *queue_tags ;
3904   struct list_head tag_busy_list ;
3905   unsigned int nr_sorted ;
3906   unsigned int in_flight[2U] ;
3907   unsigned int rq_timeout ;
3908   struct timer_list timeout ;
3909   struct list_head timeout_list ;
3910   struct list_head icq_list ;
3911   struct queue_limits limits ;
3912   unsigned int sg_timeout ;
3913   unsigned int sg_reserved_size ;
3914   int node ;
3915   unsigned int flush_flags ;
3916   unsigned char flush_not_queueable : 1 ;
3917   unsigned char flush_queue_delayed : 1 ;
3918   unsigned char flush_pending_idx : 1 ;
3919   unsigned char flush_running_idx : 1 ;
3920   unsigned long flush_pending_since ;
3921   struct list_head flush_queue[2U] ;
3922   struct list_head flush_data_in_flight ;
3923   struct request flush_rq ;
3924   struct mutex sysfs_lock ;
3925   bsg_job_fn *bsg_job_fn ;
3926   int bsg_job_size ;
3927   struct bsg_class_device bsg_dev ;
3928};
3929#line 876 "include/linux/blkdev.h"
3930struct blk_plug {
3931   unsigned long magic ;
3932   struct list_head list ;
3933   struct list_head cb_list ;
3934   unsigned int should_sort ;
3935};
3936#line 1208 "include/linux/blkdev.h"
3937struct blk_integrity_exchg {
3938   void *prot_buf ;
3939   void *data_buf ;
3940   sector_t sector ;
3941   unsigned int data_size ;
3942   unsigned short sector_size ;
3943   char const   *disk_name ;
3944};
3945#line 1229 "include/linux/blkdev.h"
3946typedef void integrity_gen_fn(struct blk_integrity_exchg * );
3947#line 1230 "include/linux/blkdev.h"
3948typedef int integrity_vrfy_fn(struct blk_integrity_exchg * );
3949#line 1231 "include/linux/blkdev.h"
3950typedef void integrity_set_tag_fn(void * , void * , unsigned int  );
3951#line 1232 "include/linux/blkdev.h"
3952typedef void integrity_get_tag_fn(void * , void * , unsigned int  );
3953#line 1233 "include/linux/blkdev.h"
3954struct blk_integrity {
3955   integrity_gen_fn *generate_fn ;
3956   integrity_vrfy_fn *verify_fn ;
3957   integrity_set_tag_fn *set_tag_fn ;
3958   integrity_get_tag_fn *get_tag_fn ;
3959   unsigned short flags ;
3960   unsigned short tuple_size ;
3961   unsigned short sector_size ;
3962   unsigned short tag_size ;
3963   char const   *name ;
3964   struct kobject kobj ;
3965};
3966#line 1292 "include/linux/blkdev.h"
3967struct block_device_operations {
3968   int (*open)(struct block_device * , fmode_t  ) ;
3969   int (*release)(struct gendisk * , fmode_t  ) ;
3970   int (*ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
3971   int (*compat_ioctl)(struct block_device * , fmode_t  , unsigned int  , unsigned long  ) ;
3972   int (*direct_access)(struct block_device * , sector_t  , void ** , unsigned long * ) ;
3973   unsigned int (*check_events)(struct gendisk * , unsigned int  ) ;
3974   int (*media_changed)(struct gendisk * ) ;
3975   void (*unlock_native_capacity)(struct gendisk * ) ;
3976   int (*revalidate_disk)(struct gendisk * ) ;
3977   int (*getgeo)(struct block_device * , struct hd_geometry * ) ;
3978   void (*swap_slot_free_notify)(struct block_device * , unsigned long  ) ;
3979   struct module *owner ;
3980};
3981#line 313 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/dma.h"
3982struct scsi_device;
3983#line 313
3984struct scsi_device;
3985#line 53 "include/scsi/scsi_ioctl.h"
3986struct dma_attrs {
3987   unsigned long flags[1U] ;
3988};
3989#line 67 "include/linux/dma-attrs.h"
3990enum dma_data_direction {
3991    DMA_BIDIRECTIONAL = 0,
3992    DMA_TO_DEVICE = 1,
3993    DMA_FROM_DEVICE = 2,
3994    DMA_NONE = 3
3995} ;
3996#line 74 "include/linux/dma-attrs.h"
3997struct sg_table {
3998   struct scatterlist *sgl ;
3999   unsigned int nents ;
4000   unsigned int orig_nents ;
4001};
4002#line 268 "include/linux/scatterlist.h"
4003struct dma_map_ops {
4004   void *(*alloc)(struct device * , size_t  , dma_addr_t * , gfp_t  , struct dma_attrs * ) ;
4005   void (*free)(struct device * , size_t  , void * , dma_addr_t  , struct dma_attrs * ) ;
4006   int (*mmap)(struct device * , struct vm_area_struct * , void * , dma_addr_t  ,
4007               size_t  , struct dma_attrs * ) ;
4008   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
4009                          enum dma_data_direction  , struct dma_attrs * ) ;
4010   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
4011                      struct dma_attrs * ) ;
4012   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
4013                 struct dma_attrs * ) ;
4014   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
4015                    struct dma_attrs * ) ;
4016   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
4017   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
4018   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
4019   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
4020   int (*mapping_error)(struct device * , dma_addr_t  ) ;
4021   int (*dma_supported)(struct device * , u64  ) ;
4022   int (*set_dma_mask)(struct device * , u64  ) ;
4023   int is_phys ;
4024};
4025#line 202 "include/linux/dma-mapping.h"
4026struct Scsi_Host;
4027#line 202
4028struct Scsi_Host;
4029#line 204 "include/linux/dma-mapping.h"
4030struct scsi_data_buffer {
4031   struct sg_table table ;
4032   unsigned int length ;
4033   int resid ;
4034};
4035#line 37 "include/scsi/scsi_cmnd.h"
4036struct scsi_pointer {
4037   char *ptr ;
4038   int this_residual ;
4039   struct scatterlist *buffer ;
4040   int buffers_residual ;
4041   dma_addr_t dma_handle ;
4042   int volatile   Status ;
4043   int volatile   Message ;
4044   int volatile   have_data_in ;
4045   int volatile   sent_command ;
4046   int volatile   phase ;
4047};
4048#line 53 "include/scsi/scsi_cmnd.h"
4049struct scsi_cmnd {
4050   struct scsi_device *device ;
4051   struct list_head list ;
4052   struct list_head eh_entry ;
4053   int eh_eflags ;
4054   unsigned long serial_number ;
4055   unsigned long jiffies_at_alloc ;
4056   int retries ;
4057   int allowed ;
4058   unsigned char prot_op ;
4059   unsigned char prot_type ;
4060   unsigned short cmd_len ;
4061   enum dma_data_direction sc_data_direction ;
4062   unsigned char *cmnd ;
4063   struct scsi_data_buffer sdb ;
4064   struct scsi_data_buffer *prot_sdb ;
4065   unsigned int underflow ;
4066   unsigned int transfersize ;
4067   struct request *request ;
4068   unsigned char *sense_buffer ;
4069   void (*scsi_done)(struct scsi_cmnd * ) ;
4070   struct scsi_pointer SCp ;
4071   unsigned char *host_scribble ;
4072   int result ;
4073   unsigned char tag ;
4074};
4075#line 564 "include/scsi/scsi.h"
4076struct scsi_sense_hdr;
4077#line 564
4078struct scsi_sense_hdr;
4079#line 25 "include/scsi/scsi_device.h"
4080enum scsi_device_state {
4081    SDEV_CREATED = 1,
4082    SDEV_RUNNING = 2,
4083    SDEV_CANCEL = 3,
4084    SDEV_DEL = 4,
4085    SDEV_QUIESCE = 5,
4086    SDEV_OFFLINE = 6,
4087    SDEV_BLOCK = 7,
4088    SDEV_CREATED_BLOCK = 8
4089} ;
4090#line 63
4091struct scsi_target;
4092#line 63
4093struct scsi_dh_data;
4094#line 63 "include/scsi/scsi_device.h"
4095struct scsi_device {
4096   struct Scsi_Host *host ;
4097   struct request_queue *request_queue ;
4098   struct list_head siblings ;
4099   struct list_head same_target_siblings ;
4100   unsigned int device_busy ;
4101   spinlock_t list_lock ;
4102   struct list_head cmd_list ;
4103   struct list_head starved_entry ;
4104   struct scsi_cmnd *current_cmnd ;
4105   unsigned short queue_depth ;
4106   unsigned short max_queue_depth ;
4107   unsigned short last_queue_full_depth ;
4108   unsigned short last_queue_full_count ;
4109   unsigned long last_queue_full_time ;
4110   unsigned long queue_ramp_up_period ;
4111   unsigned long last_queue_ramp_up ;
4112   unsigned int id ;
4113   unsigned int lun ;
4114   unsigned int channel ;
4115   unsigned int manufacturer ;
4116   unsigned int sector_size ;
4117   void *hostdata ;
4118   char type ;
4119   char scsi_level ;
4120   char inq_periph_qual ;
4121   unsigned char inquiry_len ;
4122   unsigned char *inquiry ;
4123   char const   *vendor ;
4124   char const   *model ;
4125   char const   *rev ;
4126   unsigned char current_tag ;
4127   struct scsi_target *sdev_target ;
4128   unsigned int sdev_bflags ;
4129   unsigned char writeable : 1 ;
4130   unsigned char removable : 1 ;
4131   unsigned char changed : 1 ;
4132   unsigned char busy : 1 ;
4133   unsigned char lockable : 1 ;
4134   unsigned char locked : 1 ;
4135   unsigned char borken : 1 ;
4136   unsigned char disconnect : 1 ;
4137   unsigned char soft_reset : 1 ;
4138   unsigned char sdtr : 1 ;
4139   unsigned char wdtr : 1 ;
4140   unsigned char ppr : 1 ;
4141   unsigned char tagged_supported : 1 ;
4142   unsigned char simple_tags : 1 ;
4143   unsigned char ordered_tags : 1 ;
4144   unsigned char was_reset : 1 ;
4145   unsigned char expecting_cc_ua : 1 ;
4146   unsigned char use_10_for_rw : 1 ;
4147   unsigned char use_10_for_ms : 1 ;
4148   unsigned char skip_ms_page_8 : 1 ;
4149   unsigned char skip_ms_page_3f : 1 ;
4150   unsigned char skip_vpd_pages : 1 ;
4151   unsigned char use_192_bytes_for_3f : 1 ;
4152   unsigned char no_start_on_add : 1 ;
4153   unsigned char allow_restart : 1 ;
4154   unsigned char manage_start_stop : 1 ;
4155   unsigned char start_stop_pwr_cond : 1 ;
4156   unsigned char no_uld_attach : 1 ;
4157   unsigned char select_no_atn : 1 ;
4158   unsigned char fix_capacity : 1 ;
4159   unsigned char guess_capacity : 1 ;
4160   unsigned char retry_hwerror : 1 ;
4161   unsigned char last_sector_bug : 1 ;
4162   unsigned char no_read_disc_info : 1 ;
4163   unsigned char no_read_capacity_16 : 1 ;
4164   unsigned char is_visible : 1 ;
4165   unsigned long supported_events[1U] ;
4166   struct list_head event_list ;
4167   struct work_struct event_work ;
4168   unsigned int device_blocked ;
4169   unsigned int max_device_blocked ;
4170   atomic_t iorequest_cnt ;
4171   atomic_t iodone_cnt ;
4172   atomic_t ioerr_cnt ;
4173   struct device sdev_gendev ;
4174   struct device sdev_dev ;
4175   struct execute_work ew ;
4176   struct work_struct requeue_work ;
4177   struct scsi_dh_data *scsi_dh_data ;
4178   enum scsi_device_state sdev_state ;
4179   unsigned long sdev_data[0U] ;
4180};
4181#line 179 "include/scsi/scsi_device.h"
4182struct scsi_dh_devlist {
4183   char *vendor ;
4184   char *model ;
4185};
4186#line 186 "include/scsi/scsi_device.h"
4187struct scsi_device_handler {
4188   struct list_head list ;
4189   struct module *module ;
4190   char const   *name ;
4191   struct scsi_dh_devlist  const  *devlist ;
4192   int (*check_sense)(struct scsi_device * , struct scsi_sense_hdr * ) ;
4193   int (*attach)(struct scsi_device * ) ;
4194   void (*detach)(struct scsi_device * ) ;
4195   int (*activate)(struct scsi_device * , void (*)(void * , int  ) , void * ) ;
4196   int (*prep_fn)(struct scsi_device * , struct request * ) ;
4197   int (*set_params)(struct scsi_device * , char const   * ) ;
4198   bool (*match)(struct scsi_device * ) ;
4199};
4200#line 202 "include/scsi/scsi_device.h"
4201struct scsi_dh_data {
4202   struct scsi_device_handler *scsi_dh ;
4203   struct scsi_device *sdev ;
4204   struct kref kref ;
4205   char buf[0U] ;
4206};
4207#line 209
4208enum scsi_target_state {
4209    STARGET_CREATED = 1,
4210    STARGET_RUNNING = 2,
4211    STARGET_DEL = 3
4212} ;
4213#line 215 "include/scsi/scsi_device.h"
4214struct scsi_target {
4215   struct scsi_device *starget_sdev_user ;
4216   struct list_head siblings ;
4217   struct list_head devices ;
4218   struct device dev ;
4219   unsigned int reap_ref ;
4220   unsigned int channel ;
4221   unsigned int id ;
4222   unsigned char create : 1 ;
4223   unsigned char single_lun : 1 ;
4224   unsigned char pdt_1f_for_no_lun : 1 ;
4225   unsigned char no_report_luns : 1 ;
4226   unsigned int target_busy ;
4227   unsigned int can_queue ;
4228   unsigned int target_blocked ;
4229   unsigned int max_target_blocked ;
4230   char scsi_level ;
4231   struct execute_work ew ;
4232   enum scsi_target_state state ;
4233   void *hostdata ;
4234   unsigned long starget_data[0U] ;
4235};
4236#line 481
4237struct scsi_host_cmd_pool;
4238#line 481
4239struct scsi_host_cmd_pool;
4240#line 482
4241struct scsi_transport_template;
4242#line 482
4243struct scsi_transport_template;
4244#line 490 "include/scsi/scsi_device.h"
4245struct scsi_host_template {
4246   struct module *module ;
4247   char const   *name ;
4248   int (*detect)(struct scsi_host_template * ) ;
4249   int (*release)(struct Scsi_Host * ) ;
4250   char const   *(*info)(struct Scsi_Host * ) ;
4251   int (*ioctl)(struct scsi_device * , int  , void * ) ;
4252   int (*compat_ioctl)(struct scsi_device * , int  , void * ) ;
4253   int (*queuecommand)(struct Scsi_Host * , struct scsi_cmnd * ) ;
4254   int (*transfer_response)(struct scsi_cmnd * , void (*)(struct scsi_cmnd * ) ) ;
4255   int (*eh_abort_handler)(struct scsi_cmnd * ) ;
4256   int (*eh_device_reset_handler)(struct scsi_cmnd * ) ;
4257   int (*eh_target_reset_handler)(struct scsi_cmnd * ) ;
4258   int (*eh_bus_reset_handler)(struct scsi_cmnd * ) ;
4259   int (*eh_host_reset_handler)(struct scsi_cmnd * ) ;
4260   int (*slave_alloc)(struct scsi_device * ) ;
4261   int (*slave_configure)(struct scsi_device * ) ;
4262   void (*slave_destroy)(struct scsi_device * ) ;
4263   int (*target_alloc)(struct scsi_target * ) ;
4264   void (*target_destroy)(struct scsi_target * ) ;
4265   int (*scan_finished)(struct Scsi_Host * , unsigned long  ) ;
4266   void (*scan_start)(struct Scsi_Host * ) ;
4267   int (*change_queue_depth)(struct scsi_device * , int  , int  ) ;
4268   int (*change_queue_type)(struct scsi_device * , int  ) ;
4269   int (*bios_param)(struct scsi_device * , struct block_device * , sector_t  , int * ) ;
4270   void (*unlock_native_capacity)(struct scsi_device * ) ;
4271   int (*proc_info)(struct Scsi_Host * , char * , char ** , off_t  , int  , int  ) ;
4272   enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd * ) ;
4273   int (*host_reset)(struct Scsi_Host * , int  ) ;
4274   char const   *proc_name ;
4275   struct proc_dir_entry *proc_dir ;
4276   int can_queue ;
4277   int this_id ;
4278   unsigned short sg_tablesize ;
4279   unsigned short sg_prot_tablesize ;
4280   unsigned short max_sectors ;
4281   unsigned long dma_boundary ;
4282   short cmd_per_lun ;
4283   unsigned char present ;
4284   unsigned char supported_mode : 2 ;
4285   unsigned char unchecked_isa_dma : 1 ;
4286   unsigned char use_clustering : 1 ;
4287   unsigned char emulated : 1 ;
4288   unsigned char skip_settle_delay : 1 ;
4289   unsigned char ordered_tag : 1 ;
4290   unsigned int max_host_blocked ;
4291   struct device_attribute **shost_attrs ;
4292   struct device_attribute **sdev_attrs ;
4293   struct list_head legacy_hosts ;
4294   u64 vendor_id ;
4295};
4296#line 518 "include/scsi/scsi_host.h"
4297enum scsi_host_state {
4298    SHOST_CREATED = 1,
4299    SHOST_RUNNING = 2,
4300    SHOST_CANCEL = 3,
4301    SHOST_DEL = 4,
4302    SHOST_RECOVERY = 5,
4303    SHOST_CANCEL_RECOVERY = 6,
4304    SHOST_DEL_RECOVERY = 7
4305} ;
4306#line 528 "include/scsi/scsi_host.h"
4307struct Scsi_Host {
4308   struct list_head __devices ;
4309   struct list_head __targets ;
4310   struct scsi_host_cmd_pool *cmd_pool ;
4311   spinlock_t free_list_lock ;
4312   struct list_head free_list ;
4313   struct list_head starved_list ;
4314   spinlock_t default_lock ;
4315   spinlock_t *host_lock ;
4316   struct mutex scan_mutex ;
4317   struct list_head eh_cmd_q ;
4318   struct task_struct *ehandler ;
4319   struct completion *eh_action ;
4320   wait_queue_head_t host_wait ;
4321   struct scsi_host_template *hostt ;
4322   struct scsi_transport_template *transportt ;
4323   struct blk_queue_tag *bqt ;
4324   unsigned int host_busy ;
4325   unsigned int host_failed ;
4326   unsigned int host_eh_scheduled ;
4327   unsigned int host_no ;
4328   int resetting ;
4329   unsigned long last_reset ;
4330   unsigned int max_id ;
4331   unsigned int max_lun ;
4332   unsigned int max_channel ;
4333   unsigned int unique_id ;
4334   unsigned short max_cmd_len ;
4335   int this_id ;
4336   int can_queue ;
4337   short cmd_per_lun ;
4338   unsigned short sg_tablesize ;
4339   unsigned short sg_prot_tablesize ;
4340   unsigned short max_sectors ;
4341   unsigned long dma_boundary ;
4342   unsigned long cmd_serial_number ;
4343   unsigned char active_mode : 2 ;
4344   unsigned char unchecked_isa_dma : 1 ;
4345   unsigned char use_clustering : 1 ;
4346   unsigned char use_blk_tcq : 1 ;
4347   unsigned char host_self_blocked : 1 ;
4348   unsigned char reverse_ordering : 1 ;
4349   unsigned char ordered_tag : 1 ;
4350   unsigned char tmf_in_progress : 1 ;
4351   unsigned char async_scan : 1 ;
4352   unsigned char eh_noresume : 1 ;
4353   char work_q_name[20U] ;
4354   struct workqueue_struct *work_q ;
4355   unsigned int host_blocked ;
4356   unsigned int max_host_blocked ;
4357   unsigned int prot_capabilities ;
4358   unsigned char prot_guard_type ;
4359   struct request_queue *uspace_req_q ;
4360   unsigned long base ;
4361   unsigned long io_port ;
4362   unsigned char n_io_port ;
4363   unsigned char dma_channel ;
4364   unsigned int irq ;
4365   enum scsi_host_state shost_state ;
4366   struct device shost_gendev ;
4367   struct device shost_dev ;
4368   struct list_head sht_legacy_list ;
4369   void *shost_data ;
4370   struct device *dma_dev ;
4371   unsigned long hostdata[0U] ;
4372};
4373#line 12 "include/linux/mod_devicetable.h"
4374typedef unsigned long kernel_ulong_t;
4375#line 13 "include/linux/mod_devicetable.h"
4376struct pci_device_id {
4377   __u32 vendor ;
4378   __u32 device ;
4379   __u32 subvendor ;
4380   __u32 subdevice ;
4381   __u32 class ;
4382   __u32 class_mask ;
4383   kernel_ulong_t driver_data ;
4384};
4385#line 215 "include/linux/mod_devicetable.h"
4386struct of_device_id {
4387   char name[32U] ;
4388   char type[32U] ;
4389   char compatible[128U] ;
4390   void *data ;
4391};
4392#line 236 "include/linux/mod_devicetable.h"
4393struct pcmcia_device_id {
4394   __u16 match_flags ;
4395   __u16 manf_id ;
4396   __u16 card_id ;
4397   __u8 func_id ;
4398   __u8 function ;
4399   __u8 device_no ;
4400   __u32 prod_id_hash[4U] ;
4401   char const   *prod_id[4U] ;
4402   kernel_ulong_t driver_info ;
4403   char *cisfile ;
4404};
4405#line 69 "include/linux/io.h"
4406struct hotplug_slot;
4407#line 69 "include/linux/io.h"
4408struct pci_slot {
4409   struct pci_bus *bus ;
4410   struct list_head list ;
4411   struct hotplug_slot *hotplug ;
4412   unsigned char number ;
4413   struct kobject kobj ;
4414};
4415#line 117 "include/linux/pci.h"
4416typedef int pci_power_t;
4417#line 143 "include/linux/pci.h"
4418typedef unsigned int pci_channel_state_t;
4419#line 144
4420enum pci_channel_state {
4421    pci_channel_io_normal = 1,
4422    pci_channel_io_frozen = 2,
4423    pci_channel_io_perm_failure = 3
4424} ;
4425#line 169 "include/linux/pci.h"
4426typedef unsigned short pci_dev_flags_t;
4427#line 186 "include/linux/pci.h"
4428typedef unsigned short pci_bus_flags_t;
4429#line 229
4430struct pcie_link_state;
4431#line 229
4432struct pcie_link_state;
4433#line 230
4434struct pci_vpd;
4435#line 230
4436struct pci_vpd;
4437#line 231
4438struct pci_sriov;
4439#line 231
4440struct pci_sriov;
4441#line 232
4442struct pci_ats;
4443#line 232
4444struct pci_ats;
4445#line 233
4446struct pci_driver;
4447#line 233 "include/linux/pci.h"
4448union __anonunion_ldv_30347_187 {
4449   struct pci_sriov *sriov ;
4450   struct pci_dev *physfn ;
4451};
4452#line 233 "include/linux/pci.h"
4453struct pci_dev {
4454   struct list_head bus_list ;
4455   struct pci_bus *bus ;
4456   struct pci_bus *subordinate ;
4457   void *sysdata ;
4458   struct proc_dir_entry *procent ;
4459   struct pci_slot *slot ;
4460   unsigned int devfn ;
4461   unsigned short vendor ;
4462   unsigned short device ;
4463   unsigned short subsystem_vendor ;
4464   unsigned short subsystem_device ;
4465   unsigned int class ;
4466   u8 revision ;
4467   u8 hdr_type ;
4468   u8 pcie_cap ;
4469   unsigned char pcie_type : 4 ;
4470   unsigned char pcie_mpss : 3 ;
4471   u8 rom_base_reg ;
4472   u8 pin ;
4473   struct pci_driver *driver ;
4474   u64 dma_mask ;
4475   struct device_dma_parameters dma_parms ;
4476   pci_power_t current_state ;
4477   int pm_cap ;
4478   unsigned char pme_support : 5 ;
4479   unsigned char pme_interrupt : 1 ;
4480   unsigned char pme_poll : 1 ;
4481   unsigned char d1_support : 1 ;
4482   unsigned char d2_support : 1 ;
4483   unsigned char no_d1d2 : 1 ;
4484   unsigned char mmio_always_on : 1 ;
4485   unsigned char wakeup_prepared : 1 ;
4486   unsigned int d3_delay ;
4487   struct pcie_link_state *link_state ;
4488   pci_channel_state_t error_state ;
4489   struct device dev ;
4490   int cfg_size ;
4491   unsigned int irq ;
4492   struct resource resource[17U] ;
4493   unsigned char transparent : 1 ;
4494   unsigned char multifunction : 1 ;
4495   unsigned char is_added : 1 ;
4496   unsigned char is_busmaster : 1 ;
4497   unsigned char no_msi : 1 ;
4498   unsigned char block_cfg_access : 1 ;
4499   unsigned char broken_parity_status : 1 ;
4500   unsigned char irq_reroute_variant : 2 ;
4501   unsigned char msi_enabled : 1 ;
4502   unsigned char msix_enabled : 1 ;
4503   unsigned char ari_enabled : 1 ;
4504   unsigned char is_managed : 1 ;
4505   unsigned char is_pcie : 1 ;
4506   unsigned char needs_freset : 1 ;
4507   unsigned char state_saved : 1 ;
4508   unsigned char is_physfn : 1 ;
4509   unsigned char is_virtfn : 1 ;
4510   unsigned char reset_fn : 1 ;
4511   unsigned char is_hotplug_bridge : 1 ;
4512   unsigned char __aer_firmware_first_valid : 1 ;
4513   unsigned char __aer_firmware_first : 1 ;
4514   pci_dev_flags_t dev_flags ;
4515   atomic_t enable_cnt ;
4516   u32 saved_config_space[16U] ;
4517   struct hlist_head saved_cap_space ;
4518   struct bin_attribute *rom_attr ;
4519   int rom_attr_enabled ;
4520   struct bin_attribute *res_attr[17U] ;
4521   struct bin_attribute *res_attr_wc[17U] ;
4522   struct list_head msi_list ;
4523   struct kset *msi_kset ;
4524   struct pci_vpd *vpd ;
4525   union __anonunion_ldv_30347_187 ldv_30347 ;
4526   struct pci_ats *ats ;
4527};
4528#line 403
4529struct pci_ops;
4530#line 403 "include/linux/pci.h"
4531struct pci_bus {
4532   struct list_head node ;
4533   struct pci_bus *parent ;
4534   struct list_head children ;
4535   struct list_head devices ;
4536   struct pci_dev *self ;
4537   struct list_head slots ;
4538   struct resource *resource[4U] ;
4539   struct list_head resources ;
4540   struct pci_ops *ops ;
4541   void *sysdata ;
4542   struct proc_dir_entry *procdir ;
4543   unsigned char number ;
4544   unsigned char primary ;
4545   unsigned char secondary ;
4546   unsigned char subordinate ;
4547   unsigned char max_bus_speed ;
4548   unsigned char cur_bus_speed ;
4549   char name[48U] ;
4550   unsigned short bridge_ctl ;
4551   pci_bus_flags_t bus_flags ;
4552   struct device *bridge ;
4553   struct device dev ;
4554   struct bin_attribute *legacy_io ;
4555   struct bin_attribute *legacy_mem ;
4556   unsigned char is_added : 1 ;
4557};
4558#line 455 "include/linux/pci.h"
4559struct pci_ops {
4560   int (*read)(struct pci_bus * , unsigned int  , int  , int  , u32 * ) ;
4561   int (*write)(struct pci_bus * , unsigned int  , int  , int  , u32  ) ;
4562};
4563#line 490 "include/linux/pci.h"
4564struct pci_dynids {
4565   spinlock_t lock ;
4566   struct list_head list ;
4567};
4568#line 503 "include/linux/pci.h"
4569typedef unsigned int pci_ers_result_t;
4570#line 512 "include/linux/pci.h"
4571struct pci_error_handlers {
4572   pci_ers_result_t (*error_detected)(struct pci_dev * , enum pci_channel_state  ) ;
4573   pci_ers_result_t (*mmio_enabled)(struct pci_dev * ) ;
4574   pci_ers_result_t (*link_reset)(struct pci_dev * ) ;
4575   pci_ers_result_t (*slot_reset)(struct pci_dev * ) ;
4576   void (*resume)(struct pci_dev * ) ;
4577};
4578#line 540 "include/linux/pci.h"
4579struct pci_driver {
4580   struct list_head node ;
4581   char const   *name ;
4582   struct pci_device_id  const  *id_table ;
4583   int (*probe)(struct pci_dev * , struct pci_device_id  const  * ) ;
4584   void (*remove)(struct pci_dev * ) ;
4585   int (*suspend)(struct pci_dev * , pm_message_t  ) ;
4586   int (*suspend_late)(struct pci_dev * , pm_message_t  ) ;
4587   int (*resume_early)(struct pci_dev * ) ;
4588   int (*resume)(struct pci_dev * ) ;
4589   void (*shutdown)(struct pci_dev * ) ;
4590   struct pci_error_handlers *err_handler ;
4591   struct device_driver driver ;
4592   struct pci_dynids dynids ;
4593};
4594#line 1722 "include/linux/pci.h"
4595struct socket_state_t {
4596   u_int flags ;
4597   u_int csc_mask ;
4598   u_char Vcc ;
4599   u_char Vpp ;
4600   u_char io_irq ;
4601};
4602#line 58 "include/pcmcia/ss.h"
4603typedef struct socket_state_t socket_state_t;
4604#line 61 "include/pcmcia/ss.h"
4605struct pccard_io_map {
4606   u_char map ;
4607   u_char flags ;
4608   u_short speed ;
4609   phys_addr_t start ;
4610   phys_addr_t stop ;
4611};
4612#line 93 "include/pcmcia/ss.h"
4613struct pccard_mem_map {
4614   u_char map ;
4615   u_char flags ;
4616   u_short speed ;
4617   phys_addr_t static_start ;
4618   u_int card_start ;
4619   struct resource *res ;
4620};
4621#line 101 "include/pcmcia/ss.h"
4622typedef struct pccard_mem_map pccard_mem_map;
4623#line 102 "include/pcmcia/ss.h"
4624struct io_window_t {
4625   u_int InUse ;
4626   u_int Config ;
4627   struct resource *res ;
4628};
4629#line 106 "include/pcmcia/ss.h"
4630typedef struct io_window_t io_window_t;
4631#line 107
4632struct pcmcia_socket;
4633#line 107
4634struct pcmcia_socket;
4635#line 108
4636struct pccard_resource_ops;
4637#line 108
4638struct pccard_resource_ops;
4639#line 109
4640struct config_t;
4641#line 109
4642struct config_t;
4643#line 110
4644struct pcmcia_callback;
4645#line 110
4646struct pcmcia_callback;
4647#line 112 "include/pcmcia/ss.h"
4648struct pccard_operations {
4649   int (*init)(struct pcmcia_socket * ) ;
4650   int (*suspend)(struct pcmcia_socket * ) ;
4651   int (*get_status)(struct pcmcia_socket * , u_int * ) ;
4652   int (*set_socket)(struct pcmcia_socket * , socket_state_t * ) ;
4653   int (*set_io_map)(struct pcmcia_socket * , struct pccard_io_map * ) ;
4654   int (*set_mem_map)(struct pcmcia_socket * , struct pccard_mem_map * ) ;
4655};
4656#line 132 "include/pcmcia/ss.h"
4657struct pcmcia_socket {
4658   struct module *owner ;
4659   socket_state_t socket ;
4660   u_int state ;
4661   u_int suspended_state ;
4662   u_short functions ;
4663   u_short lock_count ;
4664   pccard_mem_map cis_mem ;
4665   void *cis_virt ;
4666   io_window_t io[2U] ;
4667   pccard_mem_map win[4U] ;
4668   struct list_head cis_cache ;
4669   size_t fake_cis_len ;
4670   u8 *fake_cis ;
4671   struct list_head socket_list ;
4672   struct completion socket_released ;
4673   unsigned int sock ;
4674   u_int features ;
4675   u_int irq_mask ;
4676   u_int map_size ;
4677   u_int io_offset ;
4678   u_int pci_irq ;
4679   struct pci_dev *cb_dev ;
4680   u8 resource_setup_done ;
4681   struct pccard_operations *ops ;
4682   struct pccard_resource_ops *resource_ops ;
4683   void *resource_data ;
4684   void (*zoom_video)(struct pcmcia_socket * , int  ) ;
4685   int (*power_hook)(struct pcmcia_socket * , int  ) ;
4686   void (*tune_bridge)(struct pcmcia_socket * , struct pci_bus * ) ;
4687   struct task_struct *thread ;
4688   struct completion thread_done ;
4689   unsigned int thread_events ;
4690   unsigned int sysfs_events ;
4691   struct mutex skt_mutex ;
4692   struct mutex ops_mutex ;
4693   spinlock_t thread_lock ;
4694   struct pcmcia_callback *callback ;
4695   struct list_head devices_list ;
4696   u8 device_count ;
4697   u8 pcmcia_pfc ;
4698   atomic_t present ;
4699   unsigned int pcmcia_irq ;
4700   struct device dev ;
4701   void *driver_data ;
4702   int resume_status ;
4703};
4704#line 264
4705struct pcmcia_device;
4706#line 264
4707struct pcmcia_device;
4708#line 265 "include/pcmcia/ss.h"
4709struct pcmcia_dynids {
4710   struct mutex lock ;
4711   struct list_head list ;
4712};
4713#line 48 "include/pcmcia/ds.h"
4714struct pcmcia_driver {
4715   char const   *name ;
4716   int (*probe)(struct pcmcia_device * ) ;
4717   void (*remove)(struct pcmcia_device * ) ;
4718   int (*suspend)(struct pcmcia_device * ) ;
4719   int (*resume)(struct pcmcia_device * ) ;
4720   struct module *owner ;
4721   struct pcmcia_device_id  const  *id_table ;
4722   struct device_driver drv ;
4723   struct pcmcia_dynids dynids ;
4724};
4725#line 77 "include/pcmcia/ds.h"
4726struct pcmcia_device {
4727   struct pcmcia_socket *socket ;
4728   char *devname ;
4729   u8 device_no ;
4730   u8 func ;
4731   struct config_t *function_config ;
4732   struct list_head socket_device_list ;
4733   unsigned int irq ;
4734   struct resource *resource[6U] ;
4735   resource_size_t card_addr ;
4736   unsigned int vpp ;
4737   unsigned int config_flags ;
4738   unsigned int config_base ;
4739   unsigned int config_index ;
4740   unsigned int config_regs ;
4741   unsigned int io_lines ;
4742   unsigned char suspended : 1 ;
4743   unsigned char _irq : 1 ;
4744   unsigned char _io : 1 ;
4745   unsigned char _win : 4 ;
4746   unsigned char _locked : 1 ;
4747   unsigned char allow_func_id_match : 1 ;
4748   unsigned char has_manf_id : 1 ;
4749   unsigned char has_card_id : 1 ;
4750   unsigned char has_func_id : 1 ;
4751   unsigned char reserved : 4 ;
4752   u8 func_id ;
4753   u16 manf_id ;
4754   u16 card_id ;
4755   char *prod_id[4U] ;
4756   u64 dma_mask ;
4757   struct device dev ;
4758   void *priv ;
4759   unsigned int open ;
4760};
4761#line 222 "include/pcmcia/ds.h"
4762struct scsi_info_t {
4763   struct pcmcia_device *p_dev ;
4764   struct Scsi_Host *host ;
4765   unsigned short manf_id ;
4766};
4767#line 210 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
4768struct sym53c500_data {
4769   struct scsi_cmnd *current_SC ;
4770   int fast_pio ;
4771};
4772#line 1 "<compiler builtins>"
4773long __builtin_expect(long  , long  ) ;
4774#line 2 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
4775void ldv_spin_lock(void) ;
4776#line 3
4777void ldv_spin_unlock(void) ;
4778#line 4
4779int ldv_spin_trylock(void) ;
4780#line 101 "include/linux/printk.h"
4781extern int printk(char const   *  , ...) ;
4782#line 50 "include/linux/dynamic_debug.h"
4783extern int __dynamic_dev_dbg(struct _ddebug * , struct device  const  * , char const   * 
4784                             , ...) ;
4785#line 307 "include/linux/kernel.h"
4786extern unsigned long simple_strtoul(char const   * , char ** , unsigned int  ) ;
4787#line 323
4788extern int snprintf(char * , size_t  , char const   *  , ...) ;
4789#line 29 "include/linux/spinlock_api_smp.h"
4790extern void _raw_spin_lock_irq(raw_spinlock_t * ) ;
4791#line 41
4792extern void _raw_spin_unlock_irq(raw_spinlock_t * ) ;
4793#line 43
4794extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long  ) ;
4795#line 308 "include/linux/spinlock.h"
4796__inline static void ldv_spin_lock_irq_4(spinlock_t *lock ) 
4797{ struct raw_spinlock *__cil_tmp2 ;
4798
4799  {
4800  {
4801#line 310
4802  __cil_tmp2 = (struct raw_spinlock *)lock;
4803#line 310
4804  _raw_spin_lock_irq(__cil_tmp2);
4805  }
4806#line 311
4807  return;
4808}
4809}
4810#line 308
4811__inline static void spin_lock_irq(spinlock_t *lock ) ;
4812#line 341 "include/linux/spinlock.h"
4813__inline static void ldv_spin_unlock_irq_7(spinlock_t *lock ) 
4814{ struct raw_spinlock *__cil_tmp2 ;
4815
4816  {
4817  {
4818#line 343
4819  __cil_tmp2 = (struct raw_spinlock *)lock;
4820#line 343
4821  _raw_spin_unlock_irq(__cil_tmp2);
4822  }
4823#line 344
4824  return;
4825}
4826}
4827#line 341
4828__inline static void spin_unlock_irq(spinlock_t *lock ) ;
4829#line 350 "include/linux/spinlock.h"
4830__inline static void ldv_spin_unlock_irqrestore_8(spinlock_t *lock , unsigned long flags ) 
4831{ struct raw_spinlock *__cil_tmp5 ;
4832
4833  {
4834  {
4835#line 352
4836  __cil_tmp5 = (struct raw_spinlock *)lock;
4837#line 352
4838  _raw_spin_unlock_irqrestore(__cil_tmp5, flags);
4839  }
4840#line 353
4841  return;
4842}
4843}
4844#line 350
4845__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) ;
4846#line 137 "include/linux/ioport.h"
4847extern struct resource ioport_resource ;
4848#line 192
4849extern void __release_region(struct resource * , resource_size_t  , resource_size_t  ) ;
4850#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
4851__inline static void outb(unsigned char value , int port ) 
4852{ 
4853
4854  {
4855#line 308
4856  __asm__  volatile   ("outb %b0, %w1": : "a" (value), "Nd" (port));
4857#line 309
4858  return;
4859}
4860}
4861#line 308 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
4862__inline static unsigned char inb(int port ) 
4863{ unsigned char value ;
4864
4865  {
4866#line 308
4867  __asm__  volatile   ("inb %w1, %b0": "=a" (value): "Nd" (port));
4868#line 308
4869  return (value);
4870}
4871}
4872#line 310 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
4873__inline static void outsl(int port , void const   *addr , unsigned long count ) 
4874{ 
4875
4876  {
4877#line 310
4878  __asm__  volatile   ("rep; outsl": "+S" (addr), "+c" (count): "d" (port));
4879#line 311
4880  return;
4881}
4882}
4883#line 310 "/home/zakharov/launch/inst/current/envs/linux-3.4/linux-3.4/arch/x86/include/asm/io.h"
4884__inline static void insl(int port , void *addr , unsigned long count ) 
4885{ 
4886
4887  {
4888#line 310
4889  __asm__  volatile   ("rep; insl": "+D" (addr), "+c" (count): "d" (port));
4890#line 311
4891  return;
4892}
4893}
4894#line 26 "include/linux/export.h"
4895extern struct module __this_module ;
4896#line 161 "include/linux/slab.h"
4897extern void kfree(void const   * ) ;
4898#line 220 "include/linux/slub_def.h"
4899extern void *kmem_cache_alloc(struct kmem_cache * , gfp_t  ) ;
4900#line 223
4901void *ldv_kmem_cache_alloc_16(struct kmem_cache *ldv_func_arg1 , gfp_t ldv_func_arg2 ) ;
4902#line 353 "include/linux/slab.h"
4903__inline static void *kzalloc(size_t size , gfp_t flags ) ;
4904#line 10 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
4905extern void *__VERIFIER_nondet_pointer(void) ;
4906#line 11
4907void ldv_check_alloc_flags(gfp_t flags ) ;
4908#line 12
4909void ldv_check_alloc_nonatomic(void) ;
4910#line 14
4911struct page *ldv_check_alloc_flags_and_return_some_page(gfp_t flags ) ;
4912#line 127 "include/linux/interrupt.h"
4913extern int request_threaded_irq(unsigned int  , irqreturn_t (*)(int  , void * ) ,
4914                                irqreturn_t (*)(int  , void * ) , unsigned long  ,
4915                                char const   * , void * ) ;
4916#line 132 "include/linux/interrupt.h"
4917__inline static int request_irq(unsigned int irq , irqreturn_t (*handler)(int  , void * ) ,
4918                                unsigned long flags , char const   *name , void *dev ) 
4919{ int tmp ;
4920  irqreturn_t (*__cil_tmp7)(int  , void * ) ;
4921
4922  {
4923  {
4924#line 135
4925  __cil_tmp7 = (irqreturn_t (*)(int  , void * ))0;
4926#line 135
4927  tmp = request_threaded_irq(irq, handler, __cil_tmp7, flags, name, dev);
4928  }
4929#line 135
4930  return (tmp);
4931}
4932}
4933#line 184
4934extern void free_irq(unsigned int  , void * ) ;
4935#line 737 "include/linux/mm.h"
4936__inline static void *lowmem_page_address(struct page  const  *page ) 
4937{ long __cil_tmp2 ;
4938  long __cil_tmp3 ;
4939  long __cil_tmp4 ;
4940  unsigned long long __cil_tmp5 ;
4941  unsigned long long __cil_tmp6 ;
4942  unsigned long __cil_tmp7 ;
4943  unsigned long __cil_tmp8 ;
4944
4945  {
4946  {
4947#line 739
4948  __cil_tmp2 = (long )page;
4949#line 739
4950  __cil_tmp3 = __cil_tmp2 + 24189255811072L;
4951#line 739
4952  __cil_tmp4 = __cil_tmp3 / 64L;
4953#line 739
4954  __cil_tmp5 = (unsigned long long )__cil_tmp4;
4955#line 739
4956  __cil_tmp6 = __cil_tmp5 << 12;
4957#line 739
4958  __cil_tmp7 = (unsigned long )__cil_tmp6;
4959#line 739
4960  __cil_tmp8 = __cil_tmp7 + 0xffff880000000000UL;
4961#line 739
4962  return ((void *)__cil_tmp8);
4963  }
4964}
4965}
4966#line 95 "include/linux/scatterlist.h"
4967__inline static struct page *sg_page(struct scatterlist *sg ) 
4968{ long tmp ;
4969  long tmp___0 ;
4970  unsigned long __cil_tmp4 ;
4971  int __cil_tmp5 ;
4972  long __cil_tmp6 ;
4973  unsigned long __cil_tmp7 ;
4974  unsigned long __cil_tmp8 ;
4975  unsigned long __cil_tmp9 ;
4976  int __cil_tmp10 ;
4977  long __cil_tmp11 ;
4978  long __cil_tmp12 ;
4979  unsigned long __cil_tmp13 ;
4980  unsigned long __cil_tmp14 ;
4981  unsigned long __cil_tmp15 ;
4982  unsigned long __cil_tmp16 ;
4983
4984  {
4985  {
4986#line 98
4987  __cil_tmp4 = *((unsigned long *)sg);
4988#line 98
4989  __cil_tmp5 = __cil_tmp4 != 2271560481UL;
4990#line 98
4991  __cil_tmp6 = (long )__cil_tmp5;
4992#line 98
4993  tmp = __builtin_expect(__cil_tmp6, 0L);
4994  }
4995#line 98
4996  if (tmp != 0L) {
4997#line 98
4998    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"),
4999                         "i" (98), "i" (12UL));
5000    ldv_28114: ;
5001#line 98
5002    goto ldv_28114;
5003  } else {
5004
5005  }
5006  {
5007#line 99
5008  __cil_tmp7 = (unsigned long )sg;
5009#line 99
5010  __cil_tmp8 = __cil_tmp7 + 8;
5011#line 99
5012  __cil_tmp9 = *((unsigned long *)__cil_tmp8);
5013#line 99
5014  __cil_tmp10 = (int )__cil_tmp9;
5015#line 99
5016  __cil_tmp11 = (long )__cil_tmp10;
5017#line 99
5018  __cil_tmp12 = __cil_tmp11 & 1L;
5019#line 99
5020  tmp___0 = __builtin_expect(__cil_tmp12, 0L);
5021  }
5022#line 99
5023  if (tmp___0 != 0L) {
5024#line 99
5025    __asm__  volatile   ("1:\tud2\n.pushsection __bug_table,\"a\"\n2:\t.long 1b - 2b, %c0 - 2b\n\t.word %c1, 0\n\t.org 2b+%c2\n.popsection": : "i" ((char *)"include/linux/scatterlist.h"),
5026                         "i" (99), "i" (12UL));
5027    ldv_28115: ;
5028#line 99
5029    goto ldv_28115;
5030  } else {
5031
5032  }
5033  {
5034#line 101
5035  __cil_tmp13 = (unsigned long )sg;
5036#line 101
5037  __cil_tmp14 = __cil_tmp13 + 8;
5038#line 101
5039  __cil_tmp15 = *((unsigned long *)__cil_tmp14);
5040#line 101
5041  __cil_tmp16 = __cil_tmp15 & 0xfffffffffffffffcUL;
5042#line 101
5043  return ((struct page *)__cil_tmp16);
5044  }
5045}
5046}
5047#line 199 "include/linux/scatterlist.h"
5048__inline static void *sg_virt(struct scatterlist *sg ) 
5049{ struct page *tmp ;
5050  void *tmp___0 ;
5051  struct page  const  *__cil_tmp4 ;
5052  unsigned long __cil_tmp5 ;
5053  unsigned long __cil_tmp6 ;
5054  unsigned int __cil_tmp7 ;
5055  unsigned long __cil_tmp8 ;
5056
5057  {
5058  {
5059#line 201
5060  tmp = sg_page(sg);
5061#line 201
5062  __cil_tmp4 = (struct page  const  *)tmp;
5063#line 201
5064  tmp___0 = lowmem_page_address(__cil_tmp4);
5065  }
5066  {
5067#line 201
5068  __cil_tmp5 = (unsigned long )sg;
5069#line 201
5070  __cil_tmp6 = __cil_tmp5 + 16;
5071#line 201
5072  __cil_tmp7 = *((unsigned int *)__cil_tmp6);
5073#line 201
5074  __cil_tmp8 = (unsigned long )__cil_tmp7;
5075#line 201
5076  return (tmp___0 + __cil_tmp8);
5077  }
5078}
5079}
5080#line 204
5081extern struct scatterlist *sg_next(struct scatterlist * ) ;
5082#line 163 "include/scsi/scsi_cmnd.h"
5083__inline static unsigned int scsi_sg_count(struct scsi_cmnd *cmd ) 
5084{ unsigned long __cil_tmp2 ;
5085  unsigned long __cil_tmp3 ;
5086  unsigned long __cil_tmp4 ;
5087  unsigned long __cil_tmp5 ;
5088
5089  {
5090  {
5091#line 165
5092  __cil_tmp2 = 0 + 8;
5093#line 165
5094  __cil_tmp3 = 88 + __cil_tmp2;
5095#line 165
5096  __cil_tmp4 = (unsigned long )cmd;
5097#line 165
5098  __cil_tmp5 = __cil_tmp4 + __cil_tmp3;
5099#line 165
5100  return (*((unsigned int *)__cil_tmp5));
5101  }
5102}
5103}
5104#line 168 "include/scsi/scsi_cmnd.h"
5105__inline static struct scatterlist *scsi_sglist(struct scsi_cmnd *cmd ) 
5106{ unsigned long __cil_tmp2 ;
5107  unsigned long __cil_tmp3 ;
5108
5109  {
5110  {
5111#line 170
5112  __cil_tmp2 = (unsigned long )cmd;
5113#line 170
5114  __cil_tmp3 = __cil_tmp2 + 88;
5115#line 170
5116  return (*((struct scatterlist **)__cil_tmp3));
5117  }
5118}
5119}
5120#line 173 "include/scsi/scsi_cmnd.h"
5121__inline static unsigned int scsi_bufflen(struct scsi_cmnd *cmd ) 
5122{ unsigned long __cil_tmp2 ;
5123  unsigned long __cil_tmp3 ;
5124  unsigned long __cil_tmp4 ;
5125
5126  {
5127  {
5128#line 175
5129  __cil_tmp2 = 88 + 16;
5130#line 175
5131  __cil_tmp3 = (unsigned long )cmd;
5132#line 175
5133  __cil_tmp4 = __cil_tmp3 + __cil_tmp2;
5134#line 175
5135  return (*((unsigned int *)__cil_tmp4));
5136  }
5137}
5138}
5139#line 409 "include/scsi/scsi_device.h"
5140__inline static unsigned int sdev_id(struct scsi_device *sdev ) 
5141{ unsigned long __cil_tmp2 ;
5142  unsigned long __cil_tmp3 ;
5143
5144  {
5145  {
5146#line 411
5147  __cil_tmp2 = (unsigned long )sdev;
5148#line 411
5149  __cil_tmp3 = __cil_tmp2 + 200;
5150#line 411
5151  return (*((unsigned int *)__cil_tmp3));
5152  }
5153}
5154}
5155#line 778 "include/scsi/scsi_host.h"
5156extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template * , int  ) ;
5157#line 779
5158extern int scsi_add_host_with_dma(struct Scsi_Host * , struct device * , struct device * ) ;
5159#line 782
5160extern void scsi_scan_host(struct Scsi_Host * ) ;
5161#line 784
5162extern void scsi_remove_host(struct Scsi_Host * ) ;
5163#line 786
5164extern void scsi_host_put(struct Scsi_Host * ) ;
5165#line 789
5166extern void scsi_cmd_get_serial(struct Scsi_Host * , struct scsi_cmnd * ) ;
5167#line 793 "include/scsi/scsi_host.h"
5168__inline static int scsi_add_host(struct Scsi_Host *host , struct device *dev ) 
5169{ int tmp ;
5170
5171  {
5172  {
5173#line 796
5174  tmp = scsi_add_host_with_dma(host, dev, dev);
5175  }
5176#line 796
5177  return (tmp);
5178}
5179}
5180#line 65 "include/pcmcia/ds.h"
5181extern int pcmcia_register_driver(struct pcmcia_driver * ) ;
5182#line 66
5183extern void pcmcia_unregister_driver(struct pcmcia_driver * ) ;
5184#line 179
5185extern int pcmcia_loop_config(struct pcmcia_device * , int (*)(struct pcmcia_device * ,
5186                                                               void * ) , void * ) ;
5187#line 195
5188extern int pcmcia_request_io(struct pcmcia_device * ) ;
5189#line 210
5190extern int pcmcia_enable_device(struct pcmcia_device * ) ;
5191#line 221
5192extern void pcmcia_disable_device(struct pcmcia_device * ) ;
5193#line 232 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
5194static void chip_init(int io_port ) 
5195{ int __cil_tmp2 ;
5196  int __cil_tmp3 ;
5197  int __cil_tmp4 ;
5198  int __cil_tmp5 ;
5199  int __cil_tmp6 ;
5200  int __cil_tmp7 ;
5201  int __cil_tmp8 ;
5202  int __cil_tmp9 ;
5203  int __cil_tmp10 ;
5204  int __cil_tmp11 ;
5205  int __cil_tmp12 ;
5206  int __cil_tmp13 ;
5207
5208  {
5209  {
5210#line 234
5211  __cil_tmp2 = io_port + 13;
5212#line 234
5213  outb((unsigned char)128, __cil_tmp2);
5214#line 234
5215  __cil_tmp3 = io_port + 9;
5216#line 234
5217  outb((unsigned char)164, __cil_tmp3);
5218#line 235
5219  __cil_tmp4 = io_port + 8;
5220#line 235
5221  outb((unsigned char)1, __cil_tmp4);
5222#line 236
5223  __cil_tmp5 = io_port + 11;
5224#line 236
5225  outb((unsigned char)0, __cil_tmp5);
5226#line 238
5227  __cil_tmp6 = io_port + 13;
5228#line 238
5229  outb((unsigned char)4, __cil_tmp6);
5230#line 239
5231  __cil_tmp7 = io_port + 12;
5232#line 239
5233  outb((unsigned char)32, __cil_tmp7);
5234#line 240
5235  __cil_tmp8 = io_port + 11;
5236#line 240
5237  outb((unsigned char)72, __cil_tmp8);
5238#line 241
5239  __cil_tmp9 = io_port + 8;
5240#line 241
5241  outb((unsigned char)7, __cil_tmp9);
5242#line 243
5243  __cil_tmp10 = io_port + 9;
5244#line 243
5245  outb((unsigned char)5, __cil_tmp10);
5246#line 244
5247  __cil_tmp11 = io_port + 5;
5248#line 244
5249  outb((unsigned char)156, __cil_tmp11);
5250#line 245
5251  __cil_tmp12 = io_port + 6;
5252#line 245
5253  outb((unsigned char)5, __cil_tmp12);
5254#line 246
5255  __cil_tmp13 = io_port + 7;
5256#line 246
5257  outb((unsigned char)0, __cil_tmp13);
5258  }
5259#line 247
5260  return;
5261}
5262}
5263#line 250 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
5264static void SYM53C500_int_host_reset(int io_port ) 
5265{ int __cil_tmp2 ;
5266  int __cil_tmp3 ;
5267  int __cil_tmp4 ;
5268  int __cil_tmp5 ;
5269
5270  {
5271  {
5272#line 252
5273  __cil_tmp2 = io_port + 13;
5274#line 252
5275  outb((unsigned char)4, __cil_tmp2);
5276#line 253
5277  __cil_tmp3 = io_port + 3;
5278#line 253
5279  outb((unsigned char)2, __cil_tmp3);
5280#line 254
5281  __cil_tmp4 = io_port + 3;
5282#line 254
5283  outb((unsigned char)0, __cil_tmp4);
5284#line 255
5285  __cil_tmp5 = io_port + 3;
5286#line 255
5287  outb((unsigned char)3, __cil_tmp5);
5288#line 256
5289  chip_init(io_port);
5290  }
5291#line 257
5292  return;
5293}
5294}
5295#line 260 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
5296__inline static int SYM53C500_pio_read(int fast_pio , int base , unsigned char *request ,
5297                                       unsigned int reqlen ) 
5298{ int i ;
5299  int len ;
5300  unsigned char tmp ;
5301  unsigned char *tmp___0 ;
5302  int tmp___1 ;
5303  int __cil_tmp10 ;
5304  int __cil_tmp11 ;
5305  int __cil_tmp12 ;
5306  int __cil_tmp13 ;
5307  int __cil_tmp14 ;
5308  unsigned int __cil_tmp15 ;
5309  int __cil_tmp16 ;
5310  void *__cil_tmp17 ;
5311  int __cil_tmp18 ;
5312  unsigned long __cil_tmp19 ;
5313  unsigned long __cil_tmp20 ;
5314  unsigned long __cil_tmp21 ;
5315  unsigned int __cil_tmp22 ;
5316  unsigned int __cil_tmp23 ;
5317  int __cil_tmp24 ;
5318
5319  {
5320  {
5321#line 265
5322  __cil_tmp10 = base + 13;
5323#line 265
5324  outb((unsigned char)128, __cil_tmp10);
5325#line 265
5326  __cil_tmp11 = base + 9;
5327#line 265
5328  outb((unsigned char)164, __cil_tmp11);
5329  }
5330#line 266
5331  goto ldv_31781;
5332  ldv_31780: 
5333  {
5334#line 267
5335  __cil_tmp12 = base + 8;
5336#line 267
5337  tmp = inb(__cil_tmp12);
5338#line 267
5339  i = (int )tmp;
5340  }
5341  {
5342#line 269
5343  __cil_tmp13 = i & 128;
5344#line 269
5345  if (__cil_tmp13 != 0) {
5346#line 270
5347    return (0);
5348  } else {
5349
5350  }
5351  }
5352#line 274
5353  if ((i & 30) == 16) {
5354#line 274
5355    goto case_16;
5356  } else
5357#line 277
5358  if ((i & 30) == 0) {
5359#line 277
5360    goto case_0;
5361  } else
5362#line 280
5363  if ((i & 30) == 8) {
5364#line 280
5365    goto case_8;
5366  } else
5367#line 283
5368  if ((i & 30) == 12) {
5369#line 283
5370    goto case_12;
5371  } else
5372#line 286
5373  if ((i & 30) == 14) {
5374#line 286
5375    goto case_14;
5376  } else {
5377    {
5378#line 273
5379    goto switch_default;
5380#line 272
5381    if (0) {
5382      switch_default: /* CIL Label */ ;
5383      case_16: /* CIL Label */ 
5384#line 275
5385      len = 0;
5386#line 276
5387      goto ldv_31772;
5388      case_0: /* CIL Label */ 
5389#line 278
5390      len = 1;
5391#line 279
5392      goto ldv_31772;
5393      case_8: /* CIL Label */ 
5394#line 281
5395      len = 42;
5396#line 282
5397      goto ldv_31772;
5398      case_12: /* CIL Label */ 
5399#line 284
5400      len = 84;
5401#line 285
5402      goto ldv_31772;
5403      case_14: /* CIL Label */ 
5404#line 287
5405      len = 128;
5406#line 288
5407      goto ldv_31772;
5408    } else {
5409      switch_break: /* CIL Label */ ;
5410    }
5411    }
5412  }
5413  ldv_31772: ;
5414  {
5415#line 291
5416  __cil_tmp14 = i & 64;
5417#line 291
5418  if (__cil_tmp14 != 0) {
5419#line 291
5420    if (len == 0) {
5421#line 292
5422      return (0);
5423    } else {
5424
5425    }
5426  } else {
5427
5428  }
5429  }
5430#line 295
5431  if (len != 0) {
5432    {
5433#line 296
5434    __cil_tmp15 = (unsigned int )len;
5435#line 296
5436    if (__cil_tmp15 > reqlen) {
5437#line 297
5438      len = (int )reqlen;
5439    } else {
5440
5441    }
5442    }
5443#line 299
5444    if (fast_pio != 0) {
5445#line 299
5446      if (len > 3) {
5447        {
5448#line 300
5449        __cil_tmp16 = base + 4;
5450#line 300
5451        __cil_tmp17 = (void *)request;
5452#line 300
5453        __cil_tmp18 = len >> 2;
5454#line 300
5455        __cil_tmp19 = (unsigned long )__cil_tmp18;
5456#line 300
5457        insl(__cil_tmp16, __cil_tmp17, __cil_tmp19);
5458#line 301
5459        __cil_tmp20 = (unsigned long )len;
5460#line 301
5461        __cil_tmp21 = __cil_tmp20 & 252UL;
5462#line 301
5463        request = request + __cil_tmp21;
5464#line 302
5465        __cil_tmp22 = (unsigned int )len;
5466#line 302
5467        __cil_tmp23 = __cil_tmp22 & 252U;
5468#line 302
5469        reqlen = reqlen - __cil_tmp23;
5470        }
5471      } else {
5472#line 299
5473        goto _L;
5474      }
5475    } else {
5476      _L: /* CIL Label */ 
5477#line 304
5478      goto ldv_31778;
5479      ldv_31777: 
5480      {
5481#line 305
5482      tmp___0 = request;
5483#line 305
5484      request = request + 1;
5485#line 305
5486      __cil_tmp24 = base + 4;
5487#line 305
5488      *tmp___0 = inb(__cil_tmp24);
5489#line 306
5490      reqlen = reqlen - 1U;
5491      }
5492      ldv_31778: 
5493#line 304
5494      tmp___1 = len;
5495#line 304
5496      len = len - 1;
5497#line 304
5498      if (tmp___1 != 0) {
5499#line 305
5500        goto ldv_31777;
5501      } else {
5502#line 307
5503        goto ldv_31779;
5504      }
5505      ldv_31779: ;
5506    }
5507  } else {
5508
5509  }
5510  ldv_31781: ;
5511#line 266
5512  if (reqlen != 0U) {
5513#line 267
5514    goto ldv_31780;
5515  } else {
5516#line 269
5517    goto ldv_31782;
5518  }
5519  ldv_31782: ;
5520#line 311
5521  return (0);
5522}
5523}
5524#line 315 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
5525__inline static int SYM53C500_pio_write(int fast_pio , int base , unsigned char *request ,
5526                                        unsigned int reqlen ) 
5527{ int i ;
5528  int len ;
5529  unsigned char tmp ;
5530  unsigned char *tmp___0 ;
5531  int tmp___1 ;
5532  int __cil_tmp10 ;
5533  int __cil_tmp11 ;
5534  int __cil_tmp12 ;
5535  int __cil_tmp13 ;
5536  unsigned int __cil_tmp14 ;
5537  int __cil_tmp15 ;
5538  void const   *__cil_tmp16 ;
5539  int __cil_tmp17 ;
5540  unsigned long __cil_tmp18 ;
5541  unsigned long __cil_tmp19 ;
5542  unsigned long __cil_tmp20 ;
5543  unsigned int __cil_tmp21 ;
5544  unsigned int __cil_tmp22 ;
5545  unsigned char __cil_tmp23 ;
5546  int __cil_tmp24 ;
5547  unsigned char __cil_tmp25 ;
5548  int __cil_tmp26 ;
5549  int __cil_tmp27 ;
5550
5551  {
5552  {
5553#line 317
5554  i = 0;
5555#line 320
5556  __cil_tmp10 = base + 13;
5557#line 320
5558  outb((unsigned char)128, __cil_tmp10);
5559#line 320
5560  __cil_tmp11 = base + 9;
5561#line 320
5562  outb((unsigned char)164, __cil_tmp11);
5563  }
5564#line 321
5565  goto ldv_31802;
5566  ldv_31801: 
5567  {
5568#line 322
5569  __cil_tmp12 = base + 8;
5570#line 322
5571  tmp = inb(__cil_tmp12);
5572#line 322
5573  i = (int )tmp;
5574  }
5575  {
5576#line 324
5577  __cil_tmp13 = i & 128;
5578#line 324
5579  if (__cil_tmp13 != 0) {
5580#line 325
5581    return (0);
5582  } else {
5583
5584  }
5585  }
5586#line 328
5587  if ((i & 30) == 16) {
5588#line 328
5589    goto case_16;
5590  } else
5591#line 331
5592  if ((i & 30) == 0) {
5593#line 331
5594    goto case_0;
5595  } else
5596#line 334
5597  if ((i & 30) == 8) {
5598#line 334
5599    goto case_8;
5600  } else
5601#line 337
5602  if ((i & 30) == 12) {
5603#line 337
5604    goto case_12;
5605  } else
5606#line 341
5607  if ((i & 30) == 14) {
5608#line 341
5609    goto case_14;
5610  } else {
5611    {
5612#line 340
5613    goto switch_default;
5614#line 327
5615    if (0) {
5616      case_16: /* CIL Label */ 
5617#line 329
5618      len = 128;
5619#line 330
5620      goto ldv_31792;
5621      case_0: /* CIL Label */ 
5622#line 332
5623      len = 84;
5624#line 333
5625      goto ldv_31792;
5626      case_8: /* CIL Label */ 
5627#line 335
5628      len = 42;
5629#line 336
5630      goto ldv_31792;
5631      case_12: /* CIL Label */ 
5632#line 338
5633      len = 1;
5634#line 339
5635      goto ldv_31792;
5636      switch_default: /* CIL Label */ ;
5637      case_14: /* CIL Label */ 
5638#line 342
5639      len = 0;
5640#line 343
5641      goto ldv_31792;
5642    } else {
5643      switch_break: /* CIL Label */ ;
5644    }
5645    }
5646  }
5647  ldv_31792: ;
5648#line 346
5649  if (len != 0) {
5650    {
5651#line 347
5652    __cil_tmp14 = (unsigned int )len;
5653#line 347
5654    if (__cil_tmp14 > reqlen) {
5655#line 348
5656      len = (int )reqlen;
5657    } else {
5658
5659    }
5660    }
5661#line 350
5662    if (fast_pio != 0) {
5663#line 350
5664      if (len > 3) {
5665        {
5666#line 351
5667        __cil_tmp15 = base + 4;
5668#line 351
5669        __cil_tmp16 = (void const   *)request;
5670#line 351
5671        __cil_tmp17 = len >> 2;
5672#line 351
5673        __cil_tmp18 = (unsigned long )__cil_tmp17;
5674#line 351
5675        outsl(__cil_tmp15, __cil_tmp16, __cil_tmp18);
5676#line 352
5677        __cil_tmp19 = (unsigned long )len;
5678#line 352
5679        __cil_tmp20 = __cil_tmp19 & 252UL;
5680#line 352
5681        request = request + __cil_tmp20;
5682#line 353
5683        __cil_tmp21 = (unsigned int )len;
5684#line 353
5685        __cil_tmp22 = __cil_tmp21 & 252U;
5686#line 353
5687        reqlen = reqlen - __cil_tmp22;
5688        }
5689      } else {
5690#line 350
5691        goto _L;
5692      }
5693    } else {
5694      _L: /* CIL Label */ 
5695#line 355
5696      goto ldv_31799;
5697      ldv_31798: 
5698      {
5699#line 356
5700      tmp___0 = request;
5701#line 356
5702      request = request + 1;
5703#line 356
5704      __cil_tmp23 = *tmp___0;
5705#line 356
5706      __cil_tmp24 = (int )__cil_tmp23;
5707#line 356
5708      __cil_tmp25 = (unsigned char )__cil_tmp24;
5709#line 356
5710      __cil_tmp26 = base + 4;
5711#line 356
5712      outb(__cil_tmp25, __cil_tmp26);
5713#line 357
5714      reqlen = reqlen - 1U;
5715      }
5716      ldv_31799: 
5717#line 355
5718      tmp___1 = len;
5719#line 355
5720      len = len - 1;
5721#line 355
5722      if (tmp___1 != 0) {
5723#line 356
5724        goto ldv_31798;
5725      } else {
5726#line 358
5727        goto ldv_31800;
5728      }
5729      ldv_31800: ;
5730    }
5731  } else {
5732
5733  }
5734  ldv_31802: ;
5735#line 321
5736  if (reqlen != 0U) {
5737    {
5738#line 321
5739    __cil_tmp27 = i & 64;
5740#line 321
5741    if (__cil_tmp27 == 0) {
5742#line 322
5743      goto ldv_31801;
5744    } else {
5745#line 324
5746      goto ldv_31803;
5747    }
5748    }
5749  } else {
5750#line 324
5751    goto ldv_31803;
5752  }
5753  ldv_31803: ;
5754#line 362
5755  return (0);
5756}
5757}
5758#line 366 "/home/zakharov/launch/work/current--X--drivers/--X--defaultlinux-3.4--X--43_1a--X--cpachecker/linux-3.4/csd_deg_dscv/3635/dscv_tempdir/dscv/ri/43_1a/drivers/scsi/pcmcia/sym53c500_cs.c.p"
5759static irqreturn_t SYM53C500_intr(int irq , void *dev_id ) 
5760{ unsigned long flags ;
5761  struct Scsi_Host *dev ;
5762  unsigned char status ;
5763  unsigned char int_reg ;
5764  unsigned char pio_status ;
5765  int port_base ;
5766  struct sym53c500_data *data ;
5767  struct scsi_cmnd *curSC ;
5768  int fast_pio ;
5769  struct scatterlist *sg ;
5770  int i ;
5771  unsigned int tmp ;
5772  unsigned int tmp___0 ;
5773  unsigned int tmp___1 ;
5774  void *tmp___2 ;
5775  unsigned int tmp___3 ;
5776  struct scatterlist *sg___0 ;
5777  int i___0 ;
5778  unsigned int tmp___4 ;
5779  unsigned int tmp___5 ;
5780  unsigned int tmp___6 ;
5781  void *tmp___7 ;
5782  unsigned int tmp___8 ;
5783  unsigned char tmp___9 ;
5784  unsigned char tmp___10 ;
5785  unsigned long __cil_tmp28 ;
5786  unsigned long __cil_tmp29 ;
5787  unsigned long __cil_tmp30 ;
5788  unsigned long __cil_tmp31 ;
5789  unsigned long __cil_tmp32 ;
5790  unsigned long (*__cil_tmp33)[0U] ;
5791  unsigned long __cil_tmp34 ;
5792  unsigned long __cil_tmp35 ;
5793  int __cil_tmp36 ;
5794  int __cil_tmp37 ;
5795  int __cil_tmp38 ;
5796  int __cil_tmp39 ;
5797  int __cil_tmp40 ;
5798  int __cil_tmp41 ;
5799  signed char __cil_tmp42 ;
5800  int __cil_tmp43 ;
5801  unsigned long __cil_tmp44 ;
5802  unsigned long __cil_tmp45 ;
5803  signed char __cil_tmp46 ;
5804  int __cil_tmp47 ;
5805  unsigned long __cil_tmp48 ;
5806  unsigned long __cil_tmp49 ;
5807  int __cil_tmp50 ;
5808  int __cil_tmp51 ;
5809  unsigned long __cil_tmp52 ;
5810  unsigned long __cil_tmp53 ;
5811  int __cil_tmp54 ;
5812  int __cil_tmp55 ;
5813  unsigned long __cil_tmp56 ;
5814  unsigned long __cil_tmp57 ;
5815  int __cil_tmp58 ;
5816  int __cil_tmp59 ;
5817  unsigned long __cil_tmp60 ;
5818  unsigned long __cil_tmp61 ;
5819  unsigned long __cil_tmp62 ;
5820  int volatile   __cil_tmp63 ;
5821  int __cil_tmp64 ;
5822  unsigned long __cil_tmp65 ;
5823  unsigned long __cil_tmp66 ;
5824  unsigned long __cil_tmp67 ;
5825  unsigned long __cil_tmp68 ;
5826  unsigned long __cil_tmp69 ;
5827  unsigned long __cil_tmp70 ;
5828  unsigned long __cil_tmp71 ;
5829  int volatile   __cil_tmp72 ;
5830  int __cil_tmp73 ;
5831  int __cil_tmp74 ;
5832  int __cil_tmp75 ;
5833  unsigned long __cil_tmp76 ;
5834  unsigned long __cil_tmp77 ;
5835  unsigned long __cil_tmp78 ;
5836  int volatile   __cil_tmp79 ;
5837  int __cil_tmp80 ;
5838  int __cil_tmp81 ;
5839  int __cil_tmp82 ;
5840  int __cil_tmp83 ;
5841  int __cil_tmp84 ;
5842  unsigned long __cil_tmp85 ;
5843  unsigned long __cil_tmp86 ;
5844  unsigned long __cil_tmp87 ;
5845  int __cil_tmp88 ;
5846  unsigned char __cil_tmp89 ;
5847  int __cil_tmp90 ;
5848  unsigned char __cil_tmp91 ;
5849  unsigned int __cil_tmp92 ;
5850  unsigned char __cil_tmp93 ;
5851  int __cil_tmp94 ;
5852  unsigned char __cil_tmp95 ;
5853  int __cil_tmp96 ;
5854  unsigned int __cil_tmp97 ;
5855  unsigned char __cil_tmp98 ;
5856  int __cil_tmp99 ;
5857  unsigned char __cil_tmp100 ;
5858  int __cil_tmp101 ;
5859  int __cil_tmp102 ;
5860  unsigned char *__cil_tmp103 ;
5861  unsigned long __cil_tmp104 ;
5862  unsigned long __cil_tmp105 ;
5863  unsigned int __cil_tmp106 ;
5864  unsigned int __cil_tmp107 ;
5865  int __cil_tmp108 ;
5866  int __cil_tmp109 ;
5867  int __cil_tmp110 ;
5868  unsigned long __cil_tmp111 ;
5869  unsigned long __cil_tmp112 ;
5870  unsigned long __cil_tmp113 ;
5871  int __cil_tmp114 ;
5872  unsigned char __cil_tmp115 ;
5873  int __cil_tmp116 ;
5874  unsigned char __cil_tmp117 ;
5875  unsigned int __cil_tmp118 ;
5876  unsigned char __cil_tmp119 ;
5877  int __cil_tmp120 ;
5878  unsigned char __cil_tmp121 ;
5879  int __cil_tmp122 ;
5880  unsigned int __cil_tmp123 ;
5881  unsigned char __cil_tmp124 ;
5882  int __cil_tmp125 ;
5883  unsigned char __cil_tmp126 ;
5884  int __cil_tmp127 ;
5885  int __cil_tmp128 ;
5886  unsigned char *__cil_tmp129 ;
5887  unsigned long __cil_tmp130 ;
5888  unsigned long __cil_tmp131 ;
5889  unsigned int __cil_tmp132 ;
5890  unsigned int __cil_tmp133 ;
5891  int __cil_tmp134 ;
5892  unsigned long __cil_tmp135 ;
5893  unsigned long __cil_tmp136 ;
5894  unsigned long __cil_tmp137 ;
5895  unsigned long __cil_tmp138 ;
5896  unsigned long __cil_tmp139 ;
5897  unsigned long __cil_tmp140 ;
5898  int __cil_tmp141 ;
5899  int __cil_tmp142 ;
5900  unsigned long __cil_tmp143 ;
5901  unsigned long __cil_tmp144 ;
5902  unsigned long __cil_tmp145 ;
5903  int __cil_tmp146 ;
5904  int __cil_tmp147 ;
5905  unsigned long __cil_tmp148 ;
5906  unsigned long __cil_tmp149 ;
5907  unsigned long __cil_tmp150 ;
5908  int __cil_tmp151 ;
5909  unsigned long __cil_tmp152 ;
5910  unsigned long __cil_tmp153 ;
5911  unsigned long __cil_tmp154 ;
5912  int __cil_tmp155 ;
5913  unsigned long __cil_tmp156 ;
5914  unsigned long __cil_tmp157 ;
5915  unsigned long __cil_tmp158 ;
5916  unsigned long __cil_tmp159 ;
5917  unsigned long __cil_tmp160 ;
5918  unsigned long __cil_tmp161 ;
5919  int volatile   __cil_tmp162 ;
5920  int __cil_tmp163 ;
5921  int __cil_tmp164 ;
5922  unsigned long __cil_tmp165 ;
5923  unsigned long __cil_tmp166 ;
5924  unsigned long __cil_tmp167 ;
5925  int volatile   __cil_tmp168 ;
5926  int __cil_tmp169 ;
5927  int __cil_tmp170 ;
5928  int __cil_tmp171 ;
5929  unsigned long __cil_tmp172 ;
5930  unsigned long __cil_tmp173 ;
5931  spinlock_t *__cil_tmp174 ;
5932  unsigned long __cil_tmp175 ;
5933  unsigned long __cil_tmp176 ;
5934  unsigned long __cil_tmp177 ;
5935  unsigned long __cil_tmp178 ;
5936  unsigned long __cil_tmp179 ;
5937  void (*__cil_tmp180)(struct scsi_cmnd * ) ;
5938
5939  {
5940  {
5941#line 369
5942  dev = (struct Scsi_Host *)dev_id;
5943#line 374
5944  __cil_tmp28 = (unsigned long )dev;
5945#line 374
5946  __cil_tmp29 = __cil_tmp28 + 688;
5947#line 374
5948  __cil_tmp30 = *((unsigned long *)__cil_tmp29);
5949#line 374
5950  port_base = (int )__cil_tmp30;
5951#line 375
5952  __cil_tmp31 = (unsigned long )dev;
5953#line 375
5954  __cil_tmp32 = __cil_tmp31 + 3048;
5955#line 375
5956  __cil_tmp33 = (unsigned long (*)[0U])__cil_tmp32;
5957#line 375
5958  data = (struct sym53c500_data *)__cil_tmp33;
5959#line 377
5960  curSC = *((struct scsi_cmnd **)data);
5961#line 378
5962  __cil_tmp34 = (unsigned long )data;
5963#line 378
5964  __cil_tmp35 = __cil_tmp34 + 8;
5965#line 378
5966  fast_pio = *((int *)__cil_tmp35);
5967#line 380
5968  ldv_spin_lock();
5969#line 384
5970  __cil_tmp36 = port_base + 13;
5971#line 384
5972  outb((unsigned char)128, __cil_tmp36);
5973#line 384
5974  __cil_tmp37 = port_base + 9;
5975#line 384
5976  outb((unsigned char)164, __cil_tmp37);
5977#line 385
5978  __cil_tmp38 = port_base + 8;
5979#line 385
5980  pio_status = inb(__cil_tmp38);
5981#line 386
5982  __cil_tmp39 = port_base + 13;
5983#line 386
5984  outb((unsigned char)4, __cil_tmp39);
5985#line 387
5986  __cil_tmp40 = port_base + 4;
5987#line 387
5988  status = inb(__cil_tmp40);
5989#line 389
5990  __cil_tmp41 = port_base + 5;
5991#line 389
5992  int_reg = inb(__cil_tmp41);
5993  }
5994  {
5995#line 398
5996  __cil_tmp42 = (signed char )int_reg;
5997#line 398
5998  __cil_tmp43 = (int )__cil_tmp42;
5999#line 398
6000  if (__cil_tmp43 < 0) {
6001#line 400
6002    __cil_tmp44 = (unsigned long )curSC;
6003#line 400
6004    __cil_tmp45 = __cil_tmp44 + 224;
6005#line 400
6006    *((int *)__cil_tmp45) = 524288;
6007#line 401
6008    goto idle_out;
6009  } else {
6010
6011  }
6012  }
6013  {
6014#line 404
6015  __cil_tmp46 = (signed char )pio_status;
6016#line 404
6017  __cil_tmp47 = (int )__cil_tmp46;
6018#line 404
6019  if (__cil_tmp47 < 0) {
6020    {
6021#line 405
6022    printk("SYM53C500: Warning: PIO error!\n");
6023#line 406
6024    __cil_tmp48 = (unsigned long )curSC;
6025#line 406
6026    __cil_tmp49 = __cil_tmp48 + 224;
6027#line 406
6028    *((int *)__cil_tmp49) = 458752;
6029    }
6030#line 407
6031    goto idle_out;
6032  } else {
6033
6034  }
6035  }
6036  {
6037#line 410
6038  __cil_tmp50 = (int )status;
6039#line 410
6040  __cil_tmp51 = __cil_tmp50 & 32;
6041#line 410
6042  if (__cil_tmp51 != 0) {
6043    {
6044#line 411
6045    printk("SYM53C500: Warning: parity error!\n");
6046#line 412
6047    __cil_tmp52 = (unsigned long )curSC;
6048#line 412
6049    __cil_tmp53 = __cil_tmp52 + 224;
6050#line 412
6051    *((int *)__cil_tmp53) = 393216;
6052    }
6053#line 413
6054    goto idle_out;
6055  } else {
6056
6057  }
6058  }
6059  {
6060#line 416
6061  __cil_tmp54 = (int )status;
6062#line 416
6063  __cil_tmp55 = __cil_tmp54 & 64;
6064#line 416
6065  if (__cil_tmp55 != 0) {
6066    {
6067#line 417
6068    printk("SYM53C500: Warning: gross error!\n");
6069#line 418
6070    __cil_tmp56 = (unsigned long )curSC;
6071#line 418
6072    __cil_tmp57 = __cil_tmp56 + 224;
6073#line 418
6074    *((int *)__cil_tmp57) = 458752;
6075    }
6076#line 419
6077    goto idle_out;
6078  } else {
6079
6080  }
6081  }
6082  {
6083#line 422
6084  __cil_tmp58 = (int )int_reg;
6085#line 422
6086  __cil_tmp59 = __cil_tmp58 & 32;
6087#line 422
6088  if (__cil_tmp59 != 0) {
6089    {
6090#line 424
6091    __cil_tmp60 = 152 + 56;
6092#line 424
6093    __cil_tmp61 = (unsigned long )curSC;
6094#line 424
6095    __cil_tmp62 = __cil_tmp61 + __cil_tmp60;
6096#line 424
6097    __cil_tmp63 = *((int volatile   *)__cil_tmp62);
6098#line 424
6099    __cil_tmp64 = (int )__cil_tmp63;
6100#line 424
6101    if (__cil_tmp64 != 6) {
6102#line 425
6103      __cil_tmp65 = (unsigned long )curSC;
6104#line 425
6105      __cil_tmp66 = __cil_tmp65 + 224;
6106#line 425
6107      *((int *)__cil_tmp66) = 65536;
6108    } else {
6109#line 427
6110      __cil_tmp67 = (unsigned long )curSC;
6111#line 427
6112      __cil_tmp68 = __cil_tmp67 + 224;
6113#line 427
6114      __cil_tmp69 = 152 + 44;
6115#line 427
6116      __cil_tmp70 = (unsigned long )curSC;
6117#line 427
6118      __cil_tmp71 = __cil_tmp70 + __cil_tmp69;
6119#line 427
6120      __cil_tmp72 = *((int volatile   *)__cil_tmp71);
6121#line 427
6122      __cil_tmp73 = (int )__cil_tmp72;
6123#line 427
6124      __cil_tmp74 = __cil_tmp73 << 8;
6125#line 427
6126      __cil_tmp75 = __cil_tmp74 & 65535;
6127#line 427
6128      __cil_tmp76 = 152 + 40;
6129#line 427
6130      __cil_tmp77 = (unsigned long )curSC;
6131#line 427
6132      __cil_tmp78 = __cil_tmp77 + __cil_tmp76;
6133#line 427
6134      __cil_tmp79 = *((int volatile   *)__cil_tmp78);
6135#line 427
6136      __cil_tmp80 = (int )__cil_tmp79;
6137#line 427
6138      __cil_tmp81 = __cil_tmp80 & 255;
6139#line 427
6140      *((int *)__cil_tmp68) = __cil_tmp81 | __cil_tmp75;
6141    }
6142    }
6143#line 430
6144    goto idle_out;
6145  } else {
6146
6147  }
6148  }
6149  {
6150#line 433
6151  __cil_tmp82 = (int )status;
6152#line 434
6153  if ((__cil_tmp82 & 7) == 0) {
6154#line 434
6155    goto case_0;
6156  } else
6157#line 453
6158  if ((__cil_tmp82 & 7) == 1) {
6159#line 453
6160    goto case_1;
6161  } else
6162#line 472
6163  if ((__cil_tmp82 & 7) == 2) {
6164#line 472
6165    goto case_2;
6166  } else
6167#line 477
6168  if ((__cil_tmp82 & 7) == 3) {
6169#line 477
6170    goto case_3;
6171  } else
6172#line 484
6173  if ((__cil_tmp82 & 7) == 4) {
6174#line 484
6175    goto case_4;
6176  } else
6177#line 485
6178  if ((__cil_tmp82 & 7) == 5) {
6179#line 485
6180    goto case_5;
6181  } else
6182#line 489
6183  if ((__cil_tmp82 & 7) == 6) {
6184#line 489
6185    goto case_6;
6186  } else
6187#line 496
6188  if ((__cil_tmp82 & 7) == 7) {
6189#line 496
6190    goto case_7;
6191  } else
6192#line 433
6193  if (0) {
6194    case_0: /* CIL Label */ ;
6195    {
6196#line 435
6197    __cil_tmp83 = (int )int_reg;
6198#line 435
6199    __cil_tmp84 = __cil_tmp83 & 16;
6200#line 435
6201    if (__cil_tmp84 != 0) {
6202      {
6203#line 439
6204      __cil_tmp85 = 152 + 56;
6205#line 439
6206      __cil_tmp86 = (unsigned long )curSC;
6207#line 439
6208      __cil_tmp87 = __cil_tmp86 + __cil_tmp85;
6209#line 439
6210      *((int volatile   *)__cil_tmp87) = (int volatile   )1;
6211#line 441
6212      __cil_tmp88 = port_base + 3;
6213#line 441
6214      outb((unsigned char)1, __cil_tmp88);
6215#line 442
6216      tmp = scsi_bufflen(curSC);
6217#line 442
6218      __cil_tmp89 = (unsigned char )tmp;
6219#line 442
6220      __cil_tmp90 = (int )__cil_tmp89;
6221#line 442
6222      __cil_tmp91 = (unsigned char )__cil_tmp90;
6223#line 442
6224      outb(__cil_tmp91, port_base);
6225#line 442
6226      tmp___0 = scsi_bufflen(curSC);
6227#line 442
6228      __cil_tmp92 = tmp___0 >> 8;
6229#line 442
6230      __cil_tmp93 = (unsigned char )__cil_tmp92;
6231#line 442
6232      __cil_tmp94 = (int )__cil_tmp93;
6233#line 442
6234      __cil_tmp95 = (unsigned char )__cil_tmp94;
6235#line 442
6236      __cil_tmp96 = port_base + 1;
6237#line 442
6238      outb(__cil_tmp95, __cil_tmp96);
6239#line 442
6240      tmp___1 = scsi_bufflen(curSC);
6241#line 442
6242      __cil_tmp97 = tmp___1 >> 16;
6243#line 442
6244      __cil_tmp98 = (unsigned char )__cil_tmp97;
6245#line 442
6246      __cil_tmp99 = (int )__cil_tmp98;
6247#line 442
6248      __cil_tmp100 = (unsigned char )__cil_tmp99;
6249#line 442
6250      __cil_tmp101 = port_base + 14;
6251#line 442
6252      outb(__cil_tmp100, __cil_tmp101);
6253#line 443
6254      __cil_tmp102 = port_base + 3;
6255#line 443
6256      outb((unsigned char)144, __cil_tmp102);
6257#line 445
6258      i = 0;
6259#line 445
6260      sg = scsi_sglist(curSC);
6261      }
6262#line 445
6263      goto ldv_31822;
6264      ldv_31821: 
6265      {
6266#line 446
6267      tmp___2 = sg_virt(sg);
6268#line 446
6269      __cil_tmp103 = (unsigned char *)tmp___2;
6270#line 446
6271      __cil_tmp104 = (unsigned long )sg;
6272#line 446
6273      __cil_tmp105 = __cil_tmp104 + 20;
6274#line 446
6275      __cil_tmp106 = *((unsigned int *)__cil_tmp105);
6276#line 446
6277      SYM53C500_pio_write(fast_pio, port_base, __cil_tmp103, __cil_tmp106);
6278#line 445
6279      i = i + 1;
6280#line 445
6281      sg = sg_next(sg);
6282      }
6283      ldv_31822: 
6284      {
6285#line 445
6286      tmp___3 = scsi_sg_count(curSC);
6287      }
6288      {
6289#line 445
6290      __cil_tmp107 = (unsigned int )i;
6291#line 445
6292      if (__cil_tmp107 < tmp___3) {
6293#line 446
6294        goto ldv_31821;
6295      } else {
6296#line 448
6297        goto ldv_31823;
6298      }
6299      }
6300      ldv_31823: 
6301      {
6302#line 449
6303      __cil_tmp108 = port_base + 13;
6304#line 449
6305      outb((unsigned char)4, __cil_tmp108);
6306      }
6307    } else {
6308
6309    }
6310    }
6311#line 451
6312    goto ldv_31824;
6313    case_1: /* CIL Label */ ;
6314    {
6315#line 454
6316    __cil_tmp109 = (int )int_reg;
6317#line 454
6318    __cil_tmp110 = __cil_tmp109 & 16;
6319#line 454
6320    if (__cil_tmp110 != 0) {
6321      {
6322#line 458
6323      __cil_tmp111 = 152 + 56;
6324#line 458
6325      __cil_tmp112 = (unsigned long )curSC;
6326#line 458
6327      __cil_tmp113 = __cil_tmp112 + __cil_tmp111;
6328#line 458
6329      *((int volatile   *)__cil_tmp113) = (int volatile   )2;
6330#line 460
6331      __cil_tmp114 = port_base + 3;
6332#line 460
6333      outb((unsigned char)1, __cil_tmp114);
6334#line 461
6335      tmp___4 = scsi_bufflen(curSC);
6336#line 461
6337      __cil_tmp115 = (unsigned char )tmp___4;
6338#line 461
6339      __cil_tmp116 = (int )__cil_tmp115;
6340#line 461
6341      __cil_tmp117 = (unsigned char )__cil_tmp116;
6342#line 461
6343      outb(__cil_tmp117, port_base);
6344#line 461
6345      tmp___5 = scsi_bufflen(curSC);
6346#line 461
6347      __cil_tmp118 = tmp___5 >> 8;
6348#line 461
6349      __cil_tmp119 = (unsigned char )__cil_tmp118;
6350#line 461
6351      __cil_tmp120 = (int )__cil_tmp119;
6352#line 461
6353      __cil_tmp121 = (unsigned char )__cil_tmp120;
6354#line 461
6355      __cil_tmp122 = port_base + 1;
6356#line 461
6357      outb(__cil_tmp121, __cil_tmp122);
6358#line 461
6359      tmp___6 = scsi_bufflen(curSC);
6360#line 461
6361      __cil_tmp123 = tmp___6 >> 16;
6362#line 461
6363      __cil_tmp124 = (unsigned char )__cil_tmp123;
6364#line 461
6365      __cil_tmp125 = (int )__cil_tmp124;
6366#line 461
6367      __cil_tmp126 = (unsigned char )__cil_tmp125;
6368#line 461
6369      __cil_tmp127 = port_base + 14;
6370#line 461
6371      outb(__cil_tmp126, __cil_tmp127);
6372#line 462
6373      __cil_tmp128 = port_base + 3;
6374#line 462
6375      outb((unsigned char)144, __cil_tmp128);
6376#line 464
6377      i___0 = 0;
6378#line 464
6379      sg___0 = scsi_sglist(curSC);
6380      }
6381#line 464
6382      goto ldv_31829;
6383      ldv_31828: 
6384      {
6385#line 465
6386      tmp___7 = sg_virt(sg___0);
6387#line 465
6388      __cil_tmp129 = (unsigned char *)tmp___7;
6389#line 465
6390      __cil_tmp130 = (unsigned long )sg___0;
6391#line 465
6392      __cil_tmp131 = __cil_tmp130 + 20;
6393#line 465
6394      __cil_tmp132 = *((unsigned int *)__cil_tmp131);
6395#line 465
6396      SYM53C500_pio_read(fast_pio, port_base, __cil_tmp129, __cil_tmp132);
6397#line 464
6398      i___0 = i___0 + 1;
6399#line 464
6400      sg___0 = sg_next(sg___0);
6401      }
6402      ldv_31829: 
6403      {
6404#line 464
6405      tmp___8 = scsi_sg_count(curSC);
6406      }
6407      {
6408#line 464
6409      __cil_tmp133 = (unsigned int )i___0;
6410#line 464
6411      if (__cil_tmp133 < tmp___8) {
6412#line 465
6413        goto ldv_31828;
6414      } else {
6415#line 467
6416        goto ldv_31830;
6417      }
6418      }
6419      ldv_31830: 
6420      {
6421#line 468
6422      __cil_tmp134 = port_base + 13;
6423#line 468
6424      outb((unsigned char)4, __cil_tmp134);
6425      }
6426    } else {
6427
6428    }
6429    }
6430#line 470
6431    goto ldv_31824;
6432    case_2: /* CIL Label */ 
6433    {
6434#line 473
6435    __cil_tmp135 = 152 + 56;
6436#line 473
6437    __cil_tmp136 = (unsigned long )curSC;
6438#line 473
6439    __cil_tmp137 = __cil_tmp136 + __cil_tmp135;
6440#line 473
6441    *((int volatile   *)__cil_tmp137) = (int volatile   )3;
6442#line 474
6443    printk("SYM53C500: Warning: Unknown interrupt occurred in command phase!\n");
6444    }
6445#line 475
6446    goto ldv_31824;
6447    case_3: /* CIL Label */ 
6448    {
6449#line 478
6450    __cil_tmp138 = 152 + 56;
6451#line 478
6452    __cil_tmp139 = (unsigned long )curSC;
6453#line 478
6454    __cil_tmp140 = __cil_tmp139 + __cil_tmp138;
6455#line 478
6456    *((int volatile   *)__cil_tmp140) = (int volatile   )4;
6457#line 480
6458    __cil_tmp141 = port_base + 3;
6459#line 480
6460    outb((unsigned char)1, __cil_tmp141);
6461#line 481
6462    __cil_tmp142 = port_base + 3;
6463#line 481
6464    outb((unsigned char)17, __cil_tmp142);
6465    }
6466#line 482
6467    goto ldv_31824;
6468    case_4: /* CIL Label */ ;
6469    case_5: /* CIL Label */ 
6470    {
6471#line 486
6472    printk("SYM53C500: WARNING: Reserved phase!!!\n");
6473    }
6474#line 487
6475    goto ldv_31824;
6476    case_6: /* CIL Label */ 
6477    {
6478#line 491
6479    __cil_tmp143 = 152 + 56;
6480#line 491
6481    __cil_tmp144 = (unsigned long )curSC;
6482#line 491
6483    __cil_tmp145 = __cil_tmp144 + __cil_tmp143;
6484#line 491
6485    *((int volatile   *)__cil_tmp145) = (int volatile   )5;
6486#line 492
6487    __cil_tmp146 = port_base + 3;
6488#line 492
6489    outb((unsigned char)26, __cil_tmp146);
6490#line 493
6491    __cil_tmp147 = port_base + 3;
6492#line 493
6493    outb((unsigned char)18, __cil_tmp147);
6494    }
6495#line 494
6496    goto ldv_31824;
6497    case_7: /* CIL Label */ 
6498    {
6499#line 498
6500    __cil_tmp148 = 152 + 56;
6501#line 498
6502    __cil_tmp149 = (unsigned long )curSC;
6503#line 498
6504    __cil_tmp150 = __cil_tmp149 + __cil_tmp148;
6505#line 498
6506    *((int volatile   *)__cil_tmp150) = (int volatile   )6;
6507#line 500
6508    __cil_tmp151 = port_base + 2;
6509#line 500
6510    tmp___9 = inb(__cil_tmp151);
6511#line 500
6512    __cil_tmp152 = 152 + 40;
6513#line 500
6514    __cil_tmp153 = (unsigned long )curSC;
6515#line 500
6516    __cil_tmp154 = __cil_tmp153 + __cil_tmp152;
6517#line 500
6518    *((int volatile   *)__cil_tmp154) = (int volatile   )tmp___9;
6519#line 501
6520    __cil_tmp155 = port_base + 2;
6521#line 501
6522    tmp___10 = inb(__cil_tmp155);
6523#line 501
6524    __cil_tmp156 = 152 + 44;
6525#line 501
6526    __cil_tmp157 = (unsigned long )curSC;
6527#line 501
6528    __cil_tmp158 = __cil_tmp157 + __cil_tmp156;
6529#line 501
6530    *((int volatile   *)__cil_tmp158) = (int volatile   )tmp___10;
6531    }
6532    {
6533#line 506
6534    __cil_tmp159 = 152 + 44;
6535#line 506
6536    __cil_tmp160 = (unsigned long )curSC;
6537#line 506
6538    __cil_tmp161 = __cil_tmp160 + __cil_tmp159;
6539#line 506
6540    __cil_tmp162 = *((int volatile   *)__cil_tmp161);
6541#line 506
6542    __cil_tmp163 = (int )__cil_tmp162;
6543#line 506
6544    if (__cil_tmp163 == 2) {
6545      {
6546#line 507
6547      __cil_tmp164 = port_base + 3;
6548#line 507
6549      outb((unsigned char)26, __cil_tmp164);
6550      }
6551    } else {
6552      {
6553#line 506
6554      __cil_tmp165 = 152 + 44;
6555#line 506
6556      __cil_tmp166 = (unsigned long )curSC;
6557#line 506
6558      __cil_tmp167 = __cil_tmp166 + __cil_tmp165;
6559#line 506
6560      __cil_tmp168 = *((int volatile   *)__cil_tmp167);
6561#line 506
6562      __cil_tmp169 = (int )__cil_tmp168;
6563#line 506
6564      if (__cil_tmp169 == 4) {
6565        {
6566#line 507
6567        __cil_tmp170 = port_base + 3;
6568#line 507
6569        outb((unsigned char)26, __cil_tmp170);
6570        }
6571      } else {
6572
6573      }
6574      }
6575    }
6576    }
6577    {
6578#line 510
6579    __cil_tmp171 = port_base + 3;
6580#line 510
6581    outb((unsigned char)18, __cil_tmp171);
6582    }
6583#line 511
6584    goto ldv_31824;
6585  } else {
6586    switch_break: /* CIL Label */ ;
6587  }
6588  }
6589  ldv_31824: ;
6590  out: 
6591  {
6592#line 514
6593  __cil_tmp172 = (unsigned long )dev;
6594#line 514
6595  __cil_tmp173 = __cil_tmp172 + 216;
6596#line 514
6597  __cil_tmp174 = *((spinlock_t **)__cil_tmp173);
6598#line 514
6599  spin_unlock_irqrestore(__cil_tmp174, flags);
6600  }
6601#line 515
6602  return ((irqreturn_t )1);
6603  idle_out: 
6604  {
6605#line 518
6606  __cil_tmp175 = 152 + 56;
6607#line 518
6608  __cil_tmp176 = (unsigned long )curSC;
6609#line 518
6610  __cil_tmp177 = __cil_tmp176 + __ci