Showing error 1270

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