Showing error 689

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-linux-3.4/32_1_cilled_safe_ok_nondet_linux-3.4-32_1-drivers--usb--serial--metro-usb.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c
Line in file: 7943
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

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