Showing error 706

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