Showing error 1278

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