Showing error 1276

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


Source:

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