Showing error 133

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-drivers/usb_urb-drivers-misc-c2port-core.ko_safe.cil.out.i.pp.cil.c
Line in file: 8433
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 46 "include/asm-generic/int-ll64.h"
  23typedef unsigned short u16;
  24#line 49 "include/asm-generic/int-ll64.h"
  25typedef unsigned int u32;
  26#line 51 "include/asm-generic/int-ll64.h"
  27typedef long long s64;
  28#line 52 "include/asm-generic/int-ll64.h"
  29typedef unsigned long long u64;
  30#line 11 "include/asm-generic/types.h"
  31typedef unsigned short umode_t;
  32#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  33typedef unsigned int __kernel_mode_t;
  34#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  35typedef int __kernel_pid_t;
  36#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  37typedef unsigned int __kernel_uid_t;
  38#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  39typedef unsigned int __kernel_gid_t;
  40#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  41typedef unsigned long __kernel_size_t;
  42#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  43typedef long __kernel_ssize_t;
  44#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  45typedef long __kernel_time_t;
  46#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  47typedef long __kernel_clock_t;
  48#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  49typedef int __kernel_timer_t;
  50#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  51typedef int __kernel_clockid_t;
  52#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  53typedef long long __kernel_loff_t;
  54#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  55typedef __kernel_uid_t __kernel_uid32_t;
  56#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
  57typedef __kernel_gid_t __kernel_gid32_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 26 "include/linux/types.h"
  63typedef __kernel_mode_t mode_t;
  64#line 29 "include/linux/types.h"
  65typedef __kernel_pid_t pid_t;
  66#line 34 "include/linux/types.h"
  67typedef __kernel_clockid_t clockid_t;
  68#line 37 "include/linux/types.h"
  69typedef _Bool bool;
  70#line 39 "include/linux/types.h"
  71typedef __kernel_uid32_t uid_t;
  72#line 40 "include/linux/types.h"
  73typedef __kernel_gid32_t gid_t;
  74#line 53 "include/linux/types.h"
  75typedef __kernel_loff_t loff_t;
  76#line 62 "include/linux/types.h"
  77typedef __kernel_size_t size_t;
  78#line 67 "include/linux/types.h"
  79typedef __kernel_ssize_t ssize_t;
  80#line 77 "include/linux/types.h"
  81typedef __kernel_time_t time_t;
  82#line 110 "include/linux/types.h"
  83typedef __s32 int32_t;
  84#line 116 "include/linux/types.h"
  85typedef __u32 uint32_t;
  86#line 141 "include/linux/types.h"
  87typedef unsigned long sector_t;
  88#line 142 "include/linux/types.h"
  89typedef unsigned long blkcnt_t;
  90#line 154 "include/linux/types.h"
  91typedef u64 dma_addr_t;
  92#line 177 "include/linux/types.h"
  93typedef __u16 __le16;
  94#line 201 "include/linux/types.h"
  95typedef unsigned int gfp_t;
  96#line 202 "include/linux/types.h"
  97typedef unsigned int fmode_t;
  98#line 205 "include/linux/types.h"
  99typedef u64 phys_addr_t;
 100#line 212 "include/linux/types.h"
 101struct __anonstruct_atomic_t_7 {
 102   int counter ;
 103};
 104#line 212 "include/linux/types.h"
 105typedef struct __anonstruct_atomic_t_7 atomic_t;
 106#line 217 "include/linux/types.h"
 107struct __anonstruct_atomic64_t_8 {
 108   long counter ;
 109};
 110#line 217 "include/linux/types.h"
 111typedef struct __anonstruct_atomic64_t_8 atomic64_t;
 112#line 222 "include/linux/types.h"
 113struct list_head {
 114   struct list_head *next ;
 115   struct list_head *prev ;
 116};
 117#line 226
 118struct hlist_node;
 119#line 226
 120struct hlist_node;
 121#line 226
 122struct hlist_node;
 123#line 226 "include/linux/types.h"
 124struct hlist_head {
 125   struct hlist_node *first ;
 126};
 127#line 230 "include/linux/types.h"
 128struct hlist_node {
 129   struct hlist_node *next ;
 130   struct hlist_node **pprev ;
 131};
 132#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
 133struct module;
 134#line 59
 135struct module;
 136#line 59
 137struct module;
 138#line 59
 139struct module;
 140#line 145 "include/linux/init.h"
 141typedef void (*ctor_fn_t)(void);
 142#line 10 "include/asm-generic/bug.h"
 143struct bug_entry {
 144   int bug_addr_disp ;
 145   int file_disp ;
 146   unsigned short line ;
 147   unsigned short flags ;
 148};
 149#line 113 "include/linux/kernel.h"
 150struct completion;
 151#line 113
 152struct completion;
 153#line 113
 154struct completion;
 155#line 113
 156struct completion;
 157#line 114
 158struct pt_regs;
 159#line 114
 160struct pt_regs;
 161#line 114
 162struct pt_regs;
 163#line 114
 164struct pt_regs;
 165#line 322
 166struct pid;
 167#line 322
 168struct pid;
 169#line 322
 170struct pid;
 171#line 322
 172struct pid;
 173#line 12 "include/linux/thread_info.h"
 174struct timespec;
 175#line 12
 176struct timespec;
 177#line 12
 178struct timespec;
 179#line 12
 180struct timespec;
 181#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page.h"
 182struct page;
 183#line 18
 184struct page;
 185#line 18
 186struct page;
 187#line 18
 188struct page;
 189#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/thread_info.h"
 190struct task_struct;
 191#line 20
 192struct task_struct;
 193#line 20
 194struct task_struct;
 195#line 20
 196struct task_struct;
 197#line 7 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 198struct task_struct;
 199#line 8
 200struct mm_struct;
 201#line 8
 202struct mm_struct;
 203#line 8
 204struct mm_struct;
 205#line 8
 206struct mm_struct;
 207#line 99 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
 208struct pt_regs {
 209   unsigned long r15 ;
 210   unsigned long r14 ;
 211   unsigned long r13 ;
 212   unsigned long r12 ;
 213   unsigned long bp ;
 214   unsigned long bx ;
 215   unsigned long r11 ;
 216   unsigned long r10 ;
 217   unsigned long r9 ;
 218   unsigned long r8 ;
 219   unsigned long ax ;
 220   unsigned long cx ;
 221   unsigned long dx ;
 222   unsigned long si ;
 223   unsigned long di ;
 224   unsigned long orig_ax ;
 225   unsigned long ip ;
 226   unsigned long cs ;
 227   unsigned long flags ;
 228   unsigned long sp ;
 229   unsigned long ss ;
 230};
 231#line 136
 232struct task_struct;
 233#line 141 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
 234struct kernel_vm86_regs {
 235   struct pt_regs pt ;
 236   unsigned short es ;
 237   unsigned short __esh ;
 238   unsigned short ds ;
 239   unsigned short __dsh ;
 240   unsigned short fs ;
 241   unsigned short __fsh ;
 242   unsigned short gs ;
 243   unsigned short __gsh ;
 244};
 245#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
 246union __anonunion____missing_field_name_14 {
 247   struct pt_regs *regs ;
 248   struct kernel_vm86_regs *vm86 ;
 249};
 250#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/math_emu.h"
 251struct math_emu_info {
 252   long ___orig_eip ;
 253   union __anonunion____missing_field_name_14 __annonCompField5 ;
 254};
 255#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
 256struct task_struct;
 257#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 258typedef unsigned long pteval_t;
 259#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 260typedef unsigned long pmdval_t;
 261#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 262typedef unsigned long pudval_t;
 263#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 264typedef unsigned long pgdval_t;
 265#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 266typedef unsigned long pgprotval_t;
 267#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 268struct __anonstruct_pte_t_16 {
 269   pteval_t pte ;
 270};
 271#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
 272typedef struct __anonstruct_pte_t_16 pte_t;
 273#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 274struct pgprot {
 275   pgprotval_t pgprot ;
 276};
 277#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 278typedef struct pgprot pgprot_t;
 279#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 280struct __anonstruct_pgd_t_17 {
 281   pgdval_t pgd ;
 282};
 283#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 284typedef struct __anonstruct_pgd_t_17 pgd_t;
 285#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 286struct __anonstruct_pud_t_18 {
 287   pudval_t pud ;
 288};
 289#line 210 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 290typedef struct __anonstruct_pud_t_18 pud_t;
 291#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 292struct __anonstruct_pmd_t_19 {
 293   pmdval_t pmd ;
 294};
 295#line 231 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 296typedef struct __anonstruct_pmd_t_19 pmd_t;
 297#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
 298typedef struct page *pgtable_t;
 299#line 293
 300struct file;
 301#line 293
 302struct file;
 303#line 293
 304struct file;
 305#line 293
 306struct file;
 307#line 311
 308struct seq_file;
 309#line 311
 310struct seq_file;
 311#line 311
 312struct seq_file;
 313#line 311
 314struct seq_file;
 315#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 316struct __anonstruct____missing_field_name_22 {
 317   unsigned int a ;
 318   unsigned int b ;
 319};
 320#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 321struct __anonstruct____missing_field_name_23 {
 322   u16 limit0 ;
 323   u16 base0 ;
 324   unsigned int base1 : 8 ;
 325   unsigned int type : 4 ;
 326   unsigned int s : 1 ;
 327   unsigned int dpl : 2 ;
 328   unsigned int p : 1 ;
 329   unsigned int limit : 4 ;
 330   unsigned int avl : 1 ;
 331   unsigned int l : 1 ;
 332   unsigned int d : 1 ;
 333   unsigned int g : 1 ;
 334   unsigned int base2 : 8 ;
 335};
 336#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 337union __anonunion____missing_field_name_21 {
 338   struct __anonstruct____missing_field_name_22 __annonCompField7 ;
 339   struct __anonstruct____missing_field_name_23 __annonCompField8 ;
 340};
 341#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 342struct desc_struct {
 343   union __anonunion____missing_field_name_21 __annonCompField9 ;
 344} __attribute__((__packed__)) ;
 345#line 51 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 346struct gate_struct64 {
 347   u16 offset_low ;
 348   u16 segment ;
 349   unsigned int ist : 3 ;
 350   unsigned int zero0 : 5 ;
 351   unsigned int type : 5 ;
 352   unsigned int dpl : 2 ;
 353   unsigned int p : 1 ;
 354   u16 offset_middle ;
 355   u32 offset_high ;
 356   u32 zero1 ;
 357} __attribute__((__packed__)) ;
 358#line 81 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 359typedef struct gate_struct64 gate_desc;
 360#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
 361struct desc_ptr {
 362   unsigned short size ;
 363   unsigned long address ;
 364} __attribute__((__packed__)) ;
 365#line 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 366struct page;
 367#line 46
 368struct thread_struct;
 369#line 46
 370struct thread_struct;
 371#line 46
 372struct thread_struct;
 373#line 46
 374struct thread_struct;
 375#line 47
 376struct desc_ptr;
 377#line 48
 378struct tss_struct;
 379#line 48
 380struct tss_struct;
 381#line 48
 382struct tss_struct;
 383#line 48
 384struct tss_struct;
 385#line 49
 386struct mm_struct;
 387#line 50
 388struct desc_struct;
 389#line 51
 390struct task_struct;
 391#line 52
 392struct cpumask;
 393#line 52
 394struct cpumask;
 395#line 52
 396struct cpumask;
 397#line 52
 398struct cpumask;
 399#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 400struct paravirt_callee_save {
 401   void *func ;
 402};
 403#line 70 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 404struct pv_init_ops {
 405   unsigned int (*patch)(u8 type , u16 clobber , void *insnbuf , unsigned long addr ,
 406                         unsigned int len ) ;
 407};
 408#line 84 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 409struct pv_lazy_ops {
 410   void (*enter)(void) ;
 411   void (*leave)(void) ;
 412};
 413#line 90 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 414struct pv_time_ops {
 415   unsigned long long (*sched_clock)(void) ;
 416   unsigned long (*get_tsc_khz)(void) ;
 417};
 418#line 95 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 419struct pv_cpu_ops {
 420   unsigned long (*get_debugreg)(int regno ) ;
 421   void (*set_debugreg)(int regno , unsigned long value ) ;
 422   void (*clts)(void) ;
 423   unsigned long (*read_cr0)(void) ;
 424   void (*write_cr0)(unsigned long  ) ;
 425   unsigned long (*read_cr4_safe)(void) ;
 426   unsigned long (*read_cr4)(void) ;
 427   void (*write_cr4)(unsigned long  ) ;
 428   unsigned long (*read_cr8)(void) ;
 429   void (*write_cr8)(unsigned long  ) ;
 430   void (*load_tr_desc)(void) ;
 431   void (*load_gdt)(struct desc_ptr  const  * ) ;
 432   void (*load_idt)(struct desc_ptr  const  * ) ;
 433   void (*store_gdt)(struct desc_ptr * ) ;
 434   void (*store_idt)(struct desc_ptr * ) ;
 435   void (*set_ldt)(void const   *desc , unsigned int entries ) ;
 436   unsigned long (*store_tr)(void) ;
 437   void (*load_tls)(struct thread_struct *t , unsigned int cpu ) ;
 438   void (*load_gs_index)(unsigned int idx ) ;
 439   void (*write_ldt_entry)(struct desc_struct *ldt , int entrynum , void const   *desc ) ;
 440   void (*write_gdt_entry)(struct desc_struct * , int entrynum , void const   *desc ,
 441                           int size ) ;
 442   void (*write_idt_entry)(gate_desc * , int entrynum , gate_desc const   *gate ) ;
 443   void (*alloc_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
 444   void (*free_ldt)(struct desc_struct *ldt , unsigned int entries ) ;
 445   void (*load_sp0)(struct tss_struct *tss , struct thread_struct *t ) ;
 446   void (*set_iopl_mask)(unsigned int mask ) ;
 447   void (*wbinvd)(void) ;
 448   void (*io_delay)(void) ;
 449   void (*cpuid)(unsigned int *eax , unsigned int *ebx , unsigned int *ecx , unsigned int *edx ) ;
 450   u64 (*read_msr)(unsigned int msr , int *err ) ;
 451   int (*rdmsr_regs)(u32 *regs ) ;
 452   int (*write_msr)(unsigned int msr , unsigned int low , unsigned int high ) ;
 453   int (*wrmsr_regs)(u32 *regs ) ;
 454   u64 (*read_tsc)(void) ;
 455   u64 (*read_pmc)(int counter ) ;
 456   unsigned long long (*read_tscp)(unsigned int *aux ) ;
 457   void (*irq_enable_sysexit)(void) ;
 458   void (*usergs_sysret64)(void) ;
 459   void (*usergs_sysret32)(void) ;
 460   void (*iret)(void) ;
 461   void (*swapgs)(void) ;
 462   void (*start_context_switch)(struct task_struct *prev ) ;
 463   void (*end_context_switch)(struct task_struct *next ) ;
 464};
 465#line 191 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 466struct pv_irq_ops {
 467   struct paravirt_callee_save save_fl ;
 468   struct paravirt_callee_save restore_fl ;
 469   struct paravirt_callee_save irq_disable ;
 470   struct paravirt_callee_save irq_enable ;
 471   void (*safe_halt)(void) ;
 472   void (*halt)(void) ;
 473   void (*adjust_exception_frame)(void) ;
 474};
 475#line 214 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 476struct pv_apic_ops {
 477   void (*startup_ipi_hook)(int phys_apicid , unsigned long start_eip , unsigned long start_esp ) ;
 478};
 479#line 222 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 480struct pv_mmu_ops {
 481   unsigned long (*read_cr2)(void) ;
 482   void (*write_cr2)(unsigned long  ) ;
 483   unsigned long (*read_cr3)(void) ;
 484   void (*write_cr3)(unsigned long  ) ;
 485   void (*activate_mm)(struct mm_struct *prev , struct mm_struct *next ) ;
 486   void (*dup_mmap)(struct mm_struct *oldmm , struct mm_struct *mm ) ;
 487   void (*exit_mmap)(struct mm_struct *mm ) ;
 488   void (*flush_tlb_user)(void) ;
 489   void (*flush_tlb_kernel)(void) ;
 490   void (*flush_tlb_single)(unsigned long addr ) ;
 491   void (*flush_tlb_others)(struct cpumask  const  *cpus , struct mm_struct *mm ,
 492                            unsigned long va ) ;
 493   int (*pgd_alloc)(struct mm_struct *mm ) ;
 494   void (*pgd_free)(struct mm_struct *mm , pgd_t *pgd ) ;
 495   void (*alloc_pte)(struct mm_struct *mm , unsigned long pfn ) ;
 496   void (*alloc_pmd)(struct mm_struct *mm , unsigned long pfn ) ;
 497   void (*alloc_pud)(struct mm_struct *mm , unsigned long pfn ) ;
 498   void (*release_pte)(unsigned long pfn ) ;
 499   void (*release_pmd)(unsigned long pfn ) ;
 500   void (*release_pud)(unsigned long pfn ) ;
 501   void (*set_pte)(pte_t *ptep , pte_t pteval ) ;
 502   void (*set_pte_at)(struct mm_struct *mm , unsigned long addr , pte_t *ptep , pte_t pteval ) ;
 503   void (*set_pmd)(pmd_t *pmdp , pmd_t pmdval ) ;
 504   void (*set_pmd_at)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp , pmd_t pmdval ) ;
 505   void (*pte_update)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
 506   void (*pte_update_defer)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
 507   void (*pmd_update)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
 508   void (*pmd_update_defer)(struct mm_struct *mm , unsigned long addr , pmd_t *pmdp ) ;
 509   pte_t (*ptep_modify_prot_start)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ) ;
 510   void (*ptep_modify_prot_commit)(struct mm_struct *mm , unsigned long addr , pte_t *ptep ,
 511                                   pte_t pte ) ;
 512   struct paravirt_callee_save pte_val ;
 513   struct paravirt_callee_save make_pte ;
 514   struct paravirt_callee_save pgd_val ;
 515   struct paravirt_callee_save make_pgd ;
 516   void (*set_pud)(pud_t *pudp , pud_t pudval ) ;
 517   struct paravirt_callee_save pmd_val ;
 518   struct paravirt_callee_save make_pmd ;
 519   struct paravirt_callee_save pud_val ;
 520   struct paravirt_callee_save make_pud ;
 521   void (*set_pgd)(pgd_t *pudp , pgd_t pgdval ) ;
 522   struct pv_lazy_ops lazy_mode ;
 523   void (*set_fixmap)(unsigned int idx , phys_addr_t phys , pgprot_t flags ) ;
 524};
 525#line 322
 526struct arch_spinlock;
 527#line 322
 528struct arch_spinlock;
 529#line 322
 530struct arch_spinlock;
 531#line 322
 532struct arch_spinlock;
 533#line 323 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 534struct pv_lock_ops {
 535   int (*spin_is_locked)(struct arch_spinlock *lock ) ;
 536   int (*spin_is_contended)(struct arch_spinlock *lock ) ;
 537   void (*spin_lock)(struct arch_spinlock *lock ) ;
 538   void (*spin_lock_flags)(struct arch_spinlock *lock , unsigned long flags ) ;
 539   int (*spin_trylock)(struct arch_spinlock *lock ) ;
 540   void (*spin_unlock)(struct arch_spinlock *lock ) ;
 541};
 542#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
 543struct paravirt_patch_template {
 544   struct pv_init_ops pv_init_ops ;
 545   struct pv_time_ops pv_time_ops ;
 546   struct pv_cpu_ops pv_cpu_ops ;
 547   struct pv_irq_ops pv_irq_ops ;
 548   struct pv_apic_ops pv_apic_ops ;
 549   struct pv_mmu_ops pv_mmu_ops ;
 550   struct pv_lock_ops pv_lock_ops ;
 551};
 552#line 13 "include/linux/cpumask.h"
 553struct cpumask {
 554   unsigned long bits[((4096UL + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 555};
 556#line 13 "include/linux/cpumask.h"
 557typedef struct cpumask cpumask_t;
 558#line 622 "include/linux/cpumask.h"
 559typedef struct cpumask *cpumask_var_t;
 560#line 20 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/system.h"
 561struct task_struct;
 562#line 23
 563struct tss_struct;
 564#line 11 "include/linux/personality.h"
 565struct pt_regs;
 566#line 224 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 567struct x86_hw_tss {
 568   u32 reserved1 ;
 569   u64 sp0 ;
 570   u64 sp1 ;
 571   u64 sp2 ;
 572   u64 reserved2 ;
 573   u64 ist[7] ;
 574   u32 reserved3 ;
 575   u32 reserved4 ;
 576   u16 reserved5 ;
 577   u16 io_bitmap_base ;
 578} __attribute__((__packed__, __aligned__((1) <<  (6) ))) ;
 579#line 248 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 580struct tss_struct {
 581   struct x86_hw_tss x86_tss ;
 582   unsigned long io_bitmap[8192UL / sizeof(long ) + 1UL] ;
 583   unsigned long stack[64] ;
 584} __attribute__((__aligned__((1) <<  (6) ))) ;
 585#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 586struct i387_fsave_struct {
 587   u32 cwd ;
 588   u32 swd ;
 589   u32 twd ;
 590   u32 fip ;
 591   u32 fcs ;
 592   u32 foo ;
 593   u32 fos ;
 594   u32 st_space[20] ;
 595   u32 status ;
 596};
 597#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 598struct __anonstruct____missing_field_name_31 {
 599   u64 rip ;
 600   u64 rdp ;
 601};
 602#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 603struct __anonstruct____missing_field_name_32 {
 604   u32 fip ;
 605   u32 fcs ;
 606   u32 foo ;
 607   u32 fos ;
 608};
 609#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 610union __anonunion____missing_field_name_30 {
 611   struct __anonstruct____missing_field_name_31 __annonCompField12 ;
 612   struct __anonstruct____missing_field_name_32 __annonCompField13 ;
 613};
 614#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 615union __anonunion____missing_field_name_33 {
 616   u32 padding1[12] ;
 617   u32 sw_reserved[12] ;
 618};
 619#line 296 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 620struct i387_fxsave_struct {
 621   u16 cwd ;
 622   u16 swd ;
 623   u16 twd ;
 624   u16 fop ;
 625   union __anonunion____missing_field_name_30 __annonCompField14 ;
 626   u32 mxcsr ;
 627   u32 mxcsr_mask ;
 628   u32 st_space[32] ;
 629   u32 xmm_space[64] ;
 630   u32 padding[12] ;
 631   union __anonunion____missing_field_name_33 __annonCompField15 ;
 632} __attribute__((__aligned__(16))) ;
 633#line 331 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 634struct i387_soft_struct {
 635   u32 cwd ;
 636   u32 swd ;
 637   u32 twd ;
 638   u32 fip ;
 639   u32 fcs ;
 640   u32 foo ;
 641   u32 fos ;
 642   u32 st_space[20] ;
 643   u8 ftop ;
 644   u8 changed ;
 645   u8 lookahead ;
 646   u8 no_update ;
 647   u8 rm ;
 648   u8 alimit ;
 649   struct math_emu_info *info ;
 650   u32 entry_eip ;
 651};
 652#line 351 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 653struct ymmh_struct {
 654   u32 ymmh_space[64] ;
 655};
 656#line 356 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 657struct xsave_hdr_struct {
 658   u64 xstate_bv ;
 659   u64 reserved1[2] ;
 660   u64 reserved2[5] ;
 661} __attribute__((__packed__)) ;
 662#line 362 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 663struct xsave_struct {
 664   struct i387_fxsave_struct i387 ;
 665   struct xsave_hdr_struct xsave_hdr ;
 666   struct ymmh_struct ymmh ;
 667} __attribute__((__packed__, __aligned__(64))) ;
 668#line 369 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 669union thread_xstate {
 670   struct i387_fsave_struct fsave ;
 671   struct i387_fxsave_struct fxsave ;
 672   struct i387_soft_struct soft ;
 673   struct xsave_struct xsave ;
 674};
 675#line 376 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 676struct fpu {
 677   union thread_xstate *state ;
 678};
 679#line 421
 680struct kmem_cache;
 681#line 421
 682struct kmem_cache;
 683#line 421
 684struct kmem_cache;
 685#line 423
 686struct perf_event;
 687#line 423
 688struct perf_event;
 689#line 423
 690struct perf_event;
 691#line 423
 692struct perf_event;
 693#line 425 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 694struct thread_struct {
 695   struct desc_struct tls_array[3] ;
 696   unsigned long sp0 ;
 697   unsigned long sp ;
 698   unsigned long usersp ;
 699   unsigned short es ;
 700   unsigned short ds ;
 701   unsigned short fsindex ;
 702   unsigned short gsindex ;
 703   unsigned long fs ;
 704   unsigned long gs ;
 705   struct perf_event *ptrace_bps[4] ;
 706   unsigned long debugreg6 ;
 707   unsigned long ptrace_dr7 ;
 708   unsigned long cr2 ;
 709   unsigned long trap_no ;
 710   unsigned long error_code ;
 711   struct fpu fpu ;
 712   unsigned long *io_bitmap_ptr ;
 713   unsigned long iopl ;
 714   unsigned int io_bitmap_max ;
 715};
 716#line 23 "include/asm-generic/atomic-long.h"
 717typedef atomic64_t atomic_long_t;
 718#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 719struct arch_spinlock {
 720   unsigned int slock ;
 721};
 722#line 8 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 723typedef struct arch_spinlock arch_spinlock_t;
 724#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 725struct __anonstruct_arch_rwlock_t_36 {
 726   unsigned int lock ;
 727};
 728#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
 729typedef struct __anonstruct_arch_rwlock_t_36 arch_rwlock_t;
 730#line 12 "include/linux/lockdep.h"
 731struct task_struct;
 732#line 13
 733struct lockdep_map;
 734#line 13
 735struct lockdep_map;
 736#line 13
 737struct lockdep_map;
 738#line 13
 739struct lockdep_map;
 740#line 8 "include/linux/debug_locks.h"
 741struct task_struct;
 742#line 48
 743struct task_struct;
 744#line 4 "include/linux/stacktrace.h"
 745struct task_struct;
 746#line 5
 747struct pt_regs;
 748#line 8
 749struct task_struct;
 750#line 10 "include/linux/stacktrace.h"
 751struct stack_trace {
 752   unsigned int nr_entries ;
 753   unsigned int max_entries ;
 754   unsigned long *entries ;
 755   int skip ;
 756};
 757#line 50 "include/linux/lockdep.h"
 758struct lockdep_subclass_key {
 759   char __one_byte ;
 760} __attribute__((__packed__)) ;
 761#line 54 "include/linux/lockdep.h"
 762struct lock_class_key {
 763   struct lockdep_subclass_key subkeys[8UL] ;
 764};
 765#line 65 "include/linux/lockdep.h"
 766struct lock_class {
 767   struct list_head hash_entry ;
 768   struct list_head lock_entry ;
 769   struct lockdep_subclass_key *key ;
 770   unsigned int subclass ;
 771   unsigned int dep_gen_id ;
 772   unsigned long usage_mask ;
 773   struct stack_trace usage_traces[13] ;
 774   struct list_head locks_after ;
 775   struct list_head locks_before ;
 776   unsigned int version ;
 777   unsigned long ops ;
 778   char const   *name ;
 779   int name_version ;
 780   unsigned long contention_point[4] ;
 781   unsigned long contending_point[4] ;
 782};
 783#line 150 "include/linux/lockdep.h"
 784struct lockdep_map {
 785   struct lock_class_key *key ;
 786   struct lock_class *class_cache[2] ;
 787   char const   *name ;
 788   int cpu ;
 789   unsigned long ip ;
 790};
 791#line 196 "include/linux/lockdep.h"
 792struct held_lock {
 793   u64 prev_chain_key ;
 794   unsigned long acquire_ip ;
 795   struct lockdep_map *instance ;
 796   struct lockdep_map *nest_lock ;
 797   u64 waittime_stamp ;
 798   u64 holdtime_stamp ;
 799   unsigned int class_idx : 13 ;
 800   unsigned int irq_context : 2 ;
 801   unsigned int trylock : 1 ;
 802   unsigned int read : 2 ;
 803   unsigned int check : 2 ;
 804   unsigned int hardirqs_off : 1 ;
 805   unsigned int references : 11 ;
 806};
 807#line 20 "include/linux/spinlock_types.h"
 808struct raw_spinlock {
 809   arch_spinlock_t raw_lock ;
 810   unsigned int magic ;
 811   unsigned int owner_cpu ;
 812   void *owner ;
 813   struct lockdep_map dep_map ;
 814};
 815#line 20 "include/linux/spinlock_types.h"
 816typedef struct raw_spinlock raw_spinlock_t;
 817#line 64 "include/linux/spinlock_types.h"
 818struct __anonstruct____missing_field_name_38 {
 819   u8 __padding[(unsigned int )(& ((struct raw_spinlock *)0)->dep_map)] ;
 820   struct lockdep_map dep_map ;
 821};
 822#line 64 "include/linux/spinlock_types.h"
 823union __anonunion____missing_field_name_37 {
 824   struct raw_spinlock rlock ;
 825   struct __anonstruct____missing_field_name_38 __annonCompField17 ;
 826};
 827#line 64 "include/linux/spinlock_types.h"
 828struct spinlock {
 829   union __anonunion____missing_field_name_37 __annonCompField18 ;
 830};
 831#line 64 "include/linux/spinlock_types.h"
 832typedef struct spinlock spinlock_t;
 833#line 11 "include/linux/rwlock_types.h"
 834struct __anonstruct_rwlock_t_39 {
 835   arch_rwlock_t raw_lock ;
 836   unsigned int magic ;
 837   unsigned int owner_cpu ;
 838   void *owner ;
 839   struct lockdep_map dep_map ;
 840};
 841#line 11 "include/linux/rwlock_types.h"
 842typedef struct __anonstruct_rwlock_t_39 rwlock_t;
 843#line 119 "include/linux/seqlock.h"
 844struct seqcount {
 845   unsigned int sequence ;
 846};
 847#line 119 "include/linux/seqlock.h"
 848typedef struct seqcount seqcount_t;
 849#line 14 "include/linux/time.h"
 850struct timespec {
 851   __kernel_time_t tv_sec ;
 852   long tv_nsec ;
 853};
 854#line 62 "include/linux/stat.h"
 855struct kstat {
 856   u64 ino ;
 857   dev_t dev ;
 858   umode_t mode ;
 859   unsigned int nlink ;
 860   uid_t uid ;
 861   gid_t gid ;
 862   dev_t rdev ;
 863   loff_t size ;
 864   struct timespec atime ;
 865   struct timespec mtime ;
 866   struct timespec ctime ;
 867   unsigned long blksize ;
 868   unsigned long long blocks ;
 869};
 870#line 50 "include/linux/wait.h"
 871struct __wait_queue_head {
 872   spinlock_t lock ;
 873   struct list_head task_list ;
 874};
 875#line 54 "include/linux/wait.h"
 876typedef struct __wait_queue_head wait_queue_head_t;
 877#line 56
 878struct task_struct;
 879#line 96 "include/linux/nodemask.h"
 880struct __anonstruct_nodemask_t_41 {
 881   unsigned long bits[(((unsigned long )(1 << 10) + 8UL * sizeof(long )) - 1UL) / (8UL * sizeof(long ))] ;
 882};
 883#line 96 "include/linux/nodemask.h"
 884typedef struct __anonstruct_nodemask_t_41 nodemask_t;
 885#line 60 "include/linux/pageblock-flags.h"
 886struct page;
 887#line 48 "include/linux/mutex.h"
 888struct mutex {
 889   atomic_t count ;
 890   spinlock_t wait_lock ;
 891   struct list_head wait_list ;
 892   struct task_struct *owner ;
 893   char const   *name ;
 894   void *magic ;
 895   struct lockdep_map dep_map ;
 896};
 897#line 69 "include/linux/mutex.h"
 898struct mutex_waiter {
 899   struct list_head list ;
 900   struct task_struct *task ;
 901   void *magic ;
 902};
 903#line 20 "include/linux/rwsem.h"
 904struct rw_semaphore;
 905#line 20
 906struct rw_semaphore;
 907#line 20
 908struct rw_semaphore;
 909#line 20
 910struct rw_semaphore;
 911#line 26 "include/linux/rwsem.h"
 912struct rw_semaphore {
 913   long count ;
 914   spinlock_t wait_lock ;
 915   struct list_head wait_list ;
 916   struct lockdep_map dep_map ;
 917};
 918#line 8 "include/linux/memory_hotplug.h"
 919struct page;
 920#line 177 "include/linux/ioport.h"
 921struct device;
 922#line 177
 923struct device;
 924#line 177
 925struct device;
 926#line 177
 927struct device;
 928#line 103 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mpspec.h"
 929struct device;
 930#line 46 "include/linux/ktime.h"
 931union ktime {
 932   s64 tv64 ;
 933};
 934#line 59 "include/linux/ktime.h"
 935typedef union ktime ktime_t;
 936#line 10 "include/linux/timer.h"
 937struct tvec_base;
 938#line 10
 939struct tvec_base;
 940#line 10
 941struct tvec_base;
 942#line 10
 943struct tvec_base;
 944#line 12 "include/linux/timer.h"
 945struct timer_list {
 946   struct list_head entry ;
 947   unsigned long expires ;
 948   struct tvec_base *base ;
 949   void (*function)(unsigned long  ) ;
 950   unsigned long data ;
 951   int slack ;
 952   int start_pid ;
 953   void *start_site ;
 954   char start_comm[16] ;
 955   struct lockdep_map lockdep_map ;
 956};
 957#line 289
 958struct hrtimer;
 959#line 289
 960struct hrtimer;
 961#line 289
 962struct hrtimer;
 963#line 289
 964struct hrtimer;
 965#line 290
 966enum hrtimer_restart;
 967#line 290
 968enum hrtimer_restart;
 969#line 290
 970enum hrtimer_restart;
 971#line 17 "include/linux/workqueue.h"
 972struct work_struct;
 973#line 17
 974struct work_struct;
 975#line 17
 976struct work_struct;
 977#line 17
 978struct work_struct;
 979#line 79 "include/linux/workqueue.h"
 980struct work_struct {
 981   atomic_long_t data ;
 982   struct list_head entry ;
 983   void (*func)(struct work_struct *work ) ;
 984   struct lockdep_map lockdep_map ;
 985};
 986#line 92 "include/linux/workqueue.h"
 987struct delayed_work {
 988   struct work_struct work ;
 989   struct timer_list timer ;
 990};
 991#line 25 "include/linux/completion.h"
 992struct completion {
 993   unsigned int done ;
 994   wait_queue_head_t wait ;
 995};
 996#line 42 "include/linux/pm.h"
 997struct device;
 998#line 50 "include/linux/pm.h"
 999struct pm_message {
1000   int event ;
1001};
1002#line 50 "include/linux/pm.h"
1003typedef struct pm_message pm_message_t;
1004#line 204 "include/linux/pm.h"
1005struct dev_pm_ops {
1006   int (*prepare)(struct device *dev ) ;
1007   void (*complete)(struct device *dev ) ;
1008   int (*suspend)(struct device *dev ) ;
1009   int (*resume)(struct device *dev ) ;
1010   int (*freeze)(struct device *dev ) ;
1011   int (*thaw)(struct device *dev ) ;
1012   int (*poweroff)(struct device *dev ) ;
1013   int (*restore)(struct device *dev ) ;
1014   int (*suspend_noirq)(struct device *dev ) ;
1015   int (*resume_noirq)(struct device *dev ) ;
1016   int (*freeze_noirq)(struct device *dev ) ;
1017   int (*thaw_noirq)(struct device *dev ) ;
1018   int (*poweroff_noirq)(struct device *dev ) ;
1019   int (*restore_noirq)(struct device *dev ) ;
1020   int (*runtime_suspend)(struct device *dev ) ;
1021   int (*runtime_resume)(struct device *dev ) ;
1022   int (*runtime_idle)(struct device *dev ) ;
1023};
1024#line 392
1025enum rpm_status {
1026    RPM_ACTIVE = 0,
1027    RPM_RESUMING = 1,
1028    RPM_SUSPENDED = 2,
1029    RPM_SUSPENDING = 3
1030} ;
1031#line 414
1032enum rpm_request {
1033    RPM_REQ_NONE = 0,
1034    RPM_REQ_IDLE = 1,
1035    RPM_REQ_SUSPEND = 2,
1036    RPM_REQ_AUTOSUSPEND = 3,
1037    RPM_REQ_RESUME = 4
1038} ;
1039#line 422
1040struct wakeup_source;
1041#line 422
1042struct wakeup_source;
1043#line 422
1044struct wakeup_source;
1045#line 422
1046struct wakeup_source;
1047#line 424 "include/linux/pm.h"
1048struct dev_pm_info {
1049   pm_message_t power_state ;
1050   unsigned int can_wakeup : 1 ;
1051   unsigned int async_suspend : 1 ;
1052   bool is_prepared : 1 ;
1053   bool is_suspended : 1 ;
1054   spinlock_t lock ;
1055   struct list_head entry ;
1056   struct completion completion ;
1057   struct wakeup_source *wakeup ;
1058   struct timer_list suspend_timer ;
1059   unsigned long timer_expires ;
1060   struct work_struct work ;
1061   wait_queue_head_t wait_queue ;
1062   atomic_t usage_count ;
1063   atomic_t child_count ;
1064   unsigned int disable_depth : 3 ;
1065   unsigned int ignore_children : 1 ;
1066   unsigned int idle_notification : 1 ;
1067   unsigned int request_pending : 1 ;
1068   unsigned int deferred_resume : 1 ;
1069   unsigned int run_wake : 1 ;
1070   unsigned int runtime_auto : 1 ;
1071   unsigned int no_callbacks : 1 ;
1072   unsigned int irq_safe : 1 ;
1073   unsigned int use_autosuspend : 1 ;
1074   unsigned int timer_autosuspends : 1 ;
1075   enum rpm_request request ;
1076   enum rpm_status runtime_status ;
1077   int runtime_error ;
1078   int autosuspend_delay ;
1079   unsigned long last_busy ;
1080   unsigned long active_jiffies ;
1081   unsigned long suspended_jiffies ;
1082   unsigned long accounting_timestamp ;
1083   void *subsys_data ;
1084};
1085#line 475 "include/linux/pm.h"
1086struct dev_power_domain {
1087   struct dev_pm_ops ops ;
1088};
1089#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1090struct __anonstruct_mm_context_t_111 {
1091   void *ldt ;
1092   int size ;
1093   unsigned short ia32_compat ;
1094   struct mutex lock ;
1095   void *vdso ;
1096};
1097#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
1098typedef struct __anonstruct_mm_context_t_111 mm_context_t;
1099#line 8 "include/linux/vmalloc.h"
1100struct vm_area_struct;
1101#line 8
1102struct vm_area_struct;
1103#line 8
1104struct vm_area_struct;
1105#line 8
1106struct vm_area_struct;
1107#line 964 "include/linux/mmzone.h"
1108struct page;
1109#line 10 "include/linux/gfp.h"
1110struct vm_area_struct;
1111#line 29 "include/linux/sysctl.h"
1112struct completion;
1113#line 72 "include/linux/rcupdate.h"
1114struct rcu_head {
1115   struct rcu_head *next ;
1116   void (*func)(struct rcu_head *head ) ;
1117};
1118#line 937 "include/linux/sysctl.h"
1119struct nsproxy;
1120#line 937
1121struct nsproxy;
1122#line 937
1123struct nsproxy;
1124#line 937
1125struct nsproxy;
1126#line 48 "include/linux/kmod.h"
1127struct cred;
1128#line 48
1129struct cred;
1130#line 48
1131struct cred;
1132#line 48
1133struct cred;
1134#line 49
1135struct file;
1136#line 264 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
1137struct task_struct;
1138#line 10 "include/linux/elf.h"
1139struct file;
1140#line 27 "include/linux/elf.h"
1141typedef __u64 Elf64_Addr;
1142#line 28 "include/linux/elf.h"
1143typedef __u16 Elf64_Half;
1144#line 32 "include/linux/elf.h"
1145typedef __u32 Elf64_Word;
1146#line 33 "include/linux/elf.h"
1147typedef __u64 Elf64_Xword;
1148#line 203 "include/linux/elf.h"
1149struct elf64_sym {
1150   Elf64_Word st_name ;
1151   unsigned char st_info ;
1152   unsigned char st_other ;
1153   Elf64_Half st_shndx ;
1154   Elf64_Addr st_value ;
1155   Elf64_Xword st_size ;
1156};
1157#line 203 "include/linux/elf.h"
1158typedef struct elf64_sym Elf64_Sym;
1159#line 20 "include/linux/kobject_ns.h"
1160struct sock;
1161#line 20
1162struct sock;
1163#line 20
1164struct sock;
1165#line 20
1166struct sock;
1167#line 21
1168struct kobject;
1169#line 21
1170struct kobject;
1171#line 21
1172struct kobject;
1173#line 21
1174struct kobject;
1175#line 27
1176enum kobj_ns_type {
1177    KOBJ_NS_TYPE_NONE = 0,
1178    KOBJ_NS_TYPE_NET = 1,
1179    KOBJ_NS_TYPES = 2
1180} ;
1181#line 40 "include/linux/kobject_ns.h"
1182struct kobj_ns_type_operations {
1183   enum kobj_ns_type type ;
1184   void *(*grab_current_ns)(void) ;
1185   void const   *(*netlink_ns)(struct sock *sk ) ;
1186   void const   *(*initial_ns)(void) ;
1187   void (*drop_ns)(void * ) ;
1188};
1189#line 22 "include/linux/sysfs.h"
1190struct kobject;
1191#line 23
1192struct module;
1193#line 24
1194enum kobj_ns_type;
1195#line 26 "include/linux/sysfs.h"
1196struct attribute {
1197   char const   *name ;
1198   mode_t mode ;
1199   struct lock_class_key *key ;
1200   struct lock_class_key skey ;
1201};
1202#line 56 "include/linux/sysfs.h"
1203struct attribute_group {
1204   char const   *name ;
1205   mode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
1206   struct attribute **attrs ;
1207};
1208#line 85
1209struct file;
1210#line 86
1211struct vm_area_struct;
1212#line 88 "include/linux/sysfs.h"
1213struct bin_attribute {
1214   struct attribute attr ;
1215   size_t size ;
1216   void *private ;
1217   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1218                   loff_t  , size_t  ) ;
1219   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
1220                    loff_t  , size_t  ) ;
1221   int (*mmap)(struct file * , struct kobject * , struct bin_attribute *attr , struct vm_area_struct *vma ) ;
1222};
1223#line 112 "include/linux/sysfs.h"
1224struct sysfs_ops {
1225   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
1226   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
1227};
1228#line 117
1229struct sysfs_dirent;
1230#line 117
1231struct sysfs_dirent;
1232#line 117
1233struct sysfs_dirent;
1234#line 117
1235struct sysfs_dirent;
1236#line 20 "include/linux/kref.h"
1237struct kref {
1238   atomic_t refcount ;
1239};
1240#line 60 "include/linux/kobject.h"
1241struct kset;
1242#line 60
1243struct kset;
1244#line 60
1245struct kset;
1246#line 60
1247struct kobj_type;
1248#line 60
1249struct kobj_type;
1250#line 60
1251struct kobj_type;
1252#line 60 "include/linux/kobject.h"
1253struct kobject {
1254   char const   *name ;
1255   struct list_head entry ;
1256   struct kobject *parent ;
1257   struct kset *kset ;
1258   struct kobj_type *ktype ;
1259   struct sysfs_dirent *sd ;
1260   struct kref kref ;
1261   unsigned int state_initialized : 1 ;
1262   unsigned int state_in_sysfs : 1 ;
1263   unsigned int state_add_uevent_sent : 1 ;
1264   unsigned int state_remove_uevent_sent : 1 ;
1265   unsigned int uevent_suppress : 1 ;
1266};
1267#line 110 "include/linux/kobject.h"
1268struct kobj_type {
1269   void (*release)(struct kobject *kobj ) ;
1270   struct sysfs_ops  const  *sysfs_ops ;
1271   struct attribute **default_attrs ;
1272   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject *kobj ) ;
1273   void const   *(*namespace)(struct kobject *kobj ) ;
1274};
1275#line 118 "include/linux/kobject.h"
1276struct kobj_uevent_env {
1277   char *envp[32] ;
1278   int envp_idx ;
1279   char buf[2048] ;
1280   int buflen ;
1281};
1282#line 125 "include/linux/kobject.h"
1283struct kset_uevent_ops {
1284   int (* const  filter)(struct kset *kset , struct kobject *kobj ) ;
1285   char const   *(* const  name)(struct kset *kset , struct kobject *kobj ) ;
1286   int (* const  uevent)(struct kset *kset , struct kobject *kobj , struct kobj_uevent_env *env ) ;
1287};
1288#line 142
1289struct sock;
1290#line 161 "include/linux/kobject.h"
1291struct kset {
1292   struct list_head list ;
1293   spinlock_t list_lock ;
1294   struct kobject kobj ;
1295   struct kset_uevent_ops  const  *uevent_ops ;
1296};
1297#line 34 "include/linux/moduleparam.h"
1298struct kernel_param;
1299#line 34
1300struct kernel_param;
1301#line 34
1302struct kernel_param;
1303#line 34
1304struct kernel_param;
1305#line 36 "include/linux/moduleparam.h"
1306struct kernel_param_ops {
1307   int (*set)(char const   *val , struct kernel_param  const  *kp ) ;
1308   int (*get)(char *buffer , struct kernel_param  const  *kp ) ;
1309   void (*free)(void *arg ) ;
1310};
1311#line 48
1312struct kparam_string;
1313#line 48
1314struct kparam_string;
1315#line 48
1316struct kparam_string;
1317#line 48
1318struct kparam_array;
1319#line 48
1320struct kparam_array;
1321#line 48
1322struct kparam_array;
1323#line 48 "include/linux/moduleparam.h"
1324union __anonunion____missing_field_name_195 {
1325   void *arg ;
1326   struct kparam_string  const  *str ;
1327   struct kparam_array  const  *arr ;
1328};
1329#line 48 "include/linux/moduleparam.h"
1330struct kernel_param {
1331   char const   *name ;
1332   struct kernel_param_ops  const  *ops ;
1333   u16 perm ;
1334   u16 flags ;
1335   union __anonunion____missing_field_name_195 __annonCompField31 ;
1336};
1337#line 61 "include/linux/moduleparam.h"
1338struct kparam_string {
1339   unsigned int maxlen ;
1340   char *string ;
1341};
1342#line 67 "include/linux/moduleparam.h"
1343struct kparam_array {
1344   unsigned int max ;
1345   unsigned int elemsize ;
1346   unsigned int *num ;
1347   struct kernel_param_ops  const  *ops ;
1348   void *elem ;
1349};
1350#line 391
1351struct module;
1352#line 26 "include/linux/jump_label.h"
1353struct module;
1354#line 61 "include/linux/jump_label.h"
1355struct jump_label_key {
1356   atomic_t enabled ;
1357};
1358#line 22 "include/linux/tracepoint.h"
1359struct module;
1360#line 23
1361struct tracepoint;
1362#line 23
1363struct tracepoint;
1364#line 23
1365struct tracepoint;
1366#line 23
1367struct tracepoint;
1368#line 25 "include/linux/tracepoint.h"
1369struct tracepoint_func {
1370   void *func ;
1371   void *data ;
1372};
1373#line 30 "include/linux/tracepoint.h"
1374struct tracepoint {
1375   char const   *name ;
1376   struct jump_label_key key ;
1377   void (*regfunc)(void) ;
1378   void (*unregfunc)(void) ;
1379   struct tracepoint_func *funcs ;
1380};
1381#line 8 "include/asm-generic/module.h"
1382struct mod_arch_specific {
1383
1384};
1385#line 21 "include/trace/events/module.h"
1386struct module;
1387#line 37 "include/linux/module.h"
1388struct kernel_symbol {
1389   unsigned long value ;
1390   char const   *name ;
1391};
1392#line 49
1393struct module;
1394#line 51 "include/linux/module.h"
1395struct module_attribute {
1396   struct attribute attr ;
1397   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
1398   ssize_t (*store)(struct module_attribute * , struct module * , char const   * ,
1399                    size_t count ) ;
1400   void (*setup)(struct module * , char const   * ) ;
1401   int (*test)(struct module * ) ;
1402   void (*free)(struct module * ) ;
1403};
1404#line 70
1405struct module_param_attrs;
1406#line 70
1407struct module_param_attrs;
1408#line 70
1409struct module_param_attrs;
1410#line 70 "include/linux/module.h"
1411struct module_kobject {
1412   struct kobject kobj ;
1413   struct module *mod ;
1414   struct kobject *drivers_dir ;
1415   struct module_param_attrs *mp ;
1416};
1417#line 83
1418struct exception_table_entry;
1419#line 83
1420struct exception_table_entry;
1421#line 83
1422struct exception_table_entry;
1423#line 83
1424struct exception_table_entry;
1425#line 265
1426enum module_state {
1427    MODULE_STATE_LIVE = 0,
1428    MODULE_STATE_COMING = 1,
1429    MODULE_STATE_GOING = 2
1430} ;
1431#line 272
1432struct module_sect_attrs;
1433#line 272
1434struct module_sect_attrs;
1435#line 272
1436struct module_sect_attrs;
1437#line 272
1438struct module_notes_attrs;
1439#line 272
1440struct module_notes_attrs;
1441#line 272
1442struct module_notes_attrs;
1443#line 272
1444struct ftrace_event_call;
1445#line 272
1446struct ftrace_event_call;
1447#line 272
1448struct ftrace_event_call;
1449#line 272 "include/linux/module.h"
1450struct module_ref {
1451   unsigned int incs ;
1452   unsigned int decs ;
1453};
1454#line 272 "include/linux/module.h"
1455struct module {
1456   enum module_state state ;
1457   struct list_head list ;
1458   char name[64UL - sizeof(unsigned long )] ;
1459   struct module_kobject mkobj ;
1460   struct module_attribute *modinfo_attrs ;
1461   char const   *version ;
1462   char const   *srcversion ;
1463   struct kobject *holders_dir ;
1464   struct kernel_symbol  const  *syms ;
1465   unsigned long const   *crcs ;
1466   unsigned int num_syms ;
1467   struct kernel_param *kp ;
1468   unsigned int num_kp ;
1469   unsigned int num_gpl_syms ;
1470   struct kernel_symbol  const  *gpl_syms ;
1471   unsigned long const   *gpl_crcs ;
1472   struct kernel_symbol  const  *unused_syms ;
1473   unsigned long const   *unused_crcs ;
1474   unsigned int num_unused_syms ;
1475   unsigned int num_unused_gpl_syms ;
1476   struct kernel_symbol  const  *unused_gpl_syms ;
1477   unsigned long const   *unused_gpl_crcs ;
1478   struct kernel_symbol  const  *gpl_future_syms ;
1479   unsigned long const   *gpl_future_crcs ;
1480   unsigned int num_gpl_future_syms ;
1481   unsigned int num_exentries ;
1482   struct exception_table_entry *extable ;
1483   int (*init)(void) ;
1484   void *module_init ;
1485   void *module_core ;
1486   unsigned int init_size ;
1487   unsigned int core_size ;
1488   unsigned int init_text_size ;
1489   unsigned int core_text_size ;
1490   unsigned int init_ro_size ;
1491   unsigned int core_ro_size ;
1492   struct mod_arch_specific arch ;
1493   unsigned int taints ;
1494   unsigned int num_bugs ;
1495   struct list_head bug_list ;
1496   struct bug_entry *bug_table ;
1497   Elf64_Sym *symtab ;
1498   Elf64_Sym *core_symtab ;
1499   unsigned int num_symtab ;
1500   unsigned int core_num_syms ;
1501   char *strtab ;
1502   char *core_strtab ;
1503   struct module_sect_attrs *sect_attrs ;
1504   struct module_notes_attrs *notes_attrs ;
1505   char *args ;
1506   void *percpu ;
1507   unsigned int percpu_size ;
1508   unsigned int num_tracepoints ;
1509   struct tracepoint * const  *tracepoints_ptrs ;
1510   unsigned int num_trace_bprintk_fmt ;
1511   char const   **trace_bprintk_fmt_start ;
1512   struct ftrace_event_call **trace_events ;
1513   unsigned int num_trace_events ;
1514   unsigned int num_ftrace_callsites ;
1515   unsigned long *ftrace_callsites ;
1516   struct list_head source_list ;
1517   struct list_head target_list ;
1518   struct task_struct *waiter ;
1519   void (*exit)(void) ;
1520   struct module_ref *refptr ;
1521   ctor_fn_t *ctors ;
1522   unsigned int num_ctors ;
1523};
1524#line 19 "include/linux/klist.h"
1525struct klist_node;
1526#line 19
1527struct klist_node;
1528#line 19
1529struct klist_node;
1530#line 19
1531struct klist_node;
1532#line 39 "include/linux/klist.h"
1533struct klist_node {
1534   void *n_klist ;
1535   struct list_head n_node ;
1536   struct kref n_ref ;
1537};
1538#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1539struct dma_map_ops;
1540#line 4
1541struct dma_map_ops;
1542#line 4
1543struct dma_map_ops;
1544#line 4 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
1545struct dev_archdata {
1546   void *acpi_handle ;
1547   struct dma_map_ops *dma_ops ;
1548   void *iommu ;
1549};
1550#line 28 "include/linux/device.h"
1551struct device;
1552#line 29
1553struct device_private;
1554#line 29
1555struct device_private;
1556#line 29
1557struct device_private;
1558#line 29
1559struct device_private;
1560#line 30
1561struct device_driver;
1562#line 30
1563struct device_driver;
1564#line 30
1565struct device_driver;
1566#line 30
1567struct device_driver;
1568#line 31
1569struct driver_private;
1570#line 31
1571struct driver_private;
1572#line 31
1573struct driver_private;
1574#line 31
1575struct driver_private;
1576#line 32
1577struct class;
1578#line 32
1579struct class;
1580#line 32
1581struct class;
1582#line 32
1583struct class;
1584#line 33
1585struct subsys_private;
1586#line 33
1587struct subsys_private;
1588#line 33
1589struct subsys_private;
1590#line 33
1591struct subsys_private;
1592#line 34
1593struct bus_type;
1594#line 34
1595struct bus_type;
1596#line 34
1597struct bus_type;
1598#line 34
1599struct bus_type;
1600#line 35
1601struct device_node;
1602#line 35
1603struct device_node;
1604#line 35
1605struct device_node;
1606#line 35
1607struct device_node;
1608#line 37 "include/linux/device.h"
1609struct bus_attribute {
1610   struct attribute attr ;
1611   ssize_t (*show)(struct bus_type *bus , char *buf ) ;
1612   ssize_t (*store)(struct bus_type *bus , char const   *buf , size_t count ) ;
1613};
1614#line 82
1615struct device_attribute;
1616#line 82
1617struct device_attribute;
1618#line 82
1619struct device_attribute;
1620#line 82
1621struct driver_attribute;
1622#line 82
1623struct driver_attribute;
1624#line 82
1625struct driver_attribute;
1626#line 82 "include/linux/device.h"
1627struct bus_type {
1628   char const   *name ;
1629   struct bus_attribute *bus_attrs ;
1630   struct device_attribute *dev_attrs ;
1631   struct driver_attribute *drv_attrs ;
1632   int (*match)(struct device *dev , struct device_driver *drv ) ;
1633   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1634   int (*probe)(struct device *dev ) ;
1635   int (*remove)(struct device *dev ) ;
1636   void (*shutdown)(struct device *dev ) ;
1637   int (*suspend)(struct device *dev , pm_message_t state ) ;
1638   int (*resume)(struct device *dev ) ;
1639   struct dev_pm_ops  const  *pm ;
1640   struct subsys_private *p ;
1641};
1642#line 185
1643struct of_device_id;
1644#line 185
1645struct of_device_id;
1646#line 185
1647struct of_device_id;
1648#line 185 "include/linux/device.h"
1649struct device_driver {
1650   char const   *name ;
1651   struct bus_type *bus ;
1652   struct module *owner ;
1653   char const   *mod_name ;
1654   bool suppress_bind_attrs ;
1655   struct of_device_id  const  *of_match_table ;
1656   int (*probe)(struct device *dev ) ;
1657   int (*remove)(struct device *dev ) ;
1658   void (*shutdown)(struct device *dev ) ;
1659   int (*suspend)(struct device *dev , pm_message_t state ) ;
1660   int (*resume)(struct device *dev ) ;
1661   struct attribute_group  const  **groups ;
1662   struct dev_pm_ops  const  *pm ;
1663   struct driver_private *p ;
1664};
1665#line 222 "include/linux/device.h"
1666struct driver_attribute {
1667   struct attribute attr ;
1668   ssize_t (*show)(struct device_driver *driver , char *buf ) ;
1669   ssize_t (*store)(struct device_driver *driver , char const   *buf , size_t count ) ;
1670};
1671#line 280
1672struct class_attribute;
1673#line 280
1674struct class_attribute;
1675#line 280
1676struct class_attribute;
1677#line 280 "include/linux/device.h"
1678struct class {
1679   char const   *name ;
1680   struct module *owner ;
1681   struct class_attribute *class_attrs ;
1682   struct device_attribute *dev_attrs ;
1683   struct bin_attribute *dev_bin_attrs ;
1684   struct kobject *dev_kobj ;
1685   int (*dev_uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1686   char *(*devnode)(struct device *dev , mode_t *mode ) ;
1687   void (*class_release)(struct class *class ) ;
1688   void (*dev_release)(struct device *dev ) ;
1689   int (*suspend)(struct device *dev , pm_message_t state ) ;
1690   int (*resume)(struct device *dev ) ;
1691   struct kobj_ns_type_operations  const  *ns_type ;
1692   void const   *(*namespace)(struct device *dev ) ;
1693   struct dev_pm_ops  const  *pm ;
1694   struct subsys_private *p ;
1695};
1696#line 306
1697struct device_type;
1698#line 306
1699struct device_type;
1700#line 306
1701struct device_type;
1702#line 347 "include/linux/device.h"
1703struct class_attribute {
1704   struct attribute attr ;
1705   ssize_t (*show)(struct class *class , struct class_attribute *attr , char *buf ) ;
1706   ssize_t (*store)(struct class *class , struct class_attribute *attr , char const   *buf ,
1707                    size_t count ) ;
1708};
1709#line 413 "include/linux/device.h"
1710struct device_type {
1711   char const   *name ;
1712   struct attribute_group  const  **groups ;
1713   int (*uevent)(struct device *dev , struct kobj_uevent_env *env ) ;
1714   char *(*devnode)(struct device *dev , mode_t *mode ) ;
1715   void (*release)(struct device *dev ) ;
1716   struct dev_pm_ops  const  *pm ;
1717};
1718#line 424 "include/linux/device.h"
1719struct device_attribute {
1720   struct attribute attr ;
1721   ssize_t (*show)(struct device *dev , struct device_attribute *attr , char *buf ) ;
1722   ssize_t (*store)(struct device *dev , struct device_attribute *attr , char const   *buf ,
1723                    size_t count ) ;
1724};
1725#line 484 "include/linux/device.h"
1726struct device_dma_parameters {
1727   unsigned int max_segment_size ;
1728   unsigned long segment_boundary_mask ;
1729};
1730#line 551
1731struct dma_coherent_mem;
1732#line 551
1733struct dma_coherent_mem;
1734#line 551
1735struct dma_coherent_mem;
1736#line 551 "include/linux/device.h"
1737struct device {
1738   struct device *parent ;
1739   struct device_private *p ;
1740   struct kobject kobj ;
1741   char const   *init_name ;
1742   struct device_type  const  *type ;
1743   struct mutex mutex ;
1744   struct bus_type *bus ;
1745   struct device_driver *driver ;
1746   void *platform_data ;
1747   struct dev_pm_info power ;
1748   struct dev_power_domain *pwr_domain ;
1749   int numa_node ;
1750   u64 *dma_mask ;
1751   u64 coherent_dma_mask ;
1752   struct device_dma_parameters *dma_parms ;
1753   struct list_head dma_pools ;
1754   struct dma_coherent_mem *dma_mem ;
1755   struct dev_archdata archdata ;
1756   struct device_node *of_node ;
1757   dev_t devt ;
1758   spinlock_t devres_lock ;
1759   struct list_head devres_head ;
1760   struct klist_node knode_class ;
1761   struct class *class ;
1762   struct attribute_group  const  **groups ;
1763   void (*release)(struct device *dev ) ;
1764};
1765#line 43 "include/linux/pm_wakeup.h"
1766struct wakeup_source {
1767   char *name ;
1768   struct list_head entry ;
1769   spinlock_t lock ;
1770   struct timer_list timer ;
1771   unsigned long timer_expires ;
1772   ktime_t total_time ;
1773   ktime_t max_time ;
1774   ktime_t last_time ;
1775   unsigned long event_count ;
1776   unsigned long active_count ;
1777   unsigned long relax_count ;
1778   unsigned long hit_count ;
1779   unsigned int active : 1 ;
1780};
1781#line 14 "include/linux/prio_tree.h"
1782struct prio_tree_node;
1783#line 14
1784struct prio_tree_node;
1785#line 14
1786struct prio_tree_node;
1787#line 14 "include/linux/prio_tree.h"
1788struct raw_prio_tree_node {
1789   struct prio_tree_node *left ;
1790   struct prio_tree_node *right ;
1791   struct prio_tree_node *parent ;
1792};
1793#line 20 "include/linux/prio_tree.h"
1794struct prio_tree_node {
1795   struct prio_tree_node *left ;
1796   struct prio_tree_node *right ;
1797   struct prio_tree_node *parent ;
1798   unsigned long start ;
1799   unsigned long last ;
1800};
1801#line 28 "include/linux/prio_tree.h"
1802struct prio_tree_root {
1803   struct prio_tree_node *prio_tree_node ;
1804   unsigned short index_bits ;
1805   unsigned short raw ;
1806};
1807#line 100 "include/linux/rbtree.h"
1808struct rb_node {
1809   unsigned long rb_parent_color ;
1810   struct rb_node *rb_right ;
1811   struct rb_node *rb_left ;
1812} __attribute__((__aligned__(sizeof(long )))) ;
1813#line 110 "include/linux/rbtree.h"
1814struct rb_root {
1815   struct rb_node *rb_node ;
1816};
1817#line 23 "include/linux/mm_types.h"
1818struct address_space;
1819#line 23
1820struct address_space;
1821#line 23
1822struct address_space;
1823#line 23
1824struct address_space;
1825#line 34 "include/linux/mm_types.h"
1826struct __anonstruct____missing_field_name_198 {
1827   u16 inuse ;
1828   u16 objects ;
1829};
1830#line 34 "include/linux/mm_types.h"
1831union __anonunion____missing_field_name_197 {
1832   atomic_t _mapcount ;
1833   struct __anonstruct____missing_field_name_198 __annonCompField32 ;
1834};
1835#line 34 "include/linux/mm_types.h"
1836struct __anonstruct____missing_field_name_200 {
1837   unsigned long private ;
1838   struct address_space *mapping ;
1839};
1840#line 34 "include/linux/mm_types.h"
1841union __anonunion____missing_field_name_199 {
1842   struct __anonstruct____missing_field_name_200 __annonCompField34 ;
1843   struct kmem_cache *slab ;
1844   struct page *first_page ;
1845};
1846#line 34 "include/linux/mm_types.h"
1847union __anonunion____missing_field_name_201 {
1848   unsigned long index ;
1849   void *freelist ;
1850};
1851#line 34 "include/linux/mm_types.h"
1852struct page {
1853   unsigned long flags ;
1854   atomic_t _count ;
1855   union __anonunion____missing_field_name_197 __annonCompField33 ;
1856   union __anonunion____missing_field_name_199 __annonCompField35 ;
1857   union __anonunion____missing_field_name_201 __annonCompField36 ;
1858   struct list_head lru ;
1859};
1860#line 132 "include/linux/mm_types.h"
1861struct __anonstruct_vm_set_203 {
1862   struct list_head list ;
1863   void *parent ;
1864   struct vm_area_struct *head ;
1865};
1866#line 132 "include/linux/mm_types.h"
1867union __anonunion_shared_202 {
1868   struct __anonstruct_vm_set_203 vm_set ;
1869   struct raw_prio_tree_node prio_tree_node ;
1870};
1871#line 132
1872struct anon_vma;
1873#line 132
1874struct anon_vma;
1875#line 132
1876struct anon_vma;
1877#line 132
1878struct vm_operations_struct;
1879#line 132
1880struct vm_operations_struct;
1881#line 132
1882struct vm_operations_struct;
1883#line 132
1884struct mempolicy;
1885#line 132
1886struct mempolicy;
1887#line 132
1888struct mempolicy;
1889#line 132 "include/linux/mm_types.h"
1890struct vm_area_struct {
1891   struct mm_struct *vm_mm ;
1892   unsigned long vm_start ;
1893   unsigned long vm_end ;
1894   struct vm_area_struct *vm_next ;
1895   struct vm_area_struct *vm_prev ;
1896   pgprot_t vm_page_prot ;
1897   unsigned long vm_flags ;
1898   struct rb_node vm_rb ;
1899   union __anonunion_shared_202 shared ;
1900   struct list_head anon_vma_chain ;
1901   struct anon_vma *anon_vma ;
1902   struct vm_operations_struct  const  *vm_ops ;
1903   unsigned long vm_pgoff ;
1904   struct file *vm_file ;
1905   void *vm_private_data ;
1906   struct mempolicy *vm_policy ;
1907};
1908#line 189 "include/linux/mm_types.h"
1909struct core_thread {
1910   struct task_struct *task ;
1911   struct core_thread *next ;
1912};
1913#line 194 "include/linux/mm_types.h"
1914struct core_state {
1915   atomic_t nr_threads ;
1916   struct core_thread dumper ;
1917   struct completion startup ;
1918};
1919#line 216 "include/linux/mm_types.h"
1920struct mm_rss_stat {
1921   atomic_long_t count[3] ;
1922};
1923#line 220
1924struct linux_binfmt;
1925#line 220
1926struct linux_binfmt;
1927#line 220
1928struct linux_binfmt;
1929#line 220
1930struct mmu_notifier_mm;
1931#line 220
1932struct mmu_notifier_mm;
1933#line 220
1934struct mmu_notifier_mm;
1935#line 220 "include/linux/mm_types.h"
1936struct mm_struct {
1937   struct vm_area_struct *mmap ;
1938   struct rb_root mm_rb ;
1939   struct vm_area_struct *mmap_cache ;
1940   unsigned long (*get_unmapped_area)(struct file *filp , unsigned long addr , unsigned long len ,
1941                                      unsigned long pgoff , unsigned long flags ) ;
1942   void (*unmap_area)(struct mm_struct *mm , unsigned long addr ) ;
1943   unsigned long mmap_base ;
1944   unsigned long task_size ;
1945   unsigned long cached_hole_size ;
1946   unsigned long free_area_cache ;
1947   pgd_t *pgd ;
1948   atomic_t mm_users ;
1949   atomic_t mm_count ;
1950   int map_count ;
1951   spinlock_t page_table_lock ;
1952   struct rw_semaphore mmap_sem ;
1953   struct list_head mmlist ;
1954   unsigned long hiwater_rss ;
1955   unsigned long hiwater_vm ;
1956   unsigned long total_vm ;
1957   unsigned long locked_vm ;
1958   unsigned long shared_vm ;
1959   unsigned long exec_vm ;
1960   unsigned long stack_vm ;
1961   unsigned long reserved_vm ;
1962   unsigned long def_flags ;
1963   unsigned long nr_ptes ;
1964   unsigned long start_code ;
1965   unsigned long end_code ;
1966   unsigned long start_data ;
1967   unsigned long end_data ;
1968   unsigned long start_brk ;
1969   unsigned long brk ;
1970   unsigned long start_stack ;
1971   unsigned long arg_start ;
1972   unsigned long arg_end ;
1973   unsigned long env_start ;
1974   unsigned long env_end ;
1975   unsigned long saved_auxv[44] ;
1976   struct mm_rss_stat rss_stat ;
1977   struct linux_binfmt *binfmt ;
1978   cpumask_var_t cpu_vm_mask_var ;
1979   mm_context_t context ;
1980   unsigned int faultstamp ;
1981   unsigned int token_priority ;
1982   unsigned int last_interval ;
1983   atomic_t oom_disable_count ;
1984   unsigned long flags ;
1985   struct core_state *core_state ;
1986   spinlock_t ioctx_lock ;
1987   struct hlist_head ioctx_list ;
1988   struct task_struct *owner ;
1989   struct file *exe_file ;
1990   unsigned long num_exe_file_vmas ;
1991   struct mmu_notifier_mm *mmu_notifier_mm ;
1992   pgtable_t pmd_huge_pte ;
1993   struct cpumask cpumask_allocation ;
1994};
1995#line 51 "include/linux/idr.h"
1996struct idr_layer {
1997   unsigned long bitmap ;
1998   struct idr_layer *ary[1 << 6] ;
1999   int count ;
2000   int layer ;
2001   struct rcu_head rcu_head ;
2002};
2003#line 59 "include/linux/idr.h"
2004struct idr {
2005   struct idr_layer *top ;
2006   struct idr_layer *id_free ;
2007   int layers ;
2008   int id_free_cnt ;
2009   spinlock_t lock ;
2010};
2011#line 18 "include/linux/capability.h"
2012struct task_struct;
2013#line 94 "include/linux/capability.h"
2014struct kernel_cap_struct {
2015   __u32 cap[2] ;
2016};
2017#line 94 "include/linux/capability.h"
2018typedef struct kernel_cap_struct kernel_cap_t;
2019#line 376
2020struct dentry;
2021#line 376
2022struct dentry;
2023#line 376
2024struct dentry;
2025#line 376
2026struct dentry;
2027#line 377
2028struct user_namespace;
2029#line 377
2030struct user_namespace;
2031#line 377
2032struct user_namespace;
2033#line 377
2034struct user_namespace;
2035#line 7 "include/asm-generic/cputime.h"
2036typedef unsigned long cputime_t;
2037#line 84 "include/linux/sem.h"
2038struct task_struct;
2039#line 122
2040struct sem_undo_list;
2041#line 122
2042struct sem_undo_list;
2043#line 122
2044struct sem_undo_list;
2045#line 135 "include/linux/sem.h"
2046struct sem_undo_list {
2047   atomic_t refcnt ;
2048   spinlock_t lock ;
2049   struct list_head list_proc ;
2050};
2051#line 141 "include/linux/sem.h"
2052struct sysv_sem {
2053   struct sem_undo_list *undo_list ;
2054};
2055#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2056struct siginfo;
2057#line 10
2058struct siginfo;
2059#line 10
2060struct siginfo;
2061#line 10
2062struct siginfo;
2063#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2064struct __anonstruct_sigset_t_206 {
2065   unsigned long sig[1] ;
2066};
2067#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2068typedef struct __anonstruct_sigset_t_206 sigset_t;
2069#line 17 "include/asm-generic/signal-defs.h"
2070typedef void __signalfn_t(int  );
2071#line 18 "include/asm-generic/signal-defs.h"
2072typedef __signalfn_t *__sighandler_t;
2073#line 20 "include/asm-generic/signal-defs.h"
2074typedef void __restorefn_t(void);
2075#line 21 "include/asm-generic/signal-defs.h"
2076typedef __restorefn_t *__sigrestore_t;
2077#line 167 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2078struct sigaction {
2079   __sighandler_t sa_handler ;
2080   unsigned long sa_flags ;
2081   __sigrestore_t sa_restorer ;
2082   sigset_t sa_mask ;
2083};
2084#line 174 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
2085struct k_sigaction {
2086   struct sigaction sa ;
2087};
2088#line 7 "include/asm-generic/siginfo.h"
2089union sigval {
2090   int sival_int ;
2091   void *sival_ptr ;
2092};
2093#line 7 "include/asm-generic/siginfo.h"
2094typedef union sigval sigval_t;
2095#line 40 "include/asm-generic/siginfo.h"
2096struct __anonstruct__kill_208 {
2097   __kernel_pid_t _pid ;
2098   __kernel_uid32_t _uid ;
2099};
2100#line 40 "include/asm-generic/siginfo.h"
2101struct __anonstruct__timer_209 {
2102   __kernel_timer_t _tid ;
2103   int _overrun ;
2104   char _pad[sizeof(__kernel_uid32_t ) - sizeof(int )] ;
2105   sigval_t _sigval ;
2106   int _sys_private ;
2107};
2108#line 40 "include/asm-generic/siginfo.h"
2109struct __anonstruct__rt_210 {
2110   __kernel_pid_t _pid ;
2111   __kernel_uid32_t _uid ;
2112   sigval_t _sigval ;
2113};
2114#line 40 "include/asm-generic/siginfo.h"
2115struct __anonstruct__sigchld_211 {
2116   __kernel_pid_t _pid ;
2117   __kernel_uid32_t _uid ;
2118   int _status ;
2119   __kernel_clock_t _utime ;
2120   __kernel_clock_t _stime ;
2121};
2122#line 40 "include/asm-generic/siginfo.h"
2123struct __anonstruct__sigfault_212 {
2124   void *_addr ;
2125   short _addr_lsb ;
2126};
2127#line 40 "include/asm-generic/siginfo.h"
2128struct __anonstruct__sigpoll_213 {
2129   long _band ;
2130   int _fd ;
2131};
2132#line 40 "include/asm-generic/siginfo.h"
2133union __anonunion__sifields_207 {
2134   int _pad[(128UL - 4UL * sizeof(int )) / sizeof(int )] ;
2135   struct __anonstruct__kill_208 _kill ;
2136   struct __anonstruct__timer_209 _timer ;
2137   struct __anonstruct__rt_210 _rt ;
2138   struct __anonstruct__sigchld_211 _sigchld ;
2139   struct __anonstruct__sigfault_212 _sigfault ;
2140   struct __anonstruct__sigpoll_213 _sigpoll ;
2141};
2142#line 40 "include/asm-generic/siginfo.h"
2143struct siginfo {
2144   int si_signo ;
2145   int si_errno ;
2146   int si_code ;
2147   union __anonunion__sifields_207 _sifields ;
2148};
2149#line 40 "include/asm-generic/siginfo.h"
2150typedef struct siginfo siginfo_t;
2151#line 280
2152struct siginfo;
2153#line 10 "include/linux/signal.h"
2154struct task_struct;
2155#line 18
2156struct user_struct;
2157#line 18
2158struct user_struct;
2159#line 18
2160struct user_struct;
2161#line 28 "include/linux/signal.h"
2162struct sigpending {
2163   struct list_head list ;
2164   sigset_t signal ;
2165};
2166#line 239
2167struct timespec;
2168#line 240
2169struct pt_regs;
2170#line 6 "include/linux/pid.h"
2171enum pid_type {
2172    PIDTYPE_PID = 0,
2173    PIDTYPE_PGID = 1,
2174    PIDTYPE_SID = 2,
2175    PIDTYPE_MAX = 3
2176} ;
2177#line 50
2178struct pid_namespace;
2179#line 50
2180struct pid_namespace;
2181#line 50
2182struct pid_namespace;
2183#line 50 "include/linux/pid.h"
2184struct upid {
2185   int nr ;
2186   struct pid_namespace *ns ;
2187   struct hlist_node pid_chain ;
2188};
2189#line 57 "include/linux/pid.h"
2190struct pid {
2191   atomic_t count ;
2192   unsigned int level ;
2193   struct hlist_head tasks[3] ;
2194   struct rcu_head rcu ;
2195   struct upid numbers[1] ;
2196};
2197#line 69 "include/linux/pid.h"
2198struct pid_link {
2199   struct hlist_node node ;
2200   struct pid *pid ;
2201};
2202#line 100
2203struct pid_namespace;
2204#line 97 "include/linux/proportions.h"
2205struct prop_local_single {
2206   unsigned long events ;
2207   unsigned long period ;
2208   int shift ;
2209   spinlock_t lock ;
2210};
2211#line 10 "include/linux/seccomp.h"
2212struct __anonstruct_seccomp_t_216 {
2213   int mode ;
2214};
2215#line 10 "include/linux/seccomp.h"
2216typedef struct __anonstruct_seccomp_t_216 seccomp_t;
2217#line 82 "include/linux/plist.h"
2218struct plist_head {
2219   struct list_head node_list ;
2220   raw_spinlock_t *rawlock ;
2221   spinlock_t *spinlock ;
2222};
2223#line 90 "include/linux/plist.h"
2224struct plist_node {
2225   int prio ;
2226   struct list_head prio_list ;
2227   struct list_head node_list ;
2228};
2229#line 40 "include/linux/rtmutex.h"
2230struct rt_mutex_waiter;
2231#line 40
2232struct rt_mutex_waiter;
2233#line 40
2234struct rt_mutex_waiter;
2235#line 40
2236struct rt_mutex_waiter;
2237#line 42 "include/linux/resource.h"
2238struct rlimit {
2239   unsigned long rlim_cur ;
2240   unsigned long rlim_max ;
2241};
2242#line 81
2243struct task_struct;
2244#line 8 "include/linux/timerqueue.h"
2245struct timerqueue_node {
2246   struct rb_node node ;
2247   ktime_t expires ;
2248};
2249#line 13 "include/linux/timerqueue.h"
2250struct timerqueue_head {
2251   struct rb_root head ;
2252   struct timerqueue_node *next ;
2253};
2254#line 27 "include/linux/hrtimer.h"
2255struct hrtimer_clock_base;
2256#line 27
2257struct hrtimer_clock_base;
2258#line 27
2259struct hrtimer_clock_base;
2260#line 27
2261struct hrtimer_clock_base;
2262#line 28
2263struct hrtimer_cpu_base;
2264#line 28
2265struct hrtimer_cpu_base;
2266#line 28
2267struct hrtimer_cpu_base;
2268#line 28
2269struct hrtimer_cpu_base;
2270#line 44
2271enum hrtimer_restart {
2272    HRTIMER_NORESTART = 0,
2273    HRTIMER_RESTART = 1
2274} ;
2275#line 108 "include/linux/hrtimer.h"
2276struct hrtimer {
2277   struct timerqueue_node node ;
2278   ktime_t _softexpires ;
2279   enum hrtimer_restart (*function)(struct hrtimer * ) ;
2280   struct hrtimer_clock_base *base ;
2281   unsigned long state ;
2282   int start_pid ;
2283   void *start_site ;
2284   char start_comm[16] ;
2285};
2286#line 145 "include/linux/hrtimer.h"
2287struct hrtimer_clock_base {
2288   struct hrtimer_cpu_base *cpu_base ;
2289   int index ;
2290   clockid_t clockid ;
2291   struct timerqueue_head active ;
2292   ktime_t resolution ;
2293   ktime_t (*get_time)(void) ;
2294   ktime_t softirq_time ;
2295   ktime_t offset ;
2296};
2297#line 178 "include/linux/hrtimer.h"
2298struct hrtimer_cpu_base {
2299   raw_spinlock_t lock ;
2300   unsigned long active_bases ;
2301   ktime_t expires_next ;
2302   int hres_active ;
2303   int hang_detected ;
2304   unsigned long nr_events ;
2305   unsigned long nr_retries ;
2306   unsigned long nr_hangs ;
2307   ktime_t max_hang_time ;
2308   struct hrtimer_clock_base clock_base[3] ;
2309};
2310#line 11 "include/linux/task_io_accounting.h"
2311struct task_io_accounting {
2312   u64 rchar ;
2313   u64 wchar ;
2314   u64 syscr ;
2315   u64 syscw ;
2316   u64 read_bytes ;
2317   u64 write_bytes ;
2318   u64 cancelled_write_bytes ;
2319};
2320#line 18 "include/linux/latencytop.h"
2321struct latency_record {
2322   unsigned long backtrace[12] ;
2323   unsigned int count ;
2324   unsigned long time ;
2325   unsigned long max ;
2326};
2327#line 26
2328struct task_struct;
2329#line 29 "include/linux/key.h"
2330typedef int32_t key_serial_t;
2331#line 32 "include/linux/key.h"
2332typedef uint32_t key_perm_t;
2333#line 34
2334struct key;
2335#line 34
2336struct key;
2337#line 34
2338struct key;
2339#line 34
2340struct key;
2341#line 74
2342struct seq_file;
2343#line 75
2344struct user_struct;
2345#line 76
2346struct signal_struct;
2347#line 76
2348struct signal_struct;
2349#line 76
2350struct signal_struct;
2351#line 76
2352struct signal_struct;
2353#line 77
2354struct cred;
2355#line 79
2356struct key_type;
2357#line 79
2358struct key_type;
2359#line 79
2360struct key_type;
2361#line 79
2362struct key_type;
2363#line 81
2364struct keyring_list;
2365#line 81
2366struct keyring_list;
2367#line 81
2368struct keyring_list;
2369#line 81
2370struct keyring_list;
2371#line 124
2372struct key_user;
2373#line 124
2374struct key_user;
2375#line 124
2376struct key_user;
2377#line 124 "include/linux/key.h"
2378union __anonunion____missing_field_name_217 {
2379   time_t expiry ;
2380   time_t revoked_at ;
2381};
2382#line 124 "include/linux/key.h"
2383union __anonunion_type_data_218 {
2384   struct list_head link ;
2385   unsigned long x[2] ;
2386   void *p[2] ;
2387   int reject_error ;
2388};
2389#line 124 "include/linux/key.h"
2390union __anonunion_payload_219 {
2391   unsigned long value ;
2392   void *rcudata ;
2393   void *data ;
2394   struct keyring_list *subscriptions ;
2395};
2396#line 124 "include/linux/key.h"
2397struct key {
2398   atomic_t usage ;
2399   key_serial_t serial ;
2400   struct rb_node serial_node ;
2401   struct key_type *type ;
2402   struct rw_semaphore sem ;
2403   struct key_user *user ;
2404   void *security ;
2405   union __anonunion____missing_field_name_217 __annonCompField37 ;
2406   uid_t uid ;
2407   gid_t gid ;
2408   key_perm_t perm ;
2409   unsigned short quotalen ;
2410   unsigned short datalen ;
2411   unsigned long flags ;
2412   char *description ;
2413   union __anonunion_type_data_218 type_data ;
2414   union __anonunion_payload_219 payload ;
2415};
2416#line 18 "include/linux/selinux.h"
2417struct audit_context;
2418#line 18
2419struct audit_context;
2420#line 18
2421struct audit_context;
2422#line 18
2423struct audit_context;
2424#line 21 "include/linux/cred.h"
2425struct user_struct;
2426#line 22
2427struct cred;
2428#line 23
2429struct inode;
2430#line 23
2431struct inode;
2432#line 23
2433struct inode;
2434#line 23
2435struct inode;
2436#line 31 "include/linux/cred.h"
2437struct group_info {
2438   atomic_t usage ;
2439   int ngroups ;
2440   int nblocks ;
2441   gid_t small_block[32] ;
2442   gid_t *blocks[0] ;
2443};
2444#line 83 "include/linux/cred.h"
2445struct thread_group_cred {
2446   atomic_t usage ;
2447   pid_t tgid ;
2448   spinlock_t lock ;
2449   struct key *session_keyring ;
2450   struct key *process_keyring ;
2451   struct rcu_head rcu ;
2452};
2453#line 116 "include/linux/cred.h"
2454struct cred {
2455   atomic_t usage ;
2456   atomic_t subscribers ;
2457   void *put_addr ;
2458   unsigned int magic ;
2459   uid_t uid ;
2460   gid_t gid ;
2461   uid_t suid ;
2462   gid_t sgid ;
2463   uid_t euid ;
2464   gid_t egid ;
2465   uid_t fsuid ;
2466   gid_t fsgid ;
2467   unsigned int securebits ;
2468   kernel_cap_t cap_inheritable ;
2469   kernel_cap_t cap_permitted ;
2470   kernel_cap_t cap_effective ;
2471   kernel_cap_t cap_bset ;
2472   unsigned char jit_keyring ;
2473   struct key *thread_keyring ;
2474   struct key *request_key_auth ;
2475   struct thread_group_cred *tgcred ;
2476   void *security ;
2477   struct user_struct *user ;
2478   struct user_namespace *user_ns ;
2479   struct group_info *group_info ;
2480   struct rcu_head rcu ;
2481};
2482#line 97 "include/linux/sched.h"
2483struct futex_pi_state;
2484#line 97
2485struct futex_pi_state;
2486#line 97
2487struct futex_pi_state;
2488#line 97
2489struct futex_pi_state;
2490#line 98
2491struct robust_list_head;
2492#line 98
2493struct robust_list_head;
2494#line 98
2495struct robust_list_head;
2496#line 98
2497struct robust_list_head;
2498#line 99
2499struct bio_list;
2500#line 99
2501struct bio_list;
2502#line 99
2503struct bio_list;
2504#line 99
2505struct bio_list;
2506#line 100
2507struct fs_struct;
2508#line 100
2509struct fs_struct;
2510#line 100
2511struct fs_struct;
2512#line 100
2513struct fs_struct;
2514#line 101
2515struct perf_event_context;
2516#line 101
2517struct perf_event_context;
2518#line 101
2519struct perf_event_context;
2520#line 101
2521struct perf_event_context;
2522#line 102
2523struct blk_plug;
2524#line 102
2525struct blk_plug;
2526#line 102
2527struct blk_plug;
2528#line 102
2529struct blk_plug;
2530#line 150
2531struct seq_file;
2532#line 151
2533struct cfs_rq;
2534#line 151
2535struct cfs_rq;
2536#line 151
2537struct cfs_rq;
2538#line 151
2539struct cfs_rq;
2540#line 259
2541struct task_struct;
2542#line 364
2543struct nsproxy;
2544#line 365
2545struct user_namespace;
2546#line 58 "include/linux/aio_abi.h"
2547struct io_event {
2548   __u64 data ;
2549   __u64 obj ;
2550   __s64 res ;
2551   __s64 res2 ;
2552};
2553#line 16 "include/linux/uio.h"
2554struct iovec {
2555   void *iov_base ;
2556   __kernel_size_t iov_len ;
2557};
2558#line 15 "include/linux/aio.h"
2559struct kioctx;
2560#line 15
2561struct kioctx;
2562#line 15
2563struct kioctx;
2564#line 15
2565struct kioctx;
2566#line 87 "include/linux/aio.h"
2567union __anonunion_ki_obj_221 {
2568   void *user ;
2569   struct task_struct *tsk ;
2570};
2571#line 87
2572struct eventfd_ctx;
2573#line 87
2574struct eventfd_ctx;
2575#line 87
2576struct eventfd_ctx;
2577#line 87 "include/linux/aio.h"
2578struct kiocb {
2579   struct list_head ki_run_list ;
2580   unsigned long ki_flags ;
2581   int ki_users ;
2582   unsigned int ki_key ;
2583   struct file *ki_filp ;
2584   struct kioctx *ki_ctx ;
2585   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
2586   ssize_t (*ki_retry)(struct kiocb * ) ;
2587   void (*ki_dtor)(struct kiocb * ) ;
2588   union __anonunion_ki_obj_221 ki_obj ;
2589   __u64 ki_user_data ;
2590   loff_t ki_pos ;
2591   void *private ;
2592   unsigned short ki_opcode ;
2593   size_t ki_nbytes ;
2594   char *ki_buf ;
2595   size_t ki_left ;
2596   struct iovec ki_inline_vec ;
2597   struct iovec *ki_iovec ;
2598   unsigned long ki_nr_segs ;
2599   unsigned long ki_cur_seg ;
2600   struct list_head ki_list ;
2601   struct eventfd_ctx *ki_eventfd ;
2602};
2603#line 165 "include/linux/aio.h"
2604struct aio_ring_info {
2605   unsigned long mmap_base ;
2606   unsigned long mmap_size ;
2607   struct page **ring_pages ;
2608   spinlock_t ring_lock ;
2609   long nr_pages ;
2610   unsigned int nr ;
2611   unsigned int tail ;
2612   struct page *internal_pages[8] ;
2613};
2614#line 178 "include/linux/aio.h"
2615struct kioctx {
2616   atomic_t users ;
2617   int dead ;
2618   struct mm_struct *mm ;
2619   unsigned long user_id ;
2620   struct hlist_node list ;
2621   wait_queue_head_t wait ;
2622   spinlock_t ctx_lock ;
2623   int reqs_active ;
2624   struct list_head active_reqs ;
2625   struct list_head run_list ;
2626   unsigned int max_reqs ;
2627   struct aio_ring_info ring_info ;
2628   struct delayed_work wq ;
2629   struct rcu_head rcu_head ;
2630};
2631#line 213
2632struct mm_struct;
2633#line 441 "include/linux/sched.h"
2634struct sighand_struct {
2635   atomic_t count ;
2636   struct k_sigaction action[64] ;
2637   spinlock_t siglock ;
2638   wait_queue_head_t signalfd_wqh ;
2639};
2640#line 448 "include/linux/sched.h"
2641struct pacct_struct {
2642   int ac_flag ;
2643   long ac_exitcode ;
2644   unsigned long ac_mem ;
2645   cputime_t ac_utime ;
2646   cputime_t ac_stime ;
2647   unsigned long ac_minflt ;
2648   unsigned long ac_majflt ;
2649};
2650#line 456 "include/linux/sched.h"
2651struct cpu_itimer {
2652   cputime_t expires ;
2653   cputime_t incr ;
2654   u32 error ;
2655   u32 incr_error ;
2656};
2657#line 474 "include/linux/sched.h"
2658struct task_cputime {
2659   cputime_t utime ;
2660   cputime_t stime ;
2661   unsigned long long sum_exec_runtime ;
2662};
2663#line 510 "include/linux/sched.h"
2664struct thread_group_cputimer {
2665   struct task_cputime cputime ;
2666   int running ;
2667   spinlock_t lock ;
2668};
2669#line 517
2670struct autogroup;
2671#line 517
2672struct autogroup;
2673#line 517
2674struct autogroup;
2675#line 517
2676struct autogroup;
2677#line 526
2678struct tty_struct;
2679#line 526
2680struct tty_struct;
2681#line 526
2682struct tty_struct;
2683#line 526
2684struct taskstats;
2685#line 526
2686struct taskstats;
2687#line 526
2688struct taskstats;
2689#line 526
2690struct tty_audit_buf;
2691#line 526
2692struct tty_audit_buf;
2693#line 526
2694struct tty_audit_buf;
2695#line 526 "include/linux/sched.h"
2696struct signal_struct {
2697   atomic_t sigcnt ;
2698   atomic_t live ;
2699   int nr_threads ;
2700   wait_queue_head_t wait_chldexit ;
2701   struct task_struct *curr_target ;
2702   struct sigpending shared_pending ;
2703   int group_exit_code ;
2704   int notify_count ;
2705   struct task_struct *group_exit_task ;
2706   int group_stop_count ;
2707   unsigned int flags ;
2708   struct list_head posix_timers ;
2709   struct hrtimer real_timer ;
2710   struct pid *leader_pid ;
2711   ktime_t it_real_incr ;
2712   struct cpu_itimer it[2] ;
2713   struct thread_group_cputimer cputimer ;
2714   struct task_cputime cputime_expires ;
2715   struct list_head cpu_timers[3] ;
2716   struct pid *tty_old_pgrp ;
2717   int leader ;
2718   struct tty_struct *tty ;
2719   struct autogroup *autogroup ;
2720   cputime_t utime ;
2721   cputime_t stime ;
2722   cputime_t cutime ;
2723   cputime_t cstime ;
2724   cputime_t gtime ;
2725   cputime_t cgtime ;
2726   cputime_t prev_utime ;
2727   cputime_t prev_stime ;
2728   unsigned long nvcsw ;
2729   unsigned long nivcsw ;
2730   unsigned long cnvcsw ;
2731   unsigned long cnivcsw ;
2732   unsigned long min_flt ;
2733   unsigned long maj_flt ;
2734   unsigned long cmin_flt ;
2735   unsigned long cmaj_flt ;
2736   unsigned long inblock ;
2737   unsigned long oublock ;
2738   unsigned long cinblock ;
2739   unsigned long coublock ;
2740   unsigned long maxrss ;
2741   unsigned long cmaxrss ;
2742   struct task_io_accounting ioac ;
2743   unsigned long long sum_sched_runtime ;
2744   struct rlimit rlim[16] ;
2745   struct pacct_struct pacct ;
2746   struct taskstats *stats ;
2747   unsigned int audit_tty ;
2748   struct tty_audit_buf *tty_audit_buf ;
2749   struct rw_semaphore threadgroup_fork_lock ;
2750   int oom_adj ;
2751   int oom_score_adj ;
2752   int oom_score_adj_min ;
2753   struct mutex cred_guard_mutex ;
2754};
2755#line 687 "include/linux/sched.h"
2756struct user_struct {
2757   atomic_t __count ;
2758   atomic_t processes ;
2759   atomic_t files ;
2760   atomic_t sigpending ;
2761   atomic_t inotify_watches ;
2762   atomic_t inotify_devs ;
2763   atomic_t fanotify_listeners ;
2764   atomic_long_t epoll_watches ;
2765   unsigned long mq_bytes ;
2766   unsigned long locked_shm ;
2767   struct key *uid_keyring ;
2768   struct key *session_keyring ;
2769   struct hlist_node uidhash_node ;
2770   uid_t uid ;
2771   struct user_namespace *user_ns ;
2772   atomic_long_t locked_vm ;
2773};
2774#line 731
2775struct backing_dev_info;
2776#line 731
2777struct backing_dev_info;
2778#line 731
2779struct backing_dev_info;
2780#line 731
2781struct backing_dev_info;
2782#line 732
2783struct reclaim_state;
2784#line 732
2785struct reclaim_state;
2786#line 732
2787struct reclaim_state;
2788#line 732
2789struct reclaim_state;
2790#line 735 "include/linux/sched.h"
2791struct sched_info {
2792   unsigned long pcount ;
2793   unsigned long long run_delay ;
2794   unsigned long long last_arrival ;
2795   unsigned long long last_queued ;
2796};
2797#line 747 "include/linux/sched.h"
2798struct task_delay_info {
2799   spinlock_t lock ;
2800   unsigned int flags ;
2801   struct timespec blkio_start ;
2802   struct timespec blkio_end ;
2803   u64 blkio_delay ;
2804   u64 swapin_delay ;
2805   u32 blkio_count ;
2806   u32 swapin_count ;
2807   struct timespec freepages_start ;
2808   struct timespec freepages_end ;
2809   u64 freepages_delay ;
2810   u32 freepages_count ;
2811};
2812#line 1050
2813struct io_context;
2814#line 1050
2815struct io_context;
2816#line 1050
2817struct io_context;
2818#line 1050
2819struct io_context;
2820#line 1059
2821struct audit_context;
2822#line 1060
2823struct mempolicy;
2824#line 1061
2825struct pipe_inode_info;
2826#line 1061
2827struct pipe_inode_info;
2828#line 1061
2829struct pipe_inode_info;
2830#line 1061
2831struct pipe_inode_info;
2832#line 1064
2833struct rq;
2834#line 1064
2835struct rq;
2836#line 1064
2837struct rq;
2838#line 1064
2839struct rq;
2840#line 1084 "include/linux/sched.h"
2841struct sched_class {
2842   struct sched_class  const  *next ;
2843   void (*enqueue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2844   void (*dequeue_task)(struct rq *rq , struct task_struct *p , int flags ) ;
2845   void (*yield_task)(struct rq *rq ) ;
2846   bool (*yield_to_task)(struct rq *rq , struct task_struct *p , bool preempt ) ;
2847   void (*check_preempt_curr)(struct rq *rq , struct task_struct *p , int flags ) ;
2848   struct task_struct *(*pick_next_task)(struct rq *rq ) ;
2849   void (*put_prev_task)(struct rq *rq , struct task_struct *p ) ;
2850   int (*select_task_rq)(struct task_struct *p , int sd_flag , int flags ) ;
2851   void (*pre_schedule)(struct rq *this_rq , struct task_struct *task ) ;
2852   void (*post_schedule)(struct rq *this_rq ) ;
2853   void (*task_waking)(struct task_struct *task ) ;
2854   void (*task_woken)(struct rq *this_rq , struct task_struct *task ) ;
2855   void (*set_cpus_allowed)(struct task_struct *p , struct cpumask  const  *newmask ) ;
2856   void (*rq_online)(struct rq *rq ) ;
2857   void (*rq_offline)(struct rq *rq ) ;
2858   void (*set_curr_task)(struct rq *rq ) ;
2859   void (*task_tick)(struct rq *rq , struct task_struct *p , int queued ) ;
2860   void (*task_fork)(struct task_struct *p ) ;
2861   void (*switched_from)(struct rq *this_rq , struct task_struct *task ) ;
2862   void (*switched_to)(struct rq *this_rq , struct task_struct *task ) ;
2863   void (*prio_changed)(struct rq *this_rq , struct task_struct *task , int oldprio ) ;
2864   unsigned int (*get_rr_interval)(struct rq *rq , struct task_struct *task ) ;
2865   void (*task_move_group)(struct task_struct *p , int on_rq ) ;
2866};
2867#line 1129 "include/linux/sched.h"
2868struct load_weight {
2869   unsigned long weight ;
2870   unsigned long inv_weight ;
2871};
2872#line 1134 "include/linux/sched.h"
2873struct sched_statistics {
2874   u64 wait_start ;
2875   u64 wait_max ;
2876   u64 wait_count ;
2877   u64 wait_sum ;
2878   u64 iowait_count ;
2879   u64 iowait_sum ;
2880   u64 sleep_start ;
2881   u64 sleep_max ;
2882   s64 sum_sleep_runtime ;
2883   u64 block_start ;
2884   u64 block_max ;
2885   u64 exec_max ;
2886   u64 slice_max ;
2887   u64 nr_migrations_cold ;
2888   u64 nr_failed_migrations_affine ;
2889   u64 nr_failed_migrations_running ;
2890   u64 nr_failed_migrations_hot ;
2891   u64 nr_forced_migrations ;
2892   u64 nr_wakeups ;
2893   u64 nr_wakeups_sync ;
2894   u64 nr_wakeups_migrate ;
2895   u64 nr_wakeups_local ;
2896   u64 nr_wakeups_remote ;
2897   u64 nr_wakeups_affine ;
2898   u64 nr_wakeups_affine_attempts ;
2899   u64 nr_wakeups_passive ;
2900   u64 nr_wakeups_idle ;
2901};
2902#line 1169 "include/linux/sched.h"
2903struct sched_entity {
2904   struct load_weight load ;
2905   struct rb_node run_node ;
2906   struct list_head group_node ;
2907   unsigned int on_rq ;
2908   u64 exec_start ;
2909   u64 sum_exec_runtime ;
2910   u64 vruntime ;
2911   u64 prev_sum_exec_runtime ;
2912   u64 nr_migrations ;
2913   struct sched_statistics statistics ;
2914   struct sched_entity *parent ;
2915   struct cfs_rq *cfs_rq ;
2916   struct cfs_rq *my_q ;
2917};
2918#line 1195
2919struct rt_rq;
2920#line 1195
2921struct rt_rq;
2922#line 1195
2923struct rt_rq;
2924#line 1195 "include/linux/sched.h"
2925struct sched_rt_entity {
2926   struct list_head run_list ;
2927   unsigned long timeout ;
2928   unsigned int time_slice ;
2929   int nr_cpus_allowed ;
2930   struct sched_rt_entity *back ;
2931   struct sched_rt_entity *parent ;
2932   struct rt_rq *rt_rq ;
2933   struct rt_rq *my_q ;
2934};
2935#line 1220
2936struct files_struct;
2937#line 1220
2938struct files_struct;
2939#line 1220
2940struct files_struct;
2941#line 1220
2942struct irqaction;
2943#line 1220
2944struct irqaction;
2945#line 1220
2946struct irqaction;
2947#line 1220
2948struct css_set;
2949#line 1220
2950struct css_set;
2951#line 1220
2952struct css_set;
2953#line 1220
2954struct compat_robust_list_head;
2955#line 1220
2956struct compat_robust_list_head;
2957#line 1220
2958struct compat_robust_list_head;
2959#line 1220
2960struct ftrace_ret_stack;
2961#line 1220
2962struct ftrace_ret_stack;
2963#line 1220
2964struct ftrace_ret_stack;
2965#line 1220
2966struct mem_cgroup;
2967#line 1220
2968struct mem_cgroup;
2969#line 1220
2970struct mem_cgroup;
2971#line 1220 "include/linux/sched.h"
2972struct memcg_batch_info {
2973   int do_batch ;
2974   struct mem_cgroup *memcg ;
2975   unsigned long nr_pages ;
2976   unsigned long memsw_nr_pages ;
2977};
2978#line 1220 "include/linux/sched.h"
2979struct task_struct {
2980   long volatile   state ;
2981   void *stack ;
2982   atomic_t usage ;
2983   unsigned int flags ;
2984   unsigned int ptrace ;
2985   struct task_struct *wake_entry ;
2986   int on_cpu ;
2987   int on_rq ;
2988   int prio ;
2989   int static_prio ;
2990   int normal_prio ;
2991   unsigned int rt_priority ;
2992   struct sched_class  const  *sched_class ;
2993   struct sched_entity se ;
2994   struct sched_rt_entity rt ;
2995   struct hlist_head preempt_notifiers ;
2996   unsigned char fpu_counter ;
2997   unsigned int btrace_seq ;
2998   unsigned int policy ;
2999   cpumask_t cpus_allowed ;
3000   struct sched_info sched_info ;
3001   struct list_head tasks ;
3002   struct plist_node pushable_tasks ;
3003   struct mm_struct *mm ;
3004   struct mm_struct *active_mm ;
3005   unsigned int brk_randomized : 1 ;
3006   int exit_state ;
3007   int exit_code ;
3008   int exit_signal ;
3009   int pdeath_signal ;
3010   unsigned int group_stop ;
3011   unsigned int personality ;
3012   unsigned int did_exec : 1 ;
3013   unsigned int in_execve : 1 ;
3014   unsigned int in_iowait : 1 ;
3015   unsigned int sched_reset_on_fork : 1 ;
3016   unsigned int sched_contributes_to_load : 1 ;
3017   pid_t pid ;
3018   pid_t tgid ;
3019   unsigned long stack_canary ;
3020   struct task_struct *real_parent ;
3021   struct task_struct *parent ;
3022   struct list_head children ;
3023   struct list_head sibling ;
3024   struct task_struct *group_leader ;
3025   struct list_head ptraced ;
3026   struct list_head ptrace_entry ;
3027   struct pid_link pids[3] ;
3028   struct list_head thread_group ;
3029   struct completion *vfork_done ;
3030   int *set_child_tid ;
3031   int *clear_child_tid ;
3032   cputime_t utime ;
3033   cputime_t stime ;
3034   cputime_t utimescaled ;
3035   cputime_t stimescaled ;
3036   cputime_t gtime ;
3037   cputime_t prev_utime ;
3038   cputime_t prev_stime ;
3039   unsigned long nvcsw ;
3040   unsigned long nivcsw ;
3041   struct timespec start_time ;
3042   struct timespec real_start_time ;
3043   unsigned long min_flt ;
3044   unsigned long maj_flt ;
3045   struct task_cputime cputime_expires ;
3046   struct list_head cpu_timers[3] ;
3047   struct cred  const  *real_cred ;
3048   struct cred  const  *cred ;
3049   struct cred *replacement_session_keyring ;
3050   char comm[16] ;
3051   int link_count ;
3052   int total_link_count ;
3053   struct sysv_sem sysvsem ;
3054   unsigned long last_switch_count ;
3055   struct thread_struct thread ;
3056   struct fs_struct *fs ;
3057   struct files_struct *files ;
3058   struct nsproxy *nsproxy ;
3059   struct signal_struct *signal ;
3060   struct sighand_struct *sighand ;
3061   sigset_t blocked ;
3062   sigset_t real_blocked ;
3063   sigset_t saved_sigmask ;
3064   struct sigpending pending ;
3065   unsigned long sas_ss_sp ;
3066   size_t sas_ss_size ;
3067   int (*notifier)(void *priv ) ;
3068   void *notifier_data ;
3069   sigset_t *notifier_mask ;
3070   struct audit_context *audit_context ;
3071   uid_t loginuid ;
3072   unsigned int sessionid ;
3073   seccomp_t seccomp ;
3074   u32 parent_exec_id ;
3075   u32 self_exec_id ;
3076   spinlock_t alloc_lock ;
3077   struct irqaction *irqaction ;
3078   raw_spinlock_t pi_lock ;
3079   struct plist_head pi_waiters ;
3080   struct rt_mutex_waiter *pi_blocked_on ;
3081   struct mutex_waiter *blocked_on ;
3082   unsigned int irq_events ;
3083   unsigned long hardirq_enable_ip ;
3084   unsigned long hardirq_disable_ip ;
3085   unsigned int hardirq_enable_event ;
3086   unsigned int hardirq_disable_event ;
3087   int hardirqs_enabled ;
3088   int hardirq_context ;
3089   unsigned long softirq_disable_ip ;
3090   unsigned long softirq_enable_ip ;
3091   unsigned int softirq_disable_event ;
3092   unsigned int softirq_enable_event ;
3093   int softirqs_enabled ;
3094   int softirq_context ;
3095   u64 curr_chain_key ;
3096   int lockdep_depth ;
3097   unsigned int lockdep_recursion ;
3098   struct held_lock held_locks[48UL] ;
3099   gfp_t lockdep_reclaim_gfp ;
3100   void *journal_info ;
3101   struct bio_list *bio_list ;
3102   struct blk_plug *plug ;
3103   struct reclaim_state *reclaim_state ;
3104   struct backing_dev_info *backing_dev_info ;
3105   struct io_context *io_context ;
3106   unsigned long ptrace_message ;
3107   siginfo_t *last_siginfo ;
3108   struct task_io_accounting ioac ;
3109   u64 acct_rss_mem1 ;
3110   u64 acct_vm_mem1 ;
3111   cputime_t acct_timexpd ;
3112   nodemask_t mems_allowed ;
3113   int mems_allowed_change_disable ;
3114   int cpuset_mem_spread_rotor ;
3115   int cpuset_slab_spread_rotor ;
3116   struct css_set *cgroups ;
3117   struct list_head cg_list ;
3118   struct robust_list_head *robust_list ;
3119   struct compat_robust_list_head *compat_robust_list ;
3120   struct list_head pi_state_list ;
3121   struct futex_pi_state *pi_state_cache ;
3122   struct perf_event_context *perf_event_ctxp[2] ;
3123   struct mutex perf_event_mutex ;
3124   struct list_head perf_event_list ;
3125   struct mempolicy *mempolicy ;
3126   short il_next ;
3127   short pref_node_fork ;
3128   atomic_t fs_excl ;
3129   struct rcu_head rcu ;
3130   struct pipe_inode_info *splice_pipe ;
3131   struct task_delay_info *delays ;
3132   int make_it_fail ;
3133   struct prop_local_single dirties ;
3134   int latency_record_count ;
3135   struct latency_record latency_record[32] ;
3136   unsigned long timer_slack_ns ;
3137   unsigned long default_timer_slack_ns ;
3138   struct list_head *scm_work_list ;
3139   int curr_ret_stack ;
3140   struct ftrace_ret_stack *ret_stack ;
3141   unsigned long long ftrace_timestamp ;
3142   atomic_t trace_overrun ;
3143   atomic_t tracing_graph_pause ;
3144   unsigned long trace ;
3145   unsigned long trace_recursion ;
3146   struct memcg_batch_info memcg_batch ;
3147   atomic_t ptrace_bp_refcnt ;
3148};
3149#line 1634
3150struct pid_namespace;
3151#line 38 "include/linux/slub_def.h"
3152struct kmem_cache_cpu {
3153   void **freelist ;
3154   unsigned long tid ;
3155   struct page *page ;
3156   int node ;
3157   unsigned int stat[19] ;
3158};
3159#line 48 "include/linux/slub_def.h"
3160struct kmem_cache_node {
3161   spinlock_t list_lock ;
3162   unsigned long nr_partial ;
3163   struct list_head partial ;
3164   atomic_long_t nr_slabs ;
3165   atomic_long_t total_objects ;
3166   struct list_head full ;
3167};
3168#line 64 "include/linux/slub_def.h"
3169struct kmem_cache_order_objects {
3170   unsigned long x ;
3171};
3172#line 71 "include/linux/slub_def.h"
3173struct kmem_cache {
3174   struct kmem_cache_cpu *cpu_slab ;
3175   unsigned long flags ;
3176   unsigned long min_partial ;
3177   int size ;
3178   int objsize ;
3179   int offset ;
3180   struct kmem_cache_order_objects oo ;
3181   struct kmem_cache_order_objects max ;
3182   struct kmem_cache_order_objects min ;
3183   gfp_t allocflags ;
3184   int refcount ;
3185   void (*ctor)(void * ) ;
3186   int inuse ;
3187   int align ;
3188   int reserved ;
3189   char const   *name ;
3190   struct list_head list ;
3191   struct kobject kobj ;
3192   int remote_node_defrag_ratio ;
3193   struct kmem_cache_node *node[1 << 10] ;
3194};
3195#line 22 "include/linux/c2port.h"
3196struct c2port_ops;
3197#line 22
3198struct c2port_ops;
3199#line 22
3200struct c2port_ops;
3201#line 22
3202struct c2port_ops;
3203#line 23 "include/linux/c2port.h"
3204struct c2port_device {
3205   unsigned int access : 1 ;
3206   unsigned int flash_access : 1 ;
3207   int id ;
3208   char name[32] ;
3209   struct c2port_ops *ops ;
3210   struct mutex mutex ;
3211   struct device *dev ;
3212   void *private_data ;
3213};
3214#line 40 "include/linux/c2port.h"
3215struct c2port_ops {
3216   unsigned short block_size ;
3217   unsigned short blocks_num ;
3218   void (*access)(struct c2port_device *dev , int status ) ;
3219   void (*c2d_dir)(struct c2port_device *dev , int dir ) ;
3220   int (*c2d_get)(struct c2port_device *dev ) ;
3221   void (*c2d_set)(struct c2port_device *dev , int status ) ;
3222   void (*c2ck_set)(struct c2port_device *dev , int status ) ;
3223};
3224#line 219 "include/linux/mod_devicetable.h"
3225struct of_device_id {
3226   char name[32] ;
3227   char type[32] ;
3228   char compatible[128] ;
3229   void *data ;
3230};
3231#line 244 "include/linux/usb/ch9.h"
3232struct usb_device_descriptor {
3233   __u8 bLength ;
3234   __u8 bDescriptorType ;
3235   __le16 bcdUSB ;
3236   __u8 bDeviceClass ;
3237   __u8 bDeviceSubClass ;
3238   __u8 bDeviceProtocol ;
3239   __u8 bMaxPacketSize0 ;
3240   __le16 idVendor ;
3241   __le16 idProduct ;
3242   __le16 bcdDevice ;
3243   __u8 iManufacturer ;
3244   __u8 iProduct ;
3245   __u8 iSerialNumber ;
3246   __u8 bNumConfigurations ;
3247} __attribute__((__packed__)) ;
3248#line 300 "include/linux/usb/ch9.h"
3249struct usb_config_descriptor {
3250   __u8 bLength ;
3251   __u8 bDescriptorType ;
3252   __le16 wTotalLength ;
3253   __u8 bNumInterfaces ;
3254   __u8 bConfigurationValue ;
3255   __u8 iConfiguration ;
3256   __u8 bmAttributes ;
3257   __u8 bMaxPower ;
3258} __attribute__((__packed__)) ;
3259#line 337 "include/linux/usb/ch9.h"
3260struct usb_interface_descriptor {
3261   __u8 bLength ;
3262   __u8 bDescriptorType ;
3263   __u8 bInterfaceNumber ;
3264   __u8 bAlternateSetting ;
3265   __u8 bNumEndpoints ;
3266   __u8 bInterfaceClass ;
3267   __u8 bInterfaceSubClass ;
3268   __u8 bInterfaceProtocol ;
3269   __u8 iInterface ;
3270} __attribute__((__packed__)) ;
3271#line 355 "include/linux/usb/ch9.h"
3272struct usb_endpoint_descriptor {
3273   __u8 bLength ;
3274   __u8 bDescriptorType ;
3275   __u8 bEndpointAddress ;
3276   __u8 bmAttributes ;
3277   __le16 wMaxPacketSize ;
3278   __u8 bInterval ;
3279   __u8 bRefresh ;
3280   __u8 bSynchAddress ;
3281} __attribute__((__packed__)) ;
3282#line 576 "include/linux/usb/ch9.h"
3283struct usb_ss_ep_comp_descriptor {
3284   __u8 bLength ;
3285   __u8 bDescriptorType ;
3286   __u8 bMaxBurst ;
3287   __u8 bmAttributes ;
3288   __le16 wBytesPerInterval ;
3289} __attribute__((__packed__)) ;
3290#line 637 "include/linux/usb/ch9.h"
3291struct usb_interface_assoc_descriptor {
3292   __u8 bLength ;
3293   __u8 bDescriptorType ;
3294   __u8 bFirstInterface ;
3295   __u8 bInterfaceCount ;
3296   __u8 bFunctionClass ;
3297   __u8 bFunctionSubClass ;
3298   __u8 bFunctionProtocol ;
3299   __u8 iFunction ;
3300} __attribute__((__packed__)) ;
3301#line 846
3302enum usb_device_speed {
3303    USB_SPEED_UNKNOWN = 0,
3304    USB_SPEED_LOW = 1,
3305    USB_SPEED_FULL = 2,
3306    USB_SPEED_HIGH = 3,
3307    USB_SPEED_WIRELESS = 4,
3308    USB_SPEED_SUPER = 5
3309} ;
3310#line 854
3311enum usb_device_state {
3312    USB_STATE_NOTATTACHED = 0,
3313    USB_STATE_ATTACHED = 1,
3314    USB_STATE_POWERED = 2,
3315    USB_STATE_RECONNECTING = 3,
3316    USB_STATE_UNAUTHENTICATED = 4,
3317    USB_STATE_DEFAULT = 5,
3318    USB_STATE_ADDRESS = 6,
3319    USB_STATE_CONFIGURED = 7,
3320    USB_STATE_SUSPENDED = 8
3321} ;
3322#line 10 "include/linux/irqreturn.h"
3323enum irqreturn {
3324    IRQ_NONE = 0,
3325    IRQ_HANDLED = 1,
3326    IRQ_WAKE_THREAD = 2
3327} ;
3328#line 16 "include/linux/irqreturn.h"
3329typedef enum irqreturn irqreturn_t;
3330#line 31 "include/linux/irq.h"
3331struct seq_file;
3332#line 12 "include/linux/irqdesc.h"
3333struct proc_dir_entry;
3334#line 12
3335struct proc_dir_entry;
3336#line 12
3337struct proc_dir_entry;
3338#line 12
3339struct proc_dir_entry;
3340#line 16 "include/linux/profile.h"
3341struct proc_dir_entry;
3342#line 17
3343struct pt_regs;
3344#line 65
3345struct task_struct;
3346#line 66
3347struct mm_struct;
3348#line 88
3349struct pt_regs;
3350#line 94 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess.h"
3351struct exception_table_entry {
3352   unsigned long insn ;
3353   unsigned long fixup ;
3354};
3355#line 363 "include/linux/irq.h"
3356struct irqaction;
3357#line 132 "include/linux/hardirq.h"
3358struct task_struct;
3359#line 9 "include/trace/events/irq.h"
3360struct irqaction;
3361#line 106 "include/linux/interrupt.h"
3362struct irqaction {
3363   irqreturn_t (*handler)(int  , void * ) ;
3364   unsigned long flags ;
3365   void *dev_id ;
3366   struct irqaction *next ;
3367   int irq ;
3368   irqreturn_t (*thread_fn)(int  , void * ) ;
3369   struct task_struct *thread ;
3370   unsigned long thread_flags ;
3371   unsigned long thread_mask ;
3372   char const   *name ;
3373   struct proc_dir_entry *dir ;
3374} __attribute__((__aligned__((1) <<  (12) ))) ;
3375#line 172
3376struct device;
3377#line 682
3378struct seq_file;
3379#line 15 "include/linux/blk_types.h"
3380struct page;
3381#line 16
3382struct block_device;
3383#line 16
3384struct block_device;
3385#line 16
3386struct block_device;
3387#line 16
3388struct block_device;
3389#line 33 "include/linux/list_bl.h"
3390struct hlist_bl_node;
3391#line 33
3392struct hlist_bl_node;
3393#line 33
3394struct hlist_bl_node;
3395#line 33 "include/linux/list_bl.h"
3396struct hlist_bl_head {
3397   struct hlist_bl_node *first ;
3398};
3399#line 37 "include/linux/list_bl.h"
3400struct hlist_bl_node {
3401   struct hlist_bl_node *next ;
3402   struct hlist_bl_node **pprev ;
3403};
3404#line 13 "include/linux/dcache.h"
3405struct nameidata;
3406#line 13
3407struct nameidata;
3408#line 13
3409struct nameidata;
3410#line 13
3411struct nameidata;
3412#line 14
3413struct path;
3414#line 14
3415struct path;
3416#line 14
3417struct path;
3418#line 14
3419struct path;
3420#line 15
3421struct vfsmount;
3422#line 15
3423struct vfsmount;
3424#line 15
3425struct vfsmount;
3426#line 15
3427struct vfsmount;
3428#line 35 "include/linux/dcache.h"
3429struct qstr {
3430   unsigned int hash ;
3431   unsigned int len ;
3432   unsigned char const   *name ;
3433};
3434#line 116
3435struct dentry_operations;
3436#line 116
3437struct dentry_operations;
3438#line 116
3439struct dentry_operations;
3440#line 116
3441struct super_block;
3442#line 116
3443struct super_block;
3444#line 116
3445struct super_block;
3446#line 116 "include/linux/dcache.h"
3447union __anonunion_d_u_232 {
3448   struct list_head d_child ;
3449   struct rcu_head d_rcu ;
3450};
3451#line 116 "include/linux/dcache.h"
3452struct dentry {
3453   unsigned int d_flags ;
3454   seqcount_t d_seq ;
3455   struct hlist_bl_node d_hash ;
3456   struct dentry *d_parent ;
3457   struct qstr d_name ;
3458   struct inode *d_inode ;
3459   unsigned char d_iname[32] ;
3460   unsigned int d_count ;
3461   spinlock_t d_lock ;
3462   struct dentry_operations  const  *d_op ;
3463   struct super_block *d_sb ;
3464   unsigned long d_time ;
3465   void *d_fsdata ;
3466   struct list_head d_lru ;
3467   union __anonunion_d_u_232 d_u ;
3468   struct list_head d_subdirs ;
3469   struct list_head d_alias ;
3470};
3471#line 159 "include/linux/dcache.h"
3472struct dentry_operations {
3473   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
3474   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
3475   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
3476                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
3477   int (*d_delete)(struct dentry  const  * ) ;
3478   void (*d_release)(struct dentry * ) ;
3479   void (*d_iput)(struct dentry * , struct inode * ) ;
3480   char *(*d_dname)(struct dentry * , char * , int  ) ;
3481   struct vfsmount *(*d_automount)(struct path * ) ;
3482   int (*d_manage)(struct dentry * , bool  ) ;
3483} __attribute__((__aligned__((1) <<  (6) ))) ;
3484#line 4 "include/linux/path.h"
3485struct dentry;
3486#line 5
3487struct vfsmount;
3488#line 7 "include/linux/path.h"
3489struct path {
3490   struct vfsmount *mnt ;
3491   struct dentry *dentry ;
3492};
3493#line 57 "include/linux/radix-tree.h"
3494struct radix_tree_node;
3495#line 57
3496struct radix_tree_node;
3497#line 57
3498struct radix_tree_node;
3499#line 57 "include/linux/radix-tree.h"
3500struct radix_tree_root {
3501   unsigned int height ;
3502   gfp_t gfp_mask ;
3503   struct radix_tree_node *rnode ;
3504};
3505#line 16 "include/linux/fiemap.h"
3506struct fiemap_extent {
3507   __u64 fe_logical ;
3508   __u64 fe_physical ;
3509   __u64 fe_length ;
3510   __u64 fe_reserved64[2] ;
3511   __u32 fe_flags ;
3512   __u32 fe_reserved[3] ;
3513};
3514#line 399 "include/linux/fs.h"
3515struct export_operations;
3516#line 399
3517struct export_operations;
3518#line 399
3519struct export_operations;
3520#line 399
3521struct export_operations;
3522#line 401
3523struct iovec;
3524#line 402
3525struct nameidata;
3526#line 403
3527struct kiocb;
3528#line 404
3529struct kobject;
3530#line 405
3531struct pipe_inode_info;
3532#line 406
3533struct poll_table_struct;
3534#line 406
3535struct poll_table_struct;
3536#line 406
3537struct poll_table_struct;
3538#line 406
3539struct poll_table_struct;
3540#line 407
3541struct kstatfs;
3542#line 407
3543struct kstatfs;
3544#line 407
3545struct kstatfs;
3546#line 407
3547struct kstatfs;
3548#line 408
3549struct vm_area_struct;
3550#line 409
3551struct vfsmount;
3552#line 410
3553struct cred;
3554#line 460 "include/linux/fs.h"
3555struct iattr {
3556   unsigned int ia_valid ;
3557   umode_t ia_mode ;
3558   uid_t ia_uid ;
3559   gid_t ia_gid ;
3560   loff_t ia_size ;
3561   struct timespec ia_atime ;
3562   struct timespec ia_mtime ;
3563   struct timespec ia_ctime ;
3564   struct file *ia_file ;
3565};
3566#line 129 "include/linux/quota.h"
3567struct if_dqinfo {
3568   __u64 dqi_bgrace ;
3569   __u64 dqi_igrace ;
3570   __u32 dqi_flags ;
3571   __u32 dqi_valid ;
3572};
3573#line 50 "include/linux/dqblk_xfs.h"
3574struct fs_disk_quota {
3575   __s8 d_version ;
3576   __s8 d_flags ;
3577   __u16 d_fieldmask ;
3578   __u32 d_id ;
3579   __u64 d_blk_hardlimit ;
3580   __u64 d_blk_softlimit ;
3581   __u64 d_ino_hardlimit ;
3582   __u64 d_ino_softlimit ;
3583   __u64 d_bcount ;
3584   __u64 d_icount ;
3585   __s32 d_itimer ;
3586   __s32 d_btimer ;
3587   __u16 d_iwarns ;
3588   __u16 d_bwarns ;
3589   __s32 d_padding2 ;
3590   __u64 d_rtb_hardlimit ;
3591   __u64 d_rtb_softlimit ;
3592   __u64 d_rtbcount ;
3593   __s32 d_rtbtimer ;
3594   __u16 d_rtbwarns ;
3595   __s16 d_padding3 ;
3596   char d_padding4[8] ;
3597};
3598#line 146 "include/linux/dqblk_xfs.h"
3599struct fs_qfilestat {
3600   __u64 qfs_ino ;
3601   __u64 qfs_nblks ;
3602   __u32 qfs_nextents ;
3603};
3604#line 146 "include/linux/dqblk_xfs.h"
3605typedef struct fs_qfilestat fs_qfilestat_t;
3606#line 152 "include/linux/dqblk_xfs.h"
3607struct fs_quota_stat {
3608   __s8 qs_version ;
3609   __u16 qs_flags ;
3610   __s8 qs_pad ;
3611   fs_qfilestat_t qs_uquota ;
3612   fs_qfilestat_t qs_gquota ;
3613   __u32 qs_incoredqs ;
3614   __s32 qs_btimelimit ;
3615   __s32 qs_itimelimit ;
3616   __s32 qs_rtbtimelimit ;
3617   __u16 qs_bwarnlimit ;
3618   __u16 qs_iwarnlimit ;
3619};
3620#line 17 "include/linux/dqblk_qtree.h"
3621struct dquot;
3622#line 17
3623struct dquot;
3624#line 17
3625struct dquot;
3626#line 17
3627struct dquot;
3628#line 185 "include/linux/quota.h"
3629typedef __kernel_uid32_t qid_t;
3630#line 186 "include/linux/quota.h"
3631typedef long long qsize_t;
3632#line 200 "include/linux/quota.h"
3633struct mem_dqblk {
3634   qsize_t dqb_bhardlimit ;
3635   qsize_t dqb_bsoftlimit ;
3636   qsize_t dqb_curspace ;
3637   qsize_t dqb_rsvspace ;
3638   qsize_t dqb_ihardlimit ;
3639   qsize_t dqb_isoftlimit ;
3640   qsize_t dqb_curinodes ;
3641   time_t dqb_btime ;
3642   time_t dqb_itime ;
3643};
3644#line 215
3645struct quota_format_type;
3646#line 215
3647struct quota_format_type;
3648#line 215
3649struct quota_format_type;
3650#line 215
3651struct quota_format_type;
3652#line 217 "include/linux/quota.h"
3653struct mem_dqinfo {
3654   struct quota_format_type *dqi_format ;
3655   int dqi_fmt_id ;
3656   struct list_head dqi_dirty_list ;
3657   unsigned long dqi_flags ;
3658   unsigned int dqi_bgrace ;
3659   unsigned int dqi_igrace ;
3660   qsize_t dqi_maxblimit ;
3661   qsize_t dqi_maxilimit ;
3662   void *dqi_priv ;
3663};
3664#line 230
3665struct super_block;
3666#line 284 "include/linux/quota.h"
3667struct dquot {
3668   struct hlist_node dq_hash ;
3669   struct list_head dq_inuse ;
3670   struct list_head dq_free ;
3671   struct list_head dq_dirty ;
3672   struct mutex dq_lock ;
3673   atomic_t dq_count ;
3674   wait_queue_head_t dq_wait_unused ;
3675   struct super_block *dq_sb ;
3676   unsigned int dq_id ;
3677   loff_t dq_off ;
3678   unsigned long dq_flags ;
3679   short dq_type ;
3680   struct mem_dqblk dq_dqb ;
3681};
3682#line 301 "include/linux/quota.h"
3683struct quota_format_ops {
3684   int (*check_quota_file)(struct super_block *sb , int type ) ;
3685   int (*read_file_info)(struct super_block *sb , int type ) ;
3686   int (*write_file_info)(struct super_block *sb , int type ) ;
3687   int (*free_file_info)(struct super_block *sb , int type ) ;
3688   int (*read_dqblk)(struct dquot *dquot ) ;
3689   int (*commit_dqblk)(struct dquot *dquot ) ;
3690   int (*release_dqblk)(struct dquot *dquot ) ;
3691};
3692#line 312 "include/linux/quota.h"
3693struct dquot_operations {
3694   int (*write_dquot)(struct dquot * ) ;
3695   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
3696   void (*destroy_dquot)(struct dquot * ) ;
3697   int (*acquire_dquot)(struct dquot * ) ;
3698   int (*release_dquot)(struct dquot * ) ;
3699   int (*mark_dirty)(struct dquot * ) ;
3700   int (*write_info)(struct super_block * , int  ) ;
3701   qsize_t *(*get_reserved_space)(struct inode * ) ;
3702};
3703#line 325
3704struct path;
3705#line 328 "include/linux/quota.h"
3706struct quotactl_ops {
3707   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
3708   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
3709   int (*quota_off)(struct super_block * , int  ) ;
3710   int (*quota_sync)(struct super_block * , int  , int  ) ;
3711   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
3712   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
3713   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
3714   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
3715   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
3716   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
3717};
3718#line 341 "include/linux/quota.h"
3719struct quota_format_type {
3720   int qf_fmt_id ;
3721   struct quota_format_ops  const  *qf_ops ;
3722   struct module *qf_owner ;
3723   struct quota_format_type *qf_next ;
3724};
3725#line 395 "include/linux/quota.h"
3726struct quota_info {
3727   unsigned int flags ;
3728   struct mutex dqio_mutex ;
3729   struct mutex dqonoff_mutex ;
3730   struct rw_semaphore dqptr_sem ;
3731   struct inode *files[2] ;
3732   struct mem_dqinfo info[2] ;
3733   struct quota_format_ops  const  *ops[2] ;
3734};
3735#line 523 "include/linux/fs.h"
3736struct page;
3737#line 524
3738struct address_space;
3739#line 525
3740struct writeback_control;
3741#line 525
3742struct writeback_control;
3743#line 525
3744struct writeback_control;
3745#line 525
3746struct writeback_control;
3747#line 568 "include/linux/fs.h"
3748union __anonunion_arg_239 {
3749   char *buf ;
3750   void *data ;
3751};
3752#line 568 "include/linux/fs.h"
3753struct __anonstruct_read_descriptor_t_238 {
3754   size_t written ;
3755   size_t count ;
3756   union __anonunion_arg_239 arg ;
3757   int error ;
3758};
3759#line 568 "include/linux/fs.h"
3760typedef struct __anonstruct_read_descriptor_t_238 read_descriptor_t;
3761#line 581 "include/linux/fs.h"
3762struct address_space_operations {
3763   int (*writepage)(struct page *page , struct writeback_control *wbc ) ;
3764   int (*readpage)(struct file * , struct page * ) ;
3765   int (*writepages)(struct address_space * , struct writeback_control * ) ;
3766   int (*set_page_dirty)(struct page *page ) ;
3767   int (*readpages)(struct file *filp , struct address_space *mapping , struct list_head *pages ,
3768                    unsigned int nr_pages ) ;
3769   int (*write_begin)(struct file * , struct address_space *mapping , loff_t pos ,
3770                      unsigned int len , unsigned int flags , struct page **pagep ,
3771                      void **fsdata ) ;
3772   int (*write_end)(struct file * , struct address_space *mapping , loff_t pos , unsigned int len ,
3773                    unsigned int copied , struct page *page , void *fsdata ) ;
3774   sector_t (*bmap)(struct address_space * , sector_t  ) ;
3775   void (*invalidatepage)(struct page * , unsigned long  ) ;
3776   int (*releasepage)(struct page * , gfp_t  ) ;
3777   void (*freepage)(struct page * ) ;
3778   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  *iov , loff_t offset ,
3779                        unsigned long nr_segs ) ;
3780   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
3781   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
3782   int (*launder_page)(struct page * ) ;
3783   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
3784   int (*error_remove_page)(struct address_space * , struct page * ) ;
3785};
3786#line 633
3787struct backing_dev_info;
3788#line 634 "include/linux/fs.h"
3789struct address_space {
3790   struct inode *host ;
3791   struct radix_tree_root page_tree ;
3792   spinlock_t tree_lock ;
3793   unsigned int i_mmap_writable ;
3794   struct prio_tree_root i_mmap ;
3795   struct list_head i_mmap_nonlinear ;
3796   struct mutex i_mmap_mutex ;
3797   unsigned long nrpages ;
3798   unsigned long writeback_index ;
3799   struct address_space_operations  const  *a_ops ;
3800   unsigned long flags ;
3801   struct backing_dev_info *backing_dev_info ;
3802   spinlock_t private_lock ;
3803   struct list_head private_list ;
3804   struct address_space *assoc_mapping ;
3805} __attribute__((__aligned__(sizeof(long )))) ;
3806#line 658
3807struct hd_struct;
3808#line 658
3809struct hd_struct;
3810#line 658
3811struct hd_struct;
3812#line 658
3813struct gendisk;
3814#line 658
3815struct gendisk;
3816#line 658
3817struct gendisk;
3818#line 658 "include/linux/fs.h"
3819struct block_device {
3820   dev_t bd_dev ;
3821   int bd_openers ;
3822   struct inode *bd_inode ;
3823   struct super_block *bd_super ;
3824   struct mutex bd_mutex ;
3825   struct list_head bd_inodes ;
3826   void *bd_claiming ;
3827   void *bd_holder ;
3828   int bd_holders ;
3829   bool bd_write_holder ;
3830   struct list_head bd_holder_disks ;
3831   struct block_device *bd_contains ;
3832   unsigned int bd_block_size ;
3833   struct hd_struct *bd_part ;
3834   unsigned int bd_part_count ;
3835   int bd_invalidated ;
3836   struct gendisk *bd_disk ;
3837   struct list_head bd_list ;
3838   unsigned long bd_private ;
3839   int bd_fsfreeze_count ;
3840   struct mutex bd_fsfreeze_mutex ;
3841};
3842#line 735
3843struct posix_acl;
3844#line 735
3845struct posix_acl;
3846#line 735
3847struct posix_acl;
3848#line 735
3849struct posix_acl;
3850#line 738
3851struct inode_operations;
3852#line 738
3853struct inode_operations;
3854#line 738
3855struct inode_operations;
3856#line 738 "include/linux/fs.h"
3857union __anonunion____missing_field_name_240 {
3858   struct list_head i_dentry ;
3859   struct rcu_head i_rcu ;
3860};
3861#line 738
3862struct file_operations;
3863#line 738
3864struct file_operations;
3865#line 738
3866struct file_operations;
3867#line 738
3868struct file_lock;
3869#line 738
3870struct file_lock;
3871#line 738
3872struct file_lock;
3873#line 738
3874struct cdev;
3875#line 738
3876struct cdev;
3877#line 738
3878struct cdev;
3879#line 738 "include/linux/fs.h"
3880union __anonunion____missing_field_name_241 {
3881   struct pipe_inode_info *i_pipe ;
3882   struct block_device *i_bdev ;
3883   struct cdev *i_cdev ;
3884};
3885#line 738 "include/linux/fs.h"
3886struct inode {
3887   umode_t i_mode ;
3888   uid_t i_uid ;
3889   gid_t i_gid ;
3890   struct inode_operations  const  *i_op ;
3891   struct super_block *i_sb ;
3892   spinlock_t i_lock ;
3893   unsigned int i_flags ;
3894   unsigned long i_state ;
3895   void *i_security ;
3896   struct mutex i_mutex ;
3897   unsigned long dirtied_when ;
3898   struct hlist_node i_hash ;
3899   struct list_head i_wb_list ;
3900   struct list_head i_lru ;
3901   struct list_head i_sb_list ;
3902   union __anonunion____missing_field_name_240 __annonCompField39 ;
3903   unsigned long i_ino ;
3904   atomic_t i_count ;
3905   unsigned int i_nlink ;
3906   dev_t i_rdev ;
3907   unsigned int i_blkbits ;
3908   u64 i_version ;
3909   loff_t i_size ;
3910   struct timespec i_atime ;
3911   struct timespec i_mtime ;
3912   struct timespec i_ctime ;
3913   blkcnt_t i_blocks ;
3914   unsigned short i_bytes ;
3915   struct rw_semaphore i_alloc_sem ;
3916   struct file_operations  const  *i_fop ;
3917   struct file_lock *i_flock ;
3918   struct address_space *i_mapping ;
3919   struct address_space i_data ;
3920   struct dquot *i_dquot[2] ;
3921   struct list_head i_devices ;
3922   union __anonunion____missing_field_name_241 __annonCompField40 ;
3923   __u32 i_generation ;
3924   __u32 i_fsnotify_mask ;
3925   struct hlist_head i_fsnotify_marks ;
3926   atomic_t i_readcount ;
3927   atomic_t i_writecount ;
3928   struct posix_acl *i_acl ;
3929   struct posix_acl *i_default_acl ;
3930   void *i_private ;
3931};
3932#line 903 "include/linux/fs.h"
3933struct fown_struct {
3934   rwlock_t lock ;
3935   struct pid *pid ;
3936   enum pid_type pid_type ;
3937   uid_t uid ;
3938   uid_t euid ;
3939   int signum ;
3940};
3941#line 914 "include/linux/fs.h"
3942struct file_ra_state {
3943   unsigned long start ;
3944   unsigned int size ;
3945   unsigned int async_size ;
3946   unsigned int ra_pages ;
3947   unsigned int mmap_miss ;
3948   loff_t prev_pos ;
3949};
3950#line 937 "include/linux/fs.h"
3951union __anonunion_f_u_242 {
3952   struct list_head fu_list ;
3953   struct rcu_head fu_rcuhead ;
3954};
3955#line 937 "include/linux/fs.h"
3956struct file {
3957   union __anonunion_f_u_242 f_u ;
3958   struct path f_path ;
3959   struct file_operations  const  *f_op ;
3960   spinlock_t f_lock ;
3961   int f_sb_list_cpu ;
3962   atomic_long_t f_count ;
3963   unsigned int f_flags ;
3964   fmode_t f_mode ;
3965   loff_t f_pos ;
3966   struct fown_struct f_owner ;
3967   struct cred  const  *f_cred ;
3968   struct file_ra_state f_ra ;
3969   u64 f_version ;
3970   void *f_security ;
3971   void *private_data ;
3972   struct list_head f_ep_links ;
3973   struct address_space *f_mapping ;
3974   unsigned long f_mnt_write_state ;
3975};
3976#line 1064 "include/linux/fs.h"
3977typedef struct files_struct *fl_owner_t;
3978#line 1066 "include/linux/fs.h"
3979struct file_lock_operations {
3980   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
3981   void (*fl_release_private)(struct file_lock * ) ;
3982};
3983#line 1071 "include/linux/fs.h"
3984struct lock_manager_operations {
3985   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
3986   void (*fl_notify)(struct file_lock * ) ;
3987   int (*fl_grant)(struct file_lock * , struct file_lock * , int  ) ;
3988   void (*fl_release_private)(struct file_lock * ) ;
3989   void (*fl_break)(struct file_lock * ) ;
3990   int (*fl_change)(struct file_lock ** , int  ) ;
3991};
3992#line 8 "include/linux/nfs_fs_i.h"
3993struct nlm_lockowner;
3994#line 8
3995struct nlm_lockowner;
3996#line 8
3997struct nlm_lockowner;
3998#line 8
3999struct nlm_lockowner;
4000#line 13 "include/linux/nfs_fs_i.h"
4001struct nfs_lock_info {
4002   u32 state ;
4003   struct nlm_lockowner *owner ;
4004   struct list_head list ;
4005};
4006#line 19
4007struct nfs4_lock_state;
4008#line 19
4009struct nfs4_lock_state;
4010#line 19
4011struct nfs4_lock_state;
4012#line 19
4013struct nfs4_lock_state;
4014#line 20 "include/linux/nfs_fs_i.h"
4015struct nfs4_lock_info {
4016   struct nfs4_lock_state *owner ;
4017};
4018#line 1091 "include/linux/fs.h"
4019struct fasync_struct;
4020#line 1091
4021struct fasync_struct;
4022#line 1091
4023struct fasync_struct;
4024#line 1091 "include/linux/fs.h"
4025struct __anonstruct_afs_244 {
4026   struct list_head link ;
4027   int state ;
4028};
4029#line 1091 "include/linux/fs.h"
4030union __anonunion_fl_u_243 {
4031   struct nfs_lock_info nfs_fl ;
4032   struct nfs4_lock_info nfs4_fl ;
4033   struct __anonstruct_afs_244 afs ;
4034};
4035#line 1091 "include/linux/fs.h"
4036struct file_lock {
4037   struct file_lock *fl_next ;
4038   struct list_head fl_link ;
4039   struct list_head fl_block ;
4040   fl_owner_t fl_owner ;
4041   unsigned char fl_flags ;
4042   unsigned char fl_type ;
4043   unsigned int fl_pid ;
4044   struct pid *fl_nspid ;
4045   wait_queue_head_t fl_wait ;
4046   struct file *fl_file ;
4047   loff_t fl_start ;
4048   loff_t fl_end ;
4049   struct fasync_struct *fl_fasync ;
4050   unsigned long fl_break_time ;
4051   struct file_lock_operations  const  *fl_ops ;
4052   struct lock_manager_operations  const  *fl_lmops ;
4053   union __anonunion_fl_u_243 fl_u ;
4054};
4055#line 1324 "include/linux/fs.h"
4056struct fasync_struct {
4057   spinlock_t fa_lock ;
4058   int magic ;
4059   int fa_fd ;
4060   struct fasync_struct *fa_next ;
4061   struct file *fa_file ;
4062   struct rcu_head fa_rcu ;
4063};
4064#line 1364
4065struct file_system_type;
4066#line 1364
4067struct file_system_type;
4068#line 1364
4069struct file_system_type;
4070#line 1364
4071struct super_operations;
4072#line 1364
4073struct super_operations;
4074#line 1364
4075struct super_operations;
4076#line 1364
4077struct xattr_handler;
4078#line 1364
4079struct xattr_handler;
4080#line 1364
4081struct xattr_handler;
4082#line 1364
4083struct mtd_info;
4084#line 1364
4085struct mtd_info;
4086#line 1364
4087struct mtd_info;
4088#line 1364 "include/linux/fs.h"
4089struct super_block {
4090   struct list_head s_list ;
4091   dev_t s_dev ;
4092   unsigned char s_dirt ;
4093   unsigned char s_blocksize_bits ;
4094   unsigned long s_blocksize ;
4095   loff_t s_maxbytes ;
4096   struct file_system_type *s_type ;
4097   struct super_operations  const  *s_op ;
4098   struct dquot_operations  const  *dq_op ;
4099   struct quotactl_ops  const  *s_qcop ;
4100   struct export_operations  const  *s_export_op ;
4101   unsigned long s_flags ;
4102   unsigned long s_magic ;
4103   struct dentry *s_root ;
4104   struct rw_semaphore s_umount ;
4105   struct mutex s_lock ;
4106   int s_count ;
4107   atomic_t s_active ;
4108   void *s_security ;
4109   struct xattr_handler  const  **s_xattr ;
4110   struct list_head s_inodes ;
4111   struct hlist_bl_head s_anon ;
4112   struct list_head *s_files ;
4113   struct list_head s_dentry_lru ;
4114   int s_nr_dentry_unused ;
4115   struct block_device *s_bdev ;
4116   struct backing_dev_info *s_bdi ;
4117   struct mtd_info *s_mtd ;
4118   struct list_head s_instances ;
4119   struct quota_info s_dquot ;
4120   int s_frozen ;
4121   wait_queue_head_t s_wait_unfrozen ;
4122   char s_id[32] ;
4123   u8 s_uuid[16] ;
4124   void *s_fs_info ;
4125   fmode_t s_mode ;
4126   u32 s_time_gran ;
4127   struct mutex s_vfs_rename_mutex ;
4128   char *s_subtype ;
4129   char *s_options ;
4130   struct dentry_operations  const  *s_d_op ;
4131   int cleancache_poolid ;
4132};
4133#line 1499 "include/linux/fs.h"
4134struct fiemap_extent_info {
4135   unsigned int fi_flags ;
4136   unsigned int fi_extents_mapped ;
4137   unsigned int fi_extents_max ;
4138   struct fiemap_extent *fi_extents_start ;
4139};
4140#line 1546 "include/linux/fs.h"
4141struct file_operations {
4142   struct module *owner ;
4143   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
4144   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
4145   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
4146   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
4147                       loff_t  ) ;
4148   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
4149                        loff_t  ) ;
4150   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
4151                                                   loff_t  , u64  , unsigned int  ) ) ;
4152   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
4153   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
4154   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
4155   int (*mmap)(struct file * , struct vm_area_struct * ) ;
4156   int (*open)(struct inode * , struct file * ) ;
4157   int (*flush)(struct file * , fl_owner_t id ) ;
4158   int (*release)(struct inode * , struct file * ) ;
4159   int (*fsync)(struct file * , int datasync ) ;
4160   int (*aio_fsync)(struct kiocb * , int datasync ) ;
4161   int (*fasync)(int  , struct file * , int  ) ;
4162   int (*lock)(struct file * , int  , struct file_lock * ) ;
4163   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
4164                       int  ) ;
4165   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
4166                                      unsigned long  , unsigned long  ) ;
4167   int (*check_flags)(int  ) ;
4168   int (*flock)(struct file * , int  , struct file_lock * ) ;
4169   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
4170                           unsigned int  ) ;
4171   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
4172                          unsigned int  ) ;
4173   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
4174   long (*fallocate)(struct file *file , int mode , loff_t offset , loff_t len ) ;
4175};
4176#line 1578 "include/linux/fs.h"
4177struct inode_operations {
4178   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
4179   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
4180   int (*permission)(struct inode * , int  , unsigned int  ) ;
4181   int (*check_acl)(struct inode * , int  , unsigned int  ) ;
4182   int (*readlink)(struct dentry * , char * , int  ) ;
4183   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
4184   int (*create)(struct inode * , struct dentry * , int  , struct nameidata * ) ;
4185   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
4186   int (*unlink)(struct inode * , struct dentry * ) ;
4187   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
4188   int (*mkdir)(struct inode * , struct dentry * , int  ) ;
4189   int (*rmdir)(struct inode * , struct dentry * ) ;
4190   int (*mknod)(struct inode * , struct dentry * , int  , dev_t  ) ;
4191   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
4192   void (*truncate)(struct inode * ) ;
4193   int (*setattr)(struct dentry * , struct iattr * ) ;
4194   int (*getattr)(struct vfsmount *mnt , struct dentry * , struct kstat * ) ;
4195   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
4196   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
4197   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
4198   int (*removexattr)(struct dentry * , char const   * ) ;
4199   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
4200   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64 start , u64 len ) ;
4201} __attribute__((__aligned__((1) <<  (6) ))) ;
4202#line 1608
4203struct seq_file;
4204#line 1622 "include/linux/fs.h"
4205struct super_operations {
4206   struct inode *(*alloc_inode)(struct super_block *sb ) ;
4207   void (*destroy_inode)(struct inode * ) ;
4208   void (*dirty_inode)(struct inode * , int flags ) ;
4209   int (*write_inode)(struct inode * , struct writeback_control *wbc ) ;
4210   int (*drop_inode)(struct inode * ) ;
4211   void (*evict_inode)(struct inode * ) ;
4212   void (*put_super)(struct super_block * ) ;
4213   void (*write_super)(struct super_block * ) ;
4214   int (*sync_fs)(struct super_block *sb , int wait ) ;
4215   int (*freeze_fs)(struct super_block * ) ;
4216   int (*unfreeze_fs)(struct super_block * ) ;
4217   int (*statfs)(struct dentry * , struct kstatfs * ) ;
4218   int (*remount_fs)(struct super_block * , int * , char * ) ;
4219   void (*umount_begin)(struct super_block * ) ;
4220   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
4221   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
4222   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
4223   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
4224   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
4225   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
4226                          loff_t  ) ;
4227   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
4228};
4229#line 1802 "include/linux/fs.h"
4230struct file_system_type {
4231   char const   *name ;
4232   int fs_flags ;
4233   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
4234   void (*kill_sb)(struct super_block * ) ;
4235   struct module *owner ;
4236   struct file_system_type *next ;
4237   struct list_head fs_supers ;
4238   struct lock_class_key s_lock_key ;
4239   struct lock_class_key s_umount_key ;
4240   struct lock_class_key s_vfs_rename_key ;
4241   struct lock_class_key i_lock_key ;
4242   struct lock_class_key i_mutex_key ;
4243   struct lock_class_key i_mutex_dir_key ;
4244   struct lock_class_key i_alloc_sem_key ;
4245};
4246#line 25 "include/linux/usb.h"
4247struct usb_device;
4248#line 25
4249struct usb_device;
4250#line 25
4251struct usb_device;
4252#line 25
4253struct usb_device;
4254#line 27
4255struct wusb_dev;
4256#line 27
4257struct wusb_dev;
4258#line 27
4259struct wusb_dev;
4260#line 27
4261struct wusb_dev;
4262#line 47
4263struct ep_device;
4264#line 47
4265struct ep_device;
4266#line 47
4267struct ep_device;
4268#line 47
4269struct ep_device;
4270#line 64 "include/linux/usb.h"
4271struct usb_host_endpoint {
4272   struct usb_endpoint_descriptor desc ;
4273   struct usb_ss_ep_comp_descriptor ss_ep_comp ;
4274   struct list_head urb_list ;
4275   void *hcpriv ;
4276   struct ep_device *ep_dev ;
4277   unsigned char *extra ;
4278   int extralen ;
4279   int enabled ;
4280};
4281#line 77 "include/linux/usb.h"
4282struct usb_host_interface {
4283   struct usb_interface_descriptor desc ;
4284   struct usb_host_endpoint *endpoint ;
4285   char *string ;
4286   unsigned char *extra ;
4287   int extralen ;
4288};
4289#line 90
4290enum usb_interface_condition {
4291    USB_INTERFACE_UNBOUND = 0,
4292    USB_INTERFACE_BINDING = 1,
4293    USB_INTERFACE_BOUND = 2,
4294    USB_INTERFACE_UNBINDING = 3
4295} ;
4296#line 159 "include/linux/usb.h"
4297struct usb_interface {
4298   struct usb_host_interface *altsetting ;
4299   struct usb_host_interface *cur_altsetting ;
4300   unsigned int num_altsetting ;
4301   struct usb_interface_assoc_descriptor *intf_assoc ;
4302   int minor ;
4303   enum usb_interface_condition condition ;
4304   unsigned int sysfs_files_created : 1 ;
4305   unsigned int ep_devs_created : 1 ;
4306   unsigned int unregistering : 1 ;
4307   unsigned int needs_remote_wakeup : 1 ;
4308   unsigned int needs_altsetting0 : 1 ;
4309   unsigned int needs_binding : 1 ;
4310   unsigned int reset_running : 1 ;
4311   unsigned int resetting_device : 1 ;
4312   struct device dev ;
4313   struct device *usb_dev ;
4314   atomic_t pm_usage_cnt ;
4315   struct work_struct reset_ws ;
4316};
4317#line 222 "include/linux/usb.h"
4318struct usb_interface_cache {
4319   unsigned int num_altsetting ;
4320   struct kref ref ;
4321   struct usb_host_interface altsetting[0] ;
4322};
4323#line 274 "include/linux/usb.h"
4324struct usb_host_config {
4325   struct usb_config_descriptor desc ;
4326   char *string ;
4327   struct usb_interface_assoc_descriptor *intf_assoc[16] ;
4328   struct usb_interface *interface[32] ;
4329   struct usb_interface_cache *intf_cache[32] ;
4330   unsigned char *extra ;
4331   int extralen ;
4332};
4333#line 305 "include/linux/usb.h"
4334struct usb_devmap {
4335   unsigned long devicemap[128UL / (8UL * sizeof(unsigned long ))] ;
4336};
4337#line 312
4338struct mon_bus;
4339#line 312
4340struct mon_bus;
4341#line 312
4342struct mon_bus;
4343#line 312 "include/linux/usb.h"
4344struct usb_bus {
4345   struct device *controller ;
4346   int busnum ;
4347   char const   *bus_name ;
4348   u8 uses_dma ;
4349   u8 uses_pio_for_control ;
4350   u8 otg_port ;
4351   unsigned int is_b_host : 1 ;
4352   unsigned int b_hnp_enable : 1 ;
4353   unsigned int sg_tablesize ;
4354   int devnum_next ;
4355   struct usb_devmap devmap ;
4356   struct usb_device *root_hub ;
4357   struct usb_bus *hs_companion ;
4358   struct list_head bus_list ;
4359   int bandwidth_allocated ;
4360   int bandwidth_int_reqs ;
4361   int bandwidth_isoc_reqs ;
4362   struct dentry *usbfs_dentry ;
4363   struct mon_bus *mon_bus ;
4364   int monitored ;
4365};
4366#line 367
4367struct usb_tt;
4368#line 367
4369struct usb_tt;
4370#line 367
4371struct usb_tt;
4372#line 367
4373struct usb_tt;
4374#line 426 "include/linux/usb.h"
4375struct usb_device {
4376   int devnum ;
4377   char devpath[16] ;
4378   u32 route ;
4379   enum usb_device_state state ;
4380   enum usb_device_speed speed ;
4381   struct usb_tt *tt ;
4382   int ttport ;
4383   unsigned int toggle[2] ;
4384   struct usb_device *parent ;
4385   struct usb_bus *bus ;
4386   struct usb_host_endpoint ep0 ;
4387   struct device dev ;
4388   struct usb_device_descriptor descriptor ;
4389   struct usb_host_config *config ;
4390   struct usb_host_config *actconfig ;
4391   struct usb_host_endpoint *ep_in[16] ;
4392   struct usb_host_endpoint *ep_out[16] ;
4393   char **rawdescriptors ;
4394   unsigned short bus_mA ;
4395   u8 portnum ;
4396   u8 level ;
4397   unsigned int can_submit : 1 ;
4398   unsigned int persist_enabled : 1 ;
4399   unsigned int have_langid : 1 ;
4400   unsigned int authorized : 1 ;
4401   unsigned int authenticated : 1 ;
4402   unsigned int wusb : 1 ;
4403   int string_langid ;
4404   char *product ;
4405   char *manufacturer ;
4406   char *serial ;
4407   struct list_head filelist ;
4408   struct device *usb_classdev ;
4409   struct dentry *usbfs_dentry ;
4410   int maxchild ;
4411   struct usb_device *children[31] ;
4412   u32 quirks ;
4413   atomic_t urbnum ;
4414   unsigned long active_duration ;
4415   unsigned long connect_time ;
4416   unsigned int do_remote_wakeup : 1 ;
4417   unsigned int reset_resume : 1 ;
4418   struct wusb_dev *wusb_dev ;
4419   int slot_id ;
4420};
4421#line 983 "include/linux/usb.h"
4422struct usb_iso_packet_descriptor {
4423   unsigned int offset ;
4424   unsigned int length ;
4425   unsigned int actual_length ;
4426   int status ;
4427};
4428#line 990
4429struct urb;
4430#line 990
4431struct urb;
4432#line 990
4433struct urb;
4434#line 990
4435struct urb;
4436#line 992 "include/linux/usb.h"
4437struct usb_anchor {
4438   struct list_head urb_list ;
4439   wait_queue_head_t wait ;
4440   spinlock_t lock ;
4441   unsigned int poisoned : 1 ;
4442};
4443#line 1183
4444struct scatterlist;
4445#line 1183
4446struct scatterlist;
4447#line 1183
4448struct scatterlist;
4449#line 1183 "include/linux/usb.h"
4450struct urb {
4451   struct kref kref ;
4452   void *hcpriv ;
4453   atomic_t use_count ;
4454   atomic_t reject ;
4455   int unlinked ;
4456   struct list_head urb_list ;
4457   struct list_head anchor_list ;
4458   struct usb_anchor *anchor ;
4459   struct usb_device *dev ;
4460   struct usb_host_endpoint *ep ;
4461   unsigned int pipe ;
4462   unsigned int stream_id ;
4463   int status ;
4464   unsigned int transfer_flags ;
4465   void *transfer_buffer ;
4466   dma_addr_t transfer_dma ;
4467   struct scatterlist *sg ;
4468   int num_sgs ;
4469   u32 transfer_buffer_length ;
4470   u32 actual_length ;
4471   unsigned char *setup_packet ;
4472   dma_addr_t setup_dma ;
4473   int start_frame ;
4474   int number_of_packets ;
4475   int interval ;
4476   int error_count ;
4477   void *context ;
4478   void (*complete)(struct urb * ) ;
4479   struct usb_iso_packet_descriptor iso_frame_desc[0] ;
4480};
4481#line 1388
4482struct scatterlist;
4483#line 1 "<compiler builtins>"
4484long __builtin_expect(long  , long  ) ;
4485#line 100 "include/linux/printk.h"
4486extern int printk(char const   *fmt  , ...) ;
4487#line 291 "include/linux/kernel.h"
4488extern int sprintf(char *buf , char const   *fmt  , ...) ;
4489#line 307
4490extern int sscanf(char const   * , char const   *  , ...) ;
4491#line 349 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
4492extern struct pv_irq_ops pv_irq_ops ;
4493#line 27 "include/linux/string.h"
4494extern char *strncpy(char * , char const   * , __kernel_size_t  ) ;
4495#line 861 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
4496__inline static void arch_local_irq_disable(void)  __attribute__((__no_instrument_function__)) ;
4497#line 861
4498__inline static void arch_local_irq_disable(void)  __attribute__((__no_instrument_function__)) ;
4499#line 861 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
4500__inline static void arch_local_irq_disable(void) 
4501{ unsigned long __edi ;
4502  unsigned long __esi ;
4503  unsigned long __edx ;
4504  unsigned long __ecx ;
4505  unsigned long __eax ;
4506  long tmp ;
4507  void *__cil_tmp7 ;
4508  unsigned long __cil_tmp8 ;
4509  unsigned long __cil_tmp9 ;
4510  int __cil_tmp10 ;
4511  int __cil_tmp11 ;
4512  int __cil_tmp12 ;
4513  long __cil_tmp13 ;
4514  struct paravirt_patch_template *__cil_tmp14 ;
4515  void **__cil_tmp15 ;
4516  unsigned int __cil_tmp16 ;
4517  unsigned long __cil_tmp17 ;
4518
4519  {
4520#line 863
4521  __edi = __edi;
4522#line 863
4523  __esi = __esi;
4524#line 863
4525  __edx = __edx;
4526#line 863
4527  __ecx = __ecx;
4528#line 863
4529  __eax = __eax;
4530  {
4531#line 863
4532  while (1) {
4533    while_continue: /* CIL Label */ ;
4534    {
4535#line 863
4536    __cil_tmp7 = (void *)0;
4537#line 863
4538    __cil_tmp8 = (unsigned long )__cil_tmp7;
4539#line 863
4540    __cil_tmp9 = (unsigned long )pv_irq_ops.irq_disable.func;
4541#line 863
4542    __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
4543#line 863
4544    __cil_tmp11 = ! __cil_tmp10;
4545#line 863
4546    __cil_tmp12 = ! __cil_tmp11;
4547#line 863
4548    __cil_tmp13 = (long )__cil_tmp12;
4549#line 863
4550    tmp = __builtin_expect(__cil_tmp13, 0L);
4551    }
4552#line 863
4553    if (tmp) {
4554      {
4555#line 863
4556      while (1) {
4557        while_continue___0: /* CIL Label */ ;
4558#line 863
4559        __asm__  volatile   ("1:\tud2\n"
4560                             ".pushsection __bug_table,\"a\"\n"
4561                             "2:\t.long 1b - 2b, %c0 - 2b\n"
4562                             "\t.word %c1, 0\n"
4563                             "\t.org 2b+%c2\n"
4564                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
4565                             "i" (863), "i" (12UL));
4566        {
4567#line 863
4568        while (1) {
4569          while_continue___1: /* CIL Label */ ;
4570
4571        }
4572        while_break___3: /* CIL Label */ ;
4573        }
4574
4575#line 863
4576        goto while_break___0;
4577      }
4578      while_break___2: /* CIL Label */ ;
4579      }
4580
4581      while_break___0: ;
4582    } else {
4583
4584    }
4585#line 863
4586    goto while_break;
4587  }
4588  while_break___1: /* CIL Label */ ;
4589  }
4590
4591  while_break: 
4592#line 863
4593  __cil_tmp14 = (struct paravirt_patch_template *)0;
4594#line 863
4595  __cil_tmp15 = & __cil_tmp14->pv_irq_ops.irq_disable.func;
4596#line 863
4597  __cil_tmp16 = (unsigned int )__cil_tmp15;
4598#line 863
4599  __cil_tmp17 = (unsigned long )__cil_tmp16;
4600#line 863
4601/*  __asm__  volatile   (""
4602                       "771:\n\t"
4603                       "call *%c[paravirt_opptr];"
4604                       "\n"
4605                       "772:\n"
4606                       ".pushsection .parainstructions,\"a\"\n"
4607                       " "
4608                       ".balign 8"
4609                       " "
4610                       "\n"
4611                       " "
4612                       ".quad"
4613                       " "
4614                       " 771b\n"
4615                       "  .byte "
4616                       "%c[paravirt_typenum]"
4617                       "\n"
4618                       "  .byte 772b-771b\n"
4619                       "  .short "
4620                       "%c[paravirt_clobber]"
4621                       "\n"
4622                       ".popsection\n"
4623                       "": "=a" (__eax): [paravirt_typenum] "i" (__cil_tmp17 / 8UL),
4624                       [paravirt_opptr] "i" (& pv_irq_ops.irq_disable.func), [paravirt_clobber] "i" (1): "memory",
4625                       "cc");*/
4626#line 864
4627  return;
4628}
4629}
4630#line 866
4631__inline static void arch_local_irq_enable(void)  __attribute__((__no_instrument_function__)) ;
4632#line 866
4633__inline static void arch_local_irq_enable(void)  __attribute__((__no_instrument_function__)) ;
4634#line 866 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"
4635__inline static void arch_local_irq_enable(void) 
4636{ unsigned long __edi ;
4637  unsigned long __esi ;
4638  unsigned long __edx ;
4639  unsigned long __ecx ;
4640  unsigned long __eax ;
4641  long tmp ;
4642  void *__cil_tmp7 ;
4643  unsigned long __cil_tmp8 ;
4644  unsigned long __cil_tmp9 ;
4645  int __cil_tmp10 ;
4646  int __cil_tmp11 ;
4647  int __cil_tmp12 ;
4648  long __cil_tmp13 ;
4649  struct paravirt_patch_template *__cil_tmp14 ;
4650  void **__cil_tmp15 ;
4651  unsigned int __cil_tmp16 ;
4652  unsigned long __cil_tmp17 ;
4653
4654  {
4655#line 868
4656  __edi = __edi;
4657#line 868
4658  __esi = __esi;
4659#line 868
4660  __edx = __edx;
4661#line 868
4662  __ecx = __ecx;
4663#line 868
4664  __eax = __eax;
4665  {
4666#line 868
4667  while (1) {
4668    while_continue: /* CIL Label */ ;
4669    {
4670#line 868
4671    __cil_tmp7 = (void *)0;
4672#line 868
4673    __cil_tmp8 = (unsigned long )__cil_tmp7;
4674#line 868
4675    __cil_tmp9 = (unsigned long )pv_irq_ops.irq_enable.func;
4676#line 868
4677    __cil_tmp10 = __cil_tmp9 == __cil_tmp8;
4678#line 868
4679    __cil_tmp11 = ! __cil_tmp10;
4680#line 868
4681    __cil_tmp12 = ! __cil_tmp11;
4682#line 868
4683    __cil_tmp13 = (long )__cil_tmp12;
4684#line 868
4685    tmp = __builtin_expect(__cil_tmp13, 0L);
4686    }
4687#line 868
4688    if (tmp) {
4689      {
4690#line 868
4691      while (1) {
4692        while_continue___0: /* CIL Label */ ;
4693#line 868
4694        __asm__  volatile   ("1:\tud2\n"
4695                             ".pushsection __bug_table,\"a\"\n"
4696                             "2:\t.long 1b - 2b, %c0 - 2b\n"
4697                             "\t.word %c1, 0\n"
4698                             "\t.org 2b+%c2\n"
4699                             ".popsection": : "i" ("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt.h"),
4700                             "i" (868), "i" (12UL));
4701        {
4702#line 868
4703        while (1) {
4704          while_continue___1: /* CIL Label */ ;
4705
4706        }
4707        while_break___3: /* CIL Label */ ;
4708        }
4709
4710#line 868
4711        goto while_break___0;
4712      }
4713      while_break___2: /* CIL Label */ ;
4714      }
4715
4716      while_break___0: ;
4717    } else {
4718
4719    }
4720#line 868
4721    goto while_break;
4722  }
4723  while_break___1: /* CIL Label */ ;
4724  }
4725
4726  while_break: 
4727#line 868
4728  __cil_tmp14 = (struct paravirt_patch_template *)0;
4729#line 868
4730  __cil_tmp15 = & __cil_tmp14->pv_irq_ops.irq_enable.func;
4731#line 868
4732  __cil_tmp16 = (unsigned int )__cil_tmp15;
4733#line 868
4734  __cil_tmp17 = (unsigned long )__cil_tmp16;
4735#line 868
4736/*  __asm__  volatile   (""
4737                       "771:\n\t"
4738                       "call *%c[paravirt_opptr];"
4739                       "\n"
4740                       "772:\n"
4741                       ".pushsection .parainstructions,\"a\"\n"
4742                       " "
4743                       ".balign 8"
4744                       " "
4745                       "\n"
4746                       " "
4747                       ".quad"
4748                       " "
4749                       " 771b\n"
4750                       "  .byte "
4751                       "%c[paravirt_typenum]"
4752                       "\n"
4753                       "  .byte 772b-771b\n"
4754                       "  .short "
4755                       "%c[paravirt_clobber]"
4756                       "\n"
4757                       ".popsection\n"
4758                       "": "=a" (__eax): [paravirt_typenum] "i" (__cil_tmp17 / 8UL),
4759                       [paravirt_opptr] "i" (& pv_irq_ops.irq_enable.func), [paravirt_clobber] "i" (1): "memory",
4760                       "cc");*/
4761#line 869
4762  return;
4763}
4764}
4765#line 20 "include/linux/irqflags.h"
4766extern void trace_hardirqs_on(void) ;
4767#line 21
4768extern void trace_hardirqs_off(void) ;
4769#line 22 "include/linux/err.h"
4770__inline static void * __attribute__((__warn_unused_result__)) ERR_PTR(long error ) 
4771{ 
4772
4773  {
4774#line 24
4775  return ((void *)error);
4776}
4777}
4778#line 27 "include/linux/err.h"
4779__inline static long __attribute__((__warn_unused_result__))  PTR_ERR(void const   *ptr ) 
4780{ 
4781
4782  {
4783#line 29
4784  return ((long )ptr);
4785}
4786}
4787#line 32 "include/linux/err.h"
4788__inline static long __attribute__((__warn_unused_result__))  IS_ERR(void const   *ptr ) 
4789{ long tmp ;
4790  unsigned long __cil_tmp3 ;
4791  int __cil_tmp4 ;
4792  int __cil_tmp5 ;
4793  int __cil_tmp6 ;
4794  long __cil_tmp7 ;
4795
4796  {
4797  {
4798#line 34
4799  __cil_tmp3 = (unsigned long )ptr;
4800#line 34
4801  __cil_tmp4 = __cil_tmp3 >= 1152921504606842881UL;
4802#line 34
4803  __cil_tmp5 = ! __cil_tmp4;
4804#line 34
4805  __cil_tmp6 = ! __cil_tmp5;
4806#line 34
4807  __cil_tmp7 = (long )__cil_tmp6;
4808#line 34
4809  tmp = __builtin_expect(__cil_tmp7, 0L);
4810  }
4811#line 34
4812  return (tmp);
4813}
4814}
4815#line 29 "include/linux/spinlock_api_smp.h"
4816extern void _raw_spin_lock_irq(raw_spinlock_t *lock )  __attribute__((__section__(".spinlock.text"))) ;
4817#line 41
4818extern void _raw_spin_unlock_irq(raw_spinlock_t *lock )  __attribute__((__section__(".spinlock.text"))) ;
4819#line 308 "include/linux/spinlock.h"
4820__inline static void spin_lock_irq(spinlock_t *lock ) 
4821{ struct raw_spinlock *__cil_tmp2 ;
4822
4823  {
4824  {
4825#line 310
4826  __cil_tmp2 = & lock->__annonCompField18.rlock;
4827#line 310
4828  _raw_spin_lock_irq(__cil_tmp2);
4829  }
4830#line 311
4831  return;
4832}
4833}
4834#line 333 "include/linux/spinlock.h"
4835__inline static void spin_unlock_irq(spinlock_t *lock ) 
4836{ struct raw_spinlock *__cil_tmp2 ;
4837
4838  {
4839  {
4840#line 335
4841  __cil_tmp2 = & lock->__annonCompField18.rlock;
4842#line 335
4843  _raw_spin_unlock_irq(__cil_tmp2);
4844  }
4845#line 336
4846  return;
4847}
4848}
4849#line 115 "include/linux/mutex.h"
4850extern void __mutex_init(struct mutex *lock , char const   *name , struct lock_class_key *key ) ;
4851#line 134
4852extern void mutex_lock_nested(struct mutex *lock , unsigned int subclass ) ;
4853#line 169
4854extern void mutex_unlock(struct mutex *lock ) ;
4855#line 830 "include/linux/rcupdate.h"
4856extern void kfree(void const   * ) ;
4857#line 79 "include/linux/module.h"
4858int init_module(void) ;
4859#line 80
4860void cleanup_module(void) ;
4861#line 99
4862extern struct module __this_module ;
4863#line 391 "include/linux/device.h"
4864extern struct class * __attribute__((__warn_unused_result__)) __class_create(struct module *owner ,
4865                                                                             char const   *name ,
4866                                                                             struct lock_class_key *key ) ;
4867#line 394
4868extern void class_destroy(struct class *cls ) ;
4869#line 439
4870extern int __attribute__((__warn_unused_result__))  device_create_bin_file(struct device *dev ,
4871                                                                           struct bin_attribute  const  *attr ) ;
4872#line 441
4873extern void device_remove_bin_file(struct device *dev , struct bin_attribute  const  *attr ) ;
4874#line 705
4875extern void *dev_get_drvdata(struct device  const  *dev )  __attribute__((__ldv_model__)) ;
4876#line 706
4877extern int dev_set_drvdata(struct device *dev , void *data ) ;
4878#line 743
4879extern struct device *device_create(struct class *cls , struct device *parent , dev_t devt ,
4880                                    void *drvdata , char const   *fmt  , ...) ;
4881#line 747
4882extern void device_destroy(struct class *cls , dev_t devt ) ;
4883#line 797
4884extern int dev_err(struct device  const  *dev , char const   *fmt  , ...) ;
4885#line 803
4886extern int _dev_info(struct device  const  *dev , char const   *fmt  , ...) ;
4887#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/delay.h"
4888extern void __const_udelay(unsigned long xloops ) ;
4889#line 105 "include/linux/idr.h"
4890extern int idr_pre_get(struct idr *idp , gfp_t gfp_mask ) ;
4891#line 106
4892extern int idr_get_new(struct idr *idp , void *ptr , int *id ) ;
4893#line 112
4894extern void idr_remove(struct idr *idp , int id ) ;
4895#line 221 "include/linux/slub_def.h"
4896extern void *__kmalloc(size_t size , gfp_t flags ) ;
4897#line 255 "include/linux/slub_def.h"
4898__inline static void *( __attribute__((__always_inline__)) kmalloc)(size_t size ,
4899                                                                    gfp_t flags ) 
4900{ void *tmp___10 ;
4901
4902  {
4903  {
4904#line 270
4905  tmp___10 = __kmalloc(size, flags);
4906  }
4907#line 270
4908  return (tmp___10);
4909}
4910}
4911#line 63 "include/linux/c2port.h"
4912struct c2port_device *c2port_device_register(char *name , struct c2port_ops *ops ,
4913                                             void *devdata ) ;
4914#line 65
4915void c2port_device_unregister(struct c2port_device *c2dev ) ;
4916#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4917static spinlock_t c2port_idr_lock  =    {{{{0U}, 3735899821U, 4294967295U, (void *)-1L, {(struct lock_class_key *)0, {(struct lock_class *)0,
4918                                                                                 (struct lock_class *)0},
4919                                                    "c2port_idr_lock", 0, 0UL}}}};
4920#line 32 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4921static struct idr c2port_idr  =    {(struct idr_layer *)((void *)0), (struct idr_layer *)((void *)0), 0, 0, {{{{0U},
4922                                                                               3735899821U,
4923                                                                               4294967295U,
4924                                                                               (void *)-1L,
4925                                                                               {(struct lock_class_key *)0,
4926                                                                                {(struct lock_class *)0,
4927                                                                                 (struct lock_class *)0},
4928                                                                                "c2port_idr.lock",
4929                                                                                0,
4930                                                                                0UL}}}}};
4931#line 38 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4932static struct class *c2port_class  ;
4933#line 66 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4934static void c2port_reset(struct c2port_device *dev ) 
4935{ struct c2port_ops *ops ;
4936  void (*__cil_tmp3)(struct c2port_device *dev , int status ) ;
4937  void (*__cil_tmp4)(struct c2port_device *dev , int status ) ;
4938
4939  {
4940#line 68
4941  ops = dev->ops;
4942  {
4943#line 73
4944  while (1) {
4945    while_continue: /* CIL Label */ ;
4946    {
4947#line 73
4948    arch_local_irq_disable();
4949#line 73
4950    trace_hardirqs_off();
4951    }
4952#line 73
4953    goto while_break;
4954  }
4955  while_break___1: /* CIL Label */ ;
4956  }
4957
4958  while_break: 
4959  {
4960#line 74
4961  __cil_tmp3 = ops->c2ck_set;
4962#line 74
4963  (*__cil_tmp3)(dev, 0);
4964#line 75
4965  __const_udelay(107375UL);
4966#line 76
4967  __cil_tmp4 = ops->c2ck_set;
4968#line 76
4969  (*__cil_tmp4)(dev, 1);
4970  }
4971  {
4972#line 77
4973  while (1) {
4974    while_continue___0: /* CIL Label */ ;
4975    {
4976#line 77
4977    trace_hardirqs_on();
4978#line 77
4979    arch_local_irq_enable();
4980    }
4981#line 77
4982    goto while_break___0;
4983  }
4984  while_break___2: /* CIL Label */ ;
4985  }
4986
4987  while_break___0: 
4988  {
4989#line 79
4990  __const_udelay(4295UL);
4991  }
4992#line 80
4993  return;
4994}
4995}
4996#line 82 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
4997static void c2port_strobe_ck(struct c2port_device *dev ) 
4998{ struct c2port_ops *ops ;
4999  void (*__cil_tmp3)(struct c2port_device *dev , int status ) ;
5000  void (*__cil_tmp4)(struct c2port_device *dev , int status ) ;
5001
5002  {
5003#line 84
5004  ops = dev->ops;
5005  {
5006#line 91
5007  while (1) {
5008    while_continue: /* CIL Label */ ;
5009    {
5010#line 91
5011    arch_local_irq_disable();
5012#line 91
5013    trace_hardirqs_off();
5014    }
5015#line 91
5016    goto while_break;
5017  }
5018  while_break___1: /* CIL Label */ ;
5019  }
5020
5021  while_break: 
5022  {
5023#line 92
5024  __cil_tmp3 = ops->c2ck_set;
5025#line 92
5026  (*__cil_tmp3)(dev, 0);
5027#line 93
5028  __const_udelay(4295UL);
5029#line 94
5030  __cil_tmp4 = ops->c2ck_set;
5031#line 94
5032  (*__cil_tmp4)(dev, 1);
5033  }
5034  {
5035#line 95
5036  while (1) {
5037    while_continue___0: /* CIL Label */ ;
5038    {
5039#line 95
5040    trace_hardirqs_on();
5041#line 95
5042    arch_local_irq_enable();
5043    }
5044#line 95
5045    goto while_break___0;
5046  }
5047  while_break___2: /* CIL Label */ ;
5048  }
5049
5050  while_break___0: 
5051  {
5052#line 97
5053  __const_udelay(4295UL);
5054  }
5055#line 98
5056  return;
5057}
5058}
5059#line 104 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5060static void c2port_write_ar(struct c2port_device *dev , u8 addr ) 
5061{ struct c2port_ops *ops ;
5062  int i ;
5063  void (*__cil_tmp5)(struct c2port_device *dev , int dir ) ;
5064  void (*__cil_tmp6)(struct c2port_device *dev , int status ) ;
5065  void (*__cil_tmp7)(struct c2port_device *dev , int status ) ;
5066  void (*__cil_tmp8)(struct c2port_device *dev , int status ) ;
5067  int __cil_tmp9 ;
5068  int __cil_tmp10 ;
5069  int __cil_tmp11 ;
5070  int __cil_tmp12 ;
5071  void (*__cil_tmp13)(struct c2port_device *dev , int dir ) ;
5072
5073  {
5074  {
5075#line 106
5076  ops = dev->ops;
5077#line 110
5078  c2port_strobe_ck(dev);
5079#line 113
5080  __cil_tmp5 = ops->c2d_dir;
5081#line 113
5082  (*__cil_tmp5)(dev, 0);
5083#line 114
5084  __cil_tmp6 = ops->c2d_set;
5085#line 114
5086  (*__cil_tmp6)(dev, 1);
5087#line 115
5088  c2port_strobe_ck(dev);
5089#line 116
5090  __cil_tmp7 = ops->c2d_set;
5091#line 116
5092  (*__cil_tmp7)(dev, 1);
5093#line 117
5094  c2port_strobe_ck(dev);
5095#line 120
5096  i = 0;
5097  }
5098  {
5099#line 120
5100  while (1) {
5101    while_continue: /* CIL Label */ ;
5102
5103#line 120
5104    if (i < 8) {
5105
5106    } else {
5107#line 120
5108      goto while_break;
5109    }
5110    {
5111#line 121
5112    __cil_tmp8 = ops->c2d_set;
5113#line 121
5114    __cil_tmp9 = (int )addr;
5115#line 121
5116    __cil_tmp10 = __cil_tmp9 & 1;
5117#line 121
5118    (*__cil_tmp8)(dev, __cil_tmp10);
5119#line 122
5120    c2port_strobe_ck(dev);
5121#line 124
5122    __cil_tmp11 = (int )addr;
5123#line 124
5124    __cil_tmp12 = __cil_tmp11 >> 1;
5125#line 124
5126    addr = (u8 )__cil_tmp12;
5127#line 120
5128    i = i + 1;
5129    }
5130  }
5131  while_break___0: /* CIL Label */ ;
5132  }
5133
5134  while_break: 
5135  {
5136#line 128
5137  __cil_tmp13 = ops->c2d_dir;
5138#line 128
5139  (*__cil_tmp13)(dev, 1);
5140#line 129
5141  c2port_strobe_ck(dev);
5142  }
5143#line 130
5144  return;
5145}
5146}
5147#line 132 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5148static int c2port_read_ar(struct c2port_device *dev , u8 *addr ) 
5149{ struct c2port_ops *ops ;
5150  int i ;
5151  int tmp___7 ;
5152  void (*__cil_tmp6)(struct c2port_device *dev , int dir ) ;
5153  void (*__cil_tmp7)(struct c2port_device *dev , int status ) ;
5154  void (*__cil_tmp8)(struct c2port_device *dev , int status ) ;
5155  void (*__cil_tmp9)(struct c2port_device *dev , int dir ) ;
5156  u8 __cil_tmp10 ;
5157  int __cil_tmp11 ;
5158  int __cil_tmp12 ;
5159  int (*__cil_tmp13)(struct c2port_device *dev ) ;
5160  u8 __cil_tmp14 ;
5161  int __cil_tmp15 ;
5162  int __cil_tmp16 ;
5163
5164  {
5165  {
5166#line 134
5167  ops = dev->ops;
5168#line 138
5169  c2port_strobe_ck(dev);
5170#line 141
5171  __cil_tmp6 = ops->c2d_dir;
5172#line 141
5173  (*__cil_tmp6)(dev, 0);
5174#line 142
5175  __cil_tmp7 = ops->c2d_set;
5176#line 142
5177  (*__cil_tmp7)(dev, 0);
5178#line 143
5179  c2port_strobe_ck(dev);
5180#line 144
5181  __cil_tmp8 = ops->c2d_set;
5182#line 144
5183  (*__cil_tmp8)(dev, 1);
5184#line 145
5185  c2port_strobe_ck(dev);
5186#line 148
5187  __cil_tmp9 = ops->c2d_dir;
5188#line 148
5189  (*__cil_tmp9)(dev, 1);
5190#line 149
5191  *addr = (u8 )0;
5192#line 150
5193  i = 0;
5194  }
5195  {
5196#line 150
5197  while (1) {
5198    while_continue: /* CIL Label */ ;
5199
5200#line 150
5201    if (i < 8) {
5202
5203    } else {
5204#line 150
5205      goto while_break;
5206    }
5207    {
5208#line 151
5209    __cil_tmp10 = *addr;
5210#line 151
5211    __cil_tmp11 = (int )__cil_tmp10;
5212#line 151
5213    __cil_tmp12 = __cil_tmp11 >> 1;
5214#line 151
5215    *addr = (u8 )__cil_tmp12;
5216#line 153
5217    c2port_strobe_ck(dev);
5218#line 154
5219    __cil_tmp13 = ops->c2d_get;
5220#line 154
5221    tmp___7 = (*__cil_tmp13)(dev);
5222    }
5223#line 154
5224    if (tmp___7) {
5225#line 155
5226      __cil_tmp14 = *addr;
5227#line 155
5228      __cil_tmp15 = (int )__cil_tmp14;
5229#line 155
5230      __cil_tmp16 = __cil_tmp15 | 128;
5231#line 155
5232      *addr = (u8 )__cil_tmp16;
5233    } else {
5234
5235    }
5236#line 150
5237    i = i + 1;
5238  }
5239  while_break___0: /* CIL Label */ ;
5240  }
5241
5242  while_break: 
5243  {
5244#line 159
5245  c2port_strobe_ck(dev);
5246  }
5247#line 161
5248  return (0);
5249}
5250}
5251#line 164 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5252static int c2port_write_dr(struct c2port_device *dev , u8 data ) 
5253{ struct c2port_ops *ops ;
5254  int timeout ;
5255  int i ;
5256  int tmp___7 ;
5257  void (*__cil_tmp7)(struct c2port_device *dev , int dir ) ;
5258  void (*__cil_tmp8)(struct c2port_device *dev , int status ) ;
5259  void (*__cil_tmp9)(struct c2port_device *dev , int status ) ;
5260  void (*__cil_tmp10)(struct c2port_device *dev , int status ) ;
5261  void (*__cil_tmp11)(struct c2port_device *dev , int status ) ;
5262  void (*__cil_tmp12)(struct c2port_device *dev , int status ) ;
5263  int __cil_tmp13 ;
5264  int __cil_tmp14 ;
5265  int __cil_tmp15 ;
5266  int __cil_tmp16 ;
5267  void (*__cil_tmp17)(struct c2port_device *dev , int dir ) ;
5268  int (*__cil_tmp18)(struct c2port_device *dev ) ;
5269
5270  {
5271  {
5272#line 166
5273  ops = dev->ops;
5274#line 170
5275  c2port_strobe_ck(dev);
5276#line 173
5277  __cil_tmp7 = ops->c2d_dir;
5278#line 173
5279  (*__cil_tmp7)(dev, 0);
5280#line 174
5281  __cil_tmp8 = ops->c2d_set;
5282#line 174
5283  (*__cil_tmp8)(dev, 1);
5284#line 175
5285  c2port_strobe_ck(dev);
5286#line 176
5287  __cil_tmp9 = ops->c2d_set;
5288#line 176
5289  (*__cil_tmp9)(dev, 0);
5290#line 177
5291  c2port_strobe_ck(dev);
5292#line 180
5293  __cil_tmp10 = ops->c2d_set;
5294#line 180
5295  (*__cil_tmp10)(dev, 0);
5296#line 181
5297  c2port_strobe_ck(dev);
5298#line 182
5299  __cil_tmp11 = ops->c2d_set;
5300#line 182
5301  (*__cil_tmp11)(dev, 0);
5302#line 183
5303  c2port_strobe_ck(dev);
5304#line 186
5305  i = 0;
5306  }
5307  {
5308#line 186
5309  while (1) {
5310    while_continue: /* CIL Label */ ;
5311
5312#line 186
5313    if (i < 8) {
5314
5315    } else {
5316#line 186
5317      goto while_break;
5318    }
5319    {
5320#line 187
5321    __cil_tmp12 = ops->c2d_set;
5322#line 187
5323    __cil_tmp13 = (int )data;
5324#line 187
5325    __cil_tmp14 = __cil_tmp13 & 1;
5326#line 187
5327    (*__cil_tmp12)(dev, __cil_tmp14);
5328#line 188
5329    c2port_strobe_ck(dev);
5330#line 190
5331    __cil_tmp15 = (int )data;
5332#line 190
5333    __cil_tmp16 = __cil_tmp15 >> 1;
5334#line 190
5335    data = (u8 )__cil_tmp16;
5336#line 186
5337    i = i + 1;
5338    }
5339  }
5340  while_break___1: /* CIL Label */ ;
5341  }
5342
5343  while_break: 
5344  {
5345#line 194
5346  __cil_tmp17 = ops->c2d_dir;
5347#line 194
5348  (*__cil_tmp17)(dev, 1);
5349#line 195
5350  timeout = 20;
5351  }
5352  {
5353#line 196
5354  while (1) {
5355    while_continue___0: /* CIL Label */ ;
5356    {
5357#line 197
5358    c2port_strobe_ck(dev);
5359#line 198
5360    __cil_tmp18 = ops->c2d_get;
5361#line 198
5362    tmp___7 = (*__cil_tmp18)(dev);
5363    }
5364#line 198
5365    if (tmp___7) {
5366#line 199
5367      goto while_break___0;
5368    } else {
5369
5370    }
5371    {
5372#line 201
5373    __const_udelay(4295UL);
5374#line 196
5375    timeout = timeout - 1;
5376    }
5377#line 196
5378    if (timeout > 0) {
5379
5380    } else {
5381#line 196
5382      goto while_break___0;
5383    }
5384  }
5385  while_break___2: /* CIL Label */ ;
5386  }
5387
5388  while_break___0: ;
5389#line 203
5390  if (timeout == 0) {
5391#line 204
5392    return (-5);
5393  } else {
5394
5395  }
5396  {
5397#line 207
5398  c2port_strobe_ck(dev);
5399  }
5400#line 209
5401  return (0);
5402}
5403}
5404#line 212 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5405static int c2port_read_dr(struct c2port_device *dev , u8 *data ) 
5406{ struct c2port_ops *ops ;
5407  int timeout ;
5408  int i ;
5409  int tmp___7 ;
5410  int tmp___8 ;
5411  void (*__cil_tmp8)(struct c2port_device *dev , int dir ) ;
5412  void (*__cil_tmp9)(struct c2port_device *dev , int status ) ;
5413  void (*__cil_tmp10)(struct c2port_device *dev , int status ) ;
5414  void (*__cil_tmp11)(struct c2port_device *dev , int status ) ;
5415  void (*__cil_tmp12)(struct c2port_device *dev , int status ) ;
5416  void (*__cil_tmp13)(struct c2port_device *dev , int dir ) ;
5417  int (*__cil_tmp14)(struct c2port_device *dev ) ;
5418  u8 __cil_tmp15 ;
5419  int __cil_tmp16 ;
5420  int __cil_tmp17 ;
5421  int (*__cil_tmp18)(struct c2port_device *dev ) ;
5422  u8 __cil_tmp19 ;
5423  int __cil_tmp20 ;
5424  int __cil_tmp21 ;
5425
5426  {
5427  {
5428#line 214
5429  ops = dev->ops;
5430#line 218
5431  c2port_strobe_ck(dev);
5432#line 221
5433  __cil_tmp8 = ops->c2d_dir;
5434#line 221
5435  (*__cil_tmp8)(dev, 0);
5436#line 222
5437  __cil_tmp9 = ops->c2d_set;
5438#line 222
5439  (*__cil_tmp9)(dev, 0);
5440#line 223
5441  c2port_strobe_ck(dev);
5442#line 224
5443  __cil_tmp10 = ops->c2d_set;
5444#line 224
5445  (*__cil_tmp10)(dev, 0);
5446#line 225
5447  c2port_strobe_ck(dev);
5448#line 228
5449  __cil_tmp11 = ops->c2d_set;
5450#line 228
5451  (*__cil_tmp11)(dev, 0);
5452#line 229
5453  c2port_strobe_ck(dev);
5454#line 230
5455  __cil_tmp12 = ops->c2d_set;
5456#line 230
5457  (*__cil_tmp12)(dev, 0);
5458#line 231
5459  c2port_strobe_ck(dev);
5460#line 234
5461  __cil_tmp13 = ops->c2d_dir;
5462#line 234
5463  (*__cil_tmp13)(dev, 1);
5464#line 235
5465  timeout = 20;
5466  }
5467  {
5468#line 236
5469  while (1) {
5470    while_continue: /* CIL Label */ ;
5471    {
5472#line 237
5473    c2port_strobe_ck(dev);
5474#line 238
5475    __cil_tmp14 = ops->c2d_get;
5476#line 238
5477    tmp___7 = (*__cil_tmp14)(dev);
5478    }
5479#line 238
5480    if (tmp___7) {
5481#line 239
5482      goto while_break;
5483    } else {
5484
5485    }
5486    {
5487#line 241
5488    __const_udelay(4295UL);
5489#line 236
5490    timeout = timeout - 1;
5491    }
5492#line 236
5493    if (timeout > 0) {
5494
5495    } else {
5496#line 236
5497      goto while_break;
5498    }
5499  }
5500  while_break___1: /* CIL Label */ ;
5501  }
5502
5503  while_break: ;
5504#line 243
5505  if (timeout == 0) {
5506#line 244
5507    return (-5);
5508  } else {
5509
5510  }
5511#line 247
5512  *data = (u8 )0;
5513#line 248
5514  i = 0;
5515  {
5516#line 248
5517  while (1) {
5518    while_continue___0: /* CIL Label */ ;
5519
5520#line 248
5521    if (i < 8) {
5522
5523    } else {
5524#line 248
5525      goto while_break___0;
5526    }
5527    {
5528#line 249
5529    __cil_tmp15 = *data;
5530#line 249
5531    __cil_tmp16 = (int )__cil_tmp15;
5532#line 249
5533    __cil_tmp17 = __cil_tmp16 >> 1;
5534#line 249
5535    *data = (u8 )__cil_tmp17;
5536#line 251
5537    c2port_strobe_ck(dev);
5538#line 252
5539    __cil_tmp18 = ops->c2d_get;
5540#line 252
5541    tmp___8 = (*__cil_tmp18)(dev);
5542    }
5543#line 252
5544    if (tmp___8) {
5545#line 253
5546      __cil_tmp19 = *data;
5547#line 253
5548      __cil_tmp20 = (int )__cil_tmp19;
5549#line 253
5550      __cil_tmp21 = __cil_tmp20 | 128;
5551#line 253
5552      *data = (u8 )__cil_tmp21;
5553    } else {
5554
5555    }
5556#line 248
5557    i = i + 1;
5558  }
5559  while_break___2: /* CIL Label */ ;
5560  }
5561
5562  while_break___0: 
5563  {
5564#line 257
5565  c2port_strobe_ck(dev);
5566  }
5567#line 259
5568  return (0);
5569}
5570}
5571#line 262 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5572static int c2port_poll_in_busy(struct c2port_device *dev ) 
5573{ u8 addr ;
5574  int ret ;
5575  int timeout ;
5576  int __cil_tmp5 ;
5577  int __cil_tmp6 ;
5578
5579  {
5580#line 265
5581  timeout = 20;
5582  {
5583#line 267
5584  while (1) {
5585    while_continue: /* CIL Label */ ;
5586    {
5587#line 268
5588    ret = c2port_read_ar(dev, & addr);
5589    }
5590#line 269
5591    if (ret < 0) {
5592#line 270
5593      return (-5);
5594    } else {
5595
5596    }
5597    {
5598#line 272
5599    __cil_tmp5 = (int )addr;
5600#line 272
5601    __cil_tmp6 = __cil_tmp5 & 2;
5602#line 272
5603    if (! __cil_tmp6) {
5604#line 273
5605      goto while_break;
5606    } else {
5607
5608    }
5609    }
5610    {
5611#line 275
5612    __const_udelay(4295UL);
5613#line 267
5614    timeout = timeout - 1;
5615    }
5616#line 267
5617    if (timeout > 0) {
5618
5619    } else {
5620#line 267
5621      goto while_break;
5622    }
5623  }
5624  while_break___0: /* CIL Label */ ;
5625  }
5626
5627  while_break: ;
5628#line 277
5629  if (timeout == 0) {
5630#line 278
5631    return (-5);
5632  } else {
5633
5634  }
5635#line 280
5636  return (0);
5637}
5638}
5639#line 283 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5640static int c2port_poll_out_ready(struct c2port_device *dev ) 
5641{ u8 addr ;
5642  int ret ;
5643  int timeout ;
5644  int __cil_tmp5 ;
5645
5646  {
5647#line 286
5648  timeout = 10000;
5649  {
5650#line 288
5651  while (1) {
5652    while_continue: /* CIL Label */ ;
5653    {
5654#line 289
5655    ret = c2port_read_ar(dev, & addr);
5656    }
5657#line 290
5658    if (ret < 0) {
5659#line 291
5660      return (-5);
5661    } else {
5662
5663    }
5664    {
5665#line 293
5666    __cil_tmp5 = (int )addr;
5667#line 293
5668    if (__cil_tmp5 & 1) {
5669#line 294
5670      goto while_break;
5671    } else {
5672
5673    }
5674    }
5675    {
5676#line 296
5677    __const_udelay(4295UL);
5678#line 288
5679    timeout = timeout - 1;
5680    }
5681#line 288
5682    if (timeout > 0) {
5683
5684    } else {
5685#line 288
5686      goto while_break;
5687    }
5688  }
5689  while_break___0: /* CIL Label */ ;
5690  }
5691
5692  while_break: ;
5693#line 298
5694  if (timeout == 0) {
5695#line 299
5696    return (-5);
5697  } else {
5698
5699  }
5700#line 301
5701  return (0);
5702}
5703}
5704#line 308 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5705static ssize_t c2port_show_name(struct device *dev , struct device_attribute *attr ,
5706                                char *buf ) 
5707{ struct c2port_device *c2dev ;
5708  void *tmp___7 ;
5709  int tmp___8 ;
5710  struct device  const  *__cil_tmp7 ;
5711  char *__cil_tmp8 ;
5712
5713  {
5714  {
5715#line 311
5716  __cil_tmp7 = (struct device  const  *)dev;
5717#line 311
5718  tmp___7 = dev_get_drvdata(__cil_tmp7);
5719#line 311
5720  c2dev = (struct c2port_device *)tmp___7;
5721#line 313
5722  __cil_tmp8 = & c2dev->name[0];
5723#line 313
5724  tmp___8 = sprintf(buf, "%s\n", __cil_tmp8);
5725  }
5726#line 313
5727  return ((ssize_t )tmp___8);
5728}
5729}
5730#line 316 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5731static ssize_t c2port_show_flash_blocks_num(struct device *dev , struct device_attribute *attr ,
5732                                            char *buf ) 
5733{ struct c2port_device *c2dev ;
5734  void *tmp___7 ;
5735  struct c2port_ops *ops ;
5736  int tmp___8 ;
5737  struct device  const  *__cil_tmp8 ;
5738  unsigned short __cil_tmp9 ;
5739  int __cil_tmp10 ;
5740
5741  {
5742  {
5743#line 319
5744  __cil_tmp8 = (struct device  const  *)dev;
5745#line 319
5746  tmp___7 = dev_get_drvdata(__cil_tmp8);
5747#line 319
5748  c2dev = (struct c2port_device *)tmp___7;
5749#line 320
5750  ops = c2dev->ops;
5751#line 322
5752  __cil_tmp9 = ops->blocks_num;
5753#line 322
5754  __cil_tmp10 = (int )__cil_tmp9;
5755#line 322
5756  tmp___8 = sprintf(buf, "%d\n", __cil_tmp10);
5757  }
5758#line 322
5759  return ((ssize_t )tmp___8);
5760}
5761}
5762#line 325 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5763static ssize_t c2port_show_flash_block_size(struct device *dev , struct device_attribute *attr ,
5764                                            char *buf ) 
5765{ struct c2port_device *c2dev ;
5766  void *tmp___7 ;
5767  struct c2port_ops *ops ;
5768  int tmp___8 ;
5769  struct device  const  *__cil_tmp8 ;
5770  unsigned short __cil_tmp9 ;
5771  int __cil_tmp10 ;
5772
5773  {
5774  {
5775#line 328
5776  __cil_tmp8 = (struct device  const  *)dev;
5777#line 328
5778  tmp___7 = dev_get_drvdata(__cil_tmp8);
5779#line 328
5780  c2dev = (struct c2port_device *)tmp___7;
5781#line 329
5782  ops = c2dev->ops;
5783#line 331
5784  __cil_tmp9 = ops->block_size;
5785#line 331
5786  __cil_tmp10 = (int )__cil_tmp9;
5787#line 331
5788  tmp___8 = sprintf(buf, "%d\n", __cil_tmp10);
5789  }
5790#line 331
5791  return ((ssize_t )tmp___8);
5792}
5793}
5794#line 334 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5795static ssize_t c2port_show_flash_size(struct device *dev , struct device_attribute *attr ,
5796                                      char *buf ) 
5797{ struct c2port_device *c2dev ;
5798  void *tmp___7 ;
5799  struct c2port_ops *ops ;
5800  int tmp___8 ;
5801  struct device  const  *__cil_tmp8 ;
5802  unsigned short __cil_tmp9 ;
5803  int __cil_tmp10 ;
5804  unsigned short __cil_tmp11 ;
5805  int __cil_tmp12 ;
5806  int __cil_tmp13 ;
5807
5808  {
5809  {
5810#line 337
5811  __cil_tmp8 = (struct device  const  *)dev;
5812#line 337
5813  tmp___7 = dev_get_drvdata(__cil_tmp8);
5814#line 337
5815  c2dev = (struct c2port_device *)tmp___7;
5816#line 338
5817  ops = c2dev->ops;
5818#line 340
5819  __cil_tmp9 = ops->block_size;
5820#line 340
5821  __cil_tmp10 = (int )__cil_tmp9;
5822#line 340
5823  __cil_tmp11 = ops->blocks_num;
5824#line 340
5825  __cil_tmp12 = (int )__cil_tmp11;
5826#line 340
5827  __cil_tmp13 = __cil_tmp12 * __cil_tmp10;
5828#line 340
5829  tmp___8 = sprintf(buf, "%d\n", __cil_tmp13);
5830  }
5831#line 340
5832  return ((ssize_t )tmp___8);
5833}
5834}
5835#line 343 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5836static ssize_t c2port_show_access(struct device *dev , struct device_attribute *attr ,
5837                                  char *buf ) 
5838{ struct c2port_device *c2dev ;
5839  void *tmp___7 ;
5840  int tmp___8 ;
5841  struct device  const  *__cil_tmp7 ;
5842  unsigned int __cil_tmp8 ;
5843
5844  {
5845  {
5846#line 346
5847  __cil_tmp7 = (struct device  const  *)dev;
5848#line 346
5849  tmp___7 = dev_get_drvdata(__cil_tmp7);
5850#line 346
5851  c2dev = (struct c2port_device *)tmp___7;
5852#line 348
5853  __cil_tmp8 = c2dev->access;
5854#line 348
5855  tmp___8 = sprintf(buf, "%d\n", __cil_tmp8);
5856  }
5857#line 348
5858  return ((ssize_t )tmp___8);
5859}
5860}
5861#line 351 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5862static ssize_t c2port_store_access(struct device *dev , struct device_attribute *attr ,
5863                                   char const   *buf , size_t count ) 
5864{ struct c2port_device *c2dev ;
5865  void *tmp___7 ;
5866  struct c2port_ops *ops ;
5867  int status ;
5868  int ret ;
5869  struct device  const  *__cil_tmp10 ;
5870  struct mutex *__cil_tmp11 ;
5871  int __cil_tmp12 ;
5872  int __cil_tmp13 ;
5873  void (*__cil_tmp14)(struct c2port_device *dev , int status ) ;
5874  void (*__cil_tmp15)(struct c2port_device *dev , int status ) ;
5875  unsigned int __cil_tmp16 ;
5876  int __cil_tmp17 ;
5877  void (*__cil_tmp18)(struct c2port_device *dev , int dir ) ;
5878  struct mutex *__cil_tmp19 ;
5879
5880  {
5881  {
5882#line 355
5883  __cil_tmp10 = (struct device  const  *)dev;
5884#line 355
5885  tmp___7 = dev_get_drvdata(__cil_tmp10);
5886#line 355
5887  c2dev = (struct c2port_device *)tmp___7;
5888#line 356
5889  ops = c2dev->ops;
5890#line 359
5891  ret = sscanf(buf, "%d", & status);
5892  }
5893#line 360
5894  if (ret != 1) {
5895#line 361
5896    return ((ssize_t )-22);
5897  } else {
5898
5899  }
5900  {
5901#line 363
5902  __cil_tmp11 = & c2dev->mutex;
5903#line 363
5904  mutex_lock_nested(__cil_tmp11, 0U);
5905#line 365
5906  __cil_tmp12 = ! status;
5907#line 365
5908  __cil_tmp13 = ! __cil_tmp12;
5909#line 365
5910  c2dev->access = (unsigned int )__cil_tmp13;
5911  }
5912#line 369
5913  if (c2dev->access) {
5914    {
5915#line 370
5916    __cil_tmp14 = ops->c2ck_set;
5917#line 370
5918    (*__cil_tmp14)(c2dev, 1);
5919    }
5920  } else {
5921
5922  }
5923  {
5924#line 371
5925  __cil_tmp15 = ops->access;
5926#line 371
5927  __cil_tmp16 = c2dev->access;
5928#line 371
5929  __cil_tmp17 = (int )__cil_tmp16;
5930#line 371
5931  (*__cil_tmp15)(c2dev, __cil_tmp17);
5932  }
5933#line 372
5934  if (c2dev->access) {
5935    {
5936#line 373
5937    __cil_tmp18 = ops->c2d_dir;
5938#line 373
5939    (*__cil_tmp18)(c2dev, 1);
5940    }
5941  } else {
5942
5943  }
5944  {
5945#line 375
5946  __cil_tmp19 = & c2dev->mutex;
5947#line 375
5948  mutex_unlock(__cil_tmp19);
5949  }
5950#line 377
5951  return ((ssize_t )count);
5952}
5953}
5954#line 380 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
5955static ssize_t c2port_store_reset(struct device *dev , struct device_attribute *attr ,
5956                                  char const   *buf , size_t count ) 
5957{ struct c2port_device *c2dev ;
5958  void *tmp___7 ;
5959  struct device  const  *__cil_tmp7 ;
5960  unsigned int __cil_tmp8 ;
5961  struct mutex *__cil_tmp9 ;
5962  struct mutex *__cil_tmp10 ;
5963
5964  {
5965  {
5966#line 384
5967  __cil_tmp7 = (struct device  const  *)dev;
5968#line 384
5969  tmp___7 = dev_get_drvdata(__cil_tmp7);
5970#line 384
5971  c2dev = (struct c2port_device *)tmp___7;
5972  }
5973  {
5974#line 387
5975  __cil_tmp8 = c2dev->access;
5976#line 387
5977  if (! __cil_tmp8) {
5978#line 388
5979    return ((ssize_t )-16);
5980  } else {
5981
5982  }
5983  }
5984  {
5985#line 390
5986  __cil_tmp9 = & c2dev->mutex;
5987#line 390
5988  mutex_lock_nested(__cil_tmp9, 0U);
5989#line 392
5990  c2port_reset(c2dev);
5991#line 393
5992  c2dev->flash_access = 0U;
5993#line 395
5994  __cil_tmp10 = & c2dev->mutex;
5995#line 395
5996  mutex_unlock(__cil_tmp10);
5997  }
5998#line 397
5999  return ((ssize_t )count);
6000}
6001}
6002#line 400 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6003static ssize_t __c2port_show_dev_id(struct c2port_device *dev , char *buf ) 
6004{ u8 data ;
6005  int ret ;
6006  int tmp___7 ;
6007  u8 __cil_tmp6 ;
6008  int __cil_tmp7 ;
6009
6010  {
6011  {
6012#line 406
6013  __cil_tmp6 = (u8 )0;
6014#line 406
6015  c2port_write_ar(dev, __cil_tmp6);
6016#line 409
6017  ret = c2port_read_dr(dev, & data);
6018  }
6019#line 410
6020  if (ret < 0) {
6021#line 411
6022    return ((ssize_t )ret);
6023  } else {
6024
6025  }
6026  {
6027#line 413
6028  __cil_tmp7 = (int )data;
6029#line 413
6030  tmp___7 = sprintf(buf, "%d\n", __cil_tmp7);
6031  }
6032#line 413
6033  return ((ssize_t )tmp___7);
6034}
6035}
6036#line 416 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6037static ssize_t c2port_show_dev_id(struct device *dev , struct device_attribute *attr ,
6038                                  char *buf ) 
6039{ struct c2port_device *c2dev ;
6040  void *tmp___7 ;
6041  ssize_t ret ;
6042  struct device  const  *__cil_tmp7 ;
6043  unsigned int __cil_tmp8 ;
6044  struct mutex *__cil_tmp9 ;
6045  struct mutex *__cil_tmp10 ;
6046  struct device  const  *__cil_tmp11 ;
6047  char *__cil_tmp12 ;
6048
6049  {
6050  {
6051#line 419
6052  __cil_tmp7 = (struct device  const  *)dev;
6053#line 419
6054  tmp___7 = dev_get_drvdata(__cil_tmp7);
6055#line 419
6056  c2dev = (struct c2port_device *)tmp___7;
6057  }
6058  {
6059#line 423
6060  __cil_tmp8 = c2dev->access;
6061#line 423
6062  if (! __cil_tmp8) {
6063#line 424
6064    return ((ssize_t )-16);
6065  } else {
6066
6067  }
6068  }
6069  {
6070#line 426
6071  __cil_tmp9 = & c2dev->mutex;
6072#line 426
6073  mutex_lock_nested(__cil_tmp9, 0U);
6074#line 427
6075  ret = __c2port_show_dev_id(c2dev, buf);
6076#line 428
6077  __cil_tmp10 = & c2dev->mutex;
6078#line 428
6079  mutex_unlock(__cil_tmp10);
6080  }
6081#line 430
6082  if (ret < 0L) {
6083    {
6084#line 431
6085    __cil_tmp11 = (struct device  const  *)dev;
6086#line 431
6087    __cil_tmp12 = & c2dev->name[0];
6088#line 431
6089    dev_err(__cil_tmp11, "cannot read from %s\n", __cil_tmp12);
6090    }
6091  } else {
6092
6093  }
6094#line 433
6095  return (ret);
6096}
6097}
6098#line 436 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6099static ssize_t __c2port_show_rev_id(struct c2port_device *dev , char *buf ) 
6100{ u8 data ;
6101  int ret ;
6102  int tmp___7 ;
6103  u8 __cil_tmp6 ;
6104  int __cil_tmp7 ;
6105
6106  {
6107  {
6108#line 442
6109  __cil_tmp6 = (u8 )1;
6110#line 442
6111  c2port_write_ar(dev, __cil_tmp6);
6112#line 445
6113  ret = c2port_read_dr(dev, & data);
6114  }
6115#line 446
6116  if (ret < 0) {
6117#line 447
6118    return ((ssize_t )ret);
6119  } else {
6120
6121  }
6122  {
6123#line 449
6124  __cil_tmp7 = (int )data;
6125#line 449
6126  tmp___7 = sprintf(buf, "%d\n", __cil_tmp7);
6127  }
6128#line 449
6129  return ((ssize_t )tmp___7);
6130}
6131}
6132#line 452 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6133static ssize_t c2port_show_rev_id(struct device *dev , struct device_attribute *attr ,
6134                                  char *buf ) 
6135{ struct c2port_device *c2dev ;
6136  void *tmp___7 ;
6137  ssize_t ret ;
6138  struct device  const  *__cil_tmp7 ;
6139  unsigned int __cil_tmp8 ;
6140  struct mutex *__cil_tmp9 ;
6141  struct mutex *__cil_tmp10 ;
6142  struct device *__cil_tmp11 ;
6143  struct device  const  *__cil_tmp12 ;
6144  char *__cil_tmp13 ;
6145
6146  {
6147  {
6148#line 455
6149  __cil_tmp7 = (struct device  const  *)dev;
6150#line 455
6151  tmp___7 = dev_get_drvdata(__cil_tmp7);
6152#line 455
6153  c2dev = (struct c2port_device *)tmp___7;
6154  }
6155  {
6156#line 459
6157  __cil_tmp8 = c2dev->access;
6158#line 459
6159  if (! __cil_tmp8) {
6160#line 460
6161    return ((ssize_t )-16);
6162  } else {
6163
6164  }
6165  }
6166  {
6167#line 462
6168  __cil_tmp9 = & c2dev->mutex;
6169#line 462
6170  mutex_lock_nested(__cil_tmp9, 0U);
6171#line 463
6172  ret = __c2port_show_rev_id(c2dev, buf);
6173#line 464
6174  __cil_tmp10 = & c2dev->mutex;
6175#line 464
6176  mutex_unlock(__cil_tmp10);
6177  }
6178#line 466
6179  if (ret < 0L) {
6180    {
6181#line 467
6182    __cil_tmp11 = c2dev->dev;
6183#line 467
6184    __cil_tmp12 = (struct device  const  *)__cil_tmp11;
6185#line 467
6186    __cil_tmp13 = & c2dev->name[0];
6187#line 467
6188    dev_err(__cil_tmp12, "cannot read from %s\n", __cil_tmp13);
6189    }
6190  } else {
6191
6192  }
6193#line 469
6194  return (ret);
6195}
6196}
6197#line 472 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6198static ssize_t c2port_show_flash_access(struct device *dev , struct device_attribute *attr ,
6199                                        char *buf ) 
6200{ struct c2port_device *c2dev ;
6201  void *tmp___7 ;
6202  int tmp___8 ;
6203  struct device  const  *__cil_tmp7 ;
6204  unsigned int __cil_tmp8 ;
6205
6206  {
6207  {
6208#line 475
6209  __cil_tmp7 = (struct device  const  *)dev;
6210#line 475
6211  tmp___7 = dev_get_drvdata(__cil_tmp7);
6212#line 475
6213  c2dev = (struct c2port_device *)tmp___7;
6214#line 477
6215  __cil_tmp8 = c2dev->flash_access;
6216#line 477
6217  tmp___8 = sprintf(buf, "%d\n", __cil_tmp8);
6218  }
6219#line 477
6220  return ((ssize_t )tmp___8);
6221}
6222}
6223#line 480 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6224static ssize_t __c2port_store_flash_access(struct c2port_device *dev , int status ) 
6225{ int ret ;
6226  unsigned long __ms ;
6227  unsigned long tmp___7 ;
6228  unsigned int __cil_tmp6 ;
6229  int __cil_tmp7 ;
6230  int __cil_tmp8 ;
6231  unsigned int __cil_tmp9 ;
6232  u8 __cil_tmp10 ;
6233  u8 __cil_tmp11 ;
6234  u8 __cil_tmp12 ;
6235
6236  {
6237  {
6238#line 486
6239  __cil_tmp6 = dev->access;
6240#line 486
6241  if (! __cil_tmp6) {
6242#line 487
6243    return ((ssize_t )-16);
6244  } else {
6245
6246  }
6247  }
6248#line 489
6249  __cil_tmp7 = ! status;
6250#line 489
6251  __cil_tmp8 = ! __cil_tmp7;
6252#line 489
6253  dev->flash_access = (unsigned int )__cil_tmp8;
6254  {
6255#line 492
6256  __cil_tmp9 = dev->flash_access;
6257#line 492
6258  if (__cil_tmp9 == 0U) {
6259#line 493
6260    return ((ssize_t )0);
6261  } else {
6262
6263  }
6264  }
6265  {
6266#line 497
6267  __cil_tmp10 = (u8 )2;
6268#line 497
6269  c2port_write_ar(dev, __cil_tmp10);
6270#line 500
6271  __cil_tmp11 = (u8 )2;
6272#line 500
6273  ret = c2port_write_dr(dev, __cil_tmp11);
6274  }
6275#line 501
6276  if (ret < 0) {
6277#line 502
6278    return ((ssize_t )ret);
6279  } else {
6280
6281  }
6282  {
6283#line 505
6284  __cil_tmp12 = (u8 )1;
6285#line 505
6286  ret = c2port_write_dr(dev, __cil_tmp12);
6287  }
6288#line 506
6289  if (ret < 0) {
6290#line 507
6291    return ((ssize_t )ret);
6292  } else {
6293
6294  }
6295#line 511
6296  __ms = 25UL;
6297  {
6298#line 511
6299  while (1) {
6300    while_continue: /* CIL Label */ ;
6301#line 511
6302    tmp___7 = __ms;
6303#line 511
6304    __ms = __ms - 1UL;
6305#line 511
6306    if (tmp___7) {
6307
6308    } else {
6309#line 511
6310      goto while_break;
6311    }
6312    {
6313#line 511
6314    __const_udelay(4295000UL);
6315    }
6316  }
6317  while_break___0: /* CIL Label */ ;
6318  }
6319
6320  while_break: ;
6321#line 513
6322  return ((ssize_t )0);
6323}
6324}
6325#line 516 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6326static ssize_t c2port_store_flash_access(struct device *dev , struct device_attribute *attr ,
6327                                         char const   *buf , size_t count ) 
6328{ struct c2port_device *c2dev ;
6329  void *tmp___7 ;
6330  int status ;
6331  ssize_t ret ;
6332  int tmp___8 ;
6333  struct device  const  *__cil_tmp10 ;
6334  struct mutex *__cil_tmp11 ;
6335  struct mutex *__cil_tmp12 ;
6336  struct device *__cil_tmp13 ;
6337  struct device  const  *__cil_tmp14 ;
6338  char *__cil_tmp15 ;
6339
6340  {
6341  {
6342#line 520
6343  __cil_tmp10 = (struct device  const  *)dev;
6344#line 520
6345  tmp___7 = dev_get_drvdata(__cil_tmp10);
6346#line 520
6347  c2dev = (struct c2port_device *)tmp___7;
6348#line 524
6349  tmp___8 = sscanf(buf, "%d", & status);
6350#line 524
6351  ret = (ssize_t )tmp___8;
6352  }
6353#line 525
6354  if (ret != 1L) {
6355#line 526
6356    return ((ssize_t )-22);
6357  } else {
6358
6359  }
6360  {
6361#line 528
6362  __cil_tmp11 = & c2dev->mutex;
6363#line 528
6364  mutex_lock_nested(__cil_tmp11, 0U);
6365#line 529
6366  ret = __c2port_store_flash_access(c2dev, status);
6367#line 530
6368  __cil_tmp12 = & c2dev->mutex;
6369#line 530
6370  mutex_unlock(__cil_tmp12);
6371  }
6372#line 532
6373  if (ret < 0L) {
6374    {
6375#line 533
6376    __cil_tmp13 = c2dev->dev;
6377#line 533
6378    __cil_tmp14 = (struct device  const  *)__cil_tmp13;
6379#line 533
6380    __cil_tmp15 = & c2dev->name[0];
6381#line 533
6382    dev_err(__cil_tmp14, "cannot enable %s flash programming\n", __cil_tmp15);
6383    }
6384#line 535
6385    return (ret);
6386  } else {
6387
6388  }
6389#line 538
6390  return ((ssize_t )count);
6391}
6392}
6393#line 541 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6394static ssize_t __c2port_write_flash_erase(struct c2port_device *dev ) 
6395{ u8 status ;
6396  int ret ;
6397  u8 __cil_tmp4 ;
6398  u8 __cil_tmp5 ;
6399  int __cil_tmp6 ;
6400  u8 __cil_tmp7 ;
6401  u8 __cil_tmp8 ;
6402  u8 __cil_tmp9 ;
6403
6404  {
6405  {
6406#line 549
6407  __cil_tmp4 = (u8 )180;
6408#line 549
6409  c2port_write_ar(dev, __cil_tmp4);
6410#line 552
6411  __cil_tmp5 = (u8 )3;
6412#line 552
6413  c2port_write_dr(dev, __cil_tmp5);
6414#line 555
6415  ret = c2port_poll_in_busy(dev);
6416  }
6417#line 556
6418  if (ret < 0) {
6419#line 557
6420    return ((ssize_t )ret);
6421  } else {
6422
6423  }
6424  {
6425#line 562
6426  ret = c2port_poll_out_ready(dev);
6427  }
6428#line 563
6429  if (ret < 0) {
6430#line 564
6431    return ((ssize_t )ret);
6432  } else {
6433
6434  }
6435  {
6436#line 567
6437  ret = c2port_read_dr(dev, & status);
6438  }
6439#line 568
6440  if (ret < 0) {
6441#line 569
6442    return ((ssize_t )ret);
6443  } else {
6444
6445  }
6446  {
6447#line 570
6448  __cil_tmp6 = (int )status;
6449#line 570
6450  if (__cil_tmp6 != 13) {
6451#line 571
6452    return ((ssize_t )-16);
6453  } else {
6454
6455  }
6456  }
6457  {
6458#line 578
6459  __cil_tmp7 = (u8 )222;
6460#line 578
6461  c2port_write_dr(dev, __cil_tmp7);
6462#line 579
6463  ret = c2port_poll_in_busy(dev);
6464  }
6465#line 580
6466  if (ret < 0) {
6467#line 581
6468    return ((ssize_t )ret);
6469  } else {
6470
6471  }
6472  {
6473#line 582
6474  __cil_tmp8 = (u8 )173;
6475#line 582
6476  c2port_write_dr(dev, __cil_tmp8);
6477#line 583
6478  ret = c2port_poll_in_busy(dev);
6479  }
6480#line 584
6481  if (ret < 0) {
6482#line 585
6483    return ((ssize_t )ret);
6484  } else {
6485
6486  }
6487  {
6488#line 586
6489  __cil_tmp9 = (u8 )165;
6490#line 586
6491  c2port_write_dr(dev, __cil_tmp9);
6492#line 587
6493  ret = c2port_poll_in_busy(dev);
6494  }
6495#line 588
6496  if (ret < 0) {
6497#line 589
6498    return ((ssize_t )ret);
6499  } else {
6500
6501  }
6502  {
6503#line 591
6504  ret = c2port_poll_out_ready(dev);
6505  }
6506#line 592
6507  if (ret < 0) {
6508#line 593
6509    return ((ssize_t )ret);
6510  } else {
6511
6512  }
6513#line 595
6514  return ((ssize_t )0);
6515}
6516}
6517#line 598 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6518static ssize_t c2port_store_flash_erase(struct device *dev , struct device_attribute *attr ,
6519                                        char const   *buf , size_t count ) 
6520{ struct c2port_device *c2dev ;
6521  void *tmp___7 ;
6522  int ret ;
6523  ssize_t tmp___8 ;
6524  struct device  const  *__cil_tmp9 ;
6525  unsigned int __cil_tmp10 ;
6526  unsigned int __cil_tmp11 ;
6527  struct mutex *__cil_tmp12 ;
6528  struct mutex *__cil_tmp13 ;
6529  struct device *__cil_tmp14 ;
6530  struct device  const  *__cil_tmp15 ;
6531  char *__cil_tmp16 ;
6532
6533  {
6534  {
6535#line 602
6536  __cil_tmp9 = (struct device  const  *)dev;
6537#line 602
6538  tmp___7 = dev_get_drvdata(__cil_tmp9);
6539#line 602
6540  c2dev = (struct c2port_device *)tmp___7;
6541  }
6542  {
6543#line 606
6544  __cil_tmp10 = c2dev->access;
6545#line 606
6546  if (! __cil_tmp10) {
6547#line 607
6548    return ((ssize_t )-16);
6549  } else {
6550    {
6551#line 606
6552    __cil_tmp11 = c2dev->flash_access;
6553#line 606
6554    if (! __cil_tmp11) {
6555#line 607
6556      return ((ssize_t )-16);
6557    } else {
6558
6559    }
6560    }
6561  }
6562  }
6563  {
6564#line 609
6565  __cil_tmp12 = & c2dev->mutex;
6566#line 609
6567  mutex_lock_nested(__cil_tmp12, 0U);
6568#line 610
6569  tmp___8 = __c2port_write_flash_erase(c2dev);
6570#line 610
6571  ret = (int )tmp___8;
6572#line 611
6573  __cil_tmp13 = & c2dev->mutex;
6574#line 611
6575  mutex_unlock(__cil_tmp13);
6576  }
6577#line 613
6578  if (ret < 0) {
6579    {
6580#line 614
6581    __cil_tmp14 = c2dev->dev;
6582#line 614
6583    __cil_tmp15 = (struct device  const  *)__cil_tmp14;
6584#line 614
6585    __cil_tmp16 = & c2dev->name[0];
6586#line 614
6587    dev_err(__cil_tmp15, "cannot erase %s flash\n", __cil_tmp16);
6588    }
6589#line 615
6590    return ((ssize_t )ret);
6591  } else {
6592
6593  }
6594#line 618
6595  return ((ssize_t )count);
6596}
6597}
6598#line 621 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6599static ssize_t __c2port_read_flash_data(struct c2port_device *dev , char *buffer ,
6600                                        loff_t offset , size_t count ) 
6601{ struct c2port_ops *ops ;
6602  u8 status ;
6603  u8 nread ;
6604  int i ;
6605  int ret ;
6606  unsigned short __cil_tmp10 ;
6607  int __cil_tmp11 ;
6608  unsigned short __cil_tmp12 ;
6609  int __cil_tmp13 ;
6610  int __cil_tmp14 ;
6611  loff_t __cil_tmp15 ;
6612  loff_t __cil_tmp16 ;
6613  unsigned short __cil_tmp17 ;
6614  int __cil_tmp18 ;
6615  unsigned short __cil_tmp19 ;
6616  int __cil_tmp20 ;
6617  int __cil_tmp21 ;
6618  loff_t __cil_tmp22 ;
6619  loff_t __cil_tmp23 ;
6620  unsigned short __cil_tmp24 ;
6621  int __cil_tmp25 ;
6622  unsigned short __cil_tmp26 ;
6623  int __cil_tmp27 ;
6624  int __cil_tmp28 ;
6625  loff_t __cil_tmp29 ;
6626  loff_t __cil_tmp30 ;
6627  size_t __cil_tmp31 ;
6628  int __cil_tmp32 ;
6629  u8 __cil_tmp33 ;
6630  u8 __cil_tmp34 ;
6631  int __cil_tmp35 ;
6632  loff_t __cil_tmp36 ;
6633  u8 __cil_tmp37 ;
6634  long long __cil_tmp38 ;
6635  u8 __cil_tmp39 ;
6636  int __cil_tmp40 ;
6637  int __cil_tmp41 ;
6638  char *__cil_tmp42 ;
6639  u8 *__cil_tmp43 ;
6640
6641  {
6642#line 624
6643  ops = dev->ops;
6644#line 625
6645  nread = (u8 )128;
6646  {
6647#line 629
6648  __cil_tmp10 = ops->blocks_num;
6649#line 629
6650  __cil_tmp11 = (int )__cil_tmp10;
6651#line 629
6652  __cil_tmp12 = ops->block_size;
6653#line 629
6654  __cil_tmp13 = (int )__cil_tmp12;
6655#line 629
6656  __cil_tmp14 = __cil_tmp13 * __cil_tmp11;
6657#line 629
6658  __cil_tmp15 = (loff_t )__cil_tmp14;
6659#line 629
6660  if (offset >= __cil_tmp15) {
6661#line 630
6662    return ((ssize_t )0);
6663  } else {
6664
6665  }
6666  }
6667  {
6668#line 632
6669  __cil_tmp16 = (loff_t )nread;
6670#line 632
6671  __cil_tmp17 = ops->blocks_num;
6672#line 632
6673  __cil_tmp18 = (int )__cil_tmp17;
6674#line 632
6675  __cil_tmp19 = ops->block_size;
6676#line 632
6677  __cil_tmp20 = (int )__cil_tmp19;
6678#line 632
6679  __cil_tmp21 = __cil_tmp20 * __cil_tmp18;
6680#line 632
6681  __cil_tmp22 = (loff_t )__cil_tmp21;
6682#line 632
6683  __cil_tmp23 = __cil_tmp22 - offset;
6684#line 632
6685  if (__cil_tmp23 < __cil_tmp16) {
6686#line 633
6687    __cil_tmp24 = ops->blocks_num;
6688#line 633
6689    __cil_tmp25 = (int )__cil_tmp24;
6690#line 633
6691    __cil_tmp26 = ops->block_size;
6692#line 633
6693    __cil_tmp27 = (int )__cil_tmp26;
6694#line 633
6695    __cil_tmp28 = __cil_tmp27 * __cil_tmp25;
6696#line 633
6697    __cil_tmp29 = (loff_t )__cil_tmp28;
6698#line 633
6699    __cil_tmp30 = __cil_tmp29 - offset;
6700#line 633
6701    nread = (u8 )__cil_tmp30;
6702  } else {
6703
6704  }
6705  }
6706  {
6707#line 634
6708  __cil_tmp31 = (size_t )nread;
6709#line 634
6710  if (count < __cil_tmp31) {
6711#line 635
6712    nread = (u8 )count;
6713  } else {
6714
6715  }
6716  }
6717  {
6718#line 636
6719  __cil_tmp32 = (int )nread;
6720#line 636
6721  if (__cil_tmp32 == 0) {
6722#line 637
6723    return ((ssize_t )nread);
6724  } else {
6725
6726  }
6727  }
6728  {
6729#line 641
6730  __cil_tmp33 = (u8 )180;
6731#line 641
6732  c2port_write_ar(dev, __cil_tmp33);
6733#line 644
6734  __cil_tmp34 = (u8 )6;
6735#line 644
6736  c2port_write_dr(dev, __cil_tmp34);
6737#line 647
6738  ret = c2port_poll_in_busy(dev);
6739  }
6740#line 648
6741  if (ret < 0) {
6742#line 649
6743    return ((ssize_t )ret);
6744  } else {
6745
6746  }
6747  {
6748#line 654
6749  ret = c2port_poll_out_ready(dev);
6750  }
6751#line 655
6752  if (ret < 0) {
6753#line 656
6754    return ((ssize_t )ret);
6755  } else {
6756
6757  }
6758  {
6759#line 659
6760  ret = c2port_read_dr(dev, & status);
6761  }
6762#line 660
6763  if (ret < 0) {
6764#line 661
6765    return ((ssize_t )ret);
6766  } else {
6767
6768  }
6769  {
6770#line 662
6771  __cil_tmp35 = (int )status;
6772#line 662
6773  if (__cil_tmp35 != 13) {
6774#line 663
6775    return ((ssize_t )-16);
6776  } else {
6777
6778  }
6779  }
6780  {
6781#line 666
6782  __cil_tmp36 = offset >> 8;
6783#line 666
6784  __cil_tmp37 = (u8 )__cil_tmp36;
6785#line 666
6786  c2port_write_dr(dev, __cil_tmp37);
6787#line 667
6788  ret = c2port_poll_in_busy(dev);
6789  }
6790#line 668
6791  if (ret < 0) {
6792#line 669
6793    return ((ssize_t )ret);
6794  } else {
6795
6796  }
6797  {
6798#line 672
6799  __cil_tmp38 = offset & 255LL;
6800#line 672
6801  __cil_tmp39 = (u8 )__cil_tmp38;
6802#line 672
6803  c2port_write_dr(dev, __cil_tmp39);
6804#line 673
6805  ret = c2port_poll_in_busy(dev);
6806  }
6807#line 674
6808  if (ret < 0) {
6809#line 675
6810    return ((ssize_t )ret);
6811  } else {
6812
6813  }
6814  {
6815#line 678
6816  c2port_write_dr(dev, nread);
6817#line 679
6818  ret = c2port_poll_in_busy(dev);
6819  }
6820#line 680
6821  if (ret < 0) {
6822#line 681
6823    return ((ssize_t )ret);
6824  } else {
6825
6826  }
6827  {
6828#line 686
6829  ret = c2port_poll_out_ready(dev);
6830  }
6831#line 687
6832  if (ret < 0) {
6833#line 688
6834    return ((ssize_t )ret);
6835  } else {
6836
6837  }
6838  {
6839#line 691
6840  ret = c2port_read_dr(dev, & status);
6841  }
6842#line 692
6843  if (ret < 0) {
6844#line 693
6845    return ((ssize_t )ret);
6846  } else {
6847
6848  }
6849  {
6850#line 694
6851  __cil_tmp40 = (int )status;
6852#line 694
6853  if (__cil_tmp40 != 13) {
6854#line 695
6855    return ((ssize_t )-16);
6856  } else {
6857
6858  }
6859  }
6860#line 698
6861  i = 0;
6862  {
6863#line 698
6864  while (1) {
6865    while_continue: /* CIL Label */ ;
6866
6867    {
6868#line 698
6869    __cil_tmp41 = (int )nread;
6870#line 698
6871    if (i < __cil_tmp41) {
6872
6873    } else {
6874#line 698
6875      goto while_break;
6876    }
6877    }
6878    {
6879#line 699
6880    ret = c2port_poll_out_ready(dev);
6881    }
6882#line 700
6883    if (ret < 0) {
6884#line 701
6885      return ((ssize_t )ret);
6886    } else {
6887
6888    }
6889    {
6890#line 703
6891    __cil_tmp42 = buffer + i;
6892#line 703
6893    __cil_tmp43 = (u8 *)__cil_tmp42;
6894#line 703
6895    ret = c2port_read_dr(dev, __cil_tmp43);
6896    }
6897#line 704
6898    if (ret < 0) {
6899#line 705
6900      return ((ssize_t )ret);
6901    } else {
6902
6903    }
6904#line 698
6905    i = i + 1;
6906  }
6907  while_break___0: /* CIL Label */ ;
6908  }
6909
6910  while_break: ;
6911#line 708
6912  return ((ssize_t )nread);
6913}
6914}
6915#line 711 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
6916static ssize_t c2port_read_flash_data(struct file *filp , struct kobject *kobj , struct bin_attribute *attr ,
6917                                      char *buffer , loff_t offset , size_t count ) 
6918{ struct c2port_device *c2dev ;
6919  struct kobject  const  *__mptr ;
6920  void *tmp___7 ;
6921  ssize_t ret ;
6922  struct device *__cil_tmp11 ;
6923  struct kobject *__cil_tmp12 ;
6924  unsigned int __cil_tmp13 ;
6925  char *__cil_tmp14 ;
6926  char *__cil_tmp15 ;
6927  struct device *__cil_tmp16 ;
6928  struct device  const  *__cil_tmp17 ;
6929  unsigned int __cil_tmp18 ;
6930  unsigned int __cil_tmp19 ;
6931  struct mutex *__cil_tmp20 ;
6932  struct mutex *__cil_tmp21 ;
6933  struct device *__cil_tmp22 ;
6934  struct device  const  *__cil_tmp23 ;
6935  char *__cil_tmp24 ;
6936
6937  {
6938  {
6939#line 716
6940  __mptr = (struct kobject  const  *)kobj;
6941#line 716
6942  __cil_tmp11 = (struct device *)0;
6943#line 716
6944  __cil_tmp12 = & __cil_tmp11->kobj;
6945#line 716
6946  __cil_tmp13 = (unsigned int )__cil_tmp12;
6947#line 716
6948  __cil_tmp14 = (char *)__mptr;
6949#line 716
6950  __cil_tmp15 = __cil_tmp14 - __cil_tmp13;
6951#line 716
6952  __cil_tmp16 = (struct device *)__cil_tmp15;
6953#line 716
6954  __cil_tmp17 = (struct device  const  *)__cil_tmp16;
6955#line 716
6956  tmp___7 = dev_get_drvdata(__cil_tmp17);
6957#line 716
6958  c2dev = (struct c2port_device *)tmp___7;
6959  }
6960  {
6961#line 721
6962  __cil_tmp18 = c2dev->access;
6963#line 721
6964  if (! __cil_tmp18) {
6965#line 722
6966    return ((ssize_t )-16);
6967  } else {
6968    {
6969#line 721
6970    __cil_tmp19 = c2dev->flash_access;
6971#line 721
6972    if (! __cil_tmp19) {
6973#line 722
6974      return ((ssize_t )-16);
6975    } else {
6976
6977    }
6978    }
6979  }
6980  }
6981  {
6982#line 724
6983  __cil_tmp20 = & c2dev->mutex;
6984#line 724
6985  mutex_lock_nested(__cil_tmp20, 0U);
6986#line 725
6987  ret = __c2port_read_flash_data(c2dev, buffer, offset, count);
6988#line 726
6989  __cil_tmp21 = & c2dev->mutex;
6990#line 726
6991  mutex_unlock(__cil_tmp21);
6992  }
6993#line 728
6994  if (ret < 0L) {
6995    {
6996#line 729
6997    __cil_tmp22 = c2dev->dev;
6998#line 729
6999    __cil_tmp23 = (struct device  const  *)__cil_tmp22;
7000#line 729
7001    __cil_tmp24 = & c2dev->name[0];
7002#line 729
7003    dev_err(__cil_tmp23, "cannot read %s flash\n", __cil_tmp24);
7004    }
7005  } else {
7006
7007  }
7008#line 731
7009  return (ret);
7010}
7011}
7012#line 734 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7013static ssize_t __c2port_write_flash_data(struct c2port_device *dev , char *buffer ,
7014                                         loff_t offset , size_t count ) 
7015{ struct c2port_ops *ops ;
7016  u8 status ;
7017  u8 nwrite ;
7018  int i ;
7019  int ret ;
7020  size_t __cil_tmp10 ;
7021  loff_t __cil_tmp11 ;
7022  unsigned short __cil_tmp12 ;
7023  int __cil_tmp13 ;
7024  unsigned short __cil_tmp14 ;
7025  int __cil_tmp15 ;
7026  int __cil_tmp16 ;
7027  loff_t __cil_tmp17 ;
7028  loff_t __cil_tmp18 ;
7029  unsigned short __cil_tmp19 ;
7030  int __cil_tmp20 ;
7031  unsigned short __cil_tmp21 ;
7032  int __cil_tmp22 ;
7033  int __cil_tmp23 ;
7034  loff_t __cil_tmp24 ;
7035  loff_t __cil_tmp25 ;
7036  unsigned short __cil_tmp26 ;
7037  int __cil_tmp27 ;
7038  unsigned short __cil_tmp28 ;
7039  int __cil_tmp29 ;
7040  int __cil_tmp30 ;
7041  loff_t __cil_tmp31 ;
7042  u8 __cil_tmp32 ;
7043  u8 __cil_tmp33 ;
7044  int __cil_tmp34 ;
7045  loff_t __cil_tmp35 ;
7046  u8 __cil_tmp36 ;
7047  long long __cil_tmp37 ;
7048  u8 __cil_tmp38 ;
7049  int __cil_tmp39 ;
7050  int __cil_tmp40 ;
7051  char *__cil_tmp41 ;
7052  char __cil_tmp42 ;
7053  u8 __cil_tmp43 ;
7054
7055  {
7056#line 737
7057  ops = dev->ops;
7058#line 738
7059  nwrite = (u8 )128;
7060  {
7061#line 741
7062  __cil_tmp10 = (size_t )nwrite;
7063#line 741
7064  if (__cil_tmp10 > count) {
7065#line 742
7066    nwrite = (u8 )count;
7067  } else {
7068
7069  }
7070  }
7071  {
7072#line 743
7073  __cil_tmp11 = (loff_t )nwrite;
7074#line 743
7075  __cil_tmp12 = ops->blocks_num;
7076#line 743
7077  __cil_tmp13 = (int )__cil_tmp12;
7078#line 743
7079  __cil_tmp14 = ops->block_size;
7080#line 743
7081  __cil_tmp15 = (int )__cil_tmp14;
7082#line 743
7083  __cil_tmp16 = __cil_tmp15 * __cil_tmp13;
7084#line 743
7085  __cil_tmp17 = (loff_t )__cil_tmp16;
7086#line 743
7087  __cil_tmp18 = __cil_tmp17 - offset;
7088#line 743
7089  if (__cil_tmp18 < __cil_tmp11) {
7090#line 744
7091    __cil_tmp19 = ops->blocks_num;
7092#line 744
7093    __cil_tmp20 = (int )__cil_tmp19;
7094#line 744
7095    __cil_tmp21 = ops->block_size;
7096#line 744
7097    __cil_tmp22 = (int )__cil_tmp21;
7098#line 744
7099    __cil_tmp23 = __cil_tmp22 * __cil_tmp20;
7100#line 744
7101    __cil_tmp24 = (loff_t )__cil_tmp23;
7102#line 744
7103    __cil_tmp25 = __cil_tmp24 - offset;
7104#line 744
7105    nwrite = (u8 )__cil_tmp25;
7106  } else {
7107
7108  }
7109  }
7110  {
7111#line 747
7112  __cil_tmp26 = ops->blocks_num;
7113#line 747
7114  __cil_tmp27 = (int )__cil_tmp26;
7115#line 747
7116  __cil_tmp28 = ops->block_size;
7117#line 747
7118  __cil_tmp29 = (int )__cil_tmp28;
7119#line 747
7120  __cil_tmp30 = __cil_tmp29 * __cil_tmp27;
7121#line 747
7122  __cil_tmp31 = (loff_t )__cil_tmp30;
7123#line 747
7124  if (offset >= __cil_tmp31) {
7125#line 748
7126    return ((ssize_t )-22);
7127  } else {
7128
7129  }
7130  }
7131  {
7132#line 752
7133  __cil_tmp32 = (u8 )180;
7134#line 752
7135  c2port_write_ar(dev, __cil_tmp32);
7136#line 755
7137  __cil_tmp33 = (u8 )7;
7138#line 755
7139  c2port_write_dr(dev, __cil_tmp33);
7140#line 758
7141  ret = c2port_poll_in_busy(dev);
7142  }
7143#line 759
7144  if (ret < 0) {
7145#line 760
7146    return ((ssize_t )ret);
7147  } else {
7148
7149  }
7150  {
7151#line 765
7152  ret = c2port_poll_out_ready(dev);
7153  }
7154#line 766
7155  if (ret < 0) {
7156#line 767
7157    return ((ssize_t )ret);
7158  } else {
7159
7160  }
7161  {
7162#line 770
7163  ret = c2port_read_dr(dev, & status);
7164  }
7165#line 771
7166  if (ret < 0) {
7167#line 772
7168    return ((ssize_t )ret);
7169  } else {
7170
7171  }
7172  {
7173#line 773
7174  __cil_tmp34 = (int )status;
7175#line 773
7176  if (__cil_tmp34 != 13) {
7177#line 774
7178    return ((ssize_t )-16);
7179  } else {
7180
7181  }
7182  }
7183  {
7184#line 777
7185  __cil_tmp35 = offset >> 8;
7186#line 777
7187  __cil_tmp36 = (u8 )__cil_tmp35;
7188#line 777
7189  c2port_write_dr(dev, __cil_tmp36);
7190#line 778
7191  ret = c2port_poll_in_busy(dev);
7192  }
7193#line 779
7194  if (ret < 0) {
7195#line 780
7196    return ((ssize_t )ret);
7197  } else {
7198
7199  }
7200  {
7201#line 783
7202  __cil_tmp37 = offset & 255LL;
7203#line 783
7204  __cil_tmp38 = (u8 )__cil_tmp37;
7205#line 783
7206  c2port_write_dr(dev, __cil_tmp38);
7207#line 784
7208  ret = c2port_poll_in_busy(dev);
7209  }
7210#line 785
7211  if (ret < 0) {
7212#line 786
7213    return ((ssize_t )ret);
7214  } else {
7215
7216  }
7217  {
7218#line 789
7219  c2port_write_dr(dev, nwrite);
7220#line 790
7221  ret = c2port_poll_in_busy(dev);
7222  }
7223#line 791
7224  if (ret < 0) {
7225#line 792
7226    return ((ssize_t )ret);
7227  } else {
7228
7229  }
7230  {
7231#line 797
7232  ret = c2port_poll_out_ready(dev);
7233  }
7234#line 798
7235  if (ret < 0) {
7236#line 799
7237    return ((ssize_t )ret);
7238  } else {
7239
7240  }
7241  {
7242#line 802
7243  ret = c2port_read_dr(dev, & status);
7244  }
7245#line 803
7246  if (ret < 0) {
7247#line 804
7248    return ((ssize_t )ret);
7249  } else {
7250
7251  }
7252  {
7253#line 805
7254  __cil_tmp39 = (int )status;
7255#line 805
7256  if (__cil_tmp39 != 13) {
7257#line 806
7258    return ((ssize_t )-16);
7259  } else {
7260
7261  }
7262  }
7263#line 809
7264  i = 0;
7265  {
7266#line 809
7267  while (1) {
7268    while_continue: /* CIL Label */ ;
7269
7270    {
7271#line 809
7272    __cil_tmp40 = (int )nwrite;
7273#line 809
7274    if (i < __cil_tmp40) {
7275
7276    } else {
7277#line 809
7278      goto while_break;
7279    }
7280    }
7281    {
7282#line 810
7283    __cil_tmp41 = buffer + i;
7284#line 810
7285    __cil_tmp42 = *__cil_tmp41;
7286#line 810
7287    __cil_tmp43 = (u8 )__cil_tmp42;
7288#line 810
7289    ret = c2port_write_dr(dev, __cil_tmp43);
7290    }
7291#line 811
7292    if (ret < 0) {
7293#line 812
7294      return ((ssize_t )ret);
7295    } else {
7296
7297    }
7298    {
7299#line 814
7300    ret = c2port_poll_in_busy(dev);
7301    }
7302#line 815
7303    if (ret < 0) {
7304#line 816
7305      return ((ssize_t )ret);
7306    } else {
7307
7308    }
7309#line 809
7310    i = i + 1;
7311  }
7312  while_break___0: /* CIL Label */ ;
7313  }
7314
7315  while_break: 
7316  {
7317#line 821
7318  ret = c2port_poll_out_ready(dev);
7319  }
7320#line 822
7321  if (ret < 0) {
7322#line 823
7323    return ((ssize_t )ret);
7324  } else {
7325
7326  }
7327#line 825
7328  return ((ssize_t )nwrite);
7329}
7330}
7331#line 828 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7332static ssize_t c2port_write_flash_data(struct file *filp , struct kobject *kobj ,
7333                                       struct bin_attribute *attr , char *buffer ,
7334                                       loff_t offset , size_t count ) 
7335{ struct c2port_device *c2dev ;
7336  struct kobject  const  *__mptr ;
7337  void *tmp___7 ;
7338  int ret ;
7339  ssize_t tmp___8 ;
7340  struct device *__cil_tmp12 ;
7341  struct kobject *__cil_tmp13 ;
7342  unsigned int __cil_tmp14 ;
7343  char *__cil_tmp15 ;
7344  char *__cil_tmp16 ;
7345  struct device *__cil_tmp17 ;
7346  struct device  const  *__cil_tmp18 ;
7347  unsigned int __cil_tmp19 ;
7348  unsigned int __cil_tmp20 ;
7349  struct mutex *__cil_tmp21 ;
7350  struct mutex *__cil_tmp22 ;
7351  struct device *__cil_tmp23 ;
7352  struct device  const  *__cil_tmp24 ;
7353  char *__cil_tmp25 ;
7354
7355  {
7356  {
7357#line 833
7358  __mptr = (struct kobject  const  *)kobj;
7359#line 833
7360  __cil_tmp12 = (struct device *)0;
7361#line 833
7362  __cil_tmp13 = & __cil_tmp12->kobj;
7363#line 833
7364  __cil_tmp14 = (unsigned int )__cil_tmp13;
7365#line 833
7366  __cil_tmp15 = (char *)__mptr;
7367#line 833
7368  __cil_tmp16 = __cil_tmp15 - __cil_tmp14;
7369#line 833
7370  __cil_tmp17 = (struct device *)__cil_tmp16;
7371#line 833
7372  __cil_tmp18 = (struct device  const  *)__cil_tmp17;
7373#line 833
7374  tmp___7 = dev_get_drvdata(__cil_tmp18);
7375#line 833
7376  c2dev = (struct c2port_device *)tmp___7;
7377  }
7378  {
7379#line 838
7380  __cil_tmp19 = c2dev->access;
7381#line 838
7382  if (! __cil_tmp19) {
7383#line 839
7384    return ((ssize_t )-16);
7385  } else {
7386    {
7387#line 838
7388    __cil_tmp20 = c2dev->flash_access;
7389#line 838
7390    if (! __cil_tmp20) {
7391#line 839
7392      return ((ssize_t )-16);
7393    } else {
7394
7395    }
7396    }
7397  }
7398  }
7399  {
7400#line 841
7401  __cil_tmp21 = & c2dev->mutex;
7402#line 841
7403  mutex_lock_nested(__cil_tmp21, 0U);
7404#line 842
7405  tmp___8 = __c2port_write_flash_data(c2dev, buffer, offset, count);
7406#line 842
7407  ret = (int )tmp___8;
7408#line 843
7409  __cil_tmp22 = & c2dev->mutex;
7410#line 843
7411  mutex_unlock(__cil_tmp22);
7412  }
7413#line 845
7414  if (ret < 0) {
7415    {
7416#line 846
7417    __cil_tmp23 = c2dev->dev;
7418#line 846
7419    __cil_tmp24 = (struct device  const  *)__cil_tmp23;
7420#line 846
7421    __cil_tmp25 = & c2dev->name[0];
7422#line 846
7423    dev_err(__cil_tmp24, "cannot write %s flash\n", __cil_tmp25);
7424    }
7425  } else {
7426
7427  }
7428#line 848
7429  return ((ssize_t )ret);
7430}
7431}
7432#line 855 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7433static struct device_attribute c2port_attrs[11]  = 
7434#line 855
7435  {      {{"name", (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7436                                                           {(char)0}, {(char)0}, {(char)0},
7437                                                           {(char)0}, {(char)0}}}},
7438      & c2port_show_name, (ssize_t (*)(struct device *dev , struct device_attribute *attr ,
7439                                       char const   *buf , size_t count ))((void *)0)}, 
7440        {{"flash_blocks_num",
7441       (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7442                                                   {(char)0}, {(char)0}, {(char)0},
7443                                                   {(char)0}, {(char)0}}}}, & c2port_show_flash_blocks_num,
7444      (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const   *buf ,
7445                   size_t count ))((void *)0)}, 
7446        {{"flash_block_size", (mode_t )292, (struct lock_class_key *)0, {{{(char)0},
7447                                                                       {(char)0},
7448                                                                       {(char)0},
7449                                                                       {(char)0},
7450                                                                       {(char)0},
7451                                                                       {(char)0},
7452                                                                       {(char)0},
7453                                                                       {(char)0}}}},
7454      & c2port_show_flash_block_size, (ssize_t (*)(struct device *dev , struct device_attribute *attr ,
7455                                                   char const   *buf , size_t count ))((void *)0)}, 
7456        {{"flash_size",
7457       (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7458                                                   {(char)0}, {(char)0}, {(char)0},
7459                                                   {(char)0}, {(char)0}}}}, & c2port_show_flash_size,
7460      (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const   *buf ,
7461                   size_t count ))((void *)0)}, 
7462        {{"access", (mode_t )420, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7463                                                             {(char)0}, {(char)0},
7464                                                             {(char)0}, {(char)0},
7465                                                             {(char)0}, {(char)0}}}},
7466      & c2port_show_access, & c2port_store_access}, 
7467        {{"reset", (mode_t )128, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7468                                                            {(char)0}, {(char)0},
7469                                                            {(char)0}, {(char)0},
7470                                                            {(char)0}, {(char)0}}}},
7471      (ssize_t (*)(struct device *dev , struct device_attribute *attr , char *buf ))((void *)0),
7472      & c2port_store_reset}, 
7473        {{"dev_id", (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7474                                                             {(char)0}, {(char)0},
7475                                                             {(char)0}, {(char)0},
7476                                                             {(char)0}, {(char)0}}}},
7477      & c2port_show_dev_id, (ssize_t (*)(struct device *dev , struct device_attribute *attr ,
7478                                         char const   *buf , size_t count ))((void *)0)}, 
7479        {{"rev_id",
7480       (mode_t )292, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
7481                                                   {(char)0}, {(char)0}, {(char)0},
7482                                                   {(char)0}, {(char)0}}}}, & c2port_show_rev_id,
7483      (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const   *buf ,
7484                   size_t count ))((void *)0)}, 
7485        {{"flash_access", (mode_t )420, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7486                                                                   {(char)0}, {(char)0},
7487                                                                   {(char)0}, {(char)0},
7488                                                                   {(char)0}, {(char)0}}}},
7489      & c2port_show_flash_access, & c2port_store_flash_access}, 
7490        {{"flash_erase", (mode_t )128, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7491                                                                  {(char)0}, {(char)0},
7492                                                                  {(char)0}, {(char)0},
7493                                                                  {(char)0}, {(char)0}}}},
7494      (ssize_t (*)(struct device *dev , struct device_attribute *attr , char *buf ))((void *)0),
7495      & c2port_store_flash_erase}, 
7496        {{(char const   *)((void *)0), 0U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7497                                                                      {(char)0}, {(char)0},
7498                                                                      {(char)0}, {(char)0},
7499                                                                      {(char)0}, {(char)0}}}},
7500      (ssize_t (*)(struct device *dev , struct device_attribute *attr , char *buf ))0,
7501      (ssize_t (*)(struct device *dev , struct device_attribute *attr , char const   *buf ,
7502                   size_t count ))0}};
7503#line 871 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7504static struct bin_attribute c2port_bin_attrs  =    {{"flash_data", (mode_t )420, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
7505                                                               {(char)0}, {(char)0},
7506                                                               {(char)0}, {(char)0},
7507                                                               {(char)0}, {(char)0}}}},
7508    0UL, (void *)0, & c2port_read_flash_data, & c2port_write_flash_data, (int (*)(struct file * ,
7509                                                                                  struct kobject * ,
7510                                                                                  struct bin_attribute *attr ,
7511                                                                                  struct vm_area_struct *vma ))0};
7512#line 925 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7513static struct lock_class_key __key___4  ;
7514#line 885 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
7515struct c2port_device *c2port_device_register(char *name , struct c2port_ops *ops ,
7516                                             void *devdata ) 
7517{ struct c2port_device *c2dev ;
7518  int id ;
7519  int ret ;
7520  void *tmp___7 ;
7521  long tmp___8 ;
7522  long tmp___9 ;
7523  long tmp___10 ;
7524  long tmp___11 ;
7525  long tmp___12 ;
7526  long tmp___13 ;
7527  void *tmp___14 ;
7528  void *tmp___15 ;
7529  long tmp___16 ;
7530  long tmp___17 ;
7531  long tmp___18 ;
7532  int tmp___19 ;
7533  long tmp___20 ;
7534  long tmp___21 ;
7535  unsigned int tmp___22 ;
7536  void *tmp___23 ;
7537  void *tmp ;
7538  void *tmp___24 ;
7539  void *tmp___25 ;
7540  void *tmp___26 ;
7541  void *tmp___27 ;
7542  void *tmp___28 ;
7543  void *tmp___29 ;
7544  long tmp___30 ;
7545  long tmp___31 ;
7546  int tmp___32 ;
7547  void *tmp___33 ;
7548  void *tmp___34 ;
7549  void *tmp___35 ;
7550  void *tmp___36 ;
7551  void *tmp___37 ;
7552  void *tmp___38 ;
7553  void *tmp___39 ;
7554  void *tmp___40 ;
7555  long tmp___41 ;
7556  long tmp___42 ;
7557  int tmp___43 ;
7558  void *tmp___44 ;
7559  int __cil_tmp46 ;
7560  int __cil_tmp47 ;
7561  int __cil_tmp48 ;
7562  long __cil_tmp49 ;
7563  void (*__cil_tmp50)(struct c2port_device *dev , int status ) ;
7564  int __cil_tmp51 ;
7565  int __cil_tmp52 ;
7566  int __cil_tmp53 ;
7567  long __cil_tmp54 ;
7568  void (*__cil_tmp55)(struct c2port_device *dev , int dir ) ;
7569  int __cil_tmp56 ;
7570  int __cil_tmp57 ;
7571  int __cil_tmp58 ;
7572  long __cil_tmp59 ;
7573  void (*__cil_tmp60)(struct c2port_device *dev , int status ) ;
7574  int __cil_tmp61 ;
7575  int __cil_tmp62 ;
7576  int __cil_tmp63 ;
7577  long __cil_tmp64 ;
7578  int (*__cil_tmp65)(struct c2port_device *dev ) ;
7579  int __cil_tmp66 ;
7580  int __cil_tmp67 ;
7581  int __cil_tmp68 ;
7582  long __cil_tmp69 ;
7583  void (*__cil_tmp70)(struct c2port_device *dev , int status ) ;
7584  int __cil_tmp71 ;
7585  int __cil_tmp72 ;
7586  int __cil_tmp73 ;
7587  long __cil_tmp74 ;
7588  int __cil_tmp75 ;
7589  int __cil_tmp76 ;
7590  int __cil_tmp77 ;
7591  long __cil_tmp78 ;
7592  void *__cil_tmp79 ;
7593  void *__cil_tmp80 ;
7594  struct device *__cil_tmp81 ;
7595  dev_t __cil_tmp82 ;
7596  void *__cil_tmp83 ;
7597  struct device *__cil_tmp84 ;
7598  void const   *__cil_tmp85 ;
7599  long __cil_tmp86 ;
7600  struct device *__cil_tmp87 ;
7601  void const   *__cil_tmp88 ;
7602  struct device *__cil_tmp89 ;
7603  void *__cil_tmp90 ;
7604  char *__cil_tmp91 ;
7605  char const   *__cil_tmp92 ;
7606  __kernel_size_t __cil_tmp93 ;
7607  struct mutex *__cil_tmp94 ;
7608  unsigned short __cil_tmp95 ;
7609  int __cil_tmp96 ;
7610  unsigned short __cil_tmp97 ;
7611  int __cil_tmp98 ;
7612  int __cil_tmp99 ;
7613  struct device *__cil_tmp100 ;
7614  struct bin_attribute  const  *__cil_tmp101 ;
7615  int __cil_tmp102 ;
7616  int __cil_tmp103 ;
7617  long __cil_tmp104 ;
7618  void (*__cil_tmp105)(struct c2port_device *dev , int status ) ;
7619  struct device *__cil_tmp106 ;
7620  struct device  const  *__cil_tmp107 ;
7621  struct device *__cil_tmp108 ;
7622  struct device  const  *__cil_tmp109 ;
7623  unsigned short __cil_tmp110 ;
7624  int __cil_tmp111 ;
7625  unsigned short __cil_tmp112 ;
7626  int __cil_tmp113 ;
7627  unsigned short __cil_tmp114 ;
7628  int __cil_tmp115 ;
7629  unsigned short __cil_tmp116 ;
7630  int __cil_tmp117 ;
7631  int __cil_tmp118 ;
7632  dev_t __cil_tmp119 ;
7633  void const   *__cil_tmp120 ;
7634  long __cil_tmp121 ;
7635
7636  {
7637  {
7638#line 891
7639  __cil_tmp46 = ! ops;
7640#line 891
7641  __cil_tmp47 = ! __cil_tmp46;
7642#line 891
7643  __cil_tmp48 = ! __cil_tmp47;
7644#line 891
7645  __cil_tmp49 = (long )__cil_tmp48;
7646#line 891
7647  tmp___8 = __builtin_expect(__cil_tmp49, 0L);
7648  }
7649#line 891
7650  if (tmp___8) {
7651    {
7652#line 894
7653    tmp___34 = (void *)ERR_PTR(-22L);
7654#line 894
7655    tmp = tmp___34;
7656#line 894
7657    tmp___7 = tmp;
7658    }
7659#line 894
7660    return ((struct c2port_device *)tmp___7);
7661  } else {
7662    {
7663#line 891
7664    __cil_tmp50 = ops->access;
7665#line 891
7666    __cil_tmp51 = ! __cil_tmp50;
7667#line 891
7668    __cil_tmp52 = ! __cil_tmp51;
7669#line 891
7670    __cil_tmp53 = ! __cil_tmp52;
7671#line 891
7672    __cil_tmp54 = (long )__cil_tmp53;
7673#line 891
7674    tmp___9 = __builtin_expect(__cil_tmp54, 0L);
7675    }
7676#line 891
7677    if (tmp___9) {
7678      {
7679#line 894
7680      tmp___35 = (void *)ERR_PTR(-22L);
7681#line 894
7682      tmp___24 = tmp___35;
7683#line 894
7684      tmp___7 = tmp___24;
7685      }
7686#line 894
7687      return ((struct c2port_device *)tmp___7);
7688    } else {
7689      {
7690#line 891
7691      __cil_tmp55 = ops->c2d_dir;
7692#line 891
7693      __cil_tmp56 = ! __cil_tmp55;
7694#line 891
7695      __cil_tmp57 = ! __cil_tmp56;
7696#line 891
7697      __cil_tmp58 = ! __cil_tmp57;
7698#line 891
7699      __cil_tmp59 = (long )__cil_tmp58;
7700#line 891
7701      tmp___10 = __builtin_expect(__cil_tmp59, 0L);
7702      }
7703#line 891
7704      if (tmp___10) {
7705        {
7706#line 894
7707        tmp___36 = (void *)ERR_PTR(-22L);
7708#line 894
7709        tmp___25 = tmp___36;
7710#line 894
7711        tmp___7 = tmp___25;
7712        }
7713#line 894
7714        return ((struct c2port_device *)tmp___7);
7715      } else {
7716        {
7717#line 891
7718        __cil_tmp60 = ops->c2ck_set;
7719#line 891
7720        __cil_tmp61 = ! __cil_tmp60;
7721#line 891
7722        __cil_tmp62 = ! __cil_tmp61;
7723#line 891
7724        __cil_tmp63 = ! __cil_tmp62;
7725#line 891
7726        __cil_tmp64 = (long )__cil_tmp63;
7727#line 891
7728        tmp___11 = __builtin_expect(__cil_tmp64, 0L);
7729        }
7730#line 891
7731        if (tmp___11) {
7732          {
7733#line 894
7734          tmp___37 = (void *)ERR_PTR(-22L);
7735#line 894
7736          tmp___26 = tmp___37;
7737#line 894
7738          tmp___7 = tmp___26;
7739          }
7740#line 894
7741          return ((struct c2port_device *)tmp___7);
7742        } else {
7743          {
7744#line 891
7745          __cil_tmp65 = ops->c2d_get;
7746#line 891
7747          __cil_tmp66 = ! __cil_tmp65;
7748#line 891
7749          __cil_tmp67 = ! __cil_tmp66;
7750#line 891
7751          __cil_tmp68 = ! __cil_tmp67;
7752#line 891
7753          __cil_tmp69 = (long )__cil_tmp68;
7754#line 891
7755          tmp___12 = __builtin_expect(__cil_tmp69, 0L);
7756          }
7757#line 891
7758          if (tmp___12) {
7759            {
7760#line 894
7761            tmp___38 = (void *)ERR_PTR(-22L);
7762#line 894
7763            tmp___27 = tmp___38;
7764#line 894
7765            tmp___7 = tmp___27;
7766            }
7767#line 894
7768            return ((struct c2port_device *)tmp___7);
7769          } else {
7770            {
7771#line 891
7772            __cil_tmp70 = ops->c2d_set;
7773#line 891
7774            __cil_tmp71 = ! __cil_tmp70;
7775#line 891
7776            __cil_tmp72 = ! __cil_tmp71;
7777#line 891
7778            __cil_tmp73 = ! __cil_tmp72;
7779#line 891
7780            __cil_tmp74 = (long )__cil_tmp73;
7781#line 891
7782            tmp___13 = __builtin_expect(__cil_tmp74, 0L);
7783            }
7784#line 891
7785            if (tmp___13) {
7786              {
7787#line 894
7788              tmp___39 = (void *)ERR_PTR(-22L);
7789#line 894
7790              tmp___28 = tmp___39;
7791#line 894
7792              tmp___7 = tmp___28;
7793              }
7794#line 894
7795              return ((struct c2port_device *)tmp___7);
7796            } else {
7797
7798            }
7799          }
7800        }
7801      }
7802    }
7803  }
7804  {
7805#line 896
7806  tmp___14 = kmalloc(232UL, 208U);
7807#line 896
7808  c2dev = (struct c2port_device *)tmp___14;
7809  }
7810  {
7811#line 897
7812  while (1) {
7813    while_continue: /* CIL Label */ ;
7814
7815#line 897
7816    goto while_break;
7817  }
7818  while_break___1: /* CIL Label */ ;
7819  }
7820
7821  while_break: 
7822  {
7823#line 898
7824  __cil_tmp75 = ! c2dev;
7825#line 898
7826  __cil_tmp76 = ! __cil_tmp75;
7827#line 898
7828  __cil_tmp77 = ! __cil_tmp76;
7829#line 898
7830  __cil_tmp78 = (long )__cil_tmp77;
7831#line 898
7832  tmp___16 = __builtin_expect(__cil_tmp78, 0L);
7833  }
7834#line 898
7835  if (tmp___16) {
7836    {
7837#line 899
7838    tmp___40 = (void *)ERR_PTR(-12L);
7839#line 899
7840    tmp___29 = tmp___40;
7841#line 899
7842    tmp___15 = tmp___29;
7843    }
7844#line 899
7845    return ((struct c2port_device *)tmp___15);
7846  } else {
7847
7848  }
7849  {
7850#line 901
7851  ret = idr_pre_get(& c2port_idr, 208U);
7852  }
7853#line 902
7854  if (! ret) {
7855#line 903
7856    ret = -12;
7857#line 904
7858    goto error_idr_get_new;
7859  } else {
7860
7861  }
7862  {
7863#line 907
7864  spin_lock_irq(& c2port_idr_lock);
7865#line 908
7866  __cil_tmp79 = (void *)c2dev;
7867#line 908
7868  ret = idr_get_new(& c2port_idr, __cil_tmp79, & id);
7869#line 909
7870  spin_unlock_irq(& c2port_idr_lock);
7871  }
7872#line 911
7873  if (ret < 0) {
7874#line 912
7875    goto error_idr_get_new;
7876  } else {
7877
7878  }
7879  {
7880#line 913
7881  c2dev->id = id;
7882#line 915
7883  __cil_tmp80 = (void *)0;
7884#line 915
7885  __cil_tmp81 = (struct device *)__cil_tmp80;
7886#line 915
7887  __cil_tmp82 = (dev_t )0;
7888#line 915
7889  __cil_tmp83 = (void *)c2dev;
7890#line 915
7891  c2dev->dev = device_create(c2port_class, __cil_tmp81, __cil_tmp82, __cil_tmp83,
7892                             "c2port%d", id);
7893#line 917
7894  __cil_tmp84 = c2dev->dev;
7895#line 917
7896  __cil_tmp85 = (void const   *)__cil_tmp84;
7897#line 917
7898  tmp___41 = (long )IS_ERR(__cil_tmp85);
7899#line 917
7900  tmp___30 = tmp___41;
7901#line 917
7902  tmp___18 = tmp___30;
7903  }
7904#line 917
7905  if (tmp___18) {
7906#line 917
7907    tmp___19 = 1;
7908  } else {
7909#line 917
7910    tmp___19 = 0;
7911  }
7912  {
7913#line 917
7914  __cil_tmp86 = (long )tmp___19;
7915#line 917
7916  tmp___20 = __builtin_expect(__cil_tmp86, 0L);
7917  }
7918#line 917
7919  if (tmp___20) {
7920    {
7921#line 918
7922    __cil_tmp87 = c2dev->dev;
7923#line 918
7924    __cil_tmp88 = (void const   *)__cil_tmp87;
7925#line 918
7926    tmp___42 = (long )PTR_ERR(__cil_tmp88);
7927#line 918
7928    tmp___31 = tmp___42;
7929#line 918
7930    tmp___17 = tmp___31;
7931#line 918
7932    ret = (int )tmp___17;
7933    }
7934#line 919
7935    goto error_device_create;
7936  } else {
7937
7938  }
7939  {
7940#line 921
7941  __cil_tmp89 = c2dev->dev;
7942#line 921
7943  __cil_tmp90 = (void *)c2dev;
7944#line 921
7945  dev_set_drvdata(__cil_tmp89, __cil_tmp90);
7946#line 923
7947  __cil_tmp91 = & c2dev->name[0];
7948#line 923
7949  __cil_tmp92 = (char const   *)name;
7950#line 923
7951  __cil_tmp93 = (__kernel_size_t )32;
7952#line 923
7953  strncpy(__cil_tmp91, __cil_tmp92, __cil_tmp93);
7954#line 924
7955  c2dev->ops = ops;
7956  }
7957  {
7958#line 925
7959  while (1) {
7960    while_continue___0: /* CIL Label */ ;
7961    {
7962#line 925
7963    __cil_tmp94 = & c2dev->mutex;
7964#line 925
7965    __mutex_init(__cil_tmp94, "&c2dev->mutex", & __key___4);
7966    }
7967#line 925
7968    goto while_break___0;
7969  }
7970  while_break___2: /* CIL Label */ ;
7971  }
7972
7973  while_break___0: 
7974  {
7975#line 928
7976  __cil_tmp95 = ops->block_size;
7977#line 928
7978  __cil_tmp96 = (int )__cil_tmp95;
7979#line 928
7980  __cil_tmp97 = ops->blocks_num;
7981#line 928
7982  __cil_tmp98 = (int )__cil_tmp97;
7983#line 928
7984  __cil_tmp99 = __cil_tmp98 * __cil_tmp96;
7985#line 928
7986  c2port_bin_attrs.size = (size_t )__cil_tmp99;
7987#line 929
7988  __cil_tmp100 = c2dev->dev;
7989#line 929
7990  __cil_tmp101 = (struct bin_attribute  const  *)(& c2port_bin_attrs);
7991#line 929
7992  tmp___43 = (int )device_create_bin_file(__cil_tmp100, __cil_tmp101);
7993#line 929
7994  tmp___32 = tmp___43;
7995#line 929
7996  ret = tmp___32;
7997#line 930
7998  __cil_tmp102 = ! ret;
7999#line 930
8000  __cil_tmp103 = ! __cil_tmp102;
8001#line 930
8002  __cil_tmp104 = (long )__cil_tmp103;
8003#line 930
8004  tmp___21 = __builtin_expect(__cil_tmp104, 0L);
8005  }
8006#line 930
8007  if (tmp___21) {
8008#line 931
8009    goto error_device_create_bin_file;
8010  } else {
8011
8012  }
8013  {
8014#line 934
8015  tmp___22 = 0U;
8016#line 934
8017  c2dev->flash_access = tmp___22;
8018#line 934
8019  c2dev->access = tmp___22;
8020#line 935
8021  __cil_tmp105 = ops->access;
8022#line 935
8023  (*__cil_tmp105)(c2dev, 0);
8024#line 937
8025  __cil_tmp106 = c2dev->dev;
8026#line 937
8027  __cil_tmp107 = (struct device  const  *)__cil_tmp106;
8028#line 937
8029  _dev_info(__cil_tmp107, "C2 port %s added\n", name);
8030#line 938
8031  __cil_tmp108 = c2dev->dev;
8032#line 938
8033  __cil_tmp109 = (struct device  const  *)__cil_tmp108;
8034#line 938
8035  __cil_tmp110 = ops->blocks_num;
8036#line 938
8037  __cil_tmp111 = (int )__cil_tmp110;
8038#line 938
8039  __cil_tmp112 = ops->block_size;
8040#line 938
8041  __cil_tmp113 = (int )__cil_tmp112;
8042#line 938
8043  __cil_tmp114 = ops->block_size;
8044#line 938
8045  __cil_tmp115 = (int )__cil_tmp114;
8046#line 938
8047  __cil_tmp116 = ops->blocks_num;
8048#line 938
8049  __cil_tmp117 = (int )__cil_tmp116;
8050#line 938
8051  __cil_tmp118 = __cil_tmp117 * __cil_tmp115;
8052#line 938
8053  _dev_info(__cil_tmp109, "%s flash has %d blocks x %d bytes (%d bytes total)\n",
8054            name, __cil_tmp111, __cil_tmp113, __cil_tmp118);
8055  }
8056#line 943
8057  return (c2dev);
8058  error_device_create_bin_file: 
8059  {
8060#line 946
8061  __cil_tmp119 = (dev_t )0;
8062#line 946
8063  device_destroy(c2port_class, __cil_tmp119);
8064  }
8065  error_device_create: 
8066  {
8067#line 949
8068  spin_lock_irq(& c2port_idr_lock);
8069#line 950
8070  idr_remove(& c2port_idr, id);
8071#line 951
8072  spin_unlock_irq(& c2port_idr_lock);
8073  }
8074  error_idr_get_new: 
8075  {
8076#line 954
8077  __cil_tmp120 = (void const   *)c2dev;
8078#line 954
8079  kfree(__cil_tmp120);
8080#line 956
8081  __cil_tmp121 = (long )ret;
8082#line 956
8083  tmp___44 = (void *)ERR_PTR(__cil_tmp121);
8084#line 956
8085  tmp___33 = tmp___44;
8086#line 956
8087  tmp___23 = tmp___33;
8088  }
8089#line 956
8090  return ((struct c2port_device *)tmp___23);
8091}
8092}
8093#line 958
8094extern void *__crc_c2port_device_register  __attribute__((__weak__)) ;
8095#line 958 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8096static unsigned long const   __kcrctab_c2port_device_register  __attribute__((__used__,
8097__unused__, __section__("___kcrctab+c2port_device_register")))  =    (unsigned long const   )((unsigned long )(& __crc_c2port_device_register));
8098#line 958 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8099static char const   __kstrtab_c2port_device_register[23]  __attribute__((__section__("__ksymtab_strings"),
8100__aligned__(1)))  = 
8101#line 958
8102  {      (char const   )'c',      (char const   )'2',      (char const   )'p',      (char const   )'o', 
8103        (char const   )'r',      (char const   )'t',      (char const   )'_',      (char const   )'d', 
8104        (char const   )'e',      (char const   )'v',      (char const   )'i',      (char const   )'c', 
8105        (char const   )'e',      (char const   )'_',      (char const   )'r',      (char const   )'e', 
8106        (char const   )'g',      (char const   )'i',      (char const   )'s',      (char const   )'t', 
8107        (char const   )'e',      (char const   )'r',      (char const   )'\000'};
8108#line 958 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8109static struct kernel_symbol  const  __ksymtab_c2port_device_register  __attribute__((__used__,
8110__unused__, __section__("___ksymtab+c2port_device_register")))  =    {(unsigned long )(& c2port_device_register), __kstrtab_c2port_device_register};
8111#line 960 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8112void c2port_device_unregister(struct c2port_device *c2dev ) 
8113{ struct device *__cil_tmp2 ;
8114  struct device  const  *__cil_tmp3 ;
8115  char *__cil_tmp4 ;
8116  struct device *__cil_tmp5 ;
8117  struct bin_attribute  const  *__cil_tmp6 ;
8118  int __cil_tmp7 ;
8119  int __cil_tmp8 ;
8120  dev_t __cil_tmp9 ;
8121  void const   *__cil_tmp10 ;
8122
8123  {
8124#line 962
8125  if (! c2dev) {
8126#line 963
8127    return;
8128  } else {
8129
8130  }
8131  {
8132#line 965
8133  __cil_tmp2 = c2dev->dev;
8134#line 965
8135  __cil_tmp3 = (struct device  const  *)__cil_tmp2;
8136#line 965
8137  __cil_tmp4 = & c2dev->name[0];
8138#line 965
8139  _dev_info(__cil_tmp3, "C2 port %s removed\n", __cil_tmp4);
8140#line 967
8141  __cil_tmp5 = c2dev->dev;
8142#line 967
8143  __cil_tmp6 = (struct bin_attribute  const  *)(& c2port_bin_attrs);
8144#line 967
8145  device_remove_bin_file(__cil_tmp5, __cil_tmp6);
8146#line 968
8147  spin_lock_irq(& c2port_idr_lock);
8148#line 969
8149  __cil_tmp7 = c2dev->id;
8150#line 969
8151  idr_remove(& c2port_idr, __cil_tmp7);
8152#line 970
8153  spin_unlock_irq(& c2port_idr_lock);
8154#line 972
8155  __cil_tmp8 = c2dev->id;
8156#line 972
8157  __cil_tmp9 = (dev_t )__cil_tmp8;
8158#line 972
8159  device_destroy(c2port_class, __cil_tmp9);
8160#line 974
8161  __cil_tmp10 = (void const   *)c2dev;
8162#line 974
8163  kfree(__cil_tmp10);
8164  }
8165#line 975
8166  return;
8167}
8168}
8169#line 976
8170extern void *__crc_c2port_device_unregister  __attribute__((__weak__)) ;
8171#line 976 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8172static unsigned long const   __kcrctab_c2port_device_unregister  __attribute__((__used__,
8173__unused__, __section__("___kcrctab+c2port_device_unregister")))  =    (unsigned long const   )((unsigned long )(& __crc_c2port_device_unregister));
8174#line 976 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8175static char const   __kstrtab_c2port_device_unregister[25]  __attribute__((__section__("__ksymtab_strings"),
8176__aligned__(1)))  = 
8177#line 976
8178  {      (char const   )'c',      (char const   )'2',      (char const   )'p',      (char const   )'o', 
8179        (char const   )'r',      (char const   )'t',      (char const   )'_',      (char const   )'d', 
8180        (char const   )'e',      (char const   )'v',      (char const   )'i',      (char const   )'c', 
8181        (char const   )'e',      (char const   )'_',      (char const   )'u',      (char const   )'n', 
8182        (char const   )'r',      (char const   )'e',      (char const   )'g',      (char const   )'i', 
8183        (char const   )'s',      (char const   )'t',      (char const   )'e',      (char const   )'r', 
8184        (char const   )'\000'};
8185#line 976 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8186static struct kernel_symbol  const  __ksymtab_c2port_device_unregister  __attribute__((__used__,
8187__unused__, __section__("___ksymtab+c2port_device_unregister")))  =    {(unsigned long )(& c2port_device_unregister), __kstrtab_c2port_device_unregister};
8188#line 987 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8189static struct lock_class_key __key___5  ;
8190#line 982
8191static int c2port_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8192#line 982
8193static int c2port_init(void)  __attribute__((__section__(".init.text"), __no_instrument_function__)) ;
8194#line 982 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8195static int c2port_init(void) 
8196{ struct class *tmp___7 ;
8197  struct class *tmp ;
8198  struct class *tmp___8 ;
8199
8200  {
8201  {
8202#line 984
8203  printk("<6>Silicon Labs C2 port support v. 0.51.0 - (C) 2007 Rodolfo Giometti\n");
8204#line 987
8205  tmp___8 = (struct class *)__class_create(& __this_module, "c2port", & __key___5);
8206#line 987
8207  tmp = tmp___8;
8208#line 987
8209  tmp___7 = tmp;
8210#line 987
8211  c2port_class = tmp___7;
8212  }
8213#line 988
8214  if (! c2port_class) {
8215    {
8216#line 989
8217    printk("<3>c2port: failed to allocate class\n");
8218    }
8219#line 990
8220    return (-12);
8221  } else {
8222
8223  }
8224#line 992
8225  c2port_class->dev_attrs = & c2port_attrs[0];
8226#line 994
8227  return (0);
8228}
8229}
8230#line 997
8231static void c2port_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8232#line 997
8233static void c2port_exit(void)  __attribute__((__section__(".exit.text"), __no_instrument_function__)) ;
8234#line 997 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8235static void c2port_exit(void) 
8236{ 
8237
8238  {
8239  {
8240#line 999
8241  class_destroy(c2port_class);
8242  }
8243#line 1000
8244  return;
8245}
8246}
8247#line 1002 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8248int init_module(void) 
8249{ int tmp___7 ;
8250
8251  {
8252  {
8253#line 1002
8254  tmp___7 = c2port_init();
8255  }
8256#line 1002
8257  return (tmp___7);
8258}
8259}
8260#line 1003 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8261void cleanup_module(void) 
8262{ 
8263
8264  {
8265  {
8266#line 1003
8267  c2port_exit();
8268  }
8269#line 1003
8270  return;
8271}
8272}
8273#line 1005 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8274static char const   __mod_author1005[44]  __attribute__((__used__, __unused__, __section__(".modinfo"),
8275__aligned__(1)))  = 
8276#line 1005
8277  {      (char const   )'a',      (char const   )'u',      (char const   )'t',      (char const   )'h', 
8278        (char const   )'o',      (char const   )'r',      (char const   )'=',      (char const   )'R', 
8279        (char const   )'o',      (char const   )'d',      (char const   )'o',      (char const   )'l', 
8280        (char const   )'f',      (char const   )'o',      (char const   )' ',      (char const   )'G', 
8281        (char const   )'i',      (char const   )'o',      (char const   )'m',      (char const   )'e', 
8282        (char const   )'t',      (char const   )'t',      (char const   )'i',      (char const   )' ', 
8283        (char const   )'<',      (char const   )'g',      (char const   )'i',      (char const   )'o', 
8284        (char const   )'m',      (char const   )'e',      (char const   )'t',      (char const   )'t', 
8285        (char const   )'i',      (char const   )'@',      (char const   )'l',      (char const   )'i', 
8286        (char const   )'n',      (char const   )'u',      (char const   )'x',      (char const   )'.', 
8287        (char const   )'i',      (char const   )'t',      (char const   )'>',      (char const   )'\000'};
8288#line 1006 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8289static char const   __mod_description1006[51]  __attribute__((__used__, __unused__,
8290__section__(".modinfo"), __aligned__(1)))  = 
8291#line 1006
8292  {      (char const   )'d',      (char const   )'e',      (char const   )'s',      (char const   )'c', 
8293        (char const   )'r',      (char const   )'i',      (char const   )'p',      (char const   )'t', 
8294        (char const   )'i',      (char const   )'o',      (char const   )'n',      (char const   )'=', 
8295        (char const   )'S',      (char const   )'i',      (char const   )'l',      (char const   )'i', 
8296        (char const   )'c',      (char const   )'o',      (char const   )'n',      (char const   )' ', 
8297        (char const   )'L',      (char const   )'a',      (char const   )'b',      (char const   )'s', 
8298        (char const   )' ',      (char const   )'C',      (char const   )'2',      (char const   )' ', 
8299        (char const   )'p',      (char const   )'o',      (char const   )'r',      (char const   )'t', 
8300        (char const   )' ',      (char const   )'s',      (char const   )'u',      (char const   )'p', 
8301        (char const   )'p',      (char const   )'o',      (char const   )'r',      (char const   )'t', 
8302        (char const   )' ',      (char const   )'v',      (char const   )'.',      (char const   )' ', 
8303        (char const   )'0',      (char const   )'.',      (char const   )'5',      (char const   )'1', 
8304        (char const   )'.',      (char const   )'0',      (char const   )'\000'};
8305#line 1007 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8306static char const   __mod_license1007[12]  __attribute__((__used__, __unused__, __section__(".modinfo"),
8307__aligned__(1)))  = 
8308#line 1007
8309  {      (char const   )'l',      (char const   )'i',      (char const   )'c',      (char const   )'e', 
8310        (char const   )'n',      (char const   )'s',      (char const   )'e',      (char const   )'=', 
8311        (char const   )'G',      (char const   )'P',      (char const   )'L',      (char const   )'\000'};
8312#line 1025
8313void ldv_check_final_state(void)  __attribute__((__ldv_model__)) ;
8314#line 1031
8315extern void ldv_initialize(void) ;
8316#line 1034
8317extern int nondet_int(void) ;
8318#line 1037 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8319int LDV_IN_INTERRUPT  ;
8320#line 1040 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/drivers/misc/c2port/core.c.common.c"
8321void main(void) 
8322{ struct file *var_group1 ;
8323  struct kobject *var_group2 ;
8324  struct bin_attribute *var_c2port_read_flash_data_25_p2 ;
8325  char *var_c2port_read_flash_data_25_p3 ;
8326  loff_t var_c2port_read_flash_data_25_p4 ;
8327  size_t var_c2port_read_flash_data_25_p5 ;
8328  struct bin_attribute *var_c2port_write_flash_data_27_p2 ;
8329  char *var_c2port_write_flash_data_27_p3 ;
8330  loff_t var_c2port_write_flash_data_27_p4 ;
8331  size_t var_c2port_write_flash_data_27_p5 ;
8332  int tmp___7 ;
8333  int tmp___8 ;
8334  int tmp___9 ;
8335
8336  {
8337  {
8338#line 1108
8339  LDV_IN_INTERRUPT = 1;
8340#line 1117
8341  ldv_initialize();
8342#line 1138
8343  tmp___7 = c2port_init();
8344  }
8345#line 1138
8346  if (tmp___7) {
8347#line 1139
8348    goto ldv_final;
8349  } else {
8350
8351  }
8352  {
8353#line 1143
8354  while (1) {
8355    while_continue: /* CIL Label */ ;
8356    {
8357#line 1143
8358    tmp___9 = nondet_int();
8359    }
8360#line 1143
8361    if (tmp___9) {
8362
8363    } else {
8364#line 1143
8365      goto while_break;
8366    }
8367    {
8368#line 1146
8369    tmp___8 = nondet_int();
8370    }
8371#line 1148
8372    if (tmp___8 == 0) {
8373#line 1148
8374      goto case_0;
8375    } else
8376#line 1179
8377    if (tmp___8 == 1) {
8378#line 1179
8379      goto case_1;
8380    } else {
8381#line 1210
8382      goto switch_default;
8383#line 1146
8384      if (0) {
8385        case_0: 
8386        {
8387#line 1171
8388        c2port_read_flash_data(var_group1, var_group2, var_c2port_read_flash_data_25_p2,
8389                               var_c2port_read_flash_data_25_p3, var_c2port_read_flash_data_25_p4,
8390                               var_c2port_read_flash_data_25_p5);
8391        }
8392#line 1178
8393        goto switch_break;
8394        case_1: 
8395        {
8396#line 1202
8397        c2port_write_flash_data(var_group1, var_group2, var_c2port_write_flash_data_27_p2,
8398                                var_c2port_write_flash_data_27_p3, var_c2port_write_flash_data_27_p4,
8399                                var_c2port_write_flash_data_27_p5);
8400        }
8401#line 1209
8402        goto switch_break;
8403        switch_default: 
8404#line 1210
8405        goto switch_break;
8406      } else {
8407        switch_break: ;
8408      }
8409    }
8410  }
8411  while_break___0: /* CIL Label */ ;
8412  }
8413
8414  while_break: 
8415  {
8416#line 1237
8417  c2port_exit();
8418  }
8419  ldv_final: 
8420  {
8421#line 1240
8422  ldv_check_final_state();
8423  }
8424#line 1243
8425  return;
8426}
8427}
8428#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast-assert.h"
8429void ldv_blast_assert(void) 
8430{ 
8431
8432  {
8433  ERROR: 
8434#line 6
8435  goto ERROR;
8436}
8437}
8438#line 7 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/engine-blast.h"
8439extern void *ldv_undefined_pointer(void) ;
8440#line 1332 "include/linux/usb.h"
8441struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )  __attribute__((__ldv_model__)) ;
8442#line 1333
8443void usb_free_urb(struct urb *urb )  __attribute__((__ldv_model__)) ;
8444#line 1377
8445void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8446                         dma_addr_t *dma )  __attribute__((__ldv_model__)) ;
8447#line 1379
8448void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )  __attribute__((__ldv_model__)) ;
8449#line 10 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8450void ldv_assume_stop(void)  __attribute__((__ldv_model_inline__)) ;
8451#line 22
8452void ldv_assume_stop(void)  __attribute__((__ldv_model_inline__)) ;
8453#line 22 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8454void ldv_assume_stop(void) 
8455{ 
8456
8457  {
8458  LDV_STOP: 
8459#line 23
8460  goto LDV_STOP;
8461}
8462}
8463#line 29 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8464int ldv_urb_state  =    0;
8465#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8466int ldv_coherent_state  =    0;
8467#line 62
8468void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8469                         dma_addr_t *dma )  __attribute__((__ldv_model__)) ;
8470#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8471void *usb_alloc_coherent(struct usb_device *dev , size_t size , gfp_t mem_flags ,
8472                         dma_addr_t *dma ) 
8473{ void *arbitrary_memory ;
8474  void *tmp___7 ;
8475
8476  {
8477  {
8478#line 64
8479  while (1) {
8480    while_continue: /* CIL Label */ ;
8481    {
8482#line 64
8483    tmp___7 = ldv_undefined_pointer();
8484#line 64
8485    arbitrary_memory = tmp___7;
8486    }
8487#line 64
8488    if (! arbitrary_memory) {
8489#line 64
8490      return ((void *)0);
8491    } else {
8492
8493    }
8494#line 64
8495    ldv_coherent_state = ldv_coherent_state + 1;
8496#line 64
8497    return (arbitrary_memory);
8498#line 64
8499    goto while_break;
8500  }
8501  while_break___0: /* CIL Label */ ;
8502  }
8503
8504  while_break: ;
8505#line 65
8506  return ((void *)0);
8507}
8508}
8509#line 68
8510void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma )  __attribute__((__ldv_model__)) ;
8511#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8512void usb_free_coherent(struct usb_device *dev , size_t size , void *addr , dma_addr_t dma ) 
8513{ void *__cil_tmp5 ;
8514  unsigned long __cil_tmp6 ;
8515  unsigned long __cil_tmp7 ;
8516  int __cil_tmp8 ;
8517
8518  {
8519  {
8520#line 70
8521  while (1) {
8522    while_continue: /* CIL Label */ ;
8523
8524    {
8525#line 70
8526    __cil_tmp5 = (void *)0;
8527#line 70
8528    __cil_tmp6 = (unsigned long )__cil_tmp5;
8529#line 70
8530    __cil_tmp7 = (unsigned long )addr;
8531#line 70
8532    __cil_tmp8 = __cil_tmp7 != __cil_tmp6;
8533#line 70
8534    if (! __cil_tmp8) {
8535      {
8536#line 70
8537      ldv_assume_stop();
8538      }
8539    } else {
8540
8541    }
8542    }
8543#line 70
8544    if (addr) {
8545#line 70
8546      if (ldv_coherent_state >= 1) {
8547
8548      } else {
8549        {
8550#line 70
8551        ldv_blast_assert();
8552        }
8553      }
8554#line 70
8555      ldv_coherent_state = ldv_coherent_state - 1;
8556    } else {
8557
8558    }
8559#line 70
8560    goto while_break;
8561  }
8562  while_break___0: /* CIL Label */ ;
8563  }
8564
8565  while_break: ;
8566#line 71
8567  return;
8568}
8569}
8570#line 74
8571struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags )  __attribute__((__ldv_model__)) ;
8572#line 74 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8573struct urb *usb_alloc_urb(int iso_packets , gfp_t mem_flags ) 
8574{ void *arbitrary_memory ;
8575  void *tmp___7 ;
8576  void *__cil_tmp5 ;
8577
8578  {
8579  {
8580#line 75
8581  while (1) {
8582    while_continue: /* CIL Label */ ;
8583    {
8584#line 75
8585    tmp___7 = ldv_undefined_pointer();
8586#line 75
8587    arbitrary_memory = tmp___7;
8588    }
8589#line 75
8590    if (! arbitrary_memory) {
8591      {
8592#line 75
8593      __cil_tmp5 = (void *)0;
8594#line 75
8595      return ((struct urb *)__cil_tmp5);
8596      }
8597    } else {
8598
8599    }
8600#line 75
8601    ldv_urb_state = ldv_urb_state + 1;
8602#line 75
8603    return ((struct urb *)arbitrary_memory);
8604#line 75
8605    goto while_break;
8606  }
8607  while_break___0: /* CIL Label */ ;
8608  }
8609
8610  while_break: ;
8611#line 76
8612  return ((struct urb *)0);
8613}
8614}
8615#line 79
8616void usb_free_urb(struct urb *urb )  __attribute__((__ldv_model__)) ;
8617#line 79 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8618void usb_free_urb(struct urb *urb ) 
8619{ struct urb *__cil_tmp2 ;
8620  unsigned long __cil_tmp3 ;
8621  unsigned long __cil_tmp4 ;
8622  int __cil_tmp5 ;
8623
8624  {
8625  {
8626#line 80
8627  while (1) {
8628    while_continue: /* CIL Label */ ;
8629
8630    {
8631#line 80
8632    __cil_tmp2 = (struct urb *)0;
8633#line 80
8634    __cil_tmp3 = (unsigned long )__cil_tmp2;
8635#line 80
8636    __cil_tmp4 = (unsigned long )urb;
8637#line 80
8638    __cil_tmp5 = __cil_tmp4 != __cil_tmp3;
8639#line 80
8640    if (! __cil_tmp5) {
8641      {
8642#line 80
8643      ldv_assume_stop();
8644      }
8645    } else {
8646
8647    }
8648    }
8649#line 80
8650    if (urb) {
8651#line 80
8652      if (ldv_urb_state >= 1) {
8653
8654      } else {
8655        {
8656#line 80
8657        ldv_blast_assert();
8658        }
8659      }
8660#line 80
8661      ldv_urb_state = ldv_urb_state - 1;
8662    } else {
8663
8664    }
8665#line 80
8666    goto while_break;
8667  }
8668  while_break___0: /* CIL Label */ ;
8669  }
8670
8671  while_break: ;
8672#line 81
8673  return;
8674}
8675}
8676#line 84
8677void ldv_check_final_state(void)  __attribute__((__ldv_model__)) ;
8678#line 84 "/anthill/stuff/tacas-comp/work/current--X--drivers/misc/c2port/core.ko--X--bulklinux-3.0.1--X--68_1/linux-3.0.1/csd_deg_dscv/11/dscv_tempdir/dscv/ri/68_1/kernel-rules/files/model0068.c"
8679void ldv_check_final_state(void) 
8680{ 
8681
8682  {
8683#line 86
8684  if (ldv_urb_state == 0) {
8685
8686  } else {
8687    {
8688#line 86
8689    ldv_blast_assert();
8690    }
8691  }
8692#line 88
8693  if (ldv_coherent_state == 0) {
8694
8695  } else {
8696    {
8697#line 88
8698    ldv_blast_assert();
8699    }
8700  }
8701#line 89
8702  return;
8703}
8704}