#ifndef _SETJMP_H_
#define _SETJMP_H_
#ifndef ___jmp_buf_def_
#define ___jmp_buf_def_
typedef int __jmp_buf[6U];
#endif
#ifndef ___sigset_t_def_
#define ___sigset_t_def_
typedef struct {unsigned long __val[1024U / (8U * sizeof(unsigned long))];} __sigset_t;
#endif
#ifndef _jmp_buf_def_
#define _jmp_buf_def_
typedef struct __jmp_buf_tag{
  __jmp_buf __jmpbuf;
  int __mask_was_saved;
  __sigset_t __saved_mask;
} jmp_buf[1U];
#endif
extern int setjmp(jmp_buf);
#endif
/* This is a C header file to be used by the output of the Cyclone to
   C translator.  The corresponding definitions are in file lib/runtime_*.c */
#ifndef _CYC_INCLUDE_H_
#define _CYC_INCLUDE_H_

/* Need one of these per thread (see runtime_stack.c). The runtime maintains 
   a stack that contains either _handler_cons structs or _RegionHandle structs.
   The tag is 0 for a handler_cons and 1 for a region handle.  */
struct _RuntimeStack {
  int tag; 
  struct _RuntimeStack *next;
  void (*cleanup)(struct _RuntimeStack *frame);
};

#ifndef offsetof
/* should be size_t, but int is fine. */
#define offsetof(t,n) ((int)(&(((t *)0)->n)))
#endif

/* Fat pointers */
struct _fat_ptr {
  unsigned char *curr; 
  unsigned char *base; 
  unsigned char *last_plus_one; 
};  

/* Discriminated Unions */
struct _xtunion_struct { char *tag; };

/* Regions */
struct _RegionPage
#ifdef CYC_REGION_PROFILE
{ unsigned total_bytes;
  unsigned free_bytes;
  struct _RegionPage *next;
  char data[1];
}
#endif
; // abstract -- defined in runtime_memory.c
struct _pool;
struct _RegionHandle {
  struct _RuntimeStack s;
  struct _RegionPage *curr;
#if(defined(__linux__) && defined(__KERNEL__))
  struct _RegionPage *vpage;
#endif 
  char               *offset;
  char               *last_plus_one;
  struct _DynRegionHandle *sub_regions;
  struct _pool *released_ptrs;
#ifdef CYC_REGION_PROFILE
  const char         *name;
#else
  unsigned used_bytes;
  unsigned wasted_bytes;
#endif
};
struct _DynRegionFrame {
  struct _RuntimeStack s;
  struct _DynRegionHandle *x;
};
// A dynamic region is just a region handle.  The wrapper struct is for type
// abstraction.
struct Cyc_Core_DynamicRegion {
  struct _RegionHandle h;
};

struct _RegionHandle _new_region(const char*);
void* _region_malloc(struct _RegionHandle*, unsigned);
void* _region_calloc(struct _RegionHandle*, unsigned t, unsigned n);
#if(defined(__linux__) && defined(__KERNEL__))
void* _region_vmalloc(struct _RegionHandle*, unsigned);
#endif
void   _free_region(struct _RegionHandle*);
struct _RegionHandle*_open_dynregion(struct _DynRegionFrame*,struct _DynRegionHandle*);
void   _pop_dynregion();

/* Exceptions */
struct _handler_cons {
  struct _RuntimeStack s;
  jmp_buf handler;
};
void _push_handler(struct _handler_cons *);
void _push_region(struct _RegionHandle *);
void _npop_handler(int);
void _pop_handler();
void _pop_region();

#ifndef _throw
void* _throw_null_fn(const char*,unsigned);
void* _throw_arraybounds_fn(const char*,unsigned);
void* _throw_badalloc_fn(const char*,unsigned);
void* _throw_match_fn(const char*,unsigned);
void* _throw_fn(void*,const char*,unsigned);
void* _rethrow(void*);
#define _throw_null() (_throw_null_fn(__FILE__,__LINE__))
#define _throw_arraybounds() (_throw_arraybounds_fn(__FILE__,__LINE__))
#define _throw_badalloc() (_throw_badalloc_fn(__FILE__,__LINE__))
#define _throw_match() (_throw_match_fn(__FILE__,__LINE__))
#define _throw(e) (_throw_fn((e),__FILE__,__LINE__))
#endif

struct _xtunion_struct* Cyc_Core_get_exn_thrown();
/* Built-in Exceptions */
struct Cyc_Null_Exception_exn_struct { char *tag; };
struct Cyc_Array_bounds_exn_struct { char *tag; };
struct Cyc_Match_Exception_exn_struct { char *tag; };
struct Cyc_Bad_alloc_exn_struct { char *tag; };
extern char Cyc_Null_Exception[];
extern char Cyc_Array_bounds[];
extern char Cyc_Match_Exception[];
extern char Cyc_Bad_alloc[];

/* Built-in Run-time Checks and company */
#ifdef CYC_ANSI_OUTPUT
#define _INLINE  
#else
#define _INLINE inline
#endif

#ifdef NO_CYC_NULL_CHECKS
#define _check_null(ptr) (ptr)
#else
#define _check_null(ptr) \
  ({ void*_cks_null = (void*)(ptr); \
     if (!_cks_null) _throw_null(); \
     _cks_null; })
#endif

#ifdef NO_CYC_BOUNDS_CHECKS
#define _check_known_subscript_notnull(ptr,bound,elt_sz,index)\
   (((char*)ptr) + (elt_sz)*(index))
#ifdef NO_CYC_NULL_CHECKS
#define _check_known_subscript_null _check_known_subscript_notnull
#else
#define _check_known_subscript_null(ptr,bound,elt_sz,index) ({ \
  char*_cks_ptr = (char*)(ptr);\
  int _index = (index);\
  if (!_cks_ptr) _throw_null(); \
  _cks_ptr + (elt_sz)*_index; })
#endif
#define _zero_arr_plus_fn(orig_x,orig_sz,orig_i,f,l) ((orig_x)+(orig_i))
#define _zero_arr_plus_char_fn _zero_arr_plus_fn
#define _zero_arr_plus_short_fn _zero_arr_plus_fn
#define _zero_arr_plus_int_fn _zero_arr_plus_fn
#define _zero_arr_plus_float_fn _zero_arr_plus_fn
#define _zero_arr_plus_double_fn _zero_arr_plus_fn
#define _zero_arr_plus_longdouble_fn _zero_arr_plus_fn
#define _zero_arr_plus_voidstar_fn _zero_arr_plus_fn
#else
#define _check_known_subscript_null(ptr,bound,elt_sz,index) ({ \
  char*_cks_ptr = (char*)(ptr); \
  unsigned _cks_index = (index); \
  if (!_cks_ptr) _throw_null(); \
  if (_cks_index >= (bound)) _throw_arraybounds(); \
  _cks_ptr + (elt_sz)*_cks_index; })
#define _check_known_subscript_notnull(ptr,bound,elt_sz,index) ({ \
  char*_cks_ptr = (char*)(ptr); \
  unsigned _cks_index = (index); \
  if (_cks_index >= (bound)) _throw_arraybounds(); \
  _cks_ptr + (elt_sz)*_cks_index; })

/* _zero_arr_plus_*_fn(x,sz,i,filename,lineno) adds i to zero-terminated ptr
   x that has at least sz elements */
char* _zero_arr_plus_char_fn(char*,unsigned,int,const char*,unsigned);
short* _zero_arr_plus_short_fn(short*,unsigned,int,const char*,unsigned);
int* _zero_arr_plus_int_fn(int*,unsigned,int,const char*,unsigned);
float* _zero_arr_plus_float_fn(float*,unsigned,int,const char*,unsigned);
double* _zero_arr_plus_double_fn(double*,unsigned,int,const char*,unsigned);
long double* _zero_arr_plus_longdouble_fn(long double*,unsigned,int,const char*, unsigned);
void** _zero_arr_plus_voidstar_fn(void**,unsigned,int,const char*,unsigned);
#endif

/* _get_zero_arr_size_*(x,sz) returns the number of elements in a
   zero-terminated array that is NULL or has at least sz elements */
int _get_zero_arr_size_char(const char*,unsigned);
int _get_zero_arr_size_short(const short*,unsigned);
int _get_zero_arr_size_int(const int*,unsigned);
int _get_zero_arr_size_float(const float*,unsigned);
int _get_zero_arr_size_double(const double*,unsigned);
int _get_zero_arr_size_longdouble(const long double*,unsigned);
int _get_zero_arr_size_voidstar(const void**,unsigned);

/* _zero_arr_inplace_plus_*_fn(x,i,filename,lineno) sets
   zero-terminated pointer *x to *x + i */
char* _zero_arr_inplace_plus_char_fn(char**,int,const char*,unsigned);
short* _zero_arr_inplace_plus_short_fn(short**,int,const char*,unsigned);
int* _zero_arr_inplace_plus_int(int**,int,const char*,unsigned);
float* _zero_arr_inplace_plus_float_fn(float**,int,const char*,unsigned);
double* _zero_arr_inplace_plus_double_fn(double**,int,const char*,unsigned);
long double* _zero_arr_inplace_plus_longdouble_fn(long double**,int,const char*,unsigned);
void** _zero_arr_inplace_plus_voidstar_fn(void***,int,const char*,unsigned);
/* like the previous functions, but does post-addition (as in e++) */
char* _zero_arr_inplace_plus_post_char_fn(char**,int,const char*,unsigned);
short* _zero_arr_inplace_plus_post_short_fn(short**x,int,const char*,unsigned);
int* _zero_arr_inplace_plus_post_int_fn(int**,int,const char*,unsigned);
float* _zero_arr_inplace_plus_post_float_fn(float**,int,const char*,unsigned);
double* _zero_arr_inplace_plus_post_double_fn(double**,int,const char*,unsigned);
long double* _zero_arr_inplace_plus_post_longdouble_fn(long double**,int,const char *,unsigned);
void** _zero_arr_inplace_plus_post_voidstar_fn(void***,int,const char*,unsigned);
#define _zero_arr_plus_char(x,s,i) \
  (_zero_arr_plus_char_fn(x,s,i,__FILE__,__LINE__))
#define _zero_arr_plus_short(x,s,i) \
  (_zero_arr_plus_short_fn(x,s,i,__FILE__,__LINE__))
#define _zero_arr_plus_int(x,s,i) \
  (_zero_arr_plus_int_fn(x,s,i,__FILE__,__LINE__))
#define _zero_arr_plus_float(x,s,i) \
  (_zero_arr_plus_float_fn(x,s,i,__FILE__,__LINE__))
#define _zero_arr_plus_double(x,s,i) \
  (_zero_arr_plus_double_fn(x,s,i,__FILE__,__LINE__))
#define _zero_arr_plus_longdouble(x,s,i) \
  (_zero_arr_plus_longdouble_fn(x,s,i,__FILE__,__LINE__))
#define _zero_arr_plus_voidstar(x,s,i) \
  (_zero_arr_plus_voidstar_fn(x,s,i,__FILE__,__LINE__))
#define _zero_arr_inplace_plus_char(x,i) \
  _zero_arr_inplace_plus_char_fn((char **)(x),i,__FILE__,__LINE__)
#define _zero_arr_inplace_plus_short(x,i) \
  _zero_arr_inplace_plus_short_fn((short **)(x),i,__FILE__,__LINE__)
#define _zero_arr_inplace_plus_int(x,i) \
  _zero_arr_inplace_plus_int_fn((int **)(x),i,__FILE__,__LINE__)
#define _zero_arr_inplace_plus_float(x,i) \
  _zero_arr_inplace_plus_float_fn((float **)(x),i,__FILE__,__LINE__)
#define _zero_arr_inplace_plus_double(x,i) \
  _zero_arr_inplace_plus_double_fn((double **)(x),i,__FILE__,__LINE__)
#define _zero_arr_inplace_plus_longdouble(x,i) \
  _zero_arr_inplace_plus_longdouble_fn((long double **)(x),i,__FILE__,__LINE__)
#define _zero_arr_inplace_plus_voidstar(x,i) \
  _zero_arr_inplace_plus_voidstar_fn((void ***)(x),i,__FILE__,__LINE__)
#define _zero_arr_inplace_plus_post_char(x,i) \
  _zero_arr_inplace_plus_post_char_fn((char **)(x),(i),__FILE__,__LINE__)
#define _zero_arr_inplace_plus_post_short(x,i) \
  _zero_arr_inplace_plus_post_short_fn((short **)(x),(i),__FILE__,__LINE__)
#define _zero_arr_inplace_plus_post_int(x,i) \
  _zero_arr_inplace_plus_post_int_fn((int **)(x),(i),__FILE__,__LINE__)
#define _zero_arr_inplace_plus_post_float(x,i) \
  _zero_arr_inplace_plus_post_float_fn((float **)(x),(i),__FILE__,__LINE__)
#define _zero_arr_inplace_plus_post_double(x,i) \
  _zero_arr_inplace_plus_post_double_fn((double **)(x),(i),__FILE__,__LINE__)
#define _zero_arr_inplace_plus_post_longdouble(x,i) \
  _zero_arr_inplace_plus_post_longdouble_fn((long double **)(x),(i),__FILE__,__LINE__)
#define _zero_arr_inplace_plus_post_voidstar(x,i) \
  _zero_arr_inplace_plus_post_voidstar_fn((void***)(x),(i),__FILE__,__LINE__)

#ifdef NO_CYC_BOUNDS_CHECKS
#define _check_fat_subscript(arr,elt_sz,index) ((arr).curr + (elt_sz) * (index))
#define _untag_fat_ptr(arr,elt_sz,num_elts) ((arr).curr)
#else
#define _check_fat_subscript(arr,elt_sz,index) ({ \
  struct _fat_ptr _cus_arr = (arr); \
  unsigned char *_cus_ans = _cus_arr.curr + (elt_sz) * (index); \
  /* JGM: not needed! if (!_cus_arr.base) _throw_null();*/ \
  if (_cus_ans < _cus_arr.base || _cus_ans >= _cus_arr.last_plus_one) \
    _throw_arraybounds(); \
  _cus_ans; })
#define _untag_fat_ptr(arr,elt_sz,num_elts) ({ \
  struct _fat_ptr _arr = (arr); \
  unsigned char *_curr = _arr.curr; \
  if ((_curr < _arr.base || _curr + (elt_sz) * (num_elts) > _arr.last_plus_one) &&\
      _curr != (unsigned char *)0) \
    _throw_arraybounds(); \
  _curr; })
#endif

#define _tag_fat(tcurr,elt_sz,num_elts) ({ \
  struct _fat_ptr _ans; \
  unsigned _num_elts = (num_elts);\
  _ans.base = _ans.curr = (void*)(tcurr); \
  /* JGM: if we're tagging NULL, ignore num_elts */ \
  _ans.last_plus_one = _ans.base ? (_ans.base + (elt_sz) * _num_elts) : 0; \
  _ans; })

#define _get_fat_size(arr,elt_sz) \
  ({struct _fat_ptr _arr = (arr); \
    unsigned char *_arr_curr=_arr.curr; \
    unsigned char *_arr_last=_arr.last_plus_one; \
    (_arr_curr < _arr.base || _arr_curr >= _arr_last) ? 0 : \
    ((_arr_last - _arr_curr) / (elt_sz));})

#define _fat_ptr_plus(arr,elt_sz,change) ({ \
  struct _fat_ptr _ans = (arr); \
  int _change = (change);\
  _ans.curr += (elt_sz) * _change;\
  _ans; })
#define _fat_ptr_inplace_plus(arr_ptr,elt_sz,change) ({ \
  struct _fat_ptr * _arr_ptr = (arr_ptr); \
  _arr_ptr->curr += (elt_sz) * (change);\
  *_arr_ptr; })
#define _fat_ptr_inplace_plus_post(arr_ptr,elt_sz,change) ({ \
  struct _fat_ptr * _arr_ptr = (arr_ptr); \
  struct _fat_ptr _ans = *_arr_ptr; \
  _arr_ptr->curr += (elt_sz) * (change);\
  _ans; })

//Not a macro since initialization order matters. Defined in runtime_zeroterm.c.
struct _fat_ptr _fat_ptr_decrease_size(struct _fat_ptr,unsigned sz,unsigned numelts);

/* Allocation */
void* GC_malloc(int);
void* GC_malloc_atomic(int);
void* GC_calloc(unsigned,unsigned);
void* GC_calloc_atomic(unsigned,unsigned);
#if(defined(__linux__) && defined(__KERNEL__))
void *cyc_vmalloc(unsigned);
void cyc_vfree(void *);
#endif
// bound the allocation size to be < MAX_ALLOC_SIZE. See macros below for usage.
#define MAX_MALLOC_SIZE (1 << 28)
void* _bounded_GC_malloc(int,const char*,int);
void* _bounded_GC_malloc_atomic(int,const char*,int);
void* _bounded_GC_calloc(unsigned,unsigned,const char*,int);
void* _bounded_GC_calloc_atomic(unsigned,unsigned,const char*,int);
/* these macros are overridden below ifdef CYC_REGION_PROFILE */
#ifndef CYC_REGION_PROFILE
#define _cycalloc(n) _bounded_GC_malloc(n,__FILE__,__LINE__)
#define _cycalloc_atomic(n) _bounded_GC_malloc_atomic(n,__FILE__,__LINE__)
#define _cyccalloc(n,s) _bounded_GC_calloc(n,s,__FILE__,__LINE__)
#define _cyccalloc_atomic(n,s) _bounded_GC_calloc_atomic(n,s,__FILE__,__LINE__)
#endif

static _INLINE unsigned int _check_times(unsigned x, unsigned y) {
  unsigned long long whole_ans = 
    ((unsigned long long) x)*((unsigned long long)y);
  unsigned word_ans = (unsigned)whole_ans;
  if(word_ans < whole_ans || word_ans > MAX_MALLOC_SIZE)
    _throw_badalloc();
  return word_ans;
}

#define _CYC_MAX_REGION_CONST 2
#define _CYC_MIN_ALIGNMENT (sizeof(double))

#ifdef CYC_REGION_PROFILE
extern int rgn_total_bytes;
#endif

static _INLINE void *_fast_region_malloc(struct _RegionHandle *r, unsigned orig_s) {  
  if (r > (struct _RegionHandle *)_CYC_MAX_REGION_CONST && r->curr != 0) { 
#ifdef CYC_NOALIGN
    unsigned s =  orig_s;
#else
    unsigned s =  (orig_s + _CYC_MIN_ALIGNMENT - 1) & (~(_CYC_MIN_ALIGNMENT -1)); 
#endif
    char *result; 
    result = r->offset; 
    if (s <= (r->last_plus_one - result)) {
      r->offset = result + s; 
#ifdef CYC_REGION_PROFILE
    r->curr->free_bytes = r->curr->free_bytes - s;
    rgn_total_bytes += s;
#endif
      return result;
    }
  } 
  return _region_malloc(r,orig_s); 
}

#ifdef CYC_REGION_PROFILE
/* see macros below for usage. defined in runtime_memory.c */
void* _profile_GC_malloc(int,const char*,const char*,int);
void* _profile_GC_malloc_atomic(int,const char*,const char*,int);
void* _profile_GC_calloc(unsigned,unsigned,const char*,const char*,int);
void* _profile_GC_calloc_atomic(unsigned,unsigned,const char*,const char*,int);
void* _profile_region_malloc(struct _RegionHandle*,unsigned,const char*,const char*,int);
void* _profile_region_calloc(struct _RegionHandle*,unsigned,unsigned,const char *,const char*,int);
struct _RegionHandle _profile_new_region(const char*,const char*,const char*,int);
void _profile_free_region(struct _RegionHandle*,const char*,const char*,int);
#ifndef RUNTIME_CYC
#define _new_region(n) _profile_new_region(n,__FILE__,__FUNCTION__,__LINE__)
#define _free_region(r) _profile_free_region(r,__FILE__,__FUNCTION__,__LINE__)
#define _region_malloc(rh,n) _profile_region_malloc(rh,n,__FILE__,__FUNCTION__,__LINE__)
#define _region_calloc(rh,n,t) _profile_region_calloc(rh,n,t,__FILE__,__FUNCTION__,__LINE__)
#  endif
#define _cycalloc(n) _profile_GC_malloc(n,__FILE__,__FUNCTION__,__LINE__)
#define _cycalloc_atomic(n) _profile_GC_malloc_atomic(n,__FILE__,__FUNCTION__,__LINE__)
#define _cyccalloc(n,s) _profile_GC_calloc(n,s,__FILE__,__FUNCTION__,__LINE__)
#define _cyccalloc_atomic(n,s) _profile_GC_calloc_atomic(n,s,__FILE__,__FUNCTION__,__LINE__)
#endif
#endif

# 35 "/home/nikhil/cyclone-dev/cyclone/local_build/usr/local/include/cyclone/core.h"
 typedef char*Cyc_Cstring;
typedef char*Cyc_CstringNN;
typedef struct _fat_ptr Cyc_string_t;
# 40
typedef struct _fat_ptr Cyc_mstring_t;
# 43
typedef Cyc_string_t*Cyc_stringptr_t;
# 47
typedef Cyc_mstring_t*Cyc_mstringptr_t;
# 50
typedef char*Cyc_Cbuffer_t;
# 52
typedef char*Cyc_CbufferNN_t;
# 54
typedef struct _fat_ptr Cyc_buffer_t;
# 56
typedef struct _fat_ptr Cyc_mbuffer_t;
# 59
typedef int Cyc_bool;
# 77 "/home/nikhil/cyclone-dev/cyclone/local_build/usr/local/include/cyclone/core.h"
typedef unsigned Cyc_Core_sizeof_t;struct Cyc_Core_Opt{void*v;};
# 81
typedef struct Cyc_Core_Opt*Cyc_Core_opt_t;extern char Cyc_Core_Invalid_argument[17U];struct Cyc_Core_Invalid_argument_exn_struct{char*tag;Cyc_string_t f1;};extern char Cyc_Core_Failure[8U];struct Cyc_Core_Failure_exn_struct{char*tag;Cyc_string_t f1;};extern char Cyc_Core_Impossible[11U];struct Cyc_Core_Impossible_exn_struct{char*tag;Cyc_string_t f1;};extern char Cyc_Core_Not_found[10U];struct Cyc_Core_Not_found_exn_struct{char*tag;};extern char Cyc_Core_Unreachable[12U];struct Cyc_Core_Unreachable_exn_struct{char*tag;Cyc_string_t f1;};
# 171 "/home/nikhil/cyclone-dev/cyclone/local_build/usr/local/include/cyclone/core.h"
extern struct _RegionHandle*Cyc_Core_unique_region;
# 181
extern struct _RegionHandle*Cyc_Core_refcnt_region;
# 191
struct _fat_ptr Cyc_Core_alias_refptr(struct _fat_ptr);
# 194
void Cyc_Core_drop_refptr(void*);struct Cyc_Core_DynamicRegion;
# 221
typedef struct Cyc_Core_DynamicRegion*Cyc_Core_region_key_t;
# 227
typedef Cyc_Core_region_key_t Cyc_Core_uregion_key_t;
# 232
typedef Cyc_Core_region_key_t Cyc_Core_rcregion_key_t;struct Cyc_Core_NewDynamicRegion{Cyc_Core_region_key_t key;};
# 255
struct Cyc_Core_NewDynamicRegion Cyc_Core__new_rckey(const char*,const char*,int);
# 311 "/home/nikhil/cyclone-dev/cyclone/local_build/usr/local/include/cyclone/core.h"
typedef void*Cyc_Core___cyclone_internal_array_t;
typedef void*Cyc_Core___nn_cyclone_internal_array_t;
typedef unsigned Cyc_Core___cyclone_internal_singleton;struct Cyc_Core_ThinRes{Cyc_Core___cyclone_internal_array_t arr;Cyc_Core___cyclone_internal_singleton nelts;};struct _tls_slot;struct video_device;struct urb;
# 6 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern unsigned long event_R7b16c344;struct pt_regs{long ebx;long ecx;long edx;long esi;long edi;long ebp;long eax;int xds;int xes;long orig_eax;long eip;int xcs;long eflags;long esp;int xss;};
# 57 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/ptrace.h"
enum EFLAGS{EF_CF =1,EF_PF =4,EF_AF =16,EF_ZF =64,EF_SF =128,EF_TF =256,EF_IE =512,EF_DF =1024,EF_OF =2048,EF_IOPL =12288,EF_IOPL_RING0 =0,EF_IOPL_RING1 =4096,EF_IOPL_RING2 =8192,EF_NT =16384,EF_RF =65536,EF_VM =131072,EF_AC =262144,EF_VIF =524288,EF_VIP =1048576,EF_ID =2097152};
# 83
extern void show_regs(struct pt_regs*);struct _tuple0{unsigned long fds_bits[1024U / (8U * sizeof(unsigned long))];};
# 36 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/posix_types.h"
typedef struct _tuple0 __kernel_fd_set;
# 41
typedef void(*__kernel_sighandler_t)(int);
# 44
typedef int __kernel_key_t;
# 10 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/posix_types.h"
typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
typedef long __kernel_off_t;
typedef int __kernel_pid_t;
typedef unsigned short __kernel_ipc_pid_t;
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
typedef unsigned __kernel_size_t;
typedef int __kernel_ssize_t;
typedef int __kernel_ptrdiff_t;
typedef long __kernel_time_t;
typedef long __kernel_suseconds_t;
typedef long __kernel_clock_t;
typedef int __kernel_daddr_t;
typedef char*__kernel_caddr_t;
typedef unsigned short __kernel_uid16_t;
typedef unsigned short __kernel_gid16_t;
typedef unsigned __kernel_uid32_t;
typedef unsigned __kernel_gid32_t;
# 32
typedef unsigned short __kernel_old_uid_t;
typedef unsigned short __kernel_old_gid_t;
# 36
typedef long long __kernel_loff_t;struct _tuple1{int val[2U];};
# 39
typedef struct _tuple1 __kernel_fsid_t;
# 4 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/types.h"
typedef unsigned short umode_t;
# 11
typedef signed char __s8;
typedef unsigned char __u8;
# 14
typedef short __s16;
typedef unsigned short __u16;
# 17
typedef int __s32;
typedef unsigned __u32;
# 21
typedef long long __s64;
typedef unsigned long long __u64;
# 32 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/types.h"
typedef signed char s8;
typedef unsigned char u8;
# 35
typedef short s16;
typedef unsigned short u16;
# 38
typedef int s32;
typedef unsigned u32;
# 41
typedef long long s64;
typedef unsigned long long u64;
# 51 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/types.h"
typedef u32 dma_addr_t;
# 53
typedef u64 dma64_addr_t;
# 20 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/types.h"
typedef __kernel_fd_set fd_set;
typedef __kernel_dev_t dev_t;
typedef __kernel_ino_t ino_t;
typedef __kernel_mode_t mode_t;
typedef __kernel_nlink_t nlink_t;
typedef __kernel_off_t off_t;
typedef __kernel_pid_t pid_t;
typedef __kernel_daddr_t daddr_t;
typedef __kernel_key_t key_t;
typedef __kernel_suseconds_t suseconds_t;
# 32
typedef __kernel_uid32_t uid_t;
typedef __kernel_gid32_t gid_t;
typedef __kernel_uid16_t uid16_t;
typedef __kernel_gid16_t gid16_t;
# 39
typedef __kernel_old_uid_t old_uid_t;
typedef __kernel_old_gid_t old_gid_t;
# 52 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/types.h"
typedef __kernel_loff_t loff_t;
# 61 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/types.h"
typedef __kernel_size_t size_t;
# 66
typedef __kernel_ssize_t ssize_t;
# 71
typedef __kernel_ptrdiff_t ptrdiff_t;
# 76
typedef __kernel_time_t time_t;
# 81
typedef __kernel_clock_t clock_t;
# 86
typedef __kernel_caddr_t caddr_t;
# 90
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned u_int;
typedef unsigned long u_long;
# 96
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned uint;
typedef unsigned long ulong;
# 104
typedef __u8 u_int8_t;
typedef __s8 int8_t;
typedef __u16 u_int16_t;
typedef __s16 int16_t;
typedef __u32 u_int32_t;
typedef __s32 int32_t;
# 113
typedef __u8 uint8_t;
typedef __u16 uint16_t;
typedef __u32 uint32_t;
# 118
typedef __u64 uint64_t;
typedef __u64 u_int64_t;
typedef __s64 int64_t;struct ustat{__kernel_daddr_t f_tfree;__kernel_ino_t f_tinode;char f_fname[6U];char f_fpack[6U];};
# 5 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kernel.h"
typedef int __gnuc_va_list;
# 9
typedef __gnuc_va_list va_list;
# 13 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/byteorder.h"
inline static const __u32 ___arch__swab32(__u32 x){
# 16
__asm__("bswap %0":"=r"(x):"0"(x));
# 24
return x;}
# 29
inline static const __u16 ___arch__swab16(__u16 x){
# 31
__asm__("xchgb %b0,%h0":"=q"(x):"0"(x));
# 34
return x;}struct _tuple2{__u32 a;__u32 b;};union _tuple3{struct _tuple2 s;__u64 u;};
# 38
inline static __u64 ___arch__swab64(__u64 val){
# 40
union _tuple3 v;
# 44
v.u=val;
# 46
__asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1":"=r"((v.s).a),"=r"((v.s).b):"0"((v.s).a),"1"((v.s).b));
# 54
return v.u;}
# 159 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/byteorder/swab.h"
inline static const __u16 __fswab16(__u16 x){
# 161
return ___arch__swab16(x);}
# 163
inline static __u16 __swab16p(__u16*x){
# 165
return ___arch__swab16(*x);}
# 167
inline static void __swab16s(__u16*addr){
# 169
do{*addr=___arch__swab16(*addr);}while(0);}
# 172
inline static const __u32 __fswab24(__u32 x){
# 174
return({__u32 __tmp=x;({__u32 __x=__tmp;(__u32)(((__x & (__u32)255U)<< 16 | __x & (__u32)65280U)| (__x & (__u32)16711680U)>> 16);});});}
# 176
inline static __u32 __swab24p(__u32*x){
# 178
return({__u32 __tmp=*x;({__u32 __x=__tmp;(__u32)(((__x & (__u32)255U)<< 16 | __x & (__u32)65280U)| (__x & (__u32)16711680U)>> 16);});});}
# 180
inline static void __swab24s(__u32*addr){
# 182
do{*addr=({__u32 __tmp=*addr;({__u32 __x=__tmp;(__u32)(((__x & (__u32)255U)<< 16 | __x & (__u32)65280U)| (__x & (__u32)16711680U)>> 16);});});}while(0);}
# 185
inline static const __u32 __fswab32(__u32 x){
# 187
return ___arch__swab32(x);}
# 189
inline static __u32 __swab32p(__u32*x){
# 191
return ___arch__swab32(*x);}
# 193
inline static void __swab32s(__u32*addr){
# 195
do{*addr=___arch__swab32(*addr);}while(0);}
# 199
inline static const __u64 __fswab64(__u64 x){
# 206
return ___arch__swab64(x);}
# 209
inline static __u64 __swab64p(__u64*x){
# 211
return ___arch__swab64(*x);}
# 213
inline static void __swab64s(__u64*addr){
# 215
do{*addr=___arch__swab64(*addr);}while(0);}
# 150 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/byteorder/generic.h"
extern __u32 ntohl(__u32);
extern __u32 htonl(__u32);
# 156
extern unsigned short ntohs(unsigned short);
extern unsigned short htons(unsigned short);
# 41 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kernel.h"
extern int console_printk[1U];struct completion;
# 60 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kernel.h"
extern struct notifier_block*panic_notifier_list_R0d5eeb25;
extern void panic_R01075bf0(const char*,...);
# 63
extern void do_exit(long) __attribute__((regparm(0))) ;
# 65
extern void complete_and_exit_R95deffb7(struct completion*,long);
# 67
extern int abs(int);
extern unsigned long simple_strtoul_R20000329(const char*,char**,unsigned);
extern long simple_strtol_R0b742fd7(const char*,char**,unsigned);
extern unsigned long long simple_strtoull_R61b7b126(const char*,char**,unsigned);
extern long long simple_strtoll(const char*,char**,unsigned);
extern int sprintf_R1d26aa98(char*,const char*,...);
# 74
extern int vsprintf_R954cbb26(char*,const char*,va_list);
extern int snprintf_R025da070(char*,size_t,const char*,...);
# 77
extern int vsnprintf_R57a6504e(char*,size_t,const char*,va_list);
# 79
extern int sscanf_R859204af(const char*,const char*,...);
# 81
extern int vsscanf_Rb5044271(const char*,const char*,va_list);
# 83
extern int get_option_Rb0e10781(char**,int*);
extern char*get_options_R0fbff9b9(char*,int,int*);
extern unsigned long long memparse_R23f2d36f(char*,char**);
extern void dev_probe_lock (void);
extern void dev_probe_unlock (void);
# 89
extern int session_of_pgrp(int);
# 91
extern int printk_R1b7d4074(const char*,...) __attribute__((regparm(0))) ;
# 94
inline static void console_silent (void){
# 96
console_printk[0]=0;}
# 99
inline static void console_verbose (void){
# 101
if(console_printk[0])
console_printk[0]=15;}
# 105
extern void bust_spinlocks(int);
extern int oops_in_progress;
# 108
extern int tainted;
extern const char*print_tainted (void);
# 111
extern void dump_stack_R6b2dc060 (void);
# 174 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kernel.h"
extern void __out_of_line_bug_R8b0fd3c5(int);struct sysinfo{long uptime;unsigned long loads[3U];unsigned long totalram;unsigned long freeram;unsigned long sharedram;unsigned long bufferram;unsigned long totalswap;unsigned long freeswap;unsigned short procs;unsigned short pad;unsigned long totalhigh;unsigned long freehigh;unsigned mem_unit;char _f[(20U - 2U * sizeof(long))- sizeof(int)];};struct vm86_regs{long ebx;long ecx;long edx;long esi;long edi;long ebp;long eax;long __null_ds;long __null_es;long __null_fs;long __null_gs;long orig_eax;long eip;unsigned short cs;unsigned short __csh;long eflags;long esp;unsigned short ss;unsigned short __ssh;unsigned short es;unsigned short __esh;unsigned short ds;unsigned short __dsh;unsigned short fs;unsigned short __fsh;unsigned short gs;unsigned short __gsh;};struct revectored_struct{unsigned long __map[8U];};struct vm86_struct{struct vm86_regs regs;unsigned long flags;unsigned long screen_bitmap;unsigned long cpu_type;struct revectored_struct int_revectored;struct revectored_struct int21_revectored;};struct vm86plus_info_struct{unsigned long force_return_for_pic: 1;unsigned long vm86dbg_active: 1;unsigned long vm86dbg_TFpendig: 1;unsigned long unused: 28;unsigned long is_vm86pus: 1;unsigned char vm86dbg_intxxtab[32U];};struct vm86plus_struct{struct vm86_regs regs;unsigned long flags;unsigned long screen_bitmap;unsigned long cpu_type;struct revectored_struct int_revectored;struct revectored_struct int21_revectored;struct vm86plus_info_struct vm86plus;};struct kernel_vm86_regs{long ebx;long ecx;long edx;long esi;long edi;long ebp;long eax;long __null_ds;long __null_es;long orig_eax;long eip;unsigned short cs;unsigned short __csh;long eflags;long esp;unsigned short ss;unsigned short __ssh;unsigned short es;unsigned short __esh;unsigned short ds;unsigned short __dsh;unsigned short fs;unsigned short __fsh;unsigned short gs;unsigned short __gsh;};struct kernel_vm86_struct{struct kernel_vm86_regs regs;unsigned long flags;unsigned long screen_bitmap;unsigned long cpu_type;struct revectored_struct int_revectored;struct revectored_struct int21_revectored;struct vm86plus_info_struct vm86plus;struct pt_regs*regs32;};
# 203 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/vm86.h"
extern void handle_vm86_fault(struct kernel_vm86_regs*,long);
extern int handle_vm86_trap(struct kernel_vm86_regs*,long,int);struct _fpreg{unsigned short significand[4U];unsigned short exponent;};struct _fpxreg{unsigned short significand[4U];unsigned short exponent;unsigned short padding[3U];};struct _xmmreg{unsigned long element[4U];};struct _fpstate{unsigned long cw;unsigned long sw;unsigned long tag;unsigned long ipoff;unsigned long cssel;unsigned long dataoff;unsigned long datasel;struct _fpreg _st[8U];unsigned short status;unsigned short magic;unsigned long _fxsr_env[6U];unsigned long mxcsr;unsigned long reserved;struct _fpxreg _fxsr_st[8U];struct _xmmreg _xmm[8U];unsigned long padding[56U];};struct sigcontext{unsigned short gs;unsigned short __gsh;unsigned short fs;unsigned short __fsh;unsigned short es;unsigned short __esh;unsigned short ds;unsigned short __dsh;unsigned long edi;unsigned long esi;unsigned long ebp;unsigned long esp;unsigned long ebx;unsigned long edx;unsigned long ecx;unsigned long eax;unsigned long trapno;unsigned long err;unsigned long eip;unsigned short cs;unsigned short __csh;unsigned long eflags;unsigned long esp_at_signal;unsigned short ss;unsigned short __ssh;struct _fpstate*fpstate;unsigned long oldmask;unsigned long cr2;};
# 6 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/math_emu.h"
extern int restore_i387_soft(void*,struct _fpstate*);
extern int save_i387_soft(void*,struct _fpstate*);struct info{long ___orig_eip;long ___ebx;long ___ecx;long ___edx;long ___esi;long ___edi;long ___ebp;long ___eax;long ___ds;long ___es;long ___orig_eax;long ___eip;long ___cs;long ___eflags;long ___esp;long ___ss;long ___vm86_es;long ___vm86_ds;long ___vm86_fs;long ___vm86_gs;};struct _tuple4{unsigned long pte_low;};
# 45 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/page.h"
typedef struct _tuple4 pte_t;struct _tuple5{unsigned long pmd;};
typedef struct _tuple5 pmd_t;struct _tuple6{unsigned long pgd;};
typedef struct _tuple6 pgd_t;struct _tuple7{unsigned long pgprot;};
# 52
typedef struct _tuple7 pgprot_t;
# 113 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/page.h"
inline static int get_order(unsigned long size){
# 115
int order;
# 117
size=size - 1 >> 12 - 1;
order=- 1;
do{
size >>=1;
order ++;}while(size);
# 123
return order;}struct cpuinfo_x86{__u8 x86;__u8 x86_vendor;__u8 x86_model;__u8 x86_mask;char wp_works_ok;char hlt_works_ok;char hard_math;char rfu;int cpuid_level;__u32 x86_capability[4U];char x86_vendor_id[16U];char x86_model_id[64U];int x86_cache_size;int fdiv_bug;int f00f_bug;int coma_bug;unsigned long loops_per_jiffy_Rba497f13;unsigned long*pgd_quick;unsigned long*pmd_quick;unsigned long*pte_quick;unsigned long pgtable_cache_sz;} __attribute__((aligned(1 << 7))) ;
# 74 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
extern struct cpuinfo_x86 boot_cpu_data_R0657d037;
extern struct tss_struct init_tss[1U];
# 96 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
extern char ignore_irq13;
# 98
extern void identify_cpu(struct cpuinfo_x86*);
extern void print_cpu_info(struct cpuinfo_x86*);
extern void dodgy_tsc (void);
# 126 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
inline static void cpuid(int op,int*eax,int*ebx,int*ecx,int*edx){
# 128
__asm__("cpuid":"=a"(*eax),"=b"(*ebx),"=c"(*ecx),"=d"(*edx):"0"(op));}
# 139
inline static unsigned cpuid_eax(unsigned op){
# 141
unsigned eax;
# 143
__asm__("cpuid":"=a"(eax):"0"(op) :"bx","cx","dx");
# 147
return eax;}
# 149
inline static unsigned cpuid_ebx(unsigned op){
# 151
unsigned eax;unsigned ebx;
# 153
__asm__("cpuid":"=a"(eax),"=b"(ebx):"0"(op) :"cx","dx");
# 157
return ebx;}
# 159
inline static unsigned cpuid_ecx(unsigned op){
# 161
unsigned eax;unsigned ecx;
# 163
__asm__("cpuid":"=a"(eax),"=c"(ecx):"0"(op) :"bx","dx");
# 167
return ecx;}
# 169
inline static unsigned cpuid_edx(unsigned op){
# 171
unsigned eax;unsigned edx;
# 173
__asm__("cpuid":"=a"(eax),"=d"(edx):"0"(op) :"bx","cx");
# 177
return edx;}
# 204 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
extern unsigned long mmu_cr4_features;
# 206
inline static void set_in_cr4(unsigned long mask){
# 208
mmu_cr4_features |=mask;
__asm__("movl %%cr4,%%eax\n\torl %0,%%eax\n\tmovl %%eax,%%cr4\n"::"irg"(mask) :"ax");}
# 216
inline static void clear_in_cr4(unsigned long mask){
# 218
mmu_cr4_features &=~ mask;
__asm__("movl %%cr4,%%eax\n\tandl %0,%%eax\n\tmovl %%eax,%%cr4\n"::"irg"(~ mask) :"ax");}
# 261 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
extern int MCA_bus_Rf48a2c4c;
# 265
extern unsigned machine_id;
extern unsigned machine_submodel_id;
extern unsigned BIOS_revision;
extern unsigned mca_pentium_flag;struct i387_fsave_struct{long cwd;long swd;long twd;long fip;long fcs;long foo;long fos;long st_space[20U];long status;};struct i387_fxsave_struct{unsigned short cwd;unsigned short swd;unsigned short twd;unsigned short fop;long fip;long fcs;long foo;long fos;long mxcsr;long reserved;long st_space[32U];long xmm_space[32U];long padding[56U];} __attribute__((aligned(16))) ;struct i387_soft_struct{long cwd;long swd;long twd;long fip;long fcs;long foo;long fos;long st_space[20U];unsigned char ftop;unsigned char changed;unsigned char lookahead;unsigned char no_update;unsigned char rm;unsigned char alimit;struct info*info;unsigned long entry_eip;};union i387_union{struct i387_fsave_struct fsave;struct i387_fxsave_struct fxsave;struct i387_soft_struct soft;};struct _tuple8{unsigned long seg;};
# 336 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
typedef struct _tuple8 mm_segment_t;struct tss_struct{unsigned short back_link;unsigned short __blh;unsigned long esp0;unsigned short ss0;unsigned short __ss0h;unsigned long esp1;unsigned short ss1;unsigned short __ss1h;unsigned long esp2;unsigned short ss2;unsigned short __ss2h;unsigned long __cr3;unsigned long eip;unsigned long eflags;unsigned long eax;unsigned long ecx;unsigned long edx;unsigned long ebx;unsigned long esp;unsigned long ebp;unsigned long esi;unsigned long edi;unsigned short es;unsigned short __esh;unsigned short cs;unsigned short __csh;unsigned short ss;unsigned short __ssh;unsigned short ds;unsigned short __dsh;unsigned short fs;unsigned short __fsh;unsigned short gs;unsigned short __gsh;unsigned short ldt;unsigned short __ldth;unsigned short trace;unsigned short bitmap;unsigned long io_bitmap[33U];unsigned long __cacheline_filler[5U];};struct thread_struct{unsigned long esp0;unsigned long eip;unsigned long esp;unsigned long fs;unsigned long gs;unsigned long debugreg[8U];unsigned long cr2;unsigned long trap_no;unsigned long error_code;union i387_union i387;struct vm86_struct*vm86_info;unsigned long screen_bitmap;unsigned long v86flags;unsigned long v86mask;unsigned long saved_esp0;int ioperm;unsigned long io_bitmap[33U];};struct task_struct;struct mm_struct;
# 434 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
extern void release_thread(struct task_struct*);
# 438
extern int arch_kernel_thread(int(*)(void*),void*,unsigned long);
# 441
extern void copy_segments(struct task_struct*,struct mm_struct*);
extern void release_segments(struct mm_struct*);
# 447
inline static unsigned long thread_saved_pc(struct thread_struct*t){
# 449
return((unsigned long*)t->esp)[3];}
# 452
extern unsigned long get_wchan_R686763e7(struct task_struct*);struct microcode{unsigned hdrver;unsigned rev;unsigned date;unsigned sig;unsigned cksum;unsigned ldrver;unsigned pf;unsigned reserved[5U];unsigned bits[500U];};
# 480 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/processor.h"
inline static void rep_nop (void){
# 482
__asm__  volatile ("rep;nop");}
# 491
inline void prefetch(const void*x){
# 493
__asm__  volatile ("prefetchnta (%0)"::"r"(x));}
# 48 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/prefetch.h"
inline static void prefetchw(const void*x){;}struct list_head{struct list_head*next;struct list_head*prev;};
# 37 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/list.h"
inline static void __list_add(struct list_head*_new,struct list_head*prev,struct list_head*next){
# 41
next->prev=_new;
_new->next=next;
_new->prev=prev;
prev->next=_new;}
# 55 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/list.h"
inline static void list_add(struct list_head*_new,struct list_head*head){
# 57
__list_add(_new,head,head->next);}
# 68 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/list.h"
inline static void list_add_tail(struct list_head*_new,struct list_head*head){
# 70
__list_add(_new,head->prev,head);}
# 80 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/list.h"
inline static void __list_del(struct list_head*prev,struct list_head*next){
# 82
next->prev=prev;
prev->next=next;}
# 91
inline static void list_del(struct list_head*entry){
# 93
__list_del(entry->prev,entry->next);
entry->next=(void*)0;
entry->prev=(void*)0;}
# 102
inline static void list_del_init(struct list_head*entry){
# 104
__list_del(entry->prev,entry->next);
do{entry->next=entry;entry->prev=entry;}while(0);}
# 113
inline static void list_move(struct list_head*list,struct list_head*head){
# 115
__list_del(list->prev,list->next);
list_add(list,head);}
# 124
inline static void list_move_tail(struct list_head*list,struct list_head*head){
# 127
__list_del(list->prev,list->next);
list_add_tail(list,head);}
# 135
inline static int list_empty(struct list_head*head){
# 137
return head->next == head;}
# 140
inline static void __list_splice(struct list_head*list,struct list_head*head){
# 143
struct list_head*first=list->next;
struct list_head*last=list->prev;
struct list_head*at=head->next;
# 147
first->prev=head;
head->next=first;
# 150
last->next=at;
at->prev=last;}
# 159
inline static void list_splice(struct list_head*list,struct list_head*head){
# 161
if(!list_empty(list))
__list_splice(list,head);}
# 172 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/list.h"
inline static void list_splice_init(struct list_head*list,struct list_head*head){
# 175
if(!list_empty(list)){
__list_splice(list,head);
do{list->next=list;list->prev=list;}while(0);}}struct _CYC_ANON_NAME_1{};
# 75 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/spinlock.h"
typedef struct _CYC_ANON_NAME_1 spinlock_t;struct _tuple9{};
# 139 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/spinlock.h"
typedef struct _tuple9 rwlock_t;struct _tuple10{spinlock_t lock;};
# 170 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/spinlock.h"
typedef struct _tuple10 spinlock_cacheline_t;struct __wait_queue{unsigned flags;struct task_struct*task;struct list_head task_list;};
# 41 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/wait.h"
typedef struct __wait_queue wait_queue_t;struct __wait_queue_head{spinlock_t lock;struct list_head task_list;};
# 85 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/wait.h"
typedef struct __wait_queue_head wait_queue_head_t;
# 155 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/wait.h"
inline static void init_waitqueue_head(wait_queue_head_t*q){
# 161
q->lock=(spinlock_t){};
do{(& q->task_list)->next=& q->task_list;(& q->task_list)->prev=& q->task_list;}while(0);}
# 169
inline static void init_waitqueue_entry(wait_queue_t*q,struct task_struct*p){
# 175
q->flags=0;
q->task=p;}
# 182
inline static int waitqueue_active(wait_queue_head_t*q){
# 190
return !list_empty(& q->task_list);}
# 193
inline static void __add_wait_queue(wait_queue_head_t*head,wait_queue_t*_new){
# 203 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/wait.h"
list_add(& _new->task_list,& head->task_list);}
# 209
inline static void __add_wait_queue_tail(wait_queue_head_t*head,wait_queue_t*_new){
# 220 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/wait.h"
list_add_tail(& _new->task_list,& head->task_list);}
# 223
inline static void __remove_wait_queue(wait_queue_head_t*head,wait_queue_t*old){
# 231
list_del(& old->task_list);}
# 8 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/statfs.h"
typedef __kernel_fsid_t fsid_t;struct statfs{long f_type;long f_bsize;long f_blocks;long f_bfree;long f_bavail;long f_files;long f_ffree;__kernel_fsid_t f_fsid;long f_namelen;long f_spare[6U];};struct iovec{void*iov_base;__kernel_size_t iov_len;};
# 11 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/socket.h"
typedef unsigned short sa_family_t;struct sockaddr{sa_family_t sa_family;char sa_data[14U];};struct linger{int l_onoff;int l_linger;};struct sockaddr_storage{sa_family_t ss_family;char __data[128U - sizeof(sa_family_t)];} __attribute__((aligned(4))) ;struct msghdr{void*msg_name;int msg_namelen;struct iovec*msg_iov;__kernel_size_t msg_iovlen;void*msg_control;__kernel_size_t msg_controllen;unsigned msg_flags;};struct cmsghdr{__kernel_size_t cmsg_len;int cmsg_level;int cmsg_type;};
# 117 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/socket.h"
inline static struct cmsghdr*__cmsg_nxthdr(void*__ctl,__kernel_size_t __size,struct cmsghdr*__cmsg){
# 120
struct cmsghdr*__ptr;
# 122
__ptr=(struct cmsghdr*)((unsigned char*)__cmsg + ((__cmsg->cmsg_len + sizeof(long))- 1 & ~(sizeof(long)- 1)));
if((unsigned long)((char*)(__ptr + 1)- (char*)__ctl)> __size)
return(struct cmsghdr*)0;
# 126
return __ptr;}
# 129
inline static struct cmsghdr*cmsg_nxthdr(struct msghdr*__msg,struct cmsghdr*__cmsg){
# 131
return __cmsg_nxthdr(__msg->msg_control,__msg->msg_controllen,__cmsg);}struct ucred{__u32 pid;__u32 uid;__u32 gid;};
# 264 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/socket.h"
extern int memcpy_fromiovec_R9fb3dd30(unsigned char*,struct iovec*,int);
extern int memcpy_fromiovecend(unsigned char*,struct iovec*,int,int);
# 267
extern int csum_partial_copy_fromiovecend(unsigned char*,struct iovec*,int,unsigned,int*);
# 272
extern int verify_iovec(struct msghdr*,struct iovec*,char*,int);
extern int memcpy_toiovec_R9ceb163c(struct iovec*,unsigned char*,int);
extern void memcpy_tokerneliovec_Rc125e088(struct iovec*,unsigned char*,int);
extern int move_addr_to_user_R38c99093(void*,int,void*,int*);
extern int move_addr_to_kernel_R5dfa4696(void*,int,void*);
extern int put_cmsg_Rf39bf4d9(struct msghdr*,int,int,int,void*);struct poll_table_struct;
# 49 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/net.h"
typedef enum{SS_FREE =0,SS_UNCONNECTED =1U,SS_CONNECTING =2U,SS_CONNECTED =3U,SS_DISCONNECTING =4U }socket_state;struct socket{socket_state state;unsigned long flags;struct proto_ops*ops;struct inode*inode;struct fasync_struct*fasync_list;struct file*file;struct sock*sk;wait_queue_head_t wait;short type;unsigned char passcred;};struct scm_cookie;struct vm_area_struct;struct page;struct proto_ops{int family;int(*release)(struct socket*);int(*bind)(struct socket*,struct sockaddr*,int);int(*connect)(struct socket*,struct sockaddr*,int,int);int(*socketpair)(struct socket*,struct socket*);int(*accept)(struct socket*,struct socket*,int);int(*getname_R7c60d66e)(struct socket*,struct sockaddr*,int*,int);unsigned(*poll)(struct file*,struct socket*,struct poll_table_struct*);int(*ioctl)(struct socket*,unsigned,unsigned long);int(*listen)(struct socket*,int);int(*shutdown)(struct socket*,int);int(*setsockopt)(struct socket*,int,int,char*,int);int(*getsockopt)(struct socket*,int,int,char*,int*);int(*sendmsg)(struct socket*,struct msghdr*,int,struct scm_cookie*);int(*recvmsg)(struct socket*,struct msghdr*,int,int,struct scm_cookie*);int(*mmap)(struct file*,struct socket*,struct vm_area_struct*);ssize_t(*sendpage)(struct socket*,struct page*,int,size_t,int);};struct net_proto_family{int family;int(*create)(struct socket*,int);short authentication;short encryption;short encrypt_net;};struct net_proto{const char*name;void(*init_func)(struct net_proto*);};
# 132 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/net.h"
extern int sock_wake_async_R413ad4de(struct socket*,int,int);
extern int sock_register_Rcef7918f(struct net_proto_family*);
extern int sock_unregister_R2394a062(int);
extern struct socket*sock_alloc_Rccbaa35d (void);
extern int sock_create_R56aecb71(int,int,int,struct socket**);
extern void sock_release_R65ce8e6d(struct socket*);
extern int sock_sendmsg_R5a735d14(struct socket*,struct msghdr*,int);
extern int sock_recvmsg_Rd10dca4c(struct socket*,struct msghdr*,int,int);
extern int sock_readv_writev(int,struct inode*,struct file*,const struct iovec*,long,long);
# 143
extern int net_ratelimit_Rf6ebc03b (void);
extern unsigned long net_random_R1c66f64c (void);
extern void net_srandom_Rff963ed8(unsigned long);
# 67 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kdev_t.h"
typedef unsigned short kdev_t;
# 76 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kdev_t.h"
extern const char*kdevname_Rc258c906(kdev_t);
# 92 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kdev_t.h"
inline static unsigned kdev_t_to_nr(kdev_t dev){
return(unsigned)(dev >> 8)<< 8 | (unsigned)(dev & (1U << 8)- 1);}
# 96
inline static kdev_t to_kdev_t(int dev){
# 98
int major;int minor;
# 107 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/kdev_t.h"
major=dev >> 8;
minor=dev & 255;
# 110
return major << 8 | minor;}struct __CYC_NKS_ANON_NAME_2{int counter;};
# 22 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
typedef struct __CYC_NKS_ANON_NAME_2 atomic_t;
# 53 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static void atomic_add(int i,atomic_t*v){
# 55
__asm__  volatile ("addl %1,%0":"=m"(v->counter):"ir"(i),"m"(v->counter));}
# 69 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static void atomic_sub(int i,atomic_t*v){
# 71
__asm__  volatile ("subl %1,%0":"=m"(v->counter):"ir"(i),"m"(v->counter));}
# 87 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static int atomic_sub_and_test(int i,atomic_t*v){
# 89
unsigned char c;
# 91
__asm__  volatile ("subl %2,%0; sete %1":"=m"(v->counter),"=qm"(c):"ir"(i),"m"(v->counter) :"memory");
# 95
return c;}
# 105 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static void atomic_inc(atomic_t*v){
# 107
__asm__  volatile ("incl %0":"=m"(v->counter):"m"(v->counter));}
# 120 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static void atomic_dec(atomic_t*v){
# 122
__asm__  volatile ("decl %0":"=m"(v->counter):"m"(v->counter));}
# 137 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static int atomic_dec_and_test(atomic_t*v){
# 139
unsigned char c;
# 141
__asm__  volatile ("decl %0; sete %1":"=m"(v->counter),"=qm"(c):"m"(v->counter) :"memory");
# 145
return c != 0;}
# 157 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static int atomic_inc_and_test(atomic_t*v){
# 159
unsigned char c;
# 161
__asm__  volatile ("incl %0; sete %1":"=m"(v->counter),"=qm"(c):"m"(v->counter) :"memory");
# 165
return c != 0;}
# 178 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/atomic.h"
inline static int atomic_add_negative(int i,atomic_t*v){
# 180
unsigned char c;
# 182
__asm__  volatile ("addl %2,%0; sets %1":"=m"(v->counter),"=qm"(c):"ir"(i),"m"(v->counter) :"memory");
# 186
return c;}struct vfsmount{struct list_head mnt_hash;struct vfsmount*mnt_parent;struct dentry*mnt_mountpoint;struct dentry*mnt_root;struct super_block*mnt_sb;struct list_head mnt_mounts;struct list_head mnt_child;atomic_t mnt_count;int mnt_flags;char*mnt_devname;struct list_head mnt_list;};
# 34 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mount.h"
inline static struct vfsmount*mntget(struct vfsmount*mnt){
# 36
if(mnt)
atomic_inc(& mnt->mnt_count);
return mnt;}
# 41
extern void __mntput_Rf9db784e(struct vfsmount*);
# 43
inline static void mntput(struct vfsmount*mnt){
# 45
if(mnt){
if(atomic_dec_and_test(& mnt->mnt_count))
__mntput_Rf9db784e(mnt);}}struct qstr{const unsigned char*name;unsigned len;unsigned hash;};struct dentry_stat_t{int nr_dentry;int nr_unused;int age_limit;int want_pages;int dummy[2U];};
# 38 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/dcache.h"
extern struct dentry_stat_t dentry_stat;
# 45
inline static unsigned long partial_name_hash(unsigned long c,unsigned long prevhash){
# 47
return((prevhash + (c << 4))+ (c >> 4))* 11;}
# 51
inline static unsigned long end_name_hash(unsigned long hash){
# 53
return(unsigned)hash;}
# 57
inline static unsigned full_name_hash(const unsigned char*name,unsigned len){
# 59
unsigned long hash=0;
while(len --){
hash=partial_name_hash(*(name ++),hash);}
return end_name_hash(hash);}struct dentry{atomic_t d_count;unsigned d_flags;struct inode*d_inode;struct dentry*d_parent;struct list_head d_hash;struct list_head d_lru;struct list_head d_child;struct list_head d_subdirs;struct list_head d_alias;int d_mounted;struct qstr d_name;unsigned long d_time;struct dentry_operations*d_op;struct super_block*d_sb;unsigned long d_vfs_flags;void*d_fsdata;unsigned char d_iname[16U];};struct dentry_operations{int(*d_revalidate)(struct dentry*,int);int(*d_hash)(struct dentry*,struct qstr*);int(*d_compare)(struct dentry*,struct qstr*,struct qstr*);int(*d_delete_Rcb09c3b1)(struct dentry*);void(*d_release)(struct dentry*);void(*d_iput)(struct dentry*,struct inode*);};
# 128 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/dcache.h"
extern spinlock_t dcache_lock_R73463cef;
# 147 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/dcache.h"
inline static void d_drop(struct dentry*dentry){
# 149
(void)& dcache_lock_R73463cef;
list_del(& dentry->d_hash);
do{(& dentry->d_hash)->next=& dentry->d_hash;(& dentry->d_hash)->prev=& dentry->d_hash;}while(0);
do{;}while(0);}
# 155
inline static int dname_external(struct dentry*d){
# 157
return(d->d_name).name != d->d_iname;}
# 163
extern void d_instantiate_Rfde71c25(struct dentry*,struct inode*);
extern void d_delete_Rcb09c3b1(struct dentry*);
# 167
extern struct dentry*d_alloc_R36135b1c(struct dentry*,const struct qstr*);
extern void shrink_dcache_sb_R952c2b46(struct super_block*);
extern void shrink_dcache_parent_Rcde011dc(struct dentry*);
extern int d_invalidate_Ra76b52b4(struct dentry*);struct zone_struct;
# 175
extern int shrink_dcache_memory(int,unsigned);
extern void prune_dcache_R6cf28f77(int);
# 179
extern int shrink_icache_memory(int,int);
extern void prune_icache(int);
# 183
extern int shrink_dqcache_memory(int,unsigned);
# 186
extern struct dentry*d_alloc_root_Rae593930(struct inode*);
# 189
extern void d_genocide(struct dentry*);
# 191
extern struct dentry*d_find_alias_Rfa7875f7(struct inode*);
extern void d_prune_aliases_R8869d0a0(struct inode*);
# 195
extern int have_submounts_R43d4f684(struct dentry*);
# 200
extern void d_rehash_R5881914c(struct dentry*);
# 211 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/dcache.h"
inline static void d_add(struct dentry*entry,struct inode*inode){
# 213
d_instantiate_Rfde71c25(entry,inode);
d_rehash_R5881914c(entry);}
# 218
extern void d_move_Rb0b44186(struct dentry*,struct dentry*);
# 221
extern struct dentry*d_lookup_R85669e41(struct dentry*,struct qstr*);
# 224
extern int d_validate_R5d7dbfa1(struct dentry*,struct dentry*);
# 226
extern char*__d_path_Rd65ddf51(struct dentry*,struct vfsmount*,struct dentry*,struct vfsmount*,char*,int);
# 244 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/dcache.h"
inline static struct dentry*dget(struct dentry*dentry){
# 246
if(dentry){
if(!(& dentry->d_count)->counter)
__out_of_line_bug_R8b0fd3c5(248);
atomic_inc(& dentry->d_count);}
# 251
return dentry;}
# 254
extern struct dentry*dget_locked_R9eff45f2(struct dentry*);
# 263 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/dcache.h"
inline static int d_unhashed(struct dentry*dentry){
# 265
return list_empty(& dentry->d_hash);}
# 268
extern void dput_R6147a8c7(struct dentry*);
# 270
inline static int d_mountpoint(struct dentry*dentry){
# 272
return dentry->d_mounted;}
# 275
extern struct vfsmount*lookup_mnt_Rd540150b(struct vfsmount*,struct dentry*);struct __old_kernel_stat{unsigned short st_dev;unsigned short st_ino;unsigned short st_mode;unsigned short st_nlink;unsigned short st_uid;unsigned short st_gid;unsigned short st_rdev;unsigned long st_size;unsigned long st_atime;unsigned long st_mtime;unsigned long st_ctime;};struct stat{unsigned short st_dev;unsigned short __pad1;unsigned long st_ino;unsigned short st_mode;unsigned short st_nlink;unsigned short st_uid;unsigned short st_gid;unsigned short st_rdev;unsigned short __pad2;unsigned long st_size;unsigned long st_blksize;unsigned long st_blocks;unsigned long st_atime;unsigned long __unused1;unsigned long st_mtime;unsigned long __unused2;unsigned long st_ctime;unsigned long __unused3;unsigned long __unused4;unsigned long __unused5;};struct stat64{unsigned short st_dev;unsigned char __pad0[10U];unsigned long __st_ino;unsigned st_mode;unsigned st_nlink;unsigned long st_uid;unsigned long st_gid;unsigned short st_rdev;unsigned char __pad3[10U];long long st_size;unsigned long st_blksize;unsigned long st_blocks;unsigned long __pad4;unsigned long st_atime;unsigned long __pad5;unsigned long st_mtime;unsigned long __pad6;unsigned long st_ctime;unsigned long __pad7;unsigned long long st_ino;};
# 15 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/string.h"
extern char*___strtok_R29805c13;
extern char*strpbrk_R9a1dfd65(const char*,const char*);
extern char*strtok_Ree9c1bd4(char*,const char*);
extern char*strsep_R85df9b6c(char**,const char*);
extern __kernel_size_t strspn_Rc7ec6c27(const char*,const char*);
# 33 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/string.h"
inline static char*strcpy(char*dest,const char*src){
# 35
int d0;int d1;int d2;
__asm__  volatile ("1:\tlodsb\n\tstosb\n\ttestb %%al,%%al\n\tjne 1b":"=&S"(d0),"=&D"(d1),"=&a"(d2):"0"(src),"1"(dest) :"memory");
# 43
return dest;}
# 47
inline static char*strncpy(char*dest,const char*src,size_t count){
# 49
int d0;int d1;int d2;int d3;
__asm__  volatile ("1:\tdecl %2\n\tjs 2f\n\tlodsb\n\tstosb\n\ttestb %%al,%%al\n\tjne 1b\n\trep\n\tstosb\n2:":"=&S"(d0),"=&D"(d1),"=&c"(d2),"=&a"(d3):"0"(src),"1"(dest),"2"(count) :"memory");
# 62
return dest;}
# 66
inline static char*strcat(char*dest,const char*src){
# 68
int d0;int d1;int d2;int d3;
__asm__  volatile ("repne\n\tscasb\n\tdecl %1\n1:\tlodsb\n\tstosb\n\ttestb %%al,%%al\n\tjne 1b":"=&S"(d0),"=&D"(d1),"=&a"(d2),"=&c"(d3):"0"(src),"1"(dest),"2"(0),"3"(-1) :"memory");
# 79
return dest;}
# 83
inline static char*strncat(char*dest,const char*src,size_t count){
# 85
int d0;int d1;int d2;int d3;
__asm__  volatile ("repne\n\tscasb\n\tdecl %1\n\tmovl %8,%3\n1:\tdecl %3\n\tjs 2f\n\tlodsb\n\tstosb\n\ttestb %%al,%%al\n\tjne 1b\n2:\txorl %2,%2\n\tstosb":"=&S"(d0),"=&D"(d1),"=&a"(d2),"=&c"(d3):"0"(src),"1"(dest),"2"(0),"3"(-1),"g"(count) :"memory");
# 102
return dest;}
# 106
inline static int strcmp(const char*cs,const char*ct){
# 108
int d0;int d1;
register int __res;
__asm__  volatile ("1:\tlodsb\n\tscasb\n\tjne 2f\n\ttestb %%al,%%al\n\tjne 1b\n\txorl %%eax,%%eax\n\tjmp 3f\n2:\tsbbl %%eax,%%eax\n\torb $1,%%al\n3:":"=a"(__res),"=&S"(d0),"=&D"(d1):"1"(cs),"2"(ct));
# 123
return __res;}
# 127
inline static int strncmp(const char*cs,const char*ct,size_t count){
# 129
register int __res;
int d0;int d1;int d2;
__asm__  volatile ("1:\tdecl %3\n\tjs 2f\n\tlodsb\n\tscasb\n\tjne 3f\n\ttestb %%al,%%al\n\tjne 1b\n2:\txorl %%eax,%%eax\n\tjmp 4f\n3:\tsbbl %%eax,%%eax\n\torb $1,%%al\n4:":"=a"(__res),"=&S"(d0),"=&D"(d1),"=&c"(d2):"1"(cs),"2"(ct),"3"(count));
# 146
return __res;}
# 150
inline static char*strchr(const char*s,int c){
# 152
int d0;
register char*__res;
__asm__  volatile ("movb %%al,%%ah\n1:\tlodsb\n\tcmpb %%ah,%%al\n\tje 2f\n\ttestb %%al,%%al\n\tjne 1b\n\tmovl $1,%1\n2:\tmovl %1,%0\n\tdecl %0":"=a"(__res),"=&S"(d0):"1"(s),"0"(c));
# 165
return __res;}
# 169
inline static char*strrchr(const char*s,int c){
# 171
int d0;int d1;
register char*__res;
__asm__  volatile ("movb %%al,%%ah\n1:\tlodsb\n\tcmpb %%ah,%%al\n\tjne 2f\n\tleal -1(%%esi),%0\n2:\ttestb %%al,%%al\n\tjne 1b":"=g"(__res),"=&S"(d0),"=&a"(d1):"0"(0),"1"(s),"2"(c));
# 182
return __res;}
# 186
inline static size_t strlen(const char*s){
# 188
int d0;
register int __res;
__asm__  volatile ("repne\n\tscasb\n\tnotl %0\n\tdecl %0":"=c"(__res),"=&D"(d0):"1"(s),"a"(0),"0"(-1));
# 196
return __res;}
# 199
inline static void*__memcpy(void*to,const void*from,size_t n){
# 201
int d0;int d1;int d2;
__asm__  volatile ("rep ; movsl\n\ttestb $2,%b4\n\tje 1f\n\tmovsw\n1:\ttestb $1,%b4\n\tje 2f\n\tmovsb\n2:":"=&c"(d0),"=&D"(d1),"=&S"(d2):"0"(n / 4),"q"(n),"1"((long)to),"2"((long)from) :"memory");
# 214
return to;}
# 221
inline static void*__constant_memcpy(void*to,const void*from,size_t n){
# 223
switch(n){case 0:
# 225
 return to;case 1:
# 227
*((unsigned char*)to)=*((const unsigned char*)from);
return to;case 2:
# 230
*((unsigned short*)to)=*((const unsigned short*)from);
return to;case 3:
# 233
*((unsigned short*)to)=*((const unsigned short*)from);
*(2 + (unsigned char*)to)=*(2 + (const unsigned char*)from);
return to;case 4:
# 237
*((unsigned long*)to)=*((const unsigned long*)from);
return to;case 6:
# 240
*((unsigned long*)to)=*((const unsigned long*)from);
*(2 + (unsigned short*)to)=*(2 + (const unsigned short*)from);
return to;case 8:
# 244
*((unsigned long*)to)=*((const unsigned long*)from);
*(1 + (unsigned long*)to)=*(1 + (const unsigned long*)from);
return to;case 12:
# 248
*((unsigned long*)to)=*((const unsigned long*)from);
*(1 + (unsigned long*)to)=*(1 + (const unsigned long*)from);
*(2 + (unsigned long*)to)=*(2 + (const unsigned long*)from);
return to;case 16:
# 253
*((unsigned long*)to)=*((const unsigned long*)from);
*(1 + (unsigned long*)to)=*(1 + (const unsigned long*)from);
*(2 + (unsigned long*)to)=*(2 + (const unsigned long*)from);
*(3 + (unsigned long*)to)=*(3 + (const unsigned long*)from);
return to;case 20:
# 259
*((unsigned long*)to)=*((const unsigned long*)from);
*(1 + (unsigned long*)to)=*(1 + (const unsigned long*)from);
*(2 + (unsigned long*)to)=*(2 + (const unsigned long*)from);
*(3 + (unsigned long*)to)=*(3 + (const unsigned long*)from);
*(4 + (unsigned long*)to)=*(4 + (const unsigned long*)from);
return to;}{
# 274
int d0;int d1;int d2;
switch(n % 4){case 0:
 __asm__  volatile ("rep ; movsl":"=&c"(d0),"=&D"(d1),"=&S"(d2):"0"(n / 4),"1"((long)to),"2"((long)from) :"memory");return to;case 1:
 __asm__  volatile ("rep ; movsl\n\tmovsb":"=&c"(d0),"=&D"(d1),"=&S"(d2):"0"(n / 4),"1"((long)to),"2"((long)from) :"memory");return to;case 2:
 __asm__  volatile ("rep ; movsl\n\tmovsw":"=&c"(d0),"=&D"(d1),"=&S"(d2):"0"(n / 4),"1"((long)to),"2"((long)from) :"memory");return to;default:
 __asm__  volatile ("rep ; movsl\n\tmovsw\n\tmovsb":"=&c"(d0),"=&D"(d1),"=&S"(d2):"0"(n / 4),"1"((long)to),"2"((long)from) :"memory");return to;}}}
# 335 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/string.h"
extern void __struct_cpy_bug (void);
# 345 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/string.h"
inline static void*memmove(void*dest,const void*src,size_t n){
# 347
int d0;int d1;int d2;
if(dest < src)
__asm__  volatile ("rep\n\tmovsb":"=&c"(d0),"=&S"(d1),"=&D"(d2):"0"(n),"1"(src),"2"(dest) :"memory");else{
# 356
__asm__  volatile ("std\n\trep\n\tmovsb\n\tcld":"=&c"(d0),"=&S"(d1),"=&D"(d2):"0"(n),"1"((n - 1)+ (const char*)src),"2"((n - 1)+ (char*)dest) :"memory");}
# 366
return dest;}
# 372
inline static void*memchr(const void*cs,int c,size_t count){
# 374
int d0;
register void*__res;
if(!count)
return(void*)0;
__asm__  volatile ("repne\n\tscasb\n\tje 1f\n\tmovl $1,%0\n1:\tdecl %0":"=D"(__res),"=&c"(d0):"a"(c),"0"(cs),"1"(count));
# 385
return __res;}
# 388
inline static void*__memset_generic(void*s,char c,size_t count){
# 390
int d0;int d1;
__asm__  volatile ("rep\n\tstosb":"=&c"(d0),"=&D"(d1):"a"(c),"1"(s),"0"(count) :"memory");
# 397
return s;}
# 408 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/string.h"
inline static void*__constant_c_memset(void*s,unsigned long c,size_t count){
# 410
int d0;int d1;
__asm__  volatile ("rep ; stosl\n\ttestb $2,%b3\n\tje 1f\n\tstosw\n1:\ttestb $1,%b3\n\tje 2f\n\tstosb\n2:":"=&c"(d0),"=&D"(d1):"a"(c),"q"(count),"0"(count / 4),"1"((long)s) :"memory");
# 423
return s;}
# 428
inline static size_t strnlen(const char*s,size_t count){
# 430
int d0;
register int __res;
__asm__  volatile ("movl %2,%0\n\tjmp 2f\n1:\tcmpb $0,(%0)\n\tje 3f\n\tincl %0\n2:\tdecl %1\n\tcmpl $-1,%1\n\tjne 1b\n3:\tsubl %2,%0":"=a"(__res),"=&d"(d0):"c"(s),"1"(count));
# 444
return __res;}
# 450
extern char*strstr_R1e6d26a8(const char*,const char*);
# 456
inline static void*__constant_c_and_count_memset(void*s,unsigned long pattern,size_t count){
# 458
switch(count){case 0:
# 460
 return s;case 1:
# 462
*((unsigned char*)s)=pattern;
return s;case 2:
# 465
*((unsigned short*)s)=pattern;
return s;case 3:
# 468
*((unsigned short*)s)=pattern;
*(2 + (unsigned char*)s)=pattern;
return s;case 4:
# 472
*((unsigned long*)s)=pattern;
return s;}{
# 483
int d0;int d1;
switch(count % 4){case 0:
 __asm__  volatile ("rep ; stosl":"=&c"(d0),"=&D"(d1):"a"(pattern),"0"(count / 4),"1"((long)s) :"memory");return s;case 1:
 __asm__  volatile ("rep ; stosl\n\tstosb":"=&c"(d0),"=&D"(d1):"a"(pattern),"0"(count / 4),"1"((long)s) :"memory");return s;case 2:
 __asm__  volatile ("rep ; stosl\n\tstosw":"=&c"(d0),"=&D"(d1):"a"(pattern),"0"(count / 4),"1"((long)s) :"memory");return s;default:
 __asm__  volatile ("rep ; stosl\n\tstosw\n\tstosb":"=&c"(d0),"=&D"(d1):"a"(pattern),"0"(count / 4),"1"((long)s) :"memory");return s;}}}
# 515 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/string.h"
inline static void*memscan(void*addr,int c,size_t size){
# 517
if(!size)
return addr;
__asm__("repnz; scasb\n\tjnz 1f\n\tdec %%edi\n1:":"=D"(addr),"=c"(size):"0"(addr),"1"(size),"a"(c));
# 525
return addr;}
# 46 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/string.h"
extern int strnicmp_R4e830a3e(const char*,const char*,__kernel_size_t);
# 77 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/string.h"
extern int __builtin_memcmp(const void*,const void*,__kernel_size_t);
# 36 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static void set_bit(int nr,volatile void*addr){
# 38
__asm__  volatile ("btsl %1,%0":"=m"(*((volatile long*)addr)):"Ir"(nr));}
# 53 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static void __set_bit(int nr,volatile void*addr){
# 55
__asm__("btsl %1,%0":"=m"(*((volatile long*)addr)):"Ir"(nr));}
# 71 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static void clear_bit(int nr,volatile void*addr){
# 73
__asm__  volatile ("btrl %1,%0":"=m"(*((volatile long*)addr)):"Ir"(nr));}
# 90 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static void __change_bit(int nr,volatile void*addr){
# 92
__asm__  volatile ("btcl %1,%0":"=m"(*((volatile long*)addr)):"Ir"(nr));}
# 107 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static void change_bit(int nr,volatile void*addr){
# 109
__asm__  volatile ("btcl %1,%0":"=m"(*((volatile long*)addr)):"Ir"(nr));}
# 123 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int test_and_set_bit(int nr,volatile void*addr){
# 125
int oldbit;
# 127
__asm__  volatile ("btsl %2,%1\n\tsbbl %0,%0":"=r"(oldbit),"=m"(*((volatile long*)addr)):"Ir"(nr) :"memory");
# 131
return oldbit;}
# 143 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int __test_and_set_bit(int nr,volatile void*addr){
# 145
int oldbit;
# 147
__asm__("btsl %2,%1\n\tsbbl %0,%0":"=r"(oldbit),"=m"(*((volatile long*)addr)):"Ir"(nr));
# 151
return oldbit;}
# 162 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int test_and_clear_bit(int nr,volatile void*addr){
# 164
int oldbit;
# 166
__asm__  volatile ("btrl %2,%1\n\tsbbl %0,%0":"=r"(oldbit),"=m"(*((volatile long*)addr)):"Ir"(nr) :"memory");
# 170
return oldbit;}
# 182 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int __test_and_clear_bit(int nr,volatile void*addr){
# 184
int oldbit;
# 186
__asm__("btrl %2,%1\n\tsbbl %0,%0":"=r"(oldbit),"=m"(*((volatile long*)addr)):"Ir"(nr));
# 190
return oldbit;}
# 194
inline static int __test_and_change_bit(int nr,volatile void*addr){
# 196
int oldbit;
# 198
__asm__  volatile ("btcl %2,%1\n\tsbbl %0,%0":"=r"(oldbit),"=m"(*((volatile long*)addr)):"Ir"(nr) :"memory");
# 202
return oldbit;}
# 213 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int test_and_change_bit(int nr,volatile void*addr){
# 215
int oldbit;
# 217
__asm__  volatile ("btcl %2,%1\n\tsbbl %0,%0":"=r"(oldbit),"=m"(*((volatile long*)addr)):"Ir"(nr) :"memory");
# 221
return oldbit;}
# 233 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int constant_test_bit(int nr,volatile const void*addr){
# 235
return(1U << (nr & 31)& ((volatile const unsigned*)addr)[nr >> 5])!= 0;}
# 238
inline static int variable_test_bit(int nr,volatile void*addr){
# 240
int oldbit;
# 242
__asm__  volatile ("btl %2,%1\n\tsbbl %0,%0":"=r"(oldbit):"m"(*((volatile long*)addr)),"Ir"(nr));
# 246
return oldbit;}
# 262 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int find_first_zero_bit(void*addr,unsigned size){
# 264
int d0;int d1;int d2;
int res;
# 267
if(!size)
return 0;
# 270
__asm__  volatile ("movl $-1,%%eax\n\txorl %%edx,%%edx\n\trepe; scasl\n\tje 1f\n\txorl -4(%%edi),%%eax\n\tsubl $4,%%edi\n\tbsfl %%eax,%%edx\n1:\tsubl %%ebx,%%edi\n\tshll $3,%%edi\n\taddl %%edi,%%edx":"=d"(res),"=&c"(d0),"=&D"(d1),"=&a"(d2):"1"(size + 31 >> 5),"2"(addr),"b"(addr));
# 283
return res;}
# 292
inline static int find_next_zero_bit(void*addr,int size,int offset){
# 294
unsigned long*p=(unsigned long*)addr + (offset >> 5);
int set=0;int bit=offset & 31;int res;
# 297
if(bit){
# 301
__asm__("bsfl %1,%0\n\tjne 1f\n\tmovl $32, %0\n1:":"=r"(set):"r"(~(*p >> bit)));
# 307
if(set < 32 - bit)
return set + offset;
set=32 - bit;
p ++;}
# 315
res=find_first_zero_bit(p,size - 32 * (p - (unsigned long*)addr));
return(offset + set)+ res;}
# 325
inline static unsigned long ffz(unsigned long word){
# 327
__asm__("bsfl %1,%0":"=r"(word):"r"(~ word));
# 330
return word;}
# 343 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/bitops.h"
inline static int ffs(int x){
# 345
int r;
# 347
__asm__("bsfl %1,%0\n\tjnz 1f\n\tmovl $-1,%0\n1:":"=r"(r):"rm"(x));
# 351
return r + 1;}struct poll_table_struct;struct files_stat_struct{int nr_files;int nr_free_files;int max_files;};
# 55 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern struct files_stat_struct files_stat_R03cada27;struct inodes_stat_t{int nr_inodes;int nr_unused;int dummy[5U];};
# 62
extern struct inodes_stat_t inodes_stat;
# 64
extern int leases_enable;extern int dir_notify_enable;extern int lease_break_time;
# 131 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/init.h"
typedef int(*__init_module_func_t)(void);
typedef void(*__cleanup_module_func_t)(void);
# 11 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/bitops.h"
inline static int generic_ffs(int x){
# 13
int r=1;
# 15
if(!x)
return 0;
if(!(x & 65535)){
x >>=16;
r +=16;}
# 21
if(!(x & 255)){
x >>=8;
r +=8;}
# 25
if(!(x & 15)){
x >>=4;
r +=4;}
# 29
if(!(x & 3)){
x >>=2;
r +=2;}
# 33
if(!(x & 1)){
x >>=1;
r +=1;}
# 37
return r;}
# 45
inline static unsigned generic_hweight32(unsigned w){
# 47
unsigned res=(w & 1431655765)+ (w >> 1 & 1431655765);
res=(res & 858993459)+ (res >> 2 & 858993459);
res=(res & 252645135)+ (res >> 4 & 252645135);
res=(res & 16711935)+ (res >> 8 & 16711935);
return(res & 65535)+ (res >> 16 & 65535);}
# 54
inline static unsigned generic_hweight16(unsigned w){
# 56
unsigned res=(w & 21845)+ (w >> 1 & 21845);
res=(res & 13107)+ (res >> 2 & 13107);
res=(res & 3855)+ (res >> 4 & 3855);
return(res & 255)+ (res >> 8 & 255);}
# 62
inline static unsigned generic_hweight8(unsigned w){
# 64
unsigned res=(w & 85)+ (w >> 1 & 85);
res=(res & 51)+ (res >> 2 & 51);
return(res & 15)+ (res >> 4 & 15);}struct task_struct;
# 13 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/system.h"
extern void __switch_to(struct task_struct*,struct task_struct*) __attribute__((regparm(3))) ;
# 64 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/system.h"
inline static unsigned long _get_base(char*addr){
# 66
unsigned long __base;
__asm__("movb %3,%%dh\n\tmovb %2,%%dl\n\tshll $16,%%edx\n\tmovw %1,%%dx":"=&d"(__base):"m"(*(addr + 2)),"m"(*(addr + 4)),"m"(*(addr + 7)));
# 75
return __base;}
# 131 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/system.h"
inline static unsigned long get_limit(unsigned long segment){
# 133
unsigned long __limit;
__asm__("lsll %1,%0":"=r"(__limit):"r"(segment));
# 136
return __limit + 1;}struct __xchg_dummy{unsigned long a[100U];};
# 163 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/system.h"
inline static void __set_64bit(unsigned long long*ptr,unsigned low,unsigned high){
# 166
__asm__  volatile ("\n1:\tmovl (%0), %%eax\n\tmovl 4(%0), %%edx\n\tlock cmpxchg8b (%0)\n\tjnz 1b"::"D"(ptr),"b"(low),"c"(high) :"ax","dx","memory");}
# 179
inline static void __set_64bit_constant(unsigned long long*ptr,unsigned long long value){
# 182
__set_64bit(ptr,(unsigned)value,(unsigned)(value >> 32ULL));}
# 187
inline static void __set_64bit_var(unsigned long long*ptr,unsigned long long value){
# 190
__set_64bit(ptr,*((unsigned*)& value + 0),*((unsigned*)& value + 1));}
# 208 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/system.h"
inline static unsigned long __xchg(unsigned long x,volatile void*ptr,int size){
# 210
switch(size){case 1:
# 212
 __asm__  volatile ("xchgb %b0,%1":"=q"(x):"m"(*((struct __xchg_dummy*)ptr)),"0"(x) :"memory");
# 216
break;case 2:
# 218
 __asm__  volatile ("xchgw %w0,%1":"=r"(x):"m"(*((struct __xchg_dummy*)ptr)),"0"(x) :"memory");
# 222
break;case 4:
# 224
 __asm__  volatile ("xchgl %0,%1":"=r"(x):"m"(*((struct __xchg_dummy*)ptr)),"0"(x) :"memory");
# 228
break;}
# 230
return x;}
# 242 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/system.h"
inline static unsigned long __cmpxchg(volatile void*ptr,unsigned long old,unsigned long _new,int size){
# 245
unsigned long prev;
switch(size){case 1:
# 248
 __asm__  volatile ("cmpxchgb %b1,%2":"=a"(prev):"q"(_new),"m"(*((struct __xchg_dummy*)ptr)),"0"(old) :"memory");
# 252
return prev;case 2:
# 254
 __asm__  volatile ("cmpxchgw %w1,%2":"=a"(prev):"q"(_new),"m"(*((struct __xchg_dummy*)ptr)),"0"(old) :"memory");
# 258
return prev;case 4:
# 260
 __asm__  volatile ("cmpxchgl %1,%2":"=a"(prev):"q"(_new),"m"(*((struct __xchg_dummy*)ptr)),"0"(old) :"memory");
# 264
return prev;}
# 266
return old;}
# 370 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/system.h"
extern void disable_hlt_R794487ee (void);
extern void enable_hlt_R9c7077bd (void);
# 373
extern unsigned long dmi_broken;
extern int is_sony_vaio_laptop_R7462d5e4;struct rw_semaphore;struct rwsem_waiter;
# 48 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/rwsem.h"
extern struct rw_semaphore*rwsem_down_read_failed(struct rw_semaphore*) __attribute__((regparm(3))) ;
extern struct rw_semaphore*rwsem_down_write_failed(struct rw_semaphore*) __attribute__((regparm(3))) ;
extern struct rw_semaphore*rwsem_wake(struct rw_semaphore*) __attribute__((regparm(3))) ;struct rw_semaphore{long count;spinlock_t wait_lock;struct list_head wait_list;};
# 86 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/rwsem.h"
inline static void init_rwsem_Rac458375(struct rw_semaphore*sem){
# 88
sem->count=0;
do{;}while(0);
do{(& sem->wait_list)->next=& sem->wait_list;(& sem->wait_list)->prev=& sem->wait_list;}while(0);}
# 99
inline static void __down_read_R6ebd46a5(struct rw_semaphore*sem){
# 101
__asm__  volatile ("# beginning down_read\n\t  incl      (%%eax)\n\t  js        2f\n\t1:\n\t.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\n\t  pushl     %%ecx\n\t  pushl     %%edx\n\t  call      rwsem_down_read_failed\n\t  popl      %%edx\n\t  popl      %%ecx\n\t  jmp       1b\n.previous\n\t# ending down_read\n\t":"+m"(sem->count):"a"(sem) :"memory","cc");}
# 124
inline static int __down_read_trylock(struct rw_semaphore*sem){
# 126
__s32 result;__s32 tmp;
__asm__  volatile ("# beginning __down_read_trylock\n\t  movl      %0,%1\n\t1:\n\t  movl\t     %1,%2\n\t  addl      %3,%2\n\t  jle\t     2f\n\t  cmpxchgl  %2,%0\n\t  jnz\t     1b\n\t2:\n\t# ending __down_read_trylock\n\t":"+m"(sem->count),"=&a"(result),"=&r"(tmp):"i"(1) :"memory","cc");
# 141
return result >= 0?1: 0;}
# 147
inline static void __down_write_R7fd54c5c(struct rw_semaphore*sem){
# 149
int tmp;
# 151
tmp=(- 65536)+ 1;
__asm__  volatile ("# beginning down_write\n\t  xadd      %0,(%%eax)\n\t  testl     %0,%0\n\t  jnz       2f\n\t1:\n\t.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\n\t  pushl     %%ecx\n\t  call      rwsem_down_write_failed\n\t  popl      %%ecx\n\t  jmp       1b\n.previous\n\t# ending down_write":"+d"(tmp),"+m"(sem->count):"a"(sem) :"memory","cc");}
# 174
inline static int __down_write_trylock(struct rw_semaphore*sem){
# 176
long ret=(typeof(*(& sem->count)))__cmpxchg(& sem->count,(unsigned long)0,(unsigned long)((- 65536)+ 1),sizeof(*(& sem->count)));
# 179
if(ret == 0)
return 1;
return 0;}
# 187
inline static void __up_read_R5783e8ec(struct rw_semaphore*sem){
# 189
__s32 tmp=- 1;
__asm__  volatile ("# beginning __up_read\n\t  xadd      %%edx,(%%eax)\n\t  js        2f\n\t1:\n\t.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\n\t  decw      %%dx\n\t  jnz       1b\n\t  pushl     %%ecx\n\t  call      rwsem_wake\n\t  popl      %%ecx\n\t  jmp       1b\n.previous\n\t# ending __up_read\n":"+m"(sem->count),"+d"(tmp):"a"(sem) :"memory","cc");}
# 213
inline static void __up_write_R70ec8bc6(struct rw_semaphore*sem){
# 215
__asm__  volatile ("# beginning __up_write\n\t  movl      %2,%%edx\n\t  xaddl     %%edx,(%%eax)\n\t  jnz       2f\n\t1:\n\t.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\n\t  decw      %%dx\n\t  jnz       1b\n\t  pushl     %%ecx\n\t  call      rwsem_wake\n\t  popl      %%ecx\n\t  jmp       1b\n.previous\n\t# ending __up_write\n":"+m"(sem->count):"a"(sem),"i"(-((- 65536)+ 1)) :"memory","cc","edx");}
# 239
inline static void rwsem_atomic_add(int delta,struct rw_semaphore*sem){
# 241
__asm__  volatile ("addl %1,%0":"=m"(sem->count):"ir"(delta),"m"(sem->count));}
# 250
inline static int rwsem_atomic_update(int delta,struct rw_semaphore*sem){
# 252
int tmp=delta;
# 254
__asm__  volatile ("xadd %0,(%2)":"+r"(tmp),"=m"(sem->count):"r"(sem),"m"(sem->count) :"memory");
# 260
return tmp + delta;}
# 43 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/rwsem.h"
inline static void down_read(struct rw_semaphore*sem){
# 46
__down_read_R6ebd46a5(sem);}
# 53
inline static int down_read_trylock(struct rw_semaphore*sem){
# 55
int ret;
# 57
ret=__down_read_trylock(sem);
# 59
return ret;}
# 65
inline static void down_write(struct rw_semaphore*sem){
# 68
__down_write_R7fd54c5c(sem);}
# 75
inline static int down_write_trylock(struct rw_semaphore*sem){
# 77
int ret;
# 79
ret=__down_write_trylock(sem);
# 81
return ret;}
# 87
inline static void up_read(struct rw_semaphore*sem){
# 90
__up_read_R5783e8ec(sem);}
# 97
inline static void up_write(struct rw_semaphore*sem){
# 100
__up_write_R70ec8bc6(sem);}struct semaphore{atomic_t count;int sleepers;wait_queue_head_t wait;};
# 73 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/semaphore.h"
inline static void sema_init(struct semaphore*sem,int val){
# 81
(& sem->count)->counter=val;
sem->sleepers=0;
init_waitqueue_head(& sem->wait);}
# 89
inline static void init_MUTEX(struct semaphore*sem){
# 91
sema_init(sem,1);}
# 94
inline static void init_MUTEX_LOCKED(struct semaphore*sem){
# 96
sema_init(sem,0);}
# 99
extern void __down_failed (void) __attribute__((regparm(0))) ;
extern int __down_failed_interruptible (void) __attribute__((regparm(0))) ;
extern int __down_failed_trylock (void) __attribute__((regparm(0))) ;
extern void __up_wakeup (void) __attribute__((regparm(0))) ;
# 104
extern void __down(struct semaphore*) __attribute__((regparm(0))) ;
extern int __down_interruptible(struct semaphore*) __attribute__((regparm(0))) ;
extern int __down_trylock(struct semaphore*) __attribute__((regparm(0))) ;
extern void __up(struct semaphore*) __attribute__((regparm(0))) ;
# 114
inline static void down(struct semaphore*sem){
# 120
__asm__  volatile ("# atomic down operation\n\tdecl %0\n\tjs 2f\n1:\n.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\tcall __down_failed\n\tjmp 1b\n.previous\n\t":"=m"(sem->count):"c"(sem) :"memory");}
# 138
inline static int down_interruptible(struct semaphore*sem){
# 140
int result;
# 146
__asm__  volatile ("# atomic interruptible down operation\n\tdecl %1\n\tjs 2f\n\txorl %0,%0\n1:\n.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\tcall __down_failed_interruptible\n\tjmp 1b\n.previous\n\t":"=a"(result),"=m"(sem->count):"c"(sem) :"memory");
# 159
return result;}
# 166
inline static int down_trylock(struct semaphore*sem){
# 168
int result;
# 174
__asm__  volatile ("# atomic interruptible down operation\n\tdecl %1\n\tjs 2f\n\txorl %0,%0\n1:\n.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\tcall __down_failed_trylock\n\tjmp 1b\n.previous\n\t":"=a"(result),"=m"(sem->count):"c"(sem) :"memory");
# 187
return result;}
# 196
inline static void up(struct semaphore*sem){
# 201
__asm__  volatile ("# atomic up operation\n\tincl %0\n\tjle 2f\n1:\n.subsection 1\n\t.ifndef .text.lock.pwc\n\t.text.lock.pwc:\n\t.endif\n\t2:\tcall __up_wakeup\n\tjmp 1b\n.previous\n\t.subsection 0\n":"=m"(sem->count):"c"(sem) :"memory");}
# 216
inline static int sem_getcount(struct semaphore*sem){
# 218
return(& sem->count)->counter;}
# 203 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern void update_atime_R4c96004a(struct inode*);
# 206
extern void buffer_init(unsigned long);
extern void inode_init(unsigned long);
extern void mnt_init(unsigned long);
extern void files_init(unsigned long);
# 212
enum bh_state_bits{BH_Uptodate =0U,BH_Dirty =1U,BH_Lock =2U,BH_Req =3U,BH_Mapped =4U,BH_New =5U,BH_Async =6U,BH_Wait_IO =7U,BH_Launder =8U,BH_Attached =9U,BH_JBD =10U,BH_PrivateStart =11U};struct buffer_head{struct buffer_head*b_next;unsigned long b_blocknr;unsigned short b_size;unsigned short b_list;kdev_t b_dev;atomic_t b_count;kdev_t b_rdev;unsigned long b_state;unsigned long b_flushtime;struct buffer_head*b_next_free;struct buffer_head*b_prev_free;struct buffer_head*b_this_page;struct buffer_head*b_reqnext;struct buffer_head**b_pprev;char*b_data;struct page*b_page;void(*b_end_io)(struct buffer_head*,int);void*b_private;unsigned long b_rsector;wait_queue_head_t b_wait;struct list_head b_inode_buffers;};
# 273 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
typedef void bh_end_io_t(struct buffer_head*,int);
extern void init_buffer_R6996bdef(struct buffer_head*,bh_end_io_t*,void*);
# 289 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern void set_bh_page_Rb99f5fbc(struct buffer_head*,struct page*,unsigned long);struct pipe_inode_info{wait_queue_head_t wait;char*base;unsigned len;unsigned start;unsigned readers;unsigned writers;unsigned waiting_readers;unsigned waiting_writers;unsigned r_counter;unsigned w_counter;};
# 42 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/pipe_fs_i.h"
extern void pipe_wait(struct inode*);
# 44
extern struct inode*pipe_new(struct inode*);union _tuple11{__u16 i1_data[16U];__u32 i2_data[16U];};struct minix_inode_info{union _tuple11 u;};struct ext2_inode_info{__u32 i_data[15U];__u32 i_flags;__u32 i_faddr;__u8 i_frag_no;__u8 i_frag_size;__u32 i_file_acl;__u32 i_dir_acl;__u32 i_dtime;__u32 i_block_group;__u32 i_next_alloc_block;__u32 i_next_alloc_goal;__u32 i_prealloc_block;__u32 i_prealloc_count;__u32 i_dir_start_lookup;int i_new_inode: 1;};struct ext3_inode_info{__u32 i_data[15U];__u32 i_flags;__u32 i_file_acl;__u32 i_dir_acl;__u32 i_dtime;__u32 i_block_group;__u32 i_state;__u32 i_next_alloc_block;__u32 i_next_alloc_goal;__u32 i_dir_start_lookup;struct list_head i_orphan;loff_t i_disksize;struct rw_semaphore truncate_sem;};struct hpfs_inode_info{unsigned long mmu_private;ino_t i_parent_dir;unsigned i_dno;unsigned i_dpos;unsigned i_dsubdno;unsigned i_file_sec;unsigned i_disk_sec;unsigned i_n_secs;unsigned i_ea_size;unsigned i_conv: 2;unsigned i_ea_mode: 1;unsigned i_ea_uid: 1;unsigned i_ea_gid: 1;unsigned i_dirty: 1;struct semaphore i_sem;loff_t**i_rddir_off;};struct ntfs_attribute;struct ntfs_sb_info;
# 13 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/ntfs_fs_i.h"
typedef u8 ntfs_u8;
typedef u16 ntfs_u16;
typedef u32 ntfs_u32;
typedef u64 ntfs_u64;
typedef s8 ntfs_s8;
typedef s16 ntfs_s16;
typedef s32 ntfs_s32;
typedef s64 ntfs_s64;
# 25
typedef __kernel_mode_t ntmode_t;
# 29
typedef uid_t ntfs_uid_t;
# 33
typedef gid_t ntfs_gid_t;
# 37
typedef __kernel_size_t ntfs_size_t;
# 41
typedef __kernel_time_t ntfs_time_t;
# 47
typedef u16 ntfs_wchar_t;
# 52
typedef s64 ntfs_offset_t;
# 57
typedef u64 ntfs_time64_t;
# 69 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/ntfs_fs_i.h"
typedef s32 ntfs_cluster_t;struct _tuple12{int recordsize;int clusters_per_record;};union _tuple13{struct _tuple12 index;};struct ntfs_inode_info{struct ntfs_sb_info*vol;unsigned long i_number;__u16 sequence_number;unsigned char*attr;int attr_count;struct ntfs_attribute*attrs;int record_count;int*records;union _tuple13 u;};struct msdos_inode_info{unsigned long mmu_private;int i_start;int i_logstart;int i_attrs;int i_ctime_ms;int i_location;struct inode*i_fat_inode;struct list_head i_fat_hash;};struct dir_locking_info{wait_queue_head_t p;short looking;short creating;long pid;};struct umsdos_inode_info{struct msdos_inode_info msdos_info;struct dir_locking_info dir_info;int i_patched;int i_is_hlink;off_t pos;};
# 4 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/iso_fs_i.h"
enum isofs_file_format{isofs_file_normal =0,isofs_file_sparse =1,isofs_file_compressed =2};struct iso_inode_info{unsigned i_first_extent;unsigned char i_file_format;unsigned char i_format_parm[3U];unsigned long i_next_section_ino;off_t i_section_size;};
# 14 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sunrpc/msg_prot.h"
enum rpc_auth_flavor{RPC_AUTH_NULL =0,RPC_AUTH_UNIX =1,RPC_AUTH_SHORT =2,RPC_AUTH_DES =3,RPC_AUTH_KRB =4};
# 22
enum rpc_msg_type{RPC_CALL =0,RPC_REPLY =1};
# 27
enum rpc_reply_stat{RPC_MSG_ACCEPTED =0,RPC_MSG_DENIED =1};
# 32
enum rpc_accept_stat{RPC_SUCCESS =0,RPC_PROG_UNAVAIL =1,RPC_PROG_MISMATCH =2,RPC_PROC_UNAVAIL =3,RPC_GARBAGE_ARGS =4,RPC_SYSTEM_ERR =5};
# 41
enum rpc_reject_stat{RPC_MISMATCH =0,RPC_AUTH_ERROR =1};
# 46
enum rpc_auth_stat{RPC_AUTH_OK =0,RPC_AUTH_BADCRED =1,RPC_AUTH_REJECTEDCRED =2,RPC_AUTH_BADVERF =3,RPC_AUTH_REJECTEDVERF =4,RPC_AUTH_TOOWEAK =5};
# 41 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/nfs.h"
enum nfs_stat{NFS_OK =0,NFSERR_PERM =1,NFSERR_NOENT =2,NFSERR_IO =5,NFSERR_NXIO =6,NFSERR_EAGAIN =11,NFSERR_ACCES =13,NFSERR_EXIST =17,NFSERR_XDEV =18,NFSERR_NODEV =19,NFSERR_NOTDIR =20,NFSERR_ISDIR =21,NFSERR_INVAL =22,NFSERR_FBIG =27,NFSERR_NOSPC =28,NFSERR_ROFS =30,NFSERR_MLINK =31,NFSERR_OPNOTSUPP =45,NFSERR_NAMETOOLONG =63,NFSERR_NOTEMPTY =66,NFSERR_DQUOT =69,NFSERR_STALE =70,NFSERR_REMOTE =71,NFSERR_WFLUSH =99,NFSERR_BADHANDLE =10001,NFSERR_NOT_SYNC =10002,NFSERR_BAD_COOKIE =10003,NFSERR_NOTSUPP =10004,NFSERR_TOOSMALL =10005,NFSERR_SERVERFAULT =10006,NFSERR_BADTYPE =10007,NFSERR_JUKEBOX =10008};
# 78
enum nfs_ftype{NFNON =0,NFREG =1,NFDIR =2,NFBLK =3,NFCHR =4,NFLNK =5,NFSOCK =6,NFBAD =7,NFFIFO =8};struct nfs_fh{unsigned short size;unsigned char data[64U];};
# 107 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/nfs.h"
enum nfs3_stable_how{NFS_UNSTABLE =0,NFS_DATA_SYNC =1,NFS_FILE_SYNC =2};struct nfs_inode_info{__u64 fileid;struct nfs_fh fh;unsigned short flags;unsigned long read_cache_jiffies;__u64 read_cache_ctime;__u64 read_cache_mtime;__u64 read_cache_isize;unsigned long attrtimeo;unsigned long attrtimeo_timestamp;unsigned long cache_mtime_jiffies;__u32 cookieverf[2U];struct list_head read;struct list_head dirty;struct list_head commit;struct list_head writeback;unsigned nread;unsigned ndirty;unsigned ncommit;unsigned npages;struct rpc_cred*mm_cred;};struct nfs_lock_info{u32 state;u32 flags;struct nlm_host*host;};struct sysv_inode_info{u32 i_data[13U];u32 i_dir_start_lookup;};struct exec{unsigned long a_info;unsigned a_text;unsigned a_data;unsigned a_bss;unsigned a_syms;unsigned a_entry;unsigned a_trsize;unsigned a_drsize;};
# 13 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/a.out.h"
enum machine_type{M_OLDSUN2 =0,M_68010 =1,M_68020 =2,M_SPARC =3,M_386 =100,M_MIPS1 =151,M_MIPS2 =152};union _tuple14{char*n_name;struct nlist*n_next;long n_strx;};struct nlist{union _tuple14 n_un;unsigned char n_type;char n_other;short n_desc;unsigned long n_value;};struct relocation_info{int r_address;unsigned r_symbolnum: 24;unsigned r_pcrel: 1;unsigned r_length: 2;unsigned r_extern: 1;unsigned r_pad: 4;};struct timespec{time_t tv_sec;long tv_nsec;};
# 31 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/time.h"
inline static unsigned long timespec_to_jiffies(struct timespec*value){
# 34
unsigned long sec=value->tv_sec;
long nsec=value->tv_nsec;
# 37
if(sec >= ((~ 0U >> 1)- 1)/ 100)
return(~ 0U >> 1)- 1;
nsec +=1000000000 / 100 - 1;
nsec /=1000000000 / 100;
return 100 * sec + nsec;}
# 44
inline static void jiffies_to_timespec(unsigned long jiffies_R0da02d67,struct timespec*value){
# 47
value->tv_nsec=(jiffies_R0da02d67 % 100)* (1000000000 / 100);
value->tv_sec=jiffies_R0da02d67 / 100;}
# 67 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/time.h"
inline static unsigned long mktime(unsigned year,unsigned mon,unsigned day,unsigned hour,unsigned min,unsigned sec){
# 72
if(0 >= (int)(mon -=2)){
mon +=12;
year -=1;}
# 77
return(((((unsigned long)((((year / 4 - year / 100)+ year / 400)+ (367 * mon)/ 12)+ day)+ year * 365)- 719499)* 24 + hour)* 60 + min)* 60 + sec;}struct timeval{time_t tv_sec;suseconds_t tv_usec;};struct timezone{int tz_minuteswest;int tz_dsttime;};
# 101
extern void do_gettimeofday_R72270e35(struct timeval*);
extern void do_settimeofday_R19d7b1ff(struct timeval*);struct itimerspec{struct timespec it_interval;struct timespec it_value;};struct itimerval{struct timeval it_interval;struct timeval it_value;};struct affs_ext_key{u32 ext;u32 key;};struct affs_inode_info{u32 i_opencnt;struct semaphore i_link_lock;struct semaphore i_ext_lock;u32 i_blkcnt;u32 i_extcnt;u32*i_lc;u32 i_lc_size;u32 i_lc_shift;u32 i_lc_mask;struct affs_ext_key*i_ac;u32 i_ext_last;struct buffer_head*i_ext_bh;unsigned long mmu_private;u32 i_protect;u32 i_lastalloc;int i_pa_cnt;};union _tuple15{__u32 i_data[15U];__u8 i_symlink[60U];};struct ufs_inode_info{union _tuple15 i_u1;__u32 i_flags;__u32 i_gen;__u32 i_shadow;__u32 i_unused1;__u32 i_unused2;__u32 i_oeftflag;__u16 i_osync;__u32 i_lastfrag;};
# 12 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/efs_fs_i.h"
typedef int32_t efs_block_t;
typedef uint32_t efs_ino_t;struct extent_s{unsigned ex_magic: 8;unsigned ex_bn: 24;unsigned ex_length: 8;unsigned ex_offset: 24;};union extent_u{unsigned char raw[8U];struct extent_s cooked;};
# 20
typedef union extent_u efs_extent;struct edevs{short odev;unsigned ndev;};
# 30
typedef struct edevs efs_devs;union di_addr{efs_extent di_extents[12U];efs_devs di_dev;};struct efs_dinode{u_short di_mode;short di_nlink;u_short di_uid;u_short di_gid;int32_t di_size;int32_t di_atime;int32_t di_mtime;int32_t di_ctime;uint32_t di_gen;short di_numextents;u_char di_version;u_char di_spare;union di_addr di_u;};struct efs_inode_info{int numextents;int lastextent;efs_extent extents[12U];};
# 109 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/coda.h"
typedef unsigned long long u_quad_t;struct venus_dirent{unsigned long d_fileno;unsigned short d_reclen;unsigned char d_type;unsigned char d_namlen;char d_name[256U];};
# 198 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/coda.h"
typedef u_long VolumeId;
typedef u_long VnodeId;
typedef u_long Unique_t;
typedef u_long FileVersion;struct ViceFid{VolumeId Volume;VnodeId Vnode;Unique_t Unique;};
# 206
typedef struct ViceFid ViceFid;
# 215
inline static ino_t coda_f2i(struct ViceFid*fid){
# 217
if(!fid)
return 0;
if(fid->Vnode == -2 || fid->Vnode == -1)
return fid->Volume << 20 | fid->Unique & 1048575;else{
# 222
return(fid->Unique + (fid->Vnode << 10))+ (fid->Volume << 20);}}
# 233 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/coda.h"
typedef u_int32_t vuid_t;
typedef u_int32_t vgid_t;struct coda_cred{vuid_t cr_uid;vuid_t cr_euid;vuid_t cr_suid;vuid_t cr_fsuid;vgid_t cr_groupid;vgid_t cr_egid;vgid_t cr_sgid;vgid_t cr_fsgid;};
# 250
enum coda_vtype{C_VNON =0U,C_VREG =1U,C_VDIR =2U,C_VBLK =3U,C_VCHR =4U,C_VLNK =5U,C_VSOCK =6U,C_VFIFO =7U,C_VBAD =8U};struct coda_vattr{long va_type;u_short va_mode;short va_nlink;vuid_t va_uid;vgid_t va_gid;long va_fileid;u_quad_t va_size;long va_blocksize;struct timespec va_atime;struct timespec va_mtime;struct timespec va_ctime;u_long va_gen;u_long va_flags;u_quad_t va_rdev;u_quad_t va_bytes;u_quad_t va_filerev;};struct coda_statfs{int32_t f_blocks;int32_t f_bfree;int32_t f_bavail;int32_t f_files;int32_t f_ffree;};struct coda_in_hdr{unsigned long opcode;unsigned long unique;u_short pid;u_short pgid;u_short sid;struct coda_cred cred;};struct coda_out_hdr{unsigned long opcode;unsigned long unique;unsigned long result;};struct coda_root_out{struct coda_out_hdr oh;ViceFid VFid;};struct coda_root_in{struct coda_in_hdr in;};struct coda_open_in{struct coda_in_hdr ih;ViceFid VFid;int flags;};struct coda_open_out{struct coda_out_hdr oh;u_quad_t dev;ino_t inode;};struct coda_store_in{struct coda_in_hdr ih;ViceFid VFid;int flags;};struct coda_store_out{struct coda_out_hdr out;};struct coda_release_in{struct coda_in_hdr ih;ViceFid VFid;int flags;};struct coda_release_out{struct coda_out_hdr out;};struct coda_close_in{struct coda_in_hdr ih;ViceFid VFid;int flags;};struct coda_close_out{struct coda_out_hdr out;};struct coda_ioctl_in{struct coda_in_hdr ih;ViceFid VFid;int cmd;int len;int rwflag;char*data;};struct coda_ioctl_out{struct coda_out_hdr oh;int len;caddr_t data;};struct coda_getattr_in{struct coda_in_hdr ih;ViceFid VFid;};struct coda_getattr_out{struct coda_out_hdr oh;struct coda_vattr attr;};struct coda_setattr_in{struct coda_in_hdr ih;ViceFid VFid;struct coda_vattr attr;};struct coda_setattr_out{struct coda_out_hdr out;};struct coda_access_in{struct coda_in_hdr ih;ViceFid VFid;int flags;};struct coda_access_out{struct coda_out_hdr out;};struct coda_lookup_in{struct coda_in_hdr ih;ViceFid VFid;int name;int flags;};struct coda_lookup_out{struct coda_out_hdr oh;ViceFid VFid;int vtype;};struct coda_create_in{struct coda_in_hdr ih;ViceFid VFid;struct coda_vattr attr;int excl;int mode;int name;};struct coda_create_out{struct coda_out_hdr oh;ViceFid VFid;struct coda_vattr attr;};struct coda_remove_in{struct coda_in_hdr ih;ViceFid VFid;int name;};struct coda_remove_out{struct coda_out_hdr out;};struct coda_link_in{struct coda_in_hdr ih;ViceFid sourceFid;ViceFid destFid;int tname;};struct coda_link_out{struct coda_out_hdr out;};struct coda_rename_in{struct coda_in_hdr ih;ViceFid sourceFid;int srcname;ViceFid destFid;int destname;};struct coda_rename_out{struct coda_out_hdr out;};struct coda_mkdir_in{struct coda_in_hdr ih;ViceFid VFid;struct coda_vattr attr;int name;};struct coda_mkdir_out{struct coda_out_hdr oh;ViceFid VFid;struct coda_vattr attr;};struct coda_rmdir_in{struct coda_in_hdr ih;ViceFid VFid;int name;};struct coda_rmdir_out{struct coda_out_hdr out;};struct coda_symlink_in{struct coda_in_hdr ih;ViceFid VFid;int srcname;struct coda_vattr attr;int tname;};struct coda_symlink_out{struct coda_out_hdr out;};struct coda_readlink_in{struct coda_in_hdr ih;ViceFid VFid;};struct coda_readlink_out{struct coda_out_hdr oh;int count;caddr_t data;};struct coda_fsync_in{struct coda_in_hdr ih;ViceFid VFid;};struct coda_fsync_out{struct coda_out_hdr out;};struct coda_vget_in{struct coda_in_hdr ih;ViceFid VFid;};struct coda_vget_out{struct coda_out_hdr oh;ViceFid VFid;int vtype;};struct coda_purgeuser_out{struct coda_out_hdr oh;struct coda_cred cred;};struct coda_zapfile_out{struct coda_out_hdr oh;ViceFid CodaFid;};struct coda_zapdir_out{struct coda_out_hdr oh;ViceFid CodaFid;};struct coda_zapvnode_out{struct coda_out_hdr oh;struct coda_cred cred;ViceFid VFid;};struct coda_purgefid_out{struct coda_out_hdr oh;ViceFid CodaFid;};struct coda_replace_out{struct coda_out_hdr oh;ViceFid NewFid;ViceFid OldFid;};struct coda_open_by_fd_in{struct coda_in_hdr ih;ViceFid VFid;int flags;};struct coda_open_by_fd_out{struct coda_out_hdr oh;int fd;struct file*fh;};struct coda_open_by_path_in{struct coda_in_hdr ih;ViceFid VFid;int flags;};struct coda_open_by_path_out{struct coda_out_hdr oh;int path;};struct coda_statfs_in{struct coda_in_hdr in;};struct coda_statfs_out{struct coda_out_hdr oh;struct coda_statfs stat;};union inputArgs{struct coda_in_hdr ih;struct coda_open_in coda_open;struct coda_store_in coda_store;struct coda_release_in coda_release;struct coda_close_in coda_close;struct coda_ioctl_in coda_ioctl;struct coda_getattr_in coda_getattr;struct coda_setattr_in coda_setattr;struct coda_access_in coda_access;struct coda_lookup_in coda_lookup;struct coda_create_in coda_create;struct coda_remove_in coda_remove;struct coda_link_in coda_link;struct coda_rename_in coda_rename;struct coda_mkdir_in coda_mkdir;struct coda_rmdir_in coda_rmdir;struct coda_symlink_in coda_symlink;struct coda_readlink_in coda_readlink;struct coda_fsync_in coda_fsync;struct coda_vget_in coda_vget;struct coda_open_by_fd_in coda_open_by_fd;struct coda_open_by_path_in coda_open_by_path;struct coda_statfs_in coda_statfs;};union outputArgs{struct coda_out_hdr oh;struct coda_root_out coda_root;struct coda_open_out coda_open;struct coda_ioctl_out coda_ioctl;struct coda_getattr_out coda_getattr;struct coda_lookup_out coda_lookup;struct coda_create_out coda_create;struct coda_mkdir_out coda_mkdir;struct coda_readlink_out coda_readlink;struct coda_vget_out coda_vget;struct coda_purgeuser_out coda_purgeuser;struct coda_zapfile_out coda_zapfile;struct coda_zapdir_out coda_zapdir;struct coda_zapvnode_out coda_zapvnode;struct coda_purgefid_out coda_purgefid;struct coda_replace_out coda_replace;struct coda_open_by_fd_out coda_open_by_fd;struct coda_open_by_path_out coda_open_by_path;struct coda_statfs_out coda_statfs;};union coda_downcalls{struct coda_purgeuser_out purgeuser;struct coda_zapfile_out zapfile;struct coda_zapdir_out zapdir;struct coda_zapvnode_out zapvnode;struct coda_purgefid_out purgefid;struct coda_replace_out replace;};struct ViceIoctl{caddr_t in;caddr_t out;short in_size;short out_size;};struct PioctlData{const char*path;int follow;struct ViceIoctl vi;};struct coda_mount_data{int version;int fd;};struct coda_inode_info{struct ViceFid c_fid;u_short c_flags;struct list_head c_cilist;int c_mapcount;struct coda_cred c_cached_cred;unsigned c_cached_perm;};struct coda_file_info{int cfi_magic;int cfi_mapcount;struct file*cfi_container;struct coda_cred cfi_cred;};
# 47 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/coda_fs_i.h"
extern int coda_cnode_make(struct inode**,struct ViceFid*,struct super_block*);
extern struct inode*coda_iget(struct super_block*,struct ViceFid*,struct coda_vattr*);
extern int coda_cnode_makectl(struct inode**,struct super_block*);
extern struct inode*coda_fid_to_inode(ViceFid*,struct super_block*);
extern void coda_replace_fid(struct inode*,ViceFid*,ViceFid*);struct romfs_inode_info{unsigned long i_metasize;unsigned long i_dataoffset;};struct _tuple16{unsigned long val;};
# 16 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/shmem_fs.h"
typedef struct _tuple16 swp_entry_t;
# 20
extern atomic_t shmem_nrpages;struct shmem_inode_info{spinlock_t lock;struct semaphore sem;unsigned long next_index;swp_entry_t i_direct[16U];void**i_indirect;unsigned long swapped;int locked;struct list_head list;struct inode*inode;};struct shmem_sb_info{unsigned long max_blocks;unsigned long free_blocks;unsigned long max_inodes;unsigned long free_inodes;spinlock_t stat_lock;};struct smb_inode_info{unsigned open;__u16 fileid;__u16 attr;__u16 access;__u16 flags;unsigned long oldmtime;unsigned long closed;unsigned openers;};struct hfs_inode_info{int magic;unsigned long mmu_private;struct hfs_cat_entry*entry;struct hfs_fork*fork;int convert;ino_t file_type;char dir_size;const struct hfs_hdr_layout*default_layout;struct hfs_hdr_layout*layout;int tz_secondswest;void(*d_drop_op)(struct dentry*,const ino_t);};struct adfs_inode_info{unsigned long mmu_private;unsigned long parent_id;__u32 loadaddr;__u32 execaddr;unsigned filetype;unsigned attr;int stamped: 1;};
# 15 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/qnxtypes.h"
typedef __u16 qnx4_nxtnt_t;
typedef __u8 qnx4_ftype_t;struct _tuple17{__u32 xtnt_blk;__u32 xtnt_size;};
# 18
typedef struct _tuple17 qnx4_xtnt_t;
# 23
typedef __u16 qnx4_mode_t;
typedef __u16 qnx4_muid_t;
typedef __u16 qnx4_mgid_t;
typedef __u32 qnx4_off_t;
typedef __u16 qnx4_nlink_t;struct qnx4_inode_info{char i_reserved[16U];qnx4_off_t i_size;qnx4_xtnt_t i_first_xtnt;__u32 i_xblk;__s32 i_ftime;__s32 i_mtime;__s32 i_atime;__s32 i_ctime;qnx4_nxtnt_t i_num_xtnts;qnx4_mode_t i_mode;qnx4_muid_t i_uid;qnx4_mgid_t i_gid;qnx4_nlink_t i_nlink;__u8 i_zero[4U];qnx4_ftype_t i_type;__u8 i_status;unsigned long mmu_private;};
# 10 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/reiserfs_fs_i.h"
typedef enum{i_item_key_version_mask =1,i_stat_data_version_mask =2,i_pack_on_close_mask =4,i_nopack_mask =8,i_link_saved_unlink_mask =16,i_link_saved_truncate_mask =32 }reiserfs_inode_flags;struct reiserfs_inode_info{__u32 i_key[4U];__u32 i_flags;__u32 i_first_direct_byte;__u32 i_attrs;int i_prealloc_block;int i_prealloc_count;struct list_head i_prealloc_list;int new_packing_locality: 1;unsigned long i_trans_id;unsigned long i_trans_index;unsigned long i_tail_trans_id;unsigned long i_tail_trans_index;};struct bfs_inode_info{unsigned long i_dsk_ino;unsigned long i_sblock;unsigned long i_eblock;};struct _tuple18{__u32 logicalBlockNum;__u16 partitionReferenceNum;};
# 24 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/udf_fs_i.h"
typedef struct _tuple18 lb_addr  __attribute__((packed )) ;struct udf_inode_info{long i_umtime;long i_uctime;long i_crtime;long i_ucrtime;lb_addr i_location;__u64 i_unique;__u32 i_lenEAttr;__u32 i_lenAlloc;__u64 i_lenExtents;__u32 i_next_alloc_block;__u32 i_next_alloc_goal;unsigned i_alloc_type: 3;unsigned i_extended_fe: 1;unsigned i_strat_4096: 1;unsigned i_new_inode: 1;unsigned reserved: 26;};struct ncp_inode_info{__u32 dirEntNum  __attribute__((packed )) ;__u32 DosDirNum  __attribute__((packed )) ;__u32 volNumber  __attribute__((packed )) ;__u32 nwattr;struct semaphore open_sem;atomic_t opened;int access;__u32 server_file_handle  __attribute__((packed )) ;__u8 open_create_action  __attribute__((packed )) ;__u8 file_handle[6U] __attribute__((packed )) ;};union _tuple19{int(*proc_get_link)(struct inode*,struct dentry**,struct vfsmount**);int(*proc_read)(struct task_struct*,char*);};struct proc_inode_info{struct task_struct*task;int type;union _tuple19 op;struct file*file;};struct usb_device;struct usb_bus;union _tuple20{struct usb_device*dev;struct usb_bus*bus;};struct usbdev_inode_info{struct list_head dlist;struct list_head slist;union _tuple20 p;};struct jffs2_inode_info{struct semaphore sem;__u32 highest_version;struct jffs2_node_frag*fraglist;struct jffs2_full_dnode*metadata;struct jffs2_full_dirent*dents;struct jffs2_inode_cache*inocache;__u16 flags;__u8 usercompr;};struct cramfs_sb_info{unsigned long magic;unsigned long size;unsigned long blocks;unsigned long files;unsigned long flags;};struct iattr{unsigned ia_valid;umode_t ia_mode;uid_t ia_uid;gid_t ia_gid;loff_t ia_size;time_t ia_atime;time_t ia_mtime;time_t ia_ctime;unsigned ia_attr_flags;};struct dqblk{__u32 dqb_bhardlimit;__u32 dqb_bsoftlimit;__u32 dqb_curblocks;__u32 dqb_ihardlimit;__u32 dqb_isoftlimit;__u32 dqb_curinodes;time_t dqb_btime;time_t dqb_itime;};struct dqstats{__u32 lookups;__u32 drops;__u32 reads;__u32 writes;__u32 cache_hits;__u32 allocated_dquots;__u32 free_dquots;__u32 syncs;};
# 147 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/quota.h"
extern int nr_dquots;extern int nr_free_dquots;
extern int dquot_root_squash;struct dquot{struct list_head dq_hash;struct list_head dq_inuse;struct list_head dq_free;wait_queue_head_t dq_wait_lock;wait_queue_head_t dq_wait_free;int dq_count;struct super_block*dq_sb;unsigned dq_id;kdev_t dq_dev;short dq_type;short dq_flags;unsigned long dq_referenced;struct dqblk dq_dqb;};struct page;struct address_space;struct kiobuf;struct address_space_operations{int(*writepage)(struct page*);int(*readpage)(struct file*,struct page*);int(*sync_page)(struct page*);int(*prepare_write)(struct file*,struct page*,unsigned,unsigned);int(*commit_write)(struct file*,struct page*,unsigned,unsigned);int(*bmap_R801d089d)(struct address_space*,long);int(*flushpage)(struct page*,unsigned long);int(*releasepage)(struct page*,int);int(*direct_IO)(int,struct inode*,struct kiobuf*,unsigned long,int);void(*removepage)(struct page*);};struct address_space{struct list_head clean_pages;struct list_head dirty_pages;struct list_head locked_pages;unsigned long nrpages;struct address_space_operations*a_ops;struct inode*host;struct vm_area_struct*i_mmap;struct vm_area_struct*i_mmap_shared;spinlock_t i_shared_lock;int gfp_mask;};struct char_device{struct list_head hash;atomic_t count;dev_t dev;atomic_t openers;struct semaphore sem;};struct block_device{struct list_head bd_hash;atomic_t bd_count;struct inode*bd_inode;dev_t bd_dev;int bd_openers;const struct block_device_operations*bd_op;struct semaphore bd_sem;struct list_head bd_inodes;};union _tuple21{struct minix_inode_info minix_i;struct ext2_inode_info ext2_i;struct ext3_inode_info ext3_i;struct hpfs_inode_info hpfs_i;struct ntfs_inode_info ntfs_i;struct msdos_inode_info msdos_i;struct umsdos_inode_info umsdos_i;struct iso_inode_info isofs_i;struct nfs_inode_info nfs_i;struct sysv_inode_info sysv_i;struct affs_inode_info affs_i;struct ufs_inode_info ufs_i;struct efs_inode_info efs_i;struct romfs_inode_info romfs_i;struct shmem_inode_info shmem_i;struct coda_inode_info coda_i;struct smb_inode_info smbfs_i;struct hfs_inode_info hfs_i;struct adfs_inode_info adfs_i;struct qnx4_inode_info qnx4_i;struct reiserfs_inode_info reiserfs_i;struct bfs_inode_info bfs_i;struct udf_inode_info udf_i;struct ncp_inode_info ncpfs_i;struct proc_inode_info proc_i;struct socket socket_i;struct usbdev_inode_info usbdev_i;struct jffs2_inode_info jffs2_i;void*generic_ip;};struct inode{struct list_head i_hash;struct list_head i_list;struct list_head i_dentry;struct list_head i_dirty_buffers;struct list_head i_dirty_data_buffers;unsigned long i_ino;atomic_t i_count;kdev_t i_dev;umode_t i_mode;nlink_t i_nlink;uid_t i_uid;gid_t i_gid;kdev_t i_rdev;loff_t i_size;time_t i_atime;time_t i_mtime;time_t i_ctime;unsigned i_blkbits;unsigned long i_blksize;unsigned long i_blocks;unsigned long i_version;struct semaphore i_sem;struct semaphore i_zombie;struct inode_operations*i_op;struct file_operations*i_fop;struct super_block*i_sb;wait_queue_head_t i_wait;struct file_lock*i_flock;struct address_space*i_mapping;struct address_space i_data;struct dquot*i_dquot[2U];struct list_head i_devices;struct pipe_inode_info*i_pipe;struct block_device*i_bdev;struct char_device*i_cdev;unsigned long i_dnotify_mask;struct dnotify_struct*i_dnotify;unsigned long i_state;unsigned i_flags;unsigned char i_sock;atomic_t i_writecount;unsigned i_attr_flags;__u32 i_generation;union _tuple21 u;};struct fown_struct{int pid;uid_t uid;uid_t euid;int signum;};struct file{struct list_head f_list;struct dentry*f_dentry;struct vfsmount*f_vfsmnt;struct file_operations*f_op;atomic_t f_count;unsigned f_flags;mode_t f_mode;loff_t f_pos;unsigned long f_reada;unsigned long f_ramax;unsigned long f_raend;unsigned long f_ralen;unsigned long f_rawin;struct fown_struct f_owner;unsigned f_uid;unsigned f_gid;int f_error;unsigned long f_version;void*private_data;struct kiobuf*f_iobuf;long f_iobuf_lock;};
# 547 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern spinlock_t files_lock_Rf9efb16a;
# 554
extern int init_private_file_R968fb255(struct file*,struct dentry*,int);
# 580 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
typedef struct files_struct*fl_owner_t;union _tuple22{struct nfs_lock_info nfs_fl;};struct file_lock{struct file_lock*fl_next;struct list_head fl_link;struct list_head fl_block;fl_owner_t fl_owner;unsigned fl_pid;wait_queue_head_t fl_wait;struct file*fl_file;unsigned char fl_flags;unsigned char fl_type;loff_t fl_start;loff_t fl_end;void(*fl_notify)(struct file_lock*);void(*fl_insert)(struct file_lock*);void(*fl_remove)(struct file_lock*);struct fasync_struct*fl_fasync;unsigned long fl_break_time;union _tuple22 fl_u;};
# 614 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern struct list_head file_lock_list_R6e85119d;struct flock{short l_type;short l_whence;off_t l_start;off_t l_len;pid_t l_pid;};struct flock64{short l_type;short l_whence;loff_t l_start;loff_t l_len;pid_t l_pid;};
# 618 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern int fcntl_getlk(unsigned,struct flock*);
extern int fcntl_setlk(unsigned,unsigned,struct flock*);
# 621
extern int fcntl_getlk64(unsigned,struct flock64*);
extern int fcntl_setlk64(unsigned,unsigned,struct flock64*);
# 625
extern void locks_init_lock_R3afe16ea(struct file_lock*);
extern void locks_copy_lock_Rcf32d1d9(struct file_lock*,struct file_lock*);
extern void locks_remove_posix(struct file*,fl_owner_t);
extern void locks_remove_flock(struct file*);
extern struct file_lock*posix_test_lock_R1e9c0fd8(struct file*,struct file_lock*);
extern int posix_lock_file_Re6c7438a(struct file*,struct file_lock*,unsigned);
extern void posix_block_lock_R2a972fbb(struct file_lock*,struct file_lock*);
extern void posix_unblock_lock_R048912ee(struct file_lock*);
extern int posix_locks_deadlock_R77cc4de6(struct file_lock*,struct file_lock*);
extern int __get_lease_R314130c5(struct inode*,unsigned);
extern time_t lease_get_mtime_R10133e3f(struct inode*);
extern int lock_may_read_R490665fc(struct inode*,loff_t,unsigned long);
extern int lock_may_write_Rb8c969ef(struct inode*,loff_t,unsigned long);struct fasync_struct{int magic;int fa_fd;struct fasync_struct*fa_next;struct file*fa_file;};
# 649
extern int fasync_helper_Re009ba9a(int,struct file*,int,struct fasync_struct**);
# 651
extern void kill_fasync_Rf40f1286(struct fasync_struct**,int,int);
# 653
extern void __kill_fasync_R47064cac(struct fasync_struct*,int,int);struct nameidata{struct dentry*dentry;struct vfsmount*mnt;struct qstr last;unsigned flags;int last_type;};struct quota_mount_options{unsigned flags;struct semaphore dqio_sem;struct semaphore dqoff_sem;struct file*files[2U];time_t inode_expire[2U];time_t block_expire[2U];char rsquash[2U];};struct minix_sb_info{unsigned long s_ninodes;unsigned long s_nzones;unsigned long s_imap_blocks;unsigned long s_zmap_blocks;unsigned long s_firstdatazone;unsigned long s_log_zone_size;unsigned long s_max_size;int s_dirsize;int s_namelen;int s_link_max;struct buffer_head**s_imap;struct buffer_head**s_zmap;struct buffer_head*s_sbh;struct minix_super_block*s_ms;unsigned short s_mount_state;unsigned short s_version;};struct ext2_sb_info{unsigned long s_frag_size;unsigned long s_frags_per_block;unsigned long s_inodes_per_block;unsigned long s_frags_per_group;unsigned long s_blocks_per_group;unsigned long s_inodes_per_group;unsigned long s_itb_per_group;unsigned long s_gdb_count;unsigned long s_desc_per_block;unsigned long s_groups_count;struct buffer_head*s_sbh;struct ext2_super_block*s_es;struct buffer_head**s_group_desc;unsigned short s_loaded_inode_bitmaps;unsigned short s_loaded_block_bitmaps;unsigned long s_inode_bitmap_number[8U];struct buffer_head*s_inode_bitmap[8U];unsigned long s_block_bitmap_number[8U];struct buffer_head*s_block_bitmap[8U];unsigned long s_mount_opt;uid_t s_resuid;gid_t s_resgid;unsigned short s_mount_state;unsigned short s_pad;int s_addr_per_block_bits;int s_desc_per_block_bits;int s_inode_size;int s_first_ino;};struct timer_list{struct list_head list;unsigned long expires;unsigned long data;void(*function)(unsigned long);};
# 23 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/timer.h"
extern void add_timer_Ra19eacf8(struct timer_list*);
extern int del_timer_Rfc62f16d(struct timer_list*);
# 41 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/timer.h"
extern int mod_timer_R1f13d309(struct timer_list*,unsigned long);
# 43
extern void it_real_fn(unsigned long);
# 45
inline static void init_timer(struct timer_list*timer){
# 47
(timer->list).next=((timer->list).prev=(void*)0);}
# 50
inline static int timer_pending(const struct timer_list*timer){
# 52
return(timer->list).next != (void*)0;}struct ext3_sb_info{unsigned long s_frag_size;unsigned long s_frags_per_block;unsigned long s_inodes_per_block;unsigned long s_frags_per_group;unsigned long s_blocks_per_group;unsigned long s_inodes_per_group;unsigned long s_itb_per_group;unsigned long s_gdb_count;unsigned long s_desc_per_block;unsigned long s_groups_count;struct buffer_head*s_sbh;struct ext3_super_block*s_es;struct buffer_head**s_group_desc;unsigned short s_loaded_inode_bitmaps;unsigned short s_loaded_block_bitmaps;unsigned long s_inode_bitmap_number[8U];struct buffer_head*s_inode_bitmap[8U];unsigned long s_block_bitmap_number[8U];struct buffer_head*s_block_bitmap[8U];unsigned long s_mount_opt;uid_t s_resuid;gid_t s_resgid;unsigned short s_mount_state;unsigned short s_pad;int s_addr_per_block_bits;int s_desc_per_block_bits;int s_inode_size;int s_first_ino;u32 s_next_generation;struct inode*s_journal_inode;struct journal_s*s_journal;struct list_head s_orphan;unsigned long s_commit_interval;struct block_device*journal_bdev;};struct hpfs_sb_info{ino_t sb_root;unsigned sb_fs_size;unsigned sb_bitmaps;unsigned sb_dirband_start;unsigned sb_dirband_size;unsigned sb_dmap;unsigned sb_n_free;unsigned sb_n_free_dnodes;uid_t sb_uid;gid_t sb_gid;umode_t sb_mode;unsigned sb_conv: 2;unsigned sb_eas: 2;unsigned sb_err: 2;unsigned sb_chk: 2;unsigned sb_lowercase: 1;unsigned sb_was_error: 1;unsigned sb_chkdsk: 2;unsigned sb_rd_fnode: 2;unsigned sb_rd_inode: 2;wait_queue_head_t sb_iget_q;unsigned char*sb_cp_table;unsigned*sb_bmp_dir;unsigned sb_c_bitmap;wait_queue_head_t sb_creation_de;unsigned sb_creation_de_lock: 1;int sb_timeshift;};struct ntfs_sb_info{ntfs_uid_t uid;ntfs_gid_t gid;ntmode_t umask;void*nls_map;unsigned ngt;char mft_zone_multiplier;unsigned long mft_data_pos;ntfs_cluster_t mft_zone_pos;ntfs_cluster_t mft_zone_start;ntfs_cluster_t mft_zone_end;ntfs_cluster_t data1_zone_pos;ntfs_cluster_t data2_zone_pos;ntfs_size_t partition_bias;ntfs_u32 at_standard_information;ntfs_u32 at_attribute_list;ntfs_u32 at_file_name;ntfs_u32 at_volume_version;ntfs_u32 at_security_descriptor;ntfs_u32 at_volume_name;ntfs_u32 at_volume_information;ntfs_u32 at_data;ntfs_u32 at_index_root;ntfs_u32 at_index_allocation;ntfs_u32 at_bitmap;ntfs_u32 at_symlink;int sector_size;int cluster_size;int cluster_size_bits;int mft_clusters_per_record;int mft_record_size;int mft_record_size_bits;int index_clusters_per_record;int index_record_size;int index_record_size_bits;ntfs_cluster_t nr_clusters;ntfs_cluster_t mft_lcn;ntfs_cluster_t mft_mirr_lcn;unsigned char*mft;unsigned short*upcase;unsigned upcase_length;struct ntfs_inode_info*mft_ino;struct ntfs_inode_info*mftmirr;struct ntfs_inode_info*bitmap;struct super_block*sb;unsigned char ino_flags;};struct cvf_format{int cvf_version;char*cvf_version_text;unsigned long flags;int(*detect_cvf)(struct super_block*);int(*mount_cvf)(struct super_block*,char*);int(*unmount_cvf)(struct super_block*);struct buffer_head*(*cvf_bread)(struct super_block*,int);struct buffer_head*(*cvf_getblk)(struct super_block*,int);void(*cvf_brelse)(struct super_block*,struct buffer_head*);void(*cvf_mark_buffer_dirty)(struct super_block*,struct buffer_head*);void(*cvf_set_uptodate)(struct super_block*,struct buffer_head*,int);int(*cvf_is_uptodate)(struct super_block*,struct buffer_head*);void(*cvf_ll_rw_block)(struct super_block*,int,int,struct buffer_head**);int(*fat_access)(struct super_block*,int,int);int(*cvf_statfs)(struct super_block*,struct statfs*,int);int(*cvf_bmap)(struct inode*,int);ssize_t(*cvf_file_read)(struct file*,char*,size_t,loff_t*);ssize_t(*cvf_file_write)(struct file*,const char*,size_t,loff_t*);int(*cvf_mmap)(struct file*,struct vm_area_struct*);int(*cvf_readpage)(struct inode*,struct page*);int(*cvf_writepage)(struct inode*,struct page*);int(*cvf_dir_ioctl)(struct inode*,struct file*,unsigned,unsigned long);void(*zero_out_cluster)(struct inode*,int);};
# 39 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fat_cvf.h"
extern int register_cvf_format_R7776dde9(struct cvf_format*);
extern int unregister_cvf_format_R0186925a(struct cvf_format*);
extern void dec_cvf_format_use_count_by_version(int);
extern int detect_cvf(struct super_block*,char*);
# 44
extern struct cvf_format*cvf_formats[1U];
extern int cvf_format_use_count[1U];struct fat_mount_options{uid_t fs_uid;gid_t fs_gid;unsigned short fs_umask;unsigned short codepage;char*iocharset;unsigned short shortname;unsigned char name_check;unsigned char conversion;unsigned quiet: 1;unsigned showexec: 1;unsigned sys_immutable: 1;unsigned dotsOK: 1;unsigned isvfat: 1;unsigned utf8: 1;unsigned unicode_xlate: 1;unsigned posixfs: 1;unsigned numtail: 1;unsigned atari: 1;unsigned fat32: 1;unsigned nocase: 1;};struct msdos_sb_info{unsigned short cluster_size;unsigned short cluster_bits;unsigned char fats;unsigned char fat_bits;unsigned short fat_start;unsigned long fat_length;unsigned long dir_start;unsigned short dir_entries;unsigned long data_start;unsigned long clusters;unsigned long root_cluster;unsigned long fsinfo_sector;struct semaphore fat_lock;int prev_free;int free_clusters;struct fat_mount_options options;struct nls_table*nls_disk;struct nls_table*nls_io;struct cvf_format*cvf_format;void*dir_ops;void*private_data;int dir_per_block;int dir_per_block_bits;};struct isofs_sb_info{unsigned long s_ninodes;unsigned long s_nzones;unsigned long s_firstdatazone;unsigned long s_log_zone_size;unsigned long s_max_size;unsigned char s_high_sierra;unsigned char s_mapping;int s_rock_offset;unsigned char s_rock;unsigned char s_joliet_level;unsigned char s_utf8;unsigned char s_cruft;unsigned char s_unhide;unsigned char s_nosuid;unsigned char s_nodev;unsigned char s_nocompress;mode_t s_mode;gid_t s_gid;uid_t s_uid;struct nls_table*s_nls_iocharset;};struct nfs_server{struct rpc_clnt*client;struct nfs_rpc_ops*rpc_ops;int flags;unsigned rsize;unsigned rpages;unsigned wsize;unsigned wpages;unsigned dtsize;unsigned bsize;unsigned acregmin;unsigned acregmax;unsigned acdirmin;unsigned acdirmax;unsigned namelen;char*hostname;struct nfs_reqlist*rw_requests;struct list_head lru_read;struct list_head lru_dirty;struct list_head lru_commit;struct list_head lru_busy;};struct nfs_sb_info{struct nfs_server s_server;};struct sysv_sb_info{int s_type;char s_bytesex;char s_truncate;nlink_t s_link_max;unsigned s_inodes_per_block;unsigned s_inodes_per_block_1;unsigned s_inodes_per_block_bits;unsigned s_ind_per_block;unsigned s_ind_per_block_bits;unsigned s_ind_per_block_2;unsigned s_toobig_block;unsigned s_block_base;unsigned short s_fic_size;unsigned short s_flc_size;struct buffer_head*s_bh1;struct buffer_head*s_bh2;char*s_sbd1;char*s_sbd2;u16*s_sb_fic_count;u16*s_sb_fic_inodes;u16*s_sb_total_free_inodes;u16*s_bcache_count;u32*s_bcache;u32*s_free_blocks;u32*s_sb_time;u32*s_sb_state;u32 s_firstinodezone;u32 s_firstdatazone;u32 s_ninodes;u32 s_ndatazones;u32 s_nzones;u16 s_namelen;};struct affs_bm_info{u32 bm_key;u32 bm_free;};struct affs_sb_info{int s_partition_size;int s_reserved;u32 s_data_blksize;u32 s_root_block;int s_hashsize;unsigned long s_flags;uid_t s_uid;gid_t s_gid;umode_t s_mode;struct buffer_head*s_root_bh;struct semaphore s_bmlock;struct affs_bm_info*s_bitmap;u32 s_bmap_count;u32 s_bmap_bits;u32 s_last_bmap;struct buffer_head*s_bmap_bh;char*s_prefix;int s_prefix_len;char s_volume[32U];};struct ufs_timeval{__s32 tv_sec;__s32 tv_usec;};struct _tuple23{__u8 d_type;__u8 d_namlen;};union _tuple24{__u16 d_namlen;struct _tuple23 d_44;};struct ufs_dir_entry{__u32 d_ino;__u16 d_reclen;union _tuple24 d_u;__u8 d_name[256U];};struct ufs_csum{__u32 cs_ndir;__u32 cs_nbfree;__u32 cs_nifree;__u32 cs_nffree;};struct _tuple25{__u32 fs_npsect;};struct _tuple26{__s32 fs_state;};union _tuple27{struct _tuple25 fs_sun;struct _tuple26 fs_sunx86;};struct _tuple28{__s32 fs_sparecon[53U];__s32 fs_reclaim;__s32 fs_sparecon2[1U];__s32 fs_state;__u32 fs_qbmask[2U];__u32 fs_qfmask[2U];};struct _tuple29{__s32 fs_sparecon[53U];__s32 fs_reclaim;__s32 fs_sparecon2[1U];__u32 fs_npsect;__u32 fs_qbmask[2U];__u32 fs_qfmask[2U];};struct _tuple30{__s32 fs_sparecon[50U];__s32 fs_contigsumsize;__s32 fs_maxsymlinklen;__s32 fs_inodefmt;__u32 fs_maxfilesize[2U];__u32 fs_qbmask[2U];__u32 fs_qfmask[2U];__s32 fs_state;};union _tuple31{struct _tuple28 fs_sun;struct _tuple29 fs_sunx86;struct _tuple30 fs_44;};struct ufs_super_block{__u32 fs_link;__u32 fs_rlink;__u32 fs_sblkno;__u32 fs_cblkno;__u32 fs_iblkno;__u32 fs_dblkno;__u32 fs_cgoffset;__u32 fs_cgmask;__u32 fs_time;__u32 fs_size;__u32 fs_dsize;__u32 fs_ncg;__u32 fs_bsize;__u32 fs_fsize;__u32 fs_frag;__u32 fs_minfree;__u32 fs_rotdelay;__u32 fs_rps;__u32 fs_bmask;__u32 fs_fmask;__u32 fs_bshift;__u32 fs_fshift;__u32 fs_maxcontig;__u32 fs_maxbpg;__u32 fs_fragshift;__u32 fs_fsbtodb;__u32 fs_sbsize;__u32 fs_csmask;__u32 fs_csshift;__u32 fs_nindir;__u32 fs_inopb;__u32 fs_nspf;__u32 fs_optim;union _tuple27 fs_u1;__u32 fs_interleave;__u32 fs_trackskew;__u32 fs_id[2U];__u32 fs_csaddr;__u32 fs_cssize;__u32 fs_cgsize;__u32 fs_ntrak;__u32 fs_nsect;__u32 fs_spc;__u32 fs_ncyl;__u32 fs_cpg;__u32 fs_ipg;__u32 fs_fpg;struct ufs_csum fs_cstotal;__s8 fs_fmod;__s8 fs_clean;__s8 fs_ronly;__s8 fs_flags;__s8 fs_fsmnt[512U];__u32 fs_cgrotor;__u32 fs_csp[31U];__u32 fs_maxcluster;__u32 fs_cpc;__u16 fs_opostbl[16U][8U];union _tuple31 fs_u2;__s32 fs_postblformat;__s32 fs_nrpos;__s32 fs_postbloff;__s32 fs_rotbloff;__s32 fs_magic;__u8 fs_space[1U];};struct _tuple32{__u32 cg_clustersumoff;__u32 cg_clusteroff;__u32 cg_nclusterblks;__u32 cg_sparecon[13U];};union _tuple33{struct _tuple32 cg_44;__u32 cg_sparecon[16U];};struct ufs_cylinder_group{__u32 cg_link;__u32 cg_magic;__u32 cg_time;__u32 cg_cgx;__u16 cg_ncyl;__u16 cg_niblk;__u32 cg_ndblk;struct ufs_csum cg_cs;__u32 cg_rotor;__u32 cg_frotor;__u32 cg_irotor;__u32 cg_frsum[8U];__u32 cg_btotoff;__u32 cg_boff;__u32 cg_iusedoff;__u32 cg_freeoff;__u32 cg_nextfreeoff;union _tuple33 cg_u;__u8 cg_space[1U];};struct _tuple34{__u16 ui_suid;__u16 ui_sgid;};union _tuple35{struct _tuple34 oldids;__u32 ui_inumber;__u32 ui_author;};struct _tuple36{__u32 ui_db[12U];__u32 ui_ib[3U];};union _tuple37{struct _tuple36 ui_addr;__u8 ui_symlink[60U];};struct _tuple38{__u32 ui_shadow;__u32 ui_uid;__u32 ui_gid;__u32 ui_oeftflag;};struct _tuple39{__u32 ui_uid;__u32 ui_gid;__s32 ui_spare[2U];};struct _tuple40{__u32 ui_uid;__u32 ui_gid;__u16 ui_modeh;__u16 ui_spare;__u32 ui_trans;};union _tuple41{struct _tuple38 ui_sun;struct _tuple39 ui_44;struct _tuple40 ui_hurd;};struct ufs_inode{__u16 ui_mode;__u16 ui_nlink;union _tuple35 ui_u1;__u64 ui_size;struct ufs_timeval ui_atime;struct ufs_timeval ui_mtime;struct ufs_timeval ui_ctime;union _tuple37 ui_u2;__u32 ui_flags;__u32 ui_blocks;__u32 ui_gen;union _tuple41 ui_u3;};
# 514 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/ufs_fs.h"
extern void ufs_free_fragments(struct inode*,unsigned,unsigned);
extern void ufs_free_blocks(struct inode*,unsigned,unsigned);
extern unsigned ufs_new_fragments(struct inode*,u32*,unsigned,unsigned,unsigned,int*);
# 519
extern struct ufs_cg_private_info*ufs_load_cylinder(struct super_block*,unsigned);
extern void ufs_put_cylinder(struct super_block*,unsigned);
# 523
extern struct inode_operations ufs_dir_inode_operations;
extern int ufs_check_dir_entry(const char*,struct inode*,struct ufs_dir_entry*,struct buffer_head*,unsigned long);
extern int ufs_add_link(struct dentry*,struct inode*);
extern ino_t ufs_inode_by_name(struct inode*,struct dentry*);
extern int ufs_make_empty(struct inode*,struct inode*);
extern struct ufs_dir_entry*ufs_find_entry(struct dentry*,struct buffer_head**);
extern int ufs_delete_entry(struct inode*,struct ufs_dir_entry*,struct buffer_head*);
extern int ufs_empty_dir(struct inode*);
extern struct ufs_dir_entry*ufs_dotdot(struct inode*,struct buffer_head**);
extern void ufs_set_link(struct inode*,struct ufs_dir_entry*,struct buffer_head*,struct inode*);
# 535
extern struct inode_operations ufs_file_inode_operations;
extern struct file_operations ufs_file_operations;
# 538
extern struct address_space_operations ufs_aops;
# 541
extern void ufs_free_inode(struct inode*);
extern struct inode*ufs_new_inode(const struct inode*,int);
# 545
extern int ufs_frag_map(struct inode*,int);
extern void ufs_read_inode(struct inode*);
extern void ufs_put_inode(struct inode*);
extern void ufs_write_inode(struct inode*,int);
extern int ufs_sync_inode(struct inode*);
extern void ufs_delete_inode(struct inode*);
extern struct buffer_head*ufs_getfrag(struct inode*,unsigned,int,int*);
extern struct buffer_head*ufs_bread(struct inode*,unsigned,int,int*);
# 555
extern struct file_operations ufs_dir_operations;
# 558
extern struct file_system_type ufs_fs_type;
extern void ufs_warning(struct super_block*,const char*,const char*,...);
extern void ufs_error(struct super_block*,const char*,const char*,...);
extern void ufs_panic(struct super_block*,const char*,const char*,...);
extern void ufs_write_super(struct super_block*);
# 565
extern struct inode_operations ufs_fast_symlink_inode_operations;
# 568
extern void ufs_truncate(struct inode*);struct ufs_buffer_head{unsigned fragment;unsigned count;struct buffer_head*bh[8U];};struct ufs_cg_private_info{struct ufs_cylinder_group ucg;__u32 c_cgx;__u16 c_ncyl;__u16 c_niblk;__u32 c_ndblk;__u32 c_rotor;__u32 c_frotor;__u32 c_irotor;__u32 c_btotoff;__u32 c_boff;__u32 c_iusedoff;__u32 c_freeoff;__u32 c_nextfreeoff;__u32 c_clustersumoff;__u32 c_clusteroff;__u32 c_nclusterblks;};struct ufs_sb_private_info{struct ufs_buffer_head s_ubh;__u32 s_sblkno;__u32 s_cblkno;__u32 s_iblkno;__u32 s_dblkno;__u32 s_cgoffset;__u32 s_cgmask;__u32 s_size;__u32 s_dsize;__u32 s_ncg;__u32 s_bsize;__u32 s_fsize;__u32 s_fpb;__u32 s_minfree;__u32 s_bmask;__u32 s_fmask;__u32 s_bshift;__u32 s_fshift;__u32 s_fpbshift;__u32 s_fsbtodb;__u32 s_sbsize;__u32 s_csmask;__u32 s_csshift;__u32 s_nindir;__u32 s_inopb;__u32 s_nspf;__u32 s_npsect;__u32 s_interleave;__u32 s_trackskew;__u32 s_csaddr;__u32 s_cssize;__u32 s_cgsize;__u32 s_ntrak;__u32 s_nsect;__u32 s_spc;__u32 s_ipg;__u32 s_fpg;__u32 s_cpc;__s32 s_contigsumsize;__s64 s_qbmask;__s64 s_qfmask;__s32 s_postblformat;__s32 s_nrpos;__s32 s_postbloff;__s32 s_rotbloff;__u32 s_fpbmask;__u32 s_apb;__u32 s_2apb;__u32 s_3apb;__u32 s_apbmask;__u32 s_apbshift;__u32 s_2apbshift;__u32 s_3apbshift;__u32 s_nspfshift;__u32 s_nspb;__u32 s_inopf;__u32 s_sbbase;__u32 s_bpf;__u32 s_bpfshift;__u32 s_bpfmask;__u32 s_maxsymlinklen;};struct ufs_sb_info{struct ufs_sb_private_info*s_uspi;struct ufs_csum*s_csp[31U];unsigned s_bytesex;unsigned s_flags;struct buffer_head**s_ucg;struct ufs_cg_private_info*s_ucpi[8U];unsigned s_cgno[8U];unsigned short s_cg_loaded;unsigned s_mount_opt;};struct ufs_super_block_first{__u32 fs_link;__u32 fs_rlink;__u32 fs_sblkno;__u32 fs_cblkno;__u32 fs_iblkno;__u32 fs_dblkno;__u32 fs_cgoffset;__u32 fs_cgmask;__u32 fs_time;__u32 fs_size;__u32 fs_dsize;__u32 fs_ncg;__u32 fs_bsize;__u32 fs_fsize;__u32 fs_frag;__u32 fs_minfree;__u32 fs_rotdelay;__u32 fs_rps;__u32 fs_bmask;__u32 fs_fmask;__u32 fs_bshift;__u32 fs_fshift;__u32 fs_maxcontig;__u32 fs_maxbpg;__u32 fs_fragshift;__u32 fs_fsbtodb;__u32 fs_sbsize;__u32 fs_csmask;__u32 fs_csshift;__u32 fs_nindir;__u32 fs_inopb;__u32 fs_nspf;__u32 fs_optim;union _tuple27 fs_u1;__u32 fs_interleave;__u32 fs_trackskew;__u32 fs_id[2U];__u32 fs_csaddr;__u32 fs_cssize;__u32 fs_cgsize;__u32 fs_ntrak;__u32 fs_nsect;__u32 fs_spc;__u32 fs_ncyl;__u32 fs_cpg;__u32 fs_ipg;__u32 fs_fpg;struct ufs_csum fs_cstotal;__s8 fs_fmod;__s8 fs_clean;__s8 fs_ronly;__s8 fs_flags;__s8 fs_fsmnt[300U];};struct ufs_super_block_second{__s8 fs_fsmnt[212U];__u32 fs_cgrotor;__u32 fs_csp[31U];__u32 fs_maxcluster;__u32 fs_cpc;__u16 fs_opostbl[82U];};struct ufs_super_block_third{__u16 fs_opostbl[46U];union _tuple31 fs_u2;__s32 fs_postblformat;__s32 fs_nrpos;__s32 fs_postbloff;__s32 fs_rotbloff;__s32 fs_magic;__u8 fs_space[1U];};struct efs_super{int32_t fs_size;int32_t fs_firstcg;int32_t fs_cgfsize;short fs_cgisize;short fs_sectors;short fs_heads;short fs_ncg;short fs_dirty;int32_t fs_time;int32_t fs_magic;char fs_fname[6U];char fs_fpack[6U];int32_t fs_bmsize;int32_t fs_tfree;int32_t fs_tinode;int32_t fs_bmblock;int32_t fs_replsb;int32_t fs_lastialloc;char fs_spare[20U];int32_t fs_checksum;};struct efs_sb_info{int32_t fs_magic;int32_t fs_start;int32_t first_block;int32_t total_blocks;int32_t group_size;int32_t data_free;int32_t inode_free;short inode_blocks;short total_groups;};struct romfs_sb_info{unsigned long s_maxsize;};
# 14 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/smb.h"
enum smb_protocol{SMB_PROTOCOL_NONE =0U,SMB_PROTOCOL_CORE =1U,SMB_PROTOCOL_COREPLUS =2U,SMB_PROTOCOL_LANMAN1 =3U,SMB_PROTOCOL_LANMAN2 =4U,SMB_PROTOCOL_NT1 =5U};
# 23
enum smb_case_hndl{SMB_CASE_DEFAULT =0U,SMB_CASE_LOWER =1U,SMB_CASE_UPPER =2U};struct smb_dskattr{__u16 total;__u16 allocblocks;__u16 blocksize;__u16 free;};struct smb_conn_opt{unsigned fd;enum smb_protocol protocol;enum smb_case_hndl case_handling;__u32 max_xmit;__u16 server_uid;__u16 tid;__u16 secmode;__u16 maxmux;__u16 maxvcs;__u16 rawmode;__u32 sesskey;__u32 maxraw;__u32 capabilities;__s16 serverzone;};struct smb_nls_codepage{char local_name[20U];char remote_name[20U];};struct smb_fattr{__u16 attr;unsigned long f_ino;umode_t f_mode;nlink_t f_nlink;uid_t f_uid;gid_t f_gid;kdev_t f_rdev;off_t f_size;time_t f_atime;time_t f_mtime;time_t f_ctime;unsigned long f_blksize;unsigned long f_blocks;};
# 96 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/smb.h"
enum smb_conn_state{CONN_VALID =0U,CONN_INVALID =1U,CONN_RETRIED =2U,CONN_RETRYING =3U};struct smb_sb_info{enum smb_conn_state state;struct file*sock_file;struct smb_mount_data_kernel*mnt;unsigned char*temp_buf;unsigned generation;pid_t conn_pid;struct smb_conn_opt opt;struct semaphore sem;wait_queue_head_t wait;__u32 packet_size;unsigned char*packet;unsigned short rcls;unsigned short err;void*data_ready;struct nls_table*remote_nls;struct nls_table*local_nls;char*name_buf;int(*convert)(char*,int,const char*,int,struct nls_table*,struct nls_table*);};
# 62 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/smb_fs_sb.h"
inline static void smb_lock_server(struct smb_sb_info*server){
# 65
down(& server->sem);}
# 68
inline static void smb_unlock_server(struct smb_sb_info*server){
# 71
up(& server->sem);}struct hfs_name;
# 17 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/hfs_fs_sb.h"
typedef int(*hfs_namein_fn)(char*,const struct hfs_name*);
typedef void(*hfs_nameout_fn)(struct hfs_name*,const char*,int);
typedef void(*hfs_ifill_fn)(struct inode*,ino_t,const int);struct hfs_sb_info{int magic;struct hfs_mdb*s_mdb;int s_quiet;int s_lowercase;int s_afpd;int s_version;hfs_namein_fn s_namein;hfs_nameout_fn s_nameout;hfs_ifill_fn s_ifill;const struct hfs_name*s_reserved1;const struct hfs_name*s_reserved2;__u32 s_type;__u32 s_creator;umode_t s_umask;uid_t s_uid;gid_t s_gid;char s_conv;};struct adfs_discmap;struct adfs_dir_ops;struct adfs_sb_info{struct adfs_discmap*s_map;struct adfs_dir_ops*s_dir;uid_t s_uid;gid_t s_gid;umode_t s_owner_mask;umode_t s_other_mask;__u32 s_ids_per_zone;__u32 s_idlen;__u32 s_map_size;unsigned long s_size;int s_map2blk;unsigned s_log2sharesize;unsigned s_version;unsigned s_namelen;};struct qnx4_inode_entry{char di_fname[16U];qnx4_off_t di_size;qnx4_xtnt_t di_first_xtnt;__u32 di_xblk;__s32 di_ftime;__s32 di_mtime;__s32 di_atime;__s32 di_ctime;qnx4_nxtnt_t di_num_xtnts;qnx4_mode_t di_mode;qnx4_muid_t di_uid;qnx4_mgid_t di_gid;qnx4_nlink_t di_nlink;__u8 di_zero[4U];qnx4_ftype_t di_type;__u8 di_status;};struct qnx4_link_info{char dl_fname[48U];__u32 dl_inode_blk;__u8 dl_inode_ndx;__u8 dl_spare[10U];__u8 dl_status;};struct qnx4_xblk{__u32 xblk_next_xblk;__u32 xblk_prev_xblk;__u8 xblk_num_xtnts;__u8 xblk_spare[3U];__s32 xblk_num_blocks;qnx4_xtnt_t xblk_xtnts[60U];char xblk_signature[8U];qnx4_xtnt_t xblk_first_xtnt;};struct qnx4_super_block{struct qnx4_inode_entry RootDir;struct qnx4_inode_entry Inode;struct qnx4_inode_entry Boot;struct qnx4_inode_entry AltBoot;};
# 100 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/qnx4_fs.h"
extern struct dentry*qnx4_lookup(struct inode*,struct dentry*);
extern unsigned long qnx4_count_free_blocks(struct super_block*);
extern unsigned long qnx4_block_map(struct inode*,long);
# 104
extern struct buffer_head*qnx4_getblk(struct inode*,int,int);
extern struct buffer_head*qnx4_bread(struct inode*,int,int);
# 107
extern int qnx4_create(struct inode*,struct dentry*,int);
extern struct inode_operations qnx4_file_inode_operations;
extern struct inode_operations qnx4_dir_inode_operations;
extern struct file_operations qnx4_file_operations;
extern struct file_operations qnx4_dir_operations;
extern int qnx4_is_free(struct super_block*,long);
extern int qnx4_set_bitmap(struct super_block*,long,int);
extern int qnx4_create(struct inode*,struct dentry*,int);
extern void qnx4_truncate(struct inode*);
extern void qnx4_free_inode(struct inode*);
extern int qnx4_unlink(struct inode*,struct dentry*);
extern int qnx4_rmdir(struct inode*,struct dentry*);
extern int qnx4_sync_file(struct file*,struct dentry*,int);
extern int qnx4_sync_inode(struct inode*);
extern int qnx4_get_block(struct inode*,long,struct buffer_head*,int);struct qnx4_sb_info{struct buffer_head*sb_buf;struct qnx4_super_block*sb;unsigned Version;struct qnx4_inode_entry*BitMap;};struct tq_struct{struct list_head list;unsigned long sync;void(*routine)(void*);void*data;};
# 64 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/tqueue.h"
typedef struct list_head task_queue;
# 69
extern task_queue tq_timer_Rfa3e9acc;extern task_queue tq_immediate_R0da0dcd1;extern task_queue tq_disk_R5373dbb6;
# 94 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/tqueue.h"
extern spinlock_t tqueue_lock;
# 100
inline static int queue_task(struct tq_struct*bh_pointer,task_queue*bh_list){
# 102
int ret=0;
if(!test_and_set_bit(0,& bh_pointer->sync)){
unsigned long flags;
do{do{__asm__  volatile ("pushfl ; popl %0":"=g"(flags));__asm__  volatile ("cli" : : :"memory");}while(0);(void)& tqueue_lock;}while(0);
list_add_tail(& bh_pointer->list,bh_list);
do{do{;}while(0);__asm__  volatile ("pushl %0 ; popfl"::"g"(flags) :"memory","cc");}while(0);
ret=1;}
# 110
return ret;}
# 117
extern void __run_task_queue_R3889b11c(task_queue*);
# 119
inline static void run_task_queue(task_queue*list){
# 121
if(!list_empty(&(*list)))
__run_task_queue_R3889b11c(list);}struct reiserfs_super_block{__u32 s_block_count;__u32 s_free_blocks;__u32 s_root_block;__u32 s_journal_block;__u32 s_journal_dev;__u32 s_orig_journal_size;__u32 s_journal_trans_max;__u32 s_journal_block_count;__u32 s_journal_max_batch;__u32 s_journal_max_commit_age;__u32 s_journal_max_trans_age;__u16 s_blocksize;__u16 s_oid_maxsize;__u16 s_oid_cursize;__u16 s_state;char s_magic[12U];__u32 s_hash_function_code;__u16 s_tree_height;__u16 s_bmap_nr;__u16 s_version;__u16 s_reserved;__u32 s_inode_generation;__u32 s_flags;unsigned char s_uuid[16U];unsigned char s_label[16U];char s_unused[88U];} __attribute__((packed )) ;
# 73 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/reiserfs_fs_sb.h"
typedef enum{reiserfs_attrs_cleared =1 }reiserfs_super_block_flags;struct reiserfs_super_block_v1{__u32 s_block_count;__u32 s_free_blocks;__u32 s_root_block;__u32 s_journal_block;__u32 s_journal_dev;__u32 s_orig_journal_size;__u32 s_journal_trans_max;__u32 s_journal_block_count;__u32 s_journal_max_batch;__u32 s_journal_max_commit_age;__u32 s_journal_max_trans_age;__u16 s_blocksize;__u16 s_oid_maxsize;__u16 s_oid_cursize;__u16 s_state;char s_magic[16U];__u16 s_tree_height;__u16 s_bmap_nr;__u32 s_reserved;} __attribute__((packed )) ;struct reiserfs_journal_cnode{struct buffer_head*bh;kdev_t dev;unsigned long blocknr;long state;struct reiserfs_journal_list*jlist;struct reiserfs_journal_cnode*next;struct reiserfs_journal_cnode*prev;struct reiserfs_journal_cnode*hprev;struct reiserfs_journal_cnode*hnext;};struct reiserfs_bitmap_node{int id;char*data;struct list_head list;};struct reiserfs_list_bitmap{struct reiserfs_journal_list*journal_list;struct reiserfs_bitmap_node**bitmaps;};struct reiserfs_transaction_handle{char*t_caller;int t_blocks_logged;int t_blocks_allocated;unsigned long t_trans_id;struct super_block*t_super;int displace_new_blocks: 1;};struct reiserfs_journal_list{unsigned long j_start;unsigned long j_len;atomic_t j_nonzerolen;atomic_t j_commit_left;atomic_t j_flushing;atomic_t j_commit_flushing;atomic_t j_older_commits_done;unsigned long j_trans_id;time_t j_timestamp;struct reiserfs_list_bitmap*j_list_bitmap;struct buffer_head*j_commit_bh;struct reiserfs_journal_cnode*j_realblock;struct reiserfs_journal_cnode*j_freedlist;wait_queue_head_t j_commit_wait;wait_queue_head_t j_flush_wait;};struct reiserfs_page_list;struct reiserfs_journal{struct buffer_head**j_ap_blocks;struct reiserfs_journal_cnode*j_last;struct reiserfs_journal_cnode*j_first;long j_state;unsigned long j_trans_id;unsigned long j_mount_id;unsigned long j_start;unsigned long j_len;unsigned long j_len_alloc;atomic_t j_wcount;unsigned long j_bcount;unsigned long j_first_unflushed_offset;unsigned long j_last_flush_trans_id;struct buffer_head*j_header_bh;struct reiserfs_page_list*j_flush_pages;time_t j_trans_start_time;wait_queue_head_t j_wait;atomic_t j_wlock;wait_queue_head_t j_join_wait;atomic_t j_jlock;int j_journal_list_index;int j_list_bitmap_index;int j_must_wait;int j_next_full_flush;int j_next_async_flush;int j_cnode_used;int j_cnode_free;struct reiserfs_journal_cnode*j_cnode_free_list;struct reiserfs_journal_cnode*j_cnode_free_orig;int j_free_bitmap_nodes;int j_used_bitmap_nodes;struct list_head j_bitmap_nodes;struct list_head j_dirty_buffers;struct reiserfs_list_bitmap j_list_bitmap[5U];struct reiserfs_journal_list j_journal_list[64U];struct reiserfs_journal_cnode*j_hash_table[8192U];struct reiserfs_journal_cnode*j_list_hash_table[8192U];struct list_head j_prealloc_list;};
# 327 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/reiserfs_fs_sb.h"
typedef __u32(*hashf_t)(const signed char*,int);struct reiserfs_bitmap_info{__u16 first_zero_hint;__u16 free_count;struct buffer_head*bh;};struct proc_dir_entry;struct reiserfs_proc_info_data{};
# 408 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/reiserfs_fs_sb.h"
typedef struct reiserfs_proc_info_data reiserfs_proc_info_data_t;struct _tuple42{unsigned long bits;unsigned long large_file_size;int border;int preallocmin;int preallocsize;};struct reiserfs_sb_info{struct buffer_head*s_sbh;struct reiserfs_super_block*s_rs;struct reiserfs_bitmap_info*s_ap_bitmap;struct reiserfs_journal*s_journal;unsigned short s_mount_state;void(*end_io_handler)(struct buffer_head*,int);hashf_t s_hash_function;unsigned long s_mount_opt;struct _tuple42 s_alloc_options;wait_queue_head_t s_wait;atomic_t s_generation_counter;unsigned long s_properties;int s_kmallocs;int s_disk_reads;int s_disk_writes;int s_fix_nodes;int s_do_balance;int s_unneeded_left_neighbor;int s_good_search_by_key_reada;int s_bmaps;int s_bmaps_without_search;int s_direct2indirect;int s_indirect2direct;int s_is_unlinked_ok;reiserfs_proc_info_data_t s_proc_info_data;struct proc_dir_entry*procdir;int reserved_blocks;};
# 534 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/reiserfs_fs_sb.h"
extern void reiserfs_file_buffer(struct buffer_head*,int);
extern int reiserfs_is_super(struct super_block*);
extern int journal_mark_dirty(struct reiserfs_transaction_handle*,struct super_block*,struct buffer_head*);
extern int flush_old_commits(struct super_block*,int);
extern int show_reiserfs_locks (void);
extern int reiserfs_resize(struct super_block*,unsigned long);struct bfs_sb_info{unsigned long si_blocks;unsigned long si_freeb;unsigned long si_freei;unsigned long si_lf_ioff;unsigned long si_lf_sblk;unsigned long si_lf_eblk;unsigned long si_lasti;char*si_imap;struct buffer_head*si_sbh;struct bfs_super_block*si_bfs_sb;};struct udf_sparing_data{__u16 s_packet_len;struct buffer_head*s_spar_map[4U];};struct udf_virtual_data{__u32 s_num_entries;__u16 s_start_offset;};struct udf_bitmap{__u32 s_extLength;__u32 s_extPosition;__u16 s_nr_groups;struct buffer_head**s_block_bitmap;};union _tuple43{struct udf_bitmap*s_bitmap;struct inode*s_table;};union _tuple44{struct udf_sparing_data s_sparing;struct udf_virtual_data s_virtual;};struct udf_part_map{union _tuple43 s_uspace;union _tuple43 s_fspace;__u32 s_partition_root;__u32 s_partition_len;__u16 s_partition_type;__u16 s_partition_num;union _tuple44 s_type_specific;__u32(*s_partition_func)(struct super_block*,__u32,__u16,__u32);__u16 s_volumeseqnum;__u16 s_partition_flags;};struct udf_sb_info{struct udf_part_map*s_partmaps;__u8 s_volident[32U];__u16 s_partitions;__u16 s_partition;__s32 s_session;__u32 s_anchor[4U];__u32 s_lastblock;struct buffer_head*s_lvidbh;mode_t s_umask;gid_t s_gid;uid_t s_uid;time_t s_recordtime;__u16 s_serialnum;__u16 s_udfrev;__u32 s_flags;struct nls_table*s_nls_map;struct inode*s_vat;};struct ncp_request_header{__u16 type  __attribute__((packed )) ;__u8 sequence  __attribute__((packed )) ;__u8 conn_low  __attribute__((packed )) ;__u8 task  __attribute__((packed )) ;__u8 conn_high  __attribute__((packed )) ;__u8 function  __attribute__((packed )) ;__u8 data[0U] __attribute__((packed )) ;};struct ncp_reply_header{__u16 type  __attribute__((packed )) ;__u8 sequence  __attribute__((packed )) ;__u8 conn_low  __attribute__((packed )) ;__u8 task  __attribute__((packed )) ;__u8 conn_high  __attribute__((packed )) ;__u8 completion_code  __attribute__((packed )) ;__u8 connection_state  __attribute__((packed )) ;__u8 data[0U] __attribute__((packed )) ;};struct ncp_volume_info{__u32 total_blocks;__u32 free_blocks;__u32 purgeable_blocks;__u32 not_yet_purgeable_blocks;__u32 total_dir_entries;__u32 available_dir_entries;__u8 sectors_per_block;char volume_name[17U];};struct nw_info_struct{__u32 spaceAlloc  __attribute__((packed )) ;__u32 attributes  __attribute__((packed )) ;__u16 flags  __attribute__((packed )) ;__u32 dataStreamSize  __attribute__((packed )) ;__u32 totalStreamSize  __attribute__((packed )) ;__u16 numberOfStreams  __attribute__((packed )) ;__u16 creationTime  __attribute__((packed )) ;__u16 creationDate  __attribute__((packed )) ;__u32 creatorID  __attribute__((packed )) ;__u16 modifyTime  __attribute__((packed )) ;__u16 modifyDate  __attribute__((packed )) ;__u32 modifierID  __attribute__((packed )) ;__u16 lastAccessDate  __attribute__((packed )) ;__u16 archiveTime  __attribute__((packed )) ;__u16 archiveDate  __attribute__((packed )) ;__u32 archiverID  __attribute__((packed )) ;__u16 inheritedRightsMask  __attribute__((packed )) ;__u32 dirEntNum  __attribute__((packed )) ;__u32 DosDirNum  __attribute__((packed )) ;__u32 volNumber  __attribute__((packed )) ;__u32 EADataSize  __attribute__((packed )) ;__u32 EAKeyCount  __attribute__((packed )) ;__u32 EAKeySize  __attribute__((packed )) ;__u32 NSCreator  __attribute__((packed )) ;__u8 nameLen  __attribute__((packed )) ;__u8 entryName[256U] __attribute__((packed )) ;};struct nw_modify_dos_info{__u32 attributes  __attribute__((packed )) ;__u16 creationDate  __attribute__((packed )) ;__u16 creationTime  __attribute__((packed )) ;__u32 creatorID  __attribute__((packed )) ;__u16 modifyDate  __attribute__((packed )) ;__u16 modifyTime  __attribute__((packed )) ;__u32 modifierID  __attribute__((packed )) ;__u16 archiveDate  __attribute__((packed )) ;__u16 archiveTime  __attribute__((packed )) ;__u32 archiverID  __attribute__((packed )) ;__u16 lastAccessDate  __attribute__((packed )) ;__u16 inheritanceGrantMask  __attribute__((packed )) ;__u16 inheritanceRevokeMask  __attribute__((packed )) ;__u32 maximumSpace  __attribute__((packed )) ;};struct nw_search_sequence{__u8 volNumber  __attribute__((packed )) ;__u32 dirBase  __attribute__((packed )) ;__u32 sequence  __attribute__((packed )) ;};struct ncp_mount_data{int version;unsigned ncp_fd;__kernel_uid_t mounted_uid;__kernel_pid_t wdog_pid;unsigned char mounted_vol[17U];unsigned time_out;unsigned retry_count;unsigned flags;__kernel_uid_t uid;__kernel_gid_t gid;__kernel_mode_t file_mode;__kernel_mode_t dir_mode;};struct ncp_mount_data_v4{int version;unsigned long flags;unsigned long mounted_uid;long wdog_pid;unsigned ncp_fd;unsigned time_out;unsigned retry_count;unsigned long uid;unsigned long gid;unsigned long file_mode;unsigned long dir_mode;};struct ncp_mount_data_kernel{unsigned long flags;unsigned int_flags;__kernel_uid32_t mounted_uid;__kernel_pid_t wdog_pid;unsigned ncp_fd;unsigned time_out;unsigned retry_count;unsigned char mounted_vol[17U];__kernel_uid32_t uid;__kernel_gid32_t gid;__kernel_mode_t file_mode;__kernel_mode_t dir_mode;};struct _tuple45{int auth_type;size_t object_name_len;void*object_name;int object_type;};struct _tuple46{size_t len;void*data;};struct ncp_server{struct ncp_mount_data_kernel m;__u8 name_space[66U];struct file*ncp_filp;u8 sequence;u8 task;u16 connection;u8 completion;u8 conn_status;int buffer_size;int reply_size;int packet_size;unsigned char*packet;int lock;struct semaphore sem;int current_size;int has_subfunction;int ncp_reply_size;int root_setuped;int sign_wanted;int sign_active;char sign_root[8U];char sign_last[16U];struct _tuple45 auth;struct _tuple46 priv;struct nls_table*nls_vol;struct nls_table*nls_io;int dentry_ttl;unsigned flags;};
# 92 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/ncp_fs_sb.h"
inline static int ncp_conn_valid(struct ncp_server*server){
# 94
return(server->conn_status & 17)== 0;}
# 97
inline static void ncp_invalidate_conn(struct ncp_server*server){
# 99
server->conn_status |=1;}struct usbdev_sb_info{struct list_head slist;struct list_head ilist;uid_t devuid;gid_t devgid;umode_t devmode;uid_t busuid;gid_t busgid;umode_t busmode;uid_t listuid;gid_t listgid;umode_t listmode;};struct completion{unsigned done;wait_queue_head_t wait;};
# 24 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/completion.h"
inline static void init_completion(struct completion*x){
# 26
x->done=0;
init_waitqueue_head(& x->wait);}
# 30
extern void wait_for_completion_Rdc016488(struct completion*) __attribute__((regparm(3))) ;
extern void complete_R942613ad(struct completion*) __attribute__((regparm(3))) ;struct jffs2_sb_info{struct mtd_info*mtd;__u32 highest_ino;unsigned flags;spinlock_t nodelist_lock;struct task_struct*gc_task;struct semaphore gc_thread_start;struct completion gc_thread_exit;struct semaphore alloc_sem;__u32 flash_size;__u32 used_size;__u32 dirty_size;__u32 free_size;__u32 erasing_size;__u32 bad_size;__u32 sector_size;__u32 nr_free_blocks;__u32 nr_erasing_blocks;__u32 nr_blocks;struct jffs2_eraseblock*blocks;struct jffs2_eraseblock*nextblock;struct jffs2_eraseblock*gcblock;struct list_head clean_list;struct list_head dirty_list;struct list_head erasing_list;struct list_head erase_pending_list;struct list_head erase_complete_list;struct list_head free_list;struct list_head bad_list;struct list_head bad_used_list;spinlock_t erase_completion_lock;wait_queue_head_t erase_wait;struct jffs2_inode_cache*inocache_list[1U];spinlock_t inocache_lock;};
# 709 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern struct list_head super_blocks;
extern spinlock_t sb_lock;union _tuple47{struct minix_sb_info minix_sb;struct ext2_sb_info ext2_sb;struct ext3_sb_info ext3_sb;struct hpfs_sb_info hpfs_sb;struct ntfs_sb_info ntfs_sb;struct msdos_sb_info msdos_sb;struct isofs_sb_info isofs_sb;struct nfs_sb_info nfs_sb;struct sysv_sb_info sysv_sb;struct affs_sb_info affs_sb;struct ufs_sb_info ufs_sb;struct efs_sb_info efs_sb;struct shmem_sb_info shmem_sb;struct romfs_sb_info romfs_sb;struct smb_sb_info smbfs_sb;struct hfs_sb_info hfs_sb;struct adfs_sb_info adfs_sb;struct qnx4_sb_info qnx4_sb;struct reiserfs_sb_info reiserfs_sb;struct bfs_sb_info bfs_sb;struct udf_sb_info udf_sb;struct ncp_server ncpfs_sb;struct usbdev_sb_info usbdevfs_sb;struct jffs2_sb_info jffs2_sb;struct cramfs_sb_info cramfs_sb;void*generic_sbp;};struct super_block{struct list_head s_list;kdev_t s_dev;unsigned long s_blocksize;unsigned char s_blocksize_bits;unsigned char s_dirt;unsigned long long s_maxbytes;struct file_system_type*s_type;struct super_operations*s_op;struct dquot_operations*dq_op;unsigned long s_flags;unsigned long s_magic;struct dentry*s_root;struct rw_semaphore s_umount;struct semaphore s_lock;int s_count;atomic_t s_active;struct list_head s_dirty;struct list_head s_locked_inodes;struct list_head s_files;struct block_device*s_bdev;struct list_head s_instances;struct quota_mount_options s_dquot;union _tuple47 u;struct semaphore s_vfs_rename_sem;struct semaphore s_nfsd_free_path_sem;};
# 787 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern int vfs_create_R2cf8c51d(struct inode*,struct dentry*,int);
extern int vfs_mkdir_R3688b99e(struct inode*,struct dentry*,int);
extern int vfs_mknod_R26e41762(struct inode*,struct dentry*,int,dev_t);
extern int vfs_symlink_R22faefbd(struct inode*,struct dentry*,const char*);
extern int vfs_link_Rceafa0a3(struct dentry*,struct inode*,struct dentry*);
extern int vfs_rmdir_R26cb002d(struct inode*,struct dentry*);
extern int vfs_unlink_R3e374d96(struct inode*,struct dentry*);
extern int vfs_rename_R80743d67(struct inode*,struct dentry*,struct inode*,struct dentry*);
# 815 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
typedef int(*filldir_t)(void*,const char*,int,loff_t,ino_t,unsigned);struct block_device_operations{int(*open)(struct inode*,struct file*);int(*release)(struct inode*,struct file*);int(*ioctl)(struct inode*,struct file*,unsigned,unsigned long);int(*check_media_change)(kdev_t);int(*revalidate)(kdev_t);struct module*owner;};struct file_operations{struct module*owner;loff_t(*llseek)(struct file*,loff_t,int);ssize_t(*read)(struct file*,char*,size_t,loff_t*);ssize_t(*write)(struct file*,const char*,size_t,loff_t*);int(*readdir)(struct file*,void*,filldir_t);unsigned(*poll)(struct file*,struct poll_table_struct*);int(*ioctl)(struct inode*,struct file*,unsigned,unsigned long);int(*mmap)(struct file*,struct vm_area_struct*);int(*open)(struct inode*,struct file*);int(*flush)(struct file*);int(*release)(struct inode*,struct file*);int(*fsync)(struct file*,struct dentry*,int);int(*fasync)(int,struct file*,int);int(*lock)(struct file*,int,struct file_lock*);ssize_t(*readv)(struct file*,const struct iovec*,unsigned long,loff_t*);ssize_t(*writev)(struct file*,const struct iovec*,unsigned long,loff_t*);ssize_t(*sendpage)(struct file*,struct page*,int,size_t,loff_t*,int);unsigned long(*get_unmapped_area_Rcb0eefc9)(struct file*,unsigned long,unsigned long,unsigned long,unsigned long);};struct inode_operations{int(*create)(struct inode*,struct dentry*,int);struct dentry*(*lookup)(struct inode*,struct dentry*);int(*link)(struct dentry*,struct inode*,struct dentry*);int(*unlink)(struct inode*,struct dentry*);int(*symlink)(struct inode*,struct dentry*,const char*);int(*mkdir)(struct inode*,struct dentry*,int);int(*rmdir)(struct inode*,struct dentry*);int(*mknod)(struct inode*,struct dentry*,int,int);int(*rename)(struct inode*,struct dentry*,struct inode*,struct dentry*);int(*readlink)(struct dentry*,char*,int);int(*follow_link)(struct dentry*,struct nameidata*);void(*truncate)(struct inode*);int(*permission_R1fc8e07d)(struct inode*,int);int(*revalidate)(struct dentry*);int(*setattr)(struct dentry*,struct iattr*);int(*getattr)(struct dentry*,struct iattr*);int(*setxattr)(struct dentry*,const char*,void*,size_t,int);ssize_t(*getxattr)(struct dentry*,const char*,void*,size_t);ssize_t(*listxattr)(struct dentry*,char*,size_t);int(*removexattr)(struct dentry*,const char*);};struct seq_file;struct super_operations{struct inode*(*alloc_inode)(struct super_block*);void(*destroy_inode)(struct inode*);void(*read_inode)(struct inode*);void(*read_inode2)(struct inode*,void*);void(*dirty_inode)(struct inode*);void(*write_inode)(struct inode*,int);void(*put_inode)(struct inode*);void(*delete_inode)(struct inode*);void(*put_super)(struct super_block*);void(*write_super)(struct super_block*);int(*sync_fs)(struct super_block*);void(*write_super_lockfs)(struct super_block*);void(*unlockfs)(struct super_block*);int(*statfs)(struct super_block*,struct statfs*);int(*remount_fs)(struct super_block*,int*,char*);void(*clear_inode_R9adb1f4a)(struct inode*);void(*umount_begin)(struct super_block*);struct dentry*(*fh_to_dentry)(struct super_block*,__u32*,int,int,int);int(*dentry_to_fh)(struct dentry*,__u32*,int*,int);int(*show_options)(struct seq_file*,struct vfsmount*);};
# 946 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern void __mark_inode_dirty_Rb271857e(struct inode*,int);
inline static void mark_inode_dirty(struct inode*inode){
# 949
__mark_inode_dirty_Rb271857e(inode,(1 | 2)| 4);}
# 952
inline static void mark_inode_dirty_sync(struct inode*inode){
# 954
__mark_inode_dirty_Rb271857e(inode,1);}
# 957
inline static void mark_inode_dirty_pages(struct inode*inode){
# 959
__mark_inode_dirty_Rb271857e(inode,4);}struct dquot_operations{void(*initialize)(struct inode*,short);void(*drop)(struct inode*);int(*alloc_block)(struct inode*,unsigned long,char);int(*alloc_inode)(const struct inode*,unsigned long);void(*free_block)(struct inode*,unsigned long);void(*free_inode)(const struct inode*,unsigned long);int(*transfer)(struct inode*,struct iattr*);};struct file_system_type{const char*name;int fs_flags;struct super_block*(*read_super)(struct super_block*,void*,int);struct module*owner;struct file_system_type*next;struct list_head fs_supers;};
# 1004 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern int register_filesystem_Rfc55fd36(struct file_system_type*);
extern int unregister_filesystem_Rf36e013f(struct file_system_type*);
extern struct vfsmount*kern_mount_Rf53769af(struct file_system_type*);
extern int may_umount_R8061d27e(struct vfsmount*);
extern long do_mount(char*,char*,char*,unsigned long,void*);
# 1012
extern int vfs_statfs_R187f644c(struct super_block*,struct statfs*);
# 1022 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
extern int locks_mandatory_locked(struct inode*);
extern int locks_mandatory_area_R1e7b3ece(int,struct inode*,struct file*,loff_t,size_t);
# 1032 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
inline static int locks_verify_locked(struct inode*inode){
# 1034
if((inode->i_sb)->s_flags & 64 &&(inode->i_mode & (1024 | 8))== 1024)
return locks_mandatory_locked(inode);
return 0;}
# 1039
inline static int locks_verify_area(int read_write,struct inode*inode,struct file*filp,loff_t offset,size_t count){
# 1043
if(inode->i_flock &&((inode->i_sb)->s_flags & 64 &&(inode->i_mode & (1024 | 8))== 1024))
return locks_mandatory_area_R1e7b3ece(read_write,inode,filp,offset,count);
return 0;}
# 1048
inline static int locks_verify_truncate(struct inode*inode,struct file*filp,loff_t size){
# 1052
if(inode->i_flock &&((inode->i_sb)->s_flags & 64 &&(inode->i_mode & (1024 | 8))== 1024))
return locks_mandatory_area_R1e7b3ece(2,inode,filp,
# 1055
size < inode->i_size?size: inode->i_size,
size < inode->i_size?inode->i_size - size: size - inode->i_size);
# 1059
return 0;}
# 1062
inline static int get_lease(struct inode*inode,unsigned mode){
# 1064
if(inode->i_flock)
return __get_lease_R314130c5(inode,mode);
return 0;}
# 1071
extern long sys_open(const char*,int,int) __attribute__((regparm(0))) ;
extern long sys_close_R268cc6a2(unsigned) __attribute__((regparm(0))) ;
extern int do_truncate(struct dentry*,loff_t);
# 1075
extern struct file*filp_open_Rcb0545da(const char*,int,int);
extern struct file*dentry_open_R1a90fedc(struct dentry*,struct vfsmount*,int);
extern int filp_close_R52fb0a78(struct file*,fl_owner_t);
extern char*getname_R7c60d66e(const char*);
# 1081
extern void vfs_caches_init(unsigned long);
# 1086
enum __anonymous_enum_0__{BDEV_FILE =0U,BDEV_SWAP =1U,BDEV_FS =2U,BDEV_RAW =3U};
extern int register_blkdev_R0db11320(unsigned,const char*,struct block_device_operations*);
extern int unregister_blkdev_Reac1c4af(unsigned,const char*);
extern struct block_device*bdget_R0a76c7f8(dev_t);
extern int bd_acquire(struct inode*);
extern void bd_forget(struct inode*);
extern void bdput_R41b9cd2e(struct block_device*);
extern struct char_device*cdget_Rdee70f3e(dev_t);
extern void cdput_Rd7ab4f1d(struct char_device*);
extern int blkdev_open_Rf26f012b(struct inode*,struct file*);
extern int blkdev_close(struct inode*,struct file*);
extern struct file_operations def_blk_fops_R15d8c974;
extern struct address_space_operations def_blk_aops;
extern struct file_operations def_fifo_fops;
extern int ioctl_by_bdev_R461d163a(struct block_device*,unsigned,unsigned long);
extern int blkdev_get_R278c6cc6(struct block_device*,mode_t,unsigned,int);
extern int blkdev_put_R5a9f804c(struct block_device*,int);
# 1105
extern const struct block_device_operations*get_blkfops(unsigned);
extern int register_chrdev_Re965df89(unsigned,const char*,struct file_operations*);
extern int unregister_chrdev_Rc192d491(unsigned,const char*);
extern int chrdev_open(struct inode*,struct file*);
extern const char*bdevname_Rd04782e6(kdev_t);
extern const char*cdevname_R9754741d(kdev_t);
extern const char*kdevname_Rc258c906(kdev_t);
extern void init_special_inode_Ra81d9353(struct inode*,umode_t,int);
# 1115
extern void make_bad_inode_Ref75c7c1(struct inode*);
extern int is_bad_inode_Ra3fe42d3(struct inode*);
# 1118
extern struct file_operations read_fifo_fops;
extern struct file_operations write_fifo_fops;
extern struct file_operations rdwr_fifo_fops;
extern struct file_operations read_pipe_fops;
extern struct file_operations write_pipe_fops;
extern struct file_operations rdwr_pipe_fops;
# 1125
extern int fs_may_remount_ro(struct super_block*);
# 1127
extern int try_to_free_buffers_R47e1ac69(struct page*,unsigned) __attribute__((regparm(3))) ;
extern void refile_buffer_R3b5a6cdb(struct buffer_head*);
extern void create_empty_buffers_R1f76e414(struct page*,kdev_t,unsigned long);
extern void end_buffer_io_sync(struct buffer_head*,int);
# 1133
extern void set_buffer_async_io_Rfa266c3a(struct buffer_head*);
# 1140
inline static void get_bh(struct buffer_head*bh){
# 1142
atomic_inc(& bh->b_count);}
# 1145
inline static void put_bh(struct buffer_head*bh){
# 1147
__asm__  volatile ("" : : :"memory");
atomic_dec(& bh->b_count);}
# 1154
inline static void mark_buffer_uptodate(struct buffer_head*bh,int on){
# 1156
if(on)
set_bit(BH_Uptodate,& bh->b_state);else{
# 1159
clear_bit(BH_Uptodate,& bh->b_state);}}
# 1164
inline static void __mark_buffer_clean(struct buffer_head*bh){
# 1166
refile_buffer_R3b5a6cdb(bh);}
# 1169
inline static void mark_buffer_clean(struct buffer_head*bh){
# 1171
if(test_and_clear_bit(BH_Dirty,& bh->b_state))
__mark_buffer_clean(bh);}
# 1175
extern void __mark_dirty(struct buffer_head*) __attribute__((regparm(3))) ;
extern void __mark_buffer_dirty_Rf180ba7f(struct buffer_head*) __attribute__((regparm(3))) ;
extern void mark_buffer_dirty_R08a32f21(struct buffer_head*) __attribute__((regparm(3))) ;
# 1179
extern void buffer_insert_list_Rea1cacf3(struct buffer_head*,struct list_head*) __attribute__((regparm(3))) ;
# 1181
inline static void buffer_insert_inode_queue(struct buffer_head*bh,struct inode*inode){
# 1183
buffer_insert_list_Rea1cacf3(bh,& inode->i_dirty_buffers);}
# 1186
inline static void buffer_insert_inode_data_queue(struct buffer_head*bh,struct inode*inode){
# 1188
buffer_insert_list_Rea1cacf3(bh,& inode->i_dirty_data_buffers);}
# 1191
inline static int atomic_set_buffer_dirty(struct buffer_head*bh){
# 1193
return test_and_set_bit(BH_Dirty,& bh->b_state);}
# 1196
inline static void mark_buffer_async(struct buffer_head*bh,int on){
# 1198
if(on)
set_bit(BH_Async,& bh->b_state);else{
# 1201
clear_bit(BH_Async,& bh->b_state);}}
# 1204
inline static void set_buffer_attached(struct buffer_head*bh){
# 1206
set_bit(BH_Attached,& bh->b_state);}
# 1209
inline static void clear_buffer_attached(struct buffer_head*bh){
# 1211
clear_bit(BH_Attached,& bh->b_state);}
# 1214
inline static int buffer_attached(struct buffer_head*bh){
# 1216
return __builtin_constant_p(BH_Attached)?constant_test_bit(BH_Attached,& bh->b_state): variable_test_bit(BH_Attached,& bh->b_state);}
# 1225
inline static void buffer_IO_error(struct buffer_head*bh){
# 1227
mark_buffer_clean(bh);
# 1231
(bh->b_end_io)(bh,0);}
# 1234
inline static void mark_buffer_dirty_inode(struct buffer_head*bh,struct inode*inode){
# 1236
mark_buffer_dirty_R08a32f21(bh);
buffer_insert_inode_queue(bh,inode);}
# 1240
extern void set_buffer_flushtime_R5e788147(struct buffer_head*);
extern void balance_dirty_Ra201f694 (void);
extern int check_disk_change_R11d4076d(kdev_t);
extern int invalidate_inodes_R6a8ad11e(struct super_block*);
extern int invalidate_device_R25a4b0b2(kdev_t,int);
extern void invalidate_inode_pages_Rae423a1d(struct inode*);
extern void invalidate_inode_pages2(struct address_space*);
extern void invalidate_inode_buffers(struct inode*);
# 1250
extern void invalidate_bdev_Rf06baaa2(struct block_device*,int);
extern void __invalidate_buffers_R98f51538(kdev_t,int);
extern void sync_inodes(kdev_t);
extern void sync_unlocked_inodes (void);
extern void write_inode_now_Rf41b3a27(struct inode*,int);
extern int sync_buffers(kdev_t,int);
extern void sync_dev_Rfc0b0f49(kdev_t);
extern int fsync_dev_R8ea128e2(kdev_t);
extern int fsync_super(struct super_block*);
extern int fsync_no_super_R57520644(kdev_t);
extern void sync_inodes_sb(struct super_block*);
extern int fsync_buffers_list_Rd2e9eab8(struct list_head*);
inline static int fsync_inode_buffers(struct inode*inode){
# 1264
return fsync_buffers_list_Rd2e9eab8(& inode->i_dirty_buffers);}
# 1266
inline static int fsync_inode_data_buffers(struct inode*inode){
# 1268
return fsync_buffers_list_Rd2e9eab8(& inode->i_dirty_data_buffers);}
# 1270
extern int inode_has_buffers(struct inode*);
extern int filemap_fdatasync_R6dee0a92(struct address_space*);
extern int filemap_fdatawait_R0582706e(struct address_space*);
extern void sync_supers(kdev_t,int);
extern int bmap_R801d089d(struct inode*,int);
extern int notify_change_R573569f9(struct dentry*,struct iattr*);
extern int permission_R1fc8e07d(struct inode*,int);
extern int vfs_permission_R011d23d8(struct inode*,int);
extern int get_write_access_Rc9978597(struct inode*);
extern int deny_write_access(struct file*);
inline static void put_write_access(struct inode*inode){
# 1282
atomic_dec(& inode->i_writecount);}
# 1284
inline static void allow_write_access(struct file*file){
# 1286
if(file)
atomic_inc(&((file->f_dentry)->d_inode)->i_writecount);}
# 1289
extern int do_pipe(int*);
# 1291
extern int open_namei(const char*,int,int,struct nameidata*);
# 1293
extern int kernel_read_R9697418f(struct file*,unsigned long,char*,unsigned long);
extern struct file*open_exec_Rda9d408f(const char*);
# 1297
extern int is_subdir_R6603bcf6(struct dentry*,struct dentry*);
extern ino_t find_inode_number_Rffd46f5b(struct dentry*,struct qstr*);
# 1308 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
inline static void*ERR_PTR(long error){
# 1310
return(void*)error;}
# 1313
inline static long PTR_ERR(const void*ptr){
# 1315
return(long)ptr;}
# 1318
inline static long IS_ERR(const void*ptr){
# 1320
return(unsigned long)ptr > (unsigned long)(- 1000);}
# 1339 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
enum __anonymous_enum_1__{LAST_NORM =0U,LAST_ROOT =1U,LAST_DOT =2U,LAST_DOTDOT =3U,LAST_BIND =4U};struct _tuple48{size_t written;size_t count;char*buf;int error;};
# 1350 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
typedef struct _tuple48 read_descriptor_t;
# 1357
typedef int(*read_actor_t)(read_descriptor_t*,struct page*,unsigned long,unsigned long);
# 1360
extern loff_t default_llseek_R4f49fe09(struct file*,loff_t,int);
# 1362
extern int __user_walk_R0739ffbc(const char*,unsigned,struct nameidata*) __attribute__((regparm(3))) ;
extern int path_init_R8467e832(const char*,unsigned,struct nameidata*) __attribute__((regparm(3))) ;
extern int path_walk_R93c5762d(const char*,struct nameidata*) __attribute__((regparm(3))) ;
extern int path_lookup(const char*,unsigned,struct nameidata*) __attribute__((regparm(3))) ;
extern int link_path_walk(const char*,struct nameidata*) __attribute__((regparm(3))) ;
extern void path_release_Ra5cdcb88(struct nameidata*);
extern int follow_down_R010cde30(struct vfsmount**,struct dentry**);
extern int follow_up_R954ee819(struct vfsmount**,struct dentry**);
extern struct dentry*lookup_one_len_Reea76461(const char*,struct dentry*,int);
extern struct dentry*lookup_hash_Rd3b9b501(struct qstr*,struct dentry*);
# 1375
extern void inode_init_once_Rde83f266(struct inode*);
extern void iput_R66a50634(struct inode*);
extern void force_delete_R853fb907(struct inode*);
extern struct inode*igrab_R04522c72(struct inode*);
extern ino_t iunique_R483d87d6(struct super_block*,ino_t);
# 1381
typedef int(*find_inode_t)(struct inode*,unsigned long,void*);
extern struct inode*iget4_R89ed7098(struct super_block*,unsigned long,find_inode_t,void*);
inline static struct inode*iget(struct super_block*sb,unsigned long ino){
# 1385
return iget4_R89ed7098(sb,ino,(void*)0,(void*)0);}
# 1388
extern void clear_inode_R9adb1f4a(struct inode*);
extern struct inode*new_inode_Rff8a937f(struct super_block*);
extern void remove_suid(struct inode*);
# 1392
extern void insert_inode_hash_Rdc8af29c(struct inode*);
extern void remove_inode_hash_Refec2005(struct inode*);
extern struct file*get_empty_filp_Raeacfe52 (void);
extern void file_move(struct file*,struct list_head*);
extern struct buffer_head*get_hash_table_R0fd40b1c(kdev_t,int,int);
extern struct buffer_head*getblk_R40ae4740(kdev_t,int,int);
extern void ll_rw_block_R96ca281c(int,int,struct _fat_ptr);
extern void submit_bh_R5451fe03(int,struct buffer_head*);
extern int is_read_only_R740274ca(kdev_t);
extern void __brelse_R58d7831c(struct buffer_head*);
inline static void brelse(struct buffer_head*buf){
# 1404
if(buf)
__brelse_R58d7831c(buf);}
# 1407
extern void __bforget_R0ed65d1a(struct buffer_head*);
inline static void bforget(struct buffer_head*buf){
# 1410
if(buf)
__bforget_R0ed65d1a(buf);}
# 1413
extern int set_blocksize_Rc75d857c(kdev_t,int);
extern int sb_set_blocksize_Ra6548ae6(struct super_block*,int);
extern int sb_min_blocksize_R88c6df5f(struct super_block*,int);
extern struct buffer_head*bread_Rb032a08f(kdev_t,int,int);
inline static struct buffer_head*sb_bread(struct super_block*sb,int block){
# 1419
return bread_Rb032a08f(sb->s_dev,block,sb->s_blocksize);}
# 1421
inline static struct buffer_head*sb_getblk(struct super_block*sb,int block){
# 1423
return getblk_R40ae4740(sb->s_dev,block,sb->s_blocksize);}
# 1425
inline static struct buffer_head*sb_get_hash_table(struct super_block*sb,int block){
# 1427
return get_hash_table_R0fd40b1c(sb->s_dev,block,sb->s_blocksize);}
# 1429
extern void wakeup_bdflush (void);
extern void put_unused_buffer_head_R7e3cab7d(struct buffer_head*);
extern struct buffer_head*get_unused_buffer_head_R0c7571d8(int);
# 1433
extern int brw_page_R41be56be(int,struct page*,kdev_t,struct _fat_ptr,int);
# 1435
typedef int get_block_t(struct inode*,long,struct buffer_head*,int);
# 1438
extern int try_to_release_page(struct page*,int);
extern int discard_bh_page_R0e4d49e5(struct page*,unsigned long,int);
# 1442
extern int block_symlink_R2062480a(struct inode*,const char*,int);
extern int block_write_full_page_R66ee7ff2(struct page*,get_block_t*);
extern int block_read_full_page_R6f06dcef(struct page*,get_block_t*);
extern int block_prepare_write_R1c479c70(struct page*,unsigned,unsigned,get_block_t*);
extern int cont_prepare_write_R657c24b1(struct page*,unsigned,unsigned,get_block_t*,unsigned long*);
# 1448
extern int generic_cont_expand_Rfe3f47fc(struct inode*,loff_t);
extern int block_commit_write(struct page*,unsigned,unsigned);
extern int block_sync_page_R2e24c713(struct page*);
# 1452
extern int generic_block_bmap_R4b0e0d8b(struct address_space*,long,get_block_t*);
extern int generic_commit_write_R17ba90d7(struct file*,struct page*,unsigned,unsigned);
extern int block_truncate_page_R1e285fc2(struct address_space*,loff_t,get_block_t*);
extern int generic_direct_IO_Rb7bcd9ed(int,struct inode*,struct kiobuf*,unsigned long,int,get_block_t*);
extern int waitfor_one_page_Rb5ec2288(struct page*);
extern int writeout_one_page_R9e6d720d(struct page*);
# 1459
extern int generic_file_mmap_R77b65dae(struct file*,struct vm_area_struct*);
extern int file_read_actor(read_descriptor_t*,struct page*,unsigned long,unsigned long);
extern ssize_t generic_file_read_R65db5c00(struct file*,char*,size_t,loff_t*);
extern ssize_t generic_file_write_R73f10882(struct file*,const char*,size_t,loff_t*);
extern void do_generic_file_read_Rf1c40243(struct file*,loff_t*,read_descriptor_t*,read_actor_t);
extern loff_t no_llseek_Rc4902d7a(struct file*,loff_t,int);
extern loff_t generic_file_llseek_R26e184d9(struct file*,loff_t,int);
extern ssize_t generic_read_dir_R35039d52(struct file*,char*,size_t,loff_t*);
extern int generic_file_open_R74b11c8e(struct inode*,struct file*);
# 1469
extern struct file_operations generic_ro_fops_R7957b5eb;
# 1471
extern int vfs_readlink_Rc69cef1f(struct dentry*,char*,int,const char*);
extern int vfs_follow_link_Rb2bd14fc(struct nameidata*,const char*);
extern int page_readlink_R895c7014(struct dentry*,char*,int);
extern int page_follow_link_R892e3c84(struct dentry*,struct nameidata*);
extern struct inode_operations page_symlink_inode_operations_R0883ca68;
# 1477
extern int vfs_readdir_Rb7d23154(struct file*,filldir_t,void*);
extern int dcache_dir_open_R6e80dcbf(struct inode*,struct file*);
extern int dcache_dir_close_R3cfa78b5(struct inode*,struct file*);
extern loff_t dcache_dir_lseek_R9bea0250(struct file*,loff_t,int);
extern int dcache_dir_fsync_R4b5d646d(struct file*,struct dentry*,int);
extern int dcache_readdir_R5e453fef(struct file*,void*,filldir_t);
extern struct file_operations dcache_dir_ops_R8afe4f02;
# 1485
extern struct file_system_type*get_fs_type_R90b7d55e(const char*);
extern struct super_block*get_super_R0eb310fb(kdev_t);
extern void drop_super_Rca8abcee(struct super_block*);
inline static int is_mounted(kdev_t dev){
# 1490
struct super_block*sb=get_super_R0eb310fb(dev);
if(sb){
drop_super_Rca8abcee(sb);
return 1;}
# 1495
return 0;}
# 1497
extern unsigned long generate_cluster(kdev_t,struct _fat_ptr,int);
extern unsigned long generate_cluster_swab32(kdev_t,struct _fat_ptr,int);
extern kdev_t ROOT_DEV_Rb32496e8;
extern char root_device_name[1U];
# 1503
extern void show_buffers (void);
# 1506
extern unsigned real_root_dev;
# 1509
extern ssize_t char_read(struct file*,char*,size_t,loff_t*);
extern ssize_t block_read(struct file*,char*,size_t,loff_t*);
extern int read_ahead_R0abb7b07[1U];
# 1513
extern ssize_t char_write(struct file*,const char*,size_t,loff_t*);
extern ssize_t block_write(struct file*,const char*,size_t,loff_t*);
# 1516
extern int file_fsync_R11f81cd8(struct file*,struct dentry*,int);
extern int generic_buffer_fdatasync_R4c77d931(struct inode*,unsigned long,unsigned long);
extern int generic_osync_inode(struct inode*,int);
# 1523
extern int inode_change_ok_R7e445c78(struct inode*,struct iattr*);
extern int inode_setattr_Red87c72b(struct inode*,struct iattr*);
# 1545 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
inline static struct dentry*lock_parent(struct dentry*dentry){
# 1547
struct dentry*dir=dget(dentry->d_parent);
# 1549
down(&(dir->d_inode)->i_sem);
return dir;}
# 1553
inline static struct dentry*get_parent(struct dentry*dentry){
# 1555
return dget(dentry->d_parent);}
# 1558
inline static void unlock_dir(struct dentry*dir){
# 1560
up(&(dir->d_inode)->i_sem);
dput_R6147a8c7(dir);}
# 1568
inline static void double_down(struct semaphore*s1,struct semaphore*s2){
# 1570
if(s1 != s2){
if((unsigned long)s1 < (unsigned long)s2){
struct semaphore*tmp=s2;
s2=s1;s1=tmp;}
# 1575
down(s1);}
# 1577
down(s2);}
# 1589 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs.h"
inline static void triple_down(struct semaphore*s1,struct semaphore*s2,struct semaphore*s3){
# 1593
if(s1 != s2){
if((unsigned long)s1 < (unsigned long)s2){
if((unsigned long)s1 < (unsigned long)s3){
struct semaphore*tmp=s3;
s3=s1;s1=tmp;}
# 1599
if((unsigned long)s1 < (unsigned long)s2){
struct semaphore*tmp=s2;
s2=s1;s1=tmp;}}else{
# 1604
if((unsigned long)s1 < (unsigned long)s3){
struct semaphore*tmp=s3;
s3=s1;s1=tmp;}
# 1608
if((unsigned long)s2 < (unsigned long)s3){
struct semaphore*tmp=s3;
s3=s2;s2=tmp;}}
# 1613
down(s1);}else{
if((unsigned long)s2 < (unsigned long)s3){
struct semaphore*tmp=s3;
s3=s2;s2=tmp;}}
# 1618
down(s2);
down(s3);}
# 1622
inline static void double_up(struct semaphore*s1,struct semaphore*s2){
# 1624
up(s1);
if(s1 != s2)
up(s2);}
# 1629
inline static void triple_up(struct semaphore*s1,struct semaphore*s2,struct semaphore*s3){
# 1633
up(s1);
if(s1 != s2)
up(s2);
up(s3);}
# 1639
inline static void double_lock(struct dentry*d1,struct dentry*d2){
# 1641
double_down(&(d1->d_inode)->i_sem,&(d2->d_inode)->i_sem);}
# 1644
inline static void double_unlock(struct dentry*d1,struct dentry*d2){
# 1646
double_up(&(d1->d_inode)->i_sem,&(d2->d_inode)->i_sem);
dput_R6147a8c7(d1);
dput_R6147a8c7(d2);}struct __user_cap_header_struct{__u32 version;int pid;};
# 32 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/capability.h"
typedef struct __user_cap_header_struct*cap_user_header_t;struct __user_cap_data_struct{__u32 effective;__u32 permitted;__u32 inheritable;};
# 37
typedef struct __user_cap_data_struct*cap_user_data_t;
# 55 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/capability.h"
typedef __u32 kernel_cap_t;
# 286 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/capability.h"
extern kernel_cap_t cap_bset_R59ab4080;
# 314 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/capability.h"
inline static kernel_cap_t cap_combine(kernel_cap_t a,kernel_cap_t b){
# 316
kernel_cap_t dest;
dest=a | b;
return dest;}
# 321
inline static kernel_cap_t cap_intersect(kernel_cap_t a,kernel_cap_t b){
# 323
kernel_cap_t dest;
dest=a & b;
return dest;}
# 328
inline static kernel_cap_t cap_drop(kernel_cap_t a,kernel_cap_t drop){
# 330
kernel_cap_t dest;
dest=a & ~ drop;
return dest;}
# 335
inline static kernel_cap_t cap_invert(kernel_cap_t c){
# 337
kernel_cap_t dest;
dest=~ c;
return dest;}struct linux_binprm{char buf[128U];struct page*page[32U];unsigned long p;int sh_bang;struct file*file;int e_uid;int e_gid;kernel_cap_t cap_inheritable;kernel_cap_t cap_permitted;kernel_cap_t cap_effective;int argc;int envc;char*filename;unsigned long loader;unsigned long exec;};struct linux_binfmt{struct linux_binfmt*next;struct module*module;int(*load_binary)(struct linux_binprm*,struct pt_regs*);int(*load_shlib)(struct file*);int(*core_dump)(long,struct pt_regs*,struct file*);unsigned long min_coredump;};
# 48 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/binfmts.h"
extern int register_binfmt_Rb872a22a(struct linux_binfmt*);
extern int unregister_binfmt_R58e8e4ec(struct linux_binfmt*);
# 51
extern int prepare_binprm_Rb02edd98(struct linux_binprm*);
extern void remove_arg_zero_Rc2cf83a3(struct linux_binprm*);
extern int search_binary_handler_R68040f78(struct linux_binprm*,struct pt_regs*);
extern int flush_old_exec_R8fef8b77(struct linux_binprm*);
extern int setup_arg_pages_R9f220f88(struct linux_binprm*);
extern int copy_strings(int,char**,struct linux_binprm*);
extern int copy_strings_kernel_Rdf4e0ea9(int,char**,struct linux_binprm*);
extern void compute_creds_R003bee8b(struct linux_binprm*);
extern int do_coredump(long,struct pt_regs*);
extern void set_binfmt_Rea68022f(struct linux_binfmt*);struct tms{clock_t tms_utime;clock_t tms_stime;clock_t tms_cutime;clock_t tms_cstime;};
# 37 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/timex.h"
typedef unsigned long long cycles_t;
# 39
extern cycles_t cacheflush_time;
# 41
inline static cycles_t get_cycles (void){
# 46
unsigned long long ret;
# 48
__asm__  volatile ("rdtsc":"=A"(ret));
return ret;}
# 53
extern unsigned long cpu_khz;struct timex{unsigned modes;long offset;long freq;long maxerror;long esterror;int status;long constant;long precision;long tolerance;struct timeval time;long tick;long ppsfreq;long jitter;int shift;long stabil;long jitcnt;long calcnt;long errcnt;long stbcnt;int : 32;int : 32;int : 32;int : 32;int : 32;int : 32;int : 32;int : 32;int : 32;int : 32;int : 32;int : 32;};
# 253 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/timex.h"
extern long tick;
extern int tickadj;
# 259
extern int time_state;
extern int time_status;
extern long time_offset;
extern long time_constant;
extern long time_tolerance;
extern long time_precision;
extern long time_maxerror;
extern long time_esterror;
# 268
extern long time_phase;
extern long time_freq;
extern long time_adj;
extern long time_reftime;
# 273
extern long time_adjust;
# 276
extern long pps_offset;
extern long pps_jitter;
extern long pps_freq;
extern long pps_stabil;
extern long pps_valid;
# 283
extern int pps_shift;
extern long pps_jitcnt;
extern long pps_calcnt;
extern long pps_errcnt;
extern long pps_stbcnt;struct rb_node_s{struct rb_node_s*rb_parent;int rb_color;struct rb_node_s*rb_right;struct rb_node_s*rb_left;};
# 100 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/rbtree.h"
typedef struct rb_node_s rb_node_t;struct rb_root_s{struct rb_node_s*rb_node;};
# 111
typedef struct rb_root_s rb_root_t;
# 121
extern void rb_insert_color_Raa2b5a22(rb_node_t*,rb_root_t*);
extern void rb_erase_Rda226a80(rb_node_t*,rb_root_t*);
# 124
inline static void rb_link_node(rb_node_t*node,rb_node_t*parent,rb_node_t**rb_link){
# 126
node->rb_parent=parent;
node->rb_color=0;
node->rb_left=(node->rb_right=(void*)0);
# 130
*rb_link=node;}struct _tuple49{void*segments;unsigned long cpuvalid;};
# 8 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/mmu.h"
typedef struct _tuple49 mm_context_t;
# 180 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/major.h"
inline static int scsi_blk_major(int m){
return(m == 8 || m >= 65 && m <= 71)|| m == 11;}
# 193 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/major.h"
inline static int ide_blk_major(int m){
# 195
return((((((((m == 3 || m == 22)|| m == 33)|| m == 34)|| m == 56)|| m == 57)|| m == 88)|| m == 89)|| m == 90)|| m == 91;}
# 6 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/termbits.h"
typedef unsigned char cc_t;
typedef unsigned speed_t;
typedef unsigned tcflag_t;struct termios{tcflag_t c_iflag;tcflag_t c_oflag;tcflag_t c_cflag;tcflag_t c_lflag;cc_t c_line;cc_t c_cc[19U];};struct winsize{unsigned short ws_row;unsigned short ws_col;unsigned short ws_xpixel;unsigned short ws_ypixel;};struct termio{unsigned short c_iflag;unsigned short c_oflag;unsigned short c_cflag;unsigned short c_lflag;unsigned char c_line;unsigned char c_cc[8U];};struct tty_driver{int magic;const char*driver_name;const char*name;int name_base;short major;short minor_start;short num;short type;short subtype;struct termios init_termios;int flags;int*refcount;struct proc_dir_entry*proc_entry;struct tty_driver*other;struct tty_struct**table;struct termios**termios;struct termios**termios_locked;void*driver_state;int(*open)(struct tty_struct*,struct file*);void(*close)(struct tty_struct*,struct file*);int(*write)(struct tty_struct*,int,const unsigned char*,int);void(*put_char)(struct tty_struct*,unsigned char);void(*flush_chars)(struct tty_struct*);int(*write_room)(struct tty_struct*);int(*chars_in_buffer)(struct tty_struct*);int(*ioctl)(struct tty_struct*,struct file*,unsigned,unsigned long);void(*set_termios)(struct tty_struct*,struct termios*);void(*throttle)(struct tty_struct*);void(*unthrottle)(struct tty_struct*);void(*stop)(struct tty_struct*);void(*start)(struct tty_struct*);void(*hangup)(struct tty_struct*);void(*break_ctl)(struct tty_struct*,int);void(*flush_buffer)(struct tty_struct*);void(*set_ldisc)(struct tty_struct*);void(*wait_until_sent)(struct tty_struct*,int);void(*send_xchar)(struct tty_struct*,char);int(*read_proc)(char*,char**,off_t,int,int*,void*);int(*write_proc)(struct file*,const char*,unsigned long,void*);struct tty_driver*next;struct tty_driver*prev;};struct tty_ldisc{int magic;char*name;int num;int flags;int(*open)(struct tty_struct*);void(*close)(struct tty_struct*);void(*flush_buffer)(struct tty_struct*);ssize_t(*chars_in_buffer)(struct tty_struct*);ssize_t(*read)(struct tty_struct*,struct file*,unsigned char*,size_t);ssize_t(*write)(struct tty_struct*,struct file*,const unsigned char*,size_t);int(*ioctl)(struct tty_struct*,struct file*,unsigned,unsigned long);void(*set_termios)(struct tty_struct*,struct termios*);unsigned(*poll)(struct tty_struct*,struct file*,struct poll_table_struct*);void(*receive_buf)(struct tty_struct*,const unsigned char*,char*,int);int(*receive_room)(struct tty_struct*);void(*write_wakeup)(struct tty_struct*);};struct screen_info_R7e239247{u8 orig_x;u8 orig_y;u16 dontuse1;u16 orig_video_page;u8 orig_video_mode;u8 orig_video_cols;u16 unused2;u16 orig_video_ega_bx;u16 unused3;u8 orig_video_lines;u8 orig_video_isVGA;u16 orig_video_points;u16 lfb_width;u16 lfb_height;u16 lfb_depth;u32 lfb_base;u32 lfb_size;u16 dontuse2;u16 dontuse3;u16 lfb_linelength;u8 red_size;u8 red_pos;u8 green_size;u8 green_pos;u8 blue_size;u8 blue_pos;u8 rsvd_size;u8 rsvd_pos;u16 vesapm_seg;u16 vesapm_off;u16 pages;};
# 95 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/tty.h"
extern struct screen_info_R7e239247 screen_info_R7e239247;struct tty_flip_buffer{struct tq_struct tqueue;struct semaphore pty_sem;char*char_buf_ptr;unsigned char*flag_buf_ptr;int count;int buf_num;unsigned char char_buf[1024U];char flag_buf[1024U];unsigned char slop[4U];};struct tty_struct{int magic;struct tty_driver driver;struct tty_ldisc ldisc;struct termios*termios;struct termios*termios_locked;int pgrp;int session;kdev_t device;unsigned long flags;int count;struct winsize winsize;unsigned char stopped: 1;unsigned char hw_stopped: 1;unsigned char flow_stopped: 1;unsigned char packet: 1;unsigned char low_latency: 1;unsigned char warned: 1;unsigned char ctrl_status;struct tty_struct*link;struct fasync_struct*fasync;struct tty_flip_buffer flip;int max_flip_cnt;int alt_speed;wait_queue_head_t write_wait;wait_queue_head_t read_wait;struct tq_struct tq_hangup;void*disc_data;void*driver_data;struct list_head tty_files;unsigned column;unsigned char lnext: 1;unsigned char erasing: 1;unsigned char raw: 1;unsigned char real_raw: 1;unsigned char icanon: 1;unsigned char closing: 1;unsigned short minimum_to_wake;unsigned long overrun_time;int num_overrun;unsigned long process_char_map[256U / (8U * sizeof(unsigned long))];char*read_buf;int read_head;int read_tail;int read_cnt;unsigned long read_flags[4096U / (8U * sizeof(unsigned long))];int canon_data;unsigned long canon_head;unsigned canon_column;struct semaphore atomic_read;struct semaphore atomic_write;spinlock_t read_lock;struct tq_struct SAK_tq;};
# 341 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/tty.h"
extern void tty_write_flush(struct tty_struct*);
# 343
extern struct termios tty_std_termios_R89ac5254;
extern struct tty_ldisc ldiscs[1U];
extern int fg_console_R4e6e8ea7;extern int last_console;extern int want_console;
# 347
extern int kmsg_redirect;
# 349
extern void con_init (void);
extern void console_init (void);
# 352
extern int lp_init (void);
extern int pty_init (void);
extern void tty_init (void);
extern int mxser_init (void);
extern int moxa_init (void);
extern int ip2_init (void);
extern int pcxe_init (void);
extern int pc_init (void);
extern int vcs_init (void);
extern int rp_init (void);
extern int cy_init (void);
extern int stl_init (void);
extern int stli_init (void);
extern int specialix_init (void);
extern int espserial_init (void);
extern int macserial_init (void);
extern int a2232board_init (void);
# 370
extern int tty_paranoia_check(struct tty_struct*,kdev_t,const char*);
# 372
extern char*tty_name(struct tty_struct*,char*);
extern void tty_wait_until_sent_R0bda691e(struct tty_struct*,long);
extern int tty_check_change_R6284419e(struct tty_struct*);
extern void stop_tty(struct tty_struct*);
extern void start_tty(struct tty_struct*);
extern int tty_register_ldisc_R9d5e7f72(int,struct tty_ldisc*);
extern int tty_register_driver_Re1286c40(struct tty_driver*);
extern int tty_unregister_driver_R3ae1fea3(struct tty_driver*);
extern void tty_register_devfs_Rb4ef618a(struct tty_driver*,unsigned,unsigned);
# 382
extern void tty_unregister_devfs_R0b04333b(struct tty_driver*,unsigned);
extern int tty_read_raw_data(struct tty_struct*,unsigned char*,int);
# 385
extern void tty_write_message(struct tty_struct*,char*);
# 387
extern int is_orphaned_pgrp(int);
extern int is_ignored(int);
extern int tty_signal(int,struct tty_struct*);
extern void tty_hangup_R128ade76(struct tty_struct*);
extern void tty_vhangup(struct tty_struct*);
extern void tty_unhangup(struct file*);
extern int tty_hung_up_p_Reac5f0a5(struct file*);
extern void do_SAK_Re7f3ea18(struct tty_struct*);
extern void disassociate_ctty(int);
extern void tty_flip_buffer_push_R4f8ce521(struct tty_struct*);
extern int tty_get_baud_rate_Rf2519906(struct tty_struct*);
# 400
extern struct tty_ldisc tty_ldisc_N_TTY;
# 403
extern int n_tty_ioctl_Redbad4cc(struct tty_struct*,struct file*,unsigned,unsigned long);
# 408
extern void serial_console_init (void);
# 412
extern int pcxe_open(struct tty_struct*,struct file*);
# 416
extern void console_print_Rb714a981(const char*);
# 420
extern int vt_ioctl(struct tty_struct*,struct file*,unsigned,unsigned long);struct ipc_perm{__kernel_key_t key;__kernel_uid_t uid;__kernel_gid_t gid;__kernel_uid_t cuid;__kernel_gid_t cgid;__kernel_mode_t mode;unsigned short seq;};struct ipc64_perm{__kernel_key_t key;__kernel_uid32_t uid;__kernel_gid32_t gid;__kernel_uid32_t cuid;__kernel_gid32_t cgid;__kernel_mode_t mode;unsigned short __pad1;unsigned short seq;unsigned short __pad2;unsigned long __unused1;unsigned long __unused2;};struct kern_ipc_perm{key_t key;uid_t uid;gid_t gid;uid_t cuid;gid_t cgid;mode_t mode;unsigned long seq;};struct semid_ds{struct ipc_perm sem_perm;__kernel_time_t sem_otime;__kernel_time_t sem_ctime;struct sem*sem_base;struct sem_queue*sem_pending;struct sem_queue**sem_pending_last;struct sem_undo*undo;unsigned short sem_nsems;};struct semid64_ds{struct ipc64_perm sem_perm;__kernel_time_t sem_otime;unsigned long __unused1;__kernel_time_t sem_ctime;unsigned long __unused2;unsigned long sem_nsems;unsigned long __unused3;unsigned long __unused4;};struct sembuf{unsigned short sem_num;short sem_op;short sem_flg;};union semun{int val;struct semid_ds*buf;unsigned short*array;struct seminfo*__buf;void*__pad;};struct seminfo{int semmap;int semmni;int semmns;int semmnu;int semmsl;int semopm;int semume;int semusz;int semvmx;int semaem;};struct sem{int semval;int sempid;};struct sem_array{struct kern_ipc_perm sem_perm;time_t sem_otime;time_t sem_ctime;struct sem*sem_base;struct sem_queue*sem_pending;struct sem_queue**sem_pending_last;struct sem_undo*undo;unsigned long sem_nsems;};struct sem_queue{struct sem_queue*next;struct sem_queue**prev;struct task_struct*sleeper;struct sem_undo*undo;int pid;int status;struct sem_array*sma;int id;struct sembuf*sops;int nsops;int alter;};struct sem_undo{struct sem_undo*proc_next;struct sem_undo*id_next;int semid;short*semadj;};
# 124 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sem.h"
extern long sys_semget(key_t,int,int) __attribute__((regparm(0))) ;
extern long sys_semop(int,struct sembuf*,unsigned) __attribute__((regparm(0))) ;
extern long sys_semctl(int,int,int,union semun) __attribute__((regparm(0))) ;struct siginfo;
# 17 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/signal.h"
typedef unsigned long old_sigset_t;struct _tuple50{unsigned long sig[2U];};
# 19
typedef struct _tuple50 sigset_t;
# 129 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/signal.h"
typedef void(*__sighandler_t)(int);struct old_sigaction{__sighandler_t sa_handler;old_sigset_t sa_mask;unsigned long sa_flags;void(*sa_restorer)(void);};struct sigaction{__sighandler_t sa_handler;unsigned long sa_flags;void(*sa_restorer)(void);sigset_t sa_mask;};struct k_sigaction{struct sigaction sa;};struct sigaltstack{void*ss_sp;int ss_flags;size_t ss_size;};
# 171 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/signal.h"
typedef struct sigaltstack stack_t;
# 182
inline static void sigaddset(sigset_t*set,int _sig){
# 184
__asm__("btsl %1,%0":"=m"(*set):"Ir"(_sig - 1) :"cc");}
# 187
inline static void sigdelset(sigset_t*set,int _sig){
# 189
__asm__("btrl %1,%0":"=m"(*set):"Ir"(_sig - 1) :"cc");}
# 192
inline static int __const_sigismember(sigset_t*set,int _sig){
# 194
unsigned long sig=_sig - 1;
return 1 & (set->sig)[sig / 32]>> sig % 32;}
# 198
inline static int __gen_sigismember(sigset_t*set,int _sig){
# 200
int ret;
__asm__("btl %2,%1\n\tsbbl %0,%0":"=r"(ret):"m"(*set),"Ir"(_sig - 1) :"cc");
# 203
return ret;}
# 213 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/signal.h"
inline static int sigfindinword(unsigned long word){
# 215
__asm__("bsfl %1,%0":"=r"(word):"rm"(word) :"cc");
return word;}union sigval{int sival_int;void*sival_ptr;};
# 8 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/siginfo.h"
typedef union sigval sigval_t;struct _tuple51{pid_t _pid;uid_t _uid;};struct _tuple52{unsigned _timer1;unsigned _timer2;};struct _tuple53{pid_t _pid;uid_t _uid;sigval_t _sigval;};struct _tuple54{pid_t _pid;uid_t _uid;int _status;clock_t _utime;clock_t _stime;};struct _tuple55{void*_addr;};struct _tuple56{int _band;int _fd;};union _tuple57{int _pad[128U / sizeof(int)- 3U];struct _tuple51 _kill;struct _tuple52 _timer;struct _tuple53 _rt;struct _tuple54 _sigchld;struct _tuple55 _sigfault;struct _tuple56 _sigpoll;};struct siginfo{int si_signo;int si_errno;int si_code;union _tuple57 _sifields;};
# 16
typedef struct siginfo siginfo_t;struct _tuple58{void(*_function)(sigval_t);void*_attribute;};union _tuple59{int _pad[64U / sizeof(int)- 3U];struct _tuple58 _sigev_thread;};struct sigevent{sigval_t sigev_value;int sigev_signo;int sigev_notify;union _tuple59 _sigev_un;};
# 200 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/siginfo.h"
typedef struct sigevent sigevent_t;
# 220
inline static void copy_siginfo(siginfo_t*to,siginfo_t*from){
# 222
if(from->si_code < 0)
__builtin_constant_p(sizeof(siginfo_t))?__constant_memcpy(to,from,sizeof(siginfo_t)): __memcpy(to,from,sizeof(siginfo_t));else{
# 226
__builtin_constant_p(3 * sizeof(int)+ sizeof((from->_sifields)._sigchld))?__constant_memcpy(to,from,3 * sizeof(int)+ sizeof((from->_sifields)._sigchld)): __memcpy(to,from,3 * sizeof(int)+ sizeof((from->_sifields)._sigchld));}}
# 229
extern int copy_siginfo_to_user(siginfo_t*,siginfo_t*);struct sigqueue{struct sigqueue*next;siginfo_t info;};struct sigpending{struct sigqueue*head;struct sigqueue**tail;sigset_t signal;};
# 108 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/signal.h"
inline static void sigorsets(sigset_t*r,const sigset_t*a,const sigset_t*b){unsigned long a0;unsigned long a1;unsigned long a2;unsigned long a3;unsigned long b0;unsigned long b1;unsigned long b2;unsigned long b3;unsigned long i;for(i=0;i < (64 / 32)/ 4;++ i){a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];a2=(a->sig)[4 * i + 2];a3=(a->sig)[4 * i + 3];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];b2=(b->sig)[4 * i + 2];b3=(b->sig)[4 * i + 3];(r->sig)[4 * i + 0]=a0 | b0;(r->sig)[4 * i + 1]=a1 | b1;(r->sig)[4 * i + 2]=a2 | b2;(r->sig)[4 * i + 3]=a3 | b3;}switch((64 / 32)% 4){case 3: a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];a2=(a->sig)[4 * i + 2];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];b2=(b->sig)[4 * i + 2];(r->sig)[4 * i + 0]=a0 | b0;(r->sig)[4 * i + 1]=a1 | b1;(r->sig)[4 * i + 2]=a2 | b2;break;case 2: a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];(r->sig)[4 * i + 0]=a0 | b0;(r->sig)[4 * i + 1]=a1 | b1;break;case 1: a0=(a->sig)[4 * i + 0];b0=(b->sig)[4 * i + 0];(r->sig)[4 * i + 0]=a0 | b0;break;}}
# 111
inline static void sigandsets(sigset_t*r,const sigset_t*a,const sigset_t*b){unsigned long a0;unsigned long a1;unsigned long a2;unsigned long a3;unsigned long b0;unsigned long b1;unsigned long b2;unsigned long b3;unsigned long i;for(i=0;i < (64 / 32)/ 4;++ i){a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];a2=(a->sig)[4 * i + 2];a3=(a->sig)[4 * i + 3];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];b2=(b->sig)[4 * i + 2];b3=(b->sig)[4 * i + 3];(r->sig)[4 * i + 0]=a0 & b0;(r->sig)[4 * i + 1]=a1 & b1;(r->sig)[4 * i + 2]=a2 & b2;(r->sig)[4 * i + 3]=a3 & b3;}switch((64 / 32)% 4){case 3: a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];a2=(a->sig)[4 * i + 2];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];b2=(b->sig)[4 * i + 2];(r->sig)[4 * i + 0]=a0 & b0;(r->sig)[4 * i + 1]=a1 & b1;(r->sig)[4 * i + 2]=a2 & b2;break;case 2: a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];(r->sig)[4 * i + 0]=a0 & b0;(r->sig)[4 * i + 1]=a1 & b1;break;case 1: a0=(a->sig)[4 * i + 0];b0=(b->sig)[4 * i + 0];(r->sig)[4 * i + 0]=a0 & b0;break;}}
# 114
inline static void signandsets(sigset_t*r,const sigset_t*a,const sigset_t*b){unsigned long a0;unsigned long a1;unsigned long a2;unsigned long a3;unsigned long b0;unsigned long b1;unsigned long b2;unsigned long b3;unsigned long i;for(i=0;i < (64 / 32)/ 4;++ i){a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];a2=(a->sig)[4 * i + 2];a3=(a->sig)[4 * i + 3];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];b2=(b->sig)[4 * i + 2];b3=(b->sig)[4 * i + 3];(r->sig)[4 * i + 0]=a0 & ~ b0;(r->sig)[4 * i + 1]=a1 & ~ b1;(r->sig)[4 * i + 2]=a2 & ~ b2;(r->sig)[4 * i + 3]=a3 & ~ b3;}switch((64 / 32)% 4){case 3: a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];a2=(a->sig)[4 * i + 2];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];b2=(b->sig)[4 * i + 2];(r->sig)[4 * i + 0]=a0 & ~ b0;(r->sig)[4 * i + 1]=a1 & ~ b1;(r->sig)[4 * i + 2]=a2 & ~ b2;break;case 2: a0=(a->sig)[4 * i + 0];a1=(a->sig)[4 * i + 1];b0=(b->sig)[4 * i + 0];b1=(b->sig)[4 * i + 1];(r->sig)[4 * i + 0]=a0 & ~ b0;(r->sig)[4 * i + 1]=a1 & ~ b1;break;case 1: a0=(a->sig)[4 * i + 0];b0=(b->sig)[4 * i + 0];(r->sig)[4 * i + 0]=a0 & ~ b0;break;}}
# 140 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/signal.h"
inline static void signotset(sigset_t*set){unsigned long i;for(i=0;i < (64 / 32)/ 4;++ i){(set->sig)[4 * i + 0]=~(set->sig)[4 * i + 0];(set->sig)[4 * i + 1]=~(set->sig)[4 * i + 1];(set->sig)[4 * i + 2]=~(set->sig)[4 * i + 2];(set->sig)[4 * i + 3]=~(set->sig)[4 * i + 3];}switch((64 / 32)% 4){case 3:(set->sig)[4 * i + 2]=~(set->sig)[4 * i + 2];case 2:(set->sig)[4 * i + 1]=~(set->sig)[4 * i + 1];case 1:(set->sig)[4 * i + 0]=~(set->sig)[4 * i + 0];}}
# 145
inline static void sigemptyset(sigset_t*set){
# 147
switch(64 / 32){default:
# 149
 __builtin_constant_p(0)?__builtin_constant_p(sizeof(sigset_t))?__constant_c_and_count_memset(set,16843009U * (unsigned char)0,sizeof(sigset_t)): __constant_c_memset(set,16843009U * (unsigned char)0,sizeof(sigset_t)):(__builtin_constant_p(sizeof(sigset_t))?__memset_generic(set,0,sizeof(sigset_t)): __memset_generic(set,0,sizeof(sigset_t)));
break;case 2:
(set->sig)[1]=0;case 1:
(set->sig)[0]=0;
break;}}
# 157
inline static void sigfillset(sigset_t*set){
# 159
switch(64 / 32){default:
# 161
 __builtin_constant_p(- 1)?__builtin_constant_p(sizeof(sigset_t))?__constant_c_and_count_memset(set,16843009U * (unsigned char)(- 1),sizeof(sigset_t)): __constant_c_memset(set,16843009U * (unsigned char)(- 1),sizeof(sigset_t)):(__builtin_constant_p(sizeof(sigset_t))?__memset_generic(set,- 1,sizeof(sigset_t)): __memset_generic(set,- 1,sizeof(sigset_t)));
break;case 2:
(set->sig)[1]=- 1;case 1:
(set->sig)[0]=- 1;
break;}}
# 169
extern char*render_sigset_t(sigset_t*,char*);
# 173
inline static void sigaddsetmask(sigset_t*set,unsigned long mask){
# 175
(set->sig)[0]|=mask;}
# 178
inline static void sigdelsetmask(sigset_t*set,unsigned long mask){
# 180
(set->sig)[0]&=~ mask;}
# 183
inline static int sigtestsetmask(sigset_t*set,unsigned long mask){
# 185
return((set->sig)[0]& mask)!= 0;}
# 188
inline static void siginitset(sigset_t*set,unsigned long mask){
# 190
(set->sig)[0]=mask;
switch(64 / 32){default:
# 193
 __builtin_constant_p(0)?__builtin_constant_p(sizeof(long)* (64 / 32 - 1))?__constant_c_and_count_memset(&(set->sig)[1],16843009U * (unsigned char)0,sizeof(long)* (64 / 32 - 1)): __constant_c_memset(&(set->sig)[1],16843009U * (unsigned char)0,sizeof(long)* (64 / 32 - 1)):(__builtin_constant_p(sizeof(long)* (64 / 32 - 1))?__memset_generic(&(set->sig)[1],0,sizeof(long)* (64 / 32 - 1)): __memset_generic(&(set->sig)[1],0,sizeof(long)* (64 / 32 - 1)));
break;case 2:
(set->sig)[1]=0;case 1:
;}}
# 200
inline static void siginitsetinv(sigset_t*set,unsigned long mask){
# 202
(set->sig)[0]=~ mask;
switch(64 / 32){default:
# 205
 __builtin_constant_p(- 1)?__builtin_constant_p(sizeof(long)* (64 / 32 - 1))?__constant_c_and_count_memset(&(set->sig)[1],16843009U * (unsigned char)(- 1),sizeof(long)* (64 / 32 - 1)): __constant_c_memset(&(set->sig)[1],16843009U * (unsigned char)(- 1),sizeof(long)* (64 / 32 - 1)):(__builtin_constant_p(sizeof(long)* (64 / 32 - 1))?__memset_generic(&(set->sig)[1],- 1,sizeof(long)* (64 / 32 - 1)): __memset_generic(&(set->sig)[1],- 1,sizeof(long)* (64 / 32 - 1)));
break;case 2:
(set->sig)[1]=- 1;case 1:
;}}
# 214
inline static void init_sigpending(struct sigpending*sig){
# 216
sigemptyset(& sig->signal);
sig->head=(void*)0;
sig->tail=& sig->head;}
# 221
extern long do_sigpending(void*,unsigned long);
# 6 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/securebits.h"
extern unsigned securebits_Rabe77484;struct fs_struct{atomic_t count;rwlock_t lock;int umask;struct dentry*root;struct dentry*pwd;struct dentry*altroot;struct vfsmount*rootmnt;struct vfsmount*pwdmnt;struct vfsmount*altrootmnt;};
# 20 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/fs_struct.h"
extern void exit_fs_Raa156493(struct task_struct*);
extern void set_fs_altroot (void);
# 28
inline static void set_fs_root(struct fs_struct*fs,struct vfsmount*mnt,struct dentry*dentry){
# 32
struct dentry*old_root;
struct vfsmount*old_rootmnt;
(void)& fs->lock;
old_root=fs->root;
old_rootmnt=fs->rootmnt;
fs->rootmnt=mntget(mnt);
fs->root=dget(dentry);
do{;}while(0);
if(old_root){
dput_R6147a8c7(old_root);
mntput(old_rootmnt);}}
# 51
inline static void set_fs_pwd(struct fs_struct*fs,struct vfsmount*mnt,struct dentry*dentry){
# 55
struct dentry*old_pwd;
struct vfsmount*old_pwdmnt;
(void)& fs->lock;
old_pwd=fs->pwd;
old_pwdmnt=fs->pwdmnt;
fs->pwdmnt=mntget(mnt);
fs->pwd=dget(dentry);
do{;}while(0);
if(old_pwd){
dput_R6147a8c7(old_pwd);
mntput(old_pwdmnt);}}
# 69
extern struct fs_struct*copy_fs_struct(struct fs_struct*);
extern void put_fs_struct(struct fs_struct*);struct exec_domain;
# 59 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern unsigned long avenrun[1U];
# 76 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern int nr_running_Rca3c6d78;extern int nr_threads;
extern int last_pid;struct rusage{struct timeval ru_utime;struct timeval ru_stime;long ru_maxrss;long ru_ixrss;long ru_idrss;long ru_isrss;long ru_minflt;long ru_majflt;long ru_nswap;long ru_inblock;long ru_oublock;long ru_msgsnd;long ru_msgrcv;long ru_nsignals;long ru_nvcsw;long ru_nivcsw;};struct rlimit{unsigned long rlim_cur;unsigned long rlim_max;};struct sched_param{int sched_priority;};
# 134 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern rwlock_t tasklist_lock_R999c80a2;
extern spinlock_t runqueue_lock;
extern spinlock_t mmlist_lock;
# 138
extern void sched_init (void);
extern void init_idle (void);
extern void show_state (void);
extern void cpu_init (void);
extern void trap_init (void);
extern void update_process_times(int);
extern void update_one_process(struct task_struct*,unsigned long,unsigned long,int);
# 148
extern long schedule_timeout_R17d59d01(long) __attribute__((regparm(3))) ;
extern void schedule_R4292364c (void) __attribute__((regparm(0))) ;
# 151
extern int schedule_task_R2d6c3d04(struct tq_struct*);
extern void flush_scheduled_tasks_R7c3242b4 (void);
extern int start_context_thread (void);
extern int current_is_keventd (void);struct namespace;struct files_struct{atomic_t count;rwlock_t file_lock;int max_fds;int max_fdset;int next_fd;struct file**fd;fd_set*close_on_exec;fd_set*open_fds;fd_set close_on_exec_init;fd_set open_fds_init;struct file*fd_array[32U];};
# 204 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern int max_map_count;struct mm_struct{struct vm_area_struct*mmap;rb_root_t mm_rb;struct vm_area_struct*mmap_cache;pgd_t*pgd;atomic_t mm_users;atomic_t mm_count;int map_count;struct rw_semaphore mmap_sem;spinlock_t page_table_lock;struct list_head mmlist;unsigned long start_code;unsigned long end_code;unsigned long start_data;unsigned long end_data;unsigned long start_brk;unsigned long brk;unsigned long start_stack;unsigned long arg_start;unsigned long arg_end;unsigned long env_start;unsigned long env_end;unsigned long rss;unsigned long total_vm;unsigned long locked_vm;unsigned long def_flags;unsigned long cpu_vm_mask;unsigned long swap_address;unsigned dumpable: 1;mm_context_t context;};
# 236
extern int mmlist_nr;struct signal_struct{atomic_t count;struct k_sigaction action[64U];spinlock_t siglock;};struct user_struct{atomic_t __count;atomic_t processes;atomic_t files;struct user_struct*next;struct user_struct**pprev;uid_t uid;};
# 280 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern struct user_struct root_user;struct task_struct{long state;unsigned long flags;int sigpending;mm_segment_t addr_limit;struct exec_domain*exec_domain;long need_resched;unsigned long ptrace;int lock_depth;long counter;long nice;unsigned long policy;struct mm_struct*mm;int processor;unsigned long cpus_runnable;unsigned long cpus_allowed;struct list_head run_list;unsigned long sleep_time;struct task_struct*next_task;struct task_struct*prev_task;struct mm_struct*active_mm;struct list_head local_pages;unsigned allocation_order;unsigned nr_local_pages;struct linux_binfmt*binfmt;int exit_code;int exit_signal;int pdeath_signal;unsigned long personality;int did_exec: 1;unsigned task_dumpable: 1;pid_t pid;pid_t pgrp;pid_t tty_old_pgrp;pid_t session;pid_t tgid;int leader;struct task_struct*p_opptr;struct task_struct*p_pptr;struct task_struct*p_cptr;struct task_struct*p_ysptr;struct task_struct*p_osptr;struct list_head thread_group;struct task_struct*pidhash_next;struct task_struct**pidhash_pprev;wait_queue_head_t wait_chldexit;struct completion*vfork_done;unsigned long rt_priority;unsigned long it_real_value;unsigned long it_prof_value;unsigned long it_virt_value;unsigned long it_real_incr;unsigned long it_prof_incr;unsigned long it_virt_incr;struct timer_list real_timer;struct tms times;unsigned long start_time;long per_cpu_utime[1U];long per_cpu_stime[1U];unsigned long min_flt;unsigned long maj_flt;unsigned long nswap;unsigned long cmin_flt;unsigned long cmaj_flt;unsigned long cnswap;int swappable: 1;uid_t uid;uid_t euid;uid_t suid;uid_t fsuid;gid_t gid;gid_t egid;gid_t sgid;gid_t fsgid;int ngroups;gid_t groups[32U];kernel_cap_t cap_effective;kernel_cap_t cap_inheritable;kernel_cap_t cap_permitted;int keep_capabilities: 1;struct user_struct*user;struct rlimit rlim[11U];unsigned short used_math;char comm[16U];int link_count;int total_link_count;struct tty_struct*tty;unsigned locks;struct sem_undo*semundo;struct sem_queue*semsleeping;struct thread_struct thread;struct fs_struct*fs;struct files_struct*files;struct namespace*namespace;spinlock_t sigmask_lock;struct signal_struct*sig;sigset_t blocked;struct sigpending pending;unsigned long sas_ss_sp;size_t sas_ss_size;int(*notifier)(void*);void*notifier_data;sigset_t*notifier_mask;u32 parent_exec_id;u32 self_exec_id;spinlock_t alloc_lock;void*journal_info;};
# 460 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern void yield_R760a0f4f (void);
# 465
extern struct exec_domain default_exec_domain;union task_union{struct task_struct task;unsigned long stack[(2048U * sizeof(long))/ sizeof(long)];};
# 524 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern union task_union init_task_union_R36ade9eb;
# 526
extern struct mm_struct init_mm_Rfc0aa755;
extern struct task_struct*init_tasks[1U];
# 531
extern struct task_struct*pidhash_Re533f106[1024U];
# 535
inline static void hash_pid(struct task_struct*p){
# 537
struct task_struct**htable=& pidhash_Re533f106[(p->pid >> 8 ^ p->pid)& (4096 >> 2)- 1];
# 539
if((p->pidhash_next=*htable)!= (void*)0)
(*htable)->pidhash_pprev=& p->pidhash_next;
*htable=p;
p->pidhash_pprev=htable;}
# 545
inline static void unhash_pid(struct task_struct*p){
# 547
if(p->pidhash_next)
(p->pidhash_next)->pidhash_pprev=p->pidhash_pprev;
*p->pidhash_pprev=p->pidhash_next;}
# 552
inline static struct task_struct*find_task_by_pid(int pid){
# 554
struct task_struct*p;struct task_struct**htable=& pidhash_Re533f106[(pid >> 8 ^ pid)& (4096 >> 2)- 1];
# 556
for(p=*htable;p && p->pid != pid;p=p->pidhash_next){
;}
# 559
return p;}
# 564
inline static void task_set_cpu(struct task_struct*tsk,unsigned cpu){
# 566
tsk->processor=cpu;
tsk->cpus_runnable=1U << cpu;}
# 570
inline static void task_release_cpu(struct task_struct*tsk){
# 572
tsk->cpus_runnable=~ 0U;}
# 576
extern struct user_struct*alloc_uid(uid_t);
extern void free_uid(struct user_struct*);
# 6 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/current.h"
inline static struct task_struct*get_current (void){
# 8
struct task_struct*current;
__asm__("andl %%esp,%0; ":"=r"(current):"0"(~ 8191U));
return current;}
# 581 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern volatile unsigned long jiffies_R0da02d67;
extern unsigned long itimer_ticks;
extern unsigned long itimer_next;
extern struct timeval xtime_Rf31ddf83;
extern void do_timer(struct pt_regs*);
# 587
extern unsigned*prof_buffer;
extern unsigned long prof_len;
extern unsigned long prof_shift;
# 593
extern void __wake_up_Rb76c5f1e(wait_queue_head_t*,unsigned,int) __attribute__((regparm(3))) ;
extern void __wake_up_sync_R0231d9ea(wait_queue_head_t*,unsigned,int) __attribute__((regparm(3))) ;
extern void sleep_on_Re0679a3f(wait_queue_head_t*) __attribute__((regparm(3))) ;
extern long sleep_on_timeout_R75c8e394(wait_queue_head_t*,long) __attribute__((regparm(3))) ;
# 598
extern void interruptible_sleep_on_R7e4f89c3(wait_queue_head_t*) __attribute__((regparm(3))) ;
extern long interruptible_sleep_on_timeout_R407a28d8(wait_queue_head_t*,long) __attribute__((regparm(3))) ;
# 601
extern int wake_up_process_R6ca6917c(struct task_struct*) __attribute__((regparm(3))) ;
# 613 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
extern long sys_wait4(pid_t,unsigned*,int,struct rusage*) __attribute__((regparm(0))) ;
# 615
extern int in_group_p_Rc3cf1128(gid_t);
extern int in_egroup_p_Rd8a2ab95(gid_t);
# 618
extern void proc_caches_init (void);
extern void flush_signals_R2789027a(struct task_struct*);
extern void flush_signal_handlers(struct task_struct*);
extern void sig_exit(int,int,struct siginfo*);
extern int dequeue_signal_R8e39319b(sigset_t*,siginfo_t*);
extern void block_all_signals_R4b34fbf5(int(*)(void*),void*,sigset_t*);
# 625
extern void unblock_all_signals_R0a2487e0 (void);
extern int send_sig_info_R5976e04d(int,struct siginfo*,struct task_struct*);
extern int force_sig_info_R5f0ffa38(int,struct siginfo*,struct task_struct*);
extern int kill_pg_info_R8e2d4990(int,struct siginfo*,pid_t);
extern int kill_sl_info_R1988d21e(int,struct siginfo*,pid_t);
extern int kill_proc_info_Rfb68b264(int,struct siginfo*,pid_t);
extern void notify_parent_Rfa1ff47e(struct task_struct*,int);
extern void do_notify_parent(struct task_struct*,int);
extern void force_sig_R08293dd4(int,struct task_struct*);
extern int send_sig_R725ceb45(int,struct task_struct*,int);
extern int kill_pg_R38f29719(pid_t,int,int);
extern int kill_sl_Rfba12fd0(pid_t,int,int);
extern int kill_proc_R932da67e(pid_t,int,int);
extern int do_sigaction(int,const struct k_sigaction*,struct k_sigaction*);
extern int do_sigaltstack(const stack_t*,stack_t*,unsigned long);
# 641
inline static int signal_pending(struct task_struct*p){
# 643
return p->sigpending != 0;}
# 650
inline static int has_pending_signals(sigset_t*signal,sigset_t*blocked){
# 652
unsigned long ready;
long i;
# 655
switch(64 / 32){default:
# 657
 for((i=64 / 32,ready=0);-- i >= 0;1){
ready |=(signal->sig)[i]& ~(blocked->sig)[i];}
break;case 4:
# 661
 ready=(signal->sig)[3]& ~(blocked->sig)[3];
ready |=(signal->sig)[2]& ~(blocked->sig)[2];
ready |=(signal->sig)[1]& ~(blocked->sig)[1];
ready |=(signal->sig)[0]& ~(blocked->sig)[0];
break;case 2:
# 667
 ready=(signal->sig)[1]& ~(blocked->sig)[1];
ready |=(signal->sig)[0]& ~(blocked->sig)[0];
break;case 1:
# 671
 ready=(signal->sig)[0]& ~(blocked->sig)[0];}
# 673
return ready != 0;}
# 680
inline static void recalc_sigpending_R7eb41f67(struct task_struct*t){
# 682
t->sigpending=has_pending_signals(&(t->pending).signal,& t->blocked);}
# 687
inline static int on_sig_stack(unsigned long sp){
# 689
return sp - (get_current())->sas_ss_sp < (get_current())->sas_ss_size;}
# 692
inline static int sas_ss_flags(unsigned long sp){
# 694
return(get_current())->sas_ss_size == 0?2:(
on_sig_stack(sp)?1: 0);}
# 698
extern int request_irq_R0c60f2e0(unsigned,void(*)(int,void*,struct pt_regs*),unsigned long,const char*,void*);
# 701
extern void free_irq_Rf20dabd8(unsigned,void*);
# 717 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
inline static int suser (void){
# 719
if(!(1 << 0 + 1 & 0?1 << 0 & 0: 1 << 0 & securebits_Rabe77484)&&(get_current())->euid == 0){
(get_current())->flags |=256;
return 1;}
# 723
return 0;}
# 726
inline static int fsuser (void){
# 728
if(!(1 << 0 + 1 & 0?1 << 0 & 0: 1 << 0 & securebits_Rabe77484)&&(get_current())->fsuid == 0){
(get_current())->flags |=256;
return 1;}
# 732
return 0;}
# 741
inline static int capable(int cap){
# 744
if((get_current())->cap_effective & 1 << cap){
# 749
(get_current())->flags |=256;
return 1;}
# 752
return 0;}
# 758
extern struct mm_struct*mm_alloc (void);
# 760
extern struct mm_struct*start_lazy_tlb (void);
extern void end_lazy_tlb(struct mm_struct*);
# 764
extern void __mmdrop(struct mm_struct*) __attribute__((regparm(3))) ;
inline static void mmdrop(struct mm_struct*mm){
# 767
if(atomic_dec_and_test(& mm->mm_count))
__mmdrop(mm);}
# 772
extern void mmput(struct mm_struct*);
# 774
extern void mm_release (void);
# 779
extern struct file**alloc_fd_array(int);
extern int expand_fd_array(struct files_struct*,int);
extern void free_fd_array(struct file**,int);
# 783
extern fd_set*alloc_fdset(int);
extern int expand_fdset(struct files_struct*,int);
extern void free_fdset(fd_set*,int);
# 787
extern int copy_thread(int,unsigned long,unsigned long,unsigned long,struct task_struct*,struct pt_regs*);
extern void flush_thread (void);
extern void exit_thread (void);
# 791
extern void exit_mm_R5ecc29e0(struct task_struct*);
extern void exit_files_R8f1bf24b(struct task_struct*);
extern void exit_sighand_Ra5e250fc(struct task_struct*);
# 795
extern void reparent_to_init_Rec6158d0 (void);
extern void daemonize_Rd66a354a (void);
# 798
extern int do_execve_R9c62098f(char*,char**,char**,struct pt_regs*);
extern int do_fork(unsigned long,unsigned long,struct pt_regs*,unsigned long);
# 801
extern void add_wait_queue_Rc9561ea4(wait_queue_head_t*,wait_queue_t*) __attribute__((regparm(3))) ;
extern void add_wait_queue_exclusive_Rebb51077(wait_queue_head_t*,wait_queue_t*) __attribute__((regparm(3))) ;
extern void remove_wait_queue_R42d154f3(wait_queue_head_t*,wait_queue_t*) __attribute__((regparm(3))) ;
# 805
extern long kernel_thread_R7ca341af(int(*)(void*),void*,unsigned long);
# 892 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/sched.h"
inline static void del_from_runqueue(struct task_struct*p){
# 894
nr_running_Rca3c6d78 --;
p->sleep_time=jiffies_R0da02d67;
list_del(& p->run_list);
(p->run_list).next=(void*)0;}
# 900
inline static int task_on_runqueue(struct task_struct*p){
# 902
return(p->run_list).next != (void*)0;}
# 905
inline static void unhash_process(struct task_struct*p){
# 907
if(task_on_runqueue(p))
__out_of_line_bug_R8b0fd3c5(908);
do{__asm__  volatile ("cli" : : :"memory");(void)& tasklist_lock_R999c80a2;}while(0);
nr_threads --;
unhash_pid(p);
do{(p->next_task)->prev_task=p->prev_task;(p->prev_task)->next_task=p->next_task;if(p->p_osptr)(p->p_osptr)->p_ysptr=p->p_ysptr;if(p->p_ysptr)(p->p_ysptr)->p_osptr=p->p_osptr;else{(p->p_pptr)->p_cptr=p->p_osptr;}}while(0);
list_del(& p->thread_group);
do{do{;}while(0);__asm__  volatile ("sti" : : :"memory");}while(0);}
# 918
inline static void task_lock(struct task_struct*p){
# 920
(void)& p->alloc_lock;}
# 923
inline static void task_unlock(struct task_struct*p){
# 925
do{;}while(0);}
# 929
inline static char*d_path(struct dentry*dentry,struct vfsmount*vfsmnt,char*buf,int buflen){
# 932
char*res;
struct vfsmount*rootmnt;
struct dentry*root;
(void)&((get_current())->fs)->lock;
rootmnt=mntget(((get_current())->fs)->rootmnt);
root=dget(((get_current())->fs)->root);
do{;}while(0);
(void)& dcache_lock_R73463cef;
res=__d_path_Rd65ddf51(dentry,vfsmnt,root,rootmnt,buf,buflen);
do{;}while(0);
dput_R6147a8c7(root);
mntput(rootmnt);
return res;}
# 947
inline static int need_resched (void){
# 949
return __builtin_expect((get_current())->need_resched,0);}
# 952
extern void __cond_resched_R49e79940 (void);
inline static void cond_resched (void){
# 955
if(need_resched())
__cond_resched_R49e79940();}
# 35 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern int __verify_write_R203afbeb(const void*,unsigned long);
# 104 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
inline static int verify_area(int type,const void*addr,unsigned long size){
# 106
return({unsigned long flag;unsigned long sum;__asm__("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0":"=&r"(flag),"=r"(sum):"1"(addr),"g"((int)size),"g"(((get_current())->addr_limit).seg));flag;})== 0?0: - 14;}struct exception_table_entry{unsigned long insn;unsigned long fixup;};
# 129 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern unsigned long search_exception_table(unsigned long);
# 147 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern void __get_user_1 (void);
extern void __get_user_2 (void);
extern void __get_user_4 (void);
# 187 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern void __put_user_1 (void);
extern void __put_user_2 (void);
extern void __put_user_4 (void);
extern void __put_user_8 (void);
# 192
extern void __put_user_bad (void);struct __large_struct{unsigned long buf[100U];};
# 339 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern long __get_user_bad (void);
# 427 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
inline static unsigned long __generic_copy_from_user_nocheck(void*to,const void*from,unsigned long n){
# 430
do{int __d0;int __d1;__asm__  volatile ("0:\trep; movsl\n\tmovl %3,%0\n1:\trep; movsb\n2:\n.section .fixup,\"ax\"\n3:\tlea 0(%3,%0,4),%0\n4:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosb\n\tpopl %%eax\n\tpopl %0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=&c"(n),"=&D"(__d0),"=&S"(__d1):"r"(n & 3),"0"(n / 4),"1"(to),"2"(from) :"memory");}while(0);
return n;}
# 434
inline static unsigned long __generic_copy_to_user_nocheck(void*to,const void*from,unsigned long n){
# 437
do{int __d0;int __d1;__asm__  volatile ("0:\trep; movsl\n\tmovl %3,%0\n1:\trep; movsb\n2:\n.section .fixup,\"ax\"\n3:\tlea 0(%3,%0,4),%0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,2b\n.previous":"=&c"(n),"=&D"(__d0),"=&S"(__d1):"r"(n & 3),"0"(n / 4),"1"(to),"2"(from) :"memory");}while(0);
return n;}
# 662 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern unsigned long __generic_copy_to_user_Rd523fdd3(void*,const void*,unsigned long);
extern unsigned long __generic_copy_from_user_R116166aa(void*,const void*,unsigned long);
# 665
inline static unsigned long __constant_copy_to_user(void*to,const void*from,unsigned long n){
# 668
prefetch(from);
if(({unsigned long flag;unsigned long sum;__asm__("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0":"=&r"(flag),"=r"(sum):"1"(to),"g"((int)n),"g"(((get_current())->addr_limit).seg));flag;})== 0)
do{int __d0;int __d1;switch(n & 3){default: __asm__  volatile ("0:\trep; movsl\n1:\n.section .fixup,\"ax\"\n2:\tshl $2,%0\n\tjmp 1b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,2b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 1: __asm__  volatile ("0:\trep; movsl\n1:\tmovsb\n2:\n.section .fixup,\"ax\"\n3:\tshl $2,%0\n4:\tincl %0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 2: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\n.section .fixup,\"ax\"\n3:\tshl $2,%0\n4:\taddl $2,%0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 3: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\tmovsb\n3:\n.section .fixup,\"ax\"\n4:\tshl $2,%0\n5:\taddl $2,%0\n6:\tincl %0\n\tjmp 3b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,4b\n\t.long 1b,5b\n\t.long 2b,6b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;}}while(0);
return n;}
# 674
inline static unsigned long __constant_copy_from_user(void*to,const void*from,unsigned long n){
# 677
if(({unsigned long flag;unsigned long sum;__asm__("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0":"=&r"(flag),"=r"(sum):"1"(from),"g"((int)n),"g"(((get_current())->addr_limit).seg));flag;})== 0)
do{int __d0;int __d1;switch(n & 3){default: __asm__  volatile ("0:\trep; movsl\n1:\n.section .fixup,\"ax\"\n2:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\tjmp 1b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,2b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 1: __asm__  volatile ("0:\trep; movsl\n1:\tmovsb\n2:\n.section .fixup,\"ax\"\n3:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tstosb\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\tincl %0\n\tjmp 2b\n4:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosb\n\tpopl %%eax\n\tincl %0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 2: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\n.section .fixup,\"ax\"\n3:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tstosw\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\taddl $2,%0\n\tjmp 2b\n4:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosw\n\tpopl %%eax\n\taddl $2,%0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 3: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\tmovsb\n3:\n.section .fixup,\"ax\"\n4:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tstosw\n\tstosb\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\taddl $3,%0\n\tjmp 2b\n5:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosw\n\tstosb\n\tpopl %%eax\n\taddl $3,%0\n\tjmp 2b\n6:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosb\n\tpopl %%eax\n\tincl %0\n\tjmp 3b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,4b\n\t.long 1b,5b\n\t.long 2b,6b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;}}while(0);else{
# 680
__builtin_constant_p(0)?__builtin_constant_p(n)?__constant_c_and_count_memset(to,16843009U * (unsigned char)0,n): __constant_c_memset(to,16843009U * (unsigned char)0,n):(__builtin_constant_p(n)?__memset_generic(to,0,n): __memset_generic(to,0,n));}
return n;}
# 684
inline static unsigned long __constant_copy_to_user_nocheck(void*to,const void*from,unsigned long n){
# 687
do{int __d0;int __d1;switch(n & 3){default: __asm__  volatile ("0:\trep; movsl\n1:\n.section .fixup,\"ax\"\n2:\tshl $2,%0\n\tjmp 1b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,2b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 1: __asm__  volatile ("0:\trep; movsl\n1:\tmovsb\n2:\n.section .fixup,\"ax\"\n3:\tshl $2,%0\n4:\tincl %0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 2: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\n.section .fixup,\"ax\"\n3:\tshl $2,%0\n4:\taddl $2,%0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 3: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\tmovsb\n3:\n.section .fixup,\"ax\"\n4:\tshl $2,%0\n5:\taddl $2,%0\n6:\tincl %0\n\tjmp 3b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,4b\n\t.long 1b,5b\n\t.long 2b,6b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;}}while(0);
return n;}
# 691
inline static unsigned long __constant_copy_from_user_nocheck(void*to,const void*from,unsigned long n){
# 694
do{int __d0;int __d1;switch(n & 3){default: __asm__  volatile ("0:\trep; movsl\n1:\n.section .fixup,\"ax\"\n2:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\tjmp 1b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,2b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 1: __asm__  volatile ("0:\trep; movsl\n1:\tmovsb\n2:\n.section .fixup,\"ax\"\n3:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tstosb\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\tincl %0\n\tjmp 2b\n4:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosb\n\tpopl %%eax\n\tincl %0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 2: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\n.section .fixup,\"ax\"\n3:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tstosw\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\taddl $2,%0\n\tjmp 2b\n4:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosw\n\tpopl %%eax\n\taddl $2,%0\n\tjmp 2b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,3b\n\t.long 1b,4b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;case 3: __asm__  volatile ("0:\trep; movsl\n1:\tmovsw\n2:\tmovsb\n3:\n.section .fixup,\"ax\"\n4:\tpushl %0\n\tpushl %%eax\n\txorl %%eax,%%eax\n\trep; stosl\n\tstosw\n\tstosb\n\tpopl %%eax\n\tpopl %0\n\tshl $2,%0\n\taddl $3,%0\n\tjmp 2b\n5:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosw\n\tstosb\n\tpopl %%eax\n\taddl $3,%0\n\tjmp 2b\n6:\tpushl %%eax\n\txorl %%eax,%%eax\n\tstosb\n\tpopl %%eax\n\tincl %0\n\tjmp 3b\n.previous\n.section __ex_table,\"a\"\n\t.align 4\n\t.long 0b,4b\n\t.long 1b,5b\n\t.long 2b,6b\n.previous":"=c"(n),"=&S"(__d0),"=&D"(__d1):"1"(from),"2"(to),"0"(n / 4) :"memory");break;}}while(0);
return n;}
# 778 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern long strncpy_from_user_R24428be5(char*,const char*,long);
extern long __strncpy_from_user_Rc003c637(char*,const char*,long);
# 797 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/uaccess.h"
extern long strnlen_user_Rbcc308bb(const char*,long);
extern unsigned long clear_user_R7aec9089(void*,unsigned long);
extern unsigned long __clear_user_Rf3341268(void*,unsigned long);struct devfs_entry;struct kernel_sym{unsigned long value;char name[60U];};struct module_symbol{unsigned long value;const char*name;};struct module_ref{struct module*dep;struct module*ref;struct module_ref*next_ref;};struct module_persist;union _tuple60{atomic_t usecount;long pad;};struct module{unsigned long size_of_struct;struct module*next;const char*name;unsigned long size;union _tuple60 uc;unsigned long flags;unsigned nsyms;unsigned ndeps;struct module_symbol*syms;struct module_ref*deps;struct module_ref*refs;int(*init)(void);void(*cleanup)(void);const struct exception_table_entry*ex_table_start;const struct exception_table_entry*ex_table_end;const struct module_persist*persist_start;const struct module_persist*persist_end;int(*can_unload)(void);int runsize;const char*kallsyms_start;const char*kallsyms_end;const char*archdata_start;const char*archdata_end;const char*kernel_data;};struct module_info{unsigned long addr;unsigned long size;unsigned long flags;long usecount;};
# 183 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/module.h"
extern void inter_module_register_R62dada05(const char*,struct module*,const void*);
extern void inter_module_unregister_R7a9e845e(const char*);
extern const void*inter_module_get_Rf6a0ce24(const char*);
extern const void*inter_module_get_request_Rb69f826b(const char*,const char*);
extern void inter_module_put_R6b99f7d8(const char*);struct inter_module_entry{struct list_head list;const char*im_name;struct module*owner;const void*userdata;};
# 196
extern int try_inc_mod_count_Re6105b23(struct module*);
# 291 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/module.h"
extern struct module __this_module;
# 299 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/module.h"
static const char __module_kernel_version[29U] __attribute__((section(".modinfo"))) ="kernel_version=2.4.21-kdb-v2";
# 302
static const char __module_using_checksums[18U] __attribute__((section(".modinfo"))) ="using_checksums=1";
# 415 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/module.h"
extern void print_modules (void);
# 419
extern struct module*module_list;
# 427
extern void print_symbol(const char*,unsigned long);
# 10 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/delay.h"
extern unsigned long loops_per_jiffy_Rba497f13;
# 10 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/delay.h"
extern void __bad_udelay (void);
extern void __bad_ndelay (void);
# 13
extern void __udelay_R9e7d6bd0(unsigned long);
extern void __ndelay_Rdf8c695a(unsigned long);
extern void __const_udelay_Reae3dfd6(unsigned long);
extern void __delay_R466c14a7(unsigned long);struct irqaction{void(*handler)(int,void*,struct pt_regs*);unsigned long flags;unsigned long mask;const char*name;void*dev_id;struct irqaction*next;};
# 28 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/interrupt.h"
enum __anonymous_enum_2__{TIMER_BH =0,TQUEUE_BH =1U,DIGI_BH =2U,SERIAL_BH =3U,RISCOM8_BH =4U,SPECIALIX_BH =5U,AURORA_BH =6U,ESP_BH =7U,SCSI_BH =8U,IMMEDIATE_BH =9U,CYCLADES_BH =10U,CM206_BH =11U,JS_BH =12U,MACSERIAL_BH =13U,ISICOM_BH =14U};
# 32 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/irq.h"
inline static int irq_cannonicalize(int irq){
# 34
return irq == 2?9: irq;}
# 37
extern void disable_irq_R3ce4ca6f(unsigned);
extern void disable_irq_nosync_R27bbf221(unsigned);
extern void enable_irq_Rfcec0987(unsigned);
extern void release_x86_irqs(struct task_struct*);struct hw_interrupt_type{const char*typename;unsigned(*startup)(unsigned);void(*shutdown)(unsigned);void(*enable)(unsigned);void(*disable)(unsigned);void(*ack)(unsigned);void(*end)(unsigned);void(*set_affinity)(unsigned,unsigned long);};
# 50 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/irq.h"
typedef struct hw_interrupt_type hw_irq_controller;struct _tuple61{unsigned status;hw_irq_controller*handler;struct irqaction*action;unsigned depth;spinlock_t lock;};
# 59 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/irq.h"
typedef struct _tuple61 irq_desc_t  __attribute__((aligned(1 << 7))) ;
# 67
extern irq_desc_t irq_desc[16U];
# 63 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/hw_irq.h"
extern int irq_vector[16U];
# 73 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/hw_irq.h"
extern void mask_irq(unsigned);
extern void unmask_irq(unsigned);
extern void disable_8259A_irq(unsigned);
extern void enable_8259A_irq(unsigned);
extern int i8259A_irq_pending(unsigned);
extern void make_8259A_irq(unsigned);
extern void init_8259A(int);
extern void send_IPI_self(int) __attribute__((regparm(3))) ;
extern void init_VISWS_APIC_irqs (void);
extern void setup_IO_APIC (void);
extern void disable_IO_APIC (void);
extern void print_IO_APIC (void);
extern int IO_APIC_get_PCI_irq_vector(int,int,int);
extern void send_IPI(int,int);
# 88
extern unsigned long io_apic_irqs;
# 90
extern atomic_t irq_err_count;
extern atomic_t irq_mis_count;
# 93
extern char _stext;extern char _etext;
# 185 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/hw_irq.h"
extern unsigned long prof_cpu_mask;
extern unsigned*prof_buffer;
extern unsigned long prof_len;
extern unsigned long prof_shift;
# 194
inline static void x86_do_profile(unsigned long eip){
# 196
if(!prof_buffer)
return;
# 203
if(!(1 << 0 & prof_cpu_mask))
return;
# 206
eip -=(unsigned long)& _stext;
eip >>=prof_shift;
# 213
if(eip > prof_len - 1)
eip=prof_len - 1;
atomic_inc((atomic_t*)& prof_buffer[eip]);}
# 224
inline static void hw_resend_irq(struct hw_interrupt_type*h,unsigned i){;}
# 71 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/irq.h"
extern int handle_IRQ_event(unsigned,struct pt_regs*,struct irqaction*);
extern int setup_irq(unsigned,struct irqaction*);
# 74
extern hw_irq_controller no_irq_type;
extern void no_action(int,void*,struct pt_regs*);struct _tuple62{unsigned __softirq_pending;unsigned __local_irq_count;unsigned __local_bh_count;unsigned __syscall_count;struct task_struct*__ksoftirqd_task;unsigned __nmi_count;};
# 9 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/hardirq.h"
typedef struct _tuple62 irq_cpustat_t  __attribute__((aligned(1 << 7))) ;
# 20 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/irq_cpustat.h"
extern irq_cpustat_t irq_stat_R0789bfd4[1U];
# 57 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/interrupt.h"
enum __anonymous_enum_3__{HI_SOFTIRQ =0,NET_TX_SOFTIRQ =1U,NET_RX_SOFTIRQ =2U,TASKLET_SOFTIRQ =3U};struct softirq_action{void(*action)(struct softirq_action*);void*data;};
# 75
extern void do_softirq_Rf0a529b7 (void) __attribute__((regparm(0))) ;
extern void open_softirq(int,void(*)(struct softirq_action*),void*);
extern void softirq_init (void);
# 79
extern void cpu_raise_softirq_Rd01f3ee8(unsigned,unsigned) __attribute__((regparm(3))) ;
extern void raise_softirq_Rd8e4fa1c(unsigned) __attribute__((regparm(3))) ;struct tasklet_struct{struct tasklet_struct*next;unsigned long state;atomic_t count;void(*func)(unsigned long);unsigned long data;};
# 120 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/interrupt.h"
enum __anonymous_enum_4__{TASKLET_STATE_SCHED =0U,TASKLET_STATE_RUN =1U};struct tasklet_head{struct tasklet_struct*list;} __attribute__((aligned(1 << 7))) ;
# 131
extern struct tasklet_head tasklet_vec_R41d3b367[1U];
extern struct tasklet_head tasklet_hi_vec_Rbb06575f[1U];
# 156 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/interrupt.h"
extern void __tasklet_schedule_Red5c73bf(struct tasklet_struct*) __attribute__((regparm(3))) ;
# 158
inline static void tasklet_schedule(struct tasklet_struct*t){
# 160
if(!test_and_set_bit(TASKLET_STATE_SCHED,& t->state))
__tasklet_schedule_Red5c73bf(t);}
# 164
extern void __tasklet_hi_schedule_R60ea5fe7(struct tasklet_struct*) __attribute__((regparm(3))) ;
# 166
inline static void tasklet_hi_schedule(struct tasklet_struct*t){
# 168
if(!test_and_set_bit(TASKLET_STATE_SCHED,& t->state))
__tasklet_hi_schedule_R60ea5fe7(t);}
# 173
inline static void tasklet_disable_nosync(struct tasklet_struct*t){
# 175
atomic_inc(& t->count);
__asm__  volatile ("" : : :"memory");}
# 179
inline static void tasklet_disable(struct tasklet_struct*t){
# 181
tasklet_disable_nosync(t);
do{;}while(0);
__asm__  volatile ("" : : :"memory");}
# 186
inline static void tasklet_enable(struct tasklet_struct*t){
# 188
__asm__  volatile ("" : : :"memory");
atomic_dec(& t->count);}
# 192
inline static void tasklet_hi_enable(struct tasklet_struct*t){
# 194
__asm__  volatile ("" : : :"memory");
atomic_dec(& t->count);}
# 198
extern void tasklet_kill_R79ad224b(struct tasklet_struct*);
extern void tasklet_init_Ra5808bbf(struct tasklet_struct*,void(*)(unsigned long),unsigned long);
# 223 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/interrupt.h"
extern struct tasklet_struct bh_task_vec_R284177b8[1U];
# 226
extern spinlock_t global_bh_lock;
# 228
inline static void mark_bh(int nr){
# 230
tasklet_hi_schedule(bh_task_vec_R284177b8 + nr);}
# 233
extern void init_bh_Rf6cf27cc(int,void(*)(void));
extern void remove_bh_Rbc524a32(int);
# 264 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/interrupt.h"
extern unsigned long probe_irq_on_Rb121390a (void);
extern int probe_irq_off_Rab600421(unsigned long);
extern unsigned probe_irq_mask_R360b1afe(unsigned long);
# 145 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
inline static void wait_ms(unsigned ms){
# 147
if(!({int __cpu=0;((void)__cpu,(irq_stat_R0789bfd4[0]).__local_irq_count)+ ((void)__cpu,(irq_stat_R0789bfd4[0]).__local_bh_count)!= 0;})){
(get_current())->state=2;
schedule_timeout_R17d59d01(1 + (ms * 100)/ 1000);}else{
# 152
__builtin_constant_p(ms)&& ms <= 5?__builtin_constant_p(ms * 1000)?ms * 1000 > 20000?__bad_udelay(): __const_udelay_Reae3dfd6((ms * 1000)* 4294U): __udelay_R9e7d6bd0(ms * 1000):({unsigned long msec=ms;while(msec --){__builtin_constant_p(1000)?1000 > 20000?__bad_udelay(): __const_udelay_Reae3dfd6(1000 * 4294U): __udelay_R9e7d6bd0(1000);}});}}struct usb_ctrlrequest{__u8 bRequestType;__u8 bRequest;__u16 wValue;__u16 wIndex;__u16 wLength;} __attribute__((packed )) ;struct usb_devmap{unsigned long devicemap[128U / (8U * sizeof(unsigned long))];};struct usb_busmap{unsigned long busmap[64U / (8U * sizeof(unsigned long))];};struct usb_descriptor_header{__u8 bLength;__u8 bDescriptorType;} __attribute__((packed )) ;struct usb_device_descriptor{__u8 bLength;__u8 bDescriptorType;__u16 bcdUSB;__u8 bDeviceClass;__u8 bDeviceSubClass;__u8 bDeviceProtocol;__u8 bMaxPacketSize0;__u16 idVendor;__u16 idProduct;__u16 bcdDevice;__u8 iManufacturer;__u8 iProduct;__u8 iSerialNumber;__u8 bNumConfigurations;} __attribute__((packed )) ;struct usb_endpoint_descriptor{__u8 bLength  __attribute__((packed )) ;__u8 bDescriptorType  __attribute__((packed )) ;__u8 bEndpointAddress  __attribute__((packed )) ;__u8 bmAttributes  __attribute__((packed )) ;__u16 wMaxPacketSize  __attribute__((packed )) ;__u8 bInterval  __attribute__((packed )) ;__u8 bRefresh  __attribute__((packed )) ;__u8 bSynchAddress  __attribute__((packed )) ;unsigned char*extra;int extralen;};struct usb_interface_descriptor{__u8 bLength  __attribute__((packed )) ;__u8 bDescriptorType  __attribute__((packed )) ;__u8 bInterfaceNumber  __attribute__((packed )) ;__u8 bAlternateSetting  __attribute__((packed )) ;__u8 bNumEndpoints  __attribute__((packed )) ;__u8 bInterfaceClass  __attribute__((packed )) ;__u8 bInterfaceSubClass  __attribute__((packed )) ;__u8 bInterfaceProtocol  __attribute__((packed )) ;__u8 iInterface  __attribute__((packed )) ;struct usb_endpoint_descriptor*endpoint;unsigned char*extra;int extralen;};struct usb_interface{struct usb_interface_descriptor*altsetting;int act_altsetting;unsigned num_altsetting;int max_altsetting;struct usb_driver*driver;void*private_data;};struct usb_config_descriptor{__u8 bLength  __attribute__((packed )) ;__u8 bDescriptorType  __attribute__((packed )) ;__u16 wTotalLength  __attribute__((packed )) ;__u8 bNumInterfaces  __attribute__((packed )) ;__u8 bConfigurationValue  __attribute__((packed )) ;__u8 iConfiguration  __attribute__((packed )) ;__u8 bmAttributes  __attribute__((packed )) ;__u8 MaxPower  __attribute__((packed )) ;struct usb_interface*interface;unsigned char*extra;int extralen;};struct usb_string_descriptor{__u8 bLength;__u8 bDescriptorType;__u16 wData[1U];} __attribute__((packed )) ;struct usb_device;struct usb_device_id{__u16 match_flags;__u16 idVendor;__u16 idProduct;__u16 bcdDevice_lo;__u16 bcdDevice_hi;__u8 bDeviceClass;__u8 bDeviceSubClass;__u8 bDeviceProtocol;__u8 bInterfaceClass;__u8 bInterfaceSubClass;__u8 bInterfaceProtocol;unsigned long driver_info;};struct usb_driver{struct module*owner;const char*name;void*(*probe)(struct usb_device*,unsigned,const struct usb_device_id*);void(*disconnect)(struct usb_device*,void*);struct list_head driver_list;struct file_operations*fops;int minor;struct semaphore serialize;int(*ioctl)(struct usb_device*,unsigned,void*);const struct usb_device_id*id_table;};struct iso_packet_descriptor{unsigned offset;unsigned length;unsigned actual_length;unsigned status;};struct urb;
# 498 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
typedef void(*usb_complete_t)(struct urb*);struct urb{spinlock_t lock;void*hcpriv;struct list_head urb_list;struct urb*next;struct usb_device*dev;unsigned pipe;int status;unsigned transfer_flags;unsigned char*transfer_buffer;dma_addr_t transfer_dma;int transfer_buffer_length;int actual_length;int bandwidth;unsigned char*setup_packet;dma_addr_t setup_dma_R01485953;int start_frame;int number_of_packets;int interval;int error_count;int timeout;void*context;void(*complete_R942613ad)(struct urb*);struct iso_packet_descriptor iso_frame_desc[0U];};
# 649 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
inline static void usb_fill_control_urb(struct urb*urb,struct usb_device*dev,unsigned pipe,unsigned char*setup_packet,void*transfer_buffer,int buffer_length,usb_complete_t complete_R942613ad,void*context){
# 658
do{;}while(0);
urb->dev=dev;
urb->pipe=pipe;
urb->setup_packet=setup_packet;
urb->transfer_buffer=transfer_buffer;
urb->transfer_buffer_length=buffer_length;
urb->complete_R942613ad=complete_R942613ad;
urb->context=context;}
# 681 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
inline static void usb_fill_bulk_urb(struct urb*urb,struct usb_device*dev,unsigned pipe,void*transfer_buffer,int buffer_length,usb_complete_t complete_R942613ad,void*context){
# 690
do{;}while(0);
urb->dev=dev;
urb->pipe=pipe;
urb->transfer_buffer=transfer_buffer;
urb->transfer_buffer_length=buffer_length;
urb->complete_R942613ad=complete_R942613ad;
urb->context=context;}
# 713 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
inline static void usb_fill_int_urb(struct urb*urb,struct usb_device*dev,unsigned pipe,void*transfer_buffer,int buffer_length,usb_complete_t complete_R942613ad,void*context,int interval){
# 722
do{;}while(0);
urb->dev=dev;
urb->pipe=pipe;
urb->transfer_buffer=transfer_buffer;
urb->transfer_buffer_length=buffer_length;
urb->complete_R942613ad=complete_R942613ad;
urb->context=context;
urb->interval=interval;
urb->start_frame=- 1;}
# 733
extern struct urb*usb_alloc_urb_R4812ca92(int);
extern void usb_free_urb_Ra445dff4(struct urb*);
extern int usb_submit_urb_R0de2d528(struct urb*);
extern int usb_unlink_urb_R78b140c7(struct urb*);
extern int usb_internal_control_msg(struct usb_device*,unsigned,struct usb_ctrlrequest*,void*,int,int);
extern int usb_bulk_msg_Ref02e55a(struct usb_device*,unsigned,void*,int,int*,int);struct usb_api_data{wait_queue_head_t wqh;int done;};struct usb_operations{int(*allocate)(struct usb_device*);int(*deallocate)(struct usb_device*);int(*get_frame_number)(struct usb_device*);int(*submit_urb)(struct urb*);int(*unlink_urb)(struct urb*);};struct usb_bus{int busnum;char*bus_name;int devnum_next;struct usb_devmap devmap;struct usb_operations*op;struct usb_device*root_hub;struct list_head bus_list;void*hcpriv;int bandwidth_allocated;int bandwidth_int_reqs;int bandwidth_isoc_reqs;struct list_head inodes;atomic_t refcnt;};struct usb_tt{struct usb_device*hub;int multi;};struct usb_device{int devnum;char devpath[16U];enum{USB_SPEED_UNKNOWN =0,USB_SPEED_LOW =1U,USB_SPEED_FULL =2U,USB_SPEED_HIGH =3U }speed;struct usb_tt*tt;int ttport;atomic_t refcnt;struct semaphore serialize;unsigned toggle[2U];unsigned halted[2U];int epmaxpacketin[16U];int epmaxpacketout[16U];struct usb_device*parent;struct usb_bus*bus;struct usb_device_descriptor descriptor;struct usb_config_descriptor*config;struct usb_config_descriptor*actconfig;char**rawdescriptors;int have_langid;int string_langid;void*hcpriv;struct list_head inodes;struct list_head filelist;int maxchild;struct usb_device*children[16U];};
# 868 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
extern struct usb_interface*usb_ifnum_to_if_R3c6ca7d0(struct usb_device*,unsigned);
extern struct usb_endpoint_descriptor*usb_epnum_to_ep_desc_R449d0ede(struct usb_device*,unsigned);
# 871
extern int usb_register_R74ef18d7(struct usb_driver*);
extern void usb_deregister_R4fec6346(struct usb_driver*);
extern void usb_scan_devices_Rca4f6301 (void);
# 876
extern void usb_driver_claim_interface_R6d77eba6(struct usb_driver*,struct usb_interface*,void*);
extern int usb_interface_claimed_R9167b8e9(struct usb_interface*);
extern void usb_driver_release_interface_Rbe70d8d5(struct usb_driver*,struct usb_interface*);
extern const struct usb_device_id*usb_match_id_R3363ce5a(struct usb_device*,struct usb_interface*,const struct usb_device_id*);
# 883
extern struct usb_bus*usb_alloc_bus_Rc1c31fe6(struct usb_operations*);
extern void usb_free_bus_Rd4b4800b(struct usb_bus*);
extern void usb_register_bus_R9c6b4a75(struct usb_bus*);
extern void usb_deregister_bus_R8c7266a8(struct usb_bus*);
# 888
extern struct usb_device*usb_alloc_dev_R0c9a4964(struct usb_device*,struct usb_bus*);
extern void usb_free_dev_R0790edf4(struct usb_device*);
extern void usb_inc_dev_use_R8be6a34c(struct usb_device*);
# 893
extern int usb_control_msg_R000a2d2c(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,void*,__u16,int);
# 895
extern int usb_root_hub_string_Ra68718f0(int,int,char*,__u8*,int);
extern void usb_connect_R71d028e1(struct usb_device*);
extern void usb_disconnect_Rce120a31(struct usb_device**);
# 899
extern void usb_destroy_configuration(struct usb_device*);
# 901
extern int usb_get_current_frame_number_R2bfd3e7b(struct usb_device*);
# 930 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
inline static int usb_make_path(struct usb_device*dev,char*buf,size_t size){
# 932
int actual;
actual=snprintf_R025da070(buf,size,"usb-%s-%s",(dev->bus)->bus_name,dev->devpath);
# 935
return actual >= size?- 1: actual;}
# 1003 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
inline static void usb_settoggle(struct usb_device*dev,unsigned ep,unsigned out,int bit){
# 1008
(dev->toggle)[out]&=~(1 << ep);
(dev->toggle)[out]|=bit << ep;}
# 1018
inline static unsigned __create_pipe(struct usb_device*dev,unsigned endpoint){
# 1020
return(dev->devnum << 8 | endpoint << 15)| (dev->speed == USB_SPEED_LOW)<< 26;}
# 1024
inline static unsigned __default_pipe(struct usb_device*dev){
# 1026
return(dev->speed == USB_SPEED_LOW)<< 26;}
# 1044 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
extern int usb_new_device_R208a8250(struct usb_device*);
extern int usb_reset_device_R51288182(struct usb_device*);
extern int usb_set_address_R74aa6354(struct usb_device*);
extern int usb_get_descriptor_R7b82eda1(struct usb_device*,unsigned char,unsigned char,void*,int);
# 1049
extern int usb_get_class_descriptor_R3a533979(struct usb_device*,int,unsigned char,unsigned char,void*,int);
# 1051
extern int usb_get_device_descriptor_R9604a682(struct usb_device*);
extern int __usb_get_extra_descriptor_R9924c496(char*,unsigned,unsigned char,void**);
extern int usb_get_status_R0ca89642(struct usb_device*,int,int,void*);
extern int usb_get_configuration_Rc19f7c3b(struct usb_device*);
extern int usb_get_protocol_Rc825da26(struct usb_device*,int);
extern int usb_set_protocol_R63aa47b5(struct usb_device*,int,int);
extern int usb_set_interface_R9f1a9518(struct usb_device*,int,int);
extern int usb_set_idle_Rab68c450(struct usb_device*,int,int,int);
extern int usb_set_configuration_Rb2b176af(struct usb_device*,int);
extern int usb_get_report_R9438d6aa(struct usb_device*,int,unsigned char,unsigned char,void*,int);
# 1062
extern int usb_set_report_Ra588f2bb(struct usb_device*,int,unsigned char,unsigned char,void*,int);
# 1064
extern int usb_string_R07af55c7(struct usb_device*,int,char*,unsigned);
extern int usb_clear_halt_R1d9e5469(struct usb_device*,int);
extern void usb_set_maxpacket(struct usb_device*);
# 1074
extern void usb_show_device_descriptor(struct usb_device_descriptor*);
extern void usb_show_config_descriptor(struct usb_config_descriptor*);
extern void usb_show_interface_descriptor(struct usb_interface_descriptor*);
extern void usb_show_endpoint_descriptor(struct usb_endpoint_descriptor*);
extern void usb_show_device(struct usb_device*);
extern void usb_show_string(struct usb_device*,char*,int);
# 1095 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
extern struct list_head usb_driver_list;
extern struct list_head usb_bus_list;
extern struct semaphore usb_bus_list_lock;
# 1109 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/usb.h"
extern void usbdevfs_add_bus(struct usb_bus*);
extern void usbdevfs_remove_bus(struct usb_bus*);
extern void usbdevfs_add_device(struct usb_device*);
extern void usbdevfs_remove_device(struct usb_device*);
# 1114
extern int usbdevfs_init (void);
extern void usbdevfs_cleanup (void);struct pollfd{int fd;short events;short revents;};struct free_area_struct{struct list_head free_list;unsigned long*map;};
# 22 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mmzone.h"
typedef struct free_area_struct free_area_t;struct pglist_data;struct zone_struct{spinlock_t lock;unsigned long free_pages_R9941ccb8;unsigned long pages_min;unsigned long pages_low;unsigned long pages_high;int need_balance;free_area_t free_area[10U];wait_queue_head_t*wait_table;unsigned long wait_table_size;unsigned long wait_table_shift;struct pglist_data*zone_pgdat;struct page*zone_mem_map;unsigned long zone_start_paddr;unsigned long zone_start_mapnr;char*name;unsigned long size;};
# 37 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mmzone.h"
typedef struct zone_struct zone_t;struct zonelist_struct{zone_t*zones[4U];};
# 111 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mmzone.h"
typedef struct zonelist_struct zonelist_t;struct bootmem_data;struct pglist_data{zone_t node_zones[3U];zonelist_t node_zonelists[16U];int nr_zones;struct page*node_mem_map;unsigned long*valid_addr_bitmap;struct bootmem_data*bdata;unsigned long node_start_paddr;unsigned long node_start_mapnr;unsigned long node_size;int node_id;struct pglist_data*node_next;};
# 129 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mmzone.h"
typedef struct pglist_data pg_data_t;
# 143
extern int numnodes;
extern pg_data_t*pgdat_list;struct page;
# 154 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mmzone.h"
extern void show_free_areas_core(pg_data_t*);
extern void free_area_init_core(int,pg_data_t*,struct page**,unsigned long*,unsigned long,unsigned long*,struct page*);
# 159
extern pg_data_t contig_page_data;
# 180 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mmzone.h"
inline static zone_t*next_zone(zone_t*zone){
# 182
pg_data_t*pgdat=zone->zone_pgdat;
# 184
if(zone - pgdat->node_zones < 3 - 1)
zone ++;else{
# 187
if(pgdat->node_next){
pgdat=pgdat->node_next;
zone=pgdat->node_zones;}else{
# 191
zone=(void*)0;}}
# 193
return zone;}struct _tuple63{char reserved[4086U];char magic[10U];};struct _tuple64{char bootbits[1024U];unsigned version;unsigned last_page;unsigned nr_badpages;unsigned padding[125U];unsigned badpages[1U];};union swap_header{struct _tuple63 magic;struct _tuple64 info;};struct swap_info_struct{unsigned flags;kdev_t swap_device;spinlock_t sdev_lock;struct dentry*swap_file;struct vfsmount*swap_vfsmnt;unsigned short*swap_map;unsigned lowest_bit;unsigned highest_bit;unsigned cluster_next;unsigned cluster_nr;int prio;int pages;unsigned long max;int next;};
# 81 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/swap.h"
extern int nr_swap_pages;
# 86
extern unsigned nr_free_pages (void);
extern unsigned nr_free_buffer_pages (void);
extern int nr_active_pages;
extern int nr_inactive_pages;
extern atomic_t page_cache_size;
extern atomic_t buffermem_pages;
# 93
extern spinlock_cacheline_t pagecache_lock_cacheline;
# 96
extern void __remove_inode_page(struct page*);struct vm_area_struct;struct zone_t;
# 106
extern void lru_cache_add(struct page*) __attribute__((regparm(3))) ;
extern void __lru_cache_del(struct page*) __attribute__((regparm(3))) ;
extern void lru_cache_del(struct page*) __attribute__((regparm(3))) ;
# 110
extern void activate_page(struct page*) __attribute__((regparm(3))) ;
# 112
extern void swap_setup (void);
# 115
extern wait_queue_head_t kswapd_wait;
extern int try_to_free_pages_zone(zone_t*,unsigned) __attribute__((regparm(3))) ;
extern int try_to_free_pages(unsigned) __attribute__((regparm(3))) ;
# 120
extern void rw_swap_page(int,struct page*);
extern void rw_swap_page_nolock(int,swp_entry_t,char*);
# 128
extern void show_swap_cache_info (void);
# 130
extern int add_to_swap_cache(struct page*,swp_entry_t);
extern void __delete_from_swap_cache(struct page*);
extern void delete_from_swap_cache(struct page*);
extern void free_page_and_swap_cache(struct page*);
extern struct page*lookup_swap_cache(swp_entry_t);
extern struct page*read_swap_cache_async(swp_entry_t);
# 138
extern void out_of_memory (void);
# 141
extern int total_swap_pages;
extern unsigned nr_swapfiles;
extern struct swap_info_struct swap_info[1U];
extern int is_swap_partition(kdev_t);
extern void si_swapinfo(struct sysinfo*);
extern swp_entry_t get_swap_page (void);
extern void get_swaphandle_info(swp_entry_t,unsigned long*,kdev_t*,struct inode**);
# 149
extern int swap_duplicate(swp_entry_t);
extern int valid_swaphandles(swp_entry_t,unsigned long*);
extern void swap_free(swp_entry_t);
extern void free_swap_and_cache(swp_entry_t);struct swap_list_t{int head;int next;};
# 157
extern struct swap_list_t swap_list;
extern long sys_swapoff(const char*) __attribute__((regparm(0))) ;
extern long sys_swapon(const char*,int) __attribute__((regparm(0))) ;
# 161
extern spinlock_cacheline_t pagemap_lru_lock_cacheline;
# 164
extern void mark_page_accessed(struct page*) __attribute__((regparm(3))) ;
# 206 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/swap.h"
extern spinlock_t swaplock;
# 213
extern void shmem_unuse(swp_entry_t,struct page*);
# 16 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
extern unsigned long max_mapnr_R01139ffc;
extern unsigned long num_physpages_R0948cde9;
extern unsigned long num_mappedpages;
extern void*high_memory_R8a7d1c31;
extern int page_cluster;
# 22
extern struct list_head active_list;
extern struct list_head inactive_list;struct _tuple65{unsigned __reserved[4U];};struct _tuple66{unsigned __reserved_1: 24;unsigned phys_apic_id: 4;unsigned __reserved_2: 4;unsigned __reserved[3U];};struct _tuple67{unsigned version: 8;unsigned __reserved_1: 8;unsigned max_lvt: 8;unsigned __reserved_2: 8;unsigned __reserved[3U];};struct _tuple68{unsigned priority: 8;unsigned __reserved_1: 24;unsigned __reserved_2[3U];};struct _tuple69{unsigned eoi;unsigned __reserved[3U];};struct _tuple70{unsigned __reserved_1: 24;unsigned logical_dest: 8;unsigned __reserved_2[3U];};struct _tuple71{unsigned __reserved_1: 28;unsigned model: 4;unsigned __reserved_2[3U];};struct _tuple72{unsigned spurious_vector: 8;unsigned apic_enabled: 1;unsigned focus_cpu: 1;unsigned __reserved_2: 22;unsigned __reserved_3[3U];};struct _tuple73{unsigned bitfield;unsigned __reserved[3U];};struct _tuple74{unsigned send_cs_error: 1;unsigned receive_cs_error: 1;unsigned send_accept_error: 1;unsigned receive_accept_error: 1;unsigned __reserved_1: 1;unsigned send_illegal_vector: 1;unsigned receive_illegal_vector: 1;unsigned illegal_register_address: 1;unsigned __reserved_2: 24;unsigned __reserved_3[3U];};struct _tuple75{unsigned errors;unsigned __reserved_3[3U];};union _tuple76{struct _tuple74 error_bits;struct _tuple75 all_errors;};struct _tuple77{unsigned vector: 8;unsigned delivery_mode: 3;unsigned destination_mode: 1;unsigned delivery_status: 1;unsigned __reserved_1: 1;unsigned level: 1;unsigned trigger: 1;unsigned __reserved_2: 2;unsigned shorthand: 2;unsigned __reserved_3: 12;unsigned __reserved_4[3U];};union _tuple78{unsigned __reserved_1: 24;unsigned phys_dest: 4;unsigned __reserved_2: 4;unsigned __reserved_3: 24;unsigned logical_dest: 8;};struct _tuple79{union _tuple78 dest;unsigned __reserved_4[3U];};struct _tuple80{unsigned vector: 8;unsigned __reserved_1: 4;unsigned delivery_status: 1;unsigned __reserved_2: 3;unsigned mask: 1;unsigned timer_mode: 1;unsigned __reserved_3: 14;unsigned __reserved_4[3U];};struct _tuple81{unsigned vector: 8;unsigned delivery_mode: 3;unsigned __reserved_1: 1;unsigned delivery_status: 1;unsigned __reserved_2: 3;unsigned mask: 1;unsigned __reserved_3: 15;unsigned __reserved_4[3U];};struct _tuple82{unsigned vector: 8;unsigned delivery_mode: 3;unsigned __reserved_1: 1;unsigned delivery_status: 1;unsigned polarity: 1;unsigned remote_irr: 1;unsigned trigger: 1;unsigned mask: 1;unsigned __reserved_2: 15;unsigned __reserved_3[3U];};struct _tuple83{unsigned vector: 8;unsigned __reserved_1: 4;unsigned delivery_status: 1;unsigned __reserved_2: 3;unsigned mask: 1;unsigned __reserved_3: 15;unsigned __reserved_4[3U];};struct _tuple84{unsigned initial_count;unsigned __reserved_2[3U];};struct _tuple85{unsigned curr_count;unsigned __reserved_2[3U];};struct _tuple86{unsigned divisor: 4;unsigned __reserved_1: 28;unsigned __reserved_2[3U];};struct local_apic{struct _tuple65 __reserved_01;struct _tuple65 __reserved_02;struct _tuple66 id;struct _tuple67 version;struct _tuple65 __reserved_03;struct _tuple65 __reserved_04;struct _tuple65 __reserved_05;struct _tuple65 __reserved_06;struct _tuple68 tpr;struct _tuple68 apr;struct _tuple68 ppr;struct _tuple69 eoi;struct _tuple65 __reserved_07;struct _tuple70 ldr;struct _tuple71 dfr;struct _tuple72 svr;struct _tuple73 isr[8U];struct _tuple73 tmr[8U];struct _tuple73 irr[8U];union _tuple76 esr;struct _tuple65 __reserved_08;struct _tuple65 __reserved_09;struct _tuple65 __reserved_10;struct _tuple65 __reserved_11;struct _tuple65 __reserved_12;struct _tuple65 __reserved_13;struct _tuple65 __reserved_14;struct _tuple77 icr1;struct _tuple79 icr2;struct _tuple80 lvt_timer;struct _tuple65 __reserved_15;struct _tuple81 lvt_pc;struct _tuple82 lvt_lint0;struct _tuple82 lvt_lint1;struct _tuple83 lvt_error;struct _tuple84 timer_icr;struct _tuple85 timer_ccr;struct _tuple65 __reserved_16;struct _tuple65 __reserved_17;struct _tuple65 __reserved_18;struct _tuple65 __reserved_19;struct _tuple86 timer_dcr;struct _tuple65 __reserved_20;} __attribute__((packed )) ;
# 50 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/fixmap.h"
enum fixed_addresses{__end_of_permanent_fixed_addresses =0U,FIX_BTMAP_END =0U,FIX_BTMAP_BEGIN =15U,__end_of_fixed_addresses =16U};
# 82 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/fixmap.h"
extern void __set_fixmap(enum fixed_addresses,unsigned long,pgprot_t);
# 105 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/fixmap.h"
extern void __this_fixmap_does_not_exist (void);
# 112
inline static unsigned long fix_to_virt(const unsigned idx){
# 123 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/fixmap.h"
if(idx >= __end_of_fixed_addresses)
__this_fixmap_does_not_exist();
# 126
return 4294959104U - (idx << 12);}
# 24 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable.h"
extern pgd_t swapper_pg_dir[1024U];
extern void paging_init (void);
# 68 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable.h"
extern unsigned long pgkern_mask;
# 104 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable.h"
extern unsigned long empty_zero_page_R84daabab[1024U];
# 32 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable-2level.h"
inline static int pgd_none(pgd_t pgd){return 0;}
inline static int pgd_bad(pgd_t pgd){return 0;}
inline static int pgd_present(pgd_t pgd){return 1;}
# 55 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable-2level.h"
inline static pmd_t*pmd_offset(pgd_t*dir,unsigned long address){
# 57
return(pmd_t*)dir;}
# 265 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable.h"
extern unsigned long pg0[1024U];
# 282 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable.h"
inline static int pte_read(pte_t pte){return pte.pte_low & 4;}
inline static int pte_exec(pte_t pte){return pte.pte_low & 4;}
inline static int pte_dirty(pte_t pte){return pte.pte_low & 64;}
inline static int pte_young(pte_t pte){return pte.pte_low & 32;}
inline static int pte_write(pte_t pte){return pte.pte_low & 2;}
# 288
inline static pte_t pte_rdprotect(pte_t pte){pte.pte_low &=~ 4;return pte;}
inline static pte_t pte_exprotect(pte_t pte){pte.pte_low &=~ 4;return pte;}
inline static pte_t pte_mkclean(pte_t pte){pte.pte_low &=~ 64;return pte;}
inline static pte_t pte_mkold(pte_t pte){pte.pte_low &=~ 32;return pte;}
inline static pte_t pte_wrprotect(pte_t pte){pte.pte_low &=~ 2;return pte;}
inline static pte_t pte_mkread(pte_t pte){pte.pte_low |=4;return pte;}
inline static pte_t pte_mkexec(pte_t pte){pte.pte_low |=4;return pte;}
inline static pte_t pte_mkdirty(pte_t pte){pte.pte_low |=64;return pte;}
inline static pte_t pte_mkyoung(pte_t pte){pte.pte_low |=32;return pte;}
inline static pte_t pte_mkwrite(pte_t pte){pte.pte_low |=2;return pte;}
# 299
inline static int ptep_test_and_clear_dirty(pte_t*ptep){return test_and_clear_bit(6,ptep);}
inline static int ptep_test_and_clear_young(pte_t*ptep){return test_and_clear_bit(5,ptep);}
inline static void ptep_set_wrprotect(pte_t*ptep){clear_bit(1,ptep);}
inline static void ptep_mkdirty(pte_t*ptep){set_bit(6,ptep);}
# 314 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable.h"
inline static pte_t pte_modify(pte_t pte,pgprot_t newprot){
# 316
pte.pte_low &=(~((1U << 12)- 1)| 32)| 64;
pte.pte_low |=newprot.pgprot;
return pte;}struct page;
# 359 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgtable.h"
extern int change_page_attr_R73867011(struct page*,int,pgprot_t);struct vm_area_struct{struct mm_struct*vm_mm;unsigned long vm_start;unsigned long vm_end;struct vm_area_struct*vm_next;pgprot_t vm_page_prot;unsigned long vm_flags;rb_node_t vm_rb;struct vm_area_struct*vm_next_share;struct vm_area_struct**vm_pprev_share;struct vm_operations_struct*vm_ops;unsigned long vm_pgoff;struct file*vm_file;unsigned long vm_raend;void*vm_private_data;};
# 116 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
extern int vm_min_readahead_R41ef314d;
extern int vm_max_readahead_Rf8c9aa3c;
# 123
extern pgprot_t protection_map[16U];struct vm_operations_struct{void(*open)(struct vm_area_struct*);void(*close)(struct vm_area_struct*);struct page*(*nopage)(struct vm_area_struct*,unsigned long,int);};struct page{struct list_head list;struct address_space*mapping;unsigned long index;struct page*next_hash;atomic_t count;unsigned long flags;struct list_head lru;struct page**pprev_hash;struct buffer_head*buffers;};
# 152 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
typedef struct page mem_map_t;
# 327 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
extern struct zone_struct*zone_table_R43029f51[1U];
# 329
inline static zone_t*page_zone(struct page*page){
# 331
return zone_table_R43029f51[page->flags >> 32 - 8];}
# 334
inline static void set_page_zone(struct page*page,unsigned long zone_num){
# 336
page->flags &=~(~ 0U << 32 - 8);
page->flags |=zone_num << 32 - 8;}
# 373 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
extern void set_page_dirty_R6d9a5b46(struct page*) __attribute__((regparm(3))) ;
# 417 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
extern mem_map_t*mem_map_R57258cdc;
# 425
extern struct page*_alloc_pages_R57e70b76(unsigned,unsigned) __attribute__((regparm(3))) ;
extern struct page*__alloc_pages_R579b53d6(unsigned,unsigned,zonelist_t*) __attribute__((regparm(3))) ;
extern struct page*alloc_pages_node_Re439195f(int,unsigned,unsigned);
# 429
inline static struct page*alloc_pages(unsigned gfp_mask,unsigned order){
# 434
if(order >= 10)
return(void*)0;
return _alloc_pages_R57e70b76(gfp_mask,order);}
# 441
extern unsigned long __get_free_pages_R4784e424(unsigned,unsigned) __attribute__((regparm(3))) ;
extern unsigned long get_zeroed_page_R0c2188c7(unsigned) __attribute__((regparm(3))) ;
# 458 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
extern void __free_pages_R3572da5a(struct page*,unsigned) __attribute__((regparm(3))) ;
extern void free_pages_R9941ccb8(unsigned long,unsigned) __attribute__((regparm(3))) ;
# 464
extern void show_free_areas (void);
extern void show_free_areas_node(pg_data_t*);
# 467
extern void clear_page_tables(struct mm_struct*,unsigned long,int);
# 469
extern int fail_writepage_R3366256f(struct page*);
extern struct page*shmem_nopage(struct vm_area_struct*,unsigned long,int);
extern struct file*shmem_file_setup_R0cfe08cb(char*,loff_t);
extern void shmem_lock(struct file*,int);
extern int shmem_zero_setup(struct vm_area_struct*);
# 475
extern void zap_page_range(struct mm_struct*,unsigned long,unsigned long);
extern int copy_page_range(struct mm_struct*,struct mm_struct*,struct vm_area_struct*);
extern int remap_page_range_R69d01e73(unsigned long,unsigned long,unsigned long,pgprot_t);
extern int zeromap_page_range(unsigned long,unsigned long,pgprot_t);
# 480
extern int vmtruncate_R89f524b9(struct inode*,loff_t);
extern pmd_t*__pmd_alloc(struct mm_struct*,pgd_t*,unsigned long) __attribute__((regparm(3))) ;
extern pte_t*pte_alloc(struct mm_struct*,pmd_t*,unsigned long) __attribute__((regparm(3))) ;
extern int handle_mm_fault(struct mm_struct*,struct vm_area_struct*,unsigned long,int);
extern int make_pages_present(unsigned long,unsigned long);
extern int access_process_vm(struct task_struct*,unsigned long,void*,int,int);
extern int ptrace_readdata(struct task_struct*,unsigned long,char*,int);
extern int ptrace_writedata(struct task_struct*,char*,unsigned long,int);
extern int ptrace_attach(struct task_struct*);
extern int ptrace_detach(struct task_struct*,unsigned);
extern void ptrace_disable(struct task_struct*);
extern int ptrace_check_attach(struct task_struct*,int);
# 493
extern int get_user_pages_R98236129(struct task_struct*,struct mm_struct*,unsigned long,int,int,int,struct page**,struct vm_area_struct**);
# 501
inline static pmd_t*pmd_alloc(struct mm_struct*mm,pgd_t*pgd,unsigned long address){
# 503
if(pgd_none(*pgd))
return __pmd_alloc(mm,pgd,address);
return pmd_offset(pgd,address);}
# 508
extern int pgt_cache_water[2U];
extern int check_pgt_cache (void);
# 511
extern void free_area_init(unsigned long*);
extern void free_area_init_node(int,pg_data_t*,struct page*,unsigned long*,unsigned long,unsigned long*);
# 515
extern void mem_init (void);
extern void show_mem (void);
extern void si_meminfo_Rb3a307c6(struct sysinfo*);
extern void swapin_readahead(swp_entry_t);
# 520
extern struct address_space swapper_space;
# 523
inline static int is_page_cache_freeable(struct page*page){
# 525
return(& page->count)->counter - !(!page->buffers)== 1;}
# 528
extern int can_share_swap_page(struct page*);
extern int remove_exclusive_swap_page(struct page*);
# 531
extern void __free_pte(pte_t);
# 534
extern void lock_vma_mappings(struct vm_area_struct*);
extern void unlock_vma_mappings(struct vm_area_struct*);
extern void insert_vm_struct(struct mm_struct*,struct vm_area_struct*);
extern void __insert_vm_struct(struct mm_struct*,struct vm_area_struct*);
extern void build_mmap_rb(struct mm_struct*);
extern void exit_mmap(struct mm_struct*);
# 541
extern unsigned long get_unmapped_area_Rcb0eefc9(struct file*,unsigned long,unsigned long,unsigned long,unsigned long);
# 543
extern unsigned long do_mmap_pgoff_Re40d03da(struct file*,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long);
# 547
inline static unsigned long do_mmap(struct file*file,unsigned long addr,unsigned long len,unsigned long prot,unsigned long flag,unsigned long offset){
# 551
unsigned long ret=- 22;
if(offset + ((len + (1U << 12))- 1 & ~((1U << 12)- 1))< offset)
goto out;
if(!(offset & ~(~((1U << 12)- 1))))
ret=do_mmap_pgoff_Re40d03da(file,addr,len,prot,flag,offset >> 12);
out:
 return ret;}
# 560
extern int do_munmap_Rf7aea266(struct mm_struct*,unsigned long,size_t);
# 562
extern unsigned long do_brk_R9eecde16(unsigned long,unsigned long);
# 564
inline static void __vma_unlink(struct mm_struct*mm,struct vm_area_struct*vma,struct vm_area_struct*prev){
# 566
prev->vm_next=vma->vm_next;
rb_erase_Rda226a80(& vma->vm_rb,& mm->mm_rb);
if(mm->mmap_cache == vma)
mm->mmap_cache=prev;}
# 572
inline static int can_vma_merge(struct vm_area_struct*vma,unsigned long vm_flags){
# 574
if(!vma->vm_file && vma->vm_flags == vm_flags)
return 1;else{
# 577
return 0;}}struct zone_t;
# 582
extern void remove_inode_page(struct page*);
extern unsigned long page_unuse(struct page*);
extern void truncate_inode_pages_R9668185e(struct address_space*,loff_t);
# 587
extern int filemap_sync_R13a70b69(struct vm_area_struct*,unsigned long,size_t,unsigned);
extern struct page*filemap_nopage_Ra59e74b1(struct vm_area_struct*,unsigned long,int);
# 619 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/mm.h"
inline static unsigned pf_gfp_mask(unsigned gfp_mask){
# 622
if((get_current())->flags & 16384)
gfp_mask &=~((64 | 128)| 256);
# 625
return gfp_mask;}
# 630
inline static int expand_stack(struct vm_area_struct*vma,unsigned long address){
# 632
unsigned long grow;
# 639
address &=~((1U << 12)- 1);
(void)&(vma->vm_mm)->page_table_lock;
grow=vma->vm_start - address >> 12;
if(vma->vm_end - address > (((get_current())->rlim)[3]).rlim_cur ||(vma->vm_mm)->total_vm + grow << 12 > (((
get_current())->rlim)[9]).rlim_cur){
do{;}while(0);
return - 12;}
# 647
vma->vm_start=address;
vma->vm_pgoff -=grow;
(vma->vm_mm)->total_vm +=grow;
if(vma->vm_flags & 8192)
(vma->vm_mm)->locked_vm +=grow;
do{;}while(0);
return 0;}
# 657
extern struct vm_area_struct*find_vma_R44831f1d(struct mm_struct*,unsigned long);
extern struct vm_area_struct*find_vma_prev(struct mm_struct*,unsigned long,struct vm_area_struct**);
# 663
inline static struct vm_area_struct*find_vma_intersection(struct mm_struct*mm,unsigned long start_addr,unsigned long end_addr){
# 665
struct vm_area_struct*vma=find_vma_R44831f1d(mm,start_addr);
# 667
if(vma && end_addr <= vma->vm_start)
vma=(void*)0;
return vma;}
# 672
extern struct vm_area_struct*find_extend_vma(struct mm_struct*,unsigned long);
# 674
extern struct page*vmalloc_to_page_Rad5ba768(void*);struct poll_table_page;struct poll_table_struct{int error;struct poll_table_page*table;};
# 15 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/poll.h"
typedef struct poll_table_struct poll_table;
# 20
extern void __pollwait_R591fa16d(struct file*,wait_queue_head_t*,poll_table*);
# 22
inline static void poll_wait(struct file*filp,wait_queue_head_t*wait_address,poll_table*p){
# 24
if(p && wait_address)
__pollwait_R591fa16d(filp,wait_address,p);}
# 28
inline static void poll_initwait(poll_table*pt){
# 30
pt->error=0;
pt->table=(void*)0;}
# 33
extern void poll_freewait_R3fd02e58(poll_table*);struct _tuple87{unsigned long*in;unsigned long*out;unsigned long*ex;unsigned long*res_in;unsigned long*res_out;unsigned long*res_ex;};
# 40
typedef struct _tuple87 fd_set_bits;
# 58 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/poll.h"
inline static int get_fd_set(unsigned long nr,void*ufdset,unsigned long*fdset){
# 61
nr=(((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long);
if(ufdset){
int error;
error=verify_area(1,ufdset,nr);
if(!error &&(__builtin_constant_p(nr)?__constant_copy_from_user_nocheck(fdset,ufdset,nr): __generic_copy_from_user_nocheck(fdset,ufdset,nr)))
error=- 14;
return error;}
# 69
__builtin_constant_p(0)?__builtin_constant_p(nr)?__constant_c_and_count_memset(fdset,16843009U * (unsigned char)0,nr): __constant_c_memset(fdset,16843009U * (unsigned char)0,nr):(__builtin_constant_p(nr)?__memset_generic(fdset,0,nr): __memset_generic(fdset,0,nr));
return 0;}
# 73
inline static void set_fd_set(unsigned long nr,void*ufdset,unsigned long*fdset){
# 76
if(ufdset)
__builtin_constant_p((((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long))?__constant_copy_to_user_nocheck(ufdset,fdset,(((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long)): __generic_copy_to_user_nocheck(ufdset,fdset,(((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long));}
# 80
inline static void zero_fd_set(unsigned long nr,unsigned long*fdset){
# 83
__builtin_constant_p(0)?__builtin_constant_p((((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long))?__constant_c_and_count_memset(fdset,16843009U * (unsigned char)0,(((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long)): __constant_c_memset(fdset,16843009U * (unsigned char)0,(((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long)):(__builtin_constant_p((((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long))?__memset_generic(fdset,0,(((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long)): __memset_generic(fdset,0,(((nr + 8 * sizeof(long))- 1)/ (8 * sizeof(long)))* sizeof(long)));}
# 86
extern int do_select(int,fd_set_bits*,long*);
# 47 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/devfs_fs_kernel.h"
typedef struct devfs_entry*devfs_handle_t;struct unique_numspace{char dummy;};
# 129 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/devfs_fs_kernel.h"
inline static void devfs_put_R5873a25b(devfs_handle_t de){
# 131
return;}
# 133
inline static devfs_handle_t devfs_register_Rada27586(devfs_handle_t dir,const char*name,unsigned flags,unsigned major,unsigned minor,umode_t mode,void*ops,void*info){
# 141
return(void*)0;}
# 143
inline static void devfs_unregister_Re3ff2f37(devfs_handle_t de){
# 145
return;}
# 147
inline static int devfs_mk_symlink_Rbe942b8c(devfs_handle_t dir,const char*name,unsigned flags,const char*link,devfs_handle_t*handle,void*info){
# 151
return 0;}
# 153
inline static devfs_handle_t devfs_mk_dir_Redb811a2(devfs_handle_t dir,const char*name,void*info){
# 156
return(void*)0;}
# 158
inline static devfs_handle_t devfs_get_handle_R18117d05(devfs_handle_t dir,const char*name,unsigned major,unsigned minor,char type,int traverse_symlinks){
# 165
return(void*)0;}
# 167
inline static devfs_handle_t devfs_find_handle_Rb58c07eb(devfs_handle_t dir,const char*name,unsigned major,unsigned minor,char type,int traverse_symlinks){
# 174
return(void*)0;}
# 176
inline static int devfs_get_flags_Rccad1268(devfs_handle_t de,unsigned*flags){
# 178
return 0;}
# 180
inline static int devfs_set_flags_R477297ad(devfs_handle_t de,unsigned flags){
# 182
return 0;}
# 184
inline static int devfs_get_maj_min_Ra6e11935(devfs_handle_t de,unsigned*major,unsigned*minor){
# 187
return 0;}
# 189
inline static devfs_handle_t devfs_get_handle_from_inode_R52963f71(struct inode*inode){
# 191
return(void*)0;}
# 193
inline static int devfs_generate_path_R6cb3486a(devfs_handle_t de,char*path,int buflen){
# 196
return - 38;}
# 198
inline static void*devfs_get_ops_Rb724de8f(devfs_handle_t de){
# 200
return(void*)0;}
# 202
inline static void devfs_put_ops(devfs_handle_t de){
# 204
return;}
# 206
inline static int devfs_set_file_size_Rc48708af(devfs_handle_t de,unsigned long size){
# 208
return - 38;}
# 210
inline static void*devfs_get_info_Rf937a150(devfs_handle_t de){
# 212
return(void*)0;}
# 214
inline static int devfs_set_info_Rca9a636a(devfs_handle_t de,void*info){
# 216
return 0;}
# 218
inline static devfs_handle_t devfs_get_parent_Rea0da945(devfs_handle_t de){
# 220
return(void*)0;}
# 222
inline static devfs_handle_t devfs_get_first_child_R11213fe8(devfs_handle_t de){
# 224
return(void*)0;}
# 226
inline static devfs_handle_t devfs_get_next_sibling_Rabb33a89(devfs_handle_t de){
# 228
return(void*)0;}
# 230
inline static void devfs_auto_unregister_Rcd98beb6(devfs_handle_t master,devfs_handle_t slave){
# 233
return;}
# 235
inline static devfs_handle_t devfs_get_unregister_slave_R849a15f1(devfs_handle_t master){
# 237
return(void*)0;}
# 239
inline static const char*devfs_get_name_Ref287e69(devfs_handle_t de,unsigned*namelen){
# 242
return(void*)0;}
# 244
inline static int devfs_register_chrdev_Re2429932(unsigned major,const char*name,struct file_operations*fops){
# 247
return register_chrdev_Re965df89(major,name,fops);}
# 249
inline static int devfs_register_blkdev_Rb120cf61(unsigned major,const char*name,struct block_device_operations*bdops){
# 252
return register_blkdev_R0db11320(major,name,bdops);}
# 254
inline static int devfs_unregister_chrdev_R77f3e0ce(unsigned major,const char*name){
# 256
return unregister_chrdev_Rc192d491(major,name);}
# 258
inline static int devfs_unregister_blkdev_R5ca0f0f0(unsigned major,const char*name){
# 260
return unregister_blkdev_Reac1c4af(major,name);}
# 263
inline static void devfs_register_tape_Rb8d618e8(devfs_handle_t de){
# 265
return;}
# 268
inline static void devfs_register_series_Rf3efa40e(devfs_handle_t dir,const char*format,unsigned num_entries,unsigned flags,unsigned major,unsigned minor_start,umode_t mode,void*ops,void*info){
# 276
return;}
# 279
inline static int devfs_alloc_major_R190e3bbc(char type){
# 281
return - 1;}
# 284
inline static void devfs_dealloc_major_Rce9de41d(char type,int major){
# 286
return;}
# 289
inline static kdev_t devfs_alloc_devnum_R0b35c57f(char type){
# 291
return 0;}
# 294
inline static void devfs_dealloc_devnum_R74e856e9(char type,kdev_t devnum){
# 296
return;}
# 299
inline static int devfs_alloc_unique_number_R444f412d(struct unique_numspace*space){
# 301
return - 1;}
# 304
inline static void devfs_dealloc_unique_number_R9bf3ff08(struct unique_numspace*space,int number){
# 307
return;}
# 310
inline static void mount_devfs_fs (void){
# 312
return;}struct video_device{struct module*owner;char name[32U];int type;int type2;int hardware;int minor;int(*open)(struct video_device*,int);void(*close)(struct video_device*);long(*read)(struct video_device*,char*,unsigned long,int);long(*write)(struct video_device*,const char*,unsigned long,int);unsigned(*poll)(struct video_device*,struct file*,poll_table*);int(*ioctl)(struct video_device*,unsigned,void*);int(*mmap)(struct video_device*,const char*,unsigned long);int(*initialize)(struct video_device*);struct file_operations*fops;void*priv;int users;struct semaphore lock;struct devfs_handle*devfs_handle;};
# 55 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/videodev.h"
extern int video_register_device_R3a9d72af(struct video_device*,int,int);
# 62
extern void video_unregister_device_R83e17254(struct video_device*);
extern struct video_device*video_devdata_R7be46557(struct file*);
# 65
extern int video_exclusive_open_Rb596eaad(struct inode*,struct file*);
extern int video_exclusive_release_Re85f547e(struct inode*,struct file*);
extern int video_usercopy_Rcd46ac6d(struct inode*,struct file*,unsigned,unsigned long,int(*)(struct inode*,struct file*,unsigned,void*));struct video_capability{char name[32U];int type;int channels;int audios;int maxwidth;int maxheight;int minwidth;int minheight;};struct video_channel{int channel;char name[32U];int tuners;__u32 flags;__u16 type;__u16 norm;};struct video_tuner{int tuner;char name[32U];unsigned long rangelow;unsigned long rangehigh;__u32 flags;__u16 mode;__u16 signal;};struct video_picture{__u16 brightness;__u16 hue;__u16 colour;__u16 contrast;__u16 whiteness;__u16 depth;__u16 palette;};struct video_audio{int audio;__u16 volume;__u16 bass;__u16 treble;__u32 flags;char name[16U];__u16 mode;__u16 balance;__u16 step;};struct video_clip{__s32 x;__s32 y;__s32 width;__s32 height;struct video_clip*next;};struct video_window{__u32 x;__u32 y;__u32 width;__u32 height;__u32 chromakey;__u32 flags;struct video_clip*clips;int clipcount;};struct video_capture{__u32 x;__u32 y;__u32 width;__u32 height;__u16 decimation;__u16 flags;};struct video_buffer{void*base;int height;int width;int depth;int bytesperline;};struct video_mmap{unsigned frame;int height;int width;unsigned format;};struct video_key{__u8 key[8U];__u32 flags;};struct video_mbuf{int size;int frames;int offsets[32U];};struct video_unit{int video;int vbi;int radio;int audio;int teletext;};struct vbi_format{__u32 sampling_rate;__u32 samples_per_line;__u32 sample_format;__s32 start[2U];__u32 count[2U];__u32 flags;};struct video_info{__u32 frame_count;__u32 h_size;__u32 v_size;__u32 smpte_timecode;__u32 picture_type;__u32 temporal_reference;__u8 user_data[256U];};struct video_play_mode{int mode;int p1;int p2;};struct video_code{char loadwhat[16U];int datasize;__u8*data;};
# 12 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/slab.h"
typedef struct kmem_cache_s kmem_cache_t;
# 49 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/slab.h"
extern void kmem_cache_init (void);
extern void kmem_cache_sizes_init (void);
# 52
extern kmem_cache_t*kmem_find_general_cachep_R52bb6891(size_t,int);
extern kmem_cache_t*kmem_cache_create_Rd1c0b4e6(const char*,size_t,size_t,unsigned long,void(*)(void*,kmem_cache_t*,unsigned long),void(*)(void*,kmem_cache_t*,unsigned long));
# 56
extern int kmem_cache_destroy_Rdf83c692(kmem_cache_t*);
extern int kmem_cache_shrink_R12f7cf04(kmem_cache_t*);
extern void*kmem_cache_alloc_R75810956(kmem_cache_t*,int);
extern void kmem_cache_free_R891f2686(kmem_cache_t*,void*);
extern unsigned kmem_cache_size_R16a3c749(kmem_cache_t*);
# 62
extern void*kmalloc_R93d4cfe6(size_t,int);
extern void kfree_R037a0cba(const void*);
# 65
extern int kmem_cache_reap(int) __attribute__((regparm(3))) ;
# 68
extern kmem_cache_t*vm_area_cachep;
extern kmem_cache_t*mm_cachep;
extern kmem_cache_t*names_cachep_Rd25469b4;
extern kmem_cache_t*files_cachep;
extern kmem_cache_t*filp_cachep;
extern kmem_cache_t*dquot_cachep;
extern kmem_cache_t*bh_cachep_Rdcc0bb37;
extern kmem_cache_t*fs_cachep;
extern kmem_cache_t*sigact_cachep;
# 59 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgalloc.h"
inline static pgd_t*get_pgd_slow (void){
# 61
pgd_t*pgd=(pgd_t*)__get_free_pages_R4784e424((((32 | 16)| 64)| 128)| 256,0);
# 63
if(pgd){
__builtin_constant_p(0)?__builtin_constant_p(((unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t))?__constant_c_and_count_memset(pgd,16843009U * (unsigned char)0,((unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t)): __constant_c_memset(pgd,16843009U * (unsigned char)0,((unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t)):(__builtin_constant_p(((unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t))?__memset_generic(pgd,0,((unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t)): __memset_generic(pgd,0,((unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t)));
__builtin_constant_p((1024 - (unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t))?__constant_memcpy(pgd + (unsigned long)-1073741824 / (1U << 22),swapper_pg_dir + (unsigned long)-1073741824 / (1U << 22),(1024 - (unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t)): __memcpy(pgd + (unsigned long)-1073741824 / (1U << 22),swapper_pg_dir + (unsigned long)-1073741824 / (1U << 22),(1024 - (unsigned long)-1073741824 / (1U << 22))* sizeof(pgd_t));}
# 69
return pgd;}
# 74
inline static pgd_t*get_pgd_fast (void){
# 76
unsigned long*ret;
# 78
if((ret=boot_cpu_data_R0657d037.pgd_quick)!= (void*)0){
boot_cpu_data_R0657d037.pgd_quick=(unsigned long*)*ret;
ret[0]=0;
boot_cpu_data_R0657d037.pgtable_cache_sz --;}else{
# 83
ret=(unsigned long*)get_pgd_slow();}
return(pgd_t*)ret;}
# 87
inline static void free_pgd_fast(pgd_t*pgd){
# 89
*((unsigned long*)pgd)=(unsigned long)boot_cpu_data_R0657d037.pgd_quick;
boot_cpu_data_R0657d037.pgd_quick=(unsigned long*)pgd;
boot_cpu_data_R0657d037.pgtable_cache_sz ++;}
# 94
inline static void free_pgd_slow(pgd_t*pgd){
# 103
free_pages_R9941ccb8((unsigned long)pgd,0);}
# 107
inline static pte_t*pte_alloc_one(struct mm_struct*mm,unsigned long address){
# 109
pte_t*pte;
# 111
pte=(pte_t*)__get_free_pages_R4784e424((((32 | 16)| 64)| 128)| 256,0);
if(pte)
__builtin_constant_p(0)?__builtin_constant_p(1U << 12)?__constant_c_and_count_memset((void*)pte,16843009U * (unsigned char)0,1U << 12): __constant_c_memset((void*)pte,16843009U * (unsigned char)0,1U << 12):(__builtin_constant_p(1U << 12)?__memset_generic((void*)pte,0,1U << 12): __memset_generic((void*)pte,0,1U << 12));
return pte;}
# 117
inline static pte_t*pte_alloc_one_fast(struct mm_struct*mm,unsigned long address){
# 120
unsigned long*ret;
# 122
if((ret=(unsigned long*)boot_cpu_data_R0657d037.pte_quick)!= (void*)0){
boot_cpu_data_R0657d037.pte_quick=(unsigned long*)*ret;
ret[0]=ret[1];
boot_cpu_data_R0657d037.pgtable_cache_sz --;}
# 127
return(pte_t*)ret;}
# 130
inline static void pte_free_fast(pte_t*pte){
# 132
*((unsigned long*)pte)=(unsigned long)boot_cpu_data_R0657d037.pte_quick;
boot_cpu_data_R0657d037.pte_quick=(unsigned long*)pte;
boot_cpu_data_R0657d037.pgtable_cache_sz ++;}
# 137
inline static void pte_free_slow(pte_t*pte){
# 139
free_pages_R9941ccb8((unsigned long)pte,0);}
# 159 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgalloc.h"
extern int do_check_pgt_cache(int,int);
# 181 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgalloc.h"
inline static void flush_tlb_mm(struct mm_struct*mm){
# 183
if(mm == (get_current())->active_mm)
do{unsigned tmpreg;__asm__  volatile ("movl %%cr3, %0;  # flush TLB \nmovl %0, %%cr3;              \n":"=r"(tmpreg) : :"memory");}while(0);}
# 187
inline static void flush_tlb_page(struct vm_area_struct*vma,unsigned long addr){
# 190
if(vma->vm_mm == (get_current())->active_mm)
__asm__  volatile ("invlpg %0"::"m"(*((char*)addr)));}
# 194
inline static void flush_tlb_range(struct mm_struct*mm,unsigned long start,unsigned long end){
# 197
if(mm == (get_current())->active_mm)
do{unsigned tmpreg;__asm__  volatile ("movl %%cr3, %0;  # flush TLB \nmovl %0, %%cr3;              \n":"=r"(tmpreg) : :"memory");}while(0);}
# 232 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/pgalloc.h"
inline static void flush_tlb_pgtables(struct mm_struct*mm,unsigned long start,unsigned long end){
# 235
flush_tlb_mm(mm);}
# 66 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/highmem.h"
inline static unsigned nr_free_highpages (void){return 0;}
# 68
inline static void*kmap(struct page*page){return(void*)((unsigned long)((page - (page_zone(page))->zone_mem_map << 12)+ (page_zone(page))->zone_start_paddr)+ (unsigned long)-1073741824);}
# 84 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/highmem.h"
inline static void clear_user_highpage(struct page*page,unsigned long vaddr){
# 86
void*addr=kmap(page);
__builtin_constant_p(0)?__builtin_constant_p(1U << 12)?__constant_c_and_count_memset((void*)addr,16843009U * (unsigned char)0,1U << 12): __constant_c_memset((void*)addr,16843009U * (unsigned char)0,1U << 12):(__builtin_constant_p(1U << 12)?__memset_generic((void*)addr,0,1U << 12): __memset_generic((void*)addr,0,1U << 12));
do{;}while(0);}
# 91
inline static void clear_highpage(struct page*page){
# 93
__builtin_constant_p(0)?__builtin_constant_p(1U << 12)?__constant_c_and_count_memset((void*)kmap(page),16843009U * (unsigned char)0,1U << 12): __constant_c_memset((void*)kmap(page),16843009U * (unsigned char)0,1U << 12):(__builtin_constant_p(1U << 12)?__memset_generic((void*)kmap(page),0,1U << 12): __memset_generic((void*)kmap(page),0,1U << 12));
do{;}while(0);}
# 100
inline static void memclear_highpage_flush(struct page*page,unsigned offset,unsigned size){
# 102
char*kaddr;
# 104
if(offset + size > 1U << 12)
__out_of_line_bug_R8b0fd3c5(105);
kaddr=kmap(page);
__builtin_constant_p(0)?__builtin_constant_p(size)?__constant_c_and_count_memset(kaddr + offset,16843009U * (unsigned char)0,size): __constant_c_memset(kaddr + offset,16843009U * (unsigned char)0,size):(__builtin_constant_p(size)?__memset_generic(kaddr + offset,0,size): __memset_generic(kaddr + offset,0,size));
do{;}while(0);
do{;}while(0);
do{;}while(0);}
# 113
inline static void copy_user_highpage(struct page*to,struct page*from,unsigned long vaddr){
# 115
char*vfrom;char*vto;
# 117
vfrom=kmap(from);
vto=kmap(to);
__builtin_constant_p(1U << 12)?__constant_memcpy((void*)vto,(void*)vfrom,1U << 12): __memcpy((void*)vto,(void*)vfrom,1U << 12);
do{;}while(0);
do{;}while(0);}struct vm_struct{unsigned long flags;void*addr;unsigned long size;struct vm_struct*next;};
# 22 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/linux/vmalloc.h"
extern struct vm_struct*get_vm_area(unsigned long,unsigned long);
extern void vfree_R2fd1d81c(void*);
extern void*__vmalloc_R79995c5b(unsigned long,int,pgprot_t);
extern long vread(char*,char*,unsigned long);
extern void vmfree_area_pages(unsigned long,unsigned long);
extern int vmalloc_area_pages(unsigned long,unsigned long,int,pgprot_t);
# 34
inline static void*vmalloc(unsigned long size){
# 36
return __vmalloc_R79995c5b(size,((((32 | 16)| 64)| 128)| 256)| 2,(pgprot_t){(((1 | 2)| 64)| 32)| 256});}
# 43
inline static void*vmalloc_dma(unsigned long size){
# 45
return __vmalloc_R79995c5b(size,((((32 | 16)| 64)| 128)| 256)| 1,(pgprot_t){(((1 | 2)| 64)| 32)| 256});}
# 52
inline static void*vmalloc_32(unsigned long size){
# 54
return __vmalloc_R79995c5b(size,(((32 | 16)| 64)| 128)| 256,(pgprot_t){(((1 | 2)| 64)| 32)| 256});}
# 61
extern rwlock_t vmlist_lock;
# 63
extern struct vm_struct*vmlist;
# 54 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
extern void*__io_virt_debug_R2fd62b99(unsigned long,const char*,int);
extern unsigned long __io_phys_debug(unsigned long,const char*,int);
# 76 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
inline static unsigned long virt_to_phys(volatile void*address){
# 78
return(unsigned long)address - (unsigned long)-1073741824;}
# 94 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
inline static void*phys_to_virt(unsigned long address){
# 96
return(void*)((unsigned long)address + (unsigned long)-1073741824);}
# 108 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
extern void*__ioremap_R9eac042a(unsigned long,unsigned long,unsigned long);
# 122 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
inline static void*ioremap(unsigned long offset,unsigned long size){
# 124
return __ioremap_R9eac042a(offset,size,0);}
# 147 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
inline static void*ioremap_nocache(unsigned long offset,unsigned long size){
# 149
return __ioremap_R9eac042a(offset,size,16);}
# 152
extern void iounmap_R5fb196d4(void*);
# 159
extern void*bt_ioremap(unsigned long,unsigned long);
extern void bt_iounmap(void*,unsigned long);
# 233 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
inline static int check_signature(unsigned long io_addr,const unsigned char*signature,int length){
# 236
int retval=0;
do{
if(*((volatile unsigned char*)__io_virt_debug_R2fd62b99((unsigned long)io_addr,"/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h",238))!= *signature)
goto out;
io_addr ++;
signature ++;
length --;}while(length);
# 244
retval=1;
out:
 return retval;}
# 263 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
inline static int isa_check_signature(unsigned long io_addr,const unsigned char*signature,int length){
# 266
int retval=0;
do{
if(*((volatile unsigned char*)__io_virt_debug_R2fd62b99((unsigned long)((char*)((unsigned long)-1073741824)+ io_addr),"/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h",268))!= *signature)
goto out;
io_addr ++;
signature ++;
length --;}while(length);
# 274
retval=1;
out:
 return retval;}
# 409 "/home/nikhil/cyclone-dev/drivers/linux-2.4.21-kdb-v2/include/asm/io.h"
inline static unsigned char inb(unsigned short port){unsigned char _v;__asm__  volatile ("inb %w1,%0":"=a"(_v):"Nd"(port));return _v;}inline static unsigned char inb_p(unsigned short port){unsigned char _v;__asm__  volatile ("inb %w1,%0\noutb %%al,$0x80":"=a"(_v):"Nd"(port));return _v;}
# 412
inline static unsigned short inw(unsigned short port){unsigned short _v;__asm__  volatile ("inw %w1,%0":"=a"(_v):"Nd"(port));return _v;}inline static unsigned short inw_p(unsigned short port){unsigned short _v;__asm__  volatile ("inw %w1,%0\noutb %%al,$0x80":"=a"(_v):"Nd"(port));return _v;}
# 415
inline static unsigned inl(unsigned short port){unsigned _v;__asm__  volatile ("inl %w1,%0":"=a"(_v):"Nd"(port));return _v;}inline static unsigned inl_p(unsigned short port){unsigned _v;__asm__  volatile ("inl %w1,%0\noutb %%al,$0x80":"=a"(_v):"Nd"(port));return _v;}
# 418
inline static void outb(unsigned char value,unsigned short port){__asm__  volatile ("outb %b0,%w1"::"a"(value),"Nd"(port));}inline static void outb_p(unsigned char value,unsigned short port){__asm__  volatile ("outb %b0,%w1\noutb %%al,$0x80"::"a"(value),"Nd"(port));}
inline static void outw(unsigned short value,unsigned short port){__asm__  volatile ("outw %w0,%w1"::"a"(value),"Nd"(port));}inline static void outw_p(unsigned short value,unsigned short port){__asm__  volatile ("outw %w0,%w1\noutb %%al,$0x80"::"a"(value),"Nd"(port));}
inline static void outl(unsigned value,unsigned short port){__asm__  volatile ("outl %0,%w1"::"a"(value),"Nd"(port));}inline static void outl_p(unsigned value,unsigned short port){__asm__  volatile ("outl %0,%w1\noutb %%al,$0x80"::"a"(value),"Nd"(port));}
# 422
inline static void insb(unsigned short port,void*addr,unsigned long count){__asm__  volatile ("rep ; insb":"=D"(addr),"=c"(count):"d"(port),"0"(addr),"1"(count));}
inline static void insw(unsigned short port,void*addr,unsigned long count){__asm__  volatile ("rep ; insw":"=D"(addr),"=c"(count):"d"(port),"0"(addr),"1"(count));}
inline static void insl(unsigned short port,void*addr,unsigned long count){__asm__  volatile ("rep ; insl":"=D"(addr),"=c"(count):"d"(port),"0"(addr),"1"(count));}
# 426
inline static void outsb(unsigned short port,const void*addr,unsigned long count){__asm__  volatile ("rep ; outsb":"=S"(addr),"=c"(count):"d"(port),"0"(addr),"1"(count));}
inline static void outsw(unsigned short port,const void*addr,unsigned long count){__asm__  volatile ("rep ; outsw":"=S"(addr),"=c"(count):"d"(port),"0"(addr),"1"(count));}
inline static void outsl(unsigned short port,const void*addr,unsigned long count){__asm__  volatile ("rep ; outsl":"=S"(addr),"=c"(count):"d"(port),"0"(addr),"1"(count));}struct _tls_record{struct _RuntimeStack*current_frame;struct _xtunion_struct*exn_thrown;const char*exn_filename;int exn_lineno;};
# 44 "/home/nikhil/cyclone-dev/cyclone/lib/runtime_tls.h"
typedef struct _tls_record tls_record_t;struct _tls_slot{unsigned pid;unsigned usage_count;tls_record_t*record;};
# 52
typedef struct _tls_slot tls_slot_t;
# 54
extern tls_record_t*cyc_runtime_lookup_tls_record (void);
# 27 "/home/nikhil/cyclone-dev/drivers/include/cyclone.h"
extern struct _xtunion_struct*Cyc_Core_get_exn_thrown (void);
extern const char*Cyc_Core_get_exn_filename (void);
extern int Cyc_Core_get_exn_lineno (void);
# 31
extern int cyc_runtime_register_thread(struct _tls_slot*);
extern int cyc_runtime_register_thread_dbg(struct _tls_slot*,const char*);
extern int cyc_runtime_unregister_thread (void);
extern int cyc_runtime_unregister_thread_dbg(const char*);
# 2 "/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h"
extern int __builtin_constant_p(int);
extern int __builtin_expect(long,long);
# 7
inline static void CYC_UTIL_W8(u8 val8,struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if(ioaddr + reg >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
*((volatile unsigned char*)__io_virt_debug_R2fd62b99((unsigned long)(ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",11))=val8;}
# 14
inline static void CYC_UTIL_W16(u16 val16,struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 1 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
*((volatile unsigned short*)__io_virt_debug_R2fd62b99((unsigned long)(ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",18))=val16;}
# 21
inline static void CYC_UTIL_W32(u32 val32,struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 3 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
*((volatile unsigned*)__io_virt_debug_R2fd62b99((unsigned long)(ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",25))=val32;}
# 28
inline static u8 CYC_UTIL_R8(struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if(ioaddr + reg >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
return*((volatile unsigned char*)__io_virt_debug_R2fd62b99((unsigned long)(ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",32));}
# 35
inline static u16 CYC_UTIL_R16(struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 1 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
return*((volatile unsigned short*)__io_virt_debug_R2fd62b99((unsigned long)(ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",39));}
# 42
inline static u32 CYC_UTIL_R32(struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 3 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
return(unsigned long)*((volatile unsigned*)__io_virt_debug_R2fd62b99((unsigned long)(ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",46));}
# 50
inline static void THIN_CYC_UTIL_W8(u8 val8,u8*ioaddr,int reg){
*((volatile unsigned char*)__io_virt_debug_R2fd62b99((unsigned long)((void*)ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",51))=val8;}
# 54
inline static void THIN_CYC_UTIL_W16(u16 val16,u8*ioaddr,int reg){
*((volatile unsigned short*)__io_virt_debug_R2fd62b99((unsigned long)((void*)ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",55))=val16;}
# 58
inline static void THIN_CYC_UTIL_W32(u32 val32,u8*ioaddr,int reg){
*((volatile unsigned*)__io_virt_debug_R2fd62b99((unsigned long)((void*)ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",59))=val32;}
# 62
inline static u8 THIN_CYC_UTIL_R8(u8*ioaddr,int reg){
return*((volatile unsigned char*)__io_virt_debug_R2fd62b99((unsigned long)((void*)ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",63));}
# 66
inline static u16 THIN_CYC_UTIL_R16(u8*ioaddr,int reg){
return*((volatile unsigned short*)__io_virt_debug_R2fd62b99((unsigned long)((void*)ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",67));}
# 70
inline static u32 THIN_CYC_UTIL_R32(u8*ioaddr,int reg){
return(unsigned long)*((volatile unsigned*)__io_virt_debug_R2fd62b99((unsigned long)((void*)ioaddr + reg),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",71));}
# 75
inline static void CYC_UTIL_OUT8(u8 val8,struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if(ioaddr + reg >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
outb(val8,(u32)ioaddr + reg);}
# 82
inline static void CYC_UTIL_OUT16(u16 val16,struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 1 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
outw(val16,(u32)ioaddr + reg);}
# 89
inline static void CYC_UTIL_OUT32(u32 val32,struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 3 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
outl(val32,(u32)ioaddr + reg);}
# 96
inline static u8 CYC_UTIL_IN8(struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if(ioaddr + reg >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
return inb((u32)ioaddr + reg);}
# 103
inline static u16 CYC_UTIL_IN16(struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 1 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
return inw((u32)ioaddr + reg);}
# 110
inline static u32 CYC_UTIL_IN32(struct _fat_ptr fat_ioaddr,int reg){
void*ioaddr=fat_ioaddr.base;
if((ioaddr + reg)+ 3 >= (void*)fat_ioaddr.last_plus_one)
_throw_arraybounds();
return(unsigned long)inl((u32)ioaddr + reg);}
# 119
inline static void THIN_CYC_UTIL_OUT8(u8 val8,u8*ioaddr,int reg){
outb(val8,(u32)ioaddr + reg);}
# 123
inline static void THIN_CYC_UTIL_OUT16(u16 val16,u8*ioaddr,int reg){
outw(val16,(u32)ioaddr + reg);}
# 127
inline static void THIN_CYC_UTIL_OUT32(u32 val32,u8*ioaddr,int reg){
outl(val32,(u32)ioaddr + reg);}
# 131
inline static u8 THIN_CYC_UTIL_IN8(u8*ioaddr,int reg){
return inb((u32)ioaddr + reg);}
# 135
inline static u16 THIN_CYC_UTIL_IN16(u8*ioaddr,int reg){
return inw((u32)ioaddr + reg);}
# 139
inline static u32 THIN_CYC_UTIL_IN32(u8*ioaddr,int reg){
return(unsigned long)inl((u32)ioaddr + reg);}
# 144
inline static u8 _THIN_CYC_UTIL_IN8(u8*ioaddr,int reg){
# 146
return inb((u32)ioaddr + reg);}
# 150
inline static u16 _THIN_CYC_UTIL_IN16(u8*ioaddr,int reg){
# 152
return inw((u32)ioaddr + reg);}
# 155
inline static u32 _THIN_CYC_UTIL_IN32(u8*ioaddr,int reg){
# 157
return(unsigned long)inl((u32)ioaddr + reg);}
# 161
inline static void _THIN_CYC_UTIL_OUT8(u8 val8,u8*ioaddr,int reg){
outb(val8,(u32)ioaddr + reg);}
# 165
inline static void _THIN_CYC_UTIL_OUT16(u16 val16,u8*ioaddr,int reg){
outw(val16,(u32)ioaddr + reg);}
# 169
inline static void _THIN_CYC_UTIL_OUT32(u32 val32,u8*ioaddr,int reg){
outl(val32,(u32)ioaddr + reg);}
# 173
inline static void*CYC_DO_ARITHMETIC(void*p,u32 size,u32 num){
return p + size * num;}
# 177
inline static void*CYC_DO_CAST(void*p,Cyc_Core_sizeof_t size){
return p;}
# 185
inline u8*add_for_deptype(u8*x,int i){
return x + i;}
# 189
inline u16*read_u16_from_u8(u8*x,int offset,int bound){
if(offset + 1 >= bound)
_throw_arraybounds();
return*((u16*)(x + offset));}
# 195
inline u32*read_u32_from_u8(u8*x,int offset,int bound){
if(offset + 3 >= bound)
_throw_arraybounds();
return*((u32*)(x + offset));}
# 201
inline void write_u16_to_u8(u8*ioaddr,int offset,int bound,u16 val16){
if(offset + 1 >= bound)
_throw_arraybounds();
*((volatile unsigned short*)__io_virt_debug_R2fd62b99((unsigned long)(ioaddr + offset),"/home/nikhil/cyclone-dev/drivers/include/cyclone_drivers.h",204))=val16;}
# 208
inline static void*cycescape_u8_to_void(u8*a){
return a;}
# 211
static char*cycescape_coerce_charstar(const char*a){
return a;}
# 215
static char*cycescape_coerce_charstar_noz(char*a){
return a;}
# 219
inline static void*malloc_init(Cyc_Core_sizeof_t size){
void*a=_cycalloc(size);
if(a != 0)
__builtin_constant_p(0)?__builtin_constant_p(size)?__constant_c_and_count_memset(a,16843009U * (unsigned char)0,size): __constant_c_memset(a,16843009U * (unsigned char)0,size):(__builtin_constant_p(size)?__memset_generic(a,0,size): __memset_generic(a,0,size));
return a;}
# 226
inline static void*umalloc_init(Cyc_Core_sizeof_t size){
void*a=_region_malloc(Cyc_Core_unique_region,size);
if(a != 0)
__builtin_constant_p(0)?__builtin_constant_p(size)?__constant_c_and_count_memset(a,16843009U * (unsigned char)0,size): __constant_c_memset(a,16843009U * (unsigned char)0,size):(__builtin_constant_p(size)?__memset_generic(a,0,size): __memset_generic(a,0,size));
return a;}
# 233
inline static void*rmalloc_init(struct _RegionHandle*reg,Cyc_Core_sizeof_t size){
void*a=_region_malloc(reg,size);
if(a != 0)
__builtin_constant_p(0)?__builtin_constant_p(size)?__constant_c_and_count_memset(a,16843009U * (unsigned char)0,size): __constant_c_memset(a,16843009U * (unsigned char)0,size):(__builtin_constant_p(size)?__memset_generic(a,0,size): __memset_generic(a,0,size));
return a;}
# 240
extern struct _RegionHandle*Cyc_Core_refcnt_region;
# 242
inline static void*rcmalloc_init(Cyc_Core_sizeof_t size){
void*a=_region_malloc(Cyc_Core_refcnt_region,size);
if(a != 0)
__builtin_constant_p(0)?__builtin_constant_p(size)?__constant_c_and_count_memset(a,16843009U * (unsigned char)0,size): __constant_c_memset(a,16843009U * (unsigned char)0,size):(__builtin_constant_p(size)?__memset_generic(a,0,size): __memset_generic(a,0,size));
return a;}
# 249
static void*safe_arith(void*base,Cyc_Core_sizeof_t eltsize,unsigned off){
return base + eltsize * off;}struct pwc_device;
# 131 "pwc.h"
typedef struct video_device*video_dev_t;
# 133
typedef struct urb*urb_t;struct pwc_coord{int x;int y;int size;};struct pwc_iso_buf{unsigned char*data;int length;int read;urb_t urb;};struct pwc_frame_buf{unsigned char*data;int filled;struct pwc_frame_buf*next;};struct pwc_frame_buf_container{struct pwc_frame_buf*fbuf;struct pwc_frame_buf*empty_frames;struct pwc_frame_buf*empty_frames_tail;struct pwc_frame_buf*full_frames;struct pwc_frame_buf*full_frames_tail;struct pwc_frame_buf*fill_frame;struct pwc_frame_buf*read_frame;};
# 171
typedef struct pwc_frame_buf_container fbuf_cont_t;
typedef struct Cyc_Core_DynamicRegion*region_key_opt_t;
typedef region_key_opt_t rcregion_key_opt_t;struct fbuf_obj{rcregion_key_opt_t regkey;fbuf_cont_t*cont;};struct fbuf_wrapper{struct fbuf_obj*obj;};
# 185
typedef struct fbuf_wrapper fbuf_wrapper_t;struct pwc_image{unsigned len;unsigned char*img;};
# 193
typedef struct pwc_image*pwc_image_t;struct pwc_img_obj{rcregion_key_opt_t regkey;struct pwc_image*allimages;struct pwc_image*images[4U];};struct pwc_img_wrapper{struct pwc_img_obj*obj;};
# 206
typedef struct pwc_img_wrapper img_wrapper_t;struct pwc_device_obj;struct pwc_dev_reg{rcregion_key_opt_t regkey;struct pwc_device_obj*pdev;};struct pwc_device{struct pwc_dev_reg*dev_reg;};struct pwc_device_obj{struct usb_device*udev;int type;int release;int unplugged;int usb_init;int vopen;video_dev_t vdev;int vendpoint;int vcinterface;int valternate;int vframes;int vsize;int vpalette;int vframe_count;int vframes_dumped;int vframes_error;int vmax_packet_size;int vlast_packet_size;int vcompression;int vbandlength;char vsnapshot;char vsync;char vmirror;struct pwc_iso_buf sbuf[2U];char iso_init;fbuf_wrapper_t fbuf_wrapper;int frame_size;int frame_header_size;int frame_trailer_size;int drop_frames;struct pwc_decompressor*decompressor;void*decompress_data;int image_mask;struct pwc_coord view_min;struct pwc_coord view_max;struct pwc_coord image;struct pwc_coord view;struct pwc_coord offset;img_wrapper_t img_wrapper;int fill_image;int len_per_image;int image_read_pos;int image_used[4U];struct semaphore modlock;spinlock_t ptrlock;wait_queue_head_t frameq;wait_queue_head_t remove_ok;};
# 329 "pwc.h"
extern int pwc_trace;
extern int pwc_preferred_compression;
# 333
int pwc_try_video_mode(struct pwc_device*,int,int,int,int,int);
# 337
struct pwc_coord pwc_image_sizes[6U]={{128,96,0},{160,120,0},{176,144,0},{320,240,0},{352,288,0},{640,480,0}};
# 347
int pwc_decode_size(struct pwc_device_obj*,int,int);
void pwc_construct(struct pwc_device_obj*);
# 352
int pwc_set_video_mode(struct pwc_device_obj*,int,int,int,int,int);
# 354
void pwc_set_image_buffer_size(struct pwc_device_obj*);
# 357
int pwc_get_brightness(struct pwc_device_obj*);
int pwc_set_brightness(struct pwc_device_obj*,int);
int pwc_get_contrast(struct pwc_device_obj*);
int pwc_set_contrast(struct pwc_device_obj*,int);
int pwc_get_gamma(struct pwc_device_obj*);
int pwc_set_gamma(struct pwc_device_obj*,int);
int pwc_get_saturation(struct pwc_device_obj*);
int pwc_set_saturation(struct pwc_device_obj*,int);
int pwc_set_leds(struct pwc_device_obj*,int,int);
int pwc_get_leds(struct pwc_device_obj*,int*,int*);
int pwc_get_cmos_sensor(struct pwc_device_obj*);
# 370
int pwc_camera_power(struct pwc_device_obj*,int);
# 373
int pwc_ioctl(struct pwc_device_obj*,unsigned,void*);
# 378
int pwc_decompress(struct pwc_device_obj*);struct pwc_probe{char name[32U];int type;};struct pwc_whitebalance{int mode;int manual_red;int manual_blue;int read_red;int read_blue;};struct pwc_wb_speed{int control_speed;int control_delay;};struct pwc_leds{int led_on;int led_off;};struct pwc_imagesize{int width;int height;};struct pwc_decompressor{int type;int table_size;void(*init)(int,unsigned char*,void*);void(*exit)(void);void(*decompress)(struct pwc_coord*,struct pwc_coord*,struct pwc_coord*,u8*,void*,int,void*,int);void(*lock)(void);void(*unlock)(void);struct list_head pwcd_list;};struct char_wrapper{const char*s;};
# 97 "pwc.cyc"
static struct char_wrapper size2name[6U]={{"subQCIF"},{"QSIF"},{"QCIF"},{"SIF"},{"CIF"},{"VGA"}};struct Nala_table_entry{char alternate;int compressed;unsigned char mode[3U];};
# 123 "pwc.cyc"
static struct Nala_table_entry Nala_table[6U][8U]={{{'\000',0,{'\004','\001','\003'}},{'\b',0,{'\005','\001','\003'}},{'\a',0,{'\b','\001','\003'}},{'\a',0,{'\n','\001','\003'}},{'\006',0,{'\f','\001','\003'}},{'\005',0,{'\017','\001','\003'}},{'\004',0,{'\024','\001','\003'}},{'\003',0,{'\030','\001','\003'}}},{{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}}},{{'\000',0,{'\004','\001','\002'}},{'\b',0,{'\005','\001','\002'}},{'\a',0,{'\b','\001','\002'}},{'\006',0,{'\n','\001','\002'}},{'\005',0,{'\f','\001','\002'}},{'\004',0,{'\017','\001','\002'}},{'\001',0,{'\024','\001','\002'}},{'\001',0,{'\030','\001','\002'}}},{{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}}},{{'\004',0,{'\004','\001','\001'}},{'\a',1,{'\005','\003','\001'}},{'\006',1,{'\b','\003','\001'}},{'\004',1,{'\n','\003','\001'}},{'\003',1,{'\f','\003','\001'}},{'\002',1,{'\017','\003','\001'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}}},{{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}},{'\000',0,{'\000','\000','\000'}}}};struct Timon_table_entry{char alternate;unsigned short packetsize;unsigned short bandlength;unsigned char mode[13U];};
# 150 "pwc.cyc"
static struct Timon_table_entry Timon_table[6U][6U][4U]={{{{'\001',140,0,{'\005','\364','\004','\000','\000','\000','\000','\023','\000','\214','\374','\200','\002'}},{'\001',140,0,{'\005','\364','\004','\000','\000','\000','\000','\023','\000','\214','\374','\200','\002'}},{'\001',140,0,{'\005','\364','\004','\000','\000','\000','\000','\023','\000','\214','\374','\200','\002'}},{'\001',140,0,{'\005','\364','\004','\000','\000','\000','\000','\023','\000','\214','\374','\200','\002'}}},{{'\002',280,0,{'\004','\364','\004','\000','\000','\000','\000','\023','\000','\030','\251','\200','\002'}},{'\002',280,0,{'\004','\364','\004','\000','\000','\000','\000','\023','\000','\030','\251','\200','\002'}},{'\002',280,0,{'\004','\364','\004','\000','\000','\000','\000','\023','\000','\030','\251','\200','\002'}},{'\002',280,0,{'\004','\364','\004','\000','\000','\000','\000','\023','\000','\030','\251','\200','\002'}}},{{'\003',410,0,{'\003','\364','\004','\000','\000','\000','\000','\023','\000','\232','q','\200','\002'}},{'\003',410,0,{'\003','\364','\004','\000','\000','\000','\000','\023','\000','\232','q','\200','\002'}},{'\003',410,0,{'\003','\364','\004','\000','\000','\000','\000','\023','\000','\232','q','\200','\002'}},{'\003',410,0,{'\003','\364','\004','\000','\000','\000','\000','\023','\000','\232','q','\200','\002'}}},{{'\004',559,0,{'\002','\364','\004','\000','\000','\000','\000','\023','\000','/','V','\200','\002'}},{'\004',559,0,{'\002','\364','\004','\000','\000','\000','\000','\023','\000','/','V','\200','\002'}},{'\004',559,0,{'\002','\364','\004','\000','\000','\000','\000','\023','\000','/','V','\200','\002'}},{'\004',559,0,{'\002','\364','\004','\000','\000','\000','\000','\023','\000','/','V','\200','\002'}}},{{'\005',659,0,{'\001','\364','\004','\000','\000','\000','\000','\023','\000','\223','F','\200','\002'}},{'\005',659,0,{'\001','\364','\004','\000','\000','\000','\000','\023','\000','\223','F','\200','\002'}},{'\005',659,0,{'\001','\364','\004','\000','\000','\000','\000','\023','\000','\223','F','\200','\002'}},{'\005',659,0,{'\001','\364','\004','\000','\000','\000','\000','\023','\000','\223','F','\200','\002'}}},{{'\a',838,0,{'\000','\364','\004','\000','\000','\000','\000','\023','\000','F',';','\200','\002'}},{'\a',838,0,{'\000','\364','\004','\000','\000','\000','\000','\023','\000','F',';','\200','\002'}},{'\a',838,0,{'\000','\364','\004','\000','\000','\000','\000','\023','\000','F',';','\200','\002'}},{'\a',838,0,{'\000','\364','\004','\000','\000','\000','\000','\023','\000','F',';','\200','\002'}}}},{{{'\001',146,0,{'-','\364','\004','\000','\000','\000','\000','\030','\000','\222','\374','\300','\002'}},{'\001',146,0,{'-','\364','\004','\000','\000','\000','\000','\030','\000','\222','\374','\300','\002'}},{'\001',146,0,{'-','\364','\004','\000','\000','\000','\000','\030','\000','\222','\374','\300','\002'}},{'\001',146,0,{'-','\364','\004','\000','\000','\000','\000','\030','\000','\222','\374','\300','\002'}}},{{'\002',291,0,{',','\364','\004','\000','\000','\000','\000','\030','\000','#','\241','\300','\002'}},{'\001',191,630,{',','\364','\005','\023','\251','\022','\341','\027','\b','\277','\364','\300','\002'}},{'\001',191,630,{',','\364','\005','\023','\251','\022','\341','\027','\b','\277','\364','\300','\002'}},{'\001',191,630,{',','\364','\005','\023','\251','\022','\341','\027','\b','\277','\364','\300','\002'}}},{{'\003',437,0,{'+','\364','\004','\000','\000','\000','\000','\030','\000','\265','m','\300','\002'}},{'\002',291,640,{'+','\364','\005','\023','\367','\023','/','\023','\b','#','\241','\300','\002'}},{'\002',291,640,{'+','\364','\005','\023','\367','\023','/','\023','\b','#','\241','\300','\002'}},{'\001',191,420,{'+','\364','\r','\r','\033','\f','S','\036','\b','\277','\364','\300','\002'}}},{{'\004',588,0,{'*','\364','\004','\000','\000','\000','\000','\030','\000','L','R','\300','\002'}},{'\003',447,730,{'*','\364','\005','\026','\311','\026','\001','\016','\030','\277','i','\300','\002'}},{'\002',292,476,{'*','\364','\r','\016','\330','\016','\020','\031','\030','$','\241','\300','\002'}},{'\001',192,312,{'*','\364','\035','\t','\263','\b','\353','\036','\030','\300','\364','\300','\002'}}},{{'\005',703,0,{')','\364','\004','\000','\000','\000','\000','\030','\000','\277','B','\300','\002'}},{'\003',447,610,{')','\364','\005','\023','\v','\022','C','\024','\030','\277','i','\300','\002'}},{'\002',292,398,{')','\364','\r','\f','l','\v','\244','\036','\030','$','\241','\300','\002'}},{'\001',192,262,{')','\364','%','\b','#','\a','[','\036','\030','\300','\364','\300','\002'}}},{{'\b',873,0,{'(','\364','\004','\000','\000','\000','\000','\030','\000','i','7','\300','\002'}},{'\005',704,774,{'(','\364','\005','\030','!','\027','Y','\017','\030','\300','B','\300','\002'}},{'\003',448,492,{'(','\364','\005','\017',']','\016','\225','\025','\030','\300','i','\300','\002'}},{'\002',291,320,{'(','\364','\035','\t','\373','\t','3','\036','\030','#','\241','\300','\002'}}}},{{{'\001',193,0,{'\r','\364','\004','\000','\000','\000','\000','\022','\000','\301','\364','\300','\002'}},{'\001',193,0,{'\r','\364','\004','\000','\000','\000','\000','\022','\000','\301','\364','\300','\002'}},{'\001',193,0,{'\r','\364','\004','\000','\000','\000','\000','\022','\000','\301','\364','\300','\002'}},{'\001',193,0,{'\r','\364','\004','\000','\000','\000','\000','\022','\000','\301','\364','\300','\002'}}},{{'\003',385,0,{'\f','\364','\004','\000','\000','\000','\000','\022','\000','\201','y','\300','\002'}},{'\002',291,800,{'\f','\364','\005','\030','\364','\030','\030','\021','\b','#','\241','\300','\002'}},{'\002',291,800,{'\f','\364','\005','\030','\364','\030','\030','\021','\b','#','\241','\300','\002'}},{'\001',194,532,{'\f','\364','\005','\020','\232','\017','\276','\033','\b','\302','\360','\300','\002'}}},{{'\004',577,0,{'\v','\364','\004','\000','\000','\000','\000','\022','\000','A','R','\300','\002'}},{'\003',447,818,{'\v','\364','\005','\031','\211','\030','\255','\017','\020','\277','i','\300','\002'}},{'\002',292,534,{'\v','\364','\005','\020','\243','\017','\307','\031','\020','$','\241','\300','\002'}},{'\001',195,356,{'\v','\364','\025','\v','\021','\n','5','\036','\020','\303','\360','\300','\002'}}},{{'\006',776,0,{'\n','\364','\004','\000','\000','\000','\000','\022','\000','\b','?','\300','\002'}},{'\004',591,804,{'\n','\364','\005','\031','\036','\030','B','\017','\030','O','N','\300','\002'}},{'\003',447,608,{'\n','\364','\005','\022','\375','\022','!','\025','\030','\277','i','\300','\002'}},{'\002',291,396,{'\n','\364','\025','\f','^','\v','\202','\036','\030','#','\241','\300','\002'}}},{{'\t',928,0,{'\t','\364','\004','\000','\000','\000','\000','\022','\000','\240','3','\300','\002'}},{'\005',703,800,{'\t','\364','\005','\030','\364','\030','\030','\020','\030','\277','B','\300','\002'}},{'\003',447,508,{'\t','\364','\r','\017','\322','\016','\366','\033','\030','\277','i','\300','\002'}},{'\002',292,332,{'\t','\364','\035','\n','Z','\t','~','\036','\030','$','\241','\300','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',956,876,{'\b','\364','\005','\033','X','\032','|','\016',' ','\274','3','\020','\002'}},{'\004',592,542,{'\b','\364','\005','\020','\344','\020','\b','\027',' ','P','N','\020','\002'}},{'\002',291,266,{'\b','\364','%','\b','H','\a','l','\036',' ','#','\241','\020','\002'}}}},{{{'\004',582,0,{'5','\364','\004','\000','\000','\000','\000','\004','\000','F','R','`','\002'}},{'\003',387,1276,{'5','\364','\005','\'','\330','&','H','\003','\020','\203','y','`','\002'}},{'\002',291,960,{'5','\364','\r','\035','\362','\034','b','\004','\020','#','\241','`','\002'}},{'\001',191,630,{'5','\364','\035','\023','\251','\022','\031','\005','\b','\277','\364','`','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\006',775,1278,{'4','\364','\005','\'','\350','&','X','\005','0','\a','?','\020','\002'}},{'\003',447,736,{'4','\364','\025','\026','\373','\025','k','\005','\030','\277','i','\020','\002'}},{'\002',291,480,{'4','\364','-','\016','\371','\r','i','\t','\030','#','\241','\020','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',955,1050,{'3','\364','\005',' ','\317','\037','?','\006','H','\273','3','\020','\002'}},{'\004',591,650,{'3','\364','\025','\024','D','\022','\264','\b','0','O','N','\020','\002'}},{'\003',448,492,{'3','\364','%','\017','R','\r','\302','\t','(','\300','i','\020','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',958,782,{'2','\364','\r','\030','j','\026','\332','\v','X','\276','3','\320','\002'}},{'\005',703,574,{'2','\364','\035','\021','\347','\020','W','\v','@','\277','B','\320','\002'}},{'\003',446,364,{'2','\364','=','\v','\\','\t','\314','\016','0','\276','i','\320','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',958,654,{'1','\364','\025','\024','f','\022','\326','\v','P','\276','3','\220','\002'}},{'\006',776,530,{'1','\364','%','\020','\214','\016','\374','\f','H','\b','?','\220','\002'}},{'\004',592,404,{'1','\364','5','\f','\226','\v','\006','\v','8','P','N','\220','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',957,526,{'0','\364','%','\020','h','\016','\330','\r','X','\275','3','`','\002'}},{'\006',775,426,{'0','\364','5','\r','H','\v','\270','\017','P','\a','?','`','\002'}},{'\004',590,324,{'0','z','K','\n','\034','\b','\264','\016','@','N','R','`','\002'}}}},{{{'\006',771,0,{'\025','\364','\004','\000','\000','\000','\000','\003','\000','\003','?','\200','\002'}},{'\004',465,1278,{'\025','\364','\005','\'','\356','&','6','\003','\030','\321','e','\200','\002'}},{'\002',291,800,{'\025','\364','\025','\030','\364','\027','<','\005','\030','#','\241','\200','\002'}},{'\001',193,528,{'\025','\364','-','\020','~','\016','\306','\n','\030','\301','\364','\200','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',932,1278,{'\024','\364','\005','\'','\356','&','6','\004','0','\244','3','\020','\002'}},{'\004',591,812,{'\024','\364','\025','\031','V','\027','\236','\006','(','O','N','\020','\002'}},{'\002',291,400,{'\024','\364','=','\f','z','\n','\302','\016','(','#','\241','\020','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',956,876,{'\023','\364','\r','\033','X','\031','\240','\005','8','\274','3','`','\002'}},{'\005',703,644,{'\023','\364','\035','\024','\034','\022','d','\b','8','\277','B','`','\002'}},{'\003',448,410,{'\023','\364','=','\f','\304','\v','\f','\016','8','\300','i','`','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',956,650,{'\022','\364','\035','\024','J','\022','\222','\t','H','\274','3','\020','\003'}},{'\006',776,528,{'\022','\364','-','\020','~','\016','\306','\n','@','\b','?','\020','\003'}},{'\004',591,402,{'\022','\364','=','\f','\217','\n','\327','\016','@','O','N','\020','\003'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',956,544,{'\021','\364','%','\020','\364','\017','<','\n','H','\274','3','\300','\002'}},{'\a',840,478,{'\021','\364','-','\016','\353','\r','3','\v','H','H',';','\300','\002'}},{'\005',703,400,{'\021','\364','=','\f','z','\n','\302','\016','H','\277','B','\300','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',956,438,{'\020','\364','5','\r','\254','\v','\364','\r','P','\274','3','\020','\002'}},{'\a',838,384,{'\020','\364','E','\v','\375','\n','E','\017','P','F',';','\020','\002'}},{'\006',773,354,{'\020','z','K','\v','\f','\t','\200','\020','P','\005','?','\020','\002'}}}},{{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\006',773,1272,{'\035','\364','\025','\'','\266','$','\226','\002','0','\005','?','\020','\002'}},{'\004',592,976,{'\035','\364','%','\036','x','\033','X','\003','0','P','N','\020','\002'}},{'\003',448,738,{'\035','\364','=','\027','\f','\023','\354','\004','0','\300','i','\020','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',956,788,{'\034','\364','5','\030','\234','\025','|','\003','H','\274','3','\020','\002'}},{'\006',776,640,{'\034','z','S','\023','\374','\021',',','\004','H','\b','?','\020','\002'}},{'\004',592,488,{'\034','z','k','\017','<','\f','l','\006','H','P','N','\020','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',957,526,{'\033','z','c','\020','h','\r','\230','\006','X','\275','3','\200','\002'}},{'\t',957,526,{'\033','z','c','\020','h','\r','\230','\006','X','\275','3','\200','\002'}},{'\b',895,492,{'\033','z','k','\017',']','\f','\215','\006','X','\177','7','\200','\002'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}}}};struct Kiara_table_entry{char alternate;unsigned short packetsize;unsigned short bandlength;unsigned char mode[12U];};
# 166 "pwc.cyc"
static struct Kiara_table_entry Kiara_table[6U][6U][4U]={{{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}}},{{{'\001',146,0,{'\035','\364','0','\000','\000','\000','\000','\030','\000','\222','\000','\200'}},{'\001',146,0,{'\035','\364','0','\000','\000','\000','\000','\030','\000','\222','\000','\200'}},{'\001',146,0,{'\035','\364','0','\000','\000','\000','\000','\030','\000','\222','\000','\200'}},{'\001',146,0,{'\035','\364','0','\000','\000','\000','\000','\030','\000','\222','\000','\200'}}},{{'\002',291,0,{'\034','\364','0','\000','\000','\000','\000','\030','\000','#','\001','\200'}},{'\001',192,630,{'\024','\364','0','\023','\251','\022','\341','\027','\b','\300','\000','\200'}},{'\001',192,630,{'\024','\364','0','\023','\251','\022','\341','\027','\b','\300','\000','\200'}},{'\001',192,630,{'\024','\364','0','\023','\251','\022','\341','\027','\b','\300','\000','\200'}}},{{'\003',437,0,{'\033','\364','0','\000','\000','\000','\000','\030','\000','\265','\001','\200'}},{'\002',292,640,{'\023','\364','0','\023','\367','\023','/','\023',' ','$','\001','\200'}},{'\002',292,640,{'\023','\364','0','\023','\367','\023','/','\023',' ','$','\001','\200'}},{'\001',192,420,{'\023','\364','0','\r','\033','\f','S','\036','\030','\300','\000','\200'}}},{{'\004',589,0,{'\032','\364','0','\000','\000','\000','\000','\030','\000','M','\002','\200'}},{'\003',448,730,{'\022','\364','0','\026','\311','\026','\001','\016','\030','\300','\001','\200'}},{'\002',292,476,{'\022','\364','0','\016','\330','\016','\020','\031','\030','$','\001','\200'}},{'\001',192,312,{'\022','\364','P','\t','\263','\b','\353','\036','\030','\300','\000','\200'}}},{{'\005',703,0,{'\031','\364','0','\000','\000','\000','\000','\030','\000','\277','\002','\200'}},{'\003',447,610,{'\021','\364','0','\023','\v','\022','C','\024','(','\277','\001','\200'}},{'\002',292,398,{'\021','\364','P','\f','l','\v','\244','\036','(','$','\001','\200'}},{'\001',193,262,{'\021','\364','P','\b','#','\a','[','\036','(','\301','\000','\200'}}},{{'\b',874,0,{'\030','\364','0','\000','\000','\000','\000','\030','\000','j','\003','\200'}},{'\005',704,730,{'\020','\364','0','\026','\311','\026','\001','\016','(','\300','\002','\200'}},{'\003',448,492,{'\020','\364','0','\017',']','\016','\225','\025','(','\300','\001','\200'}},{'\002',292,320,{'\020','\364','P','\t','\373','\t','3','\036','(','$','\001','\200'}}}},{{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}}},{{{'\004',582,0,{'\r','\364','0','\000','\000','\000','\000','\004','\000','F','\002','\200'}},{'\003',387,1276,{'\005','\364','0','\'','\330','&','H','\003','\020','\203','\001','\200'}},{'\002',291,960,{'\005','\364','0','\035','\362','\034','b','\004','\020','#','\001','\200'}},{'\001',191,630,{'\005','\364','P','\023','\251','\022','\031','\005','\030','\277','\000','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\006',775,1278,{'\004','\364','0','\'','\350','&','X','\005','0','\a','\003','\200'}},{'\003',447,736,{'\004','\364','0','\026','\373','\025','k','\005','(','\277','\001','\200'}},{'\002',292,480,{'\004','\364','p','\016','\371','\r','i','\t','(','$','\001','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',955,1050,{'\003','\364','0',' ','\317','\037','?','\006','H','\273','\003','\200'}},{'\004',592,650,{'\003','\364','0','\024','D','\022','\264','\b','0','P','\002','\200'}},{'\003',448,492,{'\003','\364','P','\017','R','\r','\302','\t','8','\300','\001','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',958,782,{'\002','\364','0','\030','j','\026','\332','\v','X','\276','\003','\200'}},{'\005',703,574,{'\002','\364','P','\021','\347','\020','W','\v','@','\277','\002','\200'}},{'\003',446,364,{'\002','\364','\220','\v','\\','\t','\314','\016','8','\276','\001','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',958,654,{'\001','\364','0','\024','f','\022','\326','\v','P','\276','\003','\200'}},{'\006',776,530,{'\001','\364','P','\020','\214','\016','\374','\f','H','\b','\003','\200'}},{'\004',592,404,{'\001','\364','p','\f','\226','\v','\006','\v','H','P','\002','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',957,526,{'\000','\364','P','\020','h','\016','\330','\r','X','\275','\003','\200'}},{'\006',775,426,{'\000','\364','p','\r','H','\v','\270','\017','P','\a','\003','\200'}},{'\004',590,324,{'\000','z','\210','\n','\034','\b','\264','\016','P','N','\002','\200'}}}},{{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}}},{{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\006',773,1272,{'%','\364','0','\'','\266','$','\226','\002','0','\005','\003','\200'}},{'\004',592,976,{'%','\364','P','\036','x','\033','X','\003','0','P','\002','\200'}},{'\003',448,738,{'%','\364','\220','\027','\f','\023','\354','\004','0','\300','\001','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',956,788,{'$','\364','p','\030','\234','\025','|','\003','H','\274','\003','\200'}},{'\006',776,640,{'$','\364','\260','\023','\374','\021',',','\004','H','\b','\003','\200'}},{'\004',592,488,{'$','z','\350','\017','<','\f','l','\006','H','P','\002','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\t',957,526,{'#','z','\350','\020','h','\r','\230','\006','X','\275','\003','\200'}},{'\t',957,526,{'#','z','\350','\020','h','\r','\230','\006','X','\275','\003','\200'}},{'\b',895,492,{'#','z','\350','\017',']','\f','\215','\006','X','\177','\003','\200'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}},{{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}},{'\000',0,0,{'\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000','\000'}}}}};
# 235 "pwc.cyc"
inline static int send_video_command(struct usb_device*udev,int index,void*buf,int buflen){
# 237
return({struct usb_device*_tmp1EB=udev;unsigned _tmp1EA=(unsigned)(2 << 30)| 
__create_pipe(udev,0U);
# 237
__u16 _tmp1E9=(__u16)index;void*_tmp1E8=buf;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,void*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1EB,_tmp1EA,'\a',(__u8)((0 | 2 << 5)| 0),256,_tmp1E9,_tmp1E8,(__u16)buflen,100);});}
# 247
inline static int set_video_mode_Nala(struct pwc_device_obj*pdev,int size,int frames){
# 249
unsigned char buf[3U];
int ret;int fps;
struct Nala_table_entry*pEntry;
int frames2frames[31U];
frames2frames[0]=0,frames2frames[1]=0,frames2frames[2]=0,frames2frames[3]=0,frames2frames[4]=4,frames2frames[5]=5,frames2frames[6]=5,frames2frames[7]=7,frames2frames[8]=7,frames2frames[9]=10,frames2frames[10]=10,frames2frames[11]=10,frames2frames[12]=12,frames2frames[13]=12,frames2frames[14]=15,frames2frames[15]=15,frames2frames[16]=15,frames2frames[17]=15,frames2frames[18]=20,frames2frames[19]=20,frames2frames[20]=20,frames2frames[21]=20,frames2frames[22]=20,frames2frames[23]=24,frames2frames[24]=24,frames2frames[25]=24,frames2frames[26]=24,frames2frames[27]=24,frames2frames[28]=24,frames2frames[29]=24,frames2frames[30]=24;{
# 262
int frames2table[31U];
frames2table[0]=0,frames2table[1]=0,frames2table[2]=0,frames2table[3]=0,frames2table[4]=0,frames2table[5]=1,frames2table[6]=1,frames2table[7]=1,frames2table[8]=2,frames2table[9]=2,frames2table[10]=3,frames2table[11]=3,frames2table[12]=4,frames2table[13]=4,frames2table[14]=4,frames2table[15]=5,frames2table[16]=5,frames2table[17]=5,frames2table[18]=5,frames2table[19]=5,frames2table[20]=6,frames2table[21]=6,frames2table[22]=6,frames2table[23]=6,frames2table[24]=7,frames2table[25]=7,frames2table[26]=7,frames2table[27]=7,frames2table[28]=7,frames2table[29]=7,frames2table[30]=7;
# 272
if(((size < 0 || size > 4)|| frames < 4)|| frames > 25)
return - 22;
frames=*((int*)_check_known_subscript_notnull(frames2frames,31U,sizeof(int),frames));
fps=*((int*)_check_known_subscript_notnull(frames2table,31U,sizeof(int),frames));
pEntry=(struct Nala_table_entry*)_untag_fat_ptr(({struct _fat_ptr _tmp1EC=_tag_fat(*((struct Nala_table_entry(*)[8U])_check_known_subscript_notnull(Nala_table,6U,sizeof(struct Nala_table_entry[8U]),size)),sizeof(struct Nala_table_entry),8U);_fat_ptr_plus(_tmp1EC,sizeof(struct Nala_table_entry),fps);}),sizeof(struct Nala_table_entry),1U);
if((int)((struct Nala_table_entry*)_check_null(pEntry))->alternate == 0)
return - 22;
# 280
if(pEntry->compressed && !((unsigned)((struct pwc_device_obj*)_check_null(pdev))->decompressor))
return - 2;
# 283
__builtin_constant_p(3)?__constant_memcpy((void*)buf,(const void*)pEntry->mode,3U): __memcpy((void*)buf,(const void*)pEntry->mode,3U);
ret=send_video_command(((struct pwc_device_obj*)_check_null(pdev))->udev,pdev->vendpoint,(void*)buf,3);
if(ret < 0){
printk_R1b7d4074("<4>Failed to send video command... %d\n",ret);
return ret;}
# 289
if(pEntry->compressed && !((unsigned)pdev->decompressor))
((void(*)(int,unsigned char*,void*))_check_null(((struct pwc_decompressor*)_check_null(pdev->decompressor))->init))(pdev->release,buf,pdev->decompress_data);
# 293
pdev->vframes=frames;
pdev->vsize=size;
pdev->valternate=(int)pEntry->alternate;
pdev->image=pwc_image_sizes[size];
pdev->frame_size=(((pdev->image).x * (pdev->image).y)* 3)/ 2;
if(pEntry->compressed){
if(pdev->release < 5){
pdev->vbandlength=528;
pdev->frame_size /=4;}else{
# 304
pdev->vbandlength=704;
pdev->frame_size /=3;}}else{
# 309
pdev->vbandlength=0;}
return 0;}}
# 315
inline static int set_video_mode_Timon(struct pwc_device_obj*pdev,int size,int frames,int compression,int snapshot){
# 317
unsigned char buf[13U];
struct Timon_table_entry*pChoose;
int ret;int fps;
# 321
if((((size >= 6 || frames < 5)|| frames > 30)|| compression < 0)|| compression > 3)
return - 22;
if(size == 5 && frames > 15)
return - 22;
fps=frames / 5 - 1;
# 330
pChoose=0;
if(!((unsigned)((struct pwc_device_obj*)_check_null(pdev))->decompressor))
# 335
pChoose=(struct Timon_table_entry*)_untag_fat_ptr(_fat_ptr_plus(_tag_fat(*((struct Timon_table_entry(*)[4U])_check_known_subscript_notnull(*((struct Timon_table_entry(*)[6U][4U])_check_known_subscript_notnull(Timon_table,6U,sizeof(struct Timon_table_entry[6U][4U]),size)),6U,sizeof(struct Timon_table_entry[4U]),fps)),sizeof(struct Timon_table_entry),4U),sizeof(struct Timon_table_entry),0),sizeof(struct Timon_table_entry),1U);else{
# 338
while(compression <= 3){
pChoose=(struct Timon_table_entry*)_untag_fat_ptr(({struct _fat_ptr _tmp1ED=_tag_fat(*((struct Timon_table_entry(*)[4U])_check_known_subscript_notnull(*((struct Timon_table_entry(*)[6U][4U])_check_known_subscript_notnull(Timon_table,6U,sizeof(struct Timon_table_entry[6U][4U]),size)),6U,sizeof(struct Timon_table_entry[4U]),fps)),sizeof(struct Timon_table_entry),4U);_fat_ptr_plus(_tmp1ED,sizeof(struct Timon_table_entry),compression);}),sizeof(struct Timon_table_entry),1U);
if((int)((struct Timon_table_entry*)_check_null(pChoose))->alternate != 0)
break;
++ compression;}}
# 345
if(!((unsigned)pChoose)||(int)pChoose->alternate == 0)
return - 2;
# 348
__builtin_constant_p(13)?__constant_memcpy((void*)buf,(const void*)pChoose->mode,13U): __memcpy((void*)buf,(const void*)pChoose->mode,13U);
if(snapshot)
buf[0]|=(int)'\200';
ret=send_video_command(pdev->udev,pdev->vendpoint,(void*)buf,13);
if(ret < 0)
return ret;
# 355
if((int)pChoose->bandlength > 0)
((void(*)(int,unsigned char*,void*))_check_null(((struct pwc_decompressor*)_check_null(pdev->decompressor))->init))(pdev->release,buf,pdev->decompress_data);
# 359
pdev->vframes=frames;
pdev->vsize=size;
pdev->vsnapshot=(char)snapshot;
pdev->valternate=(int)pChoose->alternate;
pdev->image=*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),size));
pdev->vbandlength=(int)pChoose->bandlength;
if((int)pChoose->bandlength > 0)
pdev->frame_size=((int)pChoose->bandlength * (pdev->image).y)/ 4;else{
# 368
pdev->frame_size=(((pdev->image).x * (pdev->image).y)* 12)/ 8;}
return 0;}
# 373
inline static int set_video_mode_Kiara(struct pwc_device_obj*pdev,int size,int frames,int compression,int snapshot){
# 375
struct Kiara_table_entry*pChoose;
int fps;int ret;
unsigned char buf[12U];
# 379
if((((size >= 6 || frames < 5)|| frames > 30)|| compression < 0)|| compression > 3)
return - 22;
if(size == 5 && frames > 15)
return - 22;
fps=frames / 5 - 1;
# 388
pChoose=0;
if(!((unsigned)((struct pwc_device_obj*)_check_null(pdev))->decompressor))
# 393
pChoose=(struct Kiara_table_entry*)_untag_fat_ptr(_fat_ptr_plus(_tag_fat(*((struct Kiara_table_entry(*)[4U])_check_known_subscript_notnull(*((struct Kiara_table_entry(*)[6U][4U])_check_known_subscript_notnull(Kiara_table,6U,sizeof(struct Kiara_table_entry[6U][4U]),size)),6U,sizeof(struct Kiara_table_entry[4U]),fps)),sizeof(struct Kiara_table_entry),4U),sizeof(struct Kiara_table_entry),0),sizeof(struct Kiara_table_entry),1U);else{
# 396
while(compression <= 3){
pChoose=(struct Kiara_table_entry*)_untag_fat_ptr(({struct _fat_ptr _tmp1EE=_tag_fat(*((struct Kiara_table_entry(*)[4U])_check_known_subscript_notnull(*((struct Kiara_table_entry(*)[6U][4U])_check_known_subscript_notnull(Kiara_table,6U,sizeof(struct Kiara_table_entry[6U][4U]),size)),6U,sizeof(struct Kiara_table_entry[4U]),fps)),sizeof(struct Kiara_table_entry),4U);_fat_ptr_plus(_tmp1EE,sizeof(struct Kiara_table_entry),compression);}),sizeof(struct Kiara_table_entry),1U);
if((int)((struct Kiara_table_entry*)_check_null(pChoose))->alternate != 0)
break;
++ compression;}}
# 403
if(!((unsigned)pChoose)||(int)pChoose->alternate == 0)
return - 2;
# 407
__builtin_constant_p(12)?__constant_memcpy((void*)buf,(const void*)pChoose->mode,12U): __memcpy((void*)buf,(const void*)pChoose->mode,12U);
if(snapshot)
buf[0]|=(int)'\200';
# 412
ret=send_video_command(pdev->udev,4,(void*)buf,12);
if(ret < 0)
return ret;
# 416
if((int)pChoose->bandlength > 0)
((void(*)(int,unsigned char*,void*))_check_null(((struct pwc_decompressor*)_check_null(pdev->decompressor))->init))(pdev->release,buf,pdev->decompress_data);
# 420
pdev->vframes=frames;
pdev->vsize=size;
pdev->vsnapshot=(char)snapshot;
pdev->valternate=(int)pChoose->alternate;
pdev->image=*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),size));
pdev->vbandlength=(int)pChoose->bandlength;
if((int)pChoose->bandlength > 0)
pdev->frame_size=((int)pChoose->bandlength * (pdev->image).y)/ 4;else{
# 429
pdev->frame_size=(((pdev->image).x * (pdev->image).y)* 12)/ 8;}
pdev->frame_size +=pdev->frame_header_size + pdev->frame_trailer_size;
return 0;}
# 444 "pwc.cyc"
int pwc_set_video_mode(struct pwc_device_obj*pdev,int width,int height,int frames,int compression,int snapshot){
# 446
int ret;int size;
# 448
size=pwc_decode_size(pdev,width,height);
if(size < 0){
printk_R1b7d4074("<7>pwc Could not find suitable size.\n");
return - 34;}
# 453
ret=-22;
{int _tmp0=((struct pwc_device_obj*)_check_null(pdev))->type;int _stmttmp0=_tmp0;int _tmp1=_stmttmp0;switch((int)_tmp1){case 645:
 goto _LL4;case 646: _LL4:
# 457
 ret=set_video_mode_Nala(pdev,size,frames);
goto _LL0;case 675:
# 460
 goto _LL8;case 680: _LL8:
 goto _LLA;case 690: _LLA:
# 463
 ret=set_video_mode_Timon(pdev,size,frames,compression,snapshot);
goto _LL0;case 730:
# 466
 goto _LLE;case 740: _LLE:
 goto _LL10;case 750: _LL10:
# 469
 ret=set_video_mode_Kiara(pdev,size,frames,compression,snapshot);
goto _LL0;default:
# 472
 goto _LL0;}_LL0:;}
# 474
if(ret < 0){
if(ret == -2)
printk_R1b7d4074("<6>pwc Video mode %s@%d fps is only supported with the decompressor module (pwcx).\n",(const char*)_check_null((*((struct char_wrapper*)_check_known_subscript_notnull(size2name,6U,sizeof(struct char_wrapper),size))).s),frames);else{
# 478
printk_R1b7d4074("<3>pwc Failed to set video mode %s@%d fps; return code = %d\n",(const char*)_check_null((*((struct char_wrapper*)_check_known_subscript_notnull(size2name,6U,sizeof(struct char_wrapper),size))).s),frames,ret);}
# 480
return ret;}
# 482
(pdev->view).x=width;
(pdev->view).y=height;
pwc_set_image_buffer_size(pdev);
if(pwc_trace & 64)printk_R1b7d4074("<7>pwc Set viewport to %dx%d, image size is %dx%d, palette = %d.\n",width,height,(*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),size))).x,(pwc_image_sizes[size]).y,pdev->vpalette);
return 0;}
# 490
void pwc_set_image_buffer_size(struct pwc_device_obj*pdev){
# 492
int factor;int i;int filler=0;
# 494
{int _tmp2=((struct pwc_device_obj*)_check_null(pdev))->vpalette;int _stmttmp1=_tmp2;int _tmp3=_stmttmp1;switch((int)_tmp3){case 133:
 goto _LL4;case 5: _LL4:
# 497
 factor=16;
filler=0;
goto _LL0;case 132:
 goto _LL8;case 4: _LL8:
# 502
 factor=12;
filler=0;
goto _LL0;case 8:
 goto _LLC;case 7: _LLC:
# 507
 factor=8;
filler=128;
goto _LL0;case 10:
 goto _LL10;case 15: _LL10:
# 512
 factor=6;
filler=128;
goto _LL0;default:
# 523
 factor=0;
goto _LL0;}_LL0:;}
# 528
(pdev->image).size=(((pdev->image).x * (pdev->image).y)* factor)/ 4;
(pdev->view).size=(((pdev->view).x * (pdev->view).y)* factor)/ 4;
# 536
(pdev->offset).x=((pdev->view).x - (pdev->image).x)/ 2 & 65532;
(pdev->offset).y=((pdev->view).y - (pdev->image).y)/ 2 & 65534;{
# 541
struct pwc_img_wrapper _tmp4=pdev->img_wrapper;struct pwc_img_wrapper _stmttmp2=_tmp4;struct pwc_img_wrapper _tmp5=_stmttmp2;void*_tmp6;_tmp6=_tmp5.obj;{struct pwc_img_obj*imgobj=_tmp6;if(!((unsigned)imgobj))return - 14;{rcregion_key_opt_t gtkey=0;({struct Cyc_Core_DynamicRegion*_tmp7=gtkey;struct Cyc_Core_DynamicRegion*_tmp8=imgobj->regkey;gtkey=_tmp8;imgobj->regkey=_tmp7;});{struct _fat_ptr _tmp9=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(gtkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp9;({struct Cyc_Core_DynamicRegion*_tmpA=gtkey;struct Cyc_Core_DynamicRegion*_tmpB=imgobj->regkey;gtkey=_tmpB;imgobj->regkey=_tmpA;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
for(i=0;i < 4;++ i){
if((unsigned)*((struct pwc_image**)_check_known_subscript_notnull(imgobj->images,4U,sizeof(struct pwc_image*),i))){
struct pwc_image*_tmpD=(imgobj->images)[i];struct pwc_image*_stmttmp3=_tmpD;struct pwc_image*_tmpE=_stmttmp3;void*_tmp10;unsigned _tmpF;if(_tmpE != 0){_tmpF=_tmpE->len;_tmp10=_tmpE->img;{unsigned len=_tmpF;unsigned char*img=_tmp10;
if((unsigned)(pdev->view).size < len){
void*_tmp11=((void*(*)(unsigned char*,unsigned))CYC_DO_CAST)(img,sizeof(void*));void*itmp=_tmp11;
__builtin_constant_p(filler)?__builtin_constant_p((pdev->view).size)?__constant_c_and_count_memset(itmp,16843009U * (unsigned)((unsigned char)filler),(size_t)(pdev->view).size): __constant_c_memset(itmp,16843009U * (unsigned)((unsigned char)filler),(size_t)(pdev->view).size):(__builtin_constant_p((pdev->view).size)?__memset_generic(itmp,(char)filler,(size_t)(pdev->view).size): __memset_generic(itmp,(char)filler,(size_t)(pdev->view).size));}}}else{_throw_match();}}}
# 544
;}
# 554
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}}
# 562
int pwc_get_brightness(struct pwc_device_obj*pdev){
# 564
char buf;
int ret;
# 567
ret=({struct usb_device*_tmp1F0=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp1EF=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1F0,_tmp1EF,'\002',(__u8)((128 | 2 << 5)| 0),11008,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 573
if(ret < 0)
return ret;
return(int)buf << 9;}
# 578
int pwc_set_brightness(struct pwc_device_obj*pdev,int value){
# 580
char buf;
# 582
if(value < 0)
value=0;
if(value > 65535)
value=65535;
buf=(char)(value >> 9 & 127);
return({struct usb_device*_tmp1F2=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp1F1=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1F2,_tmp1F1,'\001',(__u8)((0 | 2 << 5)| 0),11008,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 597
int pwc_get_contrast(struct pwc_device_obj*pdev){
# 599
char buf;
int ret;
# 602
ret=({struct usb_device*_tmp1F4=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp1F3=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1F4,_tmp1F3,'\002',(__u8)((128 | 2 << 5)| 0),9984,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 608
if(ret < 0)
return ret;
return(int)buf << 10;}
# 613
int pwc_set_contrast(struct pwc_device_obj*pdev,int value){
# 615
char buf;
# 617
if(value < 0)
value=0;
if(value > 65535)
value=65535;
buf=(char)(value >> 10 & 63);
return({struct usb_device*_tmp1F6=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp1F5=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1F6,_tmp1F5,'\001',(__u8)((0 | 2 << 5)| 0),9984,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 632
int pwc_get_gamma(struct pwc_device_obj*pdev){
# 634
char buf;
int ret;
# 637
ret=({struct usb_device*_tmp1F8=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp1F7=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1F8,_tmp1F7,'\002',(__u8)((128 | 2 << 5)| 0),11264,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 643
if(ret < 0)
return ret;
return(int)buf << 11;}
# 648
int pwc_set_gamma(struct pwc_device_obj*pdev,int value){
# 650
char buf;
# 652
if(value < 0)
value=0;
if(value > 65535)
value=65535;
buf=(char)(value >> 11 & 31);
return({struct usb_device*_tmp1FA=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp1F9=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1FA,_tmp1F9,'\001',(__u8)((0 | 2 << 5)| 0),11264,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 668
int pwc_get_saturation(struct pwc_device_obj*pdev){
# 670
char buf;
int ret;
# 673
if(((struct pwc_device_obj*)_check_null(pdev))->type < 675)
return - 1;
ret=({struct usb_device*_tmp1FD=pdev->udev;unsigned _tmp1FC=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;unsigned short _tmp1FB=
# 678
pdev->type < 730?5888: 5632;
# 675
((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp1FD,_tmp1FC,'\004',(__u8)((128 | 2 << 5)| 0),_tmp1FB,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 681
if(ret < 0)
return ret;
return 32768 + (int)buf * 327;}
# 686
int pwc_set_saturation(struct pwc_device_obj*pdev,int value){
# 688
char buf;
# 690
if(((struct pwc_device_obj*)_check_null(pdev))->type < 675)
return - 22;
if(value < 0)
value=0;
if(value > 65535)
value=65535;
# 697
buf=(char)((value - 32768)/ 327);
return({struct usb_device*_tmp200=pdev->udev;unsigned _tmp1FF=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);unsigned short _tmp1FE=
# 701
pdev->type < 730?5888: 5632;
# 698
((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp200,_tmp1FF,'\003',(__u8)((0 | 2 << 5)| 0),_tmp1FE,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 709
inline static int pwc_set_agc(struct pwc_device_obj*pdev,int mode,int value){
# 711
char buf;
int ret;
# 714
if(mode)
buf='\000';else{
# 717
buf='\377';}
# 719
ret=({struct usb_device*_tmp202=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp201=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp202,_tmp201,'\001',(__u8)((0 | 2 << 5)| 0),8192,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 726
if(!mode && ret >= 0){
if(value < 0)
value=0;
if(value > 65535)
value=65535;
buf=(char)(value >> 10 & 63);
ret=({struct usb_device*_tmp204=pdev->udev;unsigned _tmp203=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp204,_tmp203,'\001',(__u8)((0 | 2 << 5)| 0),8448,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 739
if(ret < 0)
return ret;
return 0;}
# 744
inline static int pwc_get_agc(struct pwc_device_obj*pdev,int*value){
# 746
unsigned char buf;
int ret;
# 749
ret=({struct usb_device*_tmp206=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp205=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp206,_tmp205,'\002',(__u8)((128 | 2 << 5)| 0),8192,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 755
if(ret < 0)
return ret;
# 758
if((int)buf != 0){
ret=({struct usb_device*_tmp208=pdev->udev;unsigned _tmp207=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp208,_tmp207,'\002',(__u8)((128 | 2 << 5)| 0),8448,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 765
if(ret < 0)
return ret;
if((int)buf > 63)
buf='?';
*((int*)_check_null(value))=(int)buf << 10;}else{
# 772
ret=({struct usb_device*_tmp20A=pdev->udev;unsigned _tmp209=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp20A,_tmp209,'\006',(__u8)((128 | 2 << 5)| 0),1280,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 778
if(ret < 0)
return ret;
# 781
if((int)buf > 159)
buf='\237';
*((int*)_check_null(value))=-(48 + (int)buf * 409);}
# 786
return 0;}
# 789
inline static int pwc_set_shutter_speed(struct pwc_device_obj*pdev,int mode,int value){
# 791
char buf[2U];
int speed;int ret;
# 795
if(mode)
buf[0]='\000';else{
# 798
buf[0]='\377';}
# 800
ret=({struct usb_device*_tmp20D=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp20C=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);__u16 _tmp20B=(__u16)pdev->vcinterface;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp20D,_tmp20C,'\001',(__u8)((0 | 2 << 5)| 0),8704,_tmp20B,buf,1,100 / 2);});
# 807
if(!mode && ret >= 0){
if(value < 0)
value=0;
if(value > 65535)
value=65535;
{int _tmp12=pdev->type;int _stmttmp4=_tmp12;int _tmp13=_stmttmp4;switch((int)_tmp13){case 675:
 goto _LL4;case 680: _LL4:
 goto _LL6;case 690: _LL6:
# 817
 speed=value / 100;
buf[1]=(char)(speed >> 8);
buf[0]=(char)(speed & 255);
goto _LL0;case 730:
 goto _LLA;case 740: _LLA:
 goto _LLC;case 750: _LLC:
# 825
 buf[1]='\000';
buf[0]=(char)(value >> 8);
goto _LL0;default:
# 829
 goto _LL0;}_LL0:;}
# 832
ret=({struct usb_device*_tmp210=pdev->udev;unsigned _tmp20F=(unsigned)(2 << 30)| 
__create_pipe(pdev->udev,0U);
# 832
__u16 _tmp20E=(__u16)pdev->vcinterface;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp210,_tmp20F,'\001',(__u8)((0 | 2 << 5)| 0),8960,_tmp20E,(char*)_untag_fat_ptr(_fat_ptr_plus(_tag_fat(buf,sizeof(char),2U),sizeof(char),0),sizeof(char),1U),2,100 / 2);});}
# 842
return ret;}
# 848
int pwc_camera_power(struct pwc_device_obj*pdev,int power){
# 850
char buf;
# 852
if(((struct pwc_device_obj*)_check_null(pdev))->type < 675 || pdev->type < 730 && pdev->release < 6)
return 0;
# 855
if(power)
buf='\000';else{
# 858
buf='\377';}
return({struct usb_device*_tmp212=pdev->udev;unsigned _tmp211=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp212,_tmp211,'\005',(__u8)((0 | 2 << 5)| 0),12800,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 871
inline static int pwc_restore_user(struct pwc_device_obj*pdev){
# 873
return({struct usb_device*_tmp214=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp213=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,int*,__u16,int))usb_control_msg_R000a2d2c)(_tmp214,_tmp213,'\005',(__u8)((0 | 2 << 5)| 0),768,(__u16)pdev->vcinterface,0,0,100 / 2);});}
# 881
inline static int pwc_save_user(struct pwc_device_obj*pdev){
# 883
return({struct usb_device*_tmp216=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp215=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,int*,__u16,int))usb_control_msg_R000a2d2c)(_tmp216,_tmp215,'\005',(__u8)((0 | 2 << 5)| 0),512,(__u16)pdev->vcinterface,0,0,100 / 2);});}
# 891
inline static int pwc_restore_factory(struct pwc_device_obj*pdev){
# 893
return({struct usb_device*_tmp218=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp217=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,int*,__u16,int))usb_control_msg_R000a2d2c)(_tmp218,_tmp217,'\005',(__u8)((0 | 2 << 5)| 0),1024,(__u16)pdev->vcinterface,0,0,100 / 2);});}
# 915 "pwc.cyc"
inline static int pwc_set_awb(struct pwc_device_obj*pdev,int mode){
# 917
char buf;
int ret;
# 920
if(mode < 0)
mode=0;
# 923
if(mode > 4)
mode=4;
# 926
buf=(char)(mode & 7);
# 928
ret=({struct usb_device*_tmp21A=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp219=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp21A,_tmp219,'\003',(__u8)((0 | 2 << 5)| 0),4096,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 935
if(ret < 0)
return ret;
return 0;}
# 940
inline static int pwc_get_awb(struct pwc_device_obj*pdev){
# 942
unsigned char buf;
int ret;
# 945
ret=({struct usb_device*_tmp21C=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp21B=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp21C,_tmp21B,'\004',(__u8)((128 | 2 << 5)| 0),4096,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 952
if(ret < 0)
return ret;
return(int)buf;}
# 957
inline static int pwc_set_red_gain(struct pwc_device_obj*pdev,int value){
# 959
unsigned char buf;
# 961
if(value < 0)
value=0;
if(value > 65535)
value=65535;
# 967
buf=(unsigned char)(value >> 8);
# 969
return({struct usb_device*_tmp21E=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp21D=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp21E,_tmp21D,'\003',(__u8)((0 | 2 << 5)| 0),4864,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 977
inline static int pwc_get_red_gain(struct pwc_device_obj*pdev){
# 979
unsigned char buf;
int ret;
# 982
ret=({struct usb_device*_tmp220=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp21F=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp220,_tmp21F,'\004',(__u8)((128 | 2 << 5)| 0),4864,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 989
if(ret < 0)
return ret;
# 992
return(int)buf << 8;}
# 996
inline static int pwc_set_blue_gain(struct pwc_device_obj*pdev,int value){
# 998
unsigned char buf;
# 1000
if(value < 0)
value=0;
if(value > 65535)
value=65535;
# 1006
buf=(unsigned char)(value >> 8);
# 1008
return({struct usb_device*_tmp222=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp221=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp222,_tmp221,'\003',(__u8)((0 | 2 << 5)| 0),5120,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 1016
inline static int pwc_get_blue_gain(struct pwc_device_obj*pdev){
# 1018
unsigned char buf;
int ret;
# 1021
ret=({struct usb_device*_tmp224=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp223=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp224,_tmp223,'\004',(__u8)((128 | 2 << 5)| 0),5120,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1028
if(ret < 0)
return ret;
# 1031
return(int)buf << 8;}
# 1039
inline static int pwc_read_red_gain(struct pwc_device_obj*pdev){
# 1041
unsigned char buf;
int ret;
# 1044
ret=({struct usb_device*_tmp226=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp225=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp226,_tmp225,'\006',(__u8)((128 | 2 << 5)| 0),1792,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1051
if(ret < 0)
return ret;
# 1054
return(int)buf << 8;}
# 1057
inline static int pwc_read_blue_gain(struct pwc_device_obj*pdev){
# 1059
unsigned char buf;
int ret;
# 1062
ret=({struct usb_device*_tmp228=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp227=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp228,_tmp227,'\006',(__u8)((128 | 2 << 5)| 0),2048,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1069
if(ret < 0)
return ret;
# 1072
return(int)buf << 8;}
# 1076
inline static int pwc_set_wb_speed(struct pwc_device_obj*pdev,int speed){
# 1078
unsigned char buf;
# 1081
buf=(unsigned char)(speed / 2032);
return({struct usb_device*_tmp22A=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp229=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp22A,_tmp229,'\003',(__u8)((0 | 2 << 5)| 0),4352,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 1090
inline static int pwc_get_wb_speed(struct pwc_device_obj*pdev){
# 1092
unsigned char buf;
int ret;
# 1095
ret=({struct usb_device*_tmp22C=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp22B=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp22C,_tmp22B,'\004',(__u8)((128 | 2 << 5)| 0),4352,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1101
if(ret < 0)
return ret;
return(int)buf * 2032;}
# 1107
inline static int pwc_set_wb_delay(struct pwc_device_obj*pdev,int delay){
# 1109
unsigned char buf;
# 1112
buf=(unsigned char)(delay >> 10);
return({struct usb_device*_tmp22E=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp22D=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp22E,_tmp22D,'\003',(__u8)((0 | 2 << 5)| 0),4608,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 1121
inline static int pwc_get_wb_delay(struct pwc_device_obj*pdev){
# 1123
unsigned char buf;
int ret;
# 1126
ret=({struct usb_device*_tmp230=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp22F=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp230,_tmp22F,'\004',(__u8)((128 | 2 << 5)| 0),4608,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1132
if(ret < 0)
return ret;
return(int)buf << 10;}
# 1138
int pwc_set_leds(struct pwc_device_obj*pdev,int on_value,int off_value){
# 1140
unsigned char buf[2U];
# 1142
if(((struct pwc_device_obj*)_check_null(pdev))->type < 730)
return 0;
on_value /=100;
off_value /=100;
if(on_value < 0)
on_value=0;
if(on_value > 255)
on_value=255;
if(off_value < 0)
off_value=0;
if(off_value > 255)
off_value=255;
# 1155
buf[0]=(unsigned char)on_value;
buf[1]=(unsigned char)off_value;
# 1158
return({struct usb_device*_tmp233=pdev->udev;unsigned _tmp232=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);__u16 _tmp231=(__u16)pdev->vcinterface;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp233,_tmp232,'\005',(__u8)((0 | 2 << 5)| 0),13312,_tmp231,(unsigned char*)_untag_fat_ptr(_fat_ptr_plus(_tag_fat(buf,sizeof(unsigned char),2U),sizeof(unsigned char),0),sizeof(unsigned char),1U),2,100 / 2);});}
# 1161
int pwc_get_leds(struct pwc_device_obj*pdev,int*on_value,int*off_value){
# 1163
unsigned char buf[2U];
int ret;
# 1166
if(((struct pwc_device_obj*)_check_null(pdev))->type < 730){
*((int*)_check_null(on_value))=- 1;
*((int*)_check_null(off_value))=- 1;
return 0;}
# 1172
ret=({struct usb_device*_tmp236=pdev->udev;unsigned _tmp235=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;__u16 _tmp234=(__u16)pdev->vcinterface;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp236,_tmp235,'\006',(__u8)((128 | 2 << 5)| 0),13312,_tmp234,(unsigned char*)_untag_fat_ptr(_fat_ptr_plus(_tag_fat(buf,sizeof(unsigned char),2U),sizeof(unsigned char),0),sizeof(unsigned char),1U),2,100 / 2);});
if(ret < 0)
return ret;
*((int*)_check_null(on_value))=(int)buf[0]* 100;
*((int*)_check_null(off_value))=(int)buf[1]* 100;
return 0;}
# 1180
inline static int pwc_set_contour(struct pwc_device_obj*pdev,int contour){
# 1182
unsigned char buf;
int ret;
# 1185
if(contour < 0)
buf='\377';else{
# 1188
buf='\000';}
ret=({struct usb_device*_tmp238=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp237=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp238,_tmp237,'\001',(__u8)((0 | 2 << 5)| 0),9472,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1195
if(ret < 0)
return ret;
# 1198
if(contour < 0)
return 0;
if(contour > 65535)
contour=65535;
# 1203
buf=(unsigned char)(contour >> 10);
ret=({struct usb_device*_tmp23A=pdev->udev;unsigned _tmp239=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp23A,_tmp239,'\001',(__u8)((0 | 2 << 5)| 0),9216,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1210
if(ret < 0)
return ret;
return 0;}
# 1215
inline static int pwc_get_contour(struct pwc_device_obj*pdev,int*contour){
# 1217
unsigned char buf;
int ret;
# 1220
ret=({struct usb_device*_tmp23C=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp23B=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp23C,_tmp23B,'\002',(__u8)((128 | 2 << 5)| 0),9472,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1226
if(ret < 0)
return ret;
# 1229
if((int)buf == 0){
# 1231
ret=({struct usb_device*_tmp23E=pdev->udev;unsigned _tmp23D=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp23E,_tmp23D,'\002',(__u8)((128 | 2 << 5)| 0),9216,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1237
if(ret < 0)
return ret;
*((int*)_check_null(contour))=(int)buf << 10;}else{
# 1242
*((int*)_check_null(contour))=- 1;}
return 0;}
# 1247
inline static int pwc_set_backlight(struct pwc_device_obj*pdev,int backlight){
# 1249
unsigned char buf;
# 1251
if(backlight)
buf='\377';else{
# 1254
buf='\000';}
return({struct usb_device*_tmp240=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp23F=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp240,_tmp23F,'\001',(__u8)((0 | 2 << 5)| 0),9728,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 1263
inline static int pwc_get_backlight(struct pwc_device_obj*pdev){
# 1265
int ret;
unsigned char buf;
# 1268
ret=({struct usb_device*_tmp242=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp241=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp242,_tmp241,'\002',(__u8)((128 | 2 << 5)| 0),9728,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1274
if(ret < 0)
return ret;
return(int)buf;}
# 1280
inline static int pwc_set_flicker(struct pwc_device_obj*pdev,int flicker){
# 1282
unsigned char buf;
# 1284
if(flicker)
buf='\377';else{
# 1287
buf='\000';}
return({struct usb_device*_tmp244=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp243=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp244,_tmp243,'\001',(__u8)((0 | 2 << 5)| 0),10496,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 1291
inline static int pwc_get_flicker(struct pwc_device_obj*pdev){
# 1293
int ret;
unsigned char buf;
# 1296
ret=({struct usb_device*_tmp246=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp245=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp246,_tmp245,'\002',(__u8)((128 | 2 << 5)| 0),10496,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
if(ret < 0)
return ret;
return(int)buf;}
# 1303
inline static int pwc_set_dynamic_noise(struct pwc_device_obj*pdev,int noise){
# 1305
unsigned char buf;
# 1307
if(noise < 0)
noise=0;
if(noise > 3)
noise=3;
buf=(unsigned char)noise;
return({struct usb_device*_tmp248=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp247=(unsigned)(2 << 30)| __create_pipe(pdev->udev,0U);((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp248,_tmp247,'\001',(__u8)((0 | 2 << 5)| 0),10240,(__u16)pdev->vcinterface,& buf,1,100 / 2);});}
# 1315
inline static int pwc_get_dynamic_noise(struct pwc_device_obj*pdev){
# 1317
int ret;
unsigned char buf;
# 1320
ret=({struct usb_device*_tmp24A=((struct pwc_device_obj*)_check_null(pdev))->udev;unsigned _tmp249=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp24A,_tmp249,'\002',(__u8)((128 | 2 << 5)| 0),10240,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
if(ret < 0)
return ret;
return(int)buf;}
# 1327
int pwc_get_cmos_sensor(struct pwc_device_obj*pdev){
# 1329
unsigned char buf;
int ret=-1;int request;
# 1332
if(((struct pwc_device_obj*)_check_null(pdev))->type < 675)
request=3072;else{
if(pdev->type < 730)
return - 1;else{
# 1337
request=14080;}}
# 1339
ret=({struct usb_device*_tmp24D=pdev->udev;unsigned _tmp24C=((unsigned)(2 << 30)| __create_pipe(pdev->udev,0U))| (unsigned)128;__u16 _tmp24B=(__u16)request;((int(*)(struct usb_device*,unsigned,__u8,__u8,__u16,__u16,unsigned char*,__u16,int))usb_control_msg_R000a2d2c)(_tmp24D,_tmp24C,'\006',(__u8)((128 | 2 << 5)| 0),_tmp24B,(__u16)pdev->vcinterface,& buf,1,100 / 2);});
# 1345
if(ret < 0)
return ret;
if(pdev->type < 675)
return(int)buf | 256;else{
# 1350
return(int)buf;}}
# 1358
int pwc_ioctl(struct pwc_device_obj*pdev,unsigned cmd,void*arg){
# 1360
int ret=0;
# 1362
{unsigned _tmp14=cmd;unsigned _tmp15;_tmp15=_tmp14;if(_tmp15 == 30400U){unsigned cmd=_tmp15;
# 1365
if(pwc_restore_user(pdev))
ret=- 22;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == 30401U){unsigned cmd=_tmp15;
# 1372
if(pwc_save_user(pdev))
ret=- 22;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == 30402U){unsigned cmd=_tmp15;
# 1379
if(pwc_restore_factory(pdev))
ret=- 22;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772227U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1386
int qual;
# 1388
if((int)(__builtin_constant_p((int)sizeof(int))?__constant_copy_from_user((void*)& qual,(const void*)arg,sizeof(int)): __generic_copy_from_user_R116166aa((void*)& qual,(const void*)arg,sizeof(int))))
ret=- 14;else{
# 1391
if(qual < 0 || qual > 3)
ret=- 22;else{
# 1394
ret=pwc_try_video_mode(((struct video_device*)_check_null(((struct pwc_device_obj*)_check_null(pdev))->vdev))->priv,(pdev->view).x,(pdev->view).y,pdev->vframes,qual,(int)pdev->vsnapshot);}
if(ret >= 0)
((struct pwc_device_obj*)_check_null(pdev))->vcompression=qual;}
# 1398
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514051U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1403
if((int)(__builtin_constant_p((int)sizeof(int))?__constant_copy_to_user(arg,(const void*)&((struct pwc_device_obj*)_check_null(pdev))->vcompression,sizeof(int)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)&((struct pwc_device_obj*)_check_null(pdev))->vcompression,sizeof(int))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514055U | sizeof(struct pwc_probe)<< 16U)){unsigned cmd=_tmp15;
# 1410
struct pwc_probe probe=({struct pwc_probe _tmp1B8;({{unsigned _tmp1B9=31U;unsigned i;for(i=0;i < _tmp1B9;++ i){(_tmp1B8.name)[i]='\000';}(_tmp1B8.name)[_tmp1B9]=0;}0;}),_tmp1B8.type=0;_tmp1B8;});
# 1412
strcpy(probe.name,(const char*)((struct video_device*)_check_null(((struct pwc_device_obj*)_check_null(pdev))->vdev))->name);
# 1414
probe.type=pdev->type;
if((int)(__builtin_constant_p((int)sizeof(probe))?__constant_copy_to_user(arg,(const void*)& probe,sizeof(probe)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& probe,sizeof(probe))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772232U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1422
int agc;
# 1424
if((int)(__builtin_constant_p((int)sizeof(agc))?__constant_copy_from_user((void*)& agc,(const void*)arg,sizeof(agc)): __generic_copy_from_user_R116166aa((void*)& agc,(const void*)arg,sizeof(agc))))
ret=- 14;else{
# 1427
if(pwc_set_agc(pdev,agc < 0?1: 0,agc))
ret=- 22;}
# 1430
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514056U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1435
int agc;
# 1437
if(pwc_get_agc(pdev,& agc))
ret=- 22;else{
# 1440
if((int)(__builtin_constant_p((int)sizeof(agc))?__constant_copy_to_user(arg,(const void*)& agc,sizeof(agc)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& agc,sizeof(agc))))
ret=- 14;}
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772233U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1447
int shutter_speed;
# 1449
if((int)(__builtin_constant_p((int)sizeof(shutter_speed))?__constant_copy_from_user((void*)& shutter_speed,(const void*)arg,sizeof(shutter_speed)): __generic_copy_from_user_R116166aa((void*)& shutter_speed,(const void*)arg,sizeof(shutter_speed))))
ret=- 14;else{
# 1452
ret=pwc_set_shutter_speed(pdev,shutter_speed < 0?1: 0,shutter_speed);}
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772234U | sizeof(struct pwc_whitebalance)<< 16U)){unsigned cmd=_tmp15;
# 1458
struct pwc_whitebalance wb;
# 1460
if((int)(__builtin_constant_p((int)sizeof(wb))?__constant_copy_from_user((void*)& wb,(const void*)arg,sizeof(wb)): __generic_copy_from_user_R116166aa((void*)& wb,(const void*)arg,sizeof(wb))))
ret=- 14;else{
# 1463
ret=pwc_set_awb(pdev,wb.mode);
if(ret >= 0 && wb.mode == 3){
pwc_set_red_gain(pdev,wb.manual_red);
pwc_set_blue_gain(pdev,wb.manual_blue);}}
# 1469
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514058U | sizeof(struct pwc_whitebalance)<< 16U)){unsigned cmd=_tmp15;
# 1474
struct pwc_whitebalance wb;
# 1476
__builtin_constant_p(0)?__builtin_constant_p((int)sizeof(wb))?__constant_c_and_count_memset((void*)& wb,16843009U * (unsigned)'\000',sizeof(wb)): __constant_c_memset((void*)& wb,16843009U * (unsigned)'\000',sizeof(wb)):(__builtin_constant_p((int)sizeof(wb))?__memset_generic((void*)& wb,'\000',sizeof(wb)): __memset_generic((void*)& wb,'\000',sizeof(wb)));
({int _tmp24E=pwc_get_awb(pdev);wb.mode=_tmp24E;});
if(wb.mode < 0)
ret=- 22;else{
# 1481
if(wb.mode == 3){
({int _tmp24F=pwc_get_red_gain(pdev);wb.manual_red=_tmp24F;});
({int _tmp250=pwc_get_blue_gain(pdev);wb.manual_blue=_tmp250;});}
# 1485
if(wb.mode == 4){
({int _tmp251=pwc_read_red_gain(pdev);wb.read_red=_tmp251;});
({int _tmp252=pwc_read_blue_gain(pdev);wb.read_blue=_tmp252;});}
# 1489
if((int)(__builtin_constant_p((int)sizeof(wb))?__constant_copy_to_user(arg,(const void*)& wb,sizeof(wb)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& wb,sizeof(wb))))
ret=- 14;}
# 1492
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772235U | sizeof(struct pwc_wb_speed)<< 16U)){unsigned cmd=_tmp15;
# 1497
struct pwc_wb_speed wbs;
# 1499
if((int)(__builtin_constant_p((int)sizeof(wbs))?__constant_copy_from_user((void*)& wbs,(const void*)arg,sizeof(wbs)): __generic_copy_from_user_R116166aa((void*)& wbs,(const void*)arg,sizeof(wbs))))
ret=- 14;else{
# 1502
if(wbs.control_speed > 0)
ret=pwc_set_wb_speed(pdev,wbs.control_speed);
# 1505
if(wbs.control_delay > 0)
ret=pwc_set_wb_delay(pdev,wbs.control_delay);}
# 1509
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514059U | sizeof(struct pwc_wb_speed)<< 16U)){unsigned cmd=_tmp15;
# 1514
struct pwc_wb_speed wbs;
# 1516
ret=pwc_get_wb_speed(pdev);
if(ret < 0)
goto _LL0;
wbs.control_speed=ret;
ret=pwc_get_wb_delay(pdev);
if(ret < 0)
goto _LL0;
wbs.control_delay=ret;
if((int)(__builtin_constant_p((int)sizeof(wbs))?__constant_copy_to_user(arg,(const void*)& wbs,sizeof(wbs)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& wbs,sizeof(wbs))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772237U | sizeof(struct pwc_leds)<< 16U)){unsigned cmd=_tmp15;
# 1531
struct pwc_leds leds;
# 1533
if((int)(__builtin_constant_p((int)sizeof(leds))?__constant_copy_from_user((void*)& leds,(const void*)arg,sizeof(leds)): __generic_copy_from_user_R116166aa((void*)& leds,(const void*)arg,sizeof(leds))))
ret=- 14;else{
# 1536
ret=pwc_set_leds(pdev,leds.led_on,leds.led_off);}
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514061U | sizeof(struct pwc_leds)<< 16U)){unsigned cmd=_tmp15;
# 1543
struct pwc_leds leds;
# 1545
ret=pwc_get_leds(pdev,& leds.led_on,& leds.led_off);
if(ret < 0)
goto _LL0;
if((int)(__builtin_constant_p((int)sizeof(leds))?__constant_copy_to_user(arg,(const void*)& leds,sizeof(leds)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& leds,sizeof(leds))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772238U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1555
int contour;
# 1557
if((int)(__builtin_constant_p((int)sizeof(contour))?__constant_copy_from_user((void*)& contour,(const void*)arg,sizeof(contour)): __generic_copy_from_user_R116166aa((void*)& contour,(const void*)arg,sizeof(contour))))
ret=- 14;else{
# 1560
ret=pwc_set_contour(pdev,contour);}
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514062U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1566
int contour;
# 1568
ret=pwc_get_contour(pdev,& contour);
if(ret < 0)
goto _LL0;
# 1572
if((int)(__builtin_constant_p((int)sizeof(contour))?__constant_copy_to_user(arg,(const void*)& contour,sizeof(contour)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& contour,sizeof(contour))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772239U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1579
int backlight;
# 1581
if((int)(__builtin_constant_p((int)sizeof(backlight))?__constant_copy_from_user((void*)& backlight,(const void*)arg,sizeof(backlight)): __generic_copy_from_user_R116166aa((void*)& backlight,(const void*)arg,sizeof(backlight))))
ret=- 14;else{
# 1584
ret=pwc_set_backlight(pdev,backlight);}
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514063U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1590
ret=pwc_get_backlight(pdev);
if(ret < 0)
goto _LL0;
if((int)(__builtin_constant_p((int)sizeof(ret))?__constant_copy_to_user(arg,(const void*)& ret,sizeof(ret)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& ret,sizeof(ret))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772240U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1600
int flicker;
# 1602
if((int)(__builtin_constant_p((int)sizeof(flicker))?__constant_copy_from_user((void*)& flicker,(const void*)arg,sizeof(flicker)): __generic_copy_from_user_R116166aa((void*)& flicker,(const void*)arg,sizeof(flicker))))
ret=- 14;else{
# 1605
ret=pwc_set_flicker(pdev,flicker);}
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514064U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1611
ret=pwc_get_flicker(pdev);
if(ret < 0)
goto _LL0;
if((int)(__builtin_constant_p((int)sizeof(ret))?__constant_copy_to_user(arg,(const void*)& ret,sizeof(ret)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& ret,sizeof(ret))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (1073772241U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1621
int dynnoise;
# 1623
if((int)(__builtin_constant_p((int)sizeof(dynnoise))?__constant_copy_from_user((void*)& dynnoise,(const void*)arg,sizeof(dynnoise)): __generic_copy_from_user_R116166aa((void*)& dynnoise,(const void*)arg,sizeof(dynnoise))))
ret=- 14;else{
# 1626
ret=pwc_set_dynamic_noise(pdev,dynnoise);}
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514065U | sizeof(int)<< 16U)){unsigned cmd=_tmp15;
# 1632
ret=pwc_get_dynamic_noise(pdev);
if(ret < 0)
goto _LL0;
if((int)(__builtin_constant_p((int)sizeof(ret))?__constant_copy_to_user(arg,(const void*)& ret,sizeof(ret)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& ret,sizeof(ret))))
ret=- 14;
goto _LL0;}else{_tmp15=_tmp14;if(_tmp15 == (2147514066U | sizeof(struct pwc_imagesize)<< 16U)){unsigned cmd=_tmp15;
# 1642
struct pwc_imagesize size;
# 1644
size.width=(((struct pwc_device_obj*)_check_null(pdev))->image).x;
size.height=(pdev->image).y;
if((int)(__builtin_constant_p((int)sizeof(size))?__constant_copy_to_user(arg,(const void*)& size,sizeof(size)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& size,sizeof(size))))
ret=- 14;
goto _LL0;}else{
# 1652
ret=- 515;
goto _LL0;}}}}}}}}}}}}}}}}}}}}}}}}_LL0:;}
# 1656
if(ret > 0)
return 0;
return ret;}
# 1668 "pwc.cyc"
int pwc_decode_size(struct pwc_device_obj*pdev,int width,int height){
# 1670
int i;int find;
# 1673
if(width > (((struct pwc_device_obj*)_check_null(pdev))->view_max).x || height > (pdev->view_max).y)
return - 1;
# 1678
find=-1;
for(i=0;i < 6;++ i){
if(pdev->image_mask & 1 << i){
if((*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),i))).x <= width &&(pwc_image_sizes[i]).y <= height)
find=i;}}
# 1685
return find;}
# 1690
void pwc_construct(struct pwc_device_obj*pdev){
# 1692
{int _tmp16=((struct pwc_device_obj*)_check_null(pdev))->type;int _stmttmp5=_tmp16;int _tmp17=_stmttmp5;switch((int)_tmp17){case 645:
 goto _LL4;case 646: _LL4:
# 1695
(pdev->view_min).x=128;
(pdev->view_min).y=96;
(pdev->view_max).x=352;
(pdev->view_max).y=288;
pdev->image_mask=(1 << 0 | 1 << 2)| 1 << 4;
pdev->vcinterface=2;
pdev->vendpoint=4;
pdev->frame_header_size=0;
pdev->frame_trailer_size=0;
goto _LL0;case 675:
 goto _LL8;case 680: _LL8:
 goto _LLA;case 690: _LLA:
# 1708
(pdev->view_min).x=128;
(pdev->view_min).y=96;
(pdev->view_max).x=640;
(pdev->view_max).y=480;
pdev->image_mask=((((1 << 0 | 1 << 1)| 1 << 2)| 1 << 3)| 1 << 4)| 1 << 5;
pdev->vcinterface=3;
pdev->vendpoint=4;
pdev->frame_header_size=0;
pdev->frame_trailer_size=0;
goto _LL0;case 730:
 goto _LLE;case 740: _LLE:
 goto _LL10;case 750: _LL10:
# 1721
(pdev->view_min).x=160;
(pdev->view_min).y=120;
(pdev->view_max).x=640;
(pdev->view_max).y=480;
pdev->image_mask=(1 << 1 | 1 << 3)| 1 << 5;
pdev->vcinterface=3;
pdev->vendpoint=5;
pdev->frame_header_size=8;
pdev->frame_trailer_size=4;
goto _LL0;default:
# 1732
 goto _LL0;}_LL0:;}
# 1734
(pdev->view_min).size=(pdev->view_min).x * (pdev->view_min).y;
(pdev->view_max).size=(pdev->view_max).x * (pdev->view_max).y;
# 1737
pdev->len_per_image=((pdev->view_max).size * 3)/ 2;}
# 1741
struct pwc_decompressor*pwc_find_decompressor(int type){
return 0;}struct _xtunion_struct;
# 1747
extern struct _xtunion_struct*Cyc_Core_get_exn_thrown (void);
extern const char*Cyc_Core_get_exn_name(struct _xtunion_struct*);
extern int Cyc_Core_get_exn_lineno (void);
extern const char*Cyc_Core_get_exn_filename (void);
# 1753
static void pwc_notify_exn(Cyc_string_t msg){
struct _handler_cons _tmp18;_push_handler(& _tmp18);{int _tmp1A=0;if(setjmp(_tmp18.handler))_tmp1A=1;if(!_tmp1A){
{const char*_tmp1B=Cyc_Core_get_exn_name(Cyc_Core_get_exn_thrown());const char*exnname=_tmp1B;
int _tmp1C=Cyc_Core_get_exn_lineno();int lineno=_tmp1C;
const char*_tmp1D=Cyc_Core_get_exn_filename();const char*filename=_tmp1D;
({const char*_tmp255=(const char*)_check_null(_untag_fat_ptr(msg,sizeof(char),1U));const char*_tmp254=(const char*)_check_null(exnname);const char*_tmp253=(const char*)_check_null(filename);printk_R1b7d4074("<3>i810 exn (%s): Exception %s thrown in %s at line %d\n",_tmp255,_tmp254,_tmp253,lineno);});}
# 1755
;_pop_handler();}else{void*_tmp19=(void*)Cyc_Core_get_exn_thrown();void*_tmp1E=_tmp19;
# 1763
return;;}}}
# 1767
static int allocate_image_buffers(struct pwc_device_obj*pdev,int mbufs){
int i=0;
# 1770
struct Cyc_Core_NewDynamicRegion _tmp1F=Cyc_Core__new_rckey("internal-error","internal-error",0);struct Cyc_Core_NewDynamicRegion _stmttmp6=_tmp1F;struct Cyc_Core_NewDynamicRegion _tmp20=_stmttmp6;void*_tmp21;_tmp21=_tmp20.key;{struct Cyc_Core_DynamicRegion*key=_tmp21;
struct pwc_image*allimgs=0;
struct pwc_image*image_0=0;
struct pwc_image*image_1=0;
struct pwc_image*image_2=0;
struct pwc_image*image_3=0;
{
struct _RegionHandle*h=& key->h;
{unsigned long size=(unsigned long)(((struct pwc_device_obj*)_check_null(pdev))->len_per_image * mbufs);
allimgs=({struct pwc_image*_tmp24=_region_malloc(h,sizeof(*_tmp24));_tmp24->len=size,_tmp24->img=(unsigned char*)_untag_fat_ptr(({unsigned _tmp23=size;_tag_fat(_region_vmalloc(h,_tmp23),1U,_tmp23);}),sizeof(char),1U);_tmp24;});
if(!((unsigned)allimgs))
return - 12;{
struct pwc_image*_tmp25=allimgs;void*_tmp27;unsigned _tmp26;if(_tmp25 != 0){_tmp26=_tmp25->len;_tmp27=_tmp25->img;{unsigned len=_tmp26;unsigned char*buf=_tmp27;
size=0U;
while(size < len){
# 1786
u8*_tmp28=add_for_deptype(buf,(int)size);u8*adr=_tmp28;
set_bit(14,(volatile void*)&((struct page*)_check_null(vmalloc_to_page_Rad5ba768((void*)adr)))->flags);
size +=1U << (unsigned)12;}
# 1793
for(i=0;i < mbufs;++ i){
int _tmp29=i * pdev->len_per_image;int ix=_tmp29;
if((unsigned)ix < len){
struct pwc_image**_tmp2A=& image_0;struct pwc_image**image=_tmp2A;
{int _tmp2B=i;switch((int)_tmp2B){case 0:
# 1799
 image=& image_0;goto _LL6;case 1:
# 1801
 image=& image_1;goto _LL6;case 2:
# 1803
 image=& image_2;goto _LL6;case 3:
# 1805
 image=& image_3;goto _LL6;default:
# 1807
 goto _LL6;}_LL6:;}
# 1809
({struct pwc_image*_tmp257=({struct pwc_image*_tmp2C=_region_malloc(h,sizeof(*_tmp2C));_tmp2C->len=(unsigned)pdev->len_per_image,({unsigned char*_tmp256=add_for_deptype(buf,ix);_tmp2C->img=_tmp256;});_tmp2C;});*image=_tmp257;});}else{
# 1812
return - 12;}}}}else{_throw_match();}}}
# 1778
;}{
# 1815
struct pwc_img_obj*obj=({struct pwc_img_obj*_tmp2D=_cycalloc(sizeof(*_tmp2D));_tmp2D->regkey=key,_tmp2D->allimages=allimgs,(_tmp2D->images)[0]=image_0,(_tmp2D->images)[1]=image_1,(_tmp2D->images)[2]=image_2,(_tmp2D->images)[3]=image_3;_tmp2D;});
({struct pwc_img_wrapper _tmp258=({struct pwc_img_wrapper _tmp1BA;_tmp1BA.obj=obj;_tmp1BA;});pdev->img_wrapper=_tmp258;});
return 0;}}}
# 1833 "pwc.cyc"
int pwc_decompress(struct pwc_device_obj*pdev){
# 1835
tls_record_t tlr=({struct _tls_record _tmp1BC;_tmp1BC.current_frame=0,_tmp1BC.exn_thrown=0,_tmp1BC.exn_filename=0,_tmp1BC.exn_lineno=0;_tmp1BC;});struct _tls_slot _tmp2E=({struct _tls_slot _tmp1BB;_tmp1BB.pid=0U,_tmp1BB.usage_count=0U,_tmp1BB.record=& tlr;_tmp1BB;});struct _tls_slot tls=_tmp2E;cyc_runtime_register_thread_dbg(& tls,"\"decompress\"");{
# 1839
int ret=-14;
{struct _handler_cons _tmp2F;_push_handler(& _tmp2F);{int _tmp31=0;if(setjmp(_tmp2F.handler))_tmp31=1;if(!_tmp31){
{int n;int line;int col;int stride;
u16*src;
# 1844
if(!((unsigned)pdev)){
_npop_handler(0);goto finally;}{
# 1853
int failed=0;
struct fbuf_wrapper _tmp32=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmp7=_tmp32;struct fbuf_wrapper _tmp33=_stmttmp7;void*_tmp34;_tmp34=_tmp33.obj;{struct fbuf_obj*obj=_tmp34;if(!((unsigned)obj)){int _tmp35=- 14;_npop_handler(0);return _tmp35;}{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmp36=tkey;struct Cyc_Core_DynamicRegion*_tmp37=obj->regkey;tkey=_tmp37;obj->regkey=_tmp36;});{struct _fat_ptr _tmp38=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp38;({struct Cyc_Core_DynamicRegion*_tmp39=tkey;struct Cyc_Core_DynamicRegion*_tmp3A=obj->regkey;tkey=_tmp3A;obj->regkey=_tmp39;});{
struct pwc_img_wrapper _tmp3B=pdev->img_wrapper;struct pwc_img_wrapper _stmttmp8=_tmp3B;struct pwc_img_wrapper _tmp3C=_stmttmp8;void*_tmp3D;_tmp3D=_tmp3C.obj;{struct pwc_img_obj*imgobj=_tmp3D;if(!((unsigned)imgobj)){int _tmp3E=- 14;_npop_handler(0);return _tmp3E;}{rcregion_key_opt_t gtkey=0;({struct Cyc_Core_DynamicRegion*_tmp3F=gtkey;struct Cyc_Core_DynamicRegion*_tmp40=imgobj->regkey;gtkey=_tmp40;imgobj->regkey=_tmp3F;});{struct _fat_ptr _tmp41=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(gtkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr imgkey=_tmp41;({struct Cyc_Core_DynamicRegion*_tmp42=gtkey;struct Cyc_Core_DynamicRegion*_tmp43=imgobj->regkey;gtkey=_tmp43;imgobj->regkey=_tmp42;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{struct _RegionHandle*g=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(imgkey,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{struct pwc_frame_buf*fbuf=((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame;
u8*yuv=0;
if(!((unsigned)fbuf))
goto out_scope;{
# 1865
struct pwc_image*_tmp46=*((struct pwc_image**)_check_known_subscript_notnull(imgobj->images,4U,sizeof(struct pwc_image*),pdev->fill_image));struct pwc_image*image=_tmp46;
if(!((unsigned)image))
goto out_scope;
# 1879 "pwc.cyc"
yuv=((u8*(*)(u8*,u32,u32))CYC_DO_ARITHMETIC)(fbuf->data,sizeof(char),(u32)pdev->frame_header_size);
# 1882
if(pdev->vbandlength == 0){
# 1888
int _tmp47=pdev->vpalette;int _stmttmp9=_tmp47;int _tmp48=_stmttmp9;if(_tmp48 == 15){
# 1894
struct pwc_image*_tmp49=image;void*_tmp4B;unsigned _tmp4A;if(_tmp49 != 0){_tmp4A=_tmp49->len;_tmp4B=_tmp49->img;{unsigned len=_tmp4A;unsigned char*img=_tmp4B;
src=((u16*(*)(u8*,unsigned))CYC_DO_CAST)(yuv,sizeof(u16*));
# 1897
n=(pdev->view).x * (pdev->view).y;
# 1900
stride=(pdev->view).x * (pdev->offset).y + (pdev->offset).x;{
int _tmp4C=stride;int dsty_ix=_tmp4C;
# 1904
stride=((pdev->view).x * (pdev->offset).y)/ 4 + (pdev->offset).x / 2;{
int _tmp4D=n + stride;int dstu_ix=_tmp4D;
int _tmp4E=(n / 4 + n)+ stride;int dstv_ix=_tmp4E;
# 1909
stride=(pdev->view).x - (pdev->image).x;
for(line=0;line < (pdev->image).y;++ line){
for(col=0;col < (pdev->image).x;col +=4){
# 1914
{u16 val16=*((u16*)_check_null(src));src=((u16*(*)(u16*,u32,u32))CYC_DO_ARITHMETIC)(src,sizeof(u16),1U);if((unsigned)dsty_ix < len)write_u16_to_u8(img,dsty_ix,(int)len,val16);dsty_ix +=2;}
{u16 val16=*((u16*)_check_null(src));src=((u16*(*)(u16*,u32,u32))CYC_DO_ARITHMETIC)(src,sizeof(u16),1U);if((unsigned)dsty_ix < len)write_u16_to_u8(img,dsty_ix,(int)len,val16);dsty_ix +=2;}
if(line & 1){
u16 val16=*((u16*)_check_null(src));src=((u16*(*)(u16*,u32,u32))CYC_DO_ARITHMETIC)(src,sizeof(u16),1U);if((unsigned)dstv_ix < len)write_u16_to_u8(img,dstv_ix,(int)len,val16);dstv_ix +=2;}else{
# 1921
u16 val16=*((u16*)_check_null(src));src=((u16*(*)(u16*,u32,u32))CYC_DO_ARITHMETIC)(src,sizeof(u16),1U);if((unsigned)dstu_ix < len)write_u16_to_u8(img,dstu_ix,(int)len,val16);dstu_ix +=2;}}
# 1926
dsty_ix +=stride;
if(line & 1)
dstv_ix +=stride >> 1;else{
# 1930
dstu_ix +=stride >> 1;}}
# 1932
goto _LL6;}}}}else{_throw_match();}}else{
# 1935
printk_R1b7d4074("<3>pwc Unsupported palette!");
goto _LL6;}_LL6:;}else{
# 1943
struct pwc_image*_tmp4F=image;void*_tmp51;unsigned _tmp50;if(_tmp4F != 0){_tmp50=_tmp4F->len;_tmp51=_tmp4F->img;{unsigned len=_tmp50;unsigned char*img=_tmp51;
if((unsigned)pdev->decompressor)
((void(*)(struct pwc_coord*,struct pwc_coord*,struct pwc_coord*,u8*,unsigned char*,int,void*,int))_check_null((void(*)(struct pwc_coord*,struct pwc_coord*,struct pwc_coord*,u8*,unsigned char*,int,void*,int))((struct pwc_decompressor*)_check_null(pdev->decompressor))->decompress))(& pdev->image,& pdev->view,& pdev->offset,yuv,img,1,pdev->decompress_data,pdev->vbandlength);else{
# 1950
ret=-6;
goto out_scope;}}}else{_throw_match();}}
# 1954
ret=0;}}
# 1859 "pwc.cyc"
;}
# 1858
;}
# 1956 "pwc.cyc"
out_scope:
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(imgkey,sizeof(struct Cyc_Core_DynamicRegion),1U));
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}}}}}}
# 1841 "pwc.cyc"
;_pop_handler();}else{void*_tmp30=(void*)Cyc_Core_get_exn_thrown();void*_tmp52=_tmp30;
# 1962 "pwc.cyc"
pwc_notify_exn(({const char*_tmp53="decompress";_tag_fat(_tmp53,sizeof(char),11U);}));
cyc_runtime_unregister_thread_dbg("\"decompress\"");
return - 14;;}}}
# 1966
finally:
 cyc_runtime_unregister_thread_dbg("\"decompress\"");
return ret;}}
# 2017 "pwc.cyc"
static struct usb_device_id pwc_device_table[20U]={{(__u16)(1 | 2),1137,770,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,771,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,772,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,775,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,776,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,780,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,784,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,785,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1137,786,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1690,1,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1133,2224,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1133,2225,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1133,2226,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1133,2227,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1373,-28672,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1373,-28671,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1054,16396,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),1228,-32490,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),3457,6416,0,0,'\000','\000','\000','\000','\000','\000',0U},{(__u16)(1 | 2),3457,6400,0,0,'\000','\000','\000','\000','\000','\000',0U}};
# 2039
static const unsigned long __module_usb_device_size  __attribute__((unused )) =sizeof(struct usb_device_id);static const struct usb_device_id*__module_usb_device_table  __attribute__((unused )) =(const struct usb_device_id*)pwc_device_table;
# 2041
static void*usb_pwc_probe(struct usb_device*,unsigned,const struct usb_device_id*);
static void usb_pwc_disconnect(struct usb_device*,void*);
# 2044
static struct usb_driver pwc_driver;
# 2046
static void init_usb_driver (void){
pwc_driver.name="Philips webcam";
pwc_driver.id_table=(const struct usb_device_id*)pwc_device_table;
pwc_driver.probe=usb_pwc_probe;
pwc_driver.disconnect=usb_pwc_disconnect;}
# 2056
static int default_size=2;
static int default_fps=10;
static int default_palette=15;
static int default_fbufs=3;
static int default_mbufs=2;
int pwc_trace=(1 | 32)| 128;
static int power_save=0;
static int led_on=100;static int led_off=0;
int pwc_preferred_compression=2;struct _tuple88{int type;char serial_number[30U];int device_node;struct pwc_device*pdev;};
static struct _tuple88 device_hint[10U];
# 2072
static struct semaphore mem_lock;
static void*mem_leak=0;
# 2086 "pwc.cyc"
static int pwc_video_open(video_dev_t,int);
static void pwc_video_close(video_dev_t);
static long pwc_video_read(video_dev_t,char*,unsigned long,int);
static long pwc_video_write(video_dev_t,const char*,unsigned long,int);
static unsigned pwc_video_poll(video_dev_t,struct file*,poll_table*);
static int pwc_video_ioctl(video_dev_t,unsigned,void*);
static int pwc_video_mmap(video_dev_t,const char*,unsigned long);
# 2094
static struct video_device pwc_template;
# 2096
static void init_video_device (void){
pwc_template.owner=& __this_module;
strcpy(pwc_template.name,"Philips Webcam");
pwc_template.type=1;
pwc_template.hardware=31;
pwc_template.open=pwc_video_open;
pwc_template.close=pwc_video_close;
pwc_template.read=pwc_video_read;
pwc_template.write=pwc_video_write;
pwc_template.poll=pwc_video_poll;
pwc_template.ioctl=pwc_video_ioctl;
pwc_template.mmap=pwc_video_mmap;
pwc_template.initialize=0;
pwc_template.minor=0;}
# 2145 "pwc.cyc"
static unsigned long cyc_page_address(void*adr){
return(unsigned long)((void*)((unsigned long)((vmalloc_to_page_Rad5ba768(adr)- (page_zone(vmalloc_to_page_Rad5ba768(adr)))->zone_mem_map << 12)+ (page_zone(vmalloc_to_page_Rad5ba768(adr)))->zone_start_paddr)+ (unsigned long)-1073741824));}
# 2156
inline static unsigned long kvirt_to_pa(void*adr){
# 2159
unsigned long kva=cyc_page_address((void*)vmalloc_to_page_Rad5ba768(adr));
kva |=(unsigned long)adr & (1U << (unsigned)12)- (unsigned)1;{
unsigned long _tmp54=kva - 3221225472U;unsigned long ret=_tmp54;
return ret;}}
# 2166
static int pwc_allocate_buffers(struct pwc_device_obj*pdev){
# 2168
int i;
void*kbuf;
# 2171
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc >> pwc_allocate_buffers(pdev = 0x%p)\n",(unsigned)pdev);
# 2173
if(pdev == 0)
return - 6;
# 2183 "pwc.cyc"
for(i=0;i < 2;++ i){
if((*((struct pwc_iso_buf*)_check_known_subscript_notnull(pdev->sbuf,2U,sizeof(struct pwc_iso_buf),i))).data == 0){
unsigned char*tmpdat=(unsigned char*)_untag_fat_ptr(({unsigned _tmp57=9600;_tag_fat(_region_malloc(Cyc_Core_refcnt_region,_tmp57),1U,_tmp57);}),sizeof(char),1U);
# 2187
if(!((unsigned)tmpdat)){
printk_R1b7d4074("<3>pwc Failed to allocate iso buffer %d.\n",i);
return - 12;}
# 2191
({unsigned char*_tmp55=((pdev->sbuf)[i]).data;unsigned char*_tmp56=tmpdat;((pdev->sbuf)[i]).data=_tmp56;tmpdat=_tmp55;});}}{
# 2198
struct Cyc_Core_NewDynamicRegion _tmp58=Cyc_Core__new_rckey("internal-error","internal-error",0);struct Cyc_Core_NewDynamicRegion _stmttmpA=_tmp58;struct Cyc_Core_NewDynamicRegion _tmp59=_stmttmpA;void*_tmp5A;_tmp5A=_tmp59.key;{struct Cyc_Core_DynamicRegion*key=_tmp5A;
fbuf_cont_t*cont=0;
struct fbuf_obj*fo=0;
{
struct fbuf_wrapper _tmp5B=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmpB=_tmp5B;struct fbuf_wrapper _tmp5C=_stmttmpB;void*_tmp5D;_tmp5D=_tmp5C.obj;{struct fbuf_obj*obj=_tmp5D;
if(obj == 0){
{
struct _RegionHandle*h=& key->h;
cont=({struct pwc_frame_buf_container*_tmp5F=_region_malloc(h,sizeof(*_tmp5F));_tmp5F->fbuf=0,_tmp5F->empty_frames=0,_tmp5F->empty_frames_tail=0,_tmp5F->full_frames=0,_tmp5F->full_frames_tail=0,_tmp5F->fill_frame=0,_tmp5F->read_frame=0;_tmp5F;});
({struct pwc_frame_buf*_tmp25A=({unsigned _tmp61=5U;struct pwc_frame_buf*_tmp60=({struct _RegionHandle*_tmp259=h;_region_malloc(_tmp259,_check_times(_tmp61,sizeof(struct pwc_frame_buf)));});({{unsigned _tmp1BD=5U;unsigned i;for(i=0;i < _tmp1BD;++ i){(_tmp60[i]).data=0,(_tmp60[i]).filled=0,(_tmp60[i]).next=0;}}0;});_tmp60;});cont->fbuf=_tmp25A;});
# 2209
if(cont->fbuf == 0){
printk_R1b7d4074("<3>pwc Failed to allocate frame buffer structure.\n");
return - 12;}
# 2206
;}
# 2215
fo=({struct fbuf_obj*_tmp62=_cycalloc(sizeof(*_tmp62));_tmp62->regkey=key,_tmp62->cont=cont;_tmp62;});}else{
# 2218
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)(key);}}}
# 2220
if((unsigned)fo)
({struct fbuf_wrapper _tmp25B=({struct fbuf_wrapper _tmp1BE;_tmp1BE.obj=fo;_tmp1BE;});pdev->fbuf_wrapper=_tmp25B;});
{
struct fbuf_wrapper _tmp63=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmpC=_tmp63;struct fbuf_wrapper _tmp64=_stmttmpC;void*_tmp65;_tmp65=_tmp64.obj;{struct fbuf_obj*obj=_tmp65;
rcregion_key_opt_t key=0;
int failed=0;
({struct Cyc_Core_DynamicRegion*_tmp66=key;struct Cyc_Core_DynamicRegion*_tmp67=obj->regkey;key=_tmp67;obj->regkey=_tmp66;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(key))->h;
# 2230
for(i=0;i < default_fbufs;++ i){
if((*((struct pwc_frame_buf*)_check_known_subscript_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf,5U,sizeof(struct pwc_frame_buf),i))).data == 0){
# 2233
({unsigned char*_tmp25C=(unsigned char*)_untag_fat_ptr(({unsigned _tmp69=460812;_tag_fat(_region_vmalloc(h,_tmp69),1U,_tmp69);}),sizeof(char),1U);(((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf))[i]).data=_tmp25C;});
# 2235
if((((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf))[i]).data == 0){
printk_R1b7d4074("<3>pwc Failed to allocate frame buffer %d.\n",i);
failed=-12;
goto reswap;}}}
# 2230
;}
# 2246
reswap:
({struct Cyc_Core_DynamicRegion*_tmp6A=key;struct Cyc_Core_DynamicRegion*_tmp6B=obj->regkey;key=_tmp6B;obj->regkey=_tmp6A;});
if(failed)
return failed;}}
# 2252
kbuf=0;
if(pdev->decompressor != 0);
# 2261
pdev->decompress_data=kbuf;
# 2264
if(allocate_image_buffers(pdev,default_mbufs)){
printk_R1b7d4074("<3>pwc Failed to allocate image buffer(s).\n");
return - 12;}
# 2268
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc << pwc_allocate_buffers()\n");
return 0;}}}
# 2272
static void pwc_free_buffers(struct pwc_device_obj*pdev){
# 2274
tls_record_t tlr=({struct _tls_record _tmp1C2;_tmp1C2.current_frame=0,_tmp1C2.exn_thrown=0,_tmp1C2.exn_filename=0,_tmp1C2.exn_lineno=0;_tmp1C2;});struct _tls_slot _tmp6C=({struct _tls_slot _tmp1C1;_tmp1C1.pid=0U,_tmp1C1.usage_count=0U,_tmp1C1.record=& tlr;_tmp1C1;});struct _tls_slot tls=_tmp6C;cyc_runtime_register_thread_dbg(& tls,"\"pwc_free_buffers\"");
{struct _handler_cons _tmp6D;_push_handler(& _tmp6D);{int _tmp6F=0;if(setjmp(_tmp6D.handler))_tmp6F=1;if(!_tmp6F){
{int i;
# 2278
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc Entering free_buffers(%p).\n",(unsigned)pdev);
# 2280
if(!((unsigned)pdev)){
_npop_handler(0);goto finally;}
# 2290 "pwc.cyc"
for(i=0;i < 2;++ i){
if((unsigned)(*((struct pwc_iso_buf*)_check_known_subscript_notnull(pdev->sbuf,2U,sizeof(struct pwc_iso_buf),i))).data){
# 2293
unsigned char*tmpdat=0;
if((unsigned)((pdev->sbuf)[i]).urb){
({unsigned char*_tmp70=tmpdat;unsigned char*_tmp71=((struct urb*)_check_null(((pdev->sbuf)[i]).urb))->transfer_buffer;tmpdat=_tmp71;((struct urb*)_check_null(((pdev->sbuf)[i]).urb))->transfer_buffer=_tmp70;});
((void(*)(unsigned char*))Cyc_Core_drop_refptr)(tmpdat);}
# 2298
tmpdat=0;
({unsigned char*_tmp72=tmpdat;unsigned char*_tmp73=((pdev->sbuf)[i]).data;tmpdat=_tmp73;((pdev->sbuf)[i]).data=_tmp72;});
((void(*)(unsigned char*))Cyc_Core_drop_refptr)(tmpdat);}}
# 2303
{
struct fbuf_wrapper _tmp74=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmpD=_tmp74;struct fbuf_wrapper _tmp75=_stmttmpD;void*_tmp76;_tmp76=_tmp75.obj;{struct fbuf_obj*obj=_tmp76;
if((unsigned)obj){
rcregion_key_opt_t key=0;
({struct Cyc_Core_DynamicRegion*_tmp77=key;struct Cyc_Core_DynamicRegion*_tmp78=obj->regkey;key=_tmp78;obj->regkey=_tmp77;});
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)(key);}}}
# 2311
({struct fbuf_wrapper _tmp25D=({struct fbuf_wrapper _tmp1BF;_tmp1BF.obj=0;_tmp1BF;});pdev->fbuf_wrapper=_tmp25D;});
# 2314
if((unsigned)pdev->decompress_data)
# 2317
pdev->decompress_data=0;
# 2319
pdev->decompressor=0;
# 2322
{
struct pwc_img_wrapper _tmp79=pdev->img_wrapper;struct pwc_img_wrapper _stmttmpE=_tmp79;struct pwc_img_wrapper _tmp7A=_stmttmpE;void*_tmp7B;_tmp7B=_tmp7A.obj;{struct pwc_img_obj*obj=_tmp7B;
if((unsigned)obj){
rcregion_key_opt_t key=0;
({struct Cyc_Core_DynamicRegion*_tmp7C=key;struct Cyc_Core_DynamicRegion*_tmp7D=obj->regkey;key=_tmp7D;obj->regkey=_tmp7C;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(key))->h;
{int _tmp7F=0;int size=_tmp7F;
struct pwc_image*_tmp80=obj->allimages;struct pwc_image*_stmttmpF=_tmp80;struct pwc_image*_tmp81=_stmttmpF;void*_tmp83;unsigned _tmp82;_tmp82=_tmp81->len;_tmp83=_tmp81->img;{unsigned len=_tmp82;unsigned char*buf=_tmp83;
while((unsigned)size < len){
# 2333
u8*_tmp84=add_for_deptype(buf,size);u8*adr=_tmp84;
clear_bit(14,(volatile void*)&((struct page*)_check_null(vmalloc_to_page_Rad5ba768((void*)adr)))->flags);
size +=1U << (unsigned)12;}}}
# 2329
;}
# 2338
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)(key);}}}
# 2341
({struct pwc_img_wrapper _tmp25E=({struct pwc_img_wrapper _tmp1C0;_tmp1C0.obj=0;_tmp1C0;});pdev->img_wrapper=_tmp25E;});
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc Leaving free_buffers().\n");}
# 2276 "pwc.cyc"
;_pop_handler();}else{void*_tmp6E=(void*)Cyc_Core_get_exn_thrown();void*_tmp85=_tmp6E;
# 2346 "pwc.cyc"
pwc_notify_exn(({const char*_tmp86="pwc_free_buffers";_tag_fat(_tmp86,sizeof(char),17U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_free_buffers\"");
return;;}}}
# 2350
finally:
 cyc_runtime_unregister_thread_dbg("\"pwc_free_buffers\"");
return;}
# 2412 "pwc.cyc"
inline static int pwc_next_fill_frame(struct pwc_device_obj*pdev){
# 2414
int ret;
unsigned long flags;
# 2417
ret=0;
do{do{__asm__  volatile ("pushfl ; popl %0":"=g"(flags));__asm__  volatile ("cli" : : :"memory");}while(0);(void)&((struct pwc_device_obj*)_check_null(pdev))->ptrlock;}while(0);
{
struct fbuf_wrapper _tmp87=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmp10=_tmp87;struct fbuf_wrapper _tmp88=_stmttmp10;void*_tmp89;_tmp89=_tmp88.obj;{struct fbuf_obj*obj=_tmp89;if(!((unsigned)obj))return - 14;{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmp8A=tkey;struct Cyc_Core_DynamicRegion*_tmp8B=obj->regkey;tkey=_tmp8B;obj->regkey=_tmp8A;});{struct _fat_ptr _tmp8C=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp8C;({struct Cyc_Core_DynamicRegion*_tmp8D=tkey;struct Cyc_Core_DynamicRegion*_tmp8E=obj->regkey;tkey=_tmp8E;obj->regkey=_tmp8D;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame != 0){
# 2425
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames == 0){
({struct pwc_frame_buf*_tmp25F=((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame;((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames=_tmp25F;});
({struct pwc_frame_buf*_tmp260=((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames;((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames_tail=_tmp260;});}else{
# 2430
({struct pwc_frame_buf*_tmp261=((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame;((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames_tail))->next=_tmp261;});
({struct pwc_frame_buf*_tmp262=((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame;((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames_tail=_tmp262;});}}
# 2434
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames != 0){
# 2436
({struct pwc_frame_buf*_tmp263=((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames;((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame=_tmp263;});
({struct pwc_frame_buf*_tmp264=((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames))->next;((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames=_tmp264;});}else{
# 2449 "pwc.cyc"
({struct pwc_frame_buf*_tmp265=((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames;((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame=_tmp265;});
({struct pwc_frame_buf*_tmp266=((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames))->next;((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames=_tmp266;});
ret=1;}
# 2453
((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame))->next=0;
# 2423 "pwc.cyc"
;}
# 2459 "pwc.cyc"
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}
# 2461
do{do{;}while(0);__asm__  volatile ("pushl %0 ; popfl"::"g"(flags) :"memory","cc");}while(0);
return ret;}
# 2471
static void pwc_reset_buffers(struct pwc_device_obj*pdev){
# 2473
int i;
unsigned long flags;
# 2476
do{do{__asm__  volatile ("pushfl ; popl %0":"=g"(flags));__asm__  volatile ("cli" : : :"memory");}while(0);(void)&((struct pwc_device_obj*)_check_null(pdev))->ptrlock;}while(0);
{
struct fbuf_wrapper _tmp90=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmp11=_tmp90;struct fbuf_wrapper _tmp91=_stmttmp11;void*_tmp92;_tmp92=_tmp91.obj;{struct fbuf_obj*obj=_tmp92;if(!((unsigned)obj))return - 14;{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmp93=tkey;struct Cyc_Core_DynamicRegion*_tmp94=obj->regkey;tkey=_tmp94;obj->regkey=_tmp93;});{struct _fat_ptr _tmp95=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp95;({struct Cyc_Core_DynamicRegion*_tmp96=tkey;struct Cyc_Core_DynamicRegion*_tmp97=obj->regkey;tkey=_tmp97;obj->regkey=_tmp96;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames=0;
((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames_tail=0;
for(i=0;i < default_fbufs;++ i){
(*((struct pwc_frame_buf*)_check_known_subscript_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf,5U,sizeof(struct pwc_frame_buf),i))).filled=0;
if(i > 0)
({struct pwc_frame_buf*_tmp268=(struct pwc_frame_buf*)_untag_fat_ptr(({struct _fat_ptr _tmp267=_tag_fat(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf,sizeof(struct pwc_frame_buf),5U);_fat_ptr_plus(_tmp267,sizeof(struct pwc_frame_buf),i - 1);}),sizeof(struct pwc_frame_buf),1U);(((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf))[i]).next=_tmp268;});else{
# 2488
(((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf))[i]).next=0;}}
# 2490
({struct pwc_frame_buf*_tmp26A=(struct pwc_frame_buf*)_untag_fat_ptr(({struct _fat_ptr _tmp269=_tag_fat(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf,sizeof(struct pwc_frame_buf),5U);_fat_ptr_plus(_tmp269,sizeof(struct pwc_frame_buf),default_fbufs - 1);}),sizeof(struct pwc_frame_buf),1U);((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames=_tmp26A;});
({struct pwc_frame_buf*_tmp26B=(struct pwc_frame_buf*)_untag_fat_ptr(_fat_ptr_plus(_tag_fat(((struct pwc_frame_buf_container*)_check_null(obj->cont))->fbuf,sizeof(struct pwc_frame_buf),5U),sizeof(struct pwc_frame_buf),0),sizeof(struct pwc_frame_buf),1U);((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames_tail=_tmp26B;});
((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame=0;
({struct pwc_frame_buf*_tmp26C=((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames;((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame=_tmp26C;});
({struct pwc_frame_buf*_tmp26D=((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames))->next;((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames=_tmp26D;});
# 2481
;}
# 2496
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));
pdev->image_read_pos=0;
pdev->fill_image=0;}}}}
# 2500
do{do{;}while(0);__asm__  volatile ("pushl %0 ; popfl"::"g"(flags) :"memory","cc");}while(0);}
# 2507
static int pwc_handle_frame(struct pwc_device_obj*pdev){
# 2509
int ret=0;
unsigned long flags;
# 2512
do{do{__asm__  volatile ("pushfl ; popl %0":"=g"(flags));__asm__  volatile ("cli" : : :"memory");}while(0);(void)&((struct pwc_device_obj*)_check_null(pdev))->ptrlock;}while(0);
# 2515
{
struct fbuf_wrapper _tmp99=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmp12=_tmp99;struct fbuf_wrapper _tmp9A=_stmttmp12;void*_tmp9B;_tmp9B=_tmp9A.obj;{struct fbuf_obj*obj=_tmp9B;if(!((unsigned)obj))return - 14;{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmp9C=tkey;struct Cyc_Core_DynamicRegion*_tmp9D=obj->regkey;tkey=_tmp9D;obj->regkey=_tmp9C;});{struct _fat_ptr _tmp9E=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp9E;({struct Cyc_Core_DynamicRegion*_tmp9F=tkey;struct Cyc_Core_DynamicRegion*_tmpA0=obj->regkey;tkey=_tmpA0;obj->regkey=_tmp9F;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame != 0)
# 2521
printk_R1b7d4074("<3>pwc Huh? Read frame still in use?\n");else{
# 2524
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames == 0)
printk_R1b7d4074("<3>pwc Woops. No frames ready.\n");else{
# 2528
({struct pwc_frame_buf*_tmp26E=((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames;((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame=_tmp26E;});
({struct pwc_frame_buf*_tmp26F=((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames))->next;((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames=_tmp26F;});
((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame))->next=0;}
# 2533
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame != 0){
# 2541
do{do{;}while(0);__asm__  volatile ("pushl %0 ; popfl"::"g"(flags) :"memory","cc");}while(0);
ret=pwc_decompress(pdev);
do{do{__asm__  volatile ("pushfl ; popl %0":"=g"(flags));__asm__  volatile ("cli" : : :"memory");}while(0);(void)& pdev->ptrlock;}while(0);
# 2546
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames == 0){
({struct pwc_frame_buf*_tmp270=((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame;((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames=_tmp270;});
({struct pwc_frame_buf*_tmp271=((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames;((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames_tail=_tmp271;});}else{
# 2551
({struct pwc_frame_buf*_tmp272=((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame;((struct pwc_frame_buf*)_check_null(((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames_tail))->next=_tmp272;});
({struct pwc_frame_buf*_tmp273=((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame;((struct pwc_frame_buf_container*)_check_null(obj->cont))->empty_frames_tail=_tmp273;});}
# 2554
((struct pwc_frame_buf_container*)_check_null(obj->cont))->read_frame=0;}}
# 2519
;}
# 2558
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}
# 2560
do{do{;}while(0);__asm__  volatile ("pushl %0 ; popfl"::"g"(flags) :"memory","cc");}while(0);
return ret;}
# 2568
inline static void pwc_next_image(struct pwc_device_obj*pdev){
# 2570
*((int*)_check_known_subscript_notnull(((struct pwc_device_obj*)_check_null(pdev))->image_used,4U,sizeof(int),pdev->fill_image))=0;
pdev->fill_image=(pdev->fill_image + 1)% default_mbufs;}
# 2575
static int pwc_set_palette(struct pwc_device_obj*pdev,int pal){
# 2577
if(pal == 15){
# 2582
((struct pwc_device_obj*)_check_null(pdev))->vpalette=pal;
pwc_set_image_buffer_size(pdev);
return 0;}
# 2586
if(pwc_trace & 8)printk_R1b7d4074("<7>pwc Palette %d not supported.\n",pal);
return - 1;}struct iso_packet_desc_array{unsigned len;struct iso_packet_descriptor*base;};
# 9 "/home/nikhil/cyclone-dev/drivers/util/usb_util.h"
typedef struct iso_packet_desc_array iso_arr_t;
# 12
iso_arr_t build_iso_arr(struct urb*u){
iso_arr_t ret={u->number_of_packets,& u->iso_frame_desc};
return ret;}
# 17
void update_urb(struct urb*urb,struct urb*next,struct usb_device*dev,unsigned pipe,int status,unsigned transfer_flags,void*transfer_buffer,dma_addr_t transfer_dma,unsigned transfer_buffer_length,int actual_length,int bandwidth,unsigned char*setup_packet,dma_addr_t setup_dma_R01485953,int start_frame,int number_of_packets,int interval,int error_count,int timeout,void*context,void(*complete_R942613ad)(struct urb*)){
# 38
urb->next=next;
urb->dev=dev;
urb->pipe=pipe;
urb->status=status;
urb->transfer_flags=transfer_flags;
urb->transfer_buffer=transfer_buffer;
urb->transfer_dma=transfer_dma;
urb->transfer_buffer_length=transfer_buffer_length;
urb->actual_length=actual_length;
urb->bandwidth=bandwidth;
urb->setup_packet=setup_packet;
urb->setup_dma_R01485953=setup_dma_R01485953;
urb->start_frame=start_frame;
urb->number_of_packets=number_of_packets;
urb->interval=interval;
urb->error_count=error_count;
urb->timeout=timeout;
urb->context=context;
urb->complete_R942613ad=complete_R942613ad;}
# 2596 "pwc.cyc"
static void pwc_isoc_handler(urb_t urb){
# 2598
struct pwc_device*_pdev;
int i;int fst;int flen;
int awake;
# 2602
unsigned char*iso_buf=0;
# 2604
_pdev=((struct urb*)_check_null(urb))->context;
if(_pdev == 0){
printk_R1b7d4074("<3>pwc isoc_handler() called with NULL device?!\n");
return;}
# 2615
if(urb->status == - 2 || urb->status == - 104){
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc pwc_isoc_handler(): URB (%p) unlinked %ssynchronuously.\n",(unsigned)urb,urb->status == - 2?"":"a");
return;}
# 2619
if(urb->status != - 115 && urb->status != 0){
# 2621
const char*errmsg;
errmsg="Unknown";
{int _tmpA2=urb->status;int _stmttmp13=_tmpA2;int _tmpA3=_stmttmp13;switch((int)_tmpA3){case -63:
 errmsg="Buffer error (overrun)";goto _LL0;case -32:
 errmsg="Stalled (device not responding)";goto _LL0;case -75:
 errmsg="Babble (bad cable?)";goto _LL0;case -71:
 errmsg="Bit-stuff error (bad cable?)";goto _LL0;case -84:
 errmsg="CRC/Timeout";goto _LL0;case -110:
 errmsg="NAK (device does not respond)";goto _LL0;default:
 errmsg="Unknown error code";goto _LL0;}_LL0:;}
# 2632
if(pwc_trace & 32)printk_R1b7d4074("<7>pwc pwc_isoc_handler() called with status %d [%s].\n",urb->status,errmsg);
return;}{
# 2636
struct pwc_device*_tmpA4=_pdev;void*_tmpA5;if(_tmpA4 != 0){_tmpA5=_tmpA4->dev_reg;{struct pwc_dev_reg*devregobj=_tmpA5;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmpA6=drkey;struct Cyc_Core_DynamicRegion*_tmpA7=devregobj->regkey;drkey=_tmpA7;devregobj->regkey=_tmpA6;});{struct _fat_ptr _tmpA8=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmpA8;({struct Cyc_Core_DynamicRegion*_tmpA9=drkey;struct Cyc_Core_DynamicRegion*_tmpAA=devregobj->regkey;drkey=_tmpAA;devregobj->regkey=_tmpA9;});{struct pwc_device_obj*_tmpAB=devregobj->pdev;struct pwc_device_obj*pdev=_tmpAB;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{
struct fbuf_wrapper _tmpAD=((struct pwc_device_obj*)_check_null(pdev))->fbuf_wrapper;struct fbuf_wrapper _stmttmp14=_tmpAD;struct fbuf_wrapper _tmpAE=_stmttmp14;void*_tmpAF;_tmpAF=_tmpAE.obj;{struct fbuf_obj*obj=_tmpAF;if(!((unsigned)obj))return - 14;{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmpB0=tkey;struct Cyc_Core_DynamicRegion*_tmpB1=obj->regkey;tkey=_tmpB1;obj->regkey=_tmpB0;});{struct _fat_ptr _tmpB2=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmpB2;({struct Cyc_Core_DynamicRegion*_tmpB3=tkey;struct Cyc_Core_DynamicRegion*_tmpB4=obj->regkey;tkey=_tmpB4;obj->regkey=_tmpB3;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{struct pwc_frame_buf*fbuf=((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame;
# 2645
if(fbuf == 0){
printk_R1b7d4074("<3>pwc pwc_isoc_handler without valid fill frame.\n");
__wake_up_Rb76c5f1e(& pdev->frameq,1U,1);
return;}{
# 2651
unsigned char*fillptr=((unsigned char*(*)(unsigned char*,u32,u32))CYC_DO_ARITHMETIC)(fbuf->data,sizeof(char),(u32)fbuf->filled);
awake=0;{
# 2658
iso_arr_t pack_arr=((iso_arr_t(*)(struct urb*))build_iso_arr)(urb);
struct iso_packet_desc_array _tmpB6=pack_arr;void*_tmpB8;unsigned _tmpB7;_tmpB7=_tmpB6.len;_tmpB8=_tmpB6.base;{unsigned npack=_tmpB7;struct iso_packet_descriptor*urb_ifd=_tmpB8;
# 2661
for(i=0;(unsigned)i < npack;++ i){
# 2664
fst=(int)(((struct iso_packet_descriptor*)_check_null(urb_ifd))[i]).status;
flen=(int)(((struct iso_packet_descriptor*)_check_null(urb_ifd))[i]).actual_length;
if((unsigned)iso_buf)
((void(*)(unsigned char*))Cyc_Core_drop_refptr)(iso_buf);
# 2669
{
# 2671
unsigned char*tb=0;
({unsigned char*_tmpB9=urb->transfer_buffer;unsigned char*_tmpBA=tb;urb->transfer_buffer=_tmpBA;tb=_tmpB9;});{
int _tmpBB=urb->transfer_buffer_length;int tbl=_tmpBB;
# 2677
iso_buf=(unsigned char*)_untag_fat_ptr(((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tb,sizeof(unsigned char),1U)),sizeof(unsigned char),1U);
# 2682
({unsigned char*_tmpBC=tb;unsigned char*_tmpBD=urb->transfer_buffer;tb=_tmpBD;urb->transfer_buffer=_tmpBC;});}}
# 2686
if(fst == 0){
if(flen > 0){
if((int)pdev->vsync > 0){
pdev->vsync='\002';
# 2692
if(flen + fbuf->filled > pdev->frame_size){
if(pwc_trace & 32)printk_R1b7d4074("<7>pwc Frame buffer overflow (flen = %d, frame_size = %d).\n",flen,pdev->frame_size);
pdev->vsync='\000';
++ pdev->vframes_error;}else{
# 2698
unsigned _tmpBE=(((struct iso_packet_descriptor*)_check_null(urb_ifd))[i]).offset;unsigned ix=_tmpBE;
unsigned char*_tmpBF=((unsigned char*(*)(unsigned char*,u32,u32))CYC_DO_ARITHMETIC)(iso_buf,sizeof(char),ix);unsigned char*tmp_iso_buf=_tmpBF;
({unsigned char*_tmpC0=tmp_iso_buf;const void*_tmpC1;_tmpC1=_tmpC0;({const void*__aliasvar0=_tmpC1;memmove((void*)fillptr,__aliasvar0,(size_t)flen);});});
fillptr=((unsigned char*(*)(unsigned char*,u32,u32))CYC_DO_ARITHMETIC)(fillptr,sizeof(char),(u32)flen);}}
# 2704
fbuf->filled +=flen;}
# 2707
if(flen < pdev->vlast_packet_size){
# 2712
if((int)pdev->vsync == 2){
# 2717
if(pdev->type == 730){
unsigned char*ptr=((unsigned char*(*)(unsigned char*,unsigned))CYC_DO_CAST)(fbuf->data,sizeof(unsigned char*));
# 2721
if((int)((unsigned char*)_check_null(ptr))[1]== 1 &&(int)((unsigned char*)_check_null(ptr))[0]& 16){
# 2725
pdev->drop_frames +=2;
++ pdev->vframes_error;}
# 2728
if(((int)((unsigned char*)_check_null(ptr))[0]^ (int)pdev->vmirror)& 1){
if((int)((unsigned char*)_check_null(ptr))[0]& 1)
printk_R1b7d4074("<6>pwc Snapshot button pressed.\n");else{
# 2732
printk_R1b7d4074("<6>pwc Snapshot button released.\n");}}
# 2734
if(((int)((unsigned char*)_check_null(ptr))[0]^ (int)pdev->vmirror)& 2){
if((int)((unsigned char*)_check_null(ptr))[0]& 2)
printk_R1b7d4074("<6>pwc Image is mirrored.\n");else{
# 2738
printk_R1b7d4074("<6>pwc Image is normal.\n");}}
# 2740
pdev->vmirror=(char)((int)((unsigned char*)_check_null(ptr))[0]& 3);
# 2750 "pwc.cyc"
if(fbuf->filled == 4)
++ pdev->drop_frames;}
# 2757
if(pdev->drop_frames > 0)
-- pdev->drop_frames;else{
# 2761
if(fbuf->filled < pdev->frame_size){
if(pwc_trace & 32)printk_R1b7d4074("<7>pwc Frame buffer underflow (%d bytes); discarded.\n",fbuf->filled);
++ pdev->vframes_error;}else{
# 2767
awake=1;
# 2773
if(pwc_next_fill_frame(pdev)){
++ pdev->vframes_dumped;
if(pdev->vframe_count > 5 && pwc_trace & 32){
if(pdev->vframes_dumped < 20){
if(pwc_trace & 32)printk_R1b7d4074("<7>pwc Dumping frame %d.\n",pdev->vframe_count);}
if(pdev->vframes_dumped == 20){
if(pwc_trace & 32)printk_R1b7d4074("<7>pwc Dumping frame %d (last message).\n",pdev->vframe_count);}}}
# 2782
fbuf=((struct pwc_frame_buf_container*)_check_null(obj->cont))->fill_frame;}}
# 2785
++ pdev->vframe_count;}
# 2787
((struct pwc_frame_buf*)_check_null(fbuf))->filled=0;
fillptr=fbuf->data;
pdev->vsync='\001';}
# 2791
pdev->vlast_packet_size=flen;}}
# 2803 "pwc.cyc"
if((unsigned)iso_buf)
((void(*)(unsigned char*))Cyc_Core_drop_refptr)(iso_buf);}}}}
# 2643 "pwc.cyc"
;}
# 2807 "pwc.cyc"
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}
# 2809
if(awake)
__wake_up_Rb76c5f1e(& pdev->frameq,1U,1);
# 2639 "pwc.cyc"
;}
# 2813 "pwc.cyc"
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 2818
static int get_video_endpoint(struct usb_interface_descriptor*idesc,int vendpoint){
int i=0;
for(i=0;i < idesc->bNumEndpoints;i ++){
if((((idesc->endpoint)[i]).bEndpointAddress & 15)== vendpoint)
return((idesc->endpoint)[i]).wMaxPacketSize;}
# 2824
return - 1;}
# 2827
void init_spinlock(struct pwc_device_obj*pdev){
pdev->ptrlock=(spinlock_t){};}
# 2834
static int pwc_isoc_init(struct pwc_device*_pdev){
# 2836
struct usb_device*udev;
urb_t urb;
int i;int j;
int ret=-14;
tls_record_t tlr=({struct _tls_record _tmp1C4;_tmp1C4.current_frame=0,_tmp1C4.exn_thrown=0,_tmp1C4.exn_filename=0,_tmp1C4.exn_lineno=0;_tmp1C4;});struct _tls_slot _tmpC2=({struct _tls_slot _tmp1C3;_tmp1C3.pid=0U,_tmp1C3.usage_count=0U,_tmp1C3.record=& tlr;_tmp1C3;});struct _tls_slot tls=_tmpC2;cyc_runtime_register_thread_dbg(& tls,"\"pwc_isoc_init\"");
{struct _handler_cons _tmpC3;_push_handler(& _tmpC3);{int _tmpC5=0;if(setjmp(_tmpC3.handler))_tmpC5=1;if(!_tmpC5){
{struct usb_interface_descriptor*idesc=0;
# 2844
if(_pdev == 0){
_npop_handler(0);goto out;}{
# 2847
struct pwc_device*_tmpC6=_pdev;void*_tmpC7;if(_tmpC6 != 0){_tmpC7=_tmpC6->dev_reg;{struct pwc_dev_reg*devregobj=_tmpC7;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmpC8=drkey;struct Cyc_Core_DynamicRegion*_tmpC9=devregobj->regkey;drkey=_tmpC9;devregobj->regkey=_tmpC8;});{struct _fat_ptr _tmpCA=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmpCA;({struct Cyc_Core_DynamicRegion*_tmpCB=drkey;struct Cyc_Core_DynamicRegion*_tmpCC=devregobj->regkey;drkey=_tmpCC;devregobj->regkey=_tmpCB;});{struct pwc_device_obj*_tmpCD=devregobj->pdev;struct pwc_device_obj*pdev=_tmpCD;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
if((int)((struct pwc_device_obj*)_check_null(pdev))->iso_init){
ret=0;
goto finally;}
# 2854
pdev->vsync='\000';
udev=pdev->udev;
# 2858
if(!((unsigned)((struct usb_device*)_check_null(udev))->actconfig))
goto finally;{
# 2861
struct usb_interface*_tmpCF=((struct usb_config_descriptor*)_check_null(udev->actconfig))->interface;struct usb_interface*_stmttmp15=_tmpCF;struct usb_interface*_tmpD0=_stmttmp15;void*_tmpD2;unsigned _tmpD1;if(_tmpD0 != 0){_tmpD1=_tmpD0->num_altsetting;_tmpD2=_tmpD0->altsetting;{unsigned len=_tmpD1;struct usb_interface_descriptor*as=_tmpD2;
int _tmpD3=pdev->valternate;int ix=_tmpD3;
if((unsigned)ix < len)
idesc=((struct usb_interface_descriptor*(*)(struct usb_interface_descriptor*,unsigned,unsigned))safe_arith)(as,sizeof(struct usb_interface_descriptor),(unsigned)ix);
# 2866
if(!((unsigned)idesc))
goto finally;
# 2870
({int _tmp274=get_video_endpoint(idesc,pdev->vendpoint);pdev->vmax_packet_size=_tmp274;});
# 2872
if(pdev->vmax_packet_size < 0 || pdev->vmax_packet_size > 960){
printk_R1b7d4074("<3>pwc Failed to find packet size for video endpoint in current alternate setting.\n");
ret=-23;
goto finally;}
# 2881
ret=0;
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc Setting alternate interface %d\n",pdev->valternate);
ret=usb_set_interface_R9f1a9518(pdev->udev,0,pdev->valternate);
if(ret < 0)
goto finally;
# 2888
for(i=0;i < 2;++ i){
struct urb*_tmpD4=usb_alloc_urb_R4812ca92(10);struct urb*tmpurb=_tmpD4;
urb=((struct urb*(*)(struct urb*,unsigned))CYC_DO_CAST)(tmpurb,sizeof(urb_t));
if(urb == 0){
printk_R1b7d4074("<3>pwc Failed to allocate urb %d\n",i);
ret=-12;
break;}
# 2896
((pdev->sbuf)[i]).urb=urb;
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc Allocated URB at 0x%p\n",(unsigned)urb);}
# 2899
if(ret){
# 2901
while(i >= 0){
if(((pdev->sbuf)[i]).urb != 0)
((void(*)(struct urb*))usb_free_urb_Ra445dff4)(((pdev->sbuf)[i]).urb);
# 2905
((pdev->sbuf)[i]).urb=0;
-- i;}
# 2908
goto finally;}
# 2914
for(i=0;i < 2;++ i){
urb=((pdev->sbuf)[i]).urb;
# 2940 "pwc.cyc"
((struct urb*)_check_null(urb))->next=((pdev->sbuf)[(i + 1)% 2]).urb;
urb->dev=udev;
({unsigned _tmp275=((unsigned)(0 << 30)| __create_pipe(udev,(unsigned)pdev->vendpoint))| (unsigned)128;urb->pipe=_tmp275;});
urb->transfer_flags=2U;{
unsigned char*tmpdat=0;
({unsigned char*_tmpD5=tmpdat;unsigned char*_tmpD6=((pdev->sbuf)[i]).data;tmpdat=_tmpD6;((pdev->sbuf)[i]).data=_tmpD5;});{
unsigned char*tmp2=(unsigned char*)_untag_fat_ptr(((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tmpdat,sizeof(unsigned char),1U)),sizeof(unsigned char),1U);
({unsigned char*_tmpD7=tmpdat;unsigned char*_tmpD8=((pdev->sbuf)[i]).data;tmpdat=_tmpD8;((pdev->sbuf)[i]).data=_tmpD7;});
({unsigned char*_tmpD9=urb->transfer_buffer;unsigned char*_tmpDA=tmp2;urb->transfer_buffer=_tmpDA;tmp2=_tmpD9;});
urb->transfer_buffer_length=10 * 960;
urb->complete_R942613ad=pwc_isoc_handler;
urb->context=_pdev;
urb->start_frame=0;
urb->number_of_packets=10;{
iso_arr_t pack_arr=((iso_arr_t(*)(struct urb*))build_iso_arr)(urb);
struct iso_packet_desc_array _tmpDB=pack_arr;void*_tmpDD;unsigned _tmpDC;_tmpDC=_tmpDB.len;_tmpDD=_tmpDB.base;{unsigned npack=_tmpDC;struct iso_packet_descriptor*urb_ifd=_tmpDD;
for(j=0;(unsigned)j < npack;++ j){
(((struct iso_packet_descriptor*)_check_null(urb_ifd))[j]).offset=(unsigned)(j * 960);
(((struct iso_packet_descriptor*)_check_null(urb_ifd))[j]).length=(unsigned)pdev->vmax_packet_size;}}}}}}
# 2965
for(i=0;i < 2;++ i){
ret=((int(*)(struct urb*))usb_submit_urb_R0de2d528)(((pdev->sbuf)[i]).urb);
if(ret)
printk_R1b7d4074("<3>pwc isoc_init() submit_urb %d failed with error %d\n",i,ret);else{
# 2970
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc URB 0x%p submitted.\n",(unsigned)((pdev->sbuf)[i]).urb);}}
# 2974
pdev->iso_init='\001';
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc << pwc_isoc_init()\n");
ret=0;}}else{_throw_match();}}
# 2850 "pwc.cyc"
;}
# 2978 "pwc.cyc"
finally:
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 2842 "pwc.cyc"
;_pop_handler();}else{void*_tmpC4=(void*)Cyc_Core_get_exn_thrown();void*_tmpDE=_tmpC4;
# 2984 "pwc.cyc"
pwc_notify_exn(({const char*_tmpDF="pwc_isoc_init";_tag_fat(_tmpDF,sizeof(char),14U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_isoc_init\"");
return ret;;}}}
# 2988
out:
 cyc_runtime_unregister_thread_dbg("\"pwc_isoc_init\"");
return ret;}
# 2995
static void pwc_isoc_cleanup(struct pwc_device_obj*pdev){
# 2997
int i;
# 2999
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc >> pwc_isoc_cleanup()\n");
if(pdev == 0)
return;
# 3004
for(i=0;i < 2;++ i){
struct urb*urb;
# 3007
urb=(*((struct pwc_iso_buf*)_check_known_subscript_notnull(pdev->sbuf,2U,sizeof(struct pwc_iso_buf),i))).urb;
if(urb != 0){
if((int)pdev->iso_init){
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc Unlinking URB %p\n",(unsigned)urb);
((int(*)(struct urb*))usb_unlink_urb_R78b140c7)(urb);}
# 3013
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc Freeing URB\n");{
unsigned char*tb=0;
({unsigned char*_tmpE0=tb;unsigned char*_tmpE1=urb->transfer_buffer;tb=_tmpE1;urb->transfer_buffer=_tmpE0;});
((void(*)(unsigned char*))Cyc_Core_drop_refptr)(tb);
((void(*)(struct urb*))usb_free_urb_Ra445dff4)(urb);
((pdev->sbuf)[i]).urb=0;}}}
# 3023
if(!pdev->unplugged){
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc Setting alternate interface 0.\n");
usb_set_interface_R9f1a9518(pdev->udev,0,0);}
# 3028
pdev->iso_init='\000';
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc << pwc_isoc_cleanup()\n");}
# 3033
int pwc_try_video_mode(struct pwc_device*_pdev,int width,int height,int new_fps,int new_compression,int new_snapshot){
# 3035
int ret;
{
struct pwc_device*_tmpE2=_pdev;void*_tmpE3;if(_tmpE2 != 0){_tmpE3=_tmpE2->dev_reg;{struct pwc_dev_reg*devregobj=_tmpE3;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmpE4=drkey;struct Cyc_Core_DynamicRegion*_tmpE5=devregobj->regkey;drkey=_tmpE5;devregobj->regkey=_tmpE4;});{struct _fat_ptr _tmpE6=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmpE6;({struct Cyc_Core_DynamicRegion*_tmpE7=drkey;struct Cyc_Core_DynamicRegion*_tmpE8=devregobj->regkey;drkey=_tmpE8;devregobj->regkey=_tmpE7;});{struct pwc_device_obj*_tmpE9=devregobj->pdev;struct pwc_device_obj*pdev=_tmpE9;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
# 3041
pwc_isoc_cleanup(pdev);
# 3043
pwc_reset_buffers(pdev);
# 3045
ret=pwc_set_video_mode(pdev,width,height,new_fps,new_compression,new_snapshot);
if(ret)
ret=pwc_set_video_mode(pdev,(((struct pwc_device_obj*)_check_null(pdev))->view).x,(pdev->view).y,pdev->vframes,pdev->vcompression,(int)pdev->vsnapshot);
if(!ret){
if(pwc_isoc_init(_pdev)< 0)
printk_R1b7d4074("<6>pwc Failed to restart ISOC transfers in pwc_try_video_mode.\n");}
++ pdev->drop_frames;
# 3041
;}
# 3053
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}
# 3055
return ret;}
# 3059
inline static void set_mem_leak(void*ptr){
# 3061
down(& mem_lock);
if(mem_leak != 0)
printk_R1b7d4074("<3>pwc Memleak: overwriting mem_leak pointer!\n");
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc Setting mem_leak to 0x%p.\n",(unsigned)ptr);
mem_leak=ptr;
up(& mem_lock);}
# 3069
inline static void free_mem_leak (void){
# 3071
down(& mem_lock);
if(mem_leak != 0){
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc Freeing mem_leak ptr 0x%p.\n",(unsigned)mem_leak);
kfree_R037a0cba((const void*)mem_leak);
mem_leak=0;}
# 3077
up(& mem_lock);}
# 3085
static int pwc_video_open(video_dev_t vdev,int mode){
# 3087
tls_record_t tlr=({struct _tls_record _tmp1C6;_tmp1C6.current_frame=0,_tmp1C6.exn_thrown=0,_tmp1C6.exn_filename=0,_tmp1C6.exn_lineno=0;_tmp1C6;});struct _tls_slot _tmpEB=({struct _tls_slot _tmp1C5;_tmp1C5.pid=0U,_tmp1C5.usage_count=0U,_tmp1C5.record=& tlr;_tmp1C5;});struct _tls_slot tls=_tmpEB;cyc_runtime_register_thread_dbg(& tls,"\"pwc_video_open\"");{
int retval=-16;
{struct _handler_cons _tmpEC;_push_handler(& _tmpEC);{int _tmpEE=0;if(setjmp(_tmpEC.handler))_tmpEE=1;if(!_tmpEE){
{int i;
struct pwc_device*_pdev;
# 3093
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc >> video_open called(vdev = 0x%p).\n",(unsigned)vdev);
# 3095
if(vdev == 0)
__asm__  volatile ("ud2\n\t.word %c0\n\t.long %c1\n"::"i"(3096),"i"("pwc.cyc"));
_pdev=((struct video_device*)_check_null(vdev))->priv;
if(_pdev == 0)
__asm__  volatile ("ud2\n\t.word %c0\n\t.long %c1\n"::"i"(3099),"i"("pwc.cyc"));{
# 3101
struct pwc_device*_tmpEF=_pdev;void*_tmpF0;if(_tmpEF != 0){_tmpF0=_tmpEF->dev_reg;{struct pwc_dev_reg*devregobj=_tmpF0;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmpF1=drkey;struct Cyc_Core_DynamicRegion*_tmpF2=devregobj->regkey;drkey=_tmpF2;devregobj->regkey=_tmpF1;});{struct _fat_ptr _tmpF3=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmpF3;({struct Cyc_Core_DynamicRegion*_tmpF4=drkey;struct Cyc_Core_DynamicRegion*_tmpF5=devregobj->regkey;drkey=_tmpF5;devregobj->regkey=_tmpF4;});{struct pwc_device_obj*_tmpF6=devregobj->pdev;struct pwc_device_obj*pdev=_tmpF6;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
if(((struct pwc_device_obj*)_check_null(pdev))->vopen)
goto finally;
# 3107
down(& pdev->modlock);
if(!pdev->usb_init){
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc Doing first time initialization.\n");
pdev->usb_init=1;
# 3112
if(pwc_trace & 4){
# 3114
const char*sensor_type=0;
# 3116
i=pwc_get_cmos_sensor(pdev);
{int _tmpF8=i;switch((int)_tmpF8){case -1:
 goto _LL3;case 0:
 sensor_type="Hyundai CMOS sensor";goto _LL3;case 32:
 sensor_type="Sony CCD sensor + TDA8787";goto _LL3;case 46:
 sensor_type="Sony CCD sensor + Exas 98L59";goto _LL3;case 47:
 sensor_type="Sony CCD sensor + ADI 9804";goto _LL3;case 48:
 sensor_type="Sharp CCD sensor + TDA8787";goto _LL3;case 62:
 sensor_type="Sharp CCD sensor + Exas 98L59";goto _LL3;case 63:
 sensor_type="Sharp CCD sensor + ADI 9804";goto _LL3;case 64:
 sensor_type="UPA 1021 sensor";goto _LL3;case 256:
 sensor_type="VGA sensor";goto _LL3;case 257:
 sensor_type="PAL MR sensor";goto _LL3;default:
 sensor_type="unknown type of sensor";goto _LL3;}_LL3:;}
# 3131
if(sensor_type != 0)
printk_R1b7d4074("<6>pwc This %s camera is equipped with a %s (%d).\n",(const char*)((struct video_device*)_check_null(pdev->vdev))->name,sensor_type,i);}}
# 3137
if(power_save){
i=pwc_camera_power(pdev,1);
if(i < 0)
printk_R1b7d4074("<6>pwc Failed to restore power to the camera! (%d)\n",i);}
# 3143
if(pwc_set_leds(pdev,led_on,led_off)< 0)
printk_R1b7d4074("<6>pwc Failed to set LED on/off time.\n");
# 3147
({struct pwc_decompressor*_tmp276=pwc_find_decompressor(pdev->type);pdev->decompressor=_tmp276;});
# 3153
i=pwc_allocate_buffers(pdev);
if(i < 0){
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc Failed to allocate buffer memory.\n");
up(& pdev->modlock);
retval=i;
goto finally;}
# 3162
pwc_reset_buffers(pdev);
for(i=0;i < default_mbufs;++ i){
*((int*)_check_known_subscript_notnull(pdev->image_used,4U,sizeof(int),i))=0;}
pdev->vframe_count=0;
pdev->vframes_dumped=0;
pdev->vframes_error=0;
pdev->vpalette=default_palette;
# 3174
pdev->vsnapshot='\000';
if((pdev->type == 730 || pdev->type == 740)|| pdev->type == 750)
pdev->vsize=1;else{
# 3178
pdev->vsize=2;}
pdev->vframes=10;
# 3185
i=({struct pwc_device_obj*_tmp27A=pdev;int _tmp279=(*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),default_size))).x;int _tmp278=(*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),default_size))).y;int _tmp277=default_fps;pwc_set_video_mode(_tmp27A,_tmp279,_tmp278,_tmp277,pdev->vcompression,0);});
if(i){
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc First attempt at set_video_mode failed.\n");
if((pdev->type == 730 || pdev->type == 740)|| pdev->type == 750)
i=pwc_set_video_mode(pdev,(pwc_image_sizes[1]).x,(pwc_image_sizes[1]).y,10,pdev->vcompression,0);else{
# 3191
i=pwc_set_video_mode(pdev,(pwc_image_sizes[2]).x,(pwc_image_sizes[2]).y,10,pdev->vcompression,0);}}
# 3193
if(i){
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc Second attempt at set_video_mode failed.\n");
up(& pdev->modlock);
retval=i;
goto finally;}
# 3200
i=pwc_isoc_init(_pdev);
if(i){
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc Failed to init ISOC stuff = %d.\n",i);
up(& pdev->modlock);
retval=i;
goto finally;}
# 3208
++ pdev->vopen;
# 3213
if(pdev->decompressor != 0)
((void(*)(void))_check_null(((struct pwc_decompressor*)_check_null(pdev->decompressor))->lock))();
up(& pdev->modlock);
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc << video_open() returns 0.\n");
retval=0;
# 3104
;}
# 3219
finally:
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 3090
;_pop_handler();}else{void*_tmpED=(void*)Cyc_Core_get_exn_thrown();void*_tmpF9=_tmpED;
# 3225
pwc_notify_exn(({const char*_tmpFA="pwc_video_open";_tag_fat(_tmpFA,sizeof(char),15U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_video_open\"");
return - 16;;}}}
# 3229
cyc_runtime_unregister_thread_dbg("\"pwc_video_open\"");
return retval;}}
# 3236
static void pwc_video_close(video_dev_t vdev){
# 3238
tls_record_t tlr=({struct _tls_record _tmp1C8;_tmp1C8.current_frame=0,_tmp1C8.exn_thrown=0,_tmp1C8.exn_filename=0,_tmp1C8.exn_lineno=0;_tmp1C8;});struct _tls_slot _tmpFB=({struct _tls_slot _tmp1C7;_tmp1C7.pid=0U,_tmp1C7.usage_count=0U,_tmp1C7.record=& tlr;_tmp1C7;});struct _tls_slot tls=_tmpFB;cyc_runtime_register_thread_dbg(& tls,"\"pwc_video_close\"");
{struct _handler_cons _tmpFC;_push_handler(& _tmpFC);{int _tmpFE=0;if(setjmp(_tmpFC.handler))_tmpFE=1;if(!_tmpFE){
{struct pwc_device*_pdev;
int i;
# 3243
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc >> video_close called(vdev = 0x%p).\n",(unsigned)vdev);
# 3245
_pdev=((struct video_device*)_check_null(vdev))->priv;{
# 3247
struct pwc_device*_tmpFF=_pdev;void*_tmp100;if(_tmpFF != 0){_tmp100=_tmpFF->dev_reg;{struct pwc_dev_reg*devregobj=_tmp100;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmp101=drkey;struct Cyc_Core_DynamicRegion*_tmp102=devregobj->regkey;drkey=_tmp102;devregobj->regkey=_tmp101;});{struct _fat_ptr _tmp103=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmp103;({struct Cyc_Core_DynamicRegion*_tmp104=drkey;struct Cyc_Core_DynamicRegion*_tmp105=devregobj->regkey;drkey=_tmp105;devregobj->regkey=_tmp104;});{struct pwc_device_obj*_tmp106=devregobj->pdev;struct pwc_device_obj*pdev=_tmp106;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
if(((struct pwc_device_obj*)_check_null(pdev))->vopen == 0)
printk_R1b7d4074("<6>pwc video_close() called on closed device?\n");
# 3257
if(pdev->vframe_count > 20)
printk_R1b7d4074("<6>pwc Closing video device: %d frames received, dumped %d frames, %d frames with errors.\n",pdev->vframe_count,pdev->vframes_dumped,pdev->vframes_error);
# 3261
pwc_isoc_cleanup(pdev);
# 3263
if(!pdev->unplugged){
# 3265
if(pwc_set_leds(pdev,0,0)< 0)
printk_R1b7d4074("<6>pwc Failed to set LED on/off time.\n");
# 3268
if(power_save){
i=pwc_camera_power(pdev,0);
if(i < 0)
printk_R1b7d4074("<3>pwc Failed to power down camera (%d)\n",i);}}
# 3275
pdev->vopen=0;
if(pdev->decompressor != 0){
((void(*)(void))_check_null(((struct pwc_decompressor*)_check_null(pdev->decompressor))->exit))();
((void(*)(void))_check_null(((struct pwc_decompressor*)_check_null(pdev->decompressor))->unlock))();}
# 3280
pwc_free_buffers(pdev);
# 3283
if(pdev->unplugged)
__wake_up_Rb76c5f1e(& pdev->remove_ok,(unsigned)(2 | 1),1);
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc << video_close()\n");
# 3250
;}
# 3287
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 3240
;_pop_handler();}else{void*_tmpFD=(void*)Cyc_Core_get_exn_thrown();void*_tmp108=_tmpFD;
# 3292
pwc_notify_exn(({const char*_tmp109="pwc_video_close";_tag_fat(_tmp109,sizeof(char),16U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_video_close\"");
return;;}}}
# 3296
cyc_runtime_unregister_thread_dbg("\"pwc_video_close\"");}
# 3315 "pwc.cyc"
static long pwc_video_read(video_dev_t vdev,char*buf,unsigned long count,int noblock){
# 3317
long retval=0;
tls_record_t tlr=({struct _tls_record _tmp1CB;_tmp1CB.current_frame=0,_tmp1CB.exn_thrown=0,_tmp1CB.exn_filename=0,_tmp1CB.exn_lineno=0;_tmp1CB;});struct _tls_slot _tmp10A=({struct _tls_slot _tmp1CA;_tmp1CA.pid=0U,_tmp1CA.usage_count=0U,_tmp1CA.record=& tlr;_tmp1CA;});struct _tls_slot tls=_tmp10A;cyc_runtime_register_thread_dbg(& tls,"\"pwc_video_read\"");
{struct _handler_cons _tmp10B;_push_handler(& _tmp10B);{int _tmp10D=0;if(setjmp(_tmp10B.handler))_tmp10D=1;if(!_tmp10D){
{struct pwc_device*_pdev;
wait_queue_t wait=({struct __wait_queue _tmp1C9;({struct task_struct*_tmp27B=get_current();_tmp1C9.task=_tmp27B;}),(_tmp1C9.task_list).next=0,(_tmp1C9.task_list).prev=0,_tmp1C9.flags=0U;_tmp1C9;});
# 3324
printk_R1b7d4074("<1>NKS pwc:: video_read(0x%p, %p, %ld, %d) called.\n",(unsigned)vdev,(unsigned)buf,(long)count,noblock);
if(vdev == 0){
retval=-14;
_npop_handler(0);goto finally;}
# 3329
_pdev=vdev->priv;
if(_pdev == 0){
retval=-14;
_npop_handler(0);goto finally;}{
# 3335
struct pwc_device*_tmp10E=_pdev;void*_tmp10F;if(_tmp10E != 0){_tmp10F=_tmp10E->dev_reg;{struct pwc_dev_reg*devregobj=_tmp10F;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmp110=drkey;struct Cyc_Core_DynamicRegion*_tmp111=devregobj->regkey;drkey=_tmp111;devregobj->regkey=_tmp110;});{struct _fat_ptr _tmp112=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmp112;({struct Cyc_Core_DynamicRegion*_tmp113=drkey;struct Cyc_Core_DynamicRegion*_tmp114=devregobj->regkey;drkey=_tmp114;devregobj->regkey=_tmp113;});{struct pwc_device_obj*_tmp115=devregobj->pdev;struct pwc_device_obj*pdev=_tmp115;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
if(((struct pwc_device_obj*)_check_null(pdev))->unplugged){
printk_R1b7d4074("<6>pwc pwc_video_read: Device got unplugged (1).\n");
retval=-32;
goto drop_pdev;}
# 3346
if(pdev->image_read_pos == 0){
# 3348
add_wait_queue_Rc9561ea4(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=1;__asm__  volatile ("" : : :"memory");}while(0);{
struct fbuf_wrapper _tmp117=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmp16=_tmp117;struct fbuf_wrapper _tmp118=_stmttmp16;void*_tmp119;_tmp119=_tmp118.obj;{struct fbuf_obj*obj=_tmp119;if(!((unsigned)obj)){int _tmp11A=- 14;_npop_handler(0);return _tmp11A;}{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmp11B=tkey;struct Cyc_Core_DynamicRegion*_tmp11C=obj->regkey;tkey=_tmp11C;obj->regkey=_tmp11B;});{struct _fat_ptr _tmp11D=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp11D;({struct Cyc_Core_DynamicRegion*_tmp11E=tkey;struct Cyc_Core_DynamicRegion*_tmp11F=obj->regkey;tkey=_tmp11F;obj->regkey=_tmp11E;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
while(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames == 0){
if(noblock){
remove_wait_queue_R42d154f3(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=0;__asm__  volatile ("" : : :"memory");}while(0);
retval=-11;
break;}
# 3360
if(signal_pending(get_current())){
remove_wait_queue_R42d154f3(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=0;__asm__  volatile ("" : : :"memory");}while(0);
retval=-512;
break;}
# 3366
schedule_R4292364c();
do{((struct task_struct*)_check_null(get_current()))->state=1;__asm__  volatile ("" : : :"memory");}while(0);}
# 3353
;}
# 3370
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));
if(retval)
goto drop_pdev;
remove_wait_queue_R42d154f3(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=0;__asm__  volatile ("" : : :"memory");}while(0);
# 3376
if(pwc_handle_frame(pdev)){
retval=-14;
goto drop_pdev;}}}}}}
# 3382
if(pwc_trace & 8)printk_R1b7d4074("<7>pwc Copying data to user space.\n");
# 3384
if(count + (unsigned long)pdev->image_read_pos > (unsigned long)(pdev->view).size)
count=(unsigned long)((pdev->view).size - pdev->image_read_pos);
{
# 3392
struct pwc_img_wrapper _tmp121=pdev->img_wrapper;struct pwc_img_wrapper _stmttmp17=_tmp121;struct pwc_img_wrapper _tmp122=_stmttmp17;void*_tmp123;_tmp123=_tmp122.obj;{struct pwc_img_obj*imgobj=_tmp123;if(!((unsigned)imgobj)){int _tmp124=- 14;_npop_handler(0);return _tmp124;}{rcregion_key_opt_t gtkey=0;({struct Cyc_Core_DynamicRegion*_tmp125=gtkey;struct Cyc_Core_DynamicRegion*_tmp126=imgobj->regkey;gtkey=_tmp126;imgobj->regkey=_tmp125;});{struct _fat_ptr _tmp127=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(gtkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp127;({struct Cyc_Core_DynamicRegion*_tmp128=gtkey;struct Cyc_Core_DynamicRegion*_tmp129=imgobj->regkey;gtkey=_tmp129;imgobj->regkey=_tmp128;});
{
struct _RegionHandle*g=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{struct pwc_image*_tmp12B=*((struct pwc_image**)_check_known_subscript_notnull(imgobj->images,4U,sizeof(struct pwc_image*),pdev->fill_image));struct pwc_image*_stmttmp18=_tmp12B;struct pwc_image*_tmp12C=_stmttmp18;void*_tmp12E;unsigned _tmp12D;if(_tmp12C != 0){_tmp12D=_tmp12C->len;_tmp12E=_tmp12C->img;{unsigned len=_tmp12D;unsigned char*img=_tmp12E;
int _tmp12F=pdev->image_read_pos;int ix=_tmp12F;
if((unsigned)ix < len){
# 3399
if((int)(__builtin_constant_p((int)count)?({void*_tmp27F=(void*)buf;const void*_tmp27E=(const void*)add_for_deptype(img,ix);__constant_copy_to_user(_tmp27F,_tmp27E,count);}):({void*_tmp27D=(void*)buf;const void*_tmp27C=(const void*)add_for_deptype(img,ix);__generic_copy_to_user_Rd523fdd3(_tmp27D,_tmp27C,count);})))
retval=-14;}}}else{_throw_match();}}
# 3395
;}
# 3404
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));
if(retval)
goto drop_pdev;}}}}
# 3409
pdev->image_read_pos +=count;
if(pdev->image_read_pos >= (pdev->view).size){
pdev->image_read_pos=0;
pwc_next_image(pdev);}
# 3414
retval=(long)count;
# 3338
;}
# 3416
drop_pdev:
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 3320
;_pop_handler();}else{void*_tmp10C=(void*)Cyc_Core_get_exn_thrown();void*_tmp130=_tmp10C;
# 3422
pwc_notify_exn(({const char*_tmp131="pwc_video_read";_tag_fat(_tmp131,sizeof(char),15U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_video_read\"");
return - 14;;}}}
# 3426
finally:
 cyc_runtime_unregister_thread_dbg("\"pwc_video_read\"");
return retval;}
# 3432
static long pwc_video_write(video_dev_t vdev,const char*buf,unsigned long count,int noblock){
# 3434
return - 22;}
# 3437
static unsigned pwc_video_poll(video_dev_t vdev,struct file*file,poll_table*wait){
# 3439
tls_record_t tlr=({struct _tls_record _tmp1CD;_tmp1CD.current_frame=0,_tmp1CD.exn_thrown=0,_tmp1CD.exn_filename=0,_tmp1CD.exn_lineno=0;_tmp1CD;});struct _tls_slot _tmp132=({struct _tls_slot _tmp1CC;_tmp1CC.pid=0U,_tmp1CC.usage_count=0U,_tmp1CC.record=& tlr;_tmp1CC;});struct _tls_slot tls=_tmp132;cyc_runtime_register_thread_dbg(& tls,"\"pwc_video_poll\"");{
unsigned retval=-14;
{struct _handler_cons _tmp133;_push_handler(& _tmp133);{int _tmp135=0;if(setjmp(_tmp133.handler))_tmp135=1;if(!_tmp135){
{struct pwc_device*_pdev;
# 3444
if(vdev == 0){
_npop_handler(0);goto out;}
_pdev=vdev->priv;
if(_pdev == 0){
_npop_handler(0);goto out;}{
# 3450
struct pwc_device*_tmp136=_pdev;void*_tmp137;if(_tmp136 != 0){_tmp137=_tmp136->dev_reg;{struct pwc_dev_reg*devregobj=_tmp137;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmp138=drkey;struct Cyc_Core_DynamicRegion*_tmp139=devregobj->regkey;drkey=_tmp139;devregobj->regkey=_tmp138;});{struct _fat_ptr _tmp13A=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmp13A;({struct Cyc_Core_DynamicRegion*_tmp13B=drkey;struct Cyc_Core_DynamicRegion*_tmp13C=devregobj->regkey;drkey=_tmp13C;devregobj->regkey=_tmp13B;});{struct pwc_device_obj*_tmp13D=devregobj->pdev;struct pwc_device_obj*pdev=_tmp13D;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
poll_wait(file,&((struct pwc_device_obj*)_check_null(pdev))->frameq,wait);
if(pdev->unplugged){
printk_R1b7d4074("<6>pwc pwc_video_poll: Device got unplugged.\n");
retval=8U;
goto finally;}{
# 3460
struct fbuf_wrapper _tmp13F=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmp19=_tmp13F;struct fbuf_wrapper _tmp140=_stmttmp19;void*_tmp141;_tmp141=_tmp140.obj;{struct fbuf_obj*obj=_tmp141;if(!((unsigned)obj)){unsigned _tmp142=- 14U;_npop_handler(0);return _tmp142;}{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmp143=tkey;struct Cyc_Core_DynamicRegion*_tmp144=obj->regkey;tkey=_tmp144;obj->regkey=_tmp143;});{struct _fat_ptr _tmp145=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp145;({struct Cyc_Core_DynamicRegion*_tmp146=tkey;struct Cyc_Core_DynamicRegion*_tmp147=obj->regkey;tkey=_tmp147;obj->regkey=_tmp146;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
if(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames != 0)
retval=(unsigned)65U;
# 3463
;}
# 3466
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}
# 3453
;}
# 3469
finally:
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 3442
;_pop_handler();}else{void*_tmp134=(void*)Cyc_Core_get_exn_thrown();void*_tmp149=_tmp134;
# 3475
pwc_notify_exn(({const char*_tmp14A="pwc_video_poll";_tag_fat(_tmp14A,sizeof(char),15U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_video_poll\"");
return - 14U;;}}}
# 3479
out:
 cyc_runtime_unregister_thread_dbg("\"pwc_video_poll\"");
return retval;}}
# 3484
static int pwc_video_ioctl(video_dev_t vdev,unsigned cmd,void*arg){
# 3486
int retval=-14;
tls_record_t tlr=({struct _tls_record _tmp1DC;_tmp1DC.current_frame=0,_tmp1DC.exn_thrown=0,_tmp1DC.exn_filename=0,_tmp1DC.exn_lineno=0;_tmp1DC;});struct _tls_slot _tmp14B=({struct _tls_slot _tmp1DB;_tmp1DB.pid=0U,_tmp1DB.usage_count=0U,_tmp1DB.record=& tlr;_tmp1DB;});struct _tls_slot tls=_tmp14B;cyc_runtime_register_thread_dbg(& tls,"\"pwc_video_ioctl\"");
{struct _handler_cons _tmp14C;_push_handler(& _tmp14C);{int _tmp14E=0;if(setjmp(_tmp14C.handler))_tmp14E=1;if(!_tmp14E){
{struct pwc_device*_pdev;
wait_queue_t wait=({struct __wait_queue _tmp1DA;({struct task_struct*_tmp280=get_current();_tmp1DA.task=_tmp280;}),(_tmp1DA.task_list).next=0,(_tmp1DA.task_list).prev=0,_tmp1DA.flags=0U;_tmp1DA;});
# 3492
if(vdev == 0){
_npop_handler(0);goto out;}
_pdev=vdev->priv;
if(_pdev == 0){
_npop_handler(0);goto out;}{
# 3498
struct pwc_device*_tmp14F=_pdev;void*_tmp150;if(_tmp14F != 0){_tmp150=_tmp14F->dev_reg;{struct pwc_dev_reg*devregobj=_tmp150;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmp151=drkey;struct Cyc_Core_DynamicRegion*_tmp152=devregobj->regkey;drkey=_tmp152;devregobj->regkey=_tmp151;});{struct _fat_ptr _tmp153=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmp153;({struct Cyc_Core_DynamicRegion*_tmp154=drkey;struct Cyc_Core_DynamicRegion*_tmp155=devregobj->regkey;drkey=_tmp155;devregobj->regkey=_tmp154;});{struct pwc_device_obj*_tmp156=devregobj->pdev;struct pwc_device_obj*pdev=_tmp156;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{unsigned _tmp158=cmd;unsigned _tmp159;_tmp159=_tmp158;if(_tmp159 == (2147513857U | sizeof(struct video_capability)<< 16U)){unsigned cmd=_tmp159;
# 3505
struct video_capability caps=({struct video_capability _tmp1CE;({{unsigned _tmp1CF=31U;unsigned i;for(i=0;i < _tmp1CF;++ i){(_tmp1CE.name)[i]='\000';}(_tmp1CE.name)[_tmp1CF]=0;}0;}),_tmp1CE.type=0,_tmp1CE.channels=0,_tmp1CE.audios=0,_tmp1CE.maxwidth=0,_tmp1CE.maxheight=0,_tmp1CE.minwidth=0,_tmp1CE.minheight=0;_tmp1CE;});
# 3508
strcpy(caps.name,(const char*)vdev->name);
caps.type=1;
caps.channels=1;
caps.audios=1;
caps.minwidth=(((struct pwc_device_obj*)_check_null(pdev))->view_min).x;
caps.minheight=(pdev->view_min).y;
caps.maxwidth=(pdev->view_max).x;
caps.maxheight=(pdev->view_max).y;
if((int)(__builtin_constant_p((int)sizeof(caps))?__constant_copy_to_user(arg,(const void*)& caps,sizeof(caps)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& caps,sizeof(caps))))
goto finally;
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (3221255682U | sizeof(struct video_channel)<< 16U)){unsigned cmd=_tmp159;
# 3524
struct video_channel v=({struct video_channel _tmp1D0;_tmp1D0.channel=0,({{unsigned _tmp1D1=31U;unsigned i;for(i=0;i < _tmp1D1;++ i){(_tmp1D0.name)[i]='\000';}(_tmp1D0.name)[_tmp1D1]=0;}0;}),_tmp1D0.tuners=0,_tmp1D0.flags=0U,_tmp1D0.type=0,_tmp1D0.norm=0;_tmp1D0;});
# 3527
if((int)(__builtin_constant_p((int)sizeof(v))?__constant_copy_from_user((void*)& v,(const void*)arg,sizeof(v)): __generic_copy_from_user_R116166aa((void*)& v,(const void*)arg,sizeof(v))))
goto finally;
# 3530
if(v.channel != 0){
retval=-22;
goto finally;}
# 3535
v.flags=0U;
v.tuners=0;
v.type=2;
strcpy(v.name,"Webcam");
# 3540
if((int)(__builtin_constant_p((int)sizeof(v))?__constant_copy_to_user(arg,(const void*)& v,sizeof(v)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& v,sizeof(v))))
goto finally;
# 3544
retval=0;
goto finally;}else{_tmp159=_tmp158;if(_tmp159 == (1073772035U | sizeof(struct video_channel)<< 16U)){unsigned cmd=_tmp159;
# 3554
struct video_channel v=({struct video_channel _tmp1D2;_tmp1D2.channel=0,({{unsigned _tmp1D3=31U;unsigned i;for(i=0;i < _tmp1D3;++ i){(_tmp1D2.name)[i]='\000';}(_tmp1D2.name)[_tmp1D3]=0;}0;}),_tmp1D2.tuners=0,_tmp1D2.flags=0U,_tmp1D2.type=0,_tmp1D2.norm=0;_tmp1D2;});
# 3556
if((int)(__builtin_constant_p((int)sizeof(v))?__constant_copy_from_user((void*)& v,(const void*)arg,sizeof(v)): __generic_copy_from_user_R116166aa((void*)& v,(const void*)arg,sizeof(v))))
goto finally;
# 3560
if(v.channel != 0){
retval=-22;
goto finally;}
# 3565
retval=0;
goto finally;}else{_tmp159=_tmp158;if(_tmp159 == (2147513862U | sizeof(struct video_picture)<< 16U)){unsigned cmd=_tmp159;
# 3573
struct video_picture p;
int val;
# 3576
p.colour=-32768;
p.hue=-32768;
val=pwc_get_brightness(pdev);
if(val >= 0)
p.brightness=(unsigned short)val;else{
# 3582
p.brightness=-1;}
val=pwc_get_contrast(pdev);
if(val >= 0)
p.contrast=(unsigned short)val;else{
# 3587
p.contrast=-1;}
# 3589
val=pwc_get_gamma(pdev);
if(val >= 0)
p.whiteness=(unsigned short)val;else{
# 3593
p.whiteness=-1;}
val=pwc_get_saturation(pdev);
if(val >= 0)
p.colour=(unsigned short)val;else{
# 3598
p.colour=-1;}
p.depth=24;
p.palette=(unsigned short)((struct pwc_device_obj*)_check_null(pdev))->vpalette;
p.hue=-1;
# 3603
if((int)(__builtin_constant_p((int)sizeof(p))?__constant_copy_to_user(arg,(const void*)& p,sizeof(p)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& p,sizeof(p))))
goto finally;
# 3606
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (1073772039U | sizeof(struct video_picture)<< 16U)){unsigned cmd=_tmp159;
# 3611
struct video_picture p;
# 3613
if((int)(__builtin_constant_p((int)sizeof(p))?__constant_copy_from_user((void*)& p,(const void*)arg,sizeof(p)): __generic_copy_from_user_R116166aa((void*)& p,(const void*)arg,sizeof(p))))
goto finally;
# 3624 "pwc.cyc"
pwc_set_brightness(pdev,(int)p.brightness);
pwc_set_contrast(pdev,(int)p.contrast);
pwc_set_gamma(pdev,(int)p.whiteness);
pwc_set_saturation(pdev,(int)p.colour);
if((int)p.palette &&(int)p.palette != ((struct pwc_device_obj*)_check_null(pdev))->vpalette){
if(pwc_set_palette(pdev,(int)p.palette)< 0){
retval=-22;
goto finally;}}
# 3634
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (2147513865U | sizeof(struct video_window)<< 16U)){unsigned cmd=_tmp159;
# 3640
struct video_window vw=({struct video_window _tmp1D4;_tmp1D4.x=0U,_tmp1D4.y=0U,_tmp1D4.width=0U,_tmp1D4.height=0U,_tmp1D4.chromakey=0U,_tmp1D4.flags=0U,_tmp1D4.clips=0,_tmp1D4.clipcount=0;_tmp1D4;});
# 3642
vw.x=0U;
vw.y=0U;
vw.width=(unsigned)(((struct pwc_device_obj*)_check_null(pdev))->view).x;
vw.height=(unsigned)(pdev->view).y;
vw.chromakey=0U;
vw.flags=(unsigned)(pdev->vframes << 16 | (
(int)pdev->vsnapshot?4194304: 0));
# 3650
if((int)(__builtin_constant_p((int)sizeof(vw))?__constant_copy_to_user(arg,(const void*)& vw,sizeof(vw)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& vw,sizeof(vw))))
goto finally;
# 3653
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (1073772042U | sizeof(struct video_window)<< 16U)){unsigned cmd=_tmp159;
# 3658
struct video_window vw=({struct video_window _tmp1D5;_tmp1D5.x=0U,_tmp1D5.y=0U,_tmp1D5.width=0U,_tmp1D5.height=0U,_tmp1D5.chromakey=0U,_tmp1D5.flags=0U,_tmp1D5.clips=0,_tmp1D5.clipcount=0;_tmp1D5;});
int fps;int snapshot;int ret;
# 3661
if((int)(__builtin_constant_p((int)sizeof(vw))?__constant_copy_from_user((void*)& vw,(const void*)arg,sizeof(vw)): __generic_copy_from_user_R116166aa((void*)& vw,(const void*)arg,sizeof(vw))))
goto finally;
# 3664
fps=(int)((vw.flags & (unsigned)4128768)>> (unsigned)16);
snapshot=(int)(vw.flags & (unsigned)4194304);
if(fps == 0)
fps=((struct pwc_device_obj*)_check_null(pdev))->vframes;
if((((unsigned)(((struct pwc_device_obj*)_check_null(pdev))->view).x == vw.width &&(pdev->view).y)&& fps == pdev->vframes)&& snapshot == (int)pdev->vsnapshot){
retval=0;goto finally;}
# 3671
retval=pwc_try_video_mode(_pdev,(int)vw.width,(int)vw.height,fps,pdev->vcompression,snapshot);
# 3673
if(retval)
goto finally;
# 3676
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (2147513867U | sizeof(struct video_buffer)<< 16U)){unsigned cmd=_tmp159;
# 3682
struct video_buffer vb;
# 3684
vb.base=0;
vb.height=0;
vb.width=0;
vb.depth=0;
vb.bytesperline=0;
# 3690
if((int)(__builtin_constant_p((int)sizeof(vb))?__constant_copy_to_user(arg,(const void*)((void*)& vb),sizeof(vb)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)((void*)& vb),sizeof(vb))))
goto finally;
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (2147513876U | sizeof(struct video_mbuf)<< 16U)){unsigned cmd=_tmp159;
# 3699
struct video_mbuf vm;
int i;
# 3702
__builtin_constant_p(0)?__builtin_constant_p((int)sizeof(vm))?__constant_c_and_count_memset((void*)& vm,16843009U * (unsigned)'\000',sizeof(vm)): __constant_c_memset((void*)& vm,16843009U * (unsigned)'\000',sizeof(vm)):(__builtin_constant_p((int)sizeof(vm))?__memset_generic((void*)& vm,'\000',sizeof(vm)): __memset_generic((void*)& vm,'\000',sizeof(vm)));
vm.size=default_mbufs * ((struct pwc_device_obj*)_check_null(pdev))->len_per_image;
vm.frames=default_mbufs;
for(i=0;i < default_mbufs;++ i){
*((int*)_check_known_subscript_notnull(vm.offsets,32U,sizeof(int),i))=i * pdev->len_per_image;}
# 3708
if((int)(__builtin_constant_p((int)sizeof(vm))?__constant_copy_to_user(arg,(const void*)((void*)& vm),sizeof(vm)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)((void*)& vm),sizeof(vm))))
goto finally;
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (1073772051U | sizeof(struct video_mmap)<< 16U)){unsigned cmd=_tmp159;
# 3716
struct video_mmap vm;
# 3718
if((int)(__builtin_constant_p((int)sizeof(vm))?__constant_copy_from_user((void*)& vm,(const void*)arg,sizeof(vm)): __generic_copy_from_user_R116166aa((void*)& vm,(const void*)arg,sizeof(vm))))
goto finally;
if(pwc_trace & 8)printk_R1b7d4074("<7>pwc VIDIOCMCAPTURE: %dx%d, frame %d, format %d\n",vm.width,vm.height,(int)vm.frame,(int)vm.format);
if(vm.frame < (unsigned)0 || vm.frame >= (unsigned)default_mbufs){
retval=-22;
goto finally;}
# 3731
if((int)vm.format && vm.format != (unsigned)((struct pwc_device_obj*)_check_null(pdev))->vpalette){
if(pwc_set_palette(pdev,(int)vm.format)< 0){
retval=-22;
goto finally;}}
# 3737
if((vm.width != (((struct pwc_device_obj*)_check_null(pdev))->view).x || vm.height != (pdev->view).y)&&(
vm.width >= (pdev->view_min).x && vm.height >= (pdev->view_min).y)){
int ret;
# 3741
if(pwc_trace & 4)printk_R1b7d4074("<7>pwc VIDIOCMCAPTURE: changing size to please xawtv :-(.\n");
retval=pwc_try_video_mode(_pdev,vm.width,vm.height,pdev->vframes,pdev->vcompression,(int)pdev->vsnapshot);
# 3744
if(retval)
goto finally;}
# 3750
if(*((int*)_check_known_subscript_notnull(pdev->image_used,4U,sizeof(int),(int)vm.frame))){
retval=-16;
goto finally;}
# 3754
*((int*)_check_known_subscript_notnull(pdev->image_used,4U,sizeof(int),(int)vm.frame))=1;
# 3764 "pwc.cyc"
if(pwc_trace & 8)printk_R1b7d4074("<7>pwc VIDIOCMCAPTURE done.\n");
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (1073772050U | sizeof(int)<< 16U)){unsigned cmd=_tmp159;
# 3784 "pwc.cyc"
int mbuf;int ret;
# 3786
if((int)(__builtin_constant_p((int)sizeof(int))?__constant_copy_from_user((void*)& mbuf,(const void*)arg,sizeof(int)): __generic_copy_from_user_R116166aa((void*)& mbuf,(const void*)arg,sizeof(int))))
goto finally;
# 3790
if(pwc_trace & 8)printk_R1b7d4074("<7>pwc VIDIOCSYNC called (%d).\n",mbuf);
# 3793
if(mbuf < 0 || mbuf >= default_mbufs){
retval=-22;
goto finally;}
# 3798
if(*((int*)_check_known_subscript_notnull(((struct pwc_device_obj*)_check_null(pdev))->image_used,4U,sizeof(int),mbuf))== 0){
retval=-22;
goto finally;}
# 3809
add_wait_queue_Rc9561ea4(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=1;__asm__  volatile ("" : : :"memory");}while(0);
{
struct fbuf_wrapper _tmp15A=pdev->fbuf_wrapper;struct fbuf_wrapper _stmttmp1A=_tmp15A;struct fbuf_wrapper _tmp15B=_stmttmp1A;void*_tmp15C;_tmp15C=_tmp15B.obj;{struct fbuf_obj*obj=_tmp15C;if(!((unsigned)obj)){int _tmp15D=- 14;_npop_handler(0);return _tmp15D;}{rcregion_key_opt_t tkey=0;({struct Cyc_Core_DynamicRegion*_tmp15E=tkey;struct Cyc_Core_DynamicRegion*_tmp15F=obj->regkey;tkey=_tmp15F;obj->regkey=_tmp15E;});{struct _fat_ptr _tmp160=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(tkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp160;({struct Cyc_Core_DynamicRegion*_tmp161=tkey;struct Cyc_Core_DynamicRegion*_tmp162=obj->regkey;tkey=_tmp162;obj->regkey=_tmp161;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
retval=0;
while(((struct pwc_frame_buf_container*)_check_null(obj->cont))->full_frames == 0){
if(pdev->unplugged){
remove_wait_queue_R42d154f3(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=0;__asm__  volatile ("" : : :"memory");}while(0);
retval=-19;
break;}
# 3824
if(signal_pending(get_current())){
remove_wait_queue_R42d154f3(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=0;__asm__  volatile ("" : : :"memory");}while(0);
retval=-512;
break;}
# 3830
do{((struct task_struct*)_check_null(get_current()))->state=1;__asm__  volatile ("" : : :"memory");}while(0);
schedule_R4292364c();}
# 3815
;}
# 3834
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));
if(retval)
goto finally;}}}}
# 3838
remove_wait_queue_R42d154f3(& pdev->frameq,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=0;__asm__  volatile ("" : : :"memory");}while(0);
# 3847
if(pwc_trace & 8)printk_R1b7d4074("<7>pwc VIDIOCSYNC: frame ready.\n");
pdev->fill_image=mbuf;
# 3850
ret=pwc_handle_frame(pdev);
*((int*)_check_known_subscript_notnull(pdev->image_used,4U,sizeof(int),mbuf))=0;
if(ret)
goto finally;
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (2147513872U | sizeof(struct video_audio)<< 16U)){unsigned cmd=_tmp159;
# 3859
struct video_audio v=({struct video_audio _tmp1D6;_tmp1D6.audio=0,_tmp1D6.volume=0,_tmp1D6.bass=0,_tmp1D6.treble=0,_tmp1D6.flags=0U,({{unsigned _tmp1D7=15U;unsigned i;for(i=0;i < _tmp1D7;++ i){(_tmp1D6.name)[i]='\000';}(_tmp1D6.name)[_tmp1D7]=0;}0;}),_tmp1D6.mode=0,_tmp1D6.balance=0,_tmp1D6.step=0;_tmp1D6;});
# 3861
strcpy(v.name,"Microphone");
v.audio=- 1;
v.flags=0U;
v.mode=1;
v.volume=0;
v.bass=0;
v.treble=0;
v.balance=-32768;
v.step=1;
# 3871
if((int)(__builtin_constant_p((int)sizeof(v))?__constant_copy_to_user(arg,(const void*)& v,sizeof(v)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& v,sizeof(v))))
goto finally;
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (1073772049U | sizeof(struct video_audio)<< 16U)){unsigned cmd=_tmp159;
# 3878
struct video_audio v=({struct video_audio _tmp1D8;_tmp1D8.audio=0,_tmp1D8.volume=0,_tmp1D8.bass=0,_tmp1D8.treble=0,_tmp1D8.flags=0U,({{unsigned _tmp1D9=15U;unsigned i;for(i=0;i < _tmp1D9;++ i){(_tmp1D8.name)[i]='\000';}(_tmp1D8.name)[_tmp1D9]=0;}0;}),_tmp1D8.mode=0,_tmp1D8.balance=0,_tmp1D8.step=0;_tmp1D8;});
# 3880
if((int)(__builtin_constant_p((int)sizeof(v))?__constant_copy_from_user((void*)& v,(const void*)arg,sizeof(v)): __generic_copy_from_user_R116166aa((void*)& v,(const void*)arg,sizeof(v))))
goto finally;
# 3883
goto _LL3;}else{_tmp159=_tmp158;if(_tmp159 == (2147513877U | sizeof(struct video_unit)<< 16U)){unsigned cmd=_tmp159;
# 3888
struct video_unit vu;
# 3890
vu.video=((struct video_device*)_check_null(((struct pwc_device_obj*)_check_null(pdev))->vdev))->minor & 63;
vu.audio=- 1;
vu.vbi=- 1;
vu.radio=- 1;
vu.teletext=- 1;
if((int)(__builtin_constant_p((int)sizeof(vu))?__constant_copy_to_user(arg,(const void*)& vu,sizeof(vu)): __generic_copy_to_user_Rd523fdd3(arg,(const void*)& vu,sizeof(vu))))
goto finally;
goto _LL3;}else{
# 3900
retval=pwc_ioctl(pdev,cmd,arg);
goto finally;}}}}}}}}}}}}}}_LL3:;}
# 3903
retval=0;
# 3501 "pwc.cyc"
;}
# 3905 "pwc.cyc"
finally:
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 3489 "pwc.cyc"
;_pop_handler();}else{void*_tmp14D=(void*)Cyc_Core_get_exn_thrown();void*_tmp164=_tmp14D;
# 3911 "pwc.cyc"
pwc_notify_exn(({const char*_tmp165="pwc_video_ioctl";_tag_fat(_tmp165,sizeof(char),16U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_video_ioctl\"");
return - 14;;}}}
# 3915
out:
 cyc_runtime_unregister_thread_dbg("\"pwc_video_ioctl\"");
return retval;}
# 3921
static int pwc_video_mmap(video_dev_t vdev,const char*adr,unsigned long size){
# 3923
tls_record_t tlr=({struct _tls_record _tmp1DF;_tmp1DF.current_frame=0,_tmp1DF.exn_thrown=0,_tmp1DF.exn_filename=0,_tmp1DF.exn_lineno=0;_tmp1DF;});struct _tls_slot _tmp166=({struct _tls_slot _tmp1DE;_tmp1DE.pid=0U,_tmp1DE.usage_count=0U,_tmp1DE.record=& tlr;_tmp1DE;});struct _tls_slot tls=_tmp166;cyc_runtime_register_thread_dbg(& tls,"\"pwc_video_mmap\"");{
int retval=0;
{struct _handler_cons _tmp167;_push_handler(& _tmp167);{int _tmp169=0;if(setjmp(_tmp167.handler))_tmp169=1;if(!_tmp169){
{struct pwc_device*_pdev;
unsigned long start=(unsigned long)adr;
unsigned long page;unsigned long pos;
# 3930
if(pwc_trace & 16)printk_R1b7d4074("<7>pwc mmap(0x%p, 0x%p, %lu) called.\n",(unsigned)vdev,(unsigned)adr,size);
_pdev=((struct video_device*)_check_null(vdev))->priv;{
# 3933
struct pwc_device*_tmp16A=_pdev;void*_tmp16B;if(_tmp16A != 0){_tmp16B=_tmp16A->dev_reg;{struct pwc_dev_reg*devregobj=_tmp16B;rcregion_key_opt_t drkey=0;({struct Cyc_Core_DynamicRegion*_tmp16C=drkey;struct Cyc_Core_DynamicRegion*_tmp16D=devregobj->regkey;drkey=_tmp16D;devregobj->regkey=_tmp16C;});{struct _fat_ptr _tmp16E=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(drkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr pdev_key=_tmp16E;({struct Cyc_Core_DynamicRegion*_tmp16F=drkey;struct Cyc_Core_DynamicRegion*_tmp170=devregobj->regkey;drkey=_tmp170;devregobj->regkey=_tmp16F;});{struct pwc_device_obj*_tmp171=devregobj->pdev;struct pwc_device_obj*pdev=_tmp171;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{struct pwc_img_wrapper _tmp173=((struct pwc_device_obj*)_check_null(pdev))->img_wrapper;struct pwc_img_wrapper _stmttmp1B=_tmp173;struct pwc_img_wrapper _tmp174=_stmttmp1B;void*_tmp175;_tmp175=_tmp174.obj;{struct pwc_img_obj*imgobj=_tmp175;if(!((unsigned)imgobj)){int _tmp176=- 14;_npop_handler(0);return _tmp176;}{rcregion_key_opt_t gtkey=0;({struct Cyc_Core_DynamicRegion*_tmp177=gtkey;struct Cyc_Core_DynamicRegion*_tmp178=imgobj->regkey;gtkey=_tmp178;imgobj->regkey=_tmp177;});{struct _fat_ptr _tmp179=((struct _fat_ptr(*)(struct _fat_ptr))Cyc_Core_alias_refptr)(_tag_fat(gtkey,sizeof(struct Cyc_Core_DynamicRegion),1U));struct _fat_ptr key=_tmp179;({struct Cyc_Core_DynamicRegion*_tmp17A=gtkey;struct Cyc_Core_DynamicRegion*_tmp17B=imgobj->regkey;gtkey=_tmp17B;imgobj->regkey=_tmp17A;});
{
struct _RegionHandle*h=&((struct Cyc_Core_DynamicRegion*)_check_null(_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U)))->h;
{struct pwc_image*_tmp17D=imgobj->allimages;struct pwc_image*_stmttmp1C=_tmp17D;struct pwc_image*_tmp17E=_stmttmp1C;void*_tmp180;unsigned _tmp17F;_tmp17F=_tmp17E->len;_tmp180=_tmp17E->img;{unsigned len=_tmp17F;unsigned char*buf=_tmp180;
u8*pos=0;
if((unsigned)0 < len)
pos=add_for_deptype(buf,0);{
unsigned count=0U;
while(size > (unsigned long)0){
page=kvirt_to_pa((void*)pos);
if(({unsigned long _tmp282=start;unsigned long _tmp281=page;remap_page_range_R69d01e73(_tmp282,_tmp281,1U << (unsigned)12,({struct _tuple7 _tmp1DD;_tmp1DD.pgprot=(unsigned long)(((1 | 2)| 4)| 32);_tmp1DD;}));})){
retval=-11;
break;}
# 3950
start +=1U << (unsigned)12;
if(size > 4096U)
size -=1U << (unsigned)12;else{
# 3954
size=0U;}{
unsigned _tmp181=(count + (unsigned)1)* (1U << (unsigned)12);unsigned ix=_tmp181;
if(ix < len)
pos=add_for_deptype(buf,(int)ix);
# 3959
++ count;}}}}}
# 3939
;}
# 3962
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}
# 3936
;}
# 3965
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)((struct Cyc_Core_DynamicRegion*)_untag_fat_ptr(pdev_key,sizeof(struct Cyc_Core_DynamicRegion),1U));}}}}else{_throw_match();}}}
# 3926
;_pop_handler();}else{void*_tmp168=(void*)Cyc_Core_get_exn_thrown();void*_tmp182=_tmp168;
# 3970
pwc_notify_exn(({const char*_tmp183="pwc_video_mmap";_tag_fat(_tmp183,sizeof(char),15U);}));
cyc_runtime_unregister_thread_dbg("\"pwc_video_mmap\"");
return - 11;;}}}
# 3974

cyc_runtime_unregister_thread_dbg("\"pwc_video_mmap\"");
return retval;}}
# 3987 "pwc.cyc"
static void*usb_pwc_probe(struct usb_device*udev,unsigned ifnum,const struct usb_device_id*id){
# 3989
struct pwc_device*pdev_ret=0;
tls_record_t tlr=({struct _tls_record _tmp1E2;_tmp1E2.current_frame=0,_tmp1E2.exn_thrown=0,_tmp1E2.exn_filename=0,_tmp1E2.exn_lineno=0;_tmp1E2;});struct _tls_slot _tmp184=({struct _tls_slot _tmp1E1;_tmp1E1.pid=0U,_tmp1E1.usage_count=0U,_tmp1E1.record=& tlr;_tmp1E1;});struct _tls_slot tls=_tmp184;cyc_runtime_register_thread_dbg(& tls,"\"usb_pwc_probe\"");
{struct _handler_cons _tmp185;_push_handler(& _tmp185);{int _tmp187=0;if(setjmp(_tmp185.handler))_tmp187=1;if(!_tmp187){
{video_dev_t vdev;
int vendor_id;int product_id;int type_id;
int i;int hint;
int video_nr=-1;
char serial_number[30U];({{unsigned _tmp1E0=29U;unsigned i;for(i=0;i < _tmp1E0;++ i){serial_number[i]='\000';}serial_number[_tmp1E0]=0;}0;});
# 3999
free_mem_leak();
# 4002
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc probe() called [%04X %04X], if %d\n",(unsigned)(((struct usb_device*)_check_null(udev))->descriptor).idVendor,(unsigned)(udev->descriptor).idProduct,(int)ifnum);
# 4008
if(ifnum > (unsigned)0){
_npop_handler(0);goto finally;}
# 4011
vendor_id=(int)(((struct usb_device*)_check_null(udev))->descriptor).idVendor;
product_id=(int)(udev->descriptor).idProduct;
# 4014
if(vendor_id == 1137){
int _tmp188=product_id;switch((int)_tmp188){case 770:
# 4017
 printk_R1b7d4074("<6>pwc Philips PCA645VC USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 645 webcam");
type_id=645;
goto _LL0;case 771:
# 4022
 printk_R1b7d4074("<6>pwc Philips PCA646VC USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 646 webcam");
type_id=646;
goto _LL0;case 772:
# 4027
 printk_R1b7d4074("<6>pwc Askey VC010 type 2 USB webcam detected.\n");
strcpy(pwc_template.name,"Askey VC010 webcam");
type_id=646;
goto _LL0;case 775:
# 4032
 printk_R1b7d4074("<6>pwc Philips PCVC675K (Vesta) USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 675 webcam");
type_id=675;
goto _LL0;case 776:
# 4037
 printk_R1b7d4074("<6>pwc Philips PCVC680K (Vesta Pro) USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 680 webcam");
type_id=680;
goto _LL0;case 780:
# 4042
 printk_R1b7d4074("<6>pwc Philips PCVC690K (Vesta Pro Scan) USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 690 webcam");
type_id=690;
goto _LL0;case 784:
# 4047
 printk_R1b7d4074("<6>pwc Philips PCVC730K (ToUCam Fun) USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 730 webcam");
type_id=730;
goto _LL0;case 785:
# 4052
 printk_R1b7d4074("<6>pwc Philips PCVC740K (ToUCam Pro) USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 740 webcam");
type_id=740;
goto _LL0;case 786:
# 4057
 printk_R1b7d4074("<6>pwc Philips PCVC750K (ToUCam Pro Scan) USB webcam detected.\n");
strcpy(pwc_template.name,"Philips 750 webcam");
type_id=750;
goto _LL0;default:
# 4062
 _npop_handler(0);goto finally;
goto _LL0;}_LL0:;}else{
# 4066
if(vendor_id == 1690){
int _tmp189=product_id;if(_tmp189 == 1){
# 4069
printk_R1b7d4074("<6>pwc Askey VC010 type 1 USB webcam detected.\n");
strcpy(pwc_template.name,"Askey VC010 webcam");
type_id=645;
goto _LL15;}else{
# 4074
_npop_handler(0);goto finally;
goto _LL15;}_LL15:;}else{
# 4078
if(vendor_id == 1133){
int _tmp18A=product_id;switch((int)_tmp18A){case 2224:
# 4081
 printk_R1b7d4074("<6>pwc Logitech QuickCam Pro 3000 USB webcam detected.\n");
strcpy(pwc_template.name,"Logitech QuickCam Pro 3000");
type_id=730;
goto _LL1A;case 2225:
# 4086
 printk_R1b7d4074("<6>pwc Logitech QuickCam for Notebook Pro USB webcam detected.\n");
strcpy(pwc_template.name,"Logitech QuickCam Notebook Pro");
type_id=740;
goto _LL1A;case 2226:
# 4091
 printk_R1b7d4074("<6>pwc Logitech QuickCam 4000 Pro USB webcam detected.\n");
strcpy(pwc_template.name,"Logitech QuickCam Pro 4000");
type_id=740;
goto _LL1A;case 2227:
# 4096
 printk_R1b7d4074("<6>pwc Logitech QuickCam Zoom USB webcam detected.\n");
strcpy(pwc_template.name,"Logitech QuickCam Zoom");
type_id=740;
goto _LL1A;default:
# 4101
 _npop_handler(0);goto finally;
goto _LL1A;}_LL1A:;}else{
# 4105
if(vendor_id == 1373){
# 4110
int _tmp18B=product_id;switch((int)_tmp18B){case 36864:
# 4112
 printk_R1b7d4074("<6>pwc Samsung MPC-C10 USB webcam detected.\n");
strcpy(pwc_template.name,"Samsung MPC-C10");
type_id=675;
goto _LL25;case 36865:
# 4117
 printk_R1b7d4074("<6>pwc Samsung MPC-C30 USB webcam detected.\n");
strcpy(pwc_template.name,"Samsung MPC-C30");
type_id=675;
goto _LL25;default:
# 4122
 _npop_handler(0);goto finally;
goto _LL25;}_LL25:;}else{
# 4126
if(vendor_id == 1054){
int _tmp18C=product_id;if(_tmp18C == 16396){
# 4129
printk_R1b7d4074("<6>pwc Creative Labs Webcam 5 detected.\n");
strcpy(pwc_template.name,"Creative Labs Webcam 5");
type_id=730;
goto _LL2C;}else{
# 4134
_npop_handler(0);goto finally;
goto _LL2C;}_LL2C:;}else{
# 4138
if(vendor_id == 1228){
int _tmp18D=product_id;if(_tmp18D == 33046){
# 4141
printk_R1b7d4074("<6>pwc Sotec Afina Eye USB webcam detected.\n");
strcpy(pwc_template.name,"Sotec Afina Eye");
type_id=730;
goto _LL31;}else{
# 4146
_npop_handler(0);goto finally;
goto _LL31;}_LL31:;}else{
# 4150
if(vendor_id == 3457){
int _tmp18E=product_id;switch((int)_tmp18E){case 6400:
# 4153
 printk_R1b7d4074("<6>pwc Visionite VCS-UC300 USB webcam detected.\n");
strcpy(pwc_template.name,"Visionite VCS-UC300");
type_id=740;
goto _LL36;case 6416:
# 4158
 printk_R1b7d4074("<6>pwc Visionite VCS-UM100 USB webcam detected.\n");
strcpy(pwc_template.name,"Visionite VCS-UM100");
type_id=730;
goto _LL36;default:
# 4163
 _npop_handler(0);goto finally;
goto _LL36;}_LL36:;}else{
# 4168
_npop_handler(0);goto finally;}}}}}}}
# 4170
__builtin_constant_p(0)?__builtin_constant_p(30)?__constant_c_and_count_memset((void*)serial_number,16843009U * (unsigned)'\000',30U): __constant_c_memset((void*)serial_number,16843009U * (unsigned)'\000',30U):(__builtin_constant_p(30)?__memset_generic((void*)serial_number,'\000',30U): __memset_generic((void*)serial_number,'\000',30U));
((int(*)(struct usb_device*,int,char*,unsigned))usb_string_R07af55c7)(udev,(int)(udev->descriptor).iSerialNumber,serial_number,29);
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Device serial number is %s\n",(const char*)serial_number);
# 4174
if((int)(udev->descriptor).bNumConfigurations > 1)
printk_R1b7d4074("<6>pwc Warning: more than 1 configuration available.\n");{
# 4179
struct Cyc_Core_NewDynamicRegion _tmp18F=Cyc_Core__new_rckey("internal-error","internal-error",0);struct Cyc_Core_NewDynamicRegion _stmttmp1D=_tmp18F;struct Cyc_Core_NewDynamicRegion _tmp190=_stmttmp1D;void*_tmp191;_tmp191=_tmp190.key;{struct Cyc_Core_DynamicRegion*key=_tmp191;
struct pwc_device_obj*pdev=0;
{
struct _RegionHandle*h=& key->h;
pdev=((struct pwc_device_obj*(*)(struct _RegionHandle*,unsigned))rmalloc_init)(h,sizeof(struct pwc_device));
if(pdev == 0){
printk_R1b7d4074("<3>pwc Oops, could not allocate memory for pwc_device.\n");
_npop_handler(0);goto finally;}
# 4189
pdev->type=type_id;
pwc_construct(pdev);
# 4192
init_MUTEX(& pdev->modlock);
# 4194
init_spinlock(pdev);
# 4196
pdev->udev=udev;
init_waitqueue_head(& pdev->frameq);
init_waitqueue_head(& pdev->remove_ok);
pdev->vcompression=pwc_preferred_compression;
# 4202
vdev=((struct video_device*(*)(unsigned))malloc_init)(sizeof(struct video_device));
if(vdev == 0){
printk_R1b7d4074("<3>pwc Oops, could not allocate memory for video_device.\n");
_npop_handler(0);goto finally;}
# 4207
__builtin_constant_p((int)sizeof(pwc_template))?__constant_memcpy((void*)vdev,(const void*)& pwc_template,sizeof(pwc_template)): __memcpy((void*)vdev,(const void*)& pwc_template,sizeof(pwc_template));
# 4209
do{vdev->owner=& __this_module;}while(0);
pdev->vdev=vdev;
pdev->release=(int)(udev->descriptor).bcdDevice;
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Release: %04x\n",(unsigned)pdev->release);
# 4215
for(hint=0;hint < 10;++ hint){
if(((*((struct _tuple88*)_check_known_subscript_notnull(device_hint,10U,sizeof(struct _tuple88),hint))).type == - 1 ||(device_hint[hint]).type == pdev->type)&&(device_hint[hint]).pdev == 0){
# 4219
if((int)((device_hint[hint]).serial_number)[0]== (int)'*' || !strcmp((const char*)(device_hint[hint]).serial_number,(const char*)serial_number)){
# 4221
video_nr=(device_hint[hint]).device_node;
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Found hint, will try to register as /dev/video%d\n",video_nr);
break;}}}
# 4183
;}{
# 4228
struct pwc_dev_reg*dr=({struct pwc_dev_reg*_tmp194=_cycalloc(sizeof(*_tmp194));_tmp194->regkey=key,_tmp194->pdev=pdev;_tmp194;});
pdev_ret=({struct pwc_device*_tmp193=_cycalloc(sizeof(*_tmp193));_tmp193->dev_reg=dr;_tmp193;});
vdev->priv=pdev_ret;
i=((int(*)(struct video_device*,int,int))video_register_device_R3a9d72af)(vdev,0,video_nr);
if(i < 0){
printk_R1b7d4074("<3>pwc Failed to register as video device (%d).\n",i);
_npop_handler(0);goto finally;}else{
# 4237
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Registered video struct at 0x%p.\n",(unsigned)vdev);
printk_R1b7d4074("<6>pwc Registered as /dev/video%d.\n",vdev->minor & 63);}
# 4241
if(hint < 10)
(*((struct _tuple88*)_check_known_subscript_notnull(device_hint,10U,sizeof(struct _tuple88),hint))).pdev=pdev_ret;
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc probe() function returning struct at 0x%p.\n",(unsigned)pdev);}}}}
# 3992
;_pop_handler();}else{void*_tmp186=(void*)Cyc_Core_get_exn_thrown();void*_tmp195=_tmp186;
# 4247
pwc_notify_exn(({const char*_tmp196="usb_pwc_probe";_tag_fat(_tmp196,sizeof(char),14U);}));
cyc_runtime_unregister_thread_dbg("\"usb_pwc_probe\"");
return 0;;}}}
# 4251
finally:
 cyc_runtime_unregister_thread_dbg("\"usb_pwc_probe\"");
return(void*)pdev_ret;}
# 4258
static void usb_pwc_disconnect(struct usb_device*udev,void*ptr){
# 4260
tls_record_t tlr=({struct _tls_record _tmp1E5;_tmp1E5.current_frame=0,_tmp1E5.exn_thrown=0,_tmp1E5.exn_filename=0,_tmp1E5.exn_lineno=0;_tmp1E5;});struct _tls_slot _tmp197=({struct _tls_slot _tmp1E4;_tmp1E4.pid=0U,_tmp1E4.usage_count=0U,_tmp1E4.record=& tlr;_tmp1E4;});struct _tls_slot tls=_tmp197;cyc_runtime_register_thread_dbg(& tls,"\"usb_pwc_disconnect\"");
{struct _handler_cons _tmp198;_push_handler(& _tmp198);{int _tmp19A=0;if(setjmp(_tmp198.handler))_tmp19A=1;if(!_tmp19A){
{struct pwc_device*_pdev;
int hint;
wait_queue_t wait=({struct __wait_queue _tmp1E3;({struct task_struct*_tmp283=get_current();_tmp1E3.task=_tmp283;}),(_tmp1E3.task_list).next=0,(_tmp1E3.task_list).prev=0,_tmp1E3.flags=0U;_tmp1E3;});
# 4266
do{;}while(0);
free_mem_leak();
# 4269
_pdev=((struct pwc_device*(*)(void*,unsigned))CYC_DO_CAST)(ptr,sizeof(struct pwc_device*));
if(_pdev == 0){
printk_R1b7d4074("<3>pwc pwc_disconnect() Called without private pointer.\n");
_npop_handler(0);goto finally;}{
# 4275
struct pwc_device*_tmp19B=_pdev;void*_tmp19C;if(_tmp19B != 0){_tmp19C=_tmp19B->dev_reg;{struct pwc_dev_reg*devregobj=_tmp19C;
rcregion_key_opt_t pdev_key=0;
({struct Cyc_Core_DynamicRegion*_tmp19D=pdev_key;struct Cyc_Core_DynamicRegion*_tmp19E=devregobj->regkey;pdev_key=_tmp19E;devregobj->regkey=_tmp19D;});{
struct pwc_device_obj*_tmp19F=devregobj->pdev;struct pwc_device_obj*pdev=_tmp19F;
{
struct _RegionHandle*p=&((struct Cyc_Core_DynamicRegion*)_check_null(pdev_key))->h;
if(((struct pwc_device_obj*)_check_null(pdev))->udev == 0){
printk_R1b7d4074("<3>pwc pwc_disconnect() already called for %p\n",(unsigned)pdev);
goto reswap;}
# 4285
if(pdev->udev != udev){
printk_R1b7d4074("<3>pwc pwc_disconnect() Woops: pointer mismatch udev/pdev.\n");
goto reswap;}
# 4296
pdev->unplugged=1;
if(pdev->vdev != 0){
add_wait_queue_Rc9561ea4(& pdev->remove_ok,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=2;__asm__  volatile ("" : : :"memory");}while(0);
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Unregistering video device.\n");
((void(*)(struct video_device*))video_unregister_device_R83e17254)(pdev->vdev);
if(pdev->vopen){
printk_R1b7d4074("<6>pwc Disconnected while device/video is open!\n");
# 4308
__wake_up_Rb76c5f1e(& pdev->frameq,(unsigned)(2 | 1),1);
# 4316
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Sleeping on remove_ok.\n");
# 4318
schedule_R4292364c();
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Done sleeping.\n");
set_mem_leak((void*)pdev->vdev);
pdev->vdev=0;}else{
# 4325
kfree_R037a0cba((const void*)pdev->vdev);
pdev->vdev=0;}
# 4328
remove_wait_queue_R42d154f3(& pdev->remove_ok,& wait);
do{((struct task_struct*)_check_null(get_current()))->state=0;__asm__  volatile ("" : : :"memory");}while(0);}
# 4333
for(hint=0;hint < 10;++ hint){
if((*((struct _tuple88*)_check_known_subscript_notnull(device_hint,10U,sizeof(struct _tuple88),hint))).pdev == _pdev)
(device_hint[hint]).pdev=0;}
# 4337
pdev->udev=0;
do{;}while(0);
# 4281
;}
# 4340
((void(*)(struct Cyc_Core_DynamicRegion*))Cyc_Core_drop_refptr)(pdev_key);
_npop_handler(0);goto finally;
reswap:
({struct Cyc_Core_DynamicRegion*_tmp1A1=pdev_key;struct Cyc_Core_DynamicRegion*_tmp1A2=devregobj->regkey;pdev_key=_tmp1A2;devregobj->regkey=_tmp1A1;});}}}else{_throw_match();}}}
# 4262
;_pop_handler();}else{void*_tmp199=(void*)Cyc_Core_get_exn_thrown();void*_tmp1A3=_tmp199;
# 4348
pwc_notify_exn(({const char*_tmp1A4="usb_pwc_disconnect";_tag_fat(_tmp1A4,sizeof(char),19U);}));
cyc_runtime_unregister_thread_dbg("\"usb_pwc_disconnect\"");
return;;}}}
# 4352
finally:
 cyc_runtime_unregister_thread_dbg("\"usb_pwc_disconnect\"");}
# 4358
static int pwc_atoi(const char*s){
# 4360
int k=0;
# 4362
k=0;
while((*s != '\000' &&*s >= '0')&&*s <= '9'){
k=10 * k + (*s - '0');
s ++;}
# 4367
return k;}
# 4375
static char*size=0;
static int fps=0;
static int fbufs=0;
static int mbufs=0;
static int trace=- 1;
static int compression=- 1;
static int leds[2U]={- 1,- 1};
static char*dev_hint[10U]={};
# 4384
const char __module_parm_size[12U] __attribute__((section(".modinfo"))) ="parm_size=s";
const char __module_parm_desc_size[75U] __attribute__((section(".modinfo"))) ="parm_desc_size=Initial image size. One of sqcif, qsif, qcif, sif, cif, vga";
const char __module_parm_fps[11U] __attribute__((section(".modinfo"))) ="parm_fps=i";
const char __module_parm_desc_fps[78U] __attribute__((section(".modinfo"))) ="parm_desc_fps=Initial frames per second. Varies with model, useful range 5-30";
const char __module_parm_fbufs[13U] __attribute__((section(".modinfo"))) ="parm_fbufs=i";
const char __module_parm_desc_fbufs[60U] __attribute__((section(".modinfo"))) ="parm_desc_fbufs=Number of internal frame buffers to reserve";
const char __module_parm_mbufs[13U] __attribute__((section(".modinfo"))) ="parm_mbufs=i";
const char __module_parm_desc_mbufs[60U] __attribute__((section(".modinfo"))) ="parm_desc_mbufs=Number of external (mmap()ed) image buffers";
const char __module_parm_trace[13U] __attribute__((section(".modinfo"))) ="parm_trace=i";
const char __module_parm_desc_trace[39U] __attribute__((section(".modinfo"))) ="parm_desc_trace=For debugging purposes";
const char __module_parm_power_save[18U] __attribute__((section(".modinfo"))) ="parm_power_save=i";
const char __module_parm_desc_power_save[65U] __attribute__((section(".modinfo"))) ="parm_desc_power_save=Turn power save feature in camera on or off";
const char __module_parm_compression[19U] __attribute__((section(".modinfo"))) ="parm_compression=i";
const char __module_parm_desc_compression[100U] __attribute__((section(".modinfo"))) ="parm_desc_compression=Preferred compression quality. Range 0 (uncompressed) to 3 (high compression)";
const char __module_parm_leds[13U] __attribute__((section(".modinfo"))) ="parm_leds=2i";
const char __module_parm_desc_leds[47U] __attribute__((section(".modinfo"))) ="parm_desc_leds=LED on,off time in milliseconds";
const char __module_parm_dev_hint[20U] __attribute__((section(".modinfo"))) ="parm_dev_hint=0-10s";
const char __module_parm_desc_dev_hint[37U] __attribute__((section(".modinfo"))) ="parm_desc_dev_hint=Device node hints";
# 4403
const char __module_description[44U] __attribute__((section(".modinfo"))) ="description=Philips USB & OEM webcam driver";
const char __module_author[46U] __attribute__((section(".modinfo"))) ="author=Nemosoft Unv. <nemosoft@smcc.demon.nl>";
static const char __module_license[12U] __attribute__((section(".modinfo"))) ="license=GPL";
# 4407
static int usb_pwc_init (void){
# 4409
tls_record_t tlr=({struct _tls_record _tmp1E7;_tmp1E7.current_frame=0,_tmp1E7.exn_thrown=0,_tmp1E7.exn_filename=0,_tmp1E7.exn_lineno=0;_tmp1E7;});struct _tls_slot _tmp1A5=({struct _tls_slot _tmp1E6;_tmp1E6.pid=0U,_tmp1E6.usage_count=0U,_tmp1E6.record=& tlr;_tmp1E6;});struct _tls_slot tls=_tmp1A5;cyc_runtime_register_thread_dbg(& tls,"\"usb_pwc_init\"");{
int retval=-22;
{struct _handler_cons _tmp1A6;_push_handler(& _tmp1A6);{int _tmp1A8=0;if(setjmp(_tmp1A6.handler))_tmp1A8=1;if(!_tmp1A8){
{int i;int sz;
struct char_wrapper sizenames[6U];(sizenames[0]).s="sqcif",(sizenames[1]).s="qsif",(sizenames[2]).s="qcif",(sizenames[3]).s="sif",(sizenames[4]).s="cif",(sizenames[5]).s="vga";
# 4415
printk_R1b7d4074("<6>pwc Philips PCA645/646 + PCVC675/680/690 + PCVC730/740/750 webcam module version 8.10 loaded.\n");
printk_R1b7d4074("<6>pwc Also supports the Askey VC010, various Logitech Quickcams, Samsung MPC-C10 and MPC-C30,\n");
printk_R1b7d4074("<6>pwc the Creative WebCam 5, SOTEC Afina Eye and Visionite VCS-UC300 and VCS-UM100.\n");
# 4419
init_video_device();
init_usb_driver();
# 4425
if(fps){
if(fps < 4 || fps > 30){
printk_R1b7d4074("<3>pwc Framerate out of bounds (4-30).\n");
_npop_handler(0);goto finally;}
# 4430
default_fps=fps;
printk_R1b7d4074("<6>pwc Default framerate set to %d.\n",default_fps);}
# 4434
if((unsigned)size){
# 4436
for(sz=0;sz < 6;++ sz){
if(!strcmp((*((struct char_wrapper*)_check_known_subscript_notnull(sizenames,6U,sizeof(struct char_wrapper),sz))).s,(const char*)size)){
default_size=sz;
break;}}
# 4442
if(sz == 6){
printk_R1b7d4074("<3>pwc Size not recognized; try size=[sqcif | qsif | qcif | sif | cif | vga].\n");
_npop_handler(0);goto finally;}
# 4446
({const char*_tmp285=(const char*)_check_null((*((struct char_wrapper*)_check_known_subscript_notnull(sizenames,6U,sizeof(struct char_wrapper),default_size))).s);int _tmp284=(*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),default_size))).x;printk_R1b7d4074("<6>pwc Default image size set to %s [%dx%d].\n",_tmp285,_tmp284,(*((struct pwc_coord*)_check_known_subscript_notnull(pwc_image_sizes,6U,sizeof(struct pwc_coord),default_size))).y);});}
# 4448
if(mbufs){
if(mbufs < 1 || mbufs > 4){
printk_R1b7d4074("<3>pwc Illegal number of mmap() buffers; use a number between 1 and %d.\n",4);
_npop_handler(0);goto finally;}
# 4453
default_mbufs=mbufs;
printk_R1b7d4074("<6>pwc Number of image buffers set to %d.\n",default_mbufs);}
# 4456
if(fbufs){
if(fbufs < 2 || fbufs > 5){
printk_R1b7d4074("<3>pwc Illegal number of frame buffers; use a number between 2 and %d.\n",5);
_npop_handler(0);goto finally;}
# 4461
default_fbufs=fbufs;
printk_R1b7d4074("<6>pwc Number of frame buffers set to %d.\n",default_fbufs);}
# 4464
if(trace >= 0){
printk_R1b7d4074("<6>pwc Trace options: 0x%04x\n",(unsigned)trace);
pwc_trace=trace;}
# 4468
if(compression >= 0){
if(compression > 3){
printk_R1b7d4074("<3>pwc Invalid compression setting; use a number between 0 (uncompressed) and 3 (high).\n");
_npop_handler(0);goto finally;}
# 4473
pwc_preferred_compression=compression;
printk_R1b7d4074("<6>pwc Preferred compression set to %d.\n",pwc_preferred_compression);}
# 4476
if(power_save)
printk_R1b7d4074("<6>pwc Enabling power save on open/close.\n");
if(leds[0]>= 0)
led_on=leds[0];
if(leds[1]>= 0)
led_off=leds[1];
# 4490 "pwc.cyc"
for(i=0;i < 10;++ i){
char*s;char*colon;char*dot;
# 4494
(*((struct _tuple88*)_check_known_subscript_notnull(device_hint,10U,sizeof(struct _tuple88),i))).pdev=0;
s=dev_hint[i];
if(s != 0 &&(int)*s != (int)'\000'){
(device_hint[i]).type=- 1;
strcpy((device_hint[i]).serial_number,"*");
# 4501
colon=(dot=s);
while((int)*((char*)_check_null(colon))!= (int)'\000' &&(int)*colon != (int)':'){
({char**_tmp1A9=& colon;if(*(*_tmp1A9)!= 0)++(*_tmp1A9);else{_throw_arraybounds();}*_tmp1A9;});}
while((int)*((char*)_check_null(dot))!= (int)'\000' &&(int)*dot != (int)'.'){
({char**_tmp1AA=& dot;if(*(*_tmp1AA)!= 0)++(*_tmp1AA);else{_throw_arraybounds();}*_tmp1AA;});}
# 4507
if((int)*dot != (int)'\000' && dot > colon){
printk_R1b7d4074("<3>pwc Malformed camera hint: the colon must be after the dot.\n");
_npop_handler(0);goto finally;}
# 4512
if((int)*colon == (int)'\000'){
# 4514
if((int)*dot != (int)'\000'){
printk_R1b7d4074("<3>pwc Malformed camera hint: no colon + device node given.\n");
_npop_handler(0);goto finally;}else{
# 4520
({int _tmp286=pwc_atoi((const char*)s);(device_hint[i]).device_node=_tmp286;});}}else{
# 4525
({int _tmp287=pwc_atoi((const char*)s);(device_hint[i]).type=_tmp287;});
({int _tmp288=pwc_atoi((const char*)_untag_fat_ptr(_fat_ptr_plus(({char*_tmp1AB=colon;_tag_fat(_tmp1AB,sizeof(char),_get_zero_arr_size_char((void*)_tmp1AB,1U));}),sizeof(char),1),sizeof(char),1U));(device_hint[i]).device_node=_tmp288;});
if((int)*dot != (int)'\000'){
# 4529
int k;
# 4531
({char**_tmp1AC=& dot;if(*(*_tmp1AC)!= 0)++(*_tmp1AC);else{_throw_arraybounds();}*_tmp1AC;});
k=0;
while((int)*((char*)_check_null(dot))!= (int)':' && k < 29){
({struct _fat_ptr _tmp1AE=({struct _fat_ptr _tmp289=({char*_tmp1AD=(device_hint[i]).serial_number;_tag_fat(_tmp1AD,sizeof(char),30U);});_fat_ptr_plus(_tmp289,sizeof(char),k ++);});char _tmp1AF=*((char*)_check_fat_subscript(_tmp1AE,sizeof(char),0U));char _tmp1B0=*dot;if(_get_fat_size(_tmp1AE,sizeof(char))== 1U &&(_tmp1AF == 0 && _tmp1B0 != 0))_throw_arraybounds();*((char*)_tmp1AE.curr)=_tmp1B0;});
({char**_tmp1B1=& dot;if(*(*_tmp1B1)!= 0)++(*_tmp1B1);else{_throw_arraybounds();}*_tmp1B1;});}
# 4537
({struct _fat_ptr _tmp1B3=({struct _fat_ptr _tmp28A=({char*_tmp1B2=(device_hint[i]).serial_number;_tag_fat(_tmp1B2,sizeof(char),30U);});_fat_ptr_plus(_tmp28A,sizeof(char),k);});char _tmp1B4=*((char*)_check_fat_subscript(_tmp1B3,sizeof(char),0U));char _tmp1B5='\000';if(_get_fat_size(_tmp1B3,sizeof(char))== 1U &&(_tmp1B4 == 0 && _tmp1B5 != 0))_throw_arraybounds();*((char*)_tmp1B3.curr)=_tmp1B5;});}}}else{
# 4548
(device_hint[i]).type=0;}}
# 4551
init_MUTEX(& mem_lock);
if(pwc_trace & 2)printk_R1b7d4074("<7>pwc Registering driver at address 0x%p.\n",(unsigned)& pwc_driver);
retval=usb_register_R74ef18d7(& pwc_driver);}
# 4412 "pwc.cyc"
;_pop_handler();}else{void*_tmp1A7=(void*)Cyc_Core_get_exn_thrown();void*_tmp1B6=_tmp1A7;
# 4557 "pwc.cyc"
pwc_notify_exn(({const char*_tmp1B7="usb_pwc_init";_tag_fat(_tmp1B7,sizeof(char),13U);}));
cyc_runtime_unregister_thread_dbg("\"usb_pwc_init\"");
return - 22;;}}}
# 4561
finally:
 cyc_runtime_unregister_thread_dbg("\"usb_pwc_init\"");
return retval;}}
# 4566
static void usb_pwc_exit (void){
# 4568
free_mem_leak();
if(pwc_trace & 1)printk_R1b7d4074("<7>pwc Deregistering driver.\n");
usb_deregister_R4fec6346(& pwc_driver);
printk_R1b7d4074("<6>pwc Philips webcam module removed.\n");}
# 4575
extern int init_module (void) __attribute__((alias("usb_pwc_init"))) ;inline static __init_module_func_t __init_module_inline (void){return usb_pwc_init;}
extern void cleanup_module (void) __attribute__((alias("usb_pwc_exit"))) ;inline static __cleanup_module_func_t __cleanup_module_inline (void){return usb_pwc_exit;}
