Showing error 695

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


Source:

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