Showing error 182

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: ldv-drivers/module_get_put-drivers-isdn-mISDN-mISDN_core.ko-unsafe.cil.out.i.pp.cil.c
Line in file: 7385
Project: SV-COMP 2012
Tools: Manual Work
Entered: 2012-11-19 13:47:39 UTC


Source:

    1/* Generated by CIL v. 1.3.7 */
    2/* print_CIL_Input is true */
    3
    4#line 19 "include/asm-generic/int-ll64.h"
    5typedef signed char __s8;
    6#line 20 "include/asm-generic/int-ll64.h"
    7typedef unsigned char __u8;
    8#line 22 "include/asm-generic/int-ll64.h"
    9typedef short __s16;
   10#line 23 "include/asm-generic/int-ll64.h"
   11typedef unsigned short __u16;
   12#line 25 "include/asm-generic/int-ll64.h"
   13typedef int __s32;
   14#line 26 "include/asm-generic/int-ll64.h"
   15typedef unsigned int __u32;
   16#line 29 "include/asm-generic/int-ll64.h"
   17typedef long long __s64;
   18#line 30 "include/asm-generic/int-ll64.h"
   19typedef unsigned long long __u64;
   20#line 43 "include/asm-generic/int-ll64.h"
   21typedef unsigned char u8;
   22#line 46 "include/asm-generic/int-ll64.h"
   23typedef unsigned short u16;
   24#line 48 "include/asm-generic/int-ll64.h"
   25typedef int s32;
   26#line 49 "include/asm-generic/int-ll64.h"
   27typedef unsigned int u32;
   28#line 51 "include/asm-generic/int-ll64.h"
   29typedef long long s64;
   30#line 52 "include/asm-generic/int-ll64.h"
   31typedef unsigned long long u64;
   32#line 11 "include/asm-generic/types.h"
   33typedef unsigned short umode_t;
   34#line 11 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   35typedef unsigned int __kernel_mode_t;
   36#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   37typedef unsigned long __kernel_nlink_t;
   38#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   39typedef long __kernel_off_t;
   40#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   41typedef int __kernel_pid_t;
   42#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   43typedef unsigned int __kernel_uid_t;
   44#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   45typedef unsigned int __kernel_gid_t;
   46#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   47typedef unsigned long __kernel_size_t;
   48#line 19 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   49typedef long __kernel_ssize_t;
   50#line 21 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   51typedef long __kernel_time_t;
   52#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   53typedef long __kernel_clock_t;
   54#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   55typedef int __kernel_timer_t;
   56#line 25 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   57typedef int __kernel_clockid_t;
   58#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   59typedef long long __kernel_loff_t;
   60#line 41 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   61typedef __kernel_uid_t __kernel_uid32_t;
   62#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
   63typedef __kernel_gid_t __kernel_gid32_t;
   64#line 21 "include/linux/types.h"
   65typedef __u32 __kernel_dev_t;
   66#line 24 "include/linux/types.h"
   67typedef __kernel_dev_t dev_t;
   68#line 26 "include/linux/types.h"
   69typedef __kernel_mode_t mode_t;
   70#line 27 "include/linux/types.h"
   71typedef __kernel_nlink_t nlink_t;
   72#line 28 "include/linux/types.h"
   73typedef __kernel_off_t off_t;
   74#line 29 "include/linux/types.h"
   75typedef __kernel_pid_t pid_t;
   76#line 34 "include/linux/types.h"
   77typedef __kernel_clockid_t clockid_t;
   78#line 37 "include/linux/types.h"
   79typedef _Bool bool;
   80#line 39 "include/linux/types.h"
   81typedef __kernel_uid32_t uid_t;
   82#line 40 "include/linux/types.h"
   83typedef __kernel_gid32_t gid_t;
   84#line 53 "include/linux/types.h"
   85typedef __kernel_loff_t loff_t;
   86#line 62 "include/linux/types.h"
   87typedef __kernel_size_t size_t;
   88#line 67 "include/linux/types.h"
   89typedef __kernel_ssize_t ssize_t;
   90#line 77 "include/linux/types.h"
   91typedef __kernel_time_t time_t;
   92#line 91 "include/linux/types.h"
   93typedef unsigned char u_char;
   94#line 93 "include/linux/types.h"
   95typedef unsigned int u_int;
   96#line 94 "include/linux/types.h"
   97typedef unsigned long u_long;
   98#line 110 "include/linux/types.h"
   99typedef __s32 int32_t;
  100#line 116 "include/linux/types.h"
  101typedef __u32 uint32_t;
  102#line 141 "include/linux/types.h"
  103typedef unsigned long sector_t;
  104#line 142 "include/linux/types.h"
  105typedef unsigned long blkcnt_t;
  106#line 154 "include/linux/types.h"
  107typedef u64 dma_addr_t;
  108#line 178 "include/linux/types.h"
  109typedef __u16 __be16;
  110#line 180 "include/linux/types.h"
  111typedef __u32 __be32;
  112#line 185 "include/linux/types.h"
  113typedef __u32 __wsum;
  114#line 201 "include/linux/types.h"
  115typedef unsigned int gfp_t;
  116#line 202 "include/linux/types.h"
  117typedef unsigned int fmode_t;
  118#line 214 "include/linux/types.h"
  119struct __anonstruct_atomic_t_6 {
  120   int counter ;
  121};
  122#line 214 "include/linux/types.h"
  123typedef struct __anonstruct_atomic_t_6 atomic_t;
  124#line 219 "include/linux/types.h"
  125struct __anonstruct_atomic64_t_7 {
  126   long counter ;
  127};
  128#line 219 "include/linux/types.h"
  129typedef struct __anonstruct_atomic64_t_7 atomic64_t;
  130#line 220 "include/linux/types.h"
  131struct list_head {
  132   struct list_head *next ;
  133   struct list_head *prev ;
  134};
  135#line 225
  136struct hlist_node;
  137#line 225
  138struct hlist_node;
  139#line 225 "include/linux/types.h"
  140struct hlist_head {
  141   struct hlist_node *first ;
  142};
  143#line 229 "include/linux/types.h"
  144struct hlist_node {
  145   struct hlist_node *next ;
  146   struct hlist_node **pprev ;
  147};
  148#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/alternative.h"
  149struct module;
  150#line 58
  151struct module;
  152#line 145 "include/linux/init.h"
  153typedef void (*ctor_fn_t)(void);
  154#line 48 "include/linux/dynamic_debug.h"
  155struct bug_entry {
  156   int bug_addr_disp ;
  157   int file_disp ;
  158   unsigned short line ;
  159   unsigned short flags ;
  160};
  161#line 70 "include/asm-generic/bug.h"
  162struct completion;
  163#line 70
  164struct completion;
  165#line 71
  166struct pt_regs;
  167#line 71
  168struct pt_regs;
  169#line 321 "include/linux/kernel.h"
  170struct pid;
  171#line 321
  172struct pid;
  173#line 671
  174struct timespec;
  175#line 671
  176struct timespec;
  177#line 59 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/page_types.h"
  178struct page;
  179#line 59
  180struct page;
  181#line 21 "include/asm-generic/getorder.h"
  182struct task_struct;
  183#line 21
  184struct task_struct;
  185#line 23
  186struct mm_struct;
  187#line 23
  188struct mm_struct;
  189#line 215 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/segment.h"
  190struct pt_regs {
  191   unsigned long r15 ;
  192   unsigned long r14 ;
  193   unsigned long r13 ;
  194   unsigned long r12 ;
  195   unsigned long bp ;
  196   unsigned long bx ;
  197   unsigned long r11 ;
  198   unsigned long r10 ;
  199   unsigned long r9 ;
  200   unsigned long r8 ;
  201   unsigned long ax ;
  202   unsigned long cx ;
  203   unsigned long dx ;
  204   unsigned long si ;
  205   unsigned long di ;
  206   unsigned long orig_ax ;
  207   unsigned long ip ;
  208   unsigned long cs ;
  209   unsigned long flags ;
  210   unsigned long sp ;
  211   unsigned long ss ;
  212};
  213#line 282 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/ptrace.h"
  214struct kernel_vm86_regs {
  215   struct pt_regs pt ;
  216   unsigned short es ;
  217   unsigned short __esh ;
  218   unsigned short ds ;
  219   unsigned short __dsh ;
  220   unsigned short fs ;
  221   unsigned short __fsh ;
  222   unsigned short gs ;
  223   unsigned short __gsh ;
  224};
  225#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  226union __anonunion_ldv_2292_12 {
  227   struct pt_regs *regs ;
  228   struct kernel_vm86_regs *vm86 ;
  229};
  230#line 203 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/vm86.h"
  231struct math_emu_info {
  232   long ___orig_eip ;
  233   union __anonunion_ldv_2292_12 ldv_2292 ;
  234};
  235#line 13 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  236typedef unsigned long pgdval_t;
  237#line 14 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  238typedef unsigned long pgprotval_t;
  239#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_64_types.h"
  240struct pgprot {
  241   pgprotval_t pgprot ;
  242};
  243#line 190 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  244typedef struct pgprot pgprot_t;
  245#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  246struct __anonstruct_pgd_t_15 {
  247   pgdval_t pgd ;
  248};
  249#line 192 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  250typedef struct __anonstruct_pgd_t_15 pgd_t;
  251#line 280 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  252typedef struct page *pgtable_t;
  253#line 288
  254struct file;
  255#line 288
  256struct file;
  257#line 303
  258struct seq_file;
  259#line 303
  260struct seq_file;
  261#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  262struct __anonstruct_ldv_2526_19 {
  263   unsigned int a ;
  264   unsigned int b ;
  265};
  266#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  267struct __anonstruct_ldv_2541_20 {
  268   u16 limit0 ;
  269   u16 base0 ;
  270   unsigned char base1 ;
  271   unsigned char type : 4 ;
  272   unsigned char s : 1 ;
  273   unsigned char dpl : 2 ;
  274   unsigned char p : 1 ;
  275   unsigned char limit : 4 ;
  276   unsigned char avl : 1 ;
  277   unsigned char l : 1 ;
  278   unsigned char d : 1 ;
  279   unsigned char g : 1 ;
  280   unsigned char base2 ;
  281};
  282#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  283union __anonunion_ldv_2542_18 {
  284   struct __anonstruct_ldv_2526_19 ldv_2526 ;
  285   struct __anonstruct_ldv_2541_20 ldv_2541 ;
  286};
  287#line 335 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/pgtable_types.h"
  288struct desc_struct {
  289   union __anonunion_ldv_2542_18 ldv_2542 ;
  290};
  291#line 122 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/desc_defs.h"
  292struct thread_struct;
  293#line 122
  294struct thread_struct;
  295#line 124
  296struct cpumask;
  297#line 124
  298struct cpumask;
  299#line 320 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/paravirt_types.h"
  300struct arch_spinlock;
  301#line 320
  302struct arch_spinlock;
  303#line 304 "include/linux/bitmap.h"
  304struct cpumask {
  305   unsigned long bits[64U] ;
  306};
  307#line 13 "include/linux/cpumask.h"
  308typedef struct cpumask cpumask_t;
  309#line 622 "include/linux/cpumask.h"
  310typedef struct cpumask *cpumask_var_t;
  311#line 145 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  312struct seq_operations;
  313#line 145
  314struct seq_operations;
  315#line 277 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  316struct i387_fsave_struct {
  317   u32 cwd ;
  318   u32 swd ;
  319   u32 twd ;
  320   u32 fip ;
  321   u32 fcs ;
  322   u32 foo ;
  323   u32 fos ;
  324   u32 st_space[20U] ;
  325   u32 status ;
  326};
  327#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  328struct __anonstruct_ldv_5171_24 {
  329   u64 rip ;
  330   u64 rdp ;
  331};
  332#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  333struct __anonstruct_ldv_5177_25 {
  334   u32 fip ;
  335   u32 fcs ;
  336   u32 foo ;
  337   u32 fos ;
  338};
  339#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  340union __anonunion_ldv_5178_23 {
  341   struct __anonstruct_ldv_5171_24 ldv_5171 ;
  342   struct __anonstruct_ldv_5177_25 ldv_5177 ;
  343};
  344#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  345union __anonunion_ldv_5187_26 {
  346   u32 padding1[12U] ;
  347   u32 sw_reserved[12U] ;
  348};
  349#line 295 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  350struct i387_fxsave_struct {
  351   u16 cwd ;
  352   u16 swd ;
  353   u16 twd ;
  354   u16 fop ;
  355   union __anonunion_ldv_5178_23 ldv_5178 ;
  356   u32 mxcsr ;
  357   u32 mxcsr_mask ;
  358   u32 st_space[32U] ;
  359   u32 xmm_space[64U] ;
  360   u32 padding[12U] ;
  361   union __anonunion_ldv_5187_26 ldv_5187 ;
  362};
  363#line 329 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  364struct i387_soft_struct {
  365   u32 cwd ;
  366   u32 swd ;
  367   u32 twd ;
  368   u32 fip ;
  369   u32 fcs ;
  370   u32 foo ;
  371   u32 fos ;
  372   u32 st_space[20U] ;
  373   u8 ftop ;
  374   u8 changed ;
  375   u8 lookahead ;
  376   u8 no_update ;
  377   u8 rm ;
  378   u8 alimit ;
  379   struct math_emu_info *info ;
  380   u32 entry_eip ;
  381};
  382#line 350 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  383struct ymmh_struct {
  384   u32 ymmh_space[64U] ;
  385};
  386#line 355 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  387struct xsave_hdr_struct {
  388   u64 xstate_bv ;
  389   u64 reserved1[2U] ;
  390   u64 reserved2[5U] ;
  391};
  392#line 361 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  393struct xsave_struct {
  394   struct i387_fxsave_struct i387 ;
  395   struct xsave_hdr_struct xsave_hdr ;
  396   struct ymmh_struct ymmh ;
  397};
  398#line 367 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  399union thread_xstate {
  400   struct i387_fsave_struct fsave ;
  401   struct i387_fxsave_struct fxsave ;
  402   struct i387_soft_struct soft ;
  403   struct xsave_struct xsave ;
  404};
  405#line 375 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  406struct fpu {
  407   union thread_xstate *state ;
  408};
  409#line 421
  410struct kmem_cache;
  411#line 421
  412struct kmem_cache;
  413#line 422
  414struct perf_event;
  415#line 422
  416struct perf_event;
  417#line 423 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
  418struct thread_struct {
  419   struct desc_struct tls_array[3U] ;
  420   unsigned long sp0 ;
  421   unsigned long sp ;
  422   unsigned long usersp ;
  423   unsigned short es ;
  424   unsigned short ds ;
  425   unsigned short fsindex ;
  426   unsigned short gsindex ;
  427   unsigned long fs ;
  428   unsigned long gs ;
  429   struct perf_event *ptrace_bps[4U] ;
  430   unsigned long debugreg6 ;
  431   unsigned long ptrace_dr7 ;
  432   unsigned long cr2 ;
  433   unsigned long trap_no ;
  434   unsigned long error_code ;
  435   struct fpu fpu ;
  436   unsigned long *io_bitmap_ptr ;
  437   unsigned long iopl ;
  438   unsigned int io_bitmap_max ;
  439};
  440#line 23 "include/asm-generic/atomic-long.h"
  441typedef atomic64_t atomic_long_t;
  442#line 8 "include/linux/bottom_half.h"
  443struct arch_spinlock {
  444   unsigned int slock ;
  445};
  446#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  447typedef struct arch_spinlock arch_spinlock_t;
  448#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  449struct __anonstruct_arch_rwlock_t_29 {
  450   unsigned int lock ;
  451};
  452#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/spinlock_types.h"
  453typedef struct __anonstruct_arch_rwlock_t_29 arch_rwlock_t;
  454#line 17
  455struct lockdep_map;
  456#line 17
  457struct lockdep_map;
  458#line 55 "include/linux/debug_locks.h"
  459struct stack_trace {
  460   unsigned int nr_entries ;
  461   unsigned int max_entries ;
  462   unsigned long *entries ;
  463   int skip ;
  464};
  465#line 26 "include/linux/stacktrace.h"
  466struct lockdep_subclass_key {
  467   char __one_byte ;
  468};
  469#line 53 "include/linux/lockdep.h"
  470struct lock_class_key {
  471   struct lockdep_subclass_key subkeys[8U] ;
  472};
  473#line 59 "include/linux/lockdep.h"
  474struct lock_class {
  475   struct list_head hash_entry ;
  476   struct list_head lock_entry ;
  477   struct lockdep_subclass_key *key ;
  478   unsigned int subclass ;
  479   unsigned int dep_gen_id ;
  480   unsigned long usage_mask ;
  481   struct stack_trace usage_traces[13U] ;
  482   struct list_head locks_after ;
  483   struct list_head locks_before ;
  484   unsigned int version ;
  485   unsigned long ops ;
  486   char const   *name ;
  487   int name_version ;
  488   unsigned long contention_point[4U] ;
  489   unsigned long contending_point[4U] ;
  490};
  491#line 144 "include/linux/lockdep.h"
  492struct lockdep_map {
  493   struct lock_class_key *key ;
  494   struct lock_class *class_cache[2U] ;
  495   char const   *name ;
  496   int cpu ;
  497   unsigned long ip ;
  498};
  499#line 187 "include/linux/lockdep.h"
  500struct held_lock {
  501   u64 prev_chain_key ;
  502   unsigned long acquire_ip ;
  503   struct lockdep_map *instance ;
  504   struct lockdep_map *nest_lock ;
  505   u64 waittime_stamp ;
  506   u64 holdtime_stamp ;
  507   unsigned short class_idx : 13 ;
  508   unsigned char irq_context : 2 ;
  509   unsigned char trylock : 1 ;
  510   unsigned char read : 2 ;
  511   unsigned char check : 2 ;
  512   unsigned char hardirqs_off : 1 ;
  513   unsigned short references : 11 ;
  514};
  515#line 552 "include/linux/lockdep.h"
  516struct raw_spinlock {
  517   arch_spinlock_t raw_lock ;
  518   unsigned int magic ;
  519   unsigned int owner_cpu ;
  520   void *owner ;
  521   struct lockdep_map dep_map ;
  522};
  523#line 32 "include/linux/spinlock_types.h"
  524typedef struct raw_spinlock raw_spinlock_t;
  525#line 33 "include/linux/spinlock_types.h"
  526struct __anonstruct_ldv_6059_31 {
  527   u8 __padding[24U] ;
  528   struct lockdep_map dep_map ;
  529};
  530#line 33 "include/linux/spinlock_types.h"
  531union __anonunion_ldv_6060_30 {
  532   struct raw_spinlock rlock ;
  533   struct __anonstruct_ldv_6059_31 ldv_6059 ;
  534};
  535#line 33 "include/linux/spinlock_types.h"
  536struct spinlock {
  537   union __anonunion_ldv_6060_30 ldv_6060 ;
  538};
  539#line 76 "include/linux/spinlock_types.h"
  540typedef struct spinlock spinlock_t;
  541#line 23 "include/linux/rwlock_types.h"
  542struct __anonstruct_rwlock_t_32 {
  543   arch_rwlock_t raw_lock ;
  544   unsigned int magic ;
  545   unsigned int owner_cpu ;
  546   void *owner ;
  547   struct lockdep_map dep_map ;
  548};
  549#line 23 "include/linux/rwlock_types.h"
  550typedef struct __anonstruct_rwlock_t_32 rwlock_t;
  551#line 36 "include/linux/seqlock.h"
  552struct __anonstruct_seqlock_t_33 {
  553   unsigned int sequence ;
  554   spinlock_t lock ;
  555};
  556#line 36 "include/linux/seqlock.h"
  557typedef struct __anonstruct_seqlock_t_33 seqlock_t;
  558#line 110 "include/linux/seqlock.h"
  559struct seqcount {
  560   unsigned int sequence ;
  561};
  562#line 121 "include/linux/seqlock.h"
  563typedef struct seqcount seqcount_t;
  564#line 233 "include/linux/seqlock.h"
  565struct timespec {
  566   __kernel_time_t tv_sec ;
  567   long tv_nsec ;
  568};
  569#line 286 "include/linux/time.h"
  570struct kstat {
  571   u64 ino ;
  572   dev_t dev ;
  573   umode_t mode ;
  574   unsigned int nlink ;
  575   uid_t uid ;
  576   gid_t gid ;
  577   dev_t rdev ;
  578   loff_t size ;
  579   struct timespec atime ;
  580   struct timespec mtime ;
  581   struct timespec ctime ;
  582   unsigned long blksize ;
  583   unsigned long long blocks ;
  584};
  585#line 49 "include/linux/wait.h"
  586struct __wait_queue_head {
  587   spinlock_t lock ;
  588   struct list_head task_list ;
  589};
  590#line 54 "include/linux/wait.h"
  591typedef struct __wait_queue_head wait_queue_head_t;
  592#line 96 "include/linux/nodemask.h"
  593struct __anonstruct_nodemask_t_34 {
  594   unsigned long bits[16U] ;
  595};
  596#line 96 "include/linux/nodemask.h"
  597typedef struct __anonstruct_nodemask_t_34 nodemask_t;
  598#line 640 "include/linux/mmzone.h"
  599struct mutex {
  600   atomic_t count ;
  601   spinlock_t wait_lock ;
  602   struct list_head wait_list ;
  603   struct task_struct *owner ;
  604   char const   *name ;
  605   void *magic ;
  606   struct lockdep_map dep_map ;
  607};
  608#line 63 "include/linux/mutex.h"
  609struct mutex_waiter {
  610   struct list_head list ;
  611   struct task_struct *task ;
  612   void *magic ;
  613};
  614#line 171
  615struct rw_semaphore;
  616#line 171
  617struct rw_semaphore;
  618#line 172 "include/linux/mutex.h"
  619struct rw_semaphore {
  620   long count ;
  621   spinlock_t wait_lock ;
  622   struct list_head wait_list ;
  623   struct lockdep_map dep_map ;
  624};
  625#line 763 "include/linux/mmzone.h"
  626struct ctl_table;
  627#line 763
  628struct ctl_table;
  629#line 175 "include/linux/ioport.h"
  630struct device;
  631#line 175
  632struct device;
  633#line 312 "include/linux/jiffies.h"
  634union ktime {
  635   s64 tv64 ;
  636};
  637#line 59 "include/linux/ktime.h"
  638typedef union ktime ktime_t;
  639#line 99 "include/linux/debugobjects.h"
  640struct tvec_base;
  641#line 99
  642struct tvec_base;
  643#line 100 "include/linux/debugobjects.h"
  644struct timer_list {
  645   struct list_head entry ;
  646   unsigned long expires ;
  647   struct tvec_base *base ;
  648   void (*function)(unsigned long  ) ;
  649   unsigned long data ;
  650   int slack ;
  651   int start_pid ;
  652   void *start_site ;
  653   char start_comm[16U] ;
  654   struct lockdep_map lockdep_map ;
  655};
  656#line 289 "include/linux/timer.h"
  657struct hrtimer;
  658#line 289
  659struct hrtimer;
  660#line 290
  661enum hrtimer_restart;
  662#line 290
  663enum hrtimer_restart;
  664#line 290
  665enum hrtimer_restart;
  666#line 302
  667struct work_struct;
  668#line 302
  669struct work_struct;
  670#line 45 "include/linux/workqueue.h"
  671struct work_struct {
  672   atomic_long_t data ;
  673   struct list_head entry ;
  674   void (*func)(struct work_struct * ) ;
  675   struct lockdep_map lockdep_map ;
  676};
  677#line 86 "include/linux/workqueue.h"
  678struct delayed_work {
  679   struct work_struct work ;
  680   struct timer_list timer ;
  681};
  682#line 443 "include/linux/workqueue.h"
  683struct completion {
  684   unsigned int done ;
  685   wait_queue_head_t wait ;
  686};
  687#line 46 "include/linux/pm.h"
  688struct pm_message {
  689   int event ;
  690};
  691#line 52 "include/linux/pm.h"
  692typedef struct pm_message pm_message_t;
  693#line 53 "include/linux/pm.h"
  694struct dev_pm_ops {
  695   int (*prepare)(struct device * ) ;
  696   void (*complete)(struct device * ) ;
  697   int (*suspend)(struct device * ) ;
  698   int (*resume)(struct device * ) ;
  699   int (*freeze)(struct device * ) ;
  700   int (*thaw)(struct device * ) ;
  701   int (*poweroff)(struct device * ) ;
  702   int (*restore)(struct device * ) ;
  703   int (*suspend_noirq)(struct device * ) ;
  704   int (*resume_noirq)(struct device * ) ;
  705   int (*freeze_noirq)(struct device * ) ;
  706   int (*thaw_noirq)(struct device * ) ;
  707   int (*poweroff_noirq)(struct device * ) ;
  708   int (*restore_noirq)(struct device * ) ;
  709   int (*runtime_suspend)(struct device * ) ;
  710   int (*runtime_resume)(struct device * ) ;
  711   int (*runtime_idle)(struct device * ) ;
  712};
  713#line 272
  714enum rpm_status {
  715    RPM_ACTIVE = 0,
  716    RPM_RESUMING = 1,
  717    RPM_SUSPENDED = 2,
  718    RPM_SUSPENDING = 3
  719} ;
  720#line 279
  721enum rpm_request {
  722    RPM_REQ_NONE = 0,
  723    RPM_REQ_IDLE = 1,
  724    RPM_REQ_SUSPEND = 2,
  725    RPM_REQ_AUTOSUSPEND = 3,
  726    RPM_REQ_RESUME = 4
  727} ;
  728#line 287
  729struct wakeup_source;
  730#line 287
  731struct wakeup_source;
  732#line 288 "include/linux/pm.h"
  733struct dev_pm_info {
  734   pm_message_t power_state ;
  735   unsigned char can_wakeup : 1 ;
  736   unsigned char async_suspend : 1 ;
  737   bool is_prepared ;
  738   bool is_suspended ;
  739   spinlock_t lock ;
  740   struct list_head entry ;
  741   struct completion completion ;
  742   struct wakeup_source *wakeup ;
  743   struct timer_list suspend_timer ;
  744   unsigned long timer_expires ;
  745   struct work_struct work ;
  746   wait_queue_head_t wait_queue ;
  747   atomic_t usage_count ;
  748   atomic_t child_count ;
  749   unsigned char disable_depth : 3 ;
  750   unsigned char ignore_children : 1 ;
  751   unsigned char idle_notification : 1 ;
  752   unsigned char request_pending : 1 ;
  753   unsigned char deferred_resume : 1 ;
  754   unsigned char run_wake : 1 ;
  755   unsigned char runtime_auto : 1 ;
  756   unsigned char no_callbacks : 1 ;
  757   unsigned char irq_safe : 1 ;
  758   unsigned char use_autosuspend : 1 ;
  759   unsigned char timer_autosuspends : 1 ;
  760   enum rpm_request request ;
  761   enum rpm_status runtime_status ;
  762   int runtime_error ;
  763   int autosuspend_delay ;
  764   unsigned long last_busy ;
  765   unsigned long active_jiffies ;
  766   unsigned long suspended_jiffies ;
  767   unsigned long accounting_timestamp ;
  768   void *subsys_data ;
  769};
  770#line 469 "include/linux/pm.h"
  771struct dev_power_domain {
  772   struct dev_pm_ops ops ;
  773};
  774#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
  775struct __anonstruct_mm_context_t_99 {
  776   void *ldt ;
  777   int size ;
  778   unsigned short ia32_compat ;
  779   struct mutex lock ;
  780   void *vdso ;
  781};
  782#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/mmu.h"
  783typedef struct __anonstruct_mm_context_t_99 mm_context_t;
  784#line 71 "include/asm-generic/iomap.h"
  785struct vm_area_struct;
  786#line 71
  787struct vm_area_struct;
  788#line 53 "include/linux/rcupdate.h"
  789struct rcu_head {
  790   struct rcu_head *next ;
  791   void (*func)(struct rcu_head * ) ;
  792};
  793#line 841
  794struct nsproxy;
  795#line 841
  796struct nsproxy;
  797#line 842
  798struct ctl_table_root;
  799#line 842
  800struct ctl_table_root;
  801#line 843 "include/linux/rcupdate.h"
  802struct ctl_table_set {
  803   struct list_head list ;
  804   struct ctl_table_set *parent ;
  805   int (*is_seen)(struct ctl_table_set * ) ;
  806};
  807#line 947 "include/linux/sysctl.h"
  808struct ctl_table_header;
  809#line 947
  810struct ctl_table_header;
  811#line 965 "include/linux/sysctl.h"
  812typedef int proc_handler(struct ctl_table * , int  , void * , size_t * , loff_t * );
  813#line 985 "include/linux/sysctl.h"
  814struct ctl_table {
  815   char const   *procname ;
  816   void *data ;
  817   int maxlen ;
  818   mode_t mode ;
  819   struct ctl_table *child ;
  820   struct ctl_table *parent ;
  821   proc_handler *proc_handler ;
  822   void *extra1 ;
  823   void *extra2 ;
  824};
  825#line 1027 "include/linux/sysctl.h"
  826struct ctl_table_root {
  827   struct list_head root_list ;
  828   struct ctl_table_set default_set ;
  829   struct ctl_table_set *(*lookup)(struct ctl_table_root * , struct nsproxy * ) ;
  830   int (*permissions)(struct ctl_table_root * , struct nsproxy * , struct ctl_table * ) ;
  831};
  832#line 1035 "include/linux/sysctl.h"
  833struct __anonstruct_ldv_12193_124 {
  834   struct ctl_table *ctl_table ;
  835   struct list_head ctl_entry ;
  836   int used ;
  837   int count ;
  838};
  839#line 1035 "include/linux/sysctl.h"
  840union __anonunion_ldv_12195_123 {
  841   struct __anonstruct_ldv_12193_124 ldv_12193 ;
  842   struct rcu_head rcu ;
  843};
  844#line 1035 "include/linux/sysctl.h"
  845struct ctl_table_header {
  846   union __anonunion_ldv_12195_123 ldv_12195 ;
  847   struct completion *unregistering ;
  848   struct ctl_table *ctl_table_arg ;
  849   struct ctl_table_root *root ;
  850   struct ctl_table_set *set ;
  851   struct ctl_table *attached_by ;
  852   struct ctl_table *attached_to ;
  853   struct ctl_table_header *parent ;
  854};
  855#line 36 "include/linux/kmod.h"
  856struct cred;
  857#line 36
  858struct cred;
  859#line 229 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/elf.h"
  860struct linux_binprm;
  861#line 229
  862struct linux_binprm;
  863#line 27 "include/linux/elf.h"
  864typedef __u64 Elf64_Addr;
  865#line 28 "include/linux/elf.h"
  866typedef __u16 Elf64_Half;
  867#line 32 "include/linux/elf.h"
  868typedef __u32 Elf64_Word;
  869#line 33 "include/linux/elf.h"
  870typedef __u64 Elf64_Xword;
  871#line 202 "include/linux/elf.h"
  872struct elf64_sym {
  873   Elf64_Word st_name ;
  874   unsigned char st_info ;
  875   unsigned char st_other ;
  876   Elf64_Half st_shndx ;
  877   Elf64_Addr st_value ;
  878   Elf64_Xword st_size ;
  879};
  880#line 210 "include/linux/elf.h"
  881typedef struct elf64_sym Elf64_Sym;
  882#line 444
  883struct sock;
  884#line 444
  885struct sock;
  886#line 445
  887struct kobject;
  888#line 445
  889struct kobject;
  890#line 446
  891enum kobj_ns_type {
  892    KOBJ_NS_TYPE_NONE = 0,
  893    KOBJ_NS_TYPE_NET = 1,
  894    KOBJ_NS_TYPES = 2
  895} ;
  896#line 452 "include/linux/elf.h"
  897struct kobj_ns_type_operations {
  898   enum kobj_ns_type type ;
  899   void *(*grab_current_ns)(void) ;
  900   void const   *(*netlink_ns)(struct sock * ) ;
  901   void const   *(*initial_ns)(void) ;
  902   void (*drop_ns)(void * ) ;
  903};
  904#line 57 "include/linux/kobject_ns.h"
  905struct attribute {
  906   char const   *name ;
  907   mode_t mode ;
  908   struct lock_class_key *key ;
  909   struct lock_class_key skey ;
  910};
  911#line 33 "include/linux/sysfs.h"
  912struct attribute_group {
  913   char const   *name ;
  914   mode_t (*is_visible)(struct kobject * , struct attribute * , int  ) ;
  915   struct attribute **attrs ;
  916};
  917#line 62 "include/linux/sysfs.h"
  918struct bin_attribute {
  919   struct attribute attr ;
  920   size_t size ;
  921   void *private ;
  922   ssize_t (*read)(struct file * , struct kobject * , struct bin_attribute * , char * ,
  923                   loff_t  , size_t  ) ;
  924   ssize_t (*write)(struct file * , struct kobject * , struct bin_attribute * , char * ,
  925                    loff_t  , size_t  ) ;
  926   int (*mmap)(struct file * , struct kobject * , struct bin_attribute * , struct vm_area_struct * ) ;
  927};
  928#line 98 "include/linux/sysfs.h"
  929struct sysfs_ops {
  930   ssize_t (*show)(struct kobject * , struct attribute * , char * ) ;
  931   ssize_t (*store)(struct kobject * , struct attribute * , char const   * , size_t  ) ;
  932};
  933#line 116
  934struct sysfs_dirent;
  935#line 116
  936struct sysfs_dirent;
  937#line 181 "include/linux/sysfs.h"
  938struct kref {
  939   atomic_t refcount ;
  940};
  941#line 49 "include/linux/kobject.h"
  942struct kset;
  943#line 49
  944struct kset;
  945#line 49
  946struct kobj_type;
  947#line 49
  948struct kobj_type;
  949#line 49 "include/linux/kobject.h"
  950struct kobject {
  951   char const   *name ;
  952   struct list_head entry ;
  953   struct kobject *parent ;
  954   struct kset *kset ;
  955   struct kobj_type *ktype ;
  956   struct sysfs_dirent *sd ;
  957   struct kref kref ;
  958   unsigned char state_initialized : 1 ;
  959   unsigned char state_in_sysfs : 1 ;
  960   unsigned char state_add_uevent_sent : 1 ;
  961   unsigned char state_remove_uevent_sent : 1 ;
  962   unsigned char uevent_suppress : 1 ;
  963};
  964#line 109 "include/linux/kobject.h"
  965struct kobj_type {
  966   void (*release)(struct kobject * ) ;
  967   struct sysfs_ops  const  *sysfs_ops ;
  968   struct attribute **default_attrs ;
  969   struct kobj_ns_type_operations  const  *(*child_ns_type)(struct kobject * ) ;
  970   void const   *(*namespace)(struct kobject * ) ;
  971};
  972#line 117 "include/linux/kobject.h"
  973struct kobj_uevent_env {
  974   char *envp[32U] ;
  975   int envp_idx ;
  976   char buf[2048U] ;
  977   int buflen ;
  978};
  979#line 124 "include/linux/kobject.h"
  980struct kset_uevent_ops {
  981   int (* const  filter)(struct kset * , struct kobject * ) ;
  982   char const   *(* const  name)(struct kset * , struct kobject * ) ;
  983   int (* const  uevent)(struct kset * , struct kobject * , struct kobj_uevent_env * ) ;
  984};
  985#line 141 "include/linux/kobject.h"
  986struct kset {
  987   struct list_head list ;
  988   spinlock_t list_lock ;
  989   struct kobject kobj ;
  990   struct kset_uevent_ops  const  *uevent_ops ;
  991};
  992#line 219
  993struct kernel_param;
  994#line 219
  995struct kernel_param;
  996#line 220 "include/linux/kobject.h"
  997struct kernel_param_ops {
  998   int (*set)(char const   * , struct kernel_param  const  * ) ;
  999   int (*get)(char * , struct kernel_param  const  * ) ;
 1000   void (*free)(void * ) ;
 1001};
 1002#line 44 "include/linux/moduleparam.h"
 1003struct kparam_string;
 1004#line 44
 1005struct kparam_string;
 1006#line 44
 1007struct kparam_array;
 1008#line 44
 1009struct kparam_array;
 1010#line 44 "include/linux/moduleparam.h"
 1011union __anonunion_ldv_12924_129 {
 1012   void *arg ;
 1013   struct kparam_string  const  *str ;
 1014   struct kparam_array  const  *arr ;
 1015};
 1016#line 44 "include/linux/moduleparam.h"
 1017struct kernel_param {
 1018   char const   *name ;
 1019   struct kernel_param_ops  const  *ops ;
 1020   u16 perm ;
 1021   u16 flags ;
 1022   union __anonunion_ldv_12924_129 ldv_12924 ;
 1023};
 1024#line 59 "include/linux/moduleparam.h"
 1025struct kparam_string {
 1026   unsigned int maxlen ;
 1027   char *string ;
 1028};
 1029#line 65 "include/linux/moduleparam.h"
 1030struct kparam_array {
 1031   unsigned int max ;
 1032   unsigned int elemsize ;
 1033   unsigned int *num ;
 1034   struct kernel_param_ops  const  *ops ;
 1035   void *elem ;
 1036};
 1037#line 404 "include/linux/moduleparam.h"
 1038struct jump_label_key {
 1039   atomic_t enabled ;
 1040};
 1041#line 99 "include/linux/jump_label.h"
 1042struct tracepoint;
 1043#line 99
 1044struct tracepoint;
 1045#line 100 "include/linux/jump_label.h"
 1046struct tracepoint_func {
 1047   void *func ;
 1048   void *data ;
 1049};
 1050#line 29 "include/linux/tracepoint.h"
 1051struct tracepoint {
 1052   char const   *name ;
 1053   struct jump_label_key key ;
 1054   void (*regfunc)(void) ;
 1055   void (*unregfunc)(void) ;
 1056   struct tracepoint_func *funcs ;
 1057};
 1058#line 84 "include/linux/tracepoint.h"
 1059struct mod_arch_specific {
 1060
 1061};
 1062#line 127 "include/trace/events/module.h"
 1063struct kernel_symbol {
 1064   unsigned long value ;
 1065   char const   *name ;
 1066};
 1067#line 48 "include/linux/module.h"
 1068struct module_attribute {
 1069   struct attribute attr ;
 1070   ssize_t (*show)(struct module_attribute * , struct module * , char * ) ;
 1071   ssize_t (*store)(struct module_attribute * , struct module * , char const   * ,
 1072                    size_t  ) ;
 1073   void (*setup)(struct module * , char const   * ) ;
 1074   int (*test)(struct module * ) ;
 1075   void (*free)(struct module * ) ;
 1076};
 1077#line 68
 1078struct module_param_attrs;
 1079#line 68
 1080struct module_param_attrs;
 1081#line 68 "include/linux/module.h"
 1082struct module_kobject {
 1083   struct kobject kobj ;
 1084   struct module *mod ;
 1085   struct kobject *drivers_dir ;
 1086   struct module_param_attrs *mp ;
 1087};
 1088#line 81
 1089struct exception_table_entry;
 1090#line 81
 1091struct exception_table_entry;
 1092#line 218
 1093enum module_state {
 1094    MODULE_STATE_LIVE = 0,
 1095    MODULE_STATE_COMING = 1,
 1096    MODULE_STATE_GOING = 2
 1097} ;
 1098#line 224 "include/linux/module.h"
 1099struct module_ref {
 1100   unsigned int incs ;
 1101   unsigned int decs ;
 1102};
 1103#line 418
 1104struct module_sect_attrs;
 1105#line 418
 1106struct module_sect_attrs;
 1107#line 418
 1108struct module_notes_attrs;
 1109#line 418
 1110struct module_notes_attrs;
 1111#line 418
 1112struct ftrace_event_call;
 1113#line 418
 1114struct ftrace_event_call;
 1115#line 418 "include/linux/module.h"
 1116struct module {
 1117   enum module_state state ;
 1118   struct list_head list ;
 1119   char name[56U] ;
 1120   struct module_kobject mkobj ;
 1121   struct module_attribute *modinfo_attrs ;
 1122   char const   *version ;
 1123   char const   *srcversion ;
 1124   struct kobject *holders_dir ;
 1125   struct kernel_symbol  const  *syms ;
 1126   unsigned long const   *crcs ;
 1127   unsigned int num_syms ;
 1128   struct kernel_param *kp ;
 1129   unsigned int num_kp ;
 1130   unsigned int num_gpl_syms ;
 1131   struct kernel_symbol  const  *gpl_syms ;
 1132   unsigned long const   *gpl_crcs ;
 1133   struct kernel_symbol  const  *unused_syms ;
 1134   unsigned long const   *unused_crcs ;
 1135   unsigned int num_unused_syms ;
 1136   unsigned int num_unused_gpl_syms ;
 1137   struct kernel_symbol  const  *unused_gpl_syms ;
 1138   unsigned long const   *unused_gpl_crcs ;
 1139   struct kernel_symbol  const  *gpl_future_syms ;
 1140   unsigned long const   *gpl_future_crcs ;
 1141   unsigned int num_gpl_future_syms ;
 1142   unsigned int num_exentries ;
 1143   struct exception_table_entry *extable ;
 1144   int (*init)(void) ;
 1145   void *module_init ;
 1146   void *module_core ;
 1147   unsigned int init_size ;
 1148   unsigned int core_size ;
 1149   unsigned int init_text_size ;
 1150   unsigned int core_text_size ;
 1151   unsigned int init_ro_size ;
 1152   unsigned int core_ro_size ;
 1153   struct mod_arch_specific arch ;
 1154   unsigned int taints ;
 1155   unsigned int num_bugs ;
 1156   struct list_head bug_list ;
 1157   struct bug_entry *bug_table ;
 1158   Elf64_Sym *symtab ;
 1159   Elf64_Sym *core_symtab ;
 1160   unsigned int num_symtab ;
 1161   unsigned int core_num_syms ;
 1162   char *strtab ;
 1163   char *core_strtab ;
 1164   struct module_sect_attrs *sect_attrs ;
 1165   struct module_notes_attrs *notes_attrs ;
 1166   char *args ;
 1167   void *percpu ;
 1168   unsigned int percpu_size ;
 1169   unsigned int num_tracepoints ;
 1170   struct tracepoint * const  *tracepoints_ptrs ;
 1171   unsigned int num_trace_bprintk_fmt ;
 1172   char const   **trace_bprintk_fmt_start ;
 1173   struct ftrace_event_call **trace_events ;
 1174   unsigned int num_trace_events ;
 1175   unsigned int num_ftrace_callsites ;
 1176   unsigned long *ftrace_callsites ;
 1177   struct list_head source_list ;
 1178   struct list_head target_list ;
 1179   struct task_struct *waiter ;
 1180   void (*exit)(void) ;
 1181   struct module_ref *refptr ;
 1182   ctor_fn_t (**ctors)(void) ;
 1183   unsigned int num_ctors ;
 1184};
 1185#line 118 "include/linux/kmemleak.h"
 1186struct kmem_cache_cpu {
 1187   void **freelist ;
 1188   unsigned long tid ;
 1189   struct page *page ;
 1190   int node ;
 1191   unsigned int stat[19U] ;
 1192};
 1193#line 46 "include/linux/slub_def.h"
 1194struct kmem_cache_node {
 1195   spinlock_t list_lock ;
 1196   unsigned long nr_partial ;
 1197   struct list_head partial ;
 1198   atomic_long_t nr_slabs ;
 1199   atomic_long_t total_objects ;
 1200   struct list_head full ;
 1201};
 1202#line 57 "include/linux/slub_def.h"
 1203struct kmem_cache_order_objects {
 1204   unsigned long x ;
 1205};
 1206#line 67 "include/linux/slub_def.h"
 1207struct kmem_cache {
 1208   struct kmem_cache_cpu *cpu_slab ;
 1209   unsigned long flags ;
 1210   unsigned long min_partial ;
 1211   int size ;
 1212   int objsize ;
 1213   int offset ;
 1214   struct kmem_cache_order_objects oo ;
 1215   struct kmem_cache_order_objects max ;
 1216   struct kmem_cache_order_objects min ;
 1217   gfp_t allocflags ;
 1218   int refcount ;
 1219   void (*ctor)(void * ) ;
 1220   int inuse ;
 1221   int align ;
 1222   int reserved ;
 1223   char const   *name ;
 1224   struct list_head list ;
 1225   struct kobject kobj ;
 1226   int remote_node_defrag_ratio ;
 1227   struct kmem_cache_node *node[1024U] ;
 1228};
 1229#line 16 "include/linux/socket.h"
 1230struct iovec {
 1231   void *iov_base ;
 1232   __kernel_size_t iov_len ;
 1233};
 1234#line 38 "include/linux/socket.h"
 1235typedef unsigned short sa_family_t;
 1236#line 39 "include/linux/socket.h"
 1237struct sockaddr {
 1238   sa_family_t sa_family ;
 1239   char sa_data[14U] ;
 1240};
 1241#line 53 "include/linux/socket.h"
 1242struct msghdr {
 1243   void *msg_name ;
 1244   int msg_namelen ;
 1245   struct iovec *msg_iov ;
 1246   __kernel_size_t msg_iovlen ;
 1247   void *msg_control ;
 1248   __kernel_size_t msg_controllen ;
 1249   unsigned int msg_flags ;
 1250};
 1251#line 255 "include/linux/mISDNif.h"
 1252struct sockaddr_mISDN {
 1253   sa_family_t family ;
 1254   unsigned char dev ;
 1255   unsigned char channel ;
 1256   unsigned char sapi ;
 1257   unsigned char tei ;
 1258};
 1259#line 393
 1260struct prio_tree_node;
 1261#line 393
 1262struct prio_tree_node;
 1263#line 393 "include/linux/mISDNif.h"
 1264struct raw_prio_tree_node {
 1265   struct prio_tree_node *left ;
 1266   struct prio_tree_node *right ;
 1267   struct prio_tree_node *parent ;
 1268};
 1269#line 19 "include/linux/prio_tree.h"
 1270struct prio_tree_node {
 1271   struct prio_tree_node *left ;
 1272   struct prio_tree_node *right ;
 1273   struct prio_tree_node *parent ;
 1274   unsigned long start ;
 1275   unsigned long last ;
 1276};
 1277#line 27 "include/linux/prio_tree.h"
 1278struct prio_tree_root {
 1279   struct prio_tree_node *prio_tree_node ;
 1280   unsigned short index_bits ;
 1281   unsigned short raw ;
 1282};
 1283#line 111 "include/linux/prio_tree.h"
 1284struct rb_node {
 1285   unsigned long rb_parent_color ;
 1286   struct rb_node *rb_right ;
 1287   struct rb_node *rb_left ;
 1288};
 1289#line 108 "include/linux/rbtree.h"
 1290struct rb_root {
 1291   struct rb_node *rb_node ;
 1292};
 1293#line 180
 1294struct address_space;
 1295#line 180
 1296struct address_space;
 1297#line 181 "include/linux/rbtree.h"
 1298struct __anonstruct_ldv_14162_131 {
 1299   u16 inuse ;
 1300   u16 objects ;
 1301};
 1302#line 181 "include/linux/rbtree.h"
 1303union __anonunion_ldv_14163_130 {
 1304   atomic_t _mapcount ;
 1305   struct __anonstruct_ldv_14162_131 ldv_14162 ;
 1306};
 1307#line 181 "include/linux/rbtree.h"
 1308struct __anonstruct_ldv_14168_133 {
 1309   unsigned long private ;
 1310   struct address_space *mapping ;
 1311};
 1312#line 181 "include/linux/rbtree.h"
 1313union __anonunion_ldv_14171_132 {
 1314   struct __anonstruct_ldv_14168_133 ldv_14168 ;
 1315   struct kmem_cache *slab ;
 1316   struct page *first_page ;
 1317};
 1318#line 181 "include/linux/rbtree.h"
 1319union __anonunion_ldv_14175_134 {
 1320   unsigned long index ;
 1321   void *freelist ;
 1322};
 1323#line 181 "include/linux/rbtree.h"
 1324struct page {
 1325   unsigned long flags ;
 1326   atomic_t _count ;
 1327   union __anonunion_ldv_14163_130 ldv_14163 ;
 1328   union __anonunion_ldv_14171_132 ldv_14171 ;
 1329   union __anonunion_ldv_14175_134 ldv_14175 ;
 1330   struct list_head lru ;
 1331};
 1332#line 124 "include/linux/mm_types.h"
 1333struct __anonstruct_vm_set_136 {
 1334   struct list_head list ;
 1335   void *parent ;
 1336   struct vm_area_struct *head ;
 1337};
 1338#line 124 "include/linux/mm_types.h"
 1339union __anonunion_shared_135 {
 1340   struct __anonstruct_vm_set_136 vm_set ;
 1341   struct raw_prio_tree_node prio_tree_node ;
 1342};
 1343#line 124
 1344struct anon_vma;
 1345#line 124
 1346struct anon_vma;
 1347#line 124
 1348struct vm_operations_struct;
 1349#line 124
 1350struct vm_operations_struct;
 1351#line 124
 1352struct mempolicy;
 1353#line 124
 1354struct mempolicy;
 1355#line 124 "include/linux/mm_types.h"
 1356struct vm_area_struct {
 1357   struct mm_struct *vm_mm ;
 1358   unsigned long vm_start ;
 1359   unsigned long vm_end ;
 1360   struct vm_area_struct *vm_next ;
 1361   struct vm_area_struct *vm_prev ;
 1362   pgprot_t vm_page_prot ;
 1363   unsigned long vm_flags ;
 1364   struct rb_node vm_rb ;
 1365   union __anonunion_shared_135 shared ;
 1366   struct list_head anon_vma_chain ;
 1367   struct anon_vma *anon_vma ;
 1368   struct vm_operations_struct  const  *vm_ops ;
 1369   unsigned long vm_pgoff ;
 1370   struct file *vm_file ;
 1371   void *vm_private_data ;
 1372   struct mempolicy *vm_policy ;
 1373};
 1374#line 187 "include/linux/mm_types.h"
 1375struct core_thread {
 1376   struct task_struct *task ;
 1377   struct core_thread *next ;
 1378};
 1379#line 193 "include/linux/mm_types.h"
 1380struct core_state {
 1381   atomic_t nr_threads ;
 1382   struct core_thread dumper ;
 1383   struct completion startup ;
 1384};
 1385#line 206 "include/linux/mm_types.h"
 1386struct mm_rss_stat {
 1387   atomic_long_t count[3U] ;
 1388};
 1389#line 219
 1390struct linux_binfmt;
 1391#line 219
 1392struct linux_binfmt;
 1393#line 219
 1394struct mmu_notifier_mm;
 1395#line 219
 1396struct mmu_notifier_mm;
 1397#line 219 "include/linux/mm_types.h"
 1398struct mm_struct {
 1399   struct vm_area_struct *mmap ;
 1400   struct rb_root mm_rb ;
 1401   struct vm_area_struct *mmap_cache ;
 1402   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 1403                                      unsigned long  , unsigned long  ) ;
 1404   void (*unmap_area)(struct mm_struct * , unsigned long  ) ;
 1405   unsigned long mmap_base ;
 1406   unsigned long task_size ;
 1407   unsigned long cached_hole_size ;
 1408   unsigned long free_area_cache ;
 1409   pgd_t *pgd ;
 1410   atomic_t mm_users ;
 1411   atomic_t mm_count ;
 1412   int map_count ;
 1413   spinlock_t page_table_lock ;
 1414   struct rw_semaphore mmap_sem ;
 1415   struct list_head mmlist ;
 1416   unsigned long hiwater_rss ;
 1417   unsigned long hiwater_vm ;
 1418   unsigned long total_vm ;
 1419   unsigned long locked_vm ;
 1420   unsigned long shared_vm ;
 1421   unsigned long exec_vm ;
 1422   unsigned long stack_vm ;
 1423   unsigned long reserved_vm ;
 1424   unsigned long def_flags ;
 1425   unsigned long nr_ptes ;
 1426   unsigned long start_code ;
 1427   unsigned long end_code ;
 1428   unsigned long start_data ;
 1429   unsigned long end_data ;
 1430   unsigned long start_brk ;
 1431   unsigned long brk ;
 1432   unsigned long start_stack ;
 1433   unsigned long arg_start ;
 1434   unsigned long arg_end ;
 1435   unsigned long env_start ;
 1436   unsigned long env_end ;
 1437   unsigned long saved_auxv[44U] ;
 1438   struct mm_rss_stat rss_stat ;
 1439   struct linux_binfmt *binfmt ;
 1440   cpumask_var_t cpu_vm_mask_var ;
 1441   mm_context_t context ;
 1442   unsigned int faultstamp ;
 1443   unsigned int token_priority ;
 1444   unsigned int last_interval ;
 1445   atomic_t oom_disable_count ;
 1446   unsigned long flags ;
 1447   struct core_state *core_state ;
 1448   spinlock_t ioctx_lock ;
 1449   struct hlist_head ioctx_list ;
 1450   struct task_struct *owner ;
 1451   struct file *exe_file ;
 1452   unsigned long num_exe_file_vmas ;
 1453   struct mmu_notifier_mm *mmu_notifier_mm ;
 1454   pgtable_t pmd_huge_pte ;
 1455   struct cpumask cpumask_allocation ;
 1456};
 1457#line 158 "include/linux/kmemcheck.h"
 1458enum ldv_13800 {
 1459    SS_FREE = 0,
 1460    SS_UNCONNECTED = 1,
 1461    SS_CONNECTING = 2,
 1462    SS_CONNECTED = 3,
 1463    SS_DISCONNECTING = 4
 1464} ;
 1465#line 53 "include/linux/net.h"
 1466typedef enum ldv_13800 socket_state;
 1467#line 179 "include/asm-generic/fcntl.h"
 1468struct poll_table_struct;
 1469#line 179
 1470struct poll_table_struct;
 1471#line 180
 1472struct pipe_inode_info;
 1473#line 180
 1474struct pipe_inode_info;
 1475#line 181
 1476struct inode;
 1477#line 181
 1478struct inode;
 1479#line 182
 1480struct net;
 1481#line 182
 1482struct net;
 1483#line 199
 1484struct fasync_struct;
 1485#line 199
 1486struct fasync_struct;
 1487#line 199 "include/asm-generic/fcntl.h"
 1488struct socket_wq {
 1489   wait_queue_head_t wait ;
 1490   struct fasync_struct *fasync_list ;
 1491   struct rcu_head rcu ;
 1492};
 1493#line 127 "include/linux/net.h"
 1494struct proto_ops;
 1495#line 127
 1496struct proto_ops;
 1497#line 127 "include/linux/net.h"
 1498struct socket {
 1499   socket_state state ;
 1500   short type ;
 1501   unsigned long flags ;
 1502   struct socket_wq *wq ;
 1503   struct file *file ;
 1504   struct sock *sk ;
 1505   struct proto_ops  const  *ops ;
 1506};
 1507#line 153
 1508struct kiocb;
 1509#line 153
 1510struct kiocb;
 1511#line 154 "include/linux/net.h"
 1512struct proto_ops {
 1513   int family ;
 1514   struct module *owner ;
 1515   int (*release)(struct socket * ) ;
 1516   int (*bind)(struct socket * , struct sockaddr * , int  ) ;
 1517   int (*connect)(struct socket * , struct sockaddr * , int  , int  ) ;
 1518   int (*socketpair)(struct socket * , struct socket * ) ;
 1519   int (*accept)(struct socket * , struct socket * , int  ) ;
 1520   int (*getname)(struct socket * , struct sockaddr * , int * , int  ) ;
 1521   unsigned int (*poll)(struct file * , struct socket * , struct poll_table_struct * ) ;
 1522   int (*ioctl)(struct socket * , unsigned int  , unsigned long  ) ;
 1523   int (*compat_ioctl)(struct socket * , unsigned int  , unsigned long  ) ;
 1524   int (*listen)(struct socket * , int  ) ;
 1525   int (*shutdown)(struct socket * , int  ) ;
 1526   int (*setsockopt)(struct socket * , int  , int  , char * , unsigned int  ) ;
 1527   int (*getsockopt)(struct socket * , int  , int  , char * , int * ) ;
 1528   int (*compat_setsockopt)(struct socket * , int  , int  , char * , unsigned int  ) ;
 1529   int (*compat_getsockopt)(struct socket * , int  , int  , char * , int * ) ;
 1530   int (*sendmsg)(struct kiocb * , struct socket * , struct msghdr * , size_t  ) ;
 1531   int (*recvmsg)(struct kiocb * , struct socket * , struct msghdr * , size_t  , int  ) ;
 1532   int (*mmap)(struct file * , struct socket * , struct vm_area_struct * ) ;
 1533   ssize_t (*sendpage)(struct socket * , struct page * , int  , size_t  , int  ) ;
 1534   ssize_t (*splice_read)(struct socket * , loff_t * , struct pipe_inode_info * ,
 1535                          size_t  , unsigned int  ) ;
 1536};
 1537#line 176 "include/linux/textsearch.h"
 1538struct exception_table_entry {
 1539   unsigned long insn ;
 1540   unsigned long fixup ;
 1541};
 1542#line 108 "include/net/checksum.h"
 1543struct sk_buff;
 1544#line 108
 1545struct sk_buff;
 1546#line 120
 1547struct klist_node;
 1548#line 120
 1549struct klist_node;
 1550#line 37 "include/linux/klist.h"
 1551struct klist_node {
 1552   void *n_klist ;
 1553   struct list_head n_node ;
 1554   struct kref n_ref ;
 1555};
 1556#line 67
 1557struct dma_map_ops;
 1558#line 67
 1559struct dma_map_ops;
 1560#line 67 "include/linux/klist.h"
 1561struct dev_archdata {
 1562   void *acpi_handle ;
 1563   struct dma_map_ops *dma_ops ;
 1564   void *iommu ;
 1565};
 1566#line 17 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 1567struct device_private;
 1568#line 17
 1569struct device_private;
 1570#line 18
 1571struct device_driver;
 1572#line 18
 1573struct device_driver;
 1574#line 19
 1575struct driver_private;
 1576#line 19
 1577struct driver_private;
 1578#line 20
 1579struct class;
 1580#line 20
 1581struct class;
 1582#line 21
 1583struct subsys_private;
 1584#line 21
 1585struct subsys_private;
 1586#line 22
 1587struct bus_type;
 1588#line 22
 1589struct bus_type;
 1590#line 23
 1591struct device_node;
 1592#line 23
 1593struct device_node;
 1594#line 24 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/device.h"
 1595struct bus_attribute {
 1596   struct attribute attr ;
 1597   ssize_t (*show)(struct bus_type * , char * ) ;
 1598   ssize_t (*store)(struct bus_type * , char const   * , size_t  ) ;
 1599};
 1600#line 49 "include/linux/device.h"
 1601struct device_attribute;
 1602#line 49
 1603struct device_attribute;
 1604#line 49
 1605struct driver_attribute;
 1606#line 49
 1607struct driver_attribute;
 1608#line 49 "include/linux/device.h"
 1609struct bus_type {
 1610   char const   *name ;
 1611   struct bus_attribute *bus_attrs ;
 1612   struct device_attribute *dev_attrs ;
 1613   struct driver_attribute *drv_attrs ;
 1614   int (*match)(struct device * , struct device_driver * ) ;
 1615   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 1616   int (*probe)(struct device * ) ;
 1617   int (*remove)(struct device * ) ;
 1618   void (*shutdown)(struct device * ) ;
 1619   int (*suspend)(struct device * , pm_message_t  ) ;
 1620   int (*resume)(struct device * ) ;
 1621   struct dev_pm_ops  const  *pm ;
 1622   struct subsys_private *p ;
 1623};
 1624#line 153
 1625struct of_device_id;
 1626#line 153
 1627struct of_device_id;
 1628#line 153 "include/linux/device.h"
 1629struct device_driver {
 1630   char const   *name ;
 1631   struct bus_type *bus ;
 1632   struct module *owner ;
 1633   char const   *mod_name ;
 1634   bool suppress_bind_attrs ;
 1635   struct of_device_id  const  *of_match_table ;
 1636   int (*probe)(struct device * ) ;
 1637   int (*remove)(struct device * ) ;
 1638   void (*shutdown)(struct device * ) ;
 1639   int (*suspend)(struct device * , pm_message_t  ) ;
 1640   int (*resume)(struct device * ) ;
 1641   struct attribute_group  const  **groups ;
 1642   struct dev_pm_ops  const  *pm ;
 1643   struct driver_private *p ;
 1644};
 1645#line 218 "include/linux/device.h"
 1646struct driver_attribute {
 1647   struct attribute attr ;
 1648   ssize_t (*show)(struct device_driver * , char * ) ;
 1649   ssize_t (*store)(struct device_driver * , char const   * , size_t  ) ;
 1650};
 1651#line 248
 1652struct class_attribute;
 1653#line 248
 1654struct class_attribute;
 1655#line 248 "include/linux/device.h"
 1656struct class {
 1657   char const   *name ;
 1658   struct module *owner ;
 1659   struct class_attribute *class_attrs ;
 1660   struct device_attribute *dev_attrs ;
 1661   struct bin_attribute *dev_bin_attrs ;
 1662   struct kobject *dev_kobj ;
 1663   int (*dev_uevent)(struct device * , struct kobj_uevent_env * ) ;
 1664   char *(*devnode)(struct device * , mode_t * ) ;
 1665   void (*class_release)(struct class * ) ;
 1666   void (*dev_release)(struct device * ) ;
 1667   int (*suspend)(struct device * , pm_message_t  ) ;
 1668   int (*resume)(struct device * ) ;
 1669   struct kobj_ns_type_operations  const  *ns_type ;
 1670   void const   *(*namespace)(struct device * ) ;
 1671   struct dev_pm_ops  const  *pm ;
 1672   struct subsys_private *p ;
 1673};
 1674#line 305
 1675struct device_type;
 1676#line 305
 1677struct device_type;
 1678#line 344 "include/linux/device.h"
 1679struct class_attribute {
 1680   struct attribute attr ;
 1681   ssize_t (*show)(struct class * , struct class_attribute * , char * ) ;
 1682   ssize_t (*store)(struct class * , struct class_attribute * , char const   * , size_t  ) ;
 1683};
 1684#line 395 "include/linux/device.h"
 1685struct device_type {
 1686   char const   *name ;
 1687   struct attribute_group  const  **groups ;
 1688   int (*uevent)(struct device * , struct kobj_uevent_env * ) ;
 1689   char *(*devnode)(struct device * , mode_t * ) ;
 1690   void (*release)(struct device * ) ;
 1691   struct dev_pm_ops  const  *pm ;
 1692};
 1693#line 422 "include/linux/device.h"
 1694struct device_attribute {
 1695   struct attribute attr ;
 1696   ssize_t (*show)(struct device * , struct device_attribute * , char * ) ;
 1697   ssize_t (*store)(struct device * , struct device_attribute * , char const   * ,
 1698                    size_t  ) ;
 1699};
 1700#line 483 "include/linux/device.h"
 1701struct device_dma_parameters {
 1702   unsigned int max_segment_size ;
 1703   unsigned long segment_boundary_mask ;
 1704};
 1705#line 492
 1706struct dma_coherent_mem;
 1707#line 492
 1708struct dma_coherent_mem;
 1709#line 492 "include/linux/device.h"
 1710struct device {
 1711   struct device *parent ;
 1712   struct device_private *p ;
 1713   struct kobject kobj ;
 1714   char const   *init_name ;
 1715   struct device_type  const  *type ;
 1716   struct mutex mutex ;
 1717   struct bus_type *bus ;
 1718   struct device_driver *driver ;
 1719   void *platform_data ;
 1720   struct dev_pm_info power ;
 1721   struct dev_power_domain *pwr_domain ;
 1722   int numa_node ;
 1723   u64 *dma_mask ;
 1724   u64 coherent_dma_mask ;
 1725   struct device_dma_parameters *dma_parms ;
 1726   struct list_head dma_pools ;
 1727   struct dma_coherent_mem *dma_mem ;
 1728   struct dev_archdata archdata ;
 1729   struct device_node *of_node ;
 1730   dev_t devt ;
 1731   spinlock_t devres_lock ;
 1732   struct list_head devres_head ;
 1733   struct klist_node knode_class ;
 1734   struct class *class ;
 1735   struct attribute_group  const  **groups ;
 1736   void (*release)(struct device * ) ;
 1737};
 1738#line 604 "include/linux/device.h"
 1739struct wakeup_source {
 1740   char *name ;
 1741   struct list_head entry ;
 1742   spinlock_t lock ;
 1743   struct timer_list timer ;
 1744   unsigned long timer_expires ;
 1745   ktime_t total_time ;
 1746   ktime_t max_time ;
 1747   ktime_t last_time ;
 1748   unsigned long event_count ;
 1749   unsigned long active_count ;
 1750   unsigned long relax_count ;
 1751   unsigned long hit_count ;
 1752   unsigned char active : 1 ;
 1753};
 1754#line 34 "include/linux/bug.h"
 1755struct dma_attrs {
 1756   unsigned long flags[1U] ;
 1757};
 1758#line 65 "include/linux/dma-attrs.h"
 1759struct scatterlist {
 1760   unsigned long sg_magic ;
 1761   unsigned long page_link ;
 1762   unsigned int offset ;
 1763   unsigned int length ;
 1764   dma_addr_t dma_address ;
 1765   unsigned int dma_length ;
 1766};
 1767#line 92 "include/linux/bit_spinlock.h"
 1768struct file_ra_state;
 1769#line 92
 1770struct file_ra_state;
 1771#line 93
 1772struct user_struct;
 1773#line 93
 1774struct user_struct;
 1775#line 94
 1776struct writeback_control;
 1777#line 94
 1778struct writeback_control;
 1779#line 175 "include/linux/mm.h"
 1780struct vm_fault {
 1781   unsigned int flags ;
 1782   unsigned long pgoff ;
 1783   void *virtual_address ;
 1784   struct page *page ;
 1785};
 1786#line 192 "include/linux/mm.h"
 1787struct vm_operations_struct {
 1788   void (*open)(struct vm_area_struct * ) ;
 1789   void (*close)(struct vm_area_struct * ) ;
 1790   int (*fault)(struct vm_area_struct * , struct vm_fault * ) ;
 1791   int (*page_mkwrite)(struct vm_area_struct * , struct vm_fault * ) ;
 1792   int (*access)(struct vm_area_struct * , unsigned long  , void * , int  , int  ) ;
 1793   int (*set_policy)(struct vm_area_struct * , struct mempolicy * ) ;
 1794   struct mempolicy *(*get_policy)(struct vm_area_struct * , unsigned long  ) ;
 1795   int (*migrate)(struct vm_area_struct * , nodemask_t const   * , nodemask_t const   * ,
 1796                  unsigned long  ) ;
 1797};
 1798#line 266 "include/linux/scatterlist.h"
 1799enum dma_data_direction {
 1800    DMA_BIDIRECTIONAL = 0,
 1801    DMA_TO_DEVICE = 1,
 1802    DMA_FROM_DEVICE = 2,
 1803    DMA_NONE = 3
 1804} ;
 1805#line 273 "include/linux/scatterlist.h"
 1806struct dma_map_ops {
 1807   void *(*alloc_coherent)(struct device * , size_t  , dma_addr_t * , gfp_t  ) ;
 1808   void (*free_coherent)(struct device * , size_t  , void * , dma_addr_t  ) ;
 1809   dma_addr_t (*map_page)(struct device * , struct page * , unsigned long  , size_t  ,
 1810                          enum dma_data_direction  , struct dma_attrs * ) ;
 1811   void (*unmap_page)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ,
 1812                      struct dma_attrs * ) ;
 1813   int (*map_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
 1814                 struct dma_attrs * ) ;
 1815   void (*unmap_sg)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ,
 1816                    struct dma_attrs * ) ;
 1817   void (*sync_single_for_cpu)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
 1818   void (*sync_single_for_device)(struct device * , dma_addr_t  , size_t  , enum dma_data_direction  ) ;
 1819   void (*sync_sg_for_cpu)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
 1820   void (*sync_sg_for_device)(struct device * , struct scatterlist * , int  , enum dma_data_direction  ) ;
 1821   int (*mapping_error)(struct device * , dma_addr_t  ) ;
 1822   int (*dma_supported)(struct device * , u64  ) ;
 1823   int (*set_dma_mask)(struct device * , u64  ) ;
 1824   int is_phys ;
 1825};
 1826#line 33 "include/linux/dmaengine.h"
 1827typedef s32 dma_cookie_t;
 1828#line 874 "include/linux/dmaengine.h"
 1829struct timerqueue_node {
 1830   struct rb_node node ;
 1831   ktime_t expires ;
 1832};
 1833#line 12 "include/linux/timerqueue.h"
 1834struct timerqueue_head {
 1835   struct rb_root head ;
 1836   struct timerqueue_node *next ;
 1837};
 1838#line 50
 1839struct hrtimer_clock_base;
 1840#line 50
 1841struct hrtimer_clock_base;
 1842#line 51
 1843struct hrtimer_cpu_base;
 1844#line 51
 1845struct hrtimer_cpu_base;
 1846#line 60
 1847enum hrtimer_restart {
 1848    HRTIMER_NORESTART = 0,
 1849    HRTIMER_RESTART = 1
 1850} ;
 1851#line 65 "include/linux/timerqueue.h"
 1852struct hrtimer {
 1853   struct timerqueue_node node ;
 1854   ktime_t _softexpires ;
 1855   enum hrtimer_restart (*function)(struct hrtimer * ) ;
 1856   struct hrtimer_clock_base *base ;
 1857   unsigned long state ;
 1858   int start_pid ;
 1859   void *start_site ;
 1860   char start_comm[16U] ;
 1861};
 1862#line 132 "include/linux/hrtimer.h"
 1863struct hrtimer_clock_base {
 1864   struct hrtimer_cpu_base *cpu_base ;
 1865   int index ;
 1866   clockid_t clockid ;
 1867   struct timerqueue_head active ;
 1868   ktime_t resolution ;
 1869   ktime_t (*get_time)(void) ;
 1870   ktime_t softirq_time ;
 1871   ktime_t offset ;
 1872};
 1873#line 162 "include/linux/hrtimer.h"
 1874struct hrtimer_cpu_base {
 1875   raw_spinlock_t lock ;
 1876   unsigned long active_bases ;
 1877   ktime_t expires_next ;
 1878   int hres_active ;
 1879   int hang_detected ;
 1880   unsigned long nr_events ;
 1881   unsigned long nr_retries ;
 1882   unsigned long nr_hangs ;
 1883   ktime_t max_hang_time ;
 1884   struct hrtimer_clock_base clock_base[3U] ;
 1885};
 1886#line 452
 1887struct net_device;
 1888#line 452
 1889struct net_device;
 1890#line 453 "include/linux/hrtimer.h"
 1891struct nf_conntrack {
 1892   atomic_t use ;
 1893};
 1894#line 102 "include/linux/skbuff.h"
 1895struct nf_bridge_info {
 1896   atomic_t use ;
 1897   struct net_device *physindev ;
 1898   struct net_device *physoutdev ;
 1899   unsigned int mask ;
 1900   unsigned long data[4U] ;
 1901};
 1902#line 112 "include/linux/skbuff.h"
 1903struct sk_buff_head {
 1904   struct sk_buff *next ;
 1905   struct sk_buff *prev ;
 1906   __u32 qlen ;
 1907   spinlock_t lock ;
 1908};
 1909#line 259 "include/linux/skbuff.h"
 1910typedef unsigned int sk_buff_data_t;
 1911#line 260
 1912struct sec_path;
 1913#line 260
 1914struct sec_path;
 1915#line 260 "include/linux/skbuff.h"
 1916struct __anonstruct_ldv_19528_139 {
 1917   __u16 csum_start ;
 1918   __u16 csum_offset ;
 1919};
 1920#line 260 "include/linux/skbuff.h"
 1921union __anonunion_ldv_19529_138 {
 1922   __wsum csum ;
 1923   struct __anonstruct_ldv_19528_139 ldv_19528 ;
 1924};
 1925#line 260 "include/linux/skbuff.h"
 1926union __anonunion_ldv_19559_140 {
 1927   __u32 mark ;
 1928   __u32 dropcount ;
 1929};
 1930#line 260 "include/linux/skbuff.h"
 1931struct sk_buff {
 1932   struct sk_buff *next ;
 1933   struct sk_buff *prev ;
 1934   ktime_t tstamp ;
 1935   struct sock *sk ;
 1936   struct net_device *dev ;
 1937   char cb[48U] ;
 1938   unsigned long _skb_refdst ;
 1939   struct sec_path *sp ;
 1940   unsigned int len ;
 1941   unsigned int data_len ;
 1942   __u16 mac_len ;
 1943   __u16 hdr_len ;
 1944   union __anonunion_ldv_19529_138 ldv_19529 ;
 1945   __u32 priority ;
 1946   unsigned char local_df : 1 ;
 1947   unsigned char cloned : 1 ;
 1948   unsigned char ip_summed : 2 ;
 1949   unsigned char nohdr : 1 ;
 1950   unsigned char nfctinfo : 3 ;
 1951   unsigned char pkt_type : 3 ;
 1952   unsigned char fclone : 2 ;
 1953   unsigned char ipvs_property : 1 ;
 1954   unsigned char peeked : 1 ;
 1955   unsigned char nf_trace : 1 ;
 1956   __be16 protocol ;
 1957   void (*destructor)(struct sk_buff * ) ;
 1958   struct nf_conntrack *nfct ;
 1959   struct sk_buff *nfct_reasm ;
 1960   struct nf_bridge_info *nf_bridge ;
 1961   int skb_iif ;
 1962   __u16 tc_index ;
 1963   __u16 tc_verd ;
 1964   __u32 rxhash ;
 1965   __u16 queue_mapping ;
 1966   unsigned char ndisc_nodetype : 2 ;
 1967   unsigned char ooo_okay : 1 ;
 1968   dma_cookie_t dma_cookie ;
 1969   __u32 secmark ;
 1970   union __anonunion_ldv_19559_140 ldv_19559 ;
 1971   __u16 vlan_tci ;
 1972   sk_buff_data_t transport_header ;
 1973   sk_buff_data_t network_header ;
 1974   sk_buff_data_t mac_header ;
 1975   sk_buff_data_t tail ;
 1976   sk_buff_data_t end ;
 1977   unsigned char *head ;
 1978   unsigned char *data ;
 1979   unsigned int truesize ;
 1980   atomic_t users ;
 1981};
 1982#line 450
 1983struct dst_entry;
 1984#line 450
 1985struct dst_entry;
 1986#line 485
 1987struct rtable;
 1988#line 485
 1989struct rtable;
 1990#line 2269
 1991struct hlist_nulls_node;
 1992#line 2269
 1993struct hlist_nulls_node;
 1994#line 2269 "include/linux/skbuff.h"
 1995struct hlist_nulls_head {
 1996   struct hlist_nulls_node *first ;
 1997};
 1998#line 20 "include/linux/list_nulls.h"
 1999struct hlist_nulls_node {
 2000   struct hlist_nulls_node *next ;
 2001   struct hlist_nulls_node **pprev ;
 2002};
 2003#line 41 "include/linux/hdlc/ioctl.h"
 2004struct __anonstruct_sync_serial_settings_141 {
 2005   unsigned int clock_rate ;
 2006   unsigned int clock_type ;
 2007   unsigned short loopback ;
 2008};
 2009#line 41 "include/linux/hdlc/ioctl.h"
 2010typedef struct __anonstruct_sync_serial_settings_141 sync_serial_settings;
 2011#line 48 "include/linux/hdlc/ioctl.h"
 2012struct __anonstruct_te1_settings_142 {
 2013   unsigned int clock_rate ;
 2014   unsigned int clock_type ;
 2015   unsigned short loopback ;
 2016   unsigned int slot_map ;
 2017};
 2018#line 48 "include/linux/hdlc/ioctl.h"
 2019typedef struct __anonstruct_te1_settings_142 te1_settings;
 2020#line 53 "include/linux/hdlc/ioctl.h"
 2021struct __anonstruct_raw_hdlc_proto_143 {
 2022   unsigned short encoding ;
 2023   unsigned short parity ;
 2024};
 2025#line 53 "include/linux/hdlc/ioctl.h"
 2026typedef struct __anonstruct_raw_hdlc_proto_143 raw_hdlc_proto;
 2027#line 63 "include/linux/hdlc/ioctl.h"
 2028struct __anonstruct_fr_proto_144 {
 2029   unsigned int t391 ;
 2030   unsigned int t392 ;
 2031   unsigned int n391 ;
 2032   unsigned int n392 ;
 2033   unsigned int n393 ;
 2034   unsigned short lmi ;
 2035   unsigned short dce ;
 2036};
 2037#line 63 "include/linux/hdlc/ioctl.h"
 2038typedef struct __anonstruct_fr_proto_144 fr_proto;
 2039#line 67 "include/linux/hdlc/ioctl.h"
 2040struct __anonstruct_fr_proto_pvc_145 {
 2041   unsigned int dlci ;
 2042};
 2043#line 67 "include/linux/hdlc/ioctl.h"
 2044typedef struct __anonstruct_fr_proto_pvc_145 fr_proto_pvc;
 2045#line 72 "include/linux/hdlc/ioctl.h"
 2046struct __anonstruct_fr_proto_pvc_info_146 {
 2047   unsigned int dlci ;
 2048   char master[16U] ;
 2049};
 2050#line 72 "include/linux/hdlc/ioctl.h"
 2051typedef struct __anonstruct_fr_proto_pvc_info_146 fr_proto_pvc_info;
 2052#line 77 "include/linux/hdlc/ioctl.h"
 2053struct __anonstruct_cisco_proto_147 {
 2054   unsigned int interval ;
 2055   unsigned int timeout ;
 2056};
 2057#line 77 "include/linux/hdlc/ioctl.h"
 2058typedef struct __anonstruct_cisco_proto_147 cisco_proto;
 2059#line 93 "include/linux/hdlc/ioctl.h"
 2060struct ifmap {
 2061   unsigned long mem_start ;
 2062   unsigned long mem_end ;
 2063   unsigned short base_addr ;
 2064   unsigned char irq ;
 2065   unsigned char dma ;
 2066   unsigned char port ;
 2067};
 2068#line 142 "include/linux/if.h"
 2069union __anonunion_ifs_ifsu_148 {
 2070   raw_hdlc_proto *raw_hdlc ;
 2071   cisco_proto *cisco ;
 2072   fr_proto *fr ;
 2073   fr_proto_pvc *fr_pvc ;
 2074   fr_proto_pvc_info *fr_pvc_info ;
 2075   sync_serial_settings *sync ;
 2076   te1_settings *te1 ;
 2077};
 2078#line 142 "include/linux/if.h"
 2079struct if_settings {
 2080   unsigned int type ;
 2081   unsigned int size ;
 2082   union __anonunion_ifs_ifsu_148 ifs_ifsu ;
 2083};
 2084#line 160 "include/linux/if.h"
 2085union __anonunion_ifr_ifrn_149 {
 2086   char ifrn_name[16U] ;
 2087};
 2088#line 160 "include/linux/if.h"
 2089union __anonunion_ifr_ifru_150 {
 2090   struct sockaddr ifru_addr ;
 2091   struct sockaddr ifru_dstaddr ;
 2092   struct sockaddr ifru_broadaddr ;
 2093   struct sockaddr ifru_netmask ;
 2094   struct sockaddr ifru_hwaddr ;
 2095   short ifru_flags ;
 2096   int ifru_ivalue ;
 2097   int ifru_mtu ;
 2098   struct ifmap ifru_map ;
 2099   char ifru_slave[16U] ;
 2100   char ifru_newname[16U] ;
 2101   void *ifru_data ;
 2102   struct if_settings ifru_settings ;
 2103};
 2104#line 160 "include/linux/if.h"
 2105struct ifreq {
 2106   union __anonunion_ifr_ifrn_149 ifr_ifrn ;
 2107   union __anonunion_ifr_ifru_150 ifr_ifru ;
 2108};
 2109#line 224 "include/linux/if.h"
 2110struct ethhdr {
 2111   unsigned char h_dest[6U] ;
 2112   unsigned char h_source[6U] ;
 2113   __be16 h_proto ;
 2114};
 2115#line 113 "include/linux/netlink.h"
 2116struct nlattr {
 2117   __u16 nla_len ;
 2118   __u16 nla_type ;
 2119};
 2120#line 93 "include/linux/capability.h"
 2121struct kernel_cap_struct {
 2122   __u32 cap[2U] ;
 2123};
 2124#line 96 "include/linux/capability.h"
 2125typedef struct kernel_cap_struct kernel_cap_t;
 2126#line 104
 2127struct dentry;
 2128#line 104
 2129struct dentry;
 2130#line 105
 2131struct user_namespace;
 2132#line 105
 2133struct user_namespace;
 2134#line 39 "include/linux/if_link.h"
 2135struct rtnl_link_stats64 {
 2136   __u64 rx_packets ;
 2137   __u64 tx_packets ;
 2138   __u64 rx_bytes ;
 2139   __u64 tx_bytes ;
 2140   __u64 rx_errors ;
 2141   __u64 tx_errors ;
 2142   __u64 rx_dropped ;
 2143   __u64 tx_dropped ;
 2144   __u64 multicast ;
 2145   __u64 collisions ;
 2146   __u64 rx_length_errors ;
 2147   __u64 rx_over_errors ;
 2148   __u64 rx_crc_errors ;
 2149   __u64 rx_frame_errors ;
 2150   __u64 rx_fifo_errors ;
 2151   __u64 rx_missed_errors ;
 2152   __u64 tx_aborted_errors ;
 2153   __u64 tx_carrier_errors ;
 2154   __u64 tx_fifo_errors ;
 2155   __u64 tx_heartbeat_errors ;
 2156   __u64 tx_window_errors ;
 2157   __u64 rx_compressed ;
 2158   __u64 tx_compressed ;
 2159};
 2160#line 302 "include/linux/if_link.h"
 2161struct ifla_vf_info {
 2162   __u32 vf ;
 2163   __u8 mac[32U] ;
 2164   __u32 vlan ;
 2165   __u32 qos ;
 2166   __u32 tx_rate ;
 2167};
 2168#line 382 "include/linux/if_link.h"
 2169struct plist_head {
 2170   struct list_head node_list ;
 2171   raw_spinlock_t *rawlock ;
 2172   spinlock_t *spinlock ;
 2173};
 2174#line 88 "include/linux/plist.h"
 2175struct plist_node {
 2176   int prio ;
 2177   struct list_head prio_list ;
 2178   struct list_head node_list ;
 2179};
 2180#line 303
 2181struct file_operations;
 2182#line 303
 2183struct file_operations;
 2184#line 60 "include/linux/miscdevice.h"
 2185struct pm_qos_request_list {
 2186   struct plist_node list ;
 2187   int pm_qos_class ;
 2188};
 2189#line 118 "include/linux/sem.h"
 2190struct sem_undo_list;
 2191#line 118
 2192struct sem_undo_list;
 2193#line 131 "include/linux/sem.h"
 2194struct sem_undo_list {
 2195   atomic_t refcnt ;
 2196   spinlock_t lock ;
 2197   struct list_head list_proc ;
 2198};
 2199#line 140 "include/linux/sem.h"
 2200struct sysv_sem {
 2201   struct sem_undo_list *undo_list ;
 2202};
 2203#line 152
 2204struct block_device;
 2205#line 152
 2206struct block_device;
 2207#line 89 "include/linux/kdev_t.h"
 2208struct hlist_bl_node;
 2209#line 89
 2210struct hlist_bl_node;
 2211#line 89 "include/linux/kdev_t.h"
 2212struct hlist_bl_head {
 2213   struct hlist_bl_node *first ;
 2214};
 2215#line 36 "include/linux/list_bl.h"
 2216struct hlist_bl_node {
 2217   struct hlist_bl_node *next ;
 2218   struct hlist_bl_node **pprev ;
 2219};
 2220#line 114 "include/linux/rculist_bl.h"
 2221struct nameidata;
 2222#line 114
 2223struct nameidata;
 2224#line 115
 2225struct path;
 2226#line 115
 2227struct path;
 2228#line 116
 2229struct vfsmount;
 2230#line 116
 2231struct vfsmount;
 2232#line 117 "include/linux/rculist_bl.h"
 2233struct qstr {
 2234   unsigned int hash ;
 2235   unsigned int len ;
 2236   unsigned char const   *name ;
 2237};
 2238#line 100 "include/linux/dcache.h"
 2239struct dentry_operations;
 2240#line 100
 2241struct dentry_operations;
 2242#line 100
 2243struct super_block;
 2244#line 100
 2245struct super_block;
 2246#line 100 "include/linux/dcache.h"
 2247union __anonunion_d_u_153 {
 2248   struct list_head d_child ;
 2249   struct rcu_head d_rcu ;
 2250};
 2251#line 100 "include/linux/dcache.h"
 2252struct dentry {
 2253   unsigned int d_flags ;
 2254   seqcount_t d_seq ;
 2255   struct hlist_bl_node d_hash ;
 2256   struct dentry *d_parent ;
 2257   struct qstr d_name ;
 2258   struct inode *d_inode ;
 2259   unsigned char d_iname[32U] ;
 2260   unsigned int d_count ;
 2261   spinlock_t d_lock ;
 2262   struct dentry_operations  const  *d_op ;
 2263   struct super_block *d_sb ;
 2264   unsigned long d_time ;
 2265   void *d_fsdata ;
 2266   struct list_head d_lru ;
 2267   union __anonunion_d_u_153 d_u ;
 2268   struct list_head d_subdirs ;
 2269   struct list_head d_alias ;
 2270};
 2271#line 151 "include/linux/dcache.h"
 2272struct dentry_operations {
 2273   int (*d_revalidate)(struct dentry * , struct nameidata * ) ;
 2274   int (*d_hash)(struct dentry  const  * , struct inode  const  * , struct qstr * ) ;
 2275   int (*d_compare)(struct dentry  const  * , struct inode  const  * , struct dentry  const  * ,
 2276                    struct inode  const  * , unsigned int  , char const   * , struct qstr  const  * ) ;
 2277   int (*d_delete)(struct dentry  const  * ) ;
 2278   void (*d_release)(struct dentry * ) ;
 2279   void (*d_iput)(struct dentry * , struct inode * ) ;
 2280   char *(*d_dname)(struct dentry * , char * , int  ) ;
 2281   struct vfsmount *(*d_automount)(struct path * ) ;
 2282   int (*d_manage)(struct dentry * , bool  ) ;
 2283};
 2284#line 422 "include/linux/dcache.h"
 2285struct path {
 2286   struct vfsmount *mnt ;
 2287   struct dentry *dentry ;
 2288};
 2289#line 51 "include/linux/radix-tree.h"
 2290struct radix_tree_node;
 2291#line 51
 2292struct radix_tree_node;
 2293#line 51 "include/linux/radix-tree.h"
 2294struct radix_tree_root {
 2295   unsigned int height ;
 2296   gfp_t gfp_mask ;
 2297   struct radix_tree_node *rnode ;
 2298};
 2299#line 229
 2300enum pid_type {
 2301    PIDTYPE_PID = 0,
 2302    PIDTYPE_PGID = 1,
 2303    PIDTYPE_SID = 2,
 2304    PIDTYPE_MAX = 3
 2305} ;
 2306#line 236
 2307struct pid_namespace;
 2308#line 236
 2309struct pid_namespace;
 2310#line 236 "include/linux/radix-tree.h"
 2311struct upid {
 2312   int nr ;
 2313   struct pid_namespace *ns ;
 2314   struct hlist_node pid_chain ;
 2315};
 2316#line 56 "include/linux/pid.h"
 2317struct pid {
 2318   atomic_t count ;
 2319   unsigned int level ;
 2320   struct hlist_head tasks[3U] ;
 2321   struct rcu_head rcu ;
 2322   struct upid numbers[1U] ;
 2323};
 2324#line 68 "include/linux/pid.h"
 2325struct pid_link {
 2326   struct hlist_node node ;
 2327   struct pid *pid ;
 2328};
 2329#line 45 "include/linux/semaphore.h"
 2330struct fiemap_extent {
 2331   __u64 fe_logical ;
 2332   __u64 fe_physical ;
 2333   __u64 fe_length ;
 2334   __u64 fe_reserved64[2U] ;
 2335   __u32 fe_flags ;
 2336   __u32 fe_reserved[3U] ;
 2337};
 2338#line 38 "include/linux/fiemap.h"
 2339struct export_operations;
 2340#line 38
 2341struct export_operations;
 2342#line 40
 2343struct kstatfs;
 2344#line 40
 2345struct kstatfs;
 2346#line 426 "include/linux/fs.h"
 2347struct iattr {
 2348   unsigned int ia_valid ;
 2349   umode_t ia_mode ;
 2350   uid_t ia_uid ;
 2351   gid_t ia_gid ;
 2352   loff_t ia_size ;
 2353   struct timespec ia_atime ;
 2354   struct timespec ia_mtime ;
 2355   struct timespec ia_ctime ;
 2356   struct file *ia_file ;
 2357};
 2358#line 119 "include/linux/quota.h"
 2359struct if_dqinfo {
 2360   __u64 dqi_bgrace ;
 2361   __u64 dqi_igrace ;
 2362   __u32 dqi_flags ;
 2363   __u32 dqi_valid ;
 2364};
 2365#line 152 "include/linux/quota.h"
 2366struct percpu_counter {
 2367   spinlock_t lock ;
 2368   s64 count ;
 2369   struct list_head list ;
 2370   s32 *counters ;
 2371};
 2372#line 176 "include/linux/percpu_counter.h"
 2373struct fs_disk_quota {
 2374   __s8 d_version ;
 2375   __s8 d_flags ;
 2376   __u16 d_fieldmask ;
 2377   __u32 d_id ;
 2378   __u64 d_blk_hardlimit ;
 2379   __u64 d_blk_softlimit ;
 2380   __u64 d_ino_hardlimit ;
 2381   __u64 d_ino_softlimit ;
 2382   __u64 d_bcount ;
 2383   __u64 d_icount ;
 2384   __s32 d_itimer ;
 2385   __s32 d_btimer ;
 2386   __u16 d_iwarns ;
 2387   __u16 d_bwarns ;
 2388   __s32 d_padding2 ;
 2389   __u64 d_rtb_hardlimit ;
 2390   __u64 d_rtb_softlimit ;
 2391   __u64 d_rtbcount ;
 2392   __s32 d_rtbtimer ;
 2393   __u16 d_rtbwarns ;
 2394   __s16 d_padding3 ;
 2395   char d_padding4[8U] ;
 2396};
 2397#line 75 "include/linux/dqblk_xfs.h"
 2398struct fs_qfilestat {
 2399   __u64 qfs_ino ;
 2400   __u64 qfs_nblks ;
 2401   __u32 qfs_nextents ;
 2402};
 2403#line 150 "include/linux/dqblk_xfs.h"
 2404typedef struct fs_qfilestat fs_qfilestat_t;
 2405#line 151 "include/linux/dqblk_xfs.h"
 2406struct fs_quota_stat {
 2407   __s8 qs_version ;
 2408   __u16 qs_flags ;
 2409   __s8 qs_pad ;
 2410   fs_qfilestat_t qs_uquota ;
 2411   fs_qfilestat_t qs_gquota ;
 2412   __u32 qs_incoredqs ;
 2413   __s32 qs_btimelimit ;
 2414   __s32 qs_itimelimit ;
 2415   __s32 qs_rtbtimelimit ;
 2416   __u16 qs_bwarnlimit ;
 2417   __u16 qs_iwarnlimit ;
 2418};
 2419#line 165
 2420struct dquot;
 2421#line 165
 2422struct dquot;
 2423#line 185 "include/linux/quota.h"
 2424typedef __kernel_uid32_t qid_t;
 2425#line 186 "include/linux/quota.h"
 2426typedef long long qsize_t;
 2427#line 189 "include/linux/quota.h"
 2428struct mem_dqblk {
 2429   qsize_t dqb_bhardlimit ;
 2430   qsize_t dqb_bsoftlimit ;
 2431   qsize_t dqb_curspace ;
 2432   qsize_t dqb_rsvspace ;
 2433   qsize_t dqb_ihardlimit ;
 2434   qsize_t dqb_isoftlimit ;
 2435   qsize_t dqb_curinodes ;
 2436   time_t dqb_btime ;
 2437   time_t dqb_itime ;
 2438};
 2439#line 211
 2440struct quota_format_type;
 2441#line 211
 2442struct quota_format_type;
 2443#line 212 "include/linux/quota.h"
 2444struct mem_dqinfo {
 2445   struct quota_format_type *dqi_format ;
 2446   int dqi_fmt_id ;
 2447   struct list_head dqi_dirty_list ;
 2448   unsigned long dqi_flags ;
 2449   unsigned int dqi_bgrace ;
 2450   unsigned int dqi_igrace ;
 2451   qsize_t dqi_maxblimit ;
 2452   qsize_t dqi_maxilimit ;
 2453   void *dqi_priv ;
 2454};
 2455#line 271 "include/linux/quota.h"
 2456struct dquot {
 2457   struct hlist_node dq_hash ;
 2458   struct list_head dq_inuse ;
 2459   struct list_head dq_free ;
 2460   struct list_head dq_dirty ;
 2461   struct mutex dq_lock ;
 2462   atomic_t dq_count ;
 2463   wait_queue_head_t dq_wait_unused ;
 2464   struct super_block *dq_sb ;
 2465   unsigned int dq_id ;
 2466   loff_t dq_off ;
 2467   unsigned long dq_flags ;
 2468   short dq_type ;
 2469   struct mem_dqblk dq_dqb ;
 2470};
 2471#line 299 "include/linux/quota.h"
 2472struct quota_format_ops {
 2473   int (*check_quota_file)(struct super_block * , int  ) ;
 2474   int (*read_file_info)(struct super_block * , int  ) ;
 2475   int (*write_file_info)(struct super_block * , int  ) ;
 2476   int (*free_file_info)(struct super_block * , int  ) ;
 2477   int (*read_dqblk)(struct dquot * ) ;
 2478   int (*commit_dqblk)(struct dquot * ) ;
 2479   int (*release_dqblk)(struct dquot * ) ;
 2480};
 2481#line 310 "include/linux/quota.h"
 2482struct dquot_operations {
 2483   int (*write_dquot)(struct dquot * ) ;
 2484   struct dquot *(*alloc_dquot)(struct super_block * , int  ) ;
 2485   void (*destroy_dquot)(struct dquot * ) ;
 2486   int (*acquire_dquot)(struct dquot * ) ;
 2487   int (*release_dquot)(struct dquot * ) ;
 2488   int (*mark_dirty)(struct dquot * ) ;
 2489   int (*write_info)(struct super_block * , int  ) ;
 2490   qsize_t *(*get_reserved_space)(struct inode * ) ;
 2491};
 2492#line 324 "include/linux/quota.h"
 2493struct quotactl_ops {
 2494   int (*quota_on)(struct super_block * , int  , int  , struct path * ) ;
 2495   int (*quota_on_meta)(struct super_block * , int  , int  ) ;
 2496   int (*quota_off)(struct super_block * , int  ) ;
 2497   int (*quota_sync)(struct super_block * , int  , int  ) ;
 2498   int (*get_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 2499   int (*set_info)(struct super_block * , int  , struct if_dqinfo * ) ;
 2500   int (*get_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 2501   int (*set_dqblk)(struct super_block * , int  , qid_t  , struct fs_disk_quota * ) ;
 2502   int (*get_xstate)(struct super_block * , struct fs_quota_stat * ) ;
 2503   int (*set_xstate)(struct super_block * , unsigned int  , int  ) ;
 2504};
 2505#line 340 "include/linux/quota.h"
 2506struct quota_format_type {
 2507   int qf_fmt_id ;
 2508   struct quota_format_ops  const  *qf_ops ;
 2509   struct module *qf_owner ;
 2510   struct quota_format_type *qf_next ;
 2511};
 2512#line 386 "include/linux/quota.h"
 2513struct quota_info {
 2514   unsigned int flags ;
 2515   struct mutex dqio_mutex ;
 2516   struct mutex dqonoff_mutex ;
 2517   struct rw_semaphore dqptr_sem ;
 2518   struct inode *files[2U] ;
 2519   struct mem_dqinfo info[2U] ;
 2520   struct quota_format_ops  const  *ops[2U] ;
 2521};
 2522#line 576 "include/linux/fs.h"
 2523union __anonunion_arg_155 {
 2524   char *buf ;
 2525   void *data ;
 2526};
 2527#line 576 "include/linux/fs.h"
 2528struct __anonstruct_read_descriptor_t_154 {
 2529   size_t written ;
 2530   size_t count ;
 2531   union __anonunion_arg_155 arg ;
 2532   int error ;
 2533};
 2534#line 576 "include/linux/fs.h"
 2535typedef struct __anonstruct_read_descriptor_t_154 read_descriptor_t;
 2536#line 579 "include/linux/fs.h"
 2537struct address_space_operations {
 2538   int (*writepage)(struct page * , struct writeback_control * ) ;
 2539   int (*readpage)(struct file * , struct page * ) ;
 2540   int (*writepages)(struct address_space * , struct writeback_control * ) ;
 2541   int (*set_page_dirty)(struct page * ) ;
 2542   int (*readpages)(struct file * , struct address_space * , struct list_head * ,
 2543                    unsigned int  ) ;
 2544   int (*write_begin)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 2545                      unsigned int  , struct page ** , void ** ) ;
 2546   int (*write_end)(struct file * , struct address_space * , loff_t  , unsigned int  ,
 2547                    unsigned int  , struct page * , void * ) ;
 2548   sector_t (*bmap)(struct address_space * , sector_t  ) ;
 2549   void (*invalidatepage)(struct page * , unsigned long  ) ;
 2550   int (*releasepage)(struct page * , gfp_t  ) ;
 2551   void (*freepage)(struct page * ) ;
 2552   ssize_t (*direct_IO)(int  , struct kiocb * , struct iovec  const  * , loff_t  ,
 2553                        unsigned long  ) ;
 2554   int (*get_xip_mem)(struct address_space * , unsigned long  , int  , void ** , unsigned long * ) ;
 2555   int (*migratepage)(struct address_space * , struct page * , struct page * ) ;
 2556   int (*launder_page)(struct page * ) ;
 2557   int (*is_partially_uptodate)(struct page * , read_descriptor_t * , unsigned long  ) ;
 2558   int (*error_remove_page)(struct address_space * , struct page * ) ;
 2559};
 2560#line 630
 2561struct backing_dev_info;
 2562#line 630
 2563struct backing_dev_info;
 2564#line 631 "include/linux/fs.h"
 2565struct address_space {
 2566   struct inode *host ;
 2567   struct radix_tree_root page_tree ;
 2568   spinlock_t tree_lock ;
 2569   unsigned int i_mmap_writable ;
 2570   struct prio_tree_root i_mmap ;
 2571   struct list_head i_mmap_nonlinear ;
 2572   struct mutex i_mmap_mutex ;
 2573   unsigned long nrpages ;
 2574   unsigned long writeback_index ;
 2575   struct address_space_operations  const  *a_ops ;
 2576   unsigned long flags ;
 2577   struct backing_dev_info *backing_dev_info ;
 2578   spinlock_t private_lock ;
 2579   struct list_head private_list ;
 2580   struct address_space *assoc_mapping ;
 2581};
 2582#line 652
 2583struct hd_struct;
 2584#line 652
 2585struct hd_struct;
 2586#line 652
 2587struct gendisk;
 2588#line 652
 2589struct gendisk;
 2590#line 652 "include/linux/fs.h"
 2591struct block_device {
 2592   dev_t bd_dev ;
 2593   int bd_openers ;
 2594   struct inode *bd_inode ;
 2595   struct super_block *bd_super ;
 2596   struct mutex bd_mutex ;
 2597   struct list_head bd_inodes ;
 2598   void *bd_claiming ;
 2599   void *bd_holder ;
 2600   int bd_holders ;
 2601   bool bd_write_holder ;
 2602   struct list_head bd_holder_disks ;
 2603   struct block_device *bd_contains ;
 2604   unsigned int bd_block_size ;
 2605   struct hd_struct *bd_part ;
 2606   unsigned int bd_part_count ;
 2607   int bd_invalidated ;
 2608   struct gendisk *bd_disk ;
 2609   struct list_head bd_list ;
 2610   unsigned long bd_private ;
 2611   int bd_fsfreeze_count ;
 2612   struct mutex bd_fsfreeze_mutex ;
 2613};
 2614#line 723
 2615struct posix_acl;
 2616#line 723
 2617struct posix_acl;
 2618#line 724
 2619struct inode_operations;
 2620#line 724
 2621struct inode_operations;
 2622#line 724 "include/linux/fs.h"
 2623union __anonunion_ldv_22627_156 {
 2624   struct list_head i_dentry ;
 2625   struct rcu_head i_rcu ;
 2626};
 2627#line 724
 2628struct file_lock;
 2629#line 724
 2630struct file_lock;
 2631#line 724
 2632struct cdev;
 2633#line 724
 2634struct cdev;
 2635#line 724 "include/linux/fs.h"
 2636union __anonunion_ldv_22653_157 {
 2637   struct pipe_inode_info *i_pipe ;
 2638   struct block_device *i_bdev ;
 2639   struct cdev *i_cdev ;
 2640};
 2641#line 724 "include/linux/fs.h"
 2642struct inode {
 2643   umode_t i_mode ;
 2644   uid_t i_uid ;
 2645   gid_t i_gid ;
 2646   struct inode_operations  const  *i_op ;
 2647   struct super_block *i_sb ;
 2648   spinlock_t i_lock ;
 2649   unsigned int i_flags ;
 2650   unsigned long i_state ;
 2651   void *i_security ;
 2652   struct mutex i_mutex ;
 2653   unsigned long dirtied_when ;
 2654   struct hlist_node i_hash ;
 2655   struct list_head i_wb_list ;
 2656   struct list_head i_lru ;
 2657   struct list_head i_sb_list ;
 2658   union __anonunion_ldv_22627_156 ldv_22627 ;
 2659   unsigned long i_ino ;
 2660   atomic_t i_count ;
 2661   unsigned int i_nlink ;
 2662   dev_t i_rdev ;
 2663   unsigned int i_blkbits ;
 2664   u64 i_version ;
 2665   loff_t i_size ;
 2666   struct timespec i_atime ;
 2667   struct timespec i_mtime ;
 2668   struct timespec i_ctime ;
 2669   blkcnt_t i_blocks ;
 2670   unsigned short i_bytes ;
 2671   struct rw_semaphore i_alloc_sem ;
 2672   struct file_operations  const  *i_fop ;
 2673   struct file_lock *i_flock ;
 2674   struct address_space *i_mapping ;
 2675   struct address_space i_data ;
 2676   struct dquot *i_dquot[2U] ;
 2677   struct list_head i_devices ;
 2678   union __anonunion_ldv_22653_157 ldv_22653 ;
 2679   __u32 i_generation ;
 2680   __u32 i_fsnotify_mask ;
 2681   struct hlist_head i_fsnotify_marks ;
 2682   atomic_t i_readcount ;
 2683   atomic_t i_writecount ;
 2684   struct posix_acl *i_acl ;
 2685   struct posix_acl *i_default_acl ;
 2686   void *i_private ;
 2687};
 2688#line 902 "include/linux/fs.h"
 2689struct fown_struct {
 2690   rwlock_t lock ;
 2691   struct pid *pid ;
 2692   enum pid_type pid_type ;
 2693   uid_t uid ;
 2694   uid_t euid ;
 2695   int signum ;
 2696};
 2697#line 910 "include/linux/fs.h"
 2698struct file_ra_state {
 2699   unsigned long start ;
 2700   unsigned int size ;
 2701   unsigned int async_size ;
 2702   unsigned int ra_pages ;
 2703   unsigned int mmap_miss ;
 2704   loff_t prev_pos ;
 2705};
 2706#line 933 "include/linux/fs.h"
 2707union __anonunion_f_u_158 {
 2708   struct list_head fu_list ;
 2709   struct rcu_head fu_rcuhead ;
 2710};
 2711#line 933 "include/linux/fs.h"
 2712struct file {
 2713   union __anonunion_f_u_158 f_u ;
 2714   struct path f_path ;
 2715   struct file_operations  const  *f_op ;
 2716   spinlock_t f_lock ;
 2717   int f_sb_list_cpu ;
 2718   atomic_long_t f_count ;
 2719   unsigned int f_flags ;
 2720   fmode_t f_mode ;
 2721   loff_t f_pos ;
 2722   struct fown_struct f_owner ;
 2723   struct cred  const  *f_cred ;
 2724   struct file_ra_state f_ra ;
 2725   u64 f_version ;
 2726   void *f_security ;
 2727   void *private_data ;
 2728   struct list_head f_ep_links ;
 2729   struct address_space *f_mapping ;
 2730   unsigned long f_mnt_write_state ;
 2731};
 2732#line 1064
 2733struct files_struct;
 2734#line 1064
 2735struct files_struct;
 2736#line 1064 "include/linux/fs.h"
 2737typedef struct files_struct *fl_owner_t;
 2738#line 1065 "include/linux/fs.h"
 2739struct file_lock_operations {
 2740   void (*fl_copy_lock)(struct file_lock * , struct file_lock * ) ;
 2741   void (*fl_release_private)(struct file_lock * ) ;
 2742};
 2743#line 1070 "include/linux/fs.h"
 2744struct lock_manager_operations {
 2745   int (*fl_compare_owner)(struct file_lock * , struct file_lock * ) ;
 2746   void (*fl_notify)(struct file_lock * ) ;
 2747   int (*fl_grant)(struct file_lock * , struct file_lock * , int  ) ;
 2748   void (*fl_release_private)(struct file_lock * ) ;
 2749   void (*fl_break)(struct file_lock * ) ;
 2750   int (*fl_change)(struct file_lock ** , int  ) ;
 2751};
 2752#line 163 "include/linux/nfs.h"
 2753struct nlm_lockowner;
 2754#line 163
 2755struct nlm_lockowner;
 2756#line 164 "include/linux/nfs.h"
 2757struct nfs_lock_info {
 2758   u32 state ;
 2759   struct nlm_lockowner *owner ;
 2760   struct list_head list ;
 2761};
 2762#line 18 "include/linux/nfs_fs_i.h"
 2763struct nfs4_lock_state;
 2764#line 18
 2765struct nfs4_lock_state;
 2766#line 19 "include/linux/nfs_fs_i.h"
 2767struct nfs4_lock_info {
 2768   struct nfs4_lock_state *owner ;
 2769};
 2770#line 23 "include/linux/nfs_fs_i.h"
 2771struct __anonstruct_afs_160 {
 2772   struct list_head link ;
 2773   int state ;
 2774};
 2775#line 23 "include/linux/nfs_fs_i.h"
 2776union __anonunion_fl_u_159 {
 2777   struct nfs_lock_info nfs_fl ;
 2778   struct nfs4_lock_info nfs4_fl ;
 2779   struct __anonstruct_afs_160 afs ;
 2780};
 2781#line 23 "include/linux/nfs_fs_i.h"
 2782struct file_lock {
 2783   struct file_lock *fl_next ;
 2784   struct list_head fl_link ;
 2785   struct list_head fl_block ;
 2786   fl_owner_t fl_owner ;
 2787   unsigned char fl_flags ;
 2788   unsigned char fl_type ;
 2789   unsigned int fl_pid ;
 2790   struct pid *fl_nspid ;
 2791   wait_queue_head_t fl_wait ;
 2792   struct file *fl_file ;
 2793   loff_t fl_start ;
 2794   loff_t fl_end ;
 2795   struct fasync_struct *fl_fasync ;
 2796   unsigned long fl_break_time ;
 2797   struct file_lock_operations  const  *fl_ops ;
 2798   struct lock_manager_operations  const  *fl_lmops ;
 2799   union __anonunion_fl_u_159 fl_u ;
 2800};
 2801#line 1171 "include/linux/fs.h"
 2802struct fasync_struct {
 2803   spinlock_t fa_lock ;
 2804   int magic ;
 2805   int fa_fd ;
 2806   struct fasync_struct *fa_next ;
 2807   struct file *fa_file ;
 2808   struct rcu_head fa_rcu ;
 2809};
 2810#line 1363
 2811struct file_system_type;
 2812#line 1363
 2813struct file_system_type;
 2814#line 1363
 2815struct super_operations;
 2816#line 1363
 2817struct super_operations;
 2818#line 1363
 2819struct xattr_handler;
 2820#line 1363
 2821struct xattr_handler;
 2822#line 1363
 2823struct mtd_info;
 2824#line 1363
 2825struct mtd_info;
 2826#line 1363 "include/linux/fs.h"
 2827struct super_block {
 2828   struct list_head s_list ;
 2829   dev_t s_dev ;
 2830   unsigned char s_dirt ;
 2831   unsigned char s_blocksize_bits ;
 2832   unsigned long s_blocksize ;
 2833   loff_t s_maxbytes ;
 2834   struct file_system_type *s_type ;
 2835   struct super_operations  const  *s_op ;
 2836   struct dquot_operations  const  *dq_op ;
 2837   struct quotactl_ops  const  *s_qcop ;
 2838   struct export_operations  const  *s_export_op ;
 2839   unsigned long s_flags ;
 2840   unsigned long s_magic ;
 2841   struct dentry *s_root ;
 2842   struct rw_semaphore s_umount ;
 2843   struct mutex s_lock ;
 2844   int s_count ;
 2845   atomic_t s_active ;
 2846   void *s_security ;
 2847   struct xattr_handler  const  **s_xattr ;
 2848   struct list_head s_inodes ;
 2849   struct hlist_bl_head s_anon ;
 2850   struct list_head *s_files ;
 2851   struct list_head s_dentry_lru ;
 2852   int s_nr_dentry_unused ;
 2853   struct block_device *s_bdev ;
 2854   struct backing_dev_info *s_bdi ;
 2855   struct mtd_info *s_mtd ;
 2856   struct list_head s_instances ;
 2857   struct quota_info s_dquot ;
 2858   int s_frozen ;
 2859   wait_queue_head_t s_wait_unfrozen ;
 2860   char s_id[32U] ;
 2861   u8 s_uuid[16U] ;
 2862   void *s_fs_info ;
 2863   fmode_t s_mode ;
 2864   u32 s_time_gran ;
 2865   struct mutex s_vfs_rename_mutex ;
 2866   char *s_subtype ;
 2867   char *s_options ;
 2868   struct dentry_operations  const  *s_d_op ;
 2869   int cleancache_poolid ;
 2870};
 2871#line 1495 "include/linux/fs.h"
 2872struct fiemap_extent_info {
 2873   unsigned int fi_flags ;
 2874   unsigned int fi_extents_mapped ;
 2875   unsigned int fi_extents_max ;
 2876   struct fiemap_extent *fi_extents_start ;
 2877};
 2878#line 1534 "include/linux/fs.h"
 2879struct file_operations {
 2880   struct module *owner ;
 2881   loff_t (*llseek)(struct file * , loff_t  , int  ) ;
 2882   ssize_t (*read)(struct file * , char * , size_t  , loff_t * ) ;
 2883   ssize_t (*write)(struct file * , char const   * , size_t  , loff_t * ) ;
 2884   ssize_t (*aio_read)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 2885                       loff_t  ) ;
 2886   ssize_t (*aio_write)(struct kiocb * , struct iovec  const  * , unsigned long  ,
 2887                        loff_t  ) ;
 2888   int (*readdir)(struct file * , void * , int (*)(void * , char const   * , int  ,
 2889                                                   loff_t  , u64  , unsigned int  ) ) ;
 2890   unsigned int (*poll)(struct file * , struct poll_table_struct * ) ;
 2891   long (*unlocked_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 2892   long (*compat_ioctl)(struct file * , unsigned int  , unsigned long  ) ;
 2893   int (*mmap)(struct file * , struct vm_area_struct * ) ;
 2894   int (*open)(struct inode * , struct file * ) ;
 2895   int (*flush)(struct file * , fl_owner_t  ) ;
 2896   int (*release)(struct inode * , struct file * ) ;
 2897   int (*fsync)(struct file * , int  ) ;
 2898   int (*aio_fsync)(struct kiocb * , int  ) ;
 2899   int (*fasync)(int  , struct file * , int  ) ;
 2900   int (*lock)(struct file * , int  , struct file_lock * ) ;
 2901   ssize_t (*sendpage)(struct file * , struct page * , int  , size_t  , loff_t * ,
 2902                       int  ) ;
 2903   unsigned long (*get_unmapped_area)(struct file * , unsigned long  , unsigned long  ,
 2904                                      unsigned long  , unsigned long  ) ;
 2905   int (*check_flags)(int  ) ;
 2906   int (*flock)(struct file * , int  , struct file_lock * ) ;
 2907   ssize_t (*splice_write)(struct pipe_inode_info * , struct file * , loff_t * , size_t  ,
 2908                           unsigned int  ) ;
 2909   ssize_t (*splice_read)(struct file * , loff_t * , struct pipe_inode_info * , size_t  ,
 2910                          unsigned int  ) ;
 2911   int (*setlease)(struct file * , long  , struct file_lock ** ) ;
 2912   long (*fallocate)(struct file * , int  , loff_t  , loff_t  ) ;
 2913};
 2914#line 1574 "include/linux/fs.h"
 2915struct inode_operations {
 2916   struct dentry *(*lookup)(struct inode * , struct dentry * , struct nameidata * ) ;
 2917   void *(*follow_link)(struct dentry * , struct nameidata * ) ;
 2918   int (*permission)(struct inode * , int  , unsigned int  ) ;
 2919   int (*check_acl)(struct inode * , int  , unsigned int  ) ;
 2920   int (*readlink)(struct dentry * , char * , int  ) ;
 2921   void (*put_link)(struct dentry * , struct nameidata * , void * ) ;
 2922   int (*create)(struct inode * , struct dentry * , int  , struct nameidata * ) ;
 2923   int (*link)(struct dentry * , struct inode * , struct dentry * ) ;
 2924   int (*unlink)(struct inode * , struct dentry * ) ;
 2925   int (*symlink)(struct inode * , struct dentry * , char const   * ) ;
 2926   int (*mkdir)(struct inode * , struct dentry * , int  ) ;
 2927   int (*rmdir)(struct inode * , struct dentry * ) ;
 2928   int (*mknod)(struct inode * , struct dentry * , int  , dev_t  ) ;
 2929   int (*rename)(struct inode * , struct dentry * , struct inode * , struct dentry * ) ;
 2930   void (*truncate)(struct inode * ) ;
 2931   int (*setattr)(struct dentry * , struct iattr * ) ;
 2932   int (*getattr)(struct vfsmount * , struct dentry * , struct kstat * ) ;
 2933   int (*setxattr)(struct dentry * , char const   * , void const   * , size_t  , int  ) ;
 2934   ssize_t (*getxattr)(struct dentry * , char const   * , void * , size_t  ) ;
 2935   ssize_t (*listxattr)(struct dentry * , char * , size_t  ) ;
 2936   int (*removexattr)(struct dentry * , char const   * ) ;
 2937   void (*truncate_range)(struct inode * , loff_t  , loff_t  ) ;
 2938   int (*fiemap)(struct inode * , struct fiemap_extent_info * , u64  , u64  ) ;
 2939};
 2940#line 1620 "include/linux/fs.h"
 2941struct super_operations {
 2942   struct inode *(*alloc_inode)(struct super_block * ) ;
 2943   void (*destroy_inode)(struct inode * ) ;
 2944   void (*dirty_inode)(struct inode * , int  ) ;
 2945   int (*write_inode)(struct inode * , struct writeback_control * ) ;
 2946   int (*drop_inode)(struct inode * ) ;
 2947   void (*evict_inode)(struct inode * ) ;
 2948   void (*put_super)(struct super_block * ) ;
 2949   void (*write_super)(struct super_block * ) ;
 2950   int (*sync_fs)(struct super_block * , int  ) ;
 2951   int (*freeze_fs)(struct super_block * ) ;
 2952   int (*unfreeze_fs)(struct super_block * ) ;
 2953   int (*statfs)(struct dentry * , struct kstatfs * ) ;
 2954   int (*remount_fs)(struct super_block * , int * , char * ) ;
 2955   void (*umount_begin)(struct super_block * ) ;
 2956   int (*show_options)(struct seq_file * , struct vfsmount * ) ;
 2957   int (*show_devname)(struct seq_file * , struct vfsmount * ) ;
 2958   int (*show_path)(struct seq_file * , struct vfsmount * ) ;
 2959   int (*show_stats)(struct seq_file * , struct vfsmount * ) ;
 2960   ssize_t (*quota_read)(struct super_block * , int  , char * , size_t  , loff_t  ) ;
 2961   ssize_t (*quota_write)(struct super_block * , int  , char const   * , size_t  ,
 2962                          loff_t  ) ;
 2963   int (*bdev_try_to_free_page)(struct super_block * , struct page * , gfp_t  ) ;
 2964};
 2965#line 1801 "include/linux/fs.h"
 2966struct file_system_type {
 2967   char const   *name ;
 2968   int fs_flags ;
 2969   struct dentry *(*mount)(struct file_system_type * , int  , char const   * , void * ) ;
 2970   void (*kill_sb)(struct super_block * ) ;
 2971   struct module *owner ;
 2972   struct file_system_type *next ;
 2973   struct list_head fs_supers ;
 2974   struct lock_class_key s_lock_key ;
 2975   struct lock_class_key s_umount_key ;
 2976   struct lock_class_key s_vfs_rename_key ;
 2977   struct lock_class_key i_lock_key ;
 2978   struct lock_class_key i_mutex_key ;
 2979   struct lock_class_key i_mutex_dir_key ;
 2980   struct lock_class_key i_alloc_sem_key ;
 2981};
 2982#line 44 "include/linux/aio_abi.h"
 2983struct io_event {
 2984   __u64 data ;
 2985   __u64 obj ;
 2986   __s64 res ;
 2987   __s64 res2 ;
 2988};
 2989#line 7 "include/asm-generic/cputime.h"
 2990typedef unsigned long cputime_t;
 2991#line 26
 2992struct siginfo;
 2993#line 26
 2994struct siginfo;
 2995#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 2996struct __anonstruct_sigset_t_161 {
 2997   unsigned long sig[1U] ;
 2998};
 2999#line 32 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 3000typedef struct __anonstruct_sigset_t_161 sigset_t;
 3001#line 17 "include/asm-generic/signal-defs.h"
 3002typedef void __signalfn_t(int  );
 3003#line 18 "include/asm-generic/signal-defs.h"
 3004typedef __signalfn_t *__sighandler_t;
 3005#line 20 "include/asm-generic/signal-defs.h"
 3006typedef void __restorefn_t(void);
 3007#line 21 "include/asm-generic/signal-defs.h"
 3008typedef __restorefn_t *__sigrestore_t;
 3009#line 126 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 3010struct sigaction {
 3011   __sighandler_t sa_handler ;
 3012   unsigned long sa_flags ;
 3013   __sigrestore_t sa_restorer ;
 3014   sigset_t sa_mask ;
 3015};
 3016#line 173 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 3017struct k_sigaction {
 3018   struct sigaction sa ;
 3019};
 3020#line 185 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/signal.h"
 3021union sigval {
 3022   int sival_int ;
 3023   void *sival_ptr ;
 3024};
 3025#line 10 "include/asm-generic/siginfo.h"
 3026typedef union sigval sigval_t;
 3027#line 11 "include/asm-generic/siginfo.h"
 3028struct __anonstruct__kill_163 {
 3029   __kernel_pid_t _pid ;
 3030   __kernel_uid32_t _uid ;
 3031};
 3032#line 11 "include/asm-generic/siginfo.h"
 3033struct __anonstruct__timer_164 {
 3034   __kernel_timer_t _tid ;
 3035   int _overrun ;
 3036   char _pad[0U] ;
 3037   sigval_t _sigval ;
 3038   int _sys_private ;
 3039};
 3040#line 11 "include/asm-generic/siginfo.h"
 3041struct __anonstruct__rt_165 {
 3042   __kernel_pid_t _pid ;
 3043   __kernel_uid32_t _uid ;
 3044   sigval_t _sigval ;
 3045};
 3046#line 11 "include/asm-generic/siginfo.h"
 3047struct __anonstruct__sigchld_166 {
 3048   __kernel_pid_t _pid ;
 3049   __kernel_uid32_t _uid ;
 3050   int _status ;
 3051   __kernel_clock_t _utime ;
 3052   __kernel_clock_t _stime ;
 3053};
 3054#line 11 "include/asm-generic/siginfo.h"
 3055struct __anonstruct__sigfault_167 {
 3056   void *_addr ;
 3057   short _addr_lsb ;
 3058};
 3059#line 11 "include/asm-generic/siginfo.h"
 3060struct __anonstruct__sigpoll_168 {
 3061   long _band ;
 3062   int _fd ;
 3063};
 3064#line 11 "include/asm-generic/siginfo.h"
 3065union __anonunion__sifields_162 {
 3066   int _pad[28U] ;
 3067   struct __anonstruct__kill_163 _kill ;
 3068   struct __anonstruct__timer_164 _timer ;
 3069   struct __anonstruct__rt_165 _rt ;
 3070   struct __anonstruct__sigchld_166 _sigchld ;
 3071   struct __anonstruct__sigfault_167 _sigfault ;
 3072   struct __anonstruct__sigpoll_168 _sigpoll ;
 3073};
 3074#line 11 "include/asm-generic/siginfo.h"
 3075struct siginfo {
 3076   int si_signo ;
 3077   int si_errno ;
 3078   int si_code ;
 3079   union __anonunion__sifields_162 _sifields ;
 3080};
 3081#line 94 "include/asm-generic/siginfo.h"
 3082typedef struct siginfo siginfo_t;
 3083#line 24 "include/linux/signal.h"
 3084struct sigpending {
 3085   struct list_head list ;
 3086   sigset_t signal ;
 3087};
 3088#line 90 "include/linux/proportions.h"
 3089struct prop_local_single {
 3090   unsigned long events ;
 3091   unsigned long period ;
 3092   int shift ;
 3093   spinlock_t lock ;
 3094};
 3095#line 10 "include/linux/seccomp.h"
 3096struct __anonstruct_seccomp_t_171 {
 3097   int mode ;
 3098};
 3099#line 10 "include/linux/seccomp.h"
 3100typedef struct __anonstruct_seccomp_t_171 seccomp_t;
 3101#line 38 "include/linux/rtmutex.h"
 3102struct rt_mutex_waiter;
 3103#line 38
 3104struct rt_mutex_waiter;
 3105#line 41 "include/linux/resource.h"
 3106struct rlimit {
 3107   unsigned long rlim_cur ;
 3108   unsigned long rlim_max ;
 3109};
 3110#line 85 "include/linux/resource.h"
 3111struct task_io_accounting {
 3112   u64 rchar ;
 3113   u64 wchar ;
 3114   u64 syscr ;
 3115   u64 syscw ;
 3116   u64 read_bytes ;
 3117   u64 write_bytes ;
 3118   u64 cancelled_write_bytes ;
 3119};
 3120#line 45 "include/linux/task_io_accounting.h"
 3121struct latency_record {
 3122   unsigned long backtrace[12U] ;
 3123   unsigned int count ;
 3124   unsigned long time ;
 3125   unsigned long max ;
 3126};
 3127#line 29 "include/linux/key.h"
 3128typedef int32_t key_serial_t;
 3129#line 32 "include/linux/key.h"
 3130typedef uint32_t key_perm_t;
 3131#line 33
 3132struct key;
 3133#line 33
 3134struct key;
 3135#line 34
 3136struct signal_struct;
 3137#line 34
 3138struct signal_struct;
 3139#line 35
 3140struct key_type;
 3141#line 35
 3142struct key_type;
 3143#line 37
 3144struct keyring_list;
 3145#line 37
 3146struct keyring_list;
 3147#line 115
 3148struct key_user;
 3149#line 115
 3150struct key_user;
 3151#line 115 "include/linux/key.h"
 3152union __anonunion_ldv_25207_172 {
 3153   time_t expiry ;
 3154   time_t revoked_at ;
 3155};
 3156#line 115 "include/linux/key.h"
 3157union __anonunion_type_data_173 {
 3158   struct list_head link ;
 3159   unsigned long x[2U] ;
 3160   void *p[2U] ;
 3161   int reject_error ;
 3162};
 3163#line 115 "include/linux/key.h"
 3164union __anonunion_payload_174 {
 3165   unsigned long value ;
 3166   void *rcudata ;
 3167   void *data ;
 3168   struct keyring_list *subscriptions ;
 3169};
 3170#line 115 "include/linux/key.h"
 3171struct key {
 3172   atomic_t usage ;
 3173   key_serial_t serial ;
 3174   struct rb_node serial_node ;
 3175   struct key_type *type ;
 3176   struct rw_semaphore sem ;
 3177   struct key_user *user ;
 3178   void *security ;
 3179   union __anonunion_ldv_25207_172 ldv_25207 ;
 3180   uid_t uid ;
 3181   gid_t gid ;
 3182   key_perm_t perm ;
 3183   unsigned short quotalen ;
 3184   unsigned short datalen ;
 3185   unsigned long flags ;
 3186   char *description ;
 3187   union __anonunion_type_data_173 type_data ;
 3188   union __anonunion_payload_174 payload ;
 3189};
 3190#line 310
 3191struct audit_context;
 3192#line 310
 3193struct audit_context;
 3194#line 27 "include/linux/selinux.h"
 3195struct group_info {
 3196   atomic_t usage ;
 3197   int ngroups ;
 3198   int nblocks ;
 3199   gid_t small_block[32U] ;
 3200   gid_t *blocks[0U] ;
 3201};
 3202#line 77 "include/linux/cred.h"
 3203struct thread_group_cred {
 3204   atomic_t usage ;
 3205   pid_t tgid ;
 3206   spinlock_t lock ;
 3207   struct key *session_keyring ;
 3208   struct key *process_keyring ;
 3209   struct rcu_head rcu ;
 3210};
 3211#line 91 "include/linux/cred.h"
 3212struct cred {
 3213   atomic_t usage ;
 3214   atomic_t subscribers ;
 3215   void *put_addr ;
 3216   unsigned int magic ;
 3217   uid_t uid ;
 3218   gid_t gid ;
 3219   uid_t suid ;
 3220   gid_t sgid ;
 3221   uid_t euid ;
 3222   gid_t egid ;
 3223   uid_t fsuid ;
 3224   gid_t fsgid ;
 3225   unsigned int securebits ;
 3226   kernel_cap_t cap_inheritable ;
 3227   kernel_cap_t cap_permitted ;
 3228   kernel_cap_t cap_effective ;
 3229   kernel_cap_t cap_bset ;
 3230   unsigned char jit_keyring ;
 3231   struct key *thread_keyring ;
 3232   struct key *request_key_auth ;
 3233   struct thread_group_cred *tgcred ;
 3234   void *security ;
 3235   struct user_struct *user ;
 3236   struct user_namespace *user_ns ;
 3237   struct group_info *group_info ;
 3238   struct rcu_head rcu ;
 3239};
 3240#line 264
 3241struct futex_pi_state;
 3242#line 264
 3243struct futex_pi_state;
 3244#line 265
 3245struct robust_list_head;
 3246#line 265
 3247struct robust_list_head;
 3248#line 266
 3249struct bio_list;
 3250#line 266
 3251struct bio_list;
 3252#line 267
 3253struct fs_struct;
 3254#line 267
 3255struct fs_struct;
 3256#line 268
 3257struct perf_event_context;
 3258#line 268
 3259struct perf_event_context;
 3260#line 269
 3261struct blk_plug;
 3262#line 269
 3263struct blk_plug;
 3264#line 149 "include/linux/sched.h"
 3265struct cfs_rq;
 3266#line 149
 3267struct cfs_rq;
 3268#line 383
 3269struct kioctx;
 3270#line 383
 3271struct kioctx;
 3272#line 384 "include/linux/sched.h"
 3273union __anonunion_ki_obj_175 {
 3274   void *user ;
 3275   struct task_struct *tsk ;
 3276};
 3277#line 384
 3278struct eventfd_ctx;
 3279#line 384
 3280struct eventfd_ctx;
 3281#line 384 "include/linux/sched.h"
 3282struct kiocb {
 3283   struct list_head ki_run_list ;
 3284   unsigned long ki_flags ;
 3285   int ki_users ;
 3286   unsigned int ki_key ;
 3287   struct file *ki_filp ;
 3288   struct kioctx *ki_ctx ;
 3289   int (*ki_cancel)(struct kiocb * , struct io_event * ) ;
 3290   ssize_t (*ki_retry)(struct kiocb * ) ;
 3291   void (*ki_dtor)(struct kiocb * ) ;
 3292   union __anonunion_ki_obj_175 ki_obj ;
 3293   __u64 ki_user_data ;
 3294   loff_t ki_pos ;
 3295   void *private ;
 3296   unsigned short ki_opcode ;
 3297   size_t ki_nbytes ;
 3298   char *ki_buf ;
 3299   size_t ki_left ;
 3300   struct iovec ki_inline_vec ;
 3301   struct iovec *ki_iovec ;
 3302   unsigned long ki_nr_segs ;
 3303   unsigned long ki_cur_seg ;
 3304   struct list_head ki_list ;
 3305   struct eventfd_ctx *ki_eventfd ;
 3306};
 3307#line 161 "include/linux/aio.h"
 3308struct aio_ring_info {
 3309   unsigned long mmap_base ;
 3310   unsigned long mmap_size ;
 3311   struct page **ring_pages ;
 3312   spinlock_t ring_lock ;
 3313   long nr_pages ;
 3314   unsigned int nr ;
 3315   unsigned int tail ;
 3316   struct page *internal_pages[8U] ;
 3317};
 3318#line 177 "include/linux/aio.h"
 3319struct kioctx {
 3320   atomic_t users ;
 3321   int dead ;
 3322   struct mm_struct *mm ;
 3323   unsigned long user_id ;
 3324   struct hlist_node list ;
 3325   wait_queue_head_t wait ;
 3326   spinlock_t ctx_lock ;
 3327   int reqs_active ;
 3328   struct list_head active_reqs ;
 3329   struct list_head run_list ;
 3330   unsigned int max_reqs ;
 3331   struct aio_ring_info ring_info ;
 3332   struct delayed_work wq ;
 3333   struct rcu_head rcu_head ;
 3334};
 3335#line 404 "include/linux/sched.h"
 3336struct sighand_struct {
 3337   atomic_t count ;
 3338   struct k_sigaction action[64U] ;
 3339   spinlock_t siglock ;
 3340   wait_queue_head_t signalfd_wqh ;
 3341};
 3342#line 447 "include/linux/sched.h"
 3343struct pacct_struct {
 3344   int ac_flag ;
 3345   long ac_exitcode ;
 3346   unsigned long ac_mem ;
 3347   cputime_t ac_utime ;
 3348   cputime_t ac_stime ;
 3349   unsigned long ac_minflt ;
 3350   unsigned long ac_majflt ;
 3351};
 3352#line 455 "include/linux/sched.h"
 3353struct cpu_itimer {
 3354   cputime_t expires ;
 3355   cputime_t incr ;
 3356   u32 error ;
 3357   u32 incr_error ;
 3358};
 3359#line 462 "include/linux/sched.h"
 3360struct task_cputime {
 3361   cputime_t utime ;
 3362   cputime_t stime ;
 3363   unsigned long long sum_exec_runtime ;
 3364};
 3365#line 479 "include/linux/sched.h"
 3366struct thread_group_cputimer {
 3367   struct task_cputime cputime ;
 3368   int running ;
 3369   spinlock_t lock ;
 3370};
 3371#line 515
 3372struct autogroup;
 3373#line 515
 3374struct autogroup;
 3375#line 516
 3376struct tty_struct;
 3377#line 516
 3378struct tty_struct;
 3379#line 516
 3380struct taskstats;
 3381#line 516
 3382struct taskstats;
 3383#line 516
 3384struct tty_audit_buf;
 3385#line 516
 3386struct tty_audit_buf;
 3387#line 516 "include/linux/sched.h"
 3388struct signal_struct {
 3389   atomic_t sigcnt ;
 3390   atomic_t live ;
 3391   int nr_threads ;
 3392   wait_queue_head_t wait_chldexit ;
 3393   struct task_struct *curr_target ;
 3394   struct sigpending shared_pending ;
 3395   int group_exit_code ;
 3396   int notify_count ;
 3397   struct task_struct *group_exit_task ;
 3398   int group_stop_count ;
 3399   unsigned int flags ;
 3400   struct list_head posix_timers ;
 3401   struct hrtimer real_timer ;
 3402   struct pid *leader_pid ;
 3403   ktime_t it_real_incr ;
 3404   struct cpu_itimer it[2U] ;
 3405   struct thread_group_cputimer cputimer ;
 3406   struct task_cputime cputime_expires ;
 3407   struct list_head cpu_timers[3U] ;
 3408   struct pid *tty_old_pgrp ;
 3409   int leader ;
 3410   struct tty_struct *tty ;
 3411   struct autogroup *autogroup ;
 3412   cputime_t utime ;
 3413   cputime_t stime ;
 3414   cputime_t cutime ;
 3415   cputime_t cstime ;
 3416   cputime_t gtime ;
 3417   cputime_t cgtime ;
 3418   cputime_t prev_utime ;
 3419   cputime_t prev_stime ;
 3420   unsigned long nvcsw ;
 3421   unsigned long nivcsw ;
 3422   unsigned long cnvcsw ;
 3423   unsigned long cnivcsw ;
 3424   unsigned long min_flt ;
 3425   unsigned long maj_flt ;
 3426   unsigned long cmin_flt ;
 3427   unsigned long cmaj_flt ;
 3428   unsigned long inblock ;
 3429   unsigned long oublock ;
 3430   unsigned long cinblock ;
 3431   unsigned long coublock ;
 3432   unsigned long maxrss ;
 3433   unsigned long cmaxrss ;
 3434   struct task_io_accounting ioac ;
 3435   unsigned long long sum_sched_runtime ;
 3436   struct rlimit rlim[16U] ;
 3437   struct pacct_struct pacct ;
 3438   struct taskstats *stats ;
 3439   unsigned int audit_tty ;
 3440   struct tty_audit_buf *tty_audit_buf ;
 3441   struct rw_semaphore threadgroup_fork_lock ;
 3442   int oom_adj ;
 3443   int oom_score_adj ;
 3444   int oom_score_adj_min ;
 3445   struct mutex cred_guard_mutex ;
 3446};
 3447#line 683 "include/linux/sched.h"
 3448struct user_struct {
 3449   atomic_t __count ;
 3450   atomic_t processes ;
 3451   atomic_t files ;
 3452   atomic_t sigpending ;
 3453   atomic_t inotify_watches ;
 3454   atomic_t inotify_devs ;
 3455   atomic_t fanotify_listeners ;
 3456   atomic_long_t epoll_watches ;
 3457   unsigned long mq_bytes ;
 3458   unsigned long locked_shm ;
 3459   struct key *uid_keyring ;
 3460   struct key *session_keyring ;
 3461   struct hlist_node uidhash_node ;
 3462   uid_t uid ;
 3463   struct user_namespace *user_ns ;
 3464   atomic_long_t locked_vm ;
 3465};
 3466#line 728
 3467struct reclaim_state;
 3468#line 728
 3469struct reclaim_state;
 3470#line 729 "include/linux/sched.h"
 3471struct sched_info {
 3472   unsigned long pcount ;
 3473   unsigned long long run_delay ;
 3474   unsigned long long last_arrival ;
 3475   unsigned long long last_queued ;
 3476};
 3477#line 744 "include/linux/sched.h"
 3478struct task_delay_info {
 3479   spinlock_t lock ;
 3480   unsigned int flags ;
 3481   struct timespec blkio_start ;
 3482   struct timespec blkio_end ;
 3483   u64 blkio_delay ;
 3484   u64 swapin_delay ;
 3485   u32 blkio_count ;
 3486   u32 swapin_count ;
 3487   struct timespec freepages_start ;
 3488   struct timespec freepages_end ;
 3489   u64 freepages_delay ;
 3490   u32 freepages_count ;
 3491};
 3492#line 1037
 3493struct io_context;
 3494#line 1037
 3495struct io_context;
 3496#line 1060
 3497struct rq;
 3498#line 1060
 3499struct rq;
 3500#line 1061 "include/linux/sched.h"
 3501struct sched_class {
 3502   struct sched_class  const  *next ;
 3503   void (*enqueue_task)(struct rq * , struct task_struct * , int  ) ;
 3504   void (*dequeue_task)(struct rq * , struct task_struct * , int  ) ;
 3505   void (*yield_task)(struct rq * ) ;
 3506   bool (*yield_to_task)(struct rq * , struct task_struct * , bool  ) ;
 3507   void (*check_preempt_curr)(struct rq * , struct task_struct * , int  ) ;
 3508   struct task_struct *(*pick_next_task)(struct rq * ) ;
 3509   void (*put_prev_task)(struct rq * , struct task_struct * ) ;
 3510   int (*select_task_rq)(struct task_struct * , int  , int  ) ;
 3511   void (*pre_schedule)(struct rq * , struct task_struct * ) ;
 3512   void (*post_schedule)(struct rq * ) ;
 3513   void (*task_waking)(struct task_struct * ) ;
 3514   void (*task_woken)(struct rq * , struct task_struct * ) ;
 3515   void (*set_cpus_allowed)(struct task_struct * , struct cpumask  const  * ) ;
 3516   void (*rq_online)(struct rq * ) ;
 3517   void (*rq_offline)(struct rq * ) ;
 3518   void (*set_curr_task)(struct rq * ) ;
 3519   void (*task_tick)(struct rq * , struct task_struct * , int  ) ;
 3520   void (*task_fork)(struct task_struct * ) ;
 3521   void (*switched_from)(struct rq * , struct task_struct * ) ;
 3522   void (*switched_to)(struct rq * , struct task_struct * ) ;
 3523   void (*prio_changed)(struct rq * , struct task_struct * , int  ) ;
 3524   unsigned int (*get_rr_interval)(struct rq * , struct task_struct * ) ;
 3525   void (*task_move_group)(struct task_struct * , int  ) ;
 3526};
 3527#line 1127 "include/linux/sched.h"
 3528struct load_weight {
 3529   unsigned long weight ;
 3530   unsigned long inv_weight ;
 3531};
 3532#line 1132 "include/linux/sched.h"
 3533struct sched_statistics {
 3534   u64 wait_start ;
 3535   u64 wait_max ;
 3536   u64 wait_count ;
 3537   u64 wait_sum ;
 3538   u64 iowait_count ;
 3539   u64 iowait_sum ;
 3540   u64 sleep_start ;
 3541   u64 sleep_max ;
 3542   s64 sum_sleep_runtime ;
 3543   u64 block_start ;
 3544   u64 block_max ;
 3545   u64 exec_max ;
 3546   u64 slice_max ;
 3547   u64 nr_migrations_cold ;
 3548   u64 nr_failed_migrations_affine ;
 3549   u64 nr_failed_migrations_running ;
 3550   u64 nr_failed_migrations_hot ;
 3551   u64 nr_forced_migrations ;
 3552   u64 nr_wakeups ;
 3553   u64 nr_wakeups_sync ;
 3554   u64 nr_wakeups_migrate ;
 3555   u64 nr_wakeups_local ;
 3556   u64 nr_wakeups_remote ;
 3557   u64 nr_wakeups_affine ;
 3558   u64 nr_wakeups_affine_attempts ;
 3559   u64 nr_wakeups_passive ;
 3560   u64 nr_wakeups_idle ;
 3561};
 3562#line 1167 "include/linux/sched.h"
 3563struct sched_entity {
 3564   struct load_weight load ;
 3565   struct rb_node run_node ;
 3566   struct list_head group_node ;
 3567   unsigned int on_rq ;
 3568   u64 exec_start ;
 3569   u64 sum_exec_runtime ;
 3570   u64 vruntime ;
 3571   u64 prev_sum_exec_runtime ;
 3572   u64 nr_migrations ;
 3573   struct sched_statistics statistics ;
 3574   struct sched_entity *parent ;
 3575   struct cfs_rq *cfs_rq ;
 3576   struct cfs_rq *my_q ;
 3577};
 3578#line 1193
 3579struct rt_rq;
 3580#line 1193
 3581struct rt_rq;
 3582#line 1193 "include/linux/sched.h"
 3583struct sched_rt_entity {
 3584   struct list_head run_list ;
 3585   unsigned long timeout ;
 3586   unsigned int time_slice ;
 3587   int nr_cpus_allowed ;
 3588   struct sched_rt_entity *back ;
 3589   struct sched_rt_entity *parent ;
 3590   struct rt_rq *rt_rq ;
 3591   struct rt_rq *my_q ;
 3592};
 3593#line 1217
 3594struct mem_cgroup;
 3595#line 1217
 3596struct mem_cgroup;
 3597#line 1217 "include/linux/sched.h"
 3598struct memcg_batch_info {
 3599   int do_batch ;
 3600   struct mem_cgroup *memcg ;
 3601   unsigned long nr_pages ;
 3602   unsigned long memsw_nr_pages ;
 3603};
 3604#line 1569
 3605struct irqaction;
 3606#line 1569
 3607struct irqaction;
 3608#line 1569
 3609struct css_set;
 3610#line 1569
 3611struct css_set;
 3612#line 1569
 3613struct compat_robust_list_head;
 3614#line 1569
 3615struct compat_robust_list_head;
 3616#line 1569
 3617struct ftrace_ret_stack;
 3618#line 1569
 3619struct ftrace_ret_stack;
 3620#line 1569 "include/linux/sched.h"
 3621struct task_struct {
 3622   long volatile   state ;
 3623   void *stack ;
 3624   atomic_t usage ;
 3625   unsigned int flags ;
 3626   unsigned int ptrace ;
 3627   struct task_struct *wake_entry ;
 3628   int on_cpu ;
 3629   int on_rq ;
 3630   int prio ;
 3631   int static_prio ;
 3632   int normal_prio ;
 3633   unsigned int rt_priority ;
 3634   struct sched_class  const  *sched_class ;
 3635   struct sched_entity se ;
 3636   struct sched_rt_entity rt ;
 3637   struct hlist_head preempt_notifiers ;
 3638   unsigned char fpu_counter ;
 3639   unsigned int btrace_seq ;
 3640   unsigned int policy ;
 3641   cpumask_t cpus_allowed ;
 3642   struct sched_info sched_info ;
 3643   struct list_head tasks ;
 3644   struct plist_node pushable_tasks ;
 3645   struct mm_struct *mm ;
 3646   struct mm_struct *active_mm ;
 3647   unsigned char brk_randomized : 1 ;
 3648   int exit_state ;
 3649   int exit_code ;
 3650   int exit_signal ;
 3651   int pdeath_signal ;
 3652   unsigned int group_stop ;
 3653   unsigned int personality ;
 3654   unsigned char did_exec : 1 ;
 3655   unsigned char in_execve : 1 ;
 3656   unsigned char in_iowait : 1 ;
 3657   unsigned char sched_reset_on_fork : 1 ;
 3658   unsigned char sched_contributes_to_load : 1 ;
 3659   pid_t pid ;
 3660   pid_t tgid ;
 3661   unsigned long stack_canary ;
 3662   struct task_struct *real_parent ;
 3663   struct task_struct *parent ;
 3664   struct list_head children ;
 3665   struct list_head sibling ;
 3666   struct task_struct *group_leader ;
 3667   struct list_head ptraced ;
 3668   struct list_head ptrace_entry ;
 3669   struct pid_link pids[3U] ;
 3670   struct list_head thread_group ;
 3671   struct completion *vfork_done ;
 3672   int *set_child_tid ;
 3673   int *clear_child_tid ;
 3674   cputime_t utime ;
 3675   cputime_t stime ;
 3676   cputime_t utimescaled ;
 3677   cputime_t stimescaled ;
 3678   cputime_t gtime ;
 3679   cputime_t prev_utime ;
 3680   cputime_t prev_stime ;
 3681   unsigned long nvcsw ;
 3682   unsigned long nivcsw ;
 3683   struct timespec start_time ;
 3684   struct timespec real_start_time ;
 3685   unsigned long min_flt ;
 3686   unsigned long maj_flt ;
 3687   struct task_cputime cputime_expires ;
 3688   struct list_head cpu_timers[3U] ;
 3689   struct cred  const  *real_cred ;
 3690   struct cred  const  *cred ;
 3691   struct cred *replacement_session_keyring ;
 3692   char comm[16U] ;
 3693   int link_count ;
 3694   int total_link_count ;
 3695   struct sysv_sem sysvsem ;
 3696   unsigned long last_switch_count ;
 3697   struct thread_struct thread ;
 3698   struct fs_struct *fs ;
 3699   struct files_struct *files ;
 3700   struct nsproxy *nsproxy ;
 3701   struct signal_struct *signal ;
 3702   struct sighand_struct *sighand ;
 3703   sigset_t blocked ;
 3704   sigset_t real_blocked ;
 3705   sigset_t saved_sigmask ;
 3706   struct sigpending pending ;
 3707   unsigned long sas_ss_sp ;
 3708   size_t sas_ss_size ;
 3709   int (*notifier)(void * ) ;
 3710   void *notifier_data ;
 3711   sigset_t *notifier_mask ;
 3712   struct audit_context *audit_context ;
 3713   uid_t loginuid ;
 3714   unsigned int sessionid ;
 3715   seccomp_t seccomp ;
 3716   u32 parent_exec_id ;
 3717   u32 self_exec_id ;
 3718   spinlock_t alloc_lock ;
 3719   struct irqaction *irqaction ;
 3720   raw_spinlock_t pi_lock ;
 3721   struct plist_head pi_waiters ;
 3722   struct rt_mutex_waiter *pi_blocked_on ;
 3723   struct mutex_waiter *blocked_on ;
 3724   unsigned int irq_events ;
 3725   unsigned long hardirq_enable_ip ;
 3726   unsigned long hardirq_disable_ip ;
 3727   unsigned int hardirq_enable_event ;
 3728   unsigned int hardirq_disable_event ;
 3729   int hardirqs_enabled ;
 3730   int hardirq_context ;
 3731   unsigned long softirq_disable_ip ;
 3732   unsigned long softirq_enable_ip ;
 3733   unsigned int softirq_disable_event ;
 3734   unsigned int softirq_enable_event ;
 3735   int softirqs_enabled ;
 3736   int softirq_context ;
 3737   u64 curr_chain_key ;
 3738   int lockdep_depth ;
 3739   unsigned int lockdep_recursion ;
 3740   struct held_lock held_locks[48U] ;
 3741   gfp_t lockdep_reclaim_gfp ;
 3742   void *journal_info ;
 3743   struct bio_list *bio_list ;
 3744   struct blk_plug *plug ;
 3745   struct reclaim_state *reclaim_state ;
 3746   struct backing_dev_info *backing_dev_info ;
 3747   struct io_context *io_context ;
 3748   unsigned long ptrace_message ;
 3749   siginfo_t *last_siginfo ;
 3750   struct task_io_accounting ioac ;
 3751   u64 acct_rss_mem1 ;
 3752   u64 acct_vm_mem1 ;
 3753   cputime_t acct_timexpd ;
 3754   nodemask_t mems_allowed ;
 3755   int mems_allowed_change_disable ;
 3756   int cpuset_mem_spread_rotor ;
 3757   int cpuset_slab_spread_rotor ;
 3758   struct css_set *cgroups ;
 3759   struct list_head cg_list ;
 3760   struct robust_list_head *robust_list ;
 3761   struct compat_robust_list_head *compat_robust_list ;
 3762   struct list_head pi_state_list ;
 3763   struct futex_pi_state *pi_state_cache ;
 3764   struct perf_event_context *perf_event_ctxp[2U] ;
 3765   struct mutex perf_event_mutex ;
 3766   struct list_head perf_event_list ;
 3767   struct mempolicy *mempolicy ;
 3768   short il_next ;
 3769   short pref_node_fork ;
 3770   atomic_t fs_excl ;
 3771   struct rcu_head rcu ;
 3772   struct pipe_inode_info *splice_pipe ;
 3773   struct task_delay_info *delays ;
 3774   int make_it_fail ;
 3775   struct prop_local_single dirties ;
 3776   int latency_record_count ;
 3777   struct latency_record latency_record[32U] ;
 3778   unsigned long timer_slack_ns ;
 3779   unsigned long default_timer_slack_ns ;
 3780   struct list_head *scm_work_list ;
 3781   int curr_ret_stack ;
 3782   struct ftrace_ret_stack *ret_stack ;
 3783   unsigned long long ftrace_timestamp ;
 3784   atomic_t trace_overrun ;
 3785   atomic_t tracing_graph_pause ;
 3786   unsigned long trace ;
 3787   unsigned long trace_recursion ;
 3788   struct memcg_batch_info memcg_batch ;
 3789   atomic_t ptrace_bp_refcnt ;
 3790};
 3791#line 37 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 3792typedef s32 compat_long_t;
 3793#line 196 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 3794typedef u32 compat_uptr_t;
 3795#line 205 "include/linux/compat.h"
 3796struct compat_robust_list {
 3797   compat_uptr_t next ;
 3798};
 3799#line 209 "include/linux/compat.h"
 3800struct compat_robust_list_head {
 3801   struct compat_robust_list list ;
 3802   compat_long_t futex_offset ;
 3803   compat_uptr_t list_op_pending ;
 3804};
 3805#line 563 "include/linux/compat.h"
 3806struct ethtool_cmd {
 3807   __u32 cmd ;
 3808   __u32 supported ;
 3809   __u32 advertising ;
 3810   __u16 speed ;
 3811   __u8 duplex ;
 3812   __u8 port ;
 3813   __u8 phy_address ;
 3814   __u8 transceiver ;
 3815   __u8 autoneg ;
 3816   __u8 mdio_support ;
 3817   __u32 maxtxpkt ;
 3818   __u32 maxrxpkt ;
 3819   __u16 speed_hi ;
 3820   __u8 eth_tp_mdix ;
 3821   __u8 reserved2 ;
 3822   __u32 lp_advertising ;
 3823   __u32 reserved[2U] ;
 3824};
 3825#line 61 "include/linux/ethtool.h"
 3826struct ethtool_drvinfo {
 3827   __u32 cmd ;
 3828   char driver[32U] ;
 3829   char version[32U] ;
 3830   char fw_version[32U] ;
 3831   char bus_info[32U] ;
 3832   char reserved1[32U] ;
 3833   char reserved2[12U] ;
 3834   __u32 n_priv_flags ;
 3835   __u32 n_stats ;
 3836   __u32 testinfo_len ;
 3837   __u32 eedump_len ;
 3838   __u32 regdump_len ;
 3839};
 3840#line 87 "include/linux/ethtool.h"
 3841struct ethtool_wolinfo {
 3842   __u32 cmd ;
 3843   __u32 supported ;
 3844   __u32 wolopts ;
 3845   __u8 sopass[6U] ;
 3846};
 3847#line 102 "include/linux/ethtool.h"
 3848struct ethtool_regs {
 3849   __u32 cmd ;
 3850   __u32 version ;
 3851   __u32 len ;
 3852   __u8 data[0U] ;
 3853};
 3854#line 110 "include/linux/ethtool.h"
 3855struct ethtool_eeprom {
 3856   __u32 cmd ;
 3857   __u32 magic ;
 3858   __u32 offset ;
 3859   __u32 len ;
 3860   __u8 data[0U] ;
 3861};
 3862#line 119 "include/linux/ethtool.h"
 3863struct ethtool_coalesce {
 3864   __u32 cmd ;
 3865   __u32 rx_coalesce_usecs ;
 3866   __u32 rx_max_coalesced_frames ;
 3867   __u32 rx_coalesce_usecs_irq ;
 3868   __u32 rx_max_coalesced_frames_irq ;
 3869   __u32 tx_coalesce_usecs ;
 3870   __u32 tx_max_coalesced_frames ;
 3871   __u32 tx_coalesce_usecs_irq ;
 3872   __u32 tx_max_coalesced_frames_irq ;
 3873   __u32 stats_block_coalesce_usecs ;
 3874   __u32 use_adaptive_rx_coalesce ;
 3875   __u32 use_adaptive_tx_coalesce ;
 3876   __u32 pkt_rate_low ;
 3877   __u32 rx_coalesce_usecs_low ;
 3878   __u32 rx_max_coalesced_frames_low ;
 3879   __u32 tx_coalesce_usecs_low ;
 3880   __u32 tx_max_coalesced_frames_low ;
 3881   __u32 pkt_rate_high ;
 3882   __u32 rx_coalesce_usecs_high ;
 3883   __u32 rx_max_coalesced_frames_high ;
 3884   __u32 tx_coalesce_usecs_high ;
 3885   __u32 tx_max_coalesced_frames_high ;
 3886   __u32 rate_sample_interval ;
 3887};
 3888#line 215 "include/linux/ethtool.h"
 3889struct ethtool_ringparam {
 3890   __u32 cmd ;
 3891   __u32 rx_max_pending ;
 3892   __u32 rx_mini_max_pending ;
 3893   __u32 rx_jumbo_max_pending ;
 3894   __u32 tx_max_pending ;
 3895   __u32 rx_pending ;
 3896   __u32 rx_mini_pending ;
 3897   __u32 rx_jumbo_pending ;
 3898   __u32 tx_pending ;
 3899};
 3900#line 237 "include/linux/ethtool.h"
 3901struct ethtool_channels {
 3902   __u32 cmd ;
 3903   __u32 max_rx ;
 3904   __u32 max_tx ;
 3905   __u32 max_other ;
 3906   __u32 max_combined ;
 3907   __u32 rx_count ;
 3908   __u32 tx_count ;
 3909   __u32 other_count ;
 3910   __u32 combined_count ;
 3911};
 3912#line 265 "include/linux/ethtool.h"
 3913struct ethtool_pauseparam {
 3914   __u32 cmd ;
 3915   __u32 autoneg ;
 3916   __u32 rx_pause ;
 3917   __u32 tx_pause ;
 3918};
 3919#line 314 "include/linux/ethtool.h"
 3920struct ethtool_test {
 3921   __u32 cmd ;
 3922   __u32 flags ;
 3923   __u32 reserved ;
 3924   __u32 len ;
 3925   __u64 data[0U] ;
 3926};
 3927#line 326 "include/linux/ethtool.h"
 3928struct ethtool_stats {
 3929   __u32 cmd ;
 3930   __u32 n_stats ;
 3931   __u64 data[0U] ;
 3932};
 3933#line 347 "include/linux/ethtool.h"
 3934struct ethtool_tcpip4_spec {
 3935   __be32 ip4src ;
 3936   __be32 ip4dst ;
 3937   __be16 psrc ;
 3938   __be16 pdst ;
 3939   __u8 tos ;
 3940};
 3941#line 380 "include/linux/ethtool.h"
 3942struct ethtool_ah_espip4_spec {
 3943   __be32 ip4src ;
 3944   __be32 ip4dst ;
 3945   __be32 spi ;
 3946   __u8 tos ;
 3947};
 3948#line 396 "include/linux/ethtool.h"
 3949struct ethtool_usrip4_spec {
 3950   __be32 ip4src ;
 3951   __be32 ip4dst ;
 3952   __be32 l4_4_bytes ;
 3953   __u8 tos ;
 3954   __u8 ip_ver ;
 3955   __u8 proto ;
 3956};
 3957#line 416 "include/linux/ethtool.h"
 3958union ethtool_flow_union {
 3959   struct ethtool_tcpip4_spec tcp_ip4_spec ;
 3960   struct ethtool_tcpip4_spec udp_ip4_spec ;
 3961   struct ethtool_tcpip4_spec sctp_ip4_spec ;
 3962   struct ethtool_ah_espip4_spec ah_ip4_spec ;
 3963   struct ethtool_ah_espip4_spec esp_ip4_spec ;
 3964   struct ethtool_usrip4_spec usr_ip4_spec ;
 3965   struct ethhdr ether_spec ;
 3966   __u8 hdata[60U] ;
 3967};
 3968#line 427 "include/linux/ethtool.h"
 3969struct ethtool_flow_ext {
 3970   __be16 vlan_etype ;
 3971   __be16 vlan_tci ;
 3972   __be32 data[2U] ;
 3973};
 3974#line 433 "include/linux/ethtool.h"
 3975struct ethtool_rx_flow_spec {
 3976   __u32 flow_type ;
 3977   union ethtool_flow_union h_u ;
 3978   struct ethtool_flow_ext h_ext ;
 3979   union ethtool_flow_union m_u ;
 3980   struct ethtool_flow_ext m_ext ;
 3981   __u64 ring_cookie ;
 3982   __u32 location ;
 3983};
 3984#line 456 "include/linux/ethtool.h"
 3985struct ethtool_rxnfc {
 3986   __u32 cmd ;
 3987   __u32 flow_type ;
 3988   __u64 data ;
 3989   struct ethtool_rx_flow_spec fs ;
 3990   __u32 rule_cnt ;
 3991   __u32 rule_locs[0U] ;
 3992};
 3993#line 526 "include/linux/ethtool.h"
 3994struct ethtool_rxfh_indir {
 3995   __u32 cmd ;
 3996   __u32 size ;
 3997   __u32 ring_index[0U] ;
 3998};
 3999#line 542 "include/linux/ethtool.h"
 4000union __anonunion_h_u_182 {
 4001   struct ethtool_tcpip4_spec tcp_ip4_spec ;
 4002   struct ethtool_tcpip4_spec udp_ip4_spec ;
 4003   struct ethtool_tcpip4_spec sctp_ip4_spec ;
 4004   struct ethtool_ah_espip4_spec ah_ip4_spec ;
 4005   struct ethtool_ah_espip4_spec esp_ip4_spec ;
 4006   struct ethtool_usrip4_spec usr_ip4_spec ;
 4007   struct ethhdr ether_spec ;
 4008   __u8 hdata[72U] ;
 4009};
 4010#line 542 "include/linux/ethtool.h"
 4011union __anonunion_m_u_183 {
 4012   struct ethtool_tcpip4_spec tcp_ip4_spec ;
 4013   struct ethtool_tcpip4_spec udp_ip4_spec ;
 4014   struct ethtool_tcpip4_spec sctp_ip4_spec ;
 4015   struct ethtool_ah_espip4_spec ah_ip4_spec ;
 4016   struct ethtool_ah_espip4_spec esp_ip4_spec ;
 4017   struct ethtool_usrip4_spec usr_ip4_spec ;
 4018   struct ethhdr ether_spec ;
 4019   __u8 hdata[72U] ;
 4020};
 4021#line 542 "include/linux/ethtool.h"
 4022struct ethtool_rx_ntuple_flow_spec {
 4023   __u32 flow_type ;
 4024   union __anonunion_h_u_182 h_u ;
 4025   union __anonunion_m_u_183 m_u ;
 4026   __u16 vlan_tag ;
 4027   __u16 vlan_tag_mask ;
 4028   __u64 data ;
 4029   __u64 data_mask ;
 4030   __s32 action ;
 4031};
 4032#line 579 "include/linux/ethtool.h"
 4033struct ethtool_rx_ntuple {
 4034   __u32 cmd ;
 4035   struct ethtool_rx_ntuple_flow_spec fs ;
 4036};
 4037#line 595 "include/linux/ethtool.h"
 4038struct ethtool_flash {
 4039   __u32 cmd ;
 4040   __u32 region ;
 4041   char data[128U] ;
 4042};
 4043#line 603 "include/linux/ethtool.h"
 4044struct ethtool_dump {
 4045   __u32 cmd ;
 4046   __u32 version ;
 4047   __u32 flag ;
 4048   __u32 len ;
 4049   __u8 data[0U] ;
 4050};
 4051#line 721 "include/linux/ethtool.h"
 4052struct ethtool_rx_ntuple_list {
 4053   struct list_head list ;
 4054   unsigned int count ;
 4055};
 4056#line 728
 4057enum ethtool_phys_id_state {
 4058    ETHTOOL_ID_INACTIVE = 0,
 4059    ETHTOOL_ID_ACTIVE = 1,
 4060    ETHTOOL_ID_ON = 2,
 4061    ETHTOOL_ID_OFF = 3
 4062} ;
 4063#line 763 "include/linux/ethtool.h"
 4064struct ethtool_ops {
 4065   int (*get_settings)(struct net_device * , struct ethtool_cmd * ) ;
 4066   int (*set_settings)(struct net_device * , struct ethtool_cmd * ) ;
 4067   void (*get_drvinfo)(struct net_device * , struct ethtool_drvinfo * ) ;
 4068   int (*get_regs_len)(struct net_device * ) ;
 4069   void (*get_regs)(struct net_device * , struct ethtool_regs * , void * ) ;
 4070   void (*get_wol)(struct net_device * , struct ethtool_wolinfo * ) ;
 4071   int (*set_wol)(struct net_device * , struct ethtool_wolinfo * ) ;
 4072   u32 (*get_msglevel)(struct net_device * ) ;
 4073   void (*set_msglevel)(struct net_device * , u32  ) ;
 4074   int (*nway_reset)(struct net_device * ) ;
 4075   u32 (*get_link)(struct net_device * ) ;
 4076   int (*get_eeprom_len)(struct net_device * ) ;
 4077   int (*get_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ;
 4078   int (*set_eeprom)(struct net_device * , struct ethtool_eeprom * , u8 * ) ;
 4079   int (*get_coalesce)(struct net_device * , struct ethtool_coalesce * ) ;
 4080   int (*set_coalesce)(struct net_device * , struct ethtool_coalesce * ) ;
 4081   void (*get_ringparam)(struct net_device * , struct ethtool_ringparam * ) ;
 4082   int (*set_ringparam)(struct net_device * , struct ethtool_ringparam * ) ;
 4083   void (*get_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ;
 4084   int (*set_pauseparam)(struct net_device * , struct ethtool_pauseparam * ) ;
 4085   u32 (*get_rx_csum)(struct net_device * ) ;
 4086   int (*set_rx_csum)(struct net_device * , u32  ) ;
 4087   u32 (*get_tx_csum)(struct net_device * ) ;
 4088   int (*set_tx_csum)(struct net_device * , u32  ) ;
 4089   u32 (*get_sg)(struct net_device * ) ;
 4090   int (*set_sg)(struct net_device * , u32  ) ;
 4091   u32 (*get_tso)(struct net_device * ) ;
 4092   int (*set_tso)(struct net_device * , u32  ) ;
 4093   void (*self_test)(struct net_device * , struct ethtool_test * , u64 * ) ;
 4094   void (*get_strings)(struct net_device * , u32  , u8 * ) ;
 4095   int (*set_phys_id)(struct net_device * , enum ethtool_phys_id_state  ) ;
 4096   void (*get_ethtool_stats)(struct net_device * , struct ethtool_stats * , u64 * ) ;
 4097   int (*begin)(struct net_device * ) ;
 4098   void (*complete)(struct net_device * ) ;
 4099   u32 (*get_ufo)(struct net_device * ) ;
 4100   int (*set_ufo)(struct net_device * , u32  ) ;
 4101   u32 (*get_flags)(struct net_device * ) ;
 4102   int (*set_flags)(struct net_device * , u32  ) ;
 4103   u32 (*get_priv_flags)(struct net_device * ) ;
 4104   int (*set_priv_flags)(struct net_device * , u32  ) ;
 4105   int (*get_sset_count)(struct net_device * , int  ) ;
 4106   int (*get_rxnfc)(struct net_device * , struct ethtool_rxnfc * , void * ) ;
 4107   int (*set_rxnfc)(struct net_device * , struct ethtool_rxnfc * ) ;
 4108   int (*flash_device)(struct net_device * , struct ethtool_flash * ) ;
 4109   int (*reset)(struct net_device * , u32 * ) ;
 4110   int (*set_rx_ntuple)(struct net_device * , struct ethtool_rx_ntuple * ) ;
 4111   int (*get_rx_ntuple)(struct net_device * , u32  , void * ) ;
 4112   int (*get_rxfh_indir)(struct net_device * , struct ethtool_rxfh_indir * ) ;
 4113   int (*set_rxfh_indir)(struct net_device * , struct ethtool_rxfh_indir  const  * ) ;
 4114   void (*get_channels)(struct net_device * , struct ethtool_channels * ) ;
 4115   int (*set_channels)(struct net_device * , struct ethtool_channels * ) ;
 4116   int (*get_dump_flag)(struct net_device * , struct ethtool_dump * ) ;
 4117   int (*get_dump_data)(struct net_device * , struct ethtool_dump * , void * ) ;
 4118   int (*set_dump)(struct net_device * , struct ethtool_dump * ) ;
 4119};
 4120#line 972
 4121struct prot_inuse;
 4122#line 972
 4123struct prot_inuse;
 4124#line 973 "include/linux/ethtool.h"
 4125struct netns_core {
 4126   struct ctl_table_header *sysctl_hdr ;
 4127   int sysctl_somaxconn ;
 4128   struct prot_inuse *inuse ;
 4129};
 4130#line 38 "include/net/snmp.h"
 4131struct u64_stats_sync {
 4132
 4133};
 4134#line 138 "include/linux/u64_stats_sync.h"
 4135struct ipstats_mib {
 4136   u64 mibs[31U] ;
 4137   struct u64_stats_sync syncp ;
 4138};
 4139#line 61 "include/net/snmp.h"
 4140struct icmp_mib {
 4141   unsigned long mibs[27U] ;
 4142};
 4143#line 67 "include/net/snmp.h"
 4144struct icmpmsg_mib {
 4145   unsigned long mibs[512U] ;
 4146};
 4147#line 72 "include/net/snmp.h"
 4148struct icmpv6_mib {
 4149   unsigned long mibs[5U] ;
 4150};
 4151#line 83 "include/net/snmp.h"
 4152struct icmpv6msg_mib {
 4153   unsigned long mibs[512U] ;
 4154};
 4155#line 93 "include/net/snmp.h"
 4156struct tcp_mib {
 4157   unsigned long mibs[15U] ;
 4158};
 4159#line 100 "include/net/snmp.h"
 4160struct udp_mib {
 4161   unsigned long mibs[7U] ;
 4162};
 4163#line 106 "include/net/snmp.h"
 4164struct linux_mib {
 4165   unsigned long mibs[80U] ;
 4166};
 4167#line 112 "include/net/snmp.h"
 4168struct linux_xfrm_mib {
 4169   unsigned long mibs[27U] ;
 4170};
 4171#line 118
 4172struct proc_dir_entry;
 4173#line 118
 4174struct proc_dir_entry;
 4175#line 118 "include/net/snmp.h"
 4176struct netns_mib {
 4177   struct tcp_mib *tcp_statistics[2U] ;
 4178   struct ipstats_mib *ip_statistics[2U] ;
 4179   struct linux_mib *net_statistics[2U] ;
 4180   struct udp_mib *udp_statistics[2U] ;
 4181   struct udp_mib *udplite_statistics[2U] ;
 4182   struct icmp_mib *icmp_statistics[2U] ;
 4183   struct icmpmsg_mib *icmpmsg_statistics[2U] ;
 4184   struct proc_dir_entry *proc_net_devsnmp6 ;
 4185   struct udp_mib *udp_stats_in6[2U] ;
 4186   struct udp_mib *udplite_stats_in6[2U] ;
 4187   struct ipstats_mib *ipv6_statistics[2U] ;
 4188   struct icmpv6_mib *icmpv6_statistics[2U] ;
 4189   struct icmpv6msg_mib *icmpv6msg_statistics[2U] ;
 4190   struct linux_xfrm_mib *xfrm_statistics[2U] ;
 4191};
 4192#line 26 "include/net/netns/mib.h"
 4193struct netns_unix {
 4194   int sysctl_max_dgram_qlen ;
 4195   struct ctl_table_header *ctl ;
 4196};
 4197#line 12 "include/net/netns/unix.h"
 4198struct netns_packet {
 4199   spinlock_t sklist_lock ;
 4200   struct hlist_head sklist ;
 4201};
 4202#line 14 "include/net/netns/packet.h"
 4203struct netns_frags {
 4204   int nqueues ;
 4205   atomic_t mem ;
 4206   struct list_head lru_list ;
 4207   int timeout ;
 4208   int high_thresh ;
 4209   int low_thresh ;
 4210};
 4211#line 73 "include/net/inet_frag.h"
 4212struct ipv4_devconf;
 4213#line 73
 4214struct ipv4_devconf;
 4215#line 74
 4216struct fib_rules_ops;
 4217#line 74
 4218struct fib_rules_ops;
 4219#line 75
 4220struct xt_table;
 4221#line 75
 4222struct xt_table;
 4223#line 75 "include/net/inet_frag.h"
 4224struct netns_ipv4 {
 4225   struct ctl_table_header *forw_hdr ;
 4226   struct ctl_table_header *frags_hdr ;
 4227   struct ctl_table_header *ipv4_hdr ;
 4228   struct ctl_table_header *route_hdr ;
 4229   struct ipv4_devconf *devconf_all ;
 4230   struct ipv4_devconf *devconf_dflt ;
 4231   struct fib_rules_ops *rules_ops ;
 4232   struct hlist_head *fib_table_hash ;
 4233   struct sock *fibnl ;
 4234   struct sock **icmp_sk ;
 4235   struct sock *tcp_sock ;
 4236   struct netns_frags frags ;
 4237   struct xt_table *iptable_filter ;
 4238   struct xt_table *iptable_mangle ;
 4239   struct xt_table *iptable_raw ;
 4240   struct xt_table *arptable_filter ;
 4241   struct xt_table *iptable_security ;
 4242   struct xt_table *nat_table ;
 4243   struct hlist_head *nat_bysource ;
 4244   unsigned int nat_htable_size ;
 4245   int sysctl_icmp_echo_ignore_all ;
 4246   int sysctl_icmp_echo_ignore_broadcasts ;
 4247   int sysctl_icmp_ignore_bogus_error_responses ;
 4248   int sysctl_icmp_ratelimit ;
 4249   int sysctl_icmp_ratemask ;
 4250   int sysctl_icmp_errors_use_inbound_ifaddr ;
 4251   int sysctl_rt_cache_rebuild_count ;
 4252   int current_rt_cache_rebuild_count ;
 4253   unsigned int sysctl_ping_group_range[2U] ;
 4254   atomic_t rt_genid ;
 4255   atomic_t dev_addr_genid ;
 4256   struct list_head mr_tables ;
 4257   struct fib_rules_ops *mr_rules_ops ;
 4258};
 4259#line 70 "include/net/netns/ipv4.h"
 4260struct dst_ops {
 4261   unsigned short family ;
 4262   __be16 protocol ;
 4263   unsigned int gc_thresh ;
 4264   int (*gc)(struct dst_ops * ) ;
 4265   struct dst_entry *(*check)(struct dst_entry * , __u32  ) ;
 4266   unsigned int (*default_advmss)(struct dst_entry  const  * ) ;
 4267   unsigned int (*default_mtu)(struct dst_entry  const  * ) ;
 4268   u32 *(*cow_metrics)(struct dst_entry * , unsigned long  ) ;
 4269   void (*destroy)(struct dst_entry * ) ;
 4270   void (*ifdown)(struct dst_entry * , struct net_device * , int  ) ;
 4271   struct dst_entry *(*negative_advice)(struct dst_entry * ) ;
 4272   void (*link_failure)(struct sk_buff * ) ;
 4273   void (*update_pmtu)(struct dst_entry * , u32  ) ;
 4274   int (*local_out)(struct sk_buff * ) ;
 4275   struct kmem_cache *kmem_cachep ;
 4276   struct percpu_counter pcpuc_entries ;
 4277};
 4278#line 66 "include/net/dst_ops.h"
 4279struct netns_sysctl_ipv6 {
 4280   struct ctl_table_header *table ;
 4281   struct ctl_table_header *frags_hdr ;
 4282   int bindv6only ;
 4283   int flush_delay ;
 4284   int ip6_rt_max_size ;
 4285   int ip6_rt_gc_min_interval ;
 4286   int ip6_rt_gc_timeout ;
 4287   int ip6_rt_gc_interval ;
 4288   int ip6_rt_gc_elasticity ;
 4289   int ip6_rt_mtu_expires ;
 4290   int ip6_rt_min_advmss ;
 4291   int icmpv6_time ;
 4292};
 4293#line 29 "include/net/netns/ipv6.h"
 4294struct ipv6_devconf;
 4295#line 29
 4296struct ipv6_devconf;
 4297#line 29
 4298struct rt6_info;
 4299#line 29
 4300struct rt6_info;
 4301#line 29
 4302struct rt6_statistics;
 4303#line 29
 4304struct rt6_statistics;
 4305#line 29
 4306struct fib6_table;
 4307#line 29
 4308struct fib6_table;
 4309#line 29 "include/net/netns/ipv6.h"
 4310struct netns_ipv6 {
 4311   struct netns_sysctl_ipv6 sysctl ;
 4312   struct ipv6_devconf *devconf_all ;
 4313   struct ipv6_devconf *devconf_dflt ;
 4314   struct netns_frags frags ;
 4315   struct xt_table *ip6table_filter ;
 4316   struct xt_table *ip6table_mangle ;
 4317   struct xt_table *ip6table_raw ;
 4318   struct xt_table *ip6table_security ;
 4319   struct rt6_info *ip6_null_entry ;
 4320   struct rt6_statistics *rt6_stats ;
 4321   struct timer_list ip6_fib_timer ;
 4322   struct hlist_head *fib_table_hash ;
 4323   struct fib6_table *fib6_main_tbl ;
 4324   struct dst_ops ip6_dst_ops ;
 4325   unsigned int ip6_rt_gc_expire ;
 4326   unsigned long ip6_rt_last_gc ;
 4327   struct rt6_info *ip6_prohibit_entry ;
 4328   struct rt6_info *ip6_blk_hole_entry ;
 4329   struct fib6_table *fib6_local_tbl ;
 4330   struct fib_rules_ops *fib6_rules_ops ;
 4331   struct sock **icmp_sk ;
 4332   struct sock *ndisc_sk ;
 4333   struct sock *tcp_sk ;
 4334   struct sock *igmp_sk ;
 4335   struct list_head mr6_tables ;
 4336   struct fib_rules_ops *mr6_rules_ops ;
 4337};
 4338#line 68 "include/net/netns/ipv6.h"
 4339struct netns_dccp {
 4340   struct sock *v4_ctl_sk ;
 4341   struct sock *v6_ctl_sk ;
 4342};
 4343#line 46 "include/linux/proc_fs.h"
 4344typedef int read_proc_t(char * , char ** , off_t  , int  , int * , void * );
 4345#line 48 "include/linux/proc_fs.h"
 4346typedef int write_proc_t(struct file * , char const   * , unsigned long  , void * );
 4347#line 49 "include/linux/proc_fs.h"
 4348struct proc_dir_entry {
 4349   unsigned int low_ino ;
 4350   unsigned int namelen ;
 4351   char const   *name ;
 4352   mode_t mode ;
 4353   nlink_t nlink ;
 4354   uid_t uid ;
 4355   gid_t gid ;
 4356   loff_t size ;
 4357   struct inode_operations  const  *proc_iops ;
 4358   struct file_operations  const  *proc_fops ;
 4359   struct proc_dir_entry *next ;
 4360   struct proc_dir_entry *parent ;
 4361   struct proc_dir_entry *subdir ;
 4362   void *data ;
 4363   read_proc_t *read_proc ;
 4364   write_proc_t *write_proc ;
 4365   atomic_t count ;
 4366   int pde_users ;
 4367   spinlock_t pde_unload_lock ;
 4368   struct completion *pde_unload_completion ;
 4369   struct list_head pde_openers ;
 4370};
 4371#line 376 "include/linux/netfilter.h"
 4372struct ebt_table;
 4373#line 376
 4374struct ebt_table;
 4375#line 377 "include/linux/netfilter.h"
 4376struct netns_xt {
 4377   struct list_head tables[13U] ;
 4378   struct ebt_table *broute_table ;
 4379   struct ebt_table *frame_filter ;
 4380   struct ebt_table *frame_nat ;
 4381};
 4382#line 18 "include/net/netns/x_tables.h"
 4383struct ip_conntrack_stat;
 4384#line 18
 4385struct ip_conntrack_stat;
 4386#line 18 "include/net/netns/x_tables.h"
 4387struct netns_ct {
 4388   atomic_t count ;
 4389   unsigned int expect_count ;
 4390   unsigned int htable_size ;
 4391   struct kmem_cache *nf_conntrack_cachep ;
 4392   struct hlist_nulls_head *hash ;
 4393   struct hlist_head *expect_hash ;
 4394   struct hlist_nulls_head unconfirmed ;
 4395   struct hlist_nulls_head dying ;
 4396   struct ip_conntrack_stat *stat ;
 4397   int sysctl_events ;
 4398   unsigned int sysctl_events_retry_timeout ;
 4399   int sysctl_acct ;
 4400   int sysctl_tstamp ;
 4401   int sysctl_checksum ;
 4402   unsigned int sysctl_log_invalid ;
 4403   struct ctl_table_header *sysctl_header ;
 4404   struct ctl_table_header *acct_sysctl_header ;
 4405   struct ctl_table_header *tstamp_sysctl_header ;
 4406   struct ctl_table_header *event_sysctl_header ;
 4407   char *slabname ;
 4408};
 4409#line 484 "include/linux/xfrm.h"
 4410struct xfrm_policy_hash {
 4411   struct hlist_head *table ;
 4412   unsigned int hmask ;
 4413};
 4414#line 16 "include/net/netns/xfrm.h"
 4415struct netns_xfrm {
 4416   struct list_head state_all ;
 4417   struct hlist_head *state_bydst ;
 4418   struct hlist_head *state_bysrc ;
 4419   struct hlist_head *state_byspi ;
 4420   unsigned int state_hmask ;
 4421   unsigned int state_num ;
 4422   struct work_struct state_hash_work ;
 4423   struct hlist_head state_gc_list ;
 4424   struct work_struct state_gc_work ;
 4425   wait_queue_head_t km_waitq ;
 4426   struct list_head policy_all ;
 4427   struct hlist_head *policy_byidx ;
 4428   unsigned int policy_idx_hmask ;
 4429   struct hlist_head policy_inexact[6U] ;
 4430   struct xfrm_policy_hash policy_bydst[6U] ;
 4431   unsigned int policy_count[6U] ;
 4432   struct work_struct policy_hash_work ;
 4433   struct sock *nlsk ;
 4434   struct sock *nlsk_stash ;
 4435   u32 sysctl_aevent_etime ;
 4436   u32 sysctl_aevent_rseqth ;
 4437   int sysctl_larval_drop ;
 4438   u32 sysctl_acq_expires ;
 4439   struct ctl_table_header *sysctl_hdr ;
 4440   struct dst_ops xfrm4_dst_ops ;
 4441   struct dst_ops xfrm6_dst_ops ;
 4442};
 4443#line 62
 4444struct net_generic;
 4445#line 62
 4446struct net_generic;
 4447#line 63
 4448struct netns_ipvs;
 4449#line 63
 4450struct netns_ipvs;
 4451#line 64 "include/net/netns/xfrm.h"
 4452struct net {
 4453   atomic_t passive ;
 4454   atomic_t count ;
 4455   spinlock_t rules_mod_lock ;
 4456   struct list_head list ;
 4457   struct list_head cleanup_list ;
 4458   struct list_head exit_list ;
 4459   struct proc_dir_entry *proc_net ;
 4460   struct proc_dir_entry *proc_net_stat ;
 4461   struct ctl_table_set sysctls ;
 4462   struct sock *rtnl ;
 4463   struct sock *genl_sock ;
 4464   struct list_head dev_base_head ;
 4465   struct hlist_head *dev_name_head ;
 4466   struct hlist_head *dev_index_head ;
 4467   struct list_head rules_ops ;
 4468   struct net_device *loopback_dev ;
 4469   struct netns_core core ;
 4470   struct netns_mib mib ;
 4471   struct netns_packet packet ;
 4472   struct netns_unix unx ;
 4473   struct netns_ipv4 ipv4 ;
 4474   struct netns_ipv6 ipv6 ;
 4475   struct netns_dccp dccp ;
 4476   struct netns_xt xt ;
 4477   struct netns_ct ct ;
 4478   struct sock *nfnl ;
 4479   struct sock *nfnl_stash ;
 4480   struct sk_buff_head wext_nlevents ;
 4481   struct net_generic *gen ;
 4482   struct netns_xfrm xfrm ;
 4483   struct netns_ipvs *ipvs ;
 4484};
 4485#line 104 "include/net/net_namespace.h"
 4486struct seq_file {
 4487   char *buf ;
 4488   size_t size ;
 4489   size_t from ;
 4490   size_t count ;
 4491   loff_t index ;
 4492   loff_t read_pos ;
 4493   u64 version ;
 4494   struct mutex lock ;
 4495   struct seq_operations  const  *op ;
 4496   void *private ;
 4497};
 4498#line 28 "include/linux/seq_file.h"
 4499struct seq_operations {
 4500   void *(*start)(struct seq_file * , loff_t * ) ;
 4501   void (*stop)(struct seq_file * , void * ) ;
 4502   void *(*next)(struct seq_file * , void * , loff_t * ) ;
 4503   int (*show)(struct seq_file * , void * ) ;
 4504};
 4505#line 59 "include/net/dsa.h"
 4506struct ieee_ets {
 4507   __u8 willing ;
 4508   __u8 ets_cap ;
 4509   __u8 cbs ;
 4510   __u8 tc_tx_bw[8U] ;
 4511   __u8 tc_rx_bw[8U] ;
 4512   __u8 tc_tsa[8U] ;
 4513   __u8 prio_tc[8U] ;
 4514   __u8 tc_reco_bw[8U] ;
 4515   __u8 tc_reco_tsa[8U] ;
 4516   __u8 reco_prio_tc[8U] ;
 4517};
 4518#line 69 "include/linux/dcbnl.h"
 4519struct ieee_pfc {
 4520   __u8 pfc_cap ;
 4521   __u8 pfc_en ;
 4522   __u8 mbc ;
 4523   __u16 delay ;
 4524   __u64 requests[8U] ;
 4525   __u64 indications[8U] ;
 4526};
 4527#line 89 "include/linux/dcbnl.h"
 4528struct cee_pg {
 4529   __u8 willing ;
 4530   __u8 error ;
 4531   __u8 pg_en ;
 4532   __u8 tcs_supported ;
 4533   __u8 pg_bw[8U] ;
 4534   __u8 prio_pg[8U] ;
 4535};
 4536#line 112 "include/linux/dcbnl.h"
 4537struct cee_pfc {
 4538   __u8 willing ;
 4539   __u8 error ;
 4540   __u8 pfc_en ;
 4541   __u8 tcs_supported ;
 4542};
 4543#line 127 "include/linux/dcbnl.h"
 4544struct dcb_app {
 4545   __u8 selector ;
 4546   __u8 priority ;
 4547   __u16 protocol ;
 4548};
 4549#line 156 "include/linux/dcbnl.h"
 4550struct dcb_peer_app_info {
 4551   __u8 willing ;
 4552   __u8 error ;
 4553};
 4554#line 33 "include/net/dcbnl.h"
 4555struct dcbnl_rtnl_ops {
 4556   int (*ieee_getets)(struct net_device * , struct ieee_ets * ) ;
 4557   int (*ieee_setets)(struct net_device * , struct ieee_ets * ) ;
 4558   int (*ieee_getpfc)(struct net_device * , struct ieee_pfc * ) ;
 4559   int (*ieee_setpfc)(struct net_device * , struct ieee_pfc * ) ;
 4560   int (*ieee_getapp)(struct net_device * , struct dcb_app * ) ;
 4561   int (*ieee_setapp)(struct net_device * , struct dcb_app * ) ;
 4562   int (*ieee_peer_getets)(struct net_device * , struct ieee_ets * ) ;
 4563   int (*ieee_peer_getpfc)(struct net_device * , struct ieee_pfc * ) ;
 4564   u8 (*getstate)(struct net_device * ) ;
 4565   u8 (*setstate)(struct net_device * , u8  ) ;
 4566   void (*getpermhwaddr)(struct net_device * , u8 * ) ;
 4567   void (*setpgtccfgtx)(struct net_device * , int  , u8  , u8  , u8  , u8  ) ;
 4568   void (*setpgbwgcfgtx)(struct net_device * , int  , u8  ) ;
 4569   void (*setpgtccfgrx)(struct net_device * , int  , u8  , u8  , u8  , u8  ) ;
 4570   void (*setpgbwgcfgrx)(struct net_device * , int  , u8  ) ;
 4571   void (*getpgtccfgtx)(struct net_device * , int  , u8 * , u8 * , u8 * , u8 * ) ;
 4572   void (*getpgbwgcfgtx)(struct net_device * , int  , u8 * ) ;
 4573   void (*getpgtccfgrx)(struct net_device * , int  , u8 * , u8 * , u8 * , u8 * ) ;
 4574   void (*getpgbwgcfgrx)(struct net_device * , int  , u8 * ) ;
 4575   void (*setpfccfg)(struct net_device * , int  , u8  ) ;
 4576   void (*getpfccfg)(struct net_device * , int  , u8 * ) ;
 4577   u8 (*setall)(struct net_device * ) ;
 4578   u8 (*getcap)(struct net_device * , int  , u8 * ) ;
 4579   u8 (*getnumtcs)(struct net_device * , int  , u8 * ) ;
 4580   u8 (*setnumtcs)(struct net_device * , int  , u8  ) ;
 4581   u8 (*getpfcstate)(struct net_device * ) ;
 4582   void (*setpfcstate)(struct net_device * , u8  ) ;
 4583   void (*getbcncfg)(struct net_device * , int  , u32 * ) ;
 4584   void (*setbcncfg)(struct net_device * , int  , u32  ) ;
 4585   void (*getbcnrp)(struct net_device * , int  , u8 * ) ;
 4586   void (*setbcnrp)(struct net_device * , int  , u8  ) ;
 4587   u8 (*setapp)(struct net_device * , u8  , u16  , u8  ) ;
 4588   u8 (*getapp)(struct net_device * , u8  , u16  ) ;
 4589   u8 (*getfeatcfg)(struct net_device * , int  , u8 * ) ;
 4590   u8 (*setfeatcfg)(struct net_device * , int  , u8  ) ;
 4591   u8 (*getdcbx)(struct net_device * ) ;
 4592   u8 (*setdcbx)(struct net_device * , u8  ) ;
 4593   int (*peer_getappinfo)(struct net_device * , struct dcb_peer_app_info * , u16 * ) ;
 4594   int (*peer_getapptable)(struct net_device * , struct dcb_app * ) ;
 4595   int (*cee_peer_getpg)(struct net_device * , struct cee_pg * ) ;
 4596   int (*cee_peer_getpfc)(struct net_device * , struct cee_pfc * ) ;
 4597};
 4598#line 91
 4599struct vlan_group;
 4600#line 91
 4601struct vlan_group;
 4602#line 92
 4603struct netpoll_info;
 4604#line 92
 4605struct netpoll_info;
 4606#line 93
 4607struct phy_device;
 4608#line 93
 4609struct phy_device;
 4610#line 94
 4611struct wireless_dev;
 4612#line 94
 4613struct wireless_dev;
 4614#line 95
 4615enum netdev_tx {
 4616    __NETDEV_TX_MIN = (-0x7FFFFFFF-1),
 4617    NETDEV_TX_OK = 0,
 4618    NETDEV_TX_BUSY = 16,
 4619    NETDEV_TX_LOCKED = 32
 4620} ;
 4621#line 117 "include/linux/netdevice.h"
 4622typedef enum netdev_tx netdev_tx_t;
 4623#line 136 "include/linux/netdevice.h"
 4624struct net_device_stats {
 4625   unsigned long rx_packets ;
 4626   unsigned long tx_packets ;
 4627   unsigned long rx_bytes ;
 4628   unsigned long tx_bytes ;
 4629   unsigned long rx_errors ;
 4630   unsigned long tx_errors ;
 4631   unsigned long rx_dropped ;
 4632   unsigned long tx_dropped ;
 4633   unsigned long multicast ;
 4634   unsigned long collisions ;
 4635   unsigned long rx_length_errors ;
 4636   unsigned long rx_over_errors ;
 4637   unsigned long rx_crc_errors ;
 4638   unsigned long rx_frame_errors ;
 4639   unsigned long rx_fifo_errors ;
 4640   unsigned long rx_missed_errors ;
 4641   unsigned long tx_aborted_errors ;
 4642   unsigned long tx_carrier_errors ;
 4643   unsigned long tx_fifo_errors ;
 4644   unsigned long tx_heartbeat_errors ;
 4645   unsigned long tx_window_errors ;
 4646   unsigned long rx_compressed ;
 4647   unsigned long tx_compressed ;
 4648};
 4649#line 211
 4650struct neighbour;
 4651#line 211
 4652struct neighbour;
 4653#line 212
 4654struct neigh_parms;
 4655#line 212
 4656struct neigh_parms;
 4657#line 239 "include/linux/netdevice.h"
 4658struct netdev_hw_addr_list {
 4659   struct list_head list ;
 4660   int count ;
 4661};
 4662#line 244 "include/linux/netdevice.h"
 4663struct hh_cache {
 4664   struct hh_cache *hh_next ;
 4665   atomic_t hh_refcnt ;
 4666   __be16 hh_type ;
 4667   u16 hh_len ;
 4668   int (*hh_output)(struct sk_buff * ) ;
 4669   seqlock_t hh_lock ;
 4670   unsigned long hh_data[16U] ;
 4671};
 4672#line 292 "include/linux/netdevice.h"
 4673struct header_ops {
 4674   int (*create)(struct sk_buff * , struct net_device * , unsigned short  , void const   * ,
 4675                 void const   * , unsigned int  ) ;
 4676   int (*parse)(struct sk_buff  const  * , unsigned char * ) ;
 4677   int (*rebuild)(struct sk_buff * ) ;
 4678   int (*cache)(struct neighbour  const  * , struct hh_cache * ) ;
 4679   void (*cache_update)(struct hh_cache * , struct net_device  const  * , unsigned char const   * ) ;
 4680};
 4681#line 392
 4682enum rx_handler_result {
 4683    RX_HANDLER_CONSUMED = 0,
 4684    RX_HANDLER_ANOTHER = 1,
 4685    RX_HANDLER_EXACT = 2,
 4686    RX_HANDLER_PASS = 3
 4687} ;
 4688#line 440 "include/linux/netdevice.h"
 4689typedef enum rx_handler_result rx_handler_result_t;
 4690#line 441 "include/linux/netdevice.h"
 4691typedef rx_handler_result_t rx_handler_func_t(struct sk_buff ** );
 4692#line 548
 4693struct Qdisc;
 4694#line 548
 4695struct Qdisc;
 4696#line 548 "include/linux/netdevice.h"
 4697struct netdev_queue {
 4698   struct net_device *dev ;
 4699   struct Qdisc *qdisc ;
 4700   unsigned long state ;
 4701   struct Qdisc *qdisc_sleeping ;
 4702   struct kobject kobj ;
 4703   int numa_node ;
 4704   spinlock_t _xmit_lock ;
 4705   int xmit_lock_owner ;
 4706   unsigned long trans_start ;
 4707};
 4708#line 590 "include/linux/netdevice.h"
 4709struct rps_map {
 4710   unsigned int len ;
 4711   struct rcu_head rcu ;
 4712   u16 cpus[0U] ;
 4713};
 4714#line 602 "include/linux/netdevice.h"
 4715struct rps_dev_flow {
 4716   u16 cpu ;
 4717   u16 filter ;
 4718   unsigned int last_qtail ;
 4719};
 4720#line 614 "include/linux/netdevice.h"
 4721struct rps_dev_flow_table {
 4722   unsigned int mask ;
 4723   struct rcu_head rcu ;
 4724   struct work_struct free_work ;
 4725   struct rps_dev_flow flows[0U] ;
 4726};
 4727#line 666 "include/linux/netdevice.h"
 4728struct netdev_rx_queue {
 4729   struct rps_map *rps_map ;
 4730   struct rps_dev_flow_table *rps_flow_table ;
 4731   struct kobject kobj ;
 4732   struct net_device *dev ;
 4733};
 4734#line 676 "include/linux/netdevice.h"
 4735struct xps_map {
 4736   unsigned int len ;
 4737   unsigned int alloc_len ;
 4738   struct rcu_head rcu ;
 4739   u16 queues[0U] ;
 4740};
 4741#line 689 "include/linux/netdevice.h"
 4742struct xps_dev_maps {
 4743   struct rcu_head rcu ;
 4744   struct xps_map *cpu_map[0U] ;
 4745};
 4746#line 700 "include/linux/netdevice.h"
 4747struct netdev_tc_txq {
 4748   u16 count ;
 4749   u16 offset ;
 4750};
 4751#line 711 "include/linux/netdevice.h"
 4752struct net_device_ops {
 4753   int (*ndo_init)(struct net_device * ) ;
 4754   void (*ndo_uninit)(struct net_device * ) ;
 4755   int (*ndo_open)(struct net_device * ) ;
 4756   int (*ndo_stop)(struct net_device * ) ;
 4757   netdev_tx_t (*ndo_start_xmit)(struct sk_buff * , struct net_device * ) ;
 4758   u16 (*ndo_select_queue)(struct net_device * , struct sk_buff * ) ;
 4759   void (*ndo_change_rx_flags)(struct net_device * , int  ) ;
 4760   void (*ndo_set_rx_mode)(struct net_device * ) ;
 4761   void (*ndo_set_multicast_list)(struct net_device * ) ;
 4762   int (*ndo_set_mac_address)(struct net_device * , void * ) ;
 4763   int (*ndo_validate_addr)(struct net_device * ) ;
 4764   int (*ndo_do_ioctl)(struct net_device * , struct ifreq * , int  ) ;
 4765   int (*ndo_set_config)(struct net_device * , struct ifmap * ) ;
 4766   int (*ndo_change_mtu)(struct net_device * , int  ) ;
 4767   int (*ndo_neigh_setup)(struct net_device * , struct neigh_parms * ) ;
 4768   void (*ndo_tx_timeout)(struct net_device * ) ;
 4769   struct rtnl_link_stats64 *(*ndo_get_stats64)(struct net_device * , struct rtnl_link_stats64 * ) ;
 4770   struct net_device_stats *(*ndo_get_stats)(struct net_device * ) ;
 4771   void (*ndo_vlan_rx_register)(struct net_device * , struct vlan_group * ) ;
 4772   void (*ndo_vlan_rx_add_vid)(struct net_device * , unsigned short  ) ;
 4773   void (*ndo_vlan_rx_kill_vid)(struct net_device * , unsigned short  ) ;
 4774   void (*ndo_poll_controller)(struct net_device * ) ;
 4775   int (*ndo_netpoll_setup)(struct net_device * , struct netpoll_info * ) ;
 4776   void (*ndo_netpoll_cleanup)(struct net_device * ) ;
 4777   int (*ndo_set_vf_mac)(struct net_device * , int  , u8 * ) ;
 4778   int (*ndo_set_vf_vlan)(struct net_device * , int  , u16  , u8  ) ;
 4779   int (*ndo_set_vf_tx_rate)(struct net_device * , int  , int  ) ;
 4780   int (*ndo_get_vf_config)(struct net_device * , int  , struct ifla_vf_info * ) ;
 4781   int (*ndo_set_vf_port)(struct net_device * , int  , struct nlattr ** ) ;
 4782   int (*ndo_get_vf_port)(struct net_device * , int  , struct sk_buff * ) ;
 4783   int (*ndo_setup_tc)(struct net_device * , u8  ) ;
 4784   int (*ndo_fcoe_enable)(struct net_device * ) ;
 4785   int (*ndo_fcoe_disable)(struct net_device * ) ;
 4786   int (*ndo_fcoe_ddp_setup)(struct net_device * , u16  , struct scatterlist * , unsigned int  ) ;
 4787   int (*ndo_fcoe_ddp_done)(struct net_device * , u16  ) ;
 4788   int (*ndo_fcoe_ddp_target)(struct net_device * , u16  , struct scatterlist * ,
 4789                              unsigned int  ) ;
 4790   int (*ndo_fcoe_get_wwn)(struct net_device * , u64 * , int  ) ;
 4791   int (*ndo_rx_flow_steer)(struct net_device * , struct sk_buff  const  * , u16  ,
 4792                            u32  ) ;
 4793   int (*ndo_add_slave)(struct net_device * , struct net_device * ) ;
 4794   int (*ndo_del_slave)(struct net_device * , struct net_device * ) ;
 4795   u32 (*ndo_fix_features)(struct net_device * , u32  ) ;
 4796   int (*ndo_set_features)(struct net_device * , u32  ) ;
 4797};
 4798#line 995
 4799struct iw_handler_def;
 4800#line 995
 4801struct iw_handler_def;
 4802#line 995
 4803struct iw_public_data;
 4804#line 995
 4805struct iw_public_data;
 4806#line 995
 4807struct in_device;
 4808#line 995
 4809struct in_device;
 4810#line 995
 4811struct dn_dev;
 4812#line 995
 4813struct dn_dev;
 4814#line 995
 4815struct inet6_dev;
 4816#line 995
 4817struct inet6_dev;
 4818#line 995
 4819struct cpu_rmap;
 4820#line 995
 4821struct cpu_rmap;
 4822#line 995
 4823struct pcpu_lstats;
 4824#line 995
 4825struct pcpu_lstats;
 4826#line 995
 4827struct pcpu_tstats;
 4828#line 995
 4829struct pcpu_tstats;
 4830#line 995
 4831struct pcpu_dstats;
 4832#line 995
 4833struct pcpu_dstats;
 4834#line 995 "include/linux/netdevice.h"
 4835union __anonunion_ldv_30952_191 {
 4836   void *ml_priv ;
 4837   struct pcpu_lstats *lstats ;
 4838   struct pcpu_tstats *tstats ;
 4839   struct pcpu_dstats *dstats ;
 4840};
 4841#line 995
 4842struct garp_port;
 4843#line 995
 4844struct garp_port;
 4845#line 995
 4846struct rtnl_link_ops;
 4847#line 995
 4848struct rtnl_link_ops;
 4849#line 995 "include/linux/netdevice.h"
 4850struct net_device {
 4851   char name[16U] ;
 4852   struct pm_qos_request_list pm_qos_req ;
 4853   struct hlist_node name_hlist ;
 4854   char *ifalias ;
 4855   unsigned long mem_end ;
 4856   unsigned long mem_start ;
 4857   unsigned long base_addr ;
 4858   unsigned int irq ;
 4859   unsigned long state ;
 4860   struct list_head dev_list ;
 4861   struct list_head napi_list ;
 4862   struct list_head unreg_list ;
 4863   u32 features ;
 4864   u32 hw_features ;
 4865   u32 wanted_features ;
 4866   u32 vlan_features ;
 4867   int ifindex ;
 4868   int iflink ;
 4869   struct net_device_stats stats ;
 4870   atomic_long_t rx_dropped ;
 4871   struct iw_handler_def  const  *wireless_handlers ;
 4872   struct iw_public_data *wireless_data ;
 4873   struct net_device_ops  const  *netdev_ops ;
 4874   struct ethtool_ops  const  *ethtool_ops ;
 4875   struct header_ops  const  *header_ops ;
 4876   unsigned int flags ;
 4877   unsigned int priv_flags ;
 4878   unsigned short gflags ;
 4879   unsigned short padded ;
 4880   unsigned char operstate ;
 4881   unsigned char link_mode ;
 4882   unsigned char if_port ;
 4883   unsigned char dma ;
 4884   unsigned int mtu ;
 4885   unsigned short type ;
 4886   unsigned short hard_header_len ;
 4887   unsigned short needed_headroom ;
 4888   unsigned short needed_tailroom ;
 4889   unsigned char perm_addr[32U] ;
 4890   unsigned char addr_assign_type ;
 4891   unsigned char addr_len ;
 4892   unsigned short dev_id ;
 4893   spinlock_t addr_list_lock ;
 4894   struct netdev_hw_addr_list uc ;
 4895   struct netdev_hw_addr_list mc ;
 4896   int uc_promisc ;
 4897   unsigned int promiscuity ;
 4898   unsigned int allmulti ;
 4899   struct vlan_group *vlgrp ;
 4900   void *dsa_ptr ;
 4901   void *atalk_ptr ;
 4902   struct in_device *ip_ptr ;
 4903   struct dn_dev *dn_ptr ;
 4904   struct inet6_dev *ip6_ptr ;
 4905   void *ec_ptr ;
 4906   void *ax25_ptr ;
 4907   struct wireless_dev *ieee80211_ptr ;
 4908   unsigned long last_rx ;
 4909   struct net_device *master ;
 4910   unsigned char *dev_addr ;
 4911   struct netdev_hw_addr_list dev_addrs ;
 4912   unsigned char broadcast[32U] ;
 4913   struct kset *queues_kset ;
 4914   struct netdev_rx_queue *_rx ;
 4915   unsigned int num_rx_queues ;
 4916   unsigned int real_num_rx_queues ;
 4917   struct cpu_rmap *rx_cpu_rmap ;
 4918   rx_handler_func_t *rx_handler ;
 4919   void *rx_handler_data ;
 4920   struct netdev_queue *ingress_queue ;
 4921   struct netdev_queue *_tx ;
 4922   unsigned int num_tx_queues ;
 4923   unsigned int real_num_tx_queues ;
 4924   struct Qdisc *qdisc ;
 4925   unsigned long tx_queue_len ;
 4926   spinlock_t tx_global_lock ;
 4927   struct xps_dev_maps *xps_maps ;
 4928   unsigned long trans_start ;
 4929   int watchdog_timeo ;
 4930   struct timer_list watchdog_timer ;
 4931   int *pcpu_refcnt ;
 4932   struct list_head todo_list ;
 4933   struct hlist_node index_hlist ;
 4934   struct list_head link_watch_list ;
 4935   unsigned char reg_state ;
 4936   bool dismantle ;
 4937   unsigned short rtnl_link_state ;
 4938   void (*destructor)(struct net_device * ) ;
 4939   struct netpoll_info *npinfo ;
 4940   struct net *nd_net ;
 4941   union __anonunion_ldv_30952_191 ldv_30952 ;
 4942   struct garp_port *garp_port ;
 4943   struct device dev ;
 4944   struct attribute_group  const  *sysfs_groups[4U] ;
 4945   struct rtnl_link_ops  const  *rtnl_link_ops ;
 4946   unsigned int gso_max_size ;
 4947   struct dcbnl_rtnl_ops  const  *dcbnl_ops ;
 4948   u8 num_tc ;
 4949   struct netdev_tc_txq tc_to_txq[16U] ;
 4950   u8 prio_tc_map[16U] ;
 4951   unsigned int fcoe_ddp_xid ;
 4952   struct ethtool_rx_ntuple_list ethtool_ntuple_list ;
 4953   struct phy_device *phydev ;
 4954   int group ;
 4955};
 4956#line 1559
 4957enum irqreturn {
 4958    IRQ_NONE = 0,
 4959    IRQ_HANDLED = 1,
 4960    IRQ_WAKE_THREAD = 2
 4961} ;
 4962#line 16 "include/linux/irqreturn.h"
 4963typedef enum irqreturn irqreturn_t;
 4964#line 91 "include/linux/interrupt.h"
 4965struct irqaction {
 4966   irqreturn_t (*handler)(int  , void * ) ;
 4967   unsigned long flags ;
 4968   void *dev_id ;
 4969   struct irqaction *next ;
 4970   int irq ;
 4971   irqreturn_t (*thread_fn)(int  , void * ) ;
 4972   struct task_struct *thread ;
 4973   unsigned long thread_flags ;
 4974   unsigned long thread_mask ;
 4975   char const   *name ;
 4976   struct proc_dir_entry *dir ;
 4977};
 4978#line 327 "include/linux/fsnotify.h"
 4979struct linux_binprm {
 4980   char buf[128U] ;
 4981   struct vm_area_struct *vma ;
 4982   unsigned long vma_pages ;
 4983   struct mm_struct *mm ;
 4984   unsigned long p ;
 4985   unsigned char cred_prepared : 1 ;
 4986   unsigned char cap_effective : 1 ;
 4987   unsigned int recursion_depth ;
 4988   struct file *file ;
 4989   struct cred *cred ;
 4990   int unsafe ;
 4991   unsigned int per_clear ;
 4992   int argc ;
 4993   int envc ;
 4994   char const   *filename ;
 4995   char const   *interp ;
 4996   unsigned int interp_flags ;
 4997   unsigned int interp_data ;
 4998   unsigned long loader ;
 4999   unsigned long exec ;
 5000};
 5001#line 62 "include/linux/binfmts.h"
 5002struct coredump_params {
 5003   long signr ;
 5004   struct pt_regs *regs ;
 5005   struct file *file ;
 5006   unsigned long limit ;
 5007   unsigned long mm_flags ;
 5008};
 5009#line 80 "include/linux/binfmts.h"
 5010struct linux_binfmt {
 5011   struct list_head lh ;
 5012   struct module *module ;
 5013   int (*load_binary)(struct linux_binprm * , struct pt_regs * ) ;
 5014   int (*load_shlib)(struct file * ) ;
 5015   int (*core_dump)(struct coredump_params * ) ;
 5016   unsigned long min_coredump ;
 5017};
 5018#line 83 "include/linux/security.h"
 5019struct xfrm_policy;
 5020#line 83
 5021struct xfrm_policy;
 5022#line 84
 5023struct xfrm_state;
 5024#line 84
 5025struct xfrm_state;
 5026#line 110 "include/linux/uaccess.h"
 5027struct sock_filter {
 5028   __u16 code ;
 5029   __u8 jt ;
 5030   __u8 jf ;
 5031   __u32 k ;
 5032};
 5033#line 37 "include/linux/filter.h"
 5034struct sk_filter {
 5035   atomic_t refcnt ;
 5036   unsigned int len ;
 5037   unsigned int (*bpf_func)(struct sk_buff  const  * , struct sock_filter  const  * ) ;
 5038   struct rcu_head rcu ;
 5039   struct sock_filter insns[0U] ;
 5040};
 5041#line 34 "include/linux/poll.h"
 5042struct poll_table_struct {
 5043   void (*qproc)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
 5044   unsigned long key ;
 5045};
 5046#line 815 "include/linux/rtnetlink.h"
 5047struct nla_policy {
 5048   u16 type ;
 5049   u16 len ;
 5050};
 5051#line 24 "include/net/rtnetlink.h"
 5052struct rtnl_link_ops {
 5053   struct list_head list ;
 5054   char const   *kind ;
 5055   size_t priv_size ;
 5056   void (*setup)(struct net_device * ) ;
 5057   int maxtype ;
 5058   struct nla_policy  const  *policy ;
 5059   int (*validate)(struct nlattr ** , struct nlattr ** ) ;
 5060   int (*newlink)(struct net * , struct net_device * , struct nlattr ** , struct nlattr ** ) ;
 5061   int (*changelink)(struct net_device * , struct nlattr ** , struct nlattr ** ) ;
 5062   void (*dellink)(struct net_device * , struct list_head * ) ;
 5063   size_t (*get_size)(struct net_device  const  * ) ;
 5064   int (*fill_info)(struct sk_buff * , struct net_device  const  * ) ;
 5065   size_t (*get_xstats_size)(struct net_device  const  * ) ;
 5066   int (*fill_xstats)(struct sk_buff * , struct net_device  const  * ) ;
 5067   int (*get_tx_queues)(struct net * , struct nlattr ** , unsigned int * , unsigned int * ) ;
 5068};
 5069#line 127
 5070struct neigh_table;
 5071#line 127
 5072struct neigh_table;
 5073#line 127 "include/net/rtnetlink.h"
 5074struct neigh_parms {
 5075   struct net *net ;
 5076   struct net_device *dev ;
 5077   struct neigh_parms *next ;
 5078   int (*neigh_setup)(struct neighbour * ) ;
 5079   void (*neigh_cleanup)(struct neighbour * ) ;
 5080   struct neigh_table *tbl ;
 5081   void *sysctl_table ;
 5082   int dead ;
 5083   atomic_t refcnt ;
 5084   struct rcu_head rcu_head ;
 5085   int base_reachable_time ;
 5086   int retrans_time ;
 5087   int gc_staletime ;
 5088   int reachable_time ;
 5089   int delay_probe_time ;
 5090   int queue_len ;
 5091   int ucast_probes ;
 5092   int app_probes ;
 5093   int mcast_probes ;
 5094   int anycast_delay ;
 5095   int proxy_delay ;
 5096   int proxy_qlen ;
 5097   int locktime ;
 5098};
 5099#line 71 "include/net/neighbour.h"
 5100struct neigh_statistics {
 5101   unsigned long allocs ;
 5102   unsigned long destroys ;
 5103   unsigned long hash_grows ;
 5104   unsigned long res_failed ;
 5105   unsigned long lookups ;
 5106   unsigned long hits ;
 5107   unsigned long rcv_probes_mcast ;
 5108   unsigned long rcv_probes_ucast ;
 5109   unsigned long periodic_gc_runs ;
 5110   unsigned long forced_gc_runs ;
 5111   unsigned long unres_discards ;
 5112};
 5113#line 90
 5114struct neigh_ops;
 5115#line 90
 5116struct neigh_ops;
 5117#line 90 "include/net/neighbour.h"
 5118struct neighbour {
 5119   struct neighbour *next ;
 5120   struct neigh_table *tbl ;
 5121   struct neigh_parms *parms ;
 5122   unsigned long confirmed ;
 5123   unsigned long updated ;
 5124   rwlock_t lock ;
 5125   atomic_t refcnt ;
 5126   struct sk_buff_head arp_queue ;
 5127   struct timer_list timer ;
 5128   unsigned long used ;
 5129   atomic_t probes ;
 5130   __u8 flags ;
 5131   __u8 nud_state ;
 5132   __u8 type ;
 5133   __u8 dead ;
 5134   seqlock_t ha_lock ;
 5135   unsigned char ha[32U] ;
 5136   struct hh_cache *hh ;
 5137   int (*output)(struct sk_buff * ) ;
 5138   struct neigh_ops  const  *ops ;
 5139   struct rcu_head rcu ;
 5140   struct net_device *dev ;
 5141   u8 primary_key[0U] ;
 5142};
 5143#line 118 "include/net/neighbour.h"
 5144struct neigh_ops {
 5145   int family ;
 5146   void (*solicit)(struct neighbour * , struct sk_buff * ) ;
 5147   void (*error_report)(struct neighbour * , struct sk_buff * ) ;
 5148   int (*output)(struct sk_buff * ) ;
 5149   int (*connected_output)(struct sk_buff * ) ;
 5150   int (*hh_output)(struct sk_buff * ) ;
 5151   int (*queue_xmit)(struct sk_buff * ) ;
 5152};
 5153#line 128 "include/net/neighbour.h"
 5154struct pneigh_entry {
 5155   struct pneigh_entry *next ;
 5156   struct net *net ;
 5157   struct net_device *dev ;
 5158   u8 flags ;
 5159   u8 key[0U] ;
 5160};
 5161#line 138 "include/net/neighbour.h"
 5162struct neigh_hash_table {
 5163   struct neighbour **hash_buckets ;
 5164   unsigned int hash_mask ;
 5165   __u32 hash_rnd ;
 5166   struct rcu_head rcu ;
 5167};
 5168#line 149 "include/net/neighbour.h"
 5169struct neigh_table {
 5170   struct neigh_table *next ;
 5171   int family ;
 5172   int entry_size ;
 5173   int key_len ;
 5174   __u32 (*hash)(void const   * , struct net_device  const  * , __u32  ) ;
 5175   int (*constructor)(struct neighbour * ) ;
 5176   int (*pconstructor)(struct pneigh_entry * ) ;
 5177   void (*pdestructor)(struct pneigh_entry * ) ;
 5178   void (*proxy_redo)(struct sk_buff * ) ;
 5179   char *id ;
 5180   struct neigh_parms parms ;
 5181   int gc_interval ;
 5182   int gc_thresh1 ;
 5183   int gc_thresh2 ;
 5184   int gc_thresh3 ;
 5185   unsigned long last_flush ;
 5186   struct delayed_work gc_work ;
 5187   struct timer_list proxy_timer ;
 5188   struct sk_buff_head proxy_queue ;
 5189   atomic_t entries ;
 5190   rwlock_t lock ;
 5191   unsigned long last_rand ;
 5192   struct kmem_cache *kmem_cachep ;
 5193   struct neigh_statistics *stats ;
 5194   struct neigh_hash_table *nht ;
 5195   struct pneigh_entry **phash_buckets ;
 5196};
 5197#line 394
 5198struct dn_route;
 5199#line 394
 5200struct dn_route;
 5201#line 394 "include/net/neighbour.h"
 5202union __anonunion_ldv_36975_200 {
 5203   struct dst_entry *next ;
 5204   struct rtable *rt_next ;
 5205   struct rt6_info *rt6_next ;
 5206   struct dn_route *dn_next ;
 5207};
 5208#line 394 "include/net/neighbour.h"
 5209struct dst_entry {
 5210   struct rcu_head rcu_head ;
 5211   struct dst_entry *child ;
 5212   struct net_device *dev ;
 5213   struct dst_ops *ops ;
 5214   unsigned long _metrics ;
 5215   unsigned long expires ;
 5216   struct dst_entry *path ;
 5217   struct neighbour *neighbour ;
 5218   struct hh_cache *hh ;
 5219   struct xfrm_state *xfrm ;
 5220   int (*input)(struct sk_buff * ) ;
 5221   int (*output)(struct sk_buff * ) ;
 5222   short error ;
 5223   short obsolete ;
 5224   unsigned short header_len ;
 5225   unsigned short trailer_len ;
 5226   __u32 tclassid ;
 5227   long __pad_to_align_refcnt[1U] ;
 5228   atomic_t __refcnt ;
 5229   int __use ;
 5230   unsigned long lastuse ;
 5231   int flags ;
 5232   union __anonunion_ldv_36975_200 ldv_36975 ;
 5233};
 5234#line 101 "include/net/sock.h"
 5235struct __anonstruct_socket_lock_t_201 {
 5236   spinlock_t slock ;
 5237   int owned ;
 5238   wait_queue_head_t wq ;
 5239   struct lockdep_map dep_map ;
 5240};
 5241#line 101 "include/net/sock.h"
 5242typedef struct __anonstruct_socket_lock_t_201 socket_lock_t;
 5243#line 101
 5244struct proto;
 5245#line 101
 5246struct proto;
 5247#line 102 "include/net/sock.h"
 5248union __anonunion_ldv_37176_202 {
 5249   unsigned int skc_hash ;
 5250   __u16 skc_u16hashes[2U] ;
 5251};
 5252#line 102 "include/net/sock.h"
 5253union __anonunion_ldv_37184_203 {
 5254   struct hlist_node skc_bind_node ;
 5255   struct hlist_nulls_node skc_portaddr_node ;
 5256};
 5257#line 102 "include/net/sock.h"
 5258union __anonunion_ldv_37191_204 {
 5259   struct hlist_node skc_node ;
 5260   struct hlist_nulls_node skc_nulls_node ;
 5261};
 5262#line 102 "include/net/sock.h"
 5263struct sock_common {
 5264   __be32 skc_daddr ;
 5265   __be32 skc_rcv_saddr ;
 5266   union __anonunion_ldv_37176_202 ldv_37176 ;
 5267   unsigned short skc_family ;
 5268   unsigned char volatile   skc_state ;
 5269   unsigned char skc_reuse ;
 5270   int skc_bound_dev_if ;
 5271   union __anonunion_ldv_37184_203 ldv_37184 ;
 5272   struct proto *skc_prot ;
 5273   struct net *skc_net ;
 5274   int skc_dontcopy_begin[0U] ;
 5275   union __anonunion_ldv_37191_204 ldv_37191 ;
 5276   int skc_tx_queue_mapping ;
 5277   atomic_t skc_refcnt ;
 5278   int skc_dontcopy_end[0U] ;
 5279};
 5280#line 168 "include/net/sock.h"
 5281struct __anonstruct_sk_backlog_205 {
 5282   atomic_t rmem_alloc ;
 5283   int len ;
 5284   struct sk_buff *head ;
 5285   struct sk_buff *tail ;
 5286};
 5287#line 168 "include/net/sock.h"
 5288struct sock {
 5289   struct sock_common __sk_common ;
 5290   socket_lock_t sk_lock ;
 5291   struct sk_buff_head sk_receive_queue ;
 5292   struct __anonstruct_sk_backlog_205 sk_backlog ;
 5293   int sk_forward_alloc ;
 5294   __u32 sk_rxhash ;
 5295   atomic_t sk_drops ;
 5296   int sk_rcvbuf ;
 5297   struct sk_filter *sk_filter ;
 5298   struct socket_wq *sk_wq ;
 5299   struct sk_buff_head sk_async_wait_queue ;
 5300   struct xfrm_policy *sk_policy[2U] ;
 5301   unsigned long sk_flags ;
 5302   struct dst_entry *sk_dst_cache ;
 5303   spinlock_t sk_dst_lock ;
 5304   atomic_t sk_wmem_alloc ;
 5305   atomic_t sk_omem_alloc ;
 5306   int sk_sndbuf ;
 5307   struct sk_buff_head sk_write_queue ;
 5308   unsigned char sk_shutdown : 2 ;
 5309   unsigned char sk_no_check : 2 ;
 5310   unsigned char sk_userlocks : 4 ;
 5311   unsigned char sk_protocol ;
 5312   unsigned short sk_type ;
 5313   int sk_wmem_queued ;
 5314   gfp_t sk_allocation ;
 5315   int sk_route_caps ;
 5316   int sk_route_nocaps ;
 5317   int sk_gso_type ;
 5318   unsigned int sk_gso_max_size ;
 5319   int sk_rcvlowat ;
 5320   unsigned long sk_lingertime ;
 5321   struct sk_buff_head sk_error_queue ;
 5322   struct proto *sk_prot_creator ;
 5323   rwlock_t sk_callback_lock ;
 5324   int sk_err ;
 5325   int sk_err_soft ;
 5326   unsigned short sk_ack_backlog ;
 5327   unsigned short sk_max_ack_backlog ;
 5328   __u32 sk_priority ;
 5329   struct pid *sk_peer_pid ;
 5330   struct cred  const  *sk_peer_cred ;
 5331   long sk_rcvtimeo ;
 5332   long sk_sndtimeo ;
 5333   void *sk_protinfo ;
 5334   struct timer_list sk_timer ;
 5335   ktime_t sk_stamp ;
 5336   struct socket *sk_socket ;
 5337   void *sk_user_data ;
 5338   struct page *sk_sndmsg_page ;
 5339   struct sk_buff *sk_send_head ;
 5340   __u32 sk_sndmsg_off ;
 5341   int sk_write_pending ;
 5342   void *sk_security ;
 5343   __u32 sk_mark ;
 5344   u32 sk_classid ;
 5345   void (*sk_state_change)(struct sock * ) ;
 5346   void (*sk_data_ready)(struct sock * , int  ) ;
 5347   void (*sk_write_space)(struct sock * ) ;
 5348   void (*sk_error_report)(struct sock * ) ;
 5349   int (*sk_backlog_rcv)(struct sock * , struct sk_buff * ) ;
 5350   void (*sk_destruct)(struct sock * ) ;
 5351};
 5352#line 716
 5353struct request_sock_ops;
 5354#line 716
 5355struct request_sock_ops;
 5356#line 717
 5357struct timewait_sock_ops;
 5358#line 717
 5359struct timewait_sock_ops;
 5360#line 718
 5361struct inet_hashinfo;
 5362#line 718
 5363struct inet_hashinfo;
 5364#line 719
 5365struct raw_hashinfo;
 5366#line 719
 5367struct raw_hashinfo;
 5368#line 720
 5369struct udp_table;
 5370#line 720
 5371struct udp_table;
 5372#line 720 "include/net/sock.h"
 5373union __anonunion_h_206 {
 5374   struct inet_hashinfo *hashinfo ;
 5375   struct udp_table *udp_table ;
 5376   struct raw_hashinfo *raw_hash ;
 5377};
 5378#line 720 "include/net/sock.h"
 5379struct proto {
 5380   void (*close)(struct sock * , long  ) ;
 5381   int (*connect)(struct sock * , struct sockaddr * , int  ) ;
 5382   int (*disconnect)(struct sock * , int  ) ;
 5383   struct sock *(*accept)(struct sock * , int  , int * ) ;
 5384   int (*ioctl)(struct sock * , int  , unsigned long  ) ;
 5385   int (*init)(struct sock * ) ;
 5386   void (*destroy)(struct sock * ) ;
 5387   void (*shutdown)(struct sock * , int  ) ;
 5388   int (*setsockopt)(struct sock * , int  , int  , char * , unsigned int  ) ;
 5389   int (*getsockopt)(struct sock * , int  , int  , char * , int * ) ;
 5390   int (*compat_setsockopt)(struct sock * , int  , int  , char * , unsigned int  ) ;
 5391   int (*compat_getsockopt)(struct sock * , int  , int  , char * , int * ) ;
 5392   int (*compat_ioctl)(struct sock * , unsigned int  , unsigned long  ) ;
 5393   int (*sendmsg)(struct kiocb * , struct sock * , struct msghdr * , size_t  ) ;
 5394   int (*recvmsg)(struct kiocb * , struct sock * , struct msghdr * , size_t  , int  ,
 5395                  int  , int * ) ;
 5396   int (*sendpage)(struct sock * , struct page * , int  , size_t  , int  ) ;
 5397   int (*bind)(struct sock * , struct sockaddr * , int  ) ;
 5398   int (*backlog_rcv)(struct sock * , struct sk_buff * ) ;
 5399   void (*hash)(struct sock * ) ;
 5400   void (*unhash)(struct sock * ) ;
 5401   void (*rehash)(struct sock * ) ;
 5402   int (*get_port)(struct sock * , unsigned short  ) ;
 5403   void (*clear_sk)(struct sock * , int  ) ;
 5404   unsigned int inuse_idx ;
 5405   void (*enter_memory_pressure)(struct sock * ) ;
 5406   atomic_long_t *memory_allocated ;
 5407   struct percpu_counter *sockets_allocated ;
 5408   int *memory_pressure ;
 5409   long *sysctl_mem ;
 5410   int *sysctl_wmem ;
 5411   int *sysctl_rmem ;
 5412   int max_header ;
 5413   bool no_autobind ;
 5414   struct kmem_cache *slab ;
 5415   unsigned int obj_size ;
 5416   int slab_flags ;
 5417   struct percpu_counter *orphan_count ;
 5418   struct request_sock_ops *rsk_prot ;
 5419   struct timewait_sock_ops *twsk_prot ;
 5420   union __anonunion_h_206 h ;
 5421   struct module *owner ;
 5422   char name[32U] ;
 5423   struct list_head node ;
 5424};
 5425#line 1850
 5426struct mISDNchannel;
 5427#line 1850
 5428struct mISDNchannel;
 5429#line 1851
 5430struct mISDNdevice;
 5431#line 1851
 5432struct mISDNdevice;
 5433#line 1852
 5434struct mISDNstack;
 5435#line 1852
 5436struct mISDNstack;
 5437#line 1854 "include/net/sock.h"
 5438struct channel_req {
 5439   u_int protocol ;
 5440   struct sockaddr_mISDN adr ;
 5441   struct mISDNchannel *ch ;
 5442};
 5443#line 443 "include/linux/mISDNif.h"
 5444typedef int ctrl_func_t(struct mISDNchannel * , u_int  , void * );
 5445#line 444 "include/linux/mISDNif.h"
 5446typedef int send_func_t(struct mISDNchannel * , struct sk_buff * );
 5447#line 445 "include/linux/mISDNif.h"
 5448typedef int create_func_t(struct channel_req * );
 5449#line 446 "include/linux/mISDNif.h"
 5450struct Bprotocol {
 5451   struct list_head list ;
 5452   char *name ;
 5453   u_int Bprotocols ;
 5454   create_func_t *create ;
 5455};
 5456#line 453 "include/linux/mISDNif.h"
 5457struct mISDNchannel {
 5458   struct list_head list ;
 5459   u_int protocol ;
 5460   u_int nr ;
 5461   u_long opt ;
 5462   u_int addr ;
 5463   struct mISDNstack *st ;
 5464   struct mISDNchannel *peer ;
 5465   send_func_t *send ;
 5466   send_func_t *recv ;
 5467   ctrl_func_t *ctrl ;
 5468};
 5469#line 466 "include/linux/mISDNif.h"
 5470struct mISDN_sock_list {
 5471   struct hlist_head head ;
 5472   rwlock_t lock ;
 5473};
 5474#line 478 "include/linux/mISDNif.h"
 5475struct mISDNdevice {
 5476   struct mISDNchannel D ;
 5477   u_int id ;
 5478   u_int Dprotocols ;
 5479   u_int Bprotocols ;
 5480   u_int nrbchan ;
 5481   u_char channelmap[16U] ;
 5482   struct list_head bchannels ;
 5483   struct mISDNchannel *teimgr ;
 5484   struct device dev ;
 5485};
 5486#line 492 "include/linux/mISDNif.h"
 5487struct mISDNstack {
 5488   u_long status ;
 5489   struct mISDNdevice *dev ;
 5490   struct task_struct *thread ;
 5491   struct completion *notify ;
 5492   wait_queue_head_t workq ;
 5493   struct sk_buff_head msgq ;
 5494   struct list_head layer2 ;
 5495   struct mISDNchannel *layer1 ;
 5496   struct mISDNchannel own ;
 5497   struct mutex lmutex ;
 5498   struct mISDN_sock_list l1sock ;
 5499};
 5500#line 335 "include/linux/slab.h"
 5501struct FsmInst;
 5502#line 335
 5503struct FsmInst;
 5504#line 29 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/fsm.h"
 5505typedef void (*FSMFNPTR)(struct FsmInst * , int  , void * );
 5506#line 30 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/fsm.h"
 5507struct Fsm {
 5508   FSMFNPTR (**jumpmatrix)(struct FsmInst * , int  , void * ) ;
 5509   int state_count ;
 5510   int event_count ;
 5511   char **strEvent ;
 5512   char **strState ;
 5513};
 5514#line 36 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/fsm.h"
 5515struct FsmInst {
 5516   struct Fsm *fsm ;
 5517   int state ;
 5518   int debug ;
 5519   void *userdata ;
 5520   int userint ;
 5521   void (*printdebug)(struct FsmInst * , char *  , ...) ;
 5522};
 5523#line 45 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/fsm.h"
 5524struct FsmNode {
 5525   int state ;
 5526   int event ;
 5527   void (*routine)(struct FsmInst * , int  , void * ) ;
 5528};
 5529#line 50 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/fsm.h"
 5530struct FsmTimer {
 5531   struct FsmInst *fi ;
 5532   struct timer_list tl ;
 5533   int event ;
 5534   void *arg ;
 5535};
 5536#line 22 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/posix_types_64.h"
 5537typedef long __kernel_suseconds_t;
 5538#line 18 "include/linux/time.h"
 5539struct timeval {
 5540   __kernel_time_t tv_sec ;
 5541   __kernel_suseconds_t tv_usec ;
 5542};
 5543#line 290 "include/linux/timer.h"
 5544enum hrtimer_restart;
 5545#line 290
 5546enum hrtimer_restart;
 5547#line 337 "include/linux/socket.h"
 5548struct mISDNhead {
 5549   unsigned int prim ;
 5550   unsigned int id ;
 5551};
 5552#line 285 "include/linux/mISDNif.h"
 5553struct mISDNversion {
 5554   unsigned char major ;
 5555   unsigned char minor ;
 5556   unsigned short release ;
 5557};
 5558#line 291 "include/linux/mISDNif.h"
 5559struct mISDN_devinfo {
 5560   u_int id ;
 5561   u_int Dprotocols ;
 5562   u_int Bprotocols ;
 5563   u_int protocol ;
 5564   u_char channelmap[16U] ;
 5565   u_int nrbchan ;
 5566   char name[20U] ;
 5567};
 5568#line 301 "include/linux/mISDNif.h"
 5569struct mISDN_devrename {
 5570   u_int id ;
 5571   char name[20U] ;
 5572};
 5573#line 357 "include/linux/mISDNif.h"
 5574struct mISDN_ctrl_req {
 5575   int op ;
 5576   int channel ;
 5577   int p1 ;
 5578   int p2 ;
 5579};
 5580#line 209 "include/linux/net.h"
 5581struct net_proto_family {
 5582   int family ;
 5583   int (*create)(struct net * , struct socket * , int  , int  ) ;
 5584   struct module *owner ;
 5585};
 5586#line 519 "include/net/sock.h"
 5587enum sock_flags {
 5588    SOCK_DEAD = 0,
 5589    SOCK_DONE = 1,
 5590    SOCK_URGINLINE = 2,
 5591    SOCK_KEEPOPEN = 3,
 5592    SOCK_LINGER = 4,
 5593    SOCK_DESTROY = 5,
 5594    SOCK_BROADCAST = 6,
 5595    SOCK_TIMESTAMP = 7,
 5596    SOCK_ZAPPED = 8,
 5597    SOCK_USE_WRITE_QUEUE = 9,
 5598    SOCK_DBG = 10,
 5599    SOCK_RCVTSTAMP = 11,
 5600    SOCK_RCVTSTAMPNS = 12,
 5601    SOCK_LOCALROUTE = 13,
 5602    SOCK_QUEUE_SHRUNK = 14,
 5603    SOCK_TIMESTAMPING_TX_HARDWARE = 15,
 5604    SOCK_TIMESTAMPING_TX_SOFTWARE = 16,
 5605    SOCK_TIMESTAMPING_RX_HARDWARE = 17,
 5606    SOCK_TIMESTAMPING_RX_SOFTWARE = 18,
 5607    SOCK_TIMESTAMPING_SOFTWARE = 19,
 5608    SOCK_TIMESTAMPING_RAW_HARDWARE = 20,
 5609    SOCK_TIMESTAMPING_SYS_HARDWARE = 21,
 5610    SOCK_FASYNC = 22,
 5611    SOCK_RXQ_OVFL = 23
 5612} ;
 5613#line 471 "include/linux/mISDNif.h"
 5614struct mISDN_sock {
 5615   struct sock sk ;
 5616   struct mISDNchannel ch ;
 5617   u_int cmask ;
 5618   struct mISDNdevice *dev ;
 5619};
 5620#line 1853 "include/net/sock.h"
 5621struct mISDNclock;
 5622#line 1853
 5623struct mISDNclock;
 5624#line 512 "include/linux/mISDNif.h"
 5625typedef int clockctl_func_t(void * , int  );
 5626#line 513 "include/linux/mISDNif.h"
 5627struct mISDNclock {
 5628   struct list_head list ;
 5629   char name[64U] ;
 5630   int pri ;
 5631   clockctl_func_t *ctl ;
 5632   void *priv ;
 5633};
 5634#line 290 "include/linux/timer.h"
 5635enum hrtimer_restart;
 5636#line 290
 5637enum hrtimer_restart;
 5638#line 588 "include/linux/mISDNif.h"
 5639struct dchannel {
 5640   struct mISDNdevice dev ;
 5641   u_long Flags ;
 5642   struct work_struct workq ;
 5643   void (*phfunc)(struct dchannel * ) ;
 5644   u_int state ;
 5645   void *l1 ;
 5646   void *hw ;
 5647   int slot ;
 5648   struct timer_list timer ;
 5649   struct sk_buff *rx_skb ;
 5650   int maxlen ;
 5651   struct sk_buff_head squeue ;
 5652   struct sk_buff_head rqueue ;
 5653   struct sk_buff *tx_skb ;
 5654   int tx_idx ;
 5655   int debug ;
 5656   int err_crc ;
 5657   int err_tx ;
 5658   int err_rx ;
 5659};
 5660#line 141 "include/linux/mISDNhw.h"
 5661struct bchannel {
 5662   struct mISDNchannel ch ;
 5663   int nr ;
 5664   u_long Flags ;
 5665   struct work_struct workq ;
 5666   u_int state ;
 5667   void *hw ;
 5668   int slot ;
 5669   struct timer_list timer ;
 5670   struct sk_buff *rx_skb ;
 5671   int maxlen ;
 5672   struct sk_buff *next_skb ;
 5673   struct sk_buff *tx_skb ;
 5674   struct sk_buff_head rqueue ;
 5675   int rcount ;
 5676   int tx_idx ;
 5677   int debug ;
 5678   int err_crc ;
 5679   int err_tx ;
 5680   int err_rx ;
 5681};
 5682#line 672 "include/linux/kernel.h"
 5683struct compat_timespec;
 5684#line 672
 5685struct compat_timespec;
 5686#line 673 "include/linux/kernel.h"
 5687struct __anonstruct_futex_9 {
 5688   u32 *uaddr ;
 5689   u32 val ;
 5690   u32 flags ;
 5691   u32 bitset ;
 5692   u64 time ;
 5693   u32 *uaddr2 ;
 5694};
 5695#line 673 "include/linux/kernel.h"
 5696struct __anonstruct_nanosleep_10 {
 5697   clockid_t clockid ;
 5698   struct timespec *rmtp ;
 5699   struct compat_timespec *compat_rmtp ;
 5700   u64 expires ;
 5701};
 5702#line 673
 5703struct pollfd;
 5704#line 673
 5705struct pollfd;
 5706#line 673 "include/linux/kernel.h"
 5707struct __anonstruct_poll_11 {
 5708   struct pollfd *ufds ;
 5709   int nfds ;
 5710   int has_timeout ;
 5711   unsigned long tv_sec ;
 5712   unsigned long tv_nsec ;
 5713};
 5714#line 673 "include/linux/kernel.h"
 5715union __anonunion_ldv_2052_8 {
 5716   struct __anonstruct_futex_9 futex ;
 5717   struct __anonstruct_nanosleep_10 nanosleep ;
 5718   struct __anonstruct_poll_11 poll ;
 5719};
 5720#line 673 "include/linux/kernel.h"
 5721struct restart_block {
 5722   long (*fn)(struct restart_block * ) ;
 5723   union __anonunion_ldv_2052_8 ldv_2052 ;
 5724};
 5725#line 22 "include/asm-generic/getorder.h"
 5726struct exec_domain;
 5727#line 22
 5728struct exec_domain;
 5729#line 90 "include/linux/personality.h"
 5730struct map_segment;
 5731#line 90
 5732struct map_segment;
 5733#line 90 "include/linux/personality.h"
 5734struct exec_domain {
 5735   char const   *name ;
 5736   void (*handler)(int  , struct pt_regs * ) ;
 5737   unsigned char pers_low ;
 5738   unsigned char pers_high ;
 5739   unsigned long *signal_map ;
 5740   unsigned long *signal_invmap ;
 5741   struct map_segment *err_map ;
 5742   struct map_segment *socktype_map ;
 5743   struct map_segment *sockopt_map ;
 5744   struct map_segment *af_map ;
 5745   struct module *module ;
 5746   struct exec_domain *next ;
 5747};
 5748#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 5749struct __anonstruct_mm_segment_t_28 {
 5750   unsigned long seg ;
 5751};
 5752#line 622 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/processor.h"
 5753typedef struct __anonstruct_mm_segment_t_28 mm_segment_t;
 5754#line 131 "include/asm-generic/atomic-long.h"
 5755struct thread_info {
 5756   struct task_struct *task ;
 5757   struct exec_domain *exec_domain ;
 5758   __u32 flags ;
 5759   __u32 status ;
 5760   __u32 cpu ;
 5761   int preempt_count ;
 5762   mm_segment_t addr_limit ;
 5763   struct restart_block restart_block ;
 5764   void *sysenter_return ;
 5765   int uaccess_err ;
 5766};
 5767#line 28 "include/linux/wait.h"
 5768struct __wait_queue;
 5769#line 28
 5770struct __wait_queue;
 5771#line 28 "include/linux/wait.h"
 5772typedef struct __wait_queue wait_queue_t;
 5773#line 31 "include/linux/wait.h"
 5774struct __wait_queue {
 5775   unsigned int flags ;
 5776   void *private ;
 5777   int (*func)(wait_queue_t * , unsigned int  , int  , void * ) ;
 5778   struct list_head task_list ;
 5779};
 5780#line 290 "include/linux/timer.h"
 5781enum hrtimer_restart;
 5782#line 290
 5783enum hrtimer_restart;
 5784#line 16 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 5785typedef s32 compat_time_t;
 5786#line 42 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/compat.h"
 5787struct compat_timespec {
 5788   compat_time_t tv_sec ;
 5789   s32 tv_nsec ;
 5790};
 5791#line 101 "include/linux/rculist_nulls.h"
 5792struct pollfd {
 5793   int fd ;
 5794   short events ;
 5795   short revents ;
 5796};
 5797#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.o.usual.c"
 5798struct __va_list_tag;
 5799#line 6
 5800struct __va_list_tag;
 5801#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.o.usual.c"
 5802typedef struct __va_list_tag __va_list_tag;
 5803#line 40 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stdarg.h"
 5804typedef __builtin_va_list __gnuc_va_list[1U];
 5805#line 102 "/usr/lib64/gcc/x86_64-suse-linux/4.5/include/stdarg.h"
 5806typedef __gnuc_va_list va_list[1U];
 5807#line 44 "include/linux/printk.h"
 5808struct va_format {
 5809   char const   *fmt ;
 5810   va_list *va ;
 5811};
 5812#line 290 "include/linux/timer.h"
 5813enum hrtimer_restart;
 5814#line 290
 5815enum hrtimer_restart;
 5816#line 110 "include/linux/mISDNhw.h"
 5817typedef int dchannel_l1callback(struct dchannel * , u_int  );
 5818#line 112
 5819struct layer1;
 5820#line 112
 5821struct layer1;
 5822#line 34 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
 5823struct layer1 {
 5824   u_long Flags ;
 5825   struct FsmInst l1m ;
 5826   struct FsmTimer timer ;
 5827   int delay ;
 5828   struct dchannel *dch ;
 5829   dchannel_l1callback *dcb ;
 5830};
 5831#line 290 "include/linux/timer.h"
 5832enum hrtimer_restart;
 5833#line 290
 5834enum hrtimer_restart;
 5835#line 66 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/fsm.h"
 5836struct manager {
 5837   struct mISDNchannel ch ;
 5838   struct mISDNchannel bcast ;
 5839   u_long options ;
 5840   struct list_head layer2 ;
 5841   rwlock_t lock ;
 5842   struct FsmInst deact ;
 5843   struct FsmTimer datimer ;
 5844   struct sk_buff_head sendq ;
 5845   struct mISDNchannel *up ;
 5846   u_int nextid ;
 5847   u_int lastid ;
 5848};
 5849#line 36 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/layer2.h"
 5850struct layer2;
 5851#line 36
 5852struct layer2;
 5853#line 36 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/layer2.h"
 5854struct teimgr {
 5855   int ri ;
 5856   int rcnt ;
 5857   struct FsmInst tei_m ;
 5858   struct FsmTimer timer ;
 5859   int tval ;
 5860   int nval ;
 5861   struct layer2 *l2 ;
 5862   struct manager *mgr ;
 5863};
 5864#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/layer2.h"
 5865struct laddr {
 5866   u_char A ;
 5867   u_char B ;
 5868};
 5869#line 51 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/layer2.h"
 5870struct layer2 {
 5871   struct list_head list ;
 5872   struct mISDNchannel ch ;
 5873   u_long flag ;
 5874   int id ;
 5875   struct mISDNchannel *up ;
 5876   signed char sapi ;
 5877   signed char tei ;
 5878   struct laddr addr ;
 5879   u_int maxlen ;
 5880   struct teimgr *tm ;
 5881   u_int vs ;
 5882   u_int va ;
 5883   u_int vr ;
 5884   int rc ;
 5885   u_int window ;
 5886   u_int sow ;
 5887   struct FsmInst l2m ;
 5888   struct FsmTimer t200 ;
 5889   struct FsmTimer t203 ;
 5890   int T200 ;
 5891   int N200 ;
 5892   int T203 ;
 5893   u_int next_id ;
 5894   u_int down_id ;
 5895   struct sk_buff *windowar[8U] ;
 5896   struct sk_buff_head i_queue ;
 5897   struct sk_buff_head ui_queue ;
 5898   struct sk_buff_head down_queue ;
 5899   struct sk_buff_head tmp_queue ;
 5900};
 5901#line 290 "include/linux/timer.h"
 5902enum hrtimer_restart;
 5903#line 290
 5904enum hrtimer_restart;
 5905#line 290
 5906enum hrtimer_restart;
 5907#line 290
 5908enum hrtimer_restart;
 5909#line 38 "include/linux/poll.h"
 5910typedef struct poll_table_struct poll_table;
 5911#line 335 "include/linux/slab.h"
 5912struct miscdevice {
 5913   int minor ;
 5914   char const   *name ;
 5915   struct file_operations  const  *fops ;
 5916   struct list_head list ;
 5917   struct device *parent ;
 5918   struct device *this_device ;
 5919   char const   *nodename ;
 5920   mode_t mode ;
 5921};
 5922#line 40 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
 5923struct mISDNtimerdev {
 5924   int next_id ;
 5925   struct list_head pending ;
 5926   struct list_head expired ;
 5927   wait_queue_head_t wait ;
 5928   u_int work ;
 5929   spinlock_t lock ;
 5930};
 5931#line 50 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
 5932struct mISDNtimer {
 5933   struct list_head list ;
 5934   struct mISDNtimerdev *dev ;
 5935   struct timer_list tl ;
 5936   int id ;
 5937};
 5938#line 1 "<compiler builtins>"
 5939void *__builtin_memcpy(void * , void const   * , unsigned long  ) ;
 5940#line 1
 5941void __builtin_va_end(__builtin_va_list  ) ;
 5942#line 1
 5943unsigned long __builtin_object_size(void * , int  ) ;
 5944#line 1
 5945long __builtin_expect(long  , long  ) ;
 5946#line 1
 5947void __builtin_va_start(__builtin_va_list  ) ;
 5948#line 47 "include/linux/list.h"
 5949extern void __list_add(struct list_head * , struct list_head * , struct list_head * ) ;
 5950#line 74 "include/linux/list.h"
 5951__inline static void list_add_tail(struct list_head *new , struct list_head *head ) 
 5952{ struct list_head *__cil_tmp3 ;
 5953
 5954  {
 5955  {
 5956#line 76
 5957  __cil_tmp3 = head->prev;
 5958#line 76
 5959  __list_add(new, __cil_tmp3, head);
 5960  }
 5961#line 77
 5962  return;
 5963}
 5964}
 5965#line 112
 5966extern void list_del(struct list_head * ) ;
 5967#line 195 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 5968__inline static int test_and_set_bit(int nr , unsigned long volatile   *addr ) 
 5969{ int oldbit ;
 5970  long volatile   *__cil_tmp4 ;
 5971
 5972  {
 5973#line 199
 5974  __cil_tmp4 = (long volatile   *)addr;
 5975#line 199
 5976  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; bts %2,%1\n\tsbb %0,%0": "=r" (oldbit),
 5977                       "+m" (*__cil_tmp4): "Ir" (nr): "memory");
 5978#line 202
 5979  return (oldbit);
 5980}
 5981}
 5982#line 246 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 5983__inline static int test_and_clear_bit(int nr , unsigned long volatile   *addr ) 
 5984{ int oldbit ;
 5985  long volatile   *__cil_tmp4 ;
 5986
 5987  {
 5988#line 250
 5989  __cil_tmp4 = (long volatile   *)addr;
 5990#line 250
 5991  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; btr %2,%1\n\tsbb %0,%0": "=r" (oldbit),
 5992                       "+m" (*__cil_tmp4): "Ir" (nr): "memory");
 5993#line 254
 5994  return (oldbit);
 5995}
 5996}
 5997#line 101 "include/linux/printk.h"
 5998extern int printk(char const   *  , ...) ;
 5999#line 291 "include/linux/kernel.h"
 6000extern int sprintf(char * , char const   *  , ...) ;
 6001#line 61 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
 6002extern size_t strlen(char const   * ) ;
 6003#line 62
 6004extern char *strcpy(char * , char const   * ) ;
 6005#line 18 "include/linux/rwlock_api_smp.h"
 6006extern void _raw_read_lock(rwlock_t * ) ;
 6007#line 26
 6008extern unsigned long _raw_write_lock_irqsave(rwlock_t * ) ;
 6009#line 30
 6010extern void _raw_read_unlock(rwlock_t * ) ;
 6011#line 40
 6012extern void _raw_write_unlock_irqrestore(rwlock_t * , unsigned long  ) ;
 6013#line 80 "include/linux/kobject.h"
 6014__inline static char const   *kobject_name(struct kobject  const  *kobj ) 
 6015{ char const   *__cil_tmp2 ;
 6016
 6017  {
 6018  {
 6019#line 82
 6020  __cil_tmp2 = kobj->name;
 6021#line 82
 6022  return ((char const   *)__cil_tmp2);
 6023  }
 6024}
 6025}
 6026#line 215
 6027extern int add_uevent_var(struct kobj_uevent_env * , char const   *  , ...) ;
 6028#line 99 "include/linux/module.h"
 6029extern struct module __this_module ;
 6030#line 3 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6031int ldv_try_module_get(struct module *module ) ;
 6032#line 4
 6033void ldv_module_get(struct module *module ) ;
 6034#line 5
 6035void ldv_module_put(struct module *module ) ;
 6036#line 6
 6037unsigned int ldv_module_refcount(void) ;
 6038#line 7
 6039void ldv_module_put_and_exit(void) ;
 6040#line 338 "include/linux/mISDNif.h"
 6041__inline static int test_channelmap(u_int nr , u_char *map ) 
 6042{ int __cil_tmp3 ;
 6043  int __cil_tmp4 ;
 6044  int __cil_tmp5 ;
 6045  u_int __cil_tmp6 ;
 6046  unsigned long __cil_tmp7 ;
 6047  u_char *__cil_tmp8 ;
 6048  u_char __cil_tmp9 ;
 6049  int __cil_tmp10 ;
 6050
 6051  {
 6052#line 340
 6053  if (nr <= 127U) {
 6054    {
 6055#line 341
 6056    __cil_tmp3 = (int )nr;
 6057#line 341
 6058    __cil_tmp4 = __cil_tmp3 & 7;
 6059#line 341
 6060    __cil_tmp5 = 1 << __cil_tmp4;
 6061#line 341
 6062    __cil_tmp6 = nr >> 3;
 6063#line 341
 6064    __cil_tmp7 = (unsigned long )__cil_tmp6;
 6065#line 341
 6066    __cil_tmp8 = map + __cil_tmp7;
 6067#line 341
 6068    __cil_tmp9 = *__cil_tmp8;
 6069#line 341
 6070    __cil_tmp10 = (int )__cil_tmp9;
 6071#line 341
 6072    return (__cil_tmp10 & __cil_tmp5);
 6073    }
 6074  } else {
 6075#line 343
 6076    return (0);
 6077  }
 6078}
 6079}
 6080#line 340 "include/linux/device.h"
 6081extern int class_for_each_device(struct class * , struct device * , void * , int (*)(struct device * ,
 6082                                                                                     void * ) ) ;
 6083#line 343
 6084extern struct device *class_find_device(struct class * , struct device * , void * ,
 6085                                        int (*)(struct device * , void * ) ) ;
 6086#line 608 "include/linux/device.h"
 6087__inline static char const   *dev_name(struct device  const  *dev ) 
 6088{ char const   *tmp ;
 6089  char const   *__cil_tmp3 ;
 6090  unsigned long __cil_tmp4 ;
 6091  char const   *__cil_tmp5 ;
 6092  unsigned long __cil_tmp6 ;
 6093  char const   *__cil_tmp7 ;
 6094  struct kobject  const  *__cil_tmp8 ;
 6095
 6096  {
 6097  {
 6098#line 611
 6099  __cil_tmp3 = (char const   * const  )0;
 6100#line 611
 6101  __cil_tmp4 = (unsigned long )__cil_tmp3;
 6102#line 611
 6103  __cil_tmp5 = dev->init_name;
 6104#line 611
 6105  __cil_tmp6 = (unsigned long )__cil_tmp5;
 6106#line 611
 6107  if (__cil_tmp6 != __cil_tmp4) {
 6108    {
 6109#line 612
 6110    __cil_tmp7 = dev->init_name;
 6111#line 612
 6112    return ((char const   *)__cil_tmp7);
 6113    }
 6114  } else {
 6115
 6116  }
 6117  }
 6118  {
 6119#line 614
 6120  __cil_tmp8 = & dev->kobj;
 6121#line 614
 6122  tmp = kobject_name(__cil_tmp8);
 6123  }
 6124#line 614
 6125  return (tmp);
 6126}
 6127}
 6128#line 617
 6129extern int dev_set_name(struct device * , char const   *  , ...) ;
 6130#line 693
 6131extern void device_initialize(struct device * ) ;
 6132#line 694
 6133extern int device_add(struct device * ) ;
 6134#line 695
 6135extern void device_del(struct device * ) ;
 6136#line 705
 6137extern void *dev_get_drvdata(struct device  const  * ) ;
 6138#line 706
 6139extern int dev_set_drvdata(struct device * , void * ) ;
 6140#line 765
 6141extern void put_device(struct device * ) ;
 6142#line 568 "include/linux/mISDNif.h"
 6143int mISDN_register_device(struct mISDNdevice *dev , struct device *parent , char *name ) ;
 6144#line 570
 6145void mISDN_unregister_device(struct mISDNdevice *dev ) ;
 6146#line 571
 6147int mISDN_register_Bprotocol(struct Bprotocol *bp ) ;
 6148#line 572
 6149void mISDN_unregister_Bprotocol(struct Bprotocol *bp ) ;
 6150#line 577 "include/linux/mISDNif.h"
 6151__inline static struct mISDNdevice *dev_to_mISDN(struct device *dev ) 
 6152{ void *tmp ;
 6153  struct device *__cil_tmp3 ;
 6154  unsigned long __cil_tmp4 ;
 6155  unsigned long __cil_tmp5 ;
 6156  struct device  const  *__cil_tmp6 ;
 6157
 6158  {
 6159  {
 6160#line 579
 6161  __cil_tmp3 = (struct device *)0;
 6162#line 579
 6163  __cil_tmp4 = (unsigned long )__cil_tmp3;
 6164#line 579
 6165  __cil_tmp5 = (unsigned long )dev;
 6166#line 579
 6167  if (__cil_tmp5 != __cil_tmp4) {
 6168    {
 6169#line 580
 6170    __cil_tmp6 = (struct device  const  *)dev;
 6171#line 580
 6172    tmp = dev_get_drvdata(__cil_tmp6);
 6173    }
 6174#line 580
 6175    return ((struct mISDNdevice *)tmp);
 6176  } else {
 6177#line 582
 6178    return ((struct mISDNdevice *)0);
 6179  }
 6180  }
 6181}
 6182}
 6183#line 18 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/core.h"
 6184struct mISDNdevice *get_mdevice(u_int id ) ;
 6185#line 19
 6186int get_mdevice_count(void) ;
 6187#line 54
 6188int create_stack(struct mISDNdevice *dev ) ;
 6189#line 58
 6190void delete_stack(struct mISDNdevice *dev ) ;
 6191#line 59
 6192void mISDN_initstack(u_int *dp ) ;
 6193#line 60
 6194int misdn_sock_init(u_int *deb ) ;
 6195#line 61
 6196void misdn_sock_cleanup(void) ;
 6197#line 65
 6198u_int get_all_Bprotocols(void) ;
 6199#line 66
 6200struct Bprotocol *get_Bprotocol4mask(u_int m ) ;
 6201#line 67
 6202struct Bprotocol *get_Bprotocol4id(u_int id ) ;
 6203#line 69
 6204int mISDN_inittimer(u_int *deb ) ;
 6205#line 70
 6206void mISDN_timer_cleanup(void) ;
 6207#line 72
 6208int l1_init(u_int *deb ) ;
 6209#line 73
 6210void l1_cleanup(void) ;
 6211#line 74
 6212int Isdnl2_Init(u_int *deb ) ;
 6213#line 75
 6214void Isdnl2_cleanup(void) ;
 6215#line 77
 6216void mISDN_init_clock(u_int *dp ) ;
 6217#line 31 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6218static u_int debug  ;
 6219#line 37 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6220static u64 device_ids  ;
 6221#line 40 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6222static struct list_head Bprotocols  =    {& Bprotocols, & Bprotocols};
 6223#line 41 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6224static rwlock_t bp_lock  =    {{16777216U}, 3736018669U, 4294967295U, (void *)1152921504606846975UL, {(struct lock_class_key *)0,
 6225                                                                           {(struct lock_class *)0,
 6226                                                                            (struct lock_class *)0},
 6227                                                                           "bp_lock",
 6228                                                                           0, 0UL}};
 6229#line 43 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6230static void mISDN_dev_release(struct device *dev ) 
 6231{ 
 6232
 6233  {
 6234#line 45
 6235  return;
 6236}
 6237}
 6238#line 48 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6239static ssize_t _show_id(struct device *dev , struct device_attribute *attr , char *buf ) 
 6240{ struct mISDNdevice *mdev ;
 6241  struct mISDNdevice *tmp ;
 6242  int tmp___0 ;
 6243  struct mISDNdevice *__cil_tmp7 ;
 6244  unsigned long __cil_tmp8 ;
 6245  unsigned long __cil_tmp9 ;
 6246  u_int __cil_tmp10 ;
 6247
 6248  {
 6249  {
 6250#line 51
 6251  tmp = dev_to_mISDN(dev);
 6252#line 51
 6253  mdev = tmp;
 6254  }
 6255  {
 6256#line 53
 6257  __cil_tmp7 = (struct mISDNdevice *)0;
 6258#line 53
 6259  __cil_tmp8 = (unsigned long )__cil_tmp7;
 6260#line 53
 6261  __cil_tmp9 = (unsigned long )mdev;
 6262#line 53
 6263  if (__cil_tmp9 == __cil_tmp8) {
 6264#line 54
 6265    return (-19L);
 6266  } else {
 6267
 6268  }
 6269  }
 6270  {
 6271#line 55
 6272  __cil_tmp10 = mdev->id;
 6273#line 55
 6274  tmp___0 = sprintf(buf, "%d\n", __cil_tmp10);
 6275  }
 6276#line 55
 6277  return ((ssize_t )tmp___0);
 6278}
 6279}
 6280#line 58 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6281static ssize_t _show_nrbchan(struct device *dev , struct device_attribute *attr ,
 6282                             char *buf ) 
 6283{ struct mISDNdevice *mdev ;
 6284  struct mISDNdevice *tmp ;
 6285  int tmp___0 ;
 6286  struct mISDNdevice *__cil_tmp7 ;
 6287  unsigned long __cil_tmp8 ;
 6288  unsigned long __cil_tmp9 ;
 6289  u_int __cil_tmp10 ;
 6290
 6291  {
 6292  {
 6293#line 61
 6294  tmp = dev_to_mISDN(dev);
 6295#line 61
 6296  mdev = tmp;
 6297  }
 6298  {
 6299#line 63
 6300  __cil_tmp7 = (struct mISDNdevice *)0;
 6301#line 63
 6302  __cil_tmp8 = (unsigned long )__cil_tmp7;
 6303#line 63
 6304  __cil_tmp9 = (unsigned long )mdev;
 6305#line 63
 6306  if (__cil_tmp9 == __cil_tmp8) {
 6307#line 64
 6308    return (-19L);
 6309  } else {
 6310
 6311  }
 6312  }
 6313  {
 6314#line 65
 6315  __cil_tmp10 = mdev->nrbchan;
 6316#line 65
 6317  tmp___0 = sprintf(buf, "%d\n", __cil_tmp10);
 6318  }
 6319#line 65
 6320  return ((ssize_t )tmp___0);
 6321}
 6322}
 6323#line 68 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6324static ssize_t _show_d_protocols(struct device *dev , struct device_attribute *attr ,
 6325                                 char *buf ) 
 6326{ struct mISDNdevice *mdev ;
 6327  struct mISDNdevice *tmp ;
 6328  int tmp___0 ;
 6329  struct mISDNdevice *__cil_tmp7 ;
 6330  unsigned long __cil_tmp8 ;
 6331  unsigned long __cil_tmp9 ;
 6332  u_int __cil_tmp10 ;
 6333
 6334  {
 6335  {
 6336#line 71
 6337  tmp = dev_to_mISDN(dev);
 6338#line 71
 6339  mdev = tmp;
 6340  }
 6341  {
 6342#line 73
 6343  __cil_tmp7 = (struct mISDNdevice *)0;
 6344#line 73
 6345  __cil_tmp8 = (unsigned long )__cil_tmp7;
 6346#line 73
 6347  __cil_tmp9 = (unsigned long )mdev;
 6348#line 73
 6349  if (__cil_tmp9 == __cil_tmp8) {
 6350#line 74
 6351    return (-19L);
 6352  } else {
 6353
 6354  }
 6355  }
 6356  {
 6357#line 75
 6358  __cil_tmp10 = mdev->Dprotocols;
 6359#line 75
 6360  tmp___0 = sprintf(buf, "%d\n", __cil_tmp10);
 6361  }
 6362#line 75
 6363  return ((ssize_t )tmp___0);
 6364}
 6365}
 6366#line 78 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6367static ssize_t _show_b_protocols(struct device *dev , struct device_attribute *attr ,
 6368                                 char *buf ) 
 6369{ struct mISDNdevice *mdev ;
 6370  struct mISDNdevice *tmp ;
 6371  u_int tmp___0 ;
 6372  int tmp___1 ;
 6373  struct mISDNdevice *__cil_tmp8 ;
 6374  unsigned long __cil_tmp9 ;
 6375  unsigned long __cil_tmp10 ;
 6376  u_int __cil_tmp11 ;
 6377  unsigned int __cil_tmp12 ;
 6378
 6379  {
 6380  {
 6381#line 81
 6382  tmp = dev_to_mISDN(dev);
 6383#line 81
 6384  mdev = tmp;
 6385  }
 6386  {
 6387#line 83
 6388  __cil_tmp8 = (struct mISDNdevice *)0;
 6389#line 83
 6390  __cil_tmp9 = (unsigned long )__cil_tmp8;
 6391#line 83
 6392  __cil_tmp10 = (unsigned long )mdev;
 6393#line 83
 6394  if (__cil_tmp10 == __cil_tmp9) {
 6395#line 84
 6396    return (-19L);
 6397  } else {
 6398
 6399  }
 6400  }
 6401  {
 6402#line 85
 6403  tmp___0 = get_all_Bprotocols();
 6404#line 85
 6405  __cil_tmp11 = mdev->Bprotocols;
 6406#line 85
 6407  __cil_tmp12 = __cil_tmp11 | tmp___0;
 6408#line 85
 6409  tmp___1 = sprintf(buf, "%d\n", __cil_tmp12);
 6410  }
 6411#line 85
 6412  return ((ssize_t )tmp___1);
 6413}
 6414}
 6415#line 88 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6416static ssize_t _show_protocol(struct device *dev , struct device_attribute *attr ,
 6417                              char *buf ) 
 6418{ struct mISDNdevice *mdev ;
 6419  struct mISDNdevice *tmp ;
 6420  int tmp___0 ;
 6421  struct mISDNdevice *__cil_tmp7 ;
 6422  unsigned long __cil_tmp8 ;
 6423  unsigned long __cil_tmp9 ;
 6424  u_int __cil_tmp10 ;
 6425
 6426  {
 6427  {
 6428#line 91
 6429  tmp = dev_to_mISDN(dev);
 6430#line 91
 6431  mdev = tmp;
 6432  }
 6433  {
 6434#line 93
 6435  __cil_tmp7 = (struct mISDNdevice *)0;
 6436#line 93
 6437  __cil_tmp8 = (unsigned long )__cil_tmp7;
 6438#line 93
 6439  __cil_tmp9 = (unsigned long )mdev;
 6440#line 93
 6441  if (__cil_tmp9 == __cil_tmp8) {
 6442#line 94
 6443    return (-19L);
 6444  } else {
 6445
 6446  }
 6447  }
 6448  {
 6449#line 95
 6450  __cil_tmp10 = mdev->D.protocol;
 6451#line 95
 6452  tmp___0 = sprintf(buf, "%d\n", __cil_tmp10);
 6453  }
 6454#line 95
 6455  return ((ssize_t )tmp___0);
 6456}
 6457}
 6458#line 98 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6459static ssize_t _show_name(struct device *dev , struct device_attribute *attr , char *buf ) 
 6460{ char const   *tmp ;
 6461  size_t tmp___0 ;
 6462  struct device  const  *__cil_tmp6 ;
 6463  char const   *__cil_tmp7 ;
 6464
 6465  {
 6466  {
 6467#line 101
 6468  __cil_tmp6 = (struct device  const  *)dev;
 6469#line 101
 6470  tmp = dev_name(__cil_tmp6);
 6471#line 101
 6472  strcpy(buf, tmp);
 6473#line 102
 6474  __cil_tmp7 = (char const   *)buf;
 6475#line 102
 6476  tmp___0 = strlen(__cil_tmp7);
 6477  }
 6478#line 102
 6479  return ((ssize_t )tmp___0);
 6480}
 6481}
 6482#line 126 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6483static ssize_t _show_channelmap(struct device *dev , struct device_attribute *attr ,
 6484                                char *buf ) 
 6485{ struct mISDNdevice *mdev ;
 6486  struct mISDNdevice *tmp ;
 6487  char *bp ;
 6488  int i ;
 6489  char *tmp___0 ;
 6490  int tmp___2 ;
 6491  u_int __cil_tmp10 ;
 6492  u_char (*__cil_tmp11)[16U] ;
 6493  u_char *__cil_tmp12 ;
 6494  u_int __cil_tmp13 ;
 6495  u_int __cil_tmp14 ;
 6496  long __cil_tmp15 ;
 6497  long __cil_tmp16 ;
 6498
 6499  {
 6500  {
 6501#line 129
 6502  tmp = dev_to_mISDN(dev);
 6503#line 129
 6504  mdev = tmp;
 6505#line 130
 6506  bp = buf;
 6507#line 133
 6508  i = 0;
 6509  }
 6510#line 133
 6511  goto ldv_38429;
 6512  ldv_38428: 
 6513  {
 6514#line 134
 6515  tmp___0 = bp;
 6516#line 134
 6517  bp = bp + 1;
 6518#line 134
 6519  __cil_tmp10 = (u_int )i;
 6520#line 134
 6521  __cil_tmp11 = & mdev->channelmap;
 6522#line 134
 6523  __cil_tmp12 = (u_char *)__cil_tmp11;
 6524#line 134
 6525  tmp___2 = test_channelmap(__cil_tmp10, __cil_tmp12);
 6526  }
 6527#line 134
 6528  if (tmp___2 != 0) {
 6529#line 134
 6530    *tmp___0 = (char)49;
 6531  } else {
 6532#line 134
 6533    *tmp___0 = (char)48;
 6534  }
 6535#line 133
 6536  i = i + 1;
 6537  ldv_38429: ;
 6538  {
 6539#line 133
 6540  __cil_tmp13 = mdev->nrbchan;
 6541#line 133
 6542  __cil_tmp14 = (u_int )i;
 6543#line 133
 6544  if (__cil_tmp14 <= __cil_tmp13) {
 6545#line 134
 6546    goto ldv_38428;
 6547  } else {
 6548#line 136
 6549    goto ldv_38430;
 6550  }
 6551  }
 6552  ldv_38430: ;
 6553  {
 6554#line 136
 6555  __cil_tmp15 = (long )buf;
 6556#line 136
 6557  __cil_tmp16 = (long )bp;
 6558#line 136
 6559  return (__cil_tmp16 - __cil_tmp15);
 6560  }
 6561}
 6562}
 6563#line 139 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6564static struct device_attribute mISDN_dev_attrs[8U]  = 
 6565#line 139
 6566  {      {{"id", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6567                                                 {(char)0}, {(char)0}, {(char)0},
 6568                                                 {(char)0}, {(char)0}}}}, & _show_id,
 6569      (ssize_t (*)(struct device * , struct device_attribute * , char const   * ,
 6570                   size_t  ))0}, 
 6571        {{"d_protocols", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6572                                                          {(char)0}, {(char)0}, {(char)0},
 6573                                                          {(char)0}, {(char)0}}}},
 6574      & _show_d_protocols, (ssize_t (*)(struct device * , struct device_attribute * ,
 6575                                        char const   * , size_t  ))0}, 
 6576        {{"b_protocols", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6577                                                          {(char)0}, {(char)0}, {(char)0},
 6578                                                          {(char)0}, {(char)0}}}},
 6579      & _show_b_protocols, (ssize_t (*)(struct device * , struct device_attribute * ,
 6580                                        char const   * , size_t  ))0}, 
 6581        {{"protocol", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6582                                                       {(char)0}, {(char)0}, {(char)0},
 6583                                                       {(char)0}, {(char)0}}}}, & _show_protocol,
 6584      (ssize_t (*)(struct device * , struct device_attribute * , char const   * ,
 6585                   size_t  ))0}, 
 6586        {{"channelmap", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6587                                                         {(char)0}, {(char)0}, {(char)0},
 6588                                                         {(char)0}, {(char)0}}}},
 6589      & _show_channelmap, (ssize_t (*)(struct device * , struct device_attribute * ,
 6590                                       char const   * , size_t  ))0}, 
 6591        {{"nrbchan", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6592                                                      {(char)0}, {(char)0}, {(char)0},
 6593                                                      {(char)0}, {(char)0}}}}, & _show_nrbchan,
 6594      (ssize_t (*)(struct device * , struct device_attribute * , char const   * ,
 6595                   size_t  ))0}, 
 6596        {{"name", 292U, (struct lock_class_key *)0, {{{(char)0}, {(char)0}, {(char)0},
 6597                                                   {(char)0}, {(char)0}, {(char)0},
 6598                                                   {(char)0}, {(char)0}}}}, & _show_name,
 6599      (ssize_t (*)(struct device * , struct device_attribute * , char const   * ,
 6600                   size_t  ))0}, 
 6601        {{(char const   *)0, 0U, (struct lock_class_key *)0, {{{(char)0}, {(char)0},
 6602                                                            {(char)0}, {(char)0},
 6603                                                            {(char)0}, {(char)0},
 6604                                                            {(char)0}, {(char)0}}}},
 6605      (ssize_t (*)(struct device * , struct device_attribute * , char * ))0, (ssize_t (*)(struct device * ,
 6606                                                                                          struct device_attribute * ,
 6607                                                                                          char const   * ,
 6608                                                                                          size_t  ))0}};
 6609#line 152 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6610static int mISDN_uevent(struct device *dev , struct kobj_uevent_env *env ) 
 6611{ struct mISDNdevice *mdev ;
 6612  struct mISDNdevice *tmp ;
 6613  int tmp___0 ;
 6614  struct mISDNdevice *__cil_tmp6 ;
 6615  unsigned long __cil_tmp7 ;
 6616  unsigned long __cil_tmp8 ;
 6617  u_int __cil_tmp9 ;
 6618
 6619  {
 6620  {
 6621#line 154
 6622  tmp = dev_to_mISDN(dev);
 6623#line 154
 6624  mdev = tmp;
 6625  }
 6626  {
 6627#line 156
 6628  __cil_tmp6 = (struct mISDNdevice *)0;
 6629#line 156
 6630  __cil_tmp7 = (unsigned long )__cil_tmp6;
 6631#line 156
 6632  __cil_tmp8 = (unsigned long )mdev;
 6633#line 156
 6634  if (__cil_tmp8 == __cil_tmp7) {
 6635#line 157
 6636    return (0);
 6637  } else {
 6638
 6639  }
 6640  }
 6641  {
 6642#line 159
 6643  __cil_tmp9 = mdev->nrbchan;
 6644#line 159
 6645  tmp___0 = add_uevent_var(env, "nchans=%d", __cil_tmp9);
 6646  }
 6647#line 159
 6648  if (tmp___0 != 0) {
 6649#line 160
 6650    return (-12);
 6651  } else {
 6652
 6653  }
 6654#line 162
 6655  return (0);
 6656}
 6657}
 6658#line 166 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6659static void mISDN_class_release(struct class *cls ) 
 6660{ 
 6661
 6662  {
 6663#line 168
 6664  return;
 6665}
 6666}
 6667#line 171 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6668static struct class mISDN_class  = 
 6669#line 171
 6670     {"mISDN", & __this_module, (struct class_attribute *)0, (struct device_attribute *)(& mISDN_dev_attrs),
 6671    (struct bin_attribute *)0, (struct kobject *)0, & mISDN_uevent, (char *(*)(struct device * ,
 6672                                                                               mode_t * ))0,
 6673    & mISDN_class_release, & mISDN_dev_release, (int (*)(struct device * , pm_message_t  ))0,
 6674    (int (*)(struct device * ))0, (struct kobj_ns_type_operations  const  *)0, (void const   *(*)(struct device * ))0,
 6675    (struct dev_pm_ops  const  *)0, (struct subsys_private *)0};
 6676#line 183 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6677static int _get_mdevice(struct device *dev , void *id ) 
 6678{ struct mISDNdevice *mdev ;
 6679  struct mISDNdevice *tmp ;
 6680  struct mISDNdevice *__cil_tmp5 ;
 6681  unsigned long __cil_tmp6 ;
 6682  unsigned long __cil_tmp7 ;
 6683  u_int *__cil_tmp8 ;
 6684  u_int __cil_tmp9 ;
 6685  u_int __cil_tmp10 ;
 6686
 6687  {
 6688  {
 6689#line 185
 6690  tmp = dev_to_mISDN(dev);
 6691#line 185
 6692  mdev = tmp;
 6693  }
 6694  {
 6695#line 187
 6696  __cil_tmp5 = (struct mISDNdevice *)0;
 6697#line 187
 6698  __cil_tmp6 = (unsigned long )__cil_tmp5;
 6699#line 187
 6700  __cil_tmp7 = (unsigned long )mdev;
 6701#line 187
 6702  if (__cil_tmp7 == __cil_tmp6) {
 6703#line 188
 6704    return (0);
 6705  } else {
 6706
 6707  }
 6708  }
 6709  {
 6710#line 189
 6711  __cil_tmp8 = (u_int *)id;
 6712#line 189
 6713  __cil_tmp9 = *__cil_tmp8;
 6714#line 189
 6715  __cil_tmp10 = mdev->id;
 6716#line 189
 6717  if (__cil_tmp10 != __cil_tmp9) {
 6718#line 190
 6719    return (0);
 6720  } else {
 6721
 6722  }
 6723  }
 6724#line 191
 6725  return (1);
 6726}
 6727}
 6728#line 195 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6729struct mISDNdevice *get_mdevice(u_int id ) 
 6730{ struct device *tmp ;
 6731  struct mISDNdevice *tmp___0 ;
 6732  struct device *__cil_tmp4 ;
 6733  void *__cil_tmp5 ;
 6734
 6735  {
 6736  {
 6737#line 197
 6738  __cil_tmp4 = (struct device *)0;
 6739#line 197
 6740  __cil_tmp5 = (void *)(& id);
 6741#line 197
 6742  tmp = class_find_device(& mISDN_class, __cil_tmp4, __cil_tmp5, & _get_mdevice);
 6743#line 197
 6744  tmp___0 = dev_to_mISDN(tmp);
 6745  }
 6746#line 197
 6747  return (tmp___0);
 6748}
 6749}
 6750#line 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6751static int _get_mdevice_count(struct device *dev , void *cnt ) 
 6752{ int *__cil_tmp3 ;
 6753  int *__cil_tmp4 ;
 6754  int __cil_tmp5 ;
 6755
 6756  {
 6757#line 204
 6758  __cil_tmp3 = (int *)cnt;
 6759#line 204
 6760  __cil_tmp4 = (int *)cnt;
 6761#line 204
 6762  __cil_tmp5 = *__cil_tmp4;
 6763#line 204
 6764  *__cil_tmp3 = __cil_tmp5 + 1;
 6765#line 205
 6766  return (0);
 6767}
 6768}
 6769#line 209 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6770int get_mdevice_count(void) 
 6771{ int cnt ;
 6772  struct device *__cil_tmp2 ;
 6773  void *__cil_tmp3 ;
 6774
 6775  {
 6776  {
 6777#line 211
 6778  cnt = 0;
 6779#line 213
 6780  __cil_tmp2 = (struct device *)0;
 6781#line 213
 6782  __cil_tmp3 = (void *)(& cnt);
 6783#line 213
 6784  class_for_each_device(& mISDN_class, __cil_tmp2, __cil_tmp3, & _get_mdevice_count);
 6785  }
 6786#line 214
 6787  return (cnt);
 6788}
 6789}
 6790#line 218 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6791static int get_free_devid(void) 
 6792{ u_int i ;
 6793  int tmp ;
 6794  int __cil_tmp3 ;
 6795  unsigned long volatile   *__cil_tmp4 ;
 6796
 6797  {
 6798#line 222
 6799  i = 0U;
 6800#line 222
 6801  goto ldv_38463;
 6802  ldv_38462: 
 6803  {
 6804#line 223
 6805  __cil_tmp3 = (int )i;
 6806#line 223
 6807  __cil_tmp4 = (unsigned long volatile   *)(& device_ids);
 6808#line 223
 6809  tmp = test_and_set_bit(__cil_tmp3, __cil_tmp4);
 6810  }
 6811#line 223
 6812  if (tmp == 0) {
 6813#line 224
 6814    goto ldv_38461;
 6815  } else {
 6816
 6817  }
 6818#line 222
 6819  i = i + 1U;
 6820  ldv_38463: ;
 6821#line 222
 6822  if (i <= 63U) {
 6823#line 223
 6824    goto ldv_38462;
 6825  } else {
 6826#line 225
 6827    goto ldv_38461;
 6828  }
 6829  ldv_38461: ;
 6830#line 225
 6831  if (i > 63U) {
 6832#line 226
 6833    return (-16);
 6834  } else {
 6835
 6836  }
 6837#line 227
 6838  return ((int )i);
 6839}
 6840}
 6841#line 231 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 6842int mISDN_register_device(struct mISDNdevice *dev , struct device *parent , char *name ) 
 6843{ int err ;
 6844  char const   *tmp ;
 6845  struct device *__cil_tmp6 ;
 6846  char *__cil_tmp7 ;
 6847  unsigned long __cil_tmp8 ;
 6848  unsigned long __cil_tmp9 ;
 6849  char __cil_tmp10 ;
 6850  signed char __cil_tmp11 ;
 6851  int __cil_tmp12 ;
 6852  struct device *__cil_tmp13 ;
 6853  struct device *__cil_tmp14 ;
 6854  u_int __cil_tmp15 ;
 6855  struct device *__cil_tmp16 ;
 6856  u_int __cil_tmp17 ;
 6857  unsigned int __cil_tmp18 ;
 6858  struct device *__cil_tmp19 ;
 6859  struct device  const  *__cil_tmp20 ;
 6860  u_int __cil_tmp21 ;
 6861  struct device *__cil_tmp22 ;
 6862  void *__cil_tmp23 ;
 6863  struct device *__cil_tmp24 ;
 6864
 6865  {
 6866  {
 6867#line 236
 6868  err = get_free_devid();
 6869  }
 6870#line 237
 6871  if (err < 0) {
 6872#line 238
 6873    goto error1;
 6874  } else {
 6875
 6876  }
 6877  {
 6878#line 239
 6879  dev->id = (u_int )err;
 6880#line 241
 6881  __cil_tmp6 = & dev->dev;
 6882#line 241
 6883  device_initialize(__cil_tmp6);
 6884  }
 6885  {
 6886#line 242
 6887  __cil_tmp7 = (char *)0;
 6888#line 242
 6889  __cil_tmp8 = (unsigned long )__cil_tmp7;
 6890#line 242
 6891  __cil_tmp9 = (unsigned long )name;
 6892#line 242
 6893  if (__cil_tmp9 != __cil_tmp8) {
 6894    {
 6895#line 242
 6896    __cil_tmp10 = *name;
 6897#line 242
 6898    __cil_tmp11 = (signed char )__cil_tmp10;
 6899#line 242
 6900    __cil_tmp12 = (int )__cil_tmp11;
 6901#line 242
 6902    if (__cil_tmp12 != 0) {
 6903      {
 6904#line 243
 6905      __cil_tmp13 = & dev->dev;
 6906#line 243
 6907      dev_set_name(__cil_tmp13, "%s", name);
 6908      }
 6909    } else {
 6910      {
 6911#line 245
 6912      __cil_tmp14 = & dev->dev;
 6913#line 245
 6914      __cil_tmp15 = dev->id;
 6915#line 245
 6916      dev_set_name(__cil_tmp14, "mISDN%d", __cil_tmp15);
 6917      }
 6918    }
 6919    }
 6920  } else {
 6921    {
 6922#line 245
 6923    __cil_tmp16 = & dev->dev;
 6924#line 245
 6925    __cil_tmp17 = dev->id;
 6926#line 245
 6927    dev_set_name(__cil_tmp16, "mISDN%d", __cil_tmp17);
 6928    }
 6929  }
 6930  }
 6931  {
 6932#line 246
 6933  __cil_tmp18 = debug & 255U;
 6934#line 246
 6935  if (__cil_tmp18 != 0U) {
 6936    {
 6937#line 247
 6938    __cil_tmp19 = & dev->dev;
 6939#line 247
 6940    __cil_tmp20 = (struct device  const  *)__cil_tmp19;
 6941#line 247
 6942    tmp = dev_name(__cil_tmp20);
 6943#line 247
 6944    __cil_tmp21 = dev->id;
 6945#line 247
 6946    printk("<7>mISDN_register %s %d\n", tmp, __cil_tmp21);
 6947    }
 6948  } else {
 6949
 6950  }
 6951  }
 6952  {
 6953#line 249
 6954  err = create_stack(dev);
 6955  }
 6956#line 250
 6957  if (err != 0) {
 6958#line 251
 6959    goto error1;
 6960  } else {
 6961
 6962  }
 6963  {
 6964#line 253
 6965  dev->dev.class = & mISDN_class;
 6966#line 254
 6967  dev->dev.platform_data = (void *)dev;
 6968#line 255
 6969  dev->dev.parent = parent;
 6970#line 256
 6971  __cil_tmp22 = & dev->dev;
 6972#line 256
 6973  __cil_tmp23 = (void *)dev;
 6974#line 256
 6975  dev_set_drvdata(__cil_tmp22, __cil_tmp23);
 6976#line 258
 6977  __cil_tmp24 = & dev->dev;
 6978#line 258
 6979  err = device_add(__cil_tmp24);
 6980  }
 6981#line 259
 6982  if (err != 0) {
 6983#line 260
 6984    goto error3;
 6985  } else {
 6986
 6987  }
 6988#line 261
 6989  return (0);
 6990  error3: 
 6991  {
 6992#line 264
 6993  delete_stack(dev);
 6994  }
 6995#line 265
 6996  return (err);
 6997  error1: ;
 6998#line 267
 6999  return (err);
 7000}
 7001}
 7002#line 273 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7003void mISDN_unregister_device(struct mISDNdevice *dev ) 
 7004{ char const   *tmp ;
 7005  unsigned int __cil_tmp3 ;
 7006  struct device *__cil_tmp4 ;
 7007  struct device  const  *__cil_tmp5 ;
 7008  u_int __cil_tmp6 ;
 7009  struct device *__cil_tmp7 ;
 7010  struct device *__cil_tmp8 ;
 7011  void *__cil_tmp9 ;
 7012  u_int __cil_tmp10 ;
 7013  int __cil_tmp11 ;
 7014  unsigned long volatile   *__cil_tmp12 ;
 7015  struct device *__cil_tmp13 ;
 7016
 7017  {
 7018  {
 7019#line 274
 7020  __cil_tmp3 = debug & 255U;
 7021#line 274
 7022  if (__cil_tmp3 != 0U) {
 7023    {
 7024#line 275
 7025    __cil_tmp4 = & dev->dev;
 7026#line 275
 7027    __cil_tmp5 = (struct device  const  *)__cil_tmp4;
 7028#line 275
 7029    tmp = dev_name(__cil_tmp5);
 7030#line 275
 7031    __cil_tmp6 = dev->id;
 7032#line 275
 7033    printk("<7>mISDN_unregister %s %d\n", tmp, __cil_tmp6);
 7034    }
 7035  } else {
 7036
 7037  }
 7038  }
 7039  {
 7040#line 278
 7041  __cil_tmp7 = & dev->dev;
 7042#line 278
 7043  device_del(__cil_tmp7);
 7044#line 279
 7045  __cil_tmp8 = & dev->dev;
 7046#line 279
 7047  __cil_tmp9 = (void *)0;
 7048#line 279
 7049  dev_set_drvdata(__cil_tmp8, __cil_tmp9);
 7050#line 281
 7051  __cil_tmp10 = dev->id;
 7052#line 281
 7053  __cil_tmp11 = (int )__cil_tmp10;
 7054#line 281
 7055  __cil_tmp12 = (unsigned long volatile   *)(& device_ids);
 7056#line 281
 7057  test_and_clear_bit(__cil_tmp11, __cil_tmp12);
 7058#line 282
 7059  delete_stack(dev);
 7060#line 283
 7061  __cil_tmp13 = & dev->dev;
 7062#line 283
 7063  put_device(__cil_tmp13);
 7064  }
 7065#line 284
 7066  return;
 7067}
 7068}
 7069#line 288 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7070u_int get_all_Bprotocols(void) 
 7071{ struct Bprotocol *bp ;
 7072  u_int m ;
 7073  struct list_head  const  *__mptr ;
 7074  struct list_head  const  *__mptr___0 ;
 7075  u_int __cil_tmp5 ;
 7076  struct list_head *__cil_tmp6 ;
 7077  unsigned long __cil_tmp7 ;
 7078  struct list_head *__cil_tmp8 ;
 7079  unsigned long __cil_tmp9 ;
 7080
 7081  {
 7082  {
 7083#line 291
 7084  m = 0U;
 7085#line 293
 7086  _raw_read_lock(& bp_lock);
 7087#line 294
 7088  __mptr = (struct list_head  const  *)Bprotocols.next;
 7089#line 294
 7090  bp = (struct Bprotocol *)__mptr;
 7091  }
 7092#line 294
 7093  goto ldv_38499;
 7094  ldv_38498: 
 7095#line 295
 7096  __cil_tmp5 = bp->Bprotocols;
 7097#line 295
 7098  m = __cil_tmp5 | m;
 7099#line 294
 7100  __cil_tmp6 = bp->list.next;
 7101#line 294
 7102  __mptr___0 = (struct list_head  const  *)__cil_tmp6;
 7103#line 294
 7104  bp = (struct Bprotocol *)__mptr___0;
 7105  ldv_38499: ;
 7106  {
 7107#line 294
 7108  __cil_tmp7 = (unsigned long )(& Bprotocols);
 7109#line 294
 7110  __cil_tmp8 = & bp->list;
 7111#line 294
 7112  __cil_tmp9 = (unsigned long )__cil_tmp8;
 7113#line 294
 7114  if (__cil_tmp9 != __cil_tmp7) {
 7115#line 295
 7116    goto ldv_38498;
 7117  } else {
 7118#line 297
 7119    goto ldv_38500;
 7120  }
 7121  }
 7122  ldv_38500: 
 7123  {
 7124#line 296
 7125  _raw_read_unlock(& bp_lock);
 7126  }
 7127#line 297
 7128  return (m);
 7129}
 7130}
 7131#line 301 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7132struct Bprotocol *get_Bprotocol4mask(u_int m ) 
 7133{ struct Bprotocol *bp ;
 7134  struct list_head  const  *__mptr ;
 7135  struct list_head  const  *__mptr___0 ;
 7136  u_int __cil_tmp5 ;
 7137  unsigned int __cil_tmp6 ;
 7138  struct list_head *__cil_tmp7 ;
 7139  unsigned long __cil_tmp8 ;
 7140  struct list_head *__cil_tmp9 ;
 7141  unsigned long __cil_tmp10 ;
 7142
 7143  {
 7144  {
 7145#line 305
 7146  _raw_read_lock(& bp_lock);
 7147#line 306
 7148  __mptr = (struct list_head  const  *)Bprotocols.next;
 7149#line 306
 7150  bp = (struct Bprotocol *)__mptr;
 7151  }
 7152#line 306
 7153  goto ldv_38510;
 7154  ldv_38509: ;
 7155  {
 7156#line 307
 7157  __cil_tmp5 = bp->Bprotocols;
 7158#line 307
 7159  __cil_tmp6 = __cil_tmp5 & m;
 7160#line 307
 7161  if (__cil_tmp6 != 0U) {
 7162    {
 7163#line 308
 7164    _raw_read_unlock(& bp_lock);
 7165    }
 7166#line 309
 7167    return (bp);
 7168  } else {
 7169
 7170  }
 7171  }
 7172#line 306
 7173  __cil_tmp7 = bp->list.next;
 7174#line 306
 7175  __mptr___0 = (struct list_head  const  *)__cil_tmp7;
 7176#line 306
 7177  bp = (struct Bprotocol *)__mptr___0;
 7178  ldv_38510: ;
 7179  {
 7180#line 306
 7181  __cil_tmp8 = (unsigned long )(& Bprotocols);
 7182#line 306
 7183  __cil_tmp9 = & bp->list;
 7184#line 306
 7185  __cil_tmp10 = (unsigned long )__cil_tmp9;
 7186#line 306
 7187  if (__cil_tmp10 != __cil_tmp8) {
 7188#line 307
 7189    goto ldv_38509;
 7190  } else {
 7191#line 309
 7192    goto ldv_38511;
 7193  }
 7194  }
 7195  ldv_38511: 
 7196  {
 7197#line 311
 7198  _raw_read_unlock(& bp_lock);
 7199  }
 7200#line 312
 7201  return ((struct Bprotocol *)0);
 7202}
 7203}
 7204#line 316 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7205struct Bprotocol *get_Bprotocol4id(u_int id ) 
 7206{ u_int m ;
 7207  struct Bprotocol *tmp ;
 7208  int __cil_tmp4 ;
 7209  int __cil_tmp5 ;
 7210  int __cil_tmp6 ;
 7211
 7212  {
 7213#line 320
 7214  if (id <= 31U) {
 7215    {
 7216#line 321
 7217    printk("<4>%s id not in range  %d\n", "get_Bprotocol4id", id);
 7218    }
 7219#line 323
 7220    return ((struct Bprotocol *)0);
 7221  } else
 7222#line 320
 7223  if (id > 63U) {
 7224    {
 7225#line 321
 7226    printk("<4>%s id not in range  %d\n", "get_Bprotocol4id", id);
 7227    }
 7228#line 323
 7229    return ((struct Bprotocol *)0);
 7230  } else {
 7231
 7232  }
 7233  {
 7234#line 325
 7235  __cil_tmp4 = (int )id;
 7236#line 325
 7237  __cil_tmp5 = __cil_tmp4 & 31;
 7238#line 325
 7239  __cil_tmp6 = 1 << __cil_tmp5;
 7240#line 325
 7241  m = (u_int )__cil_tmp6;
 7242#line 326
 7243  tmp = get_Bprotocol4mask(m);
 7244  }
 7245#line 326
 7246  return (tmp);
 7247}
 7248}
 7249#line 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7250int mISDN_register_Bprotocol(struct Bprotocol *bp ) 
 7251{ u_long flags ;
 7252  struct Bprotocol *old ;
 7253  unsigned int __cil_tmp4 ;
 7254  char *__cil_tmp5 ;
 7255  u_int __cil_tmp6 ;
 7256  u_int __cil_tmp7 ;
 7257  struct Bprotocol *__cil_tmp8 ;
 7258  unsigned long __cil_tmp9 ;
 7259  unsigned long __cil_tmp10 ;
 7260  char *__cil_tmp11 ;
 7261  u_int __cil_tmp12 ;
 7262  char *__cil_tmp13 ;
 7263  u_int __cil_tmp14 ;
 7264  struct list_head *__cil_tmp15 ;
 7265
 7266  {
 7267  {
 7268#line 335
 7269  __cil_tmp4 = debug & 255U;
 7270#line 335
 7271  if (__cil_tmp4 != 0U) {
 7272    {
 7273#line 336
 7274    __cil_tmp5 = bp->name;
 7275#line 336
 7276    __cil_tmp6 = bp->Bprotocols;
 7277#line 336
 7278    printk("<7>%s: %s/%x\n", "mISDN_register_Bprotocol", __cil_tmp5, __cil_tmp6);
 7279    }
 7280  } else {
 7281
 7282  }
 7283  }
 7284  {
 7285#line 338
 7286  __cil_tmp7 = bp->Bprotocols;
 7287#line 338
 7288  old = get_Bprotocol4mask(__cil_tmp7);
 7289  }
 7290  {
 7291#line 339
 7292  __cil_tmp8 = (struct Bprotocol *)0;
 7293#line 339
 7294  __cil_tmp9 = (unsigned long )__cil_tmp8;
 7295#line 339
 7296  __cil_tmp10 = (unsigned long )old;
 7297#line 339
 7298  if (__cil_tmp10 != __cil_tmp9) {
 7299    {
 7300#line 340
 7301    __cil_tmp11 = old->name;
 7302#line 340
 7303    __cil_tmp12 = old->Bprotocols;
 7304#line 340
 7305    __cil_tmp13 = bp->name;
 7306#line 340
 7307    __cil_tmp14 = bp->Bprotocols;
 7308#line 340
 7309    printk("<4>register duplicate protocol old %s/%x new %s/%x\n", __cil_tmp11, __cil_tmp12,
 7310           __cil_tmp13, __cil_tmp14);
 7311    }
 7312#line 343
 7313    return (-16);
 7314  } else {
 7315
 7316  }
 7317  }
 7318  {
 7319#line 345
 7320  flags = _raw_write_lock_irqsave(& bp_lock);
 7321#line 346
 7322  __cil_tmp15 = & bp->list;
 7323#line 346
 7324  list_add_tail(__cil_tmp15, & Bprotocols);
 7325#line 347
 7326  _raw_write_unlock_irqrestore(& bp_lock, flags);
 7327  }
 7328#line 348
 7329  return (0);
 7330}
 7331}
 7332#line 353 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7333void mISDN_unregister_Bprotocol(struct Bprotocol *bp ) 
 7334{ u_long flags ;
 7335  unsigned int __cil_tmp3 ;
 7336  char *__cil_tmp4 ;
 7337  u_int __cil_tmp5 ;
 7338  struct list_head *__cil_tmp6 ;
 7339
 7340  {
 7341  {
 7342#line 357
 7343  __cil_tmp3 = debug & 255U;
 7344#line 357
 7345  if (__cil_tmp3 != 0U) {
 7346    {
 7347#line 358
 7348    __cil_tmp4 = bp->name;
 7349#line 358
 7350    __cil_tmp5 = bp->Bprotocols;
 7351#line 358
 7352    printk("<7>%s: %s/%x\n", "mISDN_unregister_Bprotocol", __cil_tmp4, __cil_tmp5);
 7353    }
 7354  } else {
 7355
 7356  }
 7357  }
 7358  {
 7359#line 360
 7360  flags = _raw_write_lock_irqsave(& bp_lock);
 7361#line 361
 7362  __cil_tmp6 = & bp->list;
 7363#line 361
 7364  list_del(__cil_tmp6);
 7365#line 362
 7366  _raw_write_unlock_irqrestore(& bp_lock, flags);
 7367  }
 7368#line 363
 7369  return;
 7370}
 7371}
 7372#line 435
 7373void ldv_check_final_state(void) ;
 7374#line 441
 7375extern void ldv_initialize(void) ;
 7376#line 444
 7377extern int nondet_int(void) ;
 7378#line 447 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7379int LDV_IN_INTERRUPT  ;
 7380#line 5 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast-assert.h"
 7381void ldv_blast_assert(void) 
 7382{ 
 7383
 7384  {
 7385  ERROR: ;
 7386#line 6
 7387  goto ERROR;
 7388}
 7389}
 7390#line 6 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/kernel-rules/files/engine-blast.h"
 7391extern int ldv_undefined_int(void) ;
 7392#line 660 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7393int ldv_module_refcounter  =    1;
 7394#line 663 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7395void ldv_module_get(struct module *module ) 
 7396{ struct module *__cil_tmp2 ;
 7397  unsigned long __cil_tmp3 ;
 7398  unsigned long __cil_tmp4 ;
 7399
 7400  {
 7401  {
 7402#line 666
 7403  __cil_tmp2 = (struct module *)0;
 7404#line 666
 7405  __cil_tmp3 = (unsigned long )__cil_tmp2;
 7406#line 666
 7407  __cil_tmp4 = (unsigned long )module;
 7408#line 666
 7409  if (__cil_tmp4 != __cil_tmp3) {
 7410#line 668
 7411    ldv_module_refcounter = ldv_module_refcounter + 1;
 7412  } else {
 7413
 7414  }
 7415  }
 7416#line 669
 7417  return;
 7418}
 7419}
 7420#line 673 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7421int ldv_try_module_get(struct module *module ) 
 7422{ int module_get_succeeded ;
 7423  struct module *__cil_tmp3 ;
 7424  unsigned long __cil_tmp4 ;
 7425  unsigned long __cil_tmp5 ;
 7426
 7427  {
 7428  {
 7429#line 678
 7430  __cil_tmp3 = (struct module *)0;
 7431#line 678
 7432  __cil_tmp4 = (unsigned long )__cil_tmp3;
 7433#line 678
 7434  __cil_tmp5 = (unsigned long )module;
 7435#line 678
 7436  if (__cil_tmp5 != __cil_tmp4) {
 7437    {
 7438#line 681
 7439    module_get_succeeded = ldv_undefined_int();
 7440    }
 7441#line 683
 7442    if (module_get_succeeded == 1) {
 7443#line 685
 7444      ldv_module_refcounter = ldv_module_refcounter + 1;
 7445#line 687
 7446      return (1);
 7447    } else {
 7448#line 692
 7449      return (0);
 7450    }
 7451  } else {
 7452
 7453  }
 7454  }
 7455#line 694
 7456  return (0);
 7457}
 7458}
 7459#line 698 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7460void ldv_module_put(struct module *module ) 
 7461{ struct module *__cil_tmp2 ;
 7462  unsigned long __cil_tmp3 ;
 7463  unsigned long __cil_tmp4 ;
 7464
 7465  {
 7466  {
 7467#line 701
 7468  __cil_tmp2 = (struct module *)0;
 7469#line 701
 7470  __cil_tmp3 = (unsigned long )__cil_tmp2;
 7471#line 701
 7472  __cil_tmp4 = (unsigned long )module;
 7473#line 701
 7474  if (__cil_tmp4 != __cil_tmp3) {
 7475#line 703
 7476    if (ldv_module_refcounter <= 1) {
 7477      {
 7478#line 703
 7479      ldv_blast_assert();
 7480      }
 7481    } else {
 7482
 7483    }
 7484#line 705
 7485    ldv_module_refcounter = ldv_module_refcounter - 1;
 7486  } else {
 7487
 7488  }
 7489  }
 7490#line 707
 7491  return;
 7492}
 7493}
 7494#line 710 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7495void ldv_module_put_and_exit(void) 
 7496{ struct module *__cil_tmp1 ;
 7497
 7498  {
 7499  {
 7500#line 712
 7501  __cil_tmp1 = (struct module *)1;
 7502#line 712
 7503  ldv_module_put(__cil_tmp1);
 7504  }
 7505  LDV_STOP: ;
 7506#line 714
 7507  goto LDV_STOP;
 7508}
 7509}
 7510#line 718 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7511unsigned int ldv_module_refcount(void) 
 7512{ int __cil_tmp1 ;
 7513
 7514  {
 7515  {
 7516#line 721
 7517  __cil_tmp1 = ldv_module_refcounter + -1;
 7518#line 721
 7519  return ((unsigned int )__cil_tmp1);
 7520  }
 7521}
 7522}
 7523#line 725 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/core.c.p"
 7524void ldv_check_final_state(void) 
 7525{ 
 7526
 7527  {
 7528#line 728
 7529  if (ldv_module_refcounter != 1) {
 7530    {
 7531#line 728
 7532    ldv_blast_assert();
 7533    }
 7534  } else {
 7535
 7536  }
 7537#line 731
 7538  return;
 7539}
 7540}
 7541#line 82 "include/linux/jiffies.h"
 7542extern unsigned long volatile   jiffies ;
 7543#line 91 "include/linux/timer.h"
 7544extern void init_timer_key(struct timer_list * , char const   * , struct lock_class_key * ) ;
 7545#line 204 "include/linux/timer.h"
 7546__inline static int timer_pending(struct timer_list  const  *timer ) 
 7547{ struct list_head *__cil_tmp2 ;
 7548  unsigned long __cil_tmp3 ;
 7549  struct list_head *__cil_tmp4 ;
 7550  unsigned long __cil_tmp5 ;
 7551
 7552  {
 7553  {
 7554#line 206
 7555  __cil_tmp2 = (struct list_head * const  )0;
 7556#line 206
 7557  __cil_tmp3 = (unsigned long )__cil_tmp2;
 7558#line 206
 7559  __cil_tmp4 = timer->entry.next;
 7560#line 206
 7561  __cil_tmp5 = (unsigned long )__cil_tmp4;
 7562#line 206
 7563  return (__cil_tmp5 != __cil_tmp3);
 7564  }
 7565}
 7566}
 7567#line 210
 7568extern int del_timer(struct timer_list * ) ;
 7569#line 275
 7570extern void add_timer(struct timer_list * ) ;
 7571#line 830 "include/linux/rcupdate.h"
 7572extern void kfree(void const   * ) ;
 7573#line 221 "include/linux/slub_def.h"
 7574extern void *__kmalloc(size_t  , gfp_t  ) ;
 7575#line 255 "include/linux/slub_def.h"
 7576__inline static void *kmalloc(size_t size , gfp_t flags ) 
 7577{ void *tmp___2 ;
 7578
 7579  {
 7580  {
 7581#line 270
 7582  tmp___2 = __kmalloc(size, flags);
 7583  }
 7584#line 270
 7585  return (tmp___2);
 7586}
 7587}
 7588#line 318 "include/linux/slab.h"
 7589__inline static void *kzalloc(size_t size , gfp_t flags ) 
 7590{ void *tmp ;
 7591  unsigned int __cil_tmp4 ;
 7592
 7593  {
 7594  {
 7595#line 320
 7596  __cil_tmp4 = flags | 32768U;
 7597#line 320
 7598  tmp = kmalloc(size, __cil_tmp4);
 7599  }
 7600#line 320
 7601  return (tmp);
 7602}
 7603}
 7604#line 58 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/fsm.h"
 7605void mISDN_FsmNew(struct Fsm *fsm , struct FsmNode *fnlist , int fncount ) ;
 7606#line 59
 7607void mISDN_FsmFree(struct Fsm *fsm ) ;
 7608#line 60
 7609int mISDN_FsmEvent(struct FsmInst *fi , int event , void *arg ) ;
 7610#line 61
 7611void mISDN_FsmChangeState(struct FsmInst *fi , int newstate ) ;
 7612#line 62
 7613void mISDN_FsmInitTimer(struct FsmInst *fi , struct FsmTimer *ft ) ;
 7614#line 63
 7615int mISDN_FsmAddTimer(struct FsmTimer *ft , int millisec , int event , void *arg ,
 7616                      int where ) ;
 7617#line 64
 7618void mISDN_FsmRestartTimer(struct FsmTimer *ft , int millisec , int event , void *arg ,
 7619                           int where ) ;
 7620#line 65
 7621void mISDN_FsmDelTimer(struct FsmTimer *ft , int where ) ;
 7622#line 37 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 7623void mISDN_FsmNew(struct Fsm *fsm , struct FsmNode *fnlist , int fncount ) 
 7624{ int i ;
 7625  void *tmp ;
 7626  int __cil_tmp6 ;
 7627  unsigned long __cil_tmp7 ;
 7628  int __cil_tmp8 ;
 7629  unsigned long __cil_tmp9 ;
 7630  unsigned long __cil_tmp10 ;
 7631  unsigned long __cil_tmp11 ;
 7632  int __cil_tmp12 ;
 7633  unsigned long __cil_tmp13 ;
 7634  struct FsmNode *__cil_tmp14 ;
 7635  int __cil_tmp15 ;
 7636  unsigned long __cil_tmp16 ;
 7637  struct FsmNode *__cil_tmp17 ;
 7638  int __cil_tmp18 ;
 7639  long __cil_tmp19 ;
 7640  int __cil_tmp20 ;
 7641  long __cil_tmp21 ;
 7642  unsigned long __cil_tmp22 ;
 7643  struct FsmNode *__cil_tmp23 ;
 7644  int __cil_tmp24 ;
 7645  long __cil_tmp25 ;
 7646  int __cil_tmp26 ;
 7647  long __cil_tmp27 ;
 7648  int __cil_tmp28 ;
 7649  unsigned long __cil_tmp29 ;
 7650  struct FsmNode *__cil_tmp30 ;
 7651  int __cil_tmp31 ;
 7652  unsigned long __cil_tmp32 ;
 7653  struct FsmNode *__cil_tmp33 ;
 7654  int __cil_tmp34 ;
 7655  long __cil_tmp35 ;
 7656  int __cil_tmp36 ;
 7657  long __cil_tmp37 ;
 7658  unsigned long __cil_tmp38 ;
 7659  struct FsmNode *__cil_tmp39 ;
 7660  int __cil_tmp40 ;
 7661  long __cil_tmp41 ;
 7662  int __cil_tmp42 ;
 7663  long __cil_tmp43 ;
 7664  unsigned long __cil_tmp44 ;
 7665  struct FsmNode *__cil_tmp45 ;
 7666  int __cil_tmp46 ;
 7667  unsigned long __cil_tmp47 ;
 7668  struct FsmNode *__cil_tmp48 ;
 7669  int __cil_tmp49 ;
 7670  int __cil_tmp50 ;
 7671  int __cil_tmp51 ;
 7672  int __cil_tmp52 ;
 7673  unsigned long __cil_tmp53 ;
 7674  FSMFNPTR (**__cil_tmp54)(struct FsmInst * , int  , void * ) ;
 7675  FSMFNPTR (**__cil_tmp55)(struct FsmInst * , int  , void * ) ;
 7676  unsigned long __cil_tmp56 ;
 7677  struct FsmNode *__cil_tmp57 ;
 7678  void (*__cil_tmp58)(struct FsmInst * , int  , void * ) ;
 7679
 7680  {
 7681  {
 7682#line 42
 7683  __cil_tmp6 = fsm->event_count;
 7684#line 42
 7685  __cil_tmp7 = (unsigned long )__cil_tmp6;
 7686#line 42
 7687  __cil_tmp8 = fsm->state_count;
 7688#line 42
 7689  __cil_tmp9 = (unsigned long )__cil_tmp8;
 7690#line 42
 7691  __cil_tmp10 = __cil_tmp9 * __cil_tmp7;
 7692#line 42
 7693  __cil_tmp11 = __cil_tmp10 * 8UL;
 7694#line 42
 7695  tmp = kzalloc(__cil_tmp11, 208U);
 7696#line 42
 7697  fsm->jumpmatrix = (FSMFNPTR (**)(struct FsmInst * , int  , void * ))tmp;
 7698#line 45
 7699  i = 0;
 7700  }
 7701#line 45
 7702  goto ldv_13951;
 7703  ldv_13950: ;
 7704  {
 7705#line 46
 7706  __cil_tmp12 = fsm->state_count;
 7707#line 46
 7708  __cil_tmp13 = (unsigned long )i;
 7709#line 46
 7710  __cil_tmp14 = fnlist + __cil_tmp13;
 7711#line 46
 7712  __cil_tmp15 = __cil_tmp14->state;
 7713#line 46
 7714  if (__cil_tmp15 >= __cil_tmp12) {
 7715    {
 7716#line 48
 7717    __cil_tmp16 = (unsigned long )i;
 7718#line 48
 7719    __cil_tmp17 = fnlist + __cil_tmp16;
 7720#line 48
 7721    __cil_tmp18 = __cil_tmp17->state;
 7722#line 48
 7723    __cil_tmp19 = (long )__cil_tmp18;
 7724#line 48
 7725    __cil_tmp20 = fsm->state_count;
 7726#line 48
 7727    __cil_tmp21 = (long )__cil_tmp20;
 7728#line 48
 7729    __cil_tmp22 = (unsigned long )i;
 7730#line 48
 7731    __cil_tmp23 = fnlist + __cil_tmp22;
 7732#line 48
 7733    __cil_tmp24 = __cil_tmp23->event;
 7734#line 48
 7735    __cil_tmp25 = (long )__cil_tmp24;
 7736#line 48
 7737    __cil_tmp26 = fsm->event_count;
 7738#line 48
 7739    __cil_tmp27 = (long )__cil_tmp26;
 7740#line 48
 7741    printk("<3>mISDN_FsmNew Error: %d st(%ld/%ld) ev(%ld/%ld)\n", i, __cil_tmp19,
 7742           __cil_tmp21, __cil_tmp25, __cil_tmp27);
 7743    }
 7744  } else {
 7745    {
 7746#line 46
 7747    __cil_tmp28 = fsm->event_count;
 7748#line 46
 7749    __cil_tmp29 = (unsigned long )i;
 7750#line 46
 7751    __cil_tmp30 = fnlist + __cil_tmp29;
 7752#line 46
 7753    __cil_tmp31 = __cil_tmp30->event;
 7754#line 46
 7755    if (__cil_tmp31 >= __cil_tmp28) {
 7756      {
 7757#line 48
 7758      __cil_tmp32 = (unsigned long )i;
 7759#line 48
 7760      __cil_tmp33 = fnlist + __cil_tmp32;
 7761#line 48
 7762      __cil_tmp34 = __cil_tmp33->state;
 7763#line 48
 7764      __cil_tmp35 = (long )__cil_tmp34;
 7765#line 48
 7766      __cil_tmp36 = fsm->state_count;
 7767#line 48
 7768      __cil_tmp37 = (long )__cil_tmp36;
 7769#line 48
 7770      __cil_tmp38 = (unsigned long )i;
 7771#line 48
 7772      __cil_tmp39 = fnlist + __cil_tmp38;
 7773#line 48
 7774      __cil_tmp40 = __cil_tmp39->event;
 7775#line 48
 7776      __cil_tmp41 = (long )__cil_tmp40;
 7777#line 48
 7778      __cil_tmp42 = fsm->event_count;
 7779#line 48
 7780      __cil_tmp43 = (long )__cil_tmp42;
 7781#line 48
 7782      printk("<3>mISDN_FsmNew Error: %d st(%ld/%ld) ev(%ld/%ld)\n", i, __cil_tmp35,
 7783             __cil_tmp37, __cil_tmp41, __cil_tmp43);
 7784      }
 7785    } else {
 7786#line 53
 7787      __cil_tmp44 = (unsigned long )i;
 7788#line 53
 7789      __cil_tmp45 = fnlist + __cil_tmp44;
 7790#line 53
 7791      __cil_tmp46 = __cil_tmp45->state;
 7792#line 53
 7793      __cil_tmp47 = (unsigned long )i;
 7794#line 53
 7795      __cil_tmp48 = fnlist + __cil_tmp47;
 7796#line 53
 7797      __cil_tmp49 = __cil_tmp48->event;
 7798#line 53
 7799      __cil_tmp50 = fsm->state_count;
 7800#line 53
 7801      __cil_tmp51 = __cil_tmp50 * __cil_tmp49;
 7802#line 53
 7803      __cil_tmp52 = __cil_tmp51 + __cil_tmp46;
 7804#line 53
 7805      __cil_tmp53 = (unsigned long )__cil_tmp52;
 7806#line 53
 7807      __cil_tmp54 = fsm->jumpmatrix;
 7808#line 53
 7809      __cil_tmp55 = __cil_tmp54 + __cil_tmp53;
 7810#line 53
 7811      __cil_tmp56 = (unsigned long )i;
 7812#line 53
 7813      __cil_tmp57 = fnlist + __cil_tmp56;
 7814#line 53
 7815      __cil_tmp58 = __cil_tmp57->routine;
 7816#line 53
 7817      *__cil_tmp55 = (FSMFNPTR (*)(struct FsmInst * , int  , void * ))__cil_tmp58;
 7818    }
 7819    }
 7820  }
 7821  }
 7822#line 45
 7823  i = i + 1;
 7824  ldv_13951: ;
 7825#line 45
 7826  if (i < fncount) {
 7827#line 46
 7828    goto ldv_13950;
 7829  } else {
 7830#line 48
 7831    goto ldv_13952;
 7832  }
 7833  ldv_13952: ;
 7834#line 50
 7835  return;
 7836}
 7837}
 7838#line 59 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 7839void mISDN_FsmFree(struct Fsm *fsm ) 
 7840{ FSMFNPTR (**__cil_tmp2)(struct FsmInst * , int  , void * ) ;
 7841  void const   *__cil_tmp3 ;
 7842
 7843  {
 7844  {
 7845#line 61
 7846  __cil_tmp2 = fsm->jumpmatrix;
 7847#line 61
 7848  __cil_tmp3 = (void const   *)__cil_tmp2;
 7849#line 61
 7850  kfree(__cil_tmp3);
 7851  }
 7852#line 62
 7853  return;
 7854}
 7855}
 7856#line 66 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 7857int mISDN_FsmEvent(struct FsmInst *fi , int event , void *arg ) 
 7858{ void (*r)(struct FsmInst * , int  , void * ) ;
 7859  struct Fsm *__cil_tmp5 ;
 7860  int __cil_tmp6 ;
 7861  int __cil_tmp7 ;
 7862  int __cil_tmp8 ;
 7863  long __cil_tmp9 ;
 7864  struct Fsm *__cil_tmp10 ;
 7865  int __cil_tmp11 ;
 7866  long __cil_tmp12 ;
 7867  struct Fsm *__cil_tmp13 ;
 7868  int __cil_tmp14 ;
 7869  long __cil_tmp15 ;
 7870  struct Fsm *__cil_tmp16 ;
 7871  int __cil_tmp17 ;
 7872  int __cil_tmp18 ;
 7873  long __cil_tmp19 ;
 7874  struct Fsm *__cil_tmp20 ;
 7875  int __cil_tmp21 ;
 7876  long __cil_tmp22 ;
 7877  struct Fsm *__cil_tmp23 ;
 7878  int __cil_tmp24 ;
 7879  long __cil_tmp25 ;
 7880  int __cil_tmp26 ;
 7881  struct Fsm *__cil_tmp27 ;
 7882  int __cil_tmp28 ;
 7883  int __cil_tmp29 ;
 7884  int __cil_tmp30 ;
 7885  unsigned long __cil_tmp31 ;
 7886  struct Fsm *__cil_tmp32 ;
 7887  FSMFNPTR (**__cil_tmp33)(struct FsmInst * , int  , void * ) ;
 7888  FSMFNPTR (**__cil_tmp34)(struct FsmInst * , int  , void * ) ;
 7889  FSMFNPTR (*__cil_tmp35)(struct FsmInst * , int  , void * ) ;
 7890  void (*__cil_tmp36)(struct FsmInst * , int  , void * ) ;
 7891  unsigned long __cil_tmp37 ;
 7892  unsigned long __cil_tmp38 ;
 7893  int __cil_tmp39 ;
 7894  void (*__cil_tmp40)(struct FsmInst * , char *  , ...) ;
 7895  char *__cil_tmp41 ;
 7896  int __cil_tmp42 ;
 7897  unsigned long __cil_tmp43 ;
 7898  struct Fsm *__cil_tmp44 ;
 7899  char **__cil_tmp45 ;
 7900  char **__cil_tmp46 ;
 7901  char *__cil_tmp47 ;
 7902  unsigned long __cil_tmp48 ;
 7903  struct Fsm *__cil_tmp49 ;
 7904  char **__cil_tmp50 ;
 7905  char **__cil_tmp51 ;
 7906  char *__cil_tmp52 ;
 7907  int __cil_tmp53 ;
 7908  void (*__cil_tmp54)(struct FsmInst * , char *  , ...) ;
 7909  char *__cil_tmp55 ;
 7910  int __cil_tmp56 ;
 7911  unsigned long __cil_tmp57 ;
 7912  struct Fsm *__cil_tmp58 ;
 7913  char **__cil_tmp59 ;
 7914  char **__cil_tmp60 ;
 7915  char *__cil_tmp61 ;
 7916  unsigned long __cil_tmp62 ;
 7917  struct Fsm *__cil_tmp63 ;
 7918  char **__cil_tmp64 ;
 7919  char **__cil_tmp65 ;
 7920  char *__cil_tmp66 ;
 7921
 7922  {
 7923  {
 7924#line 70
 7925  __cil_tmp5 = fi->fsm;
 7926#line 70
 7927  __cil_tmp6 = __cil_tmp5->state_count;
 7928#line 70
 7929  __cil_tmp7 = fi->state;
 7930#line 70
 7931  if (__cil_tmp7 >= __cil_tmp6) {
 7932    {
 7933#line 72
 7934    __cil_tmp8 = fi->state;
 7935#line 72
 7936    __cil_tmp9 = (long )__cil_tmp8;
 7937#line 72
 7938    __cil_tmp10 = fi->fsm;
 7939#line 72
 7940    __cil_tmp11 = __cil_tmp10->state_count;
 7941#line 72
 7942    __cil_tmp12 = (long )__cil_tmp11;
 7943#line 72
 7944    __cil_tmp13 = fi->fsm;
 7945#line 72
 7946    __cil_tmp14 = __cil_tmp13->event_count;
 7947#line 72
 7948    __cil_tmp15 = (long )__cil_tmp14;
 7949#line 72
 7950    printk("<3>mISDN_FsmEvent Error st(%ld/%ld) ev(%d/%ld)\n", __cil_tmp9, __cil_tmp12,
 7951           event, __cil_tmp15);
 7952    }
 7953#line 76
 7954    return (1);
 7955  } else {
 7956    {
 7957#line 70
 7958    __cil_tmp16 = fi->fsm;
 7959#line 70
 7960    __cil_tmp17 = __cil_tmp16->event_count;
 7961#line 70
 7962    if (__cil_tmp17 <= event) {
 7963      {
 7964#line 72
 7965      __cil_tmp18 = fi->state;
 7966#line 72
 7967      __cil_tmp19 = (long )__cil_tmp18;
 7968#line 72
 7969      __cil_tmp20 = fi->fsm;
 7970#line 72
 7971      __cil_tmp21 = __cil_tmp20->state_count;
 7972#line 72
 7973      __cil_tmp22 = (long )__cil_tmp21;
 7974#line 72
 7975      __cil_tmp23 = fi->fsm;
 7976#line 72
 7977      __cil_tmp24 = __cil_tmp23->event_count;
 7978#line 72
 7979      __cil_tmp25 = (long )__cil_tmp24;
 7980#line 72
 7981      printk("<3>mISDN_FsmEvent Error st(%ld/%ld) ev(%d/%ld)\n", __cil_tmp19, __cil_tmp22,
 7982             event, __cil_tmp25);
 7983      }
 7984#line 76
 7985      return (1);
 7986    } else {
 7987
 7988    }
 7989    }
 7990  }
 7991  }
 7992#line 78
 7993  __cil_tmp26 = fi->state;
 7994#line 78
 7995  __cil_tmp27 = fi->fsm;
 7996#line 78
 7997  __cil_tmp28 = __cil_tmp27->state_count;
 7998#line 78
 7999  __cil_tmp29 = __cil_tmp28 * event;
 8000#line 78
 8001  __cil_tmp30 = __cil_tmp29 + __cil_tmp26;
 8002#line 78
 8003  __cil_tmp31 = (unsigned long )__cil_tmp30;
 8004#line 78
 8005  __cil_tmp32 = fi->fsm;
 8006#line 78
 8007  __cil_tmp33 = __cil_tmp32->jumpmatrix;
 8008#line 78
 8009  __cil_tmp34 = __cil_tmp33 + __cil_tmp31;
 8010#line 78
 8011  __cil_tmp35 = *__cil_tmp34;
 8012#line 78
 8013  r = (void (*)(struct FsmInst * , int  , void * ))__cil_tmp35;
 8014  {
 8015#line 79
 8016  __cil_tmp36 = (void (*)(struct FsmInst * , int  , void * ))0;
 8017#line 79
 8018  __cil_tmp37 = (unsigned long )__cil_tmp36;
 8019#line 79
 8020  __cil_tmp38 = (unsigned long )r;
 8021#line 79
 8022  if (__cil_tmp38 != __cil_tmp37) {
 8023    {
 8024#line 80
 8025    __cil_tmp39 = fi->debug;
 8026#line 80
 8027    if (__cil_tmp39 != 0) {
 8028      {
 8029#line 81
 8030      __cil_tmp40 = fi->printdebug;
 8031#line 81
 8032      __cil_tmp41 = (char *)"State %s Event %s";
 8033#line 81
 8034      __cil_tmp42 = fi->state;
 8035#line 81
 8036      __cil_tmp43 = (unsigned long )__cil_tmp42;
 8037#line 81
 8038      __cil_tmp44 = fi->fsm;
 8039#line 81
 8040      __cil_tmp45 = __cil_tmp44->strState;
 8041#line 81
 8042      __cil_tmp46 = __cil_tmp45 + __cil_tmp43;
 8043#line 81
 8044      __cil_tmp47 = *__cil_tmp46;
 8045#line 81
 8046      __cil_tmp48 = (unsigned long )event;
 8047#line 81
 8048      __cil_tmp49 = fi->fsm;
 8049#line 81
 8050      __cil_tmp50 = __cil_tmp49->strEvent;
 8051#line 81
 8052      __cil_tmp51 = __cil_tmp50 + __cil_tmp48;
 8053#line 81
 8054      __cil_tmp52 = *__cil_tmp51;
 8055#line 81
 8056      (*__cil_tmp40)(fi, __cil_tmp41, __cil_tmp47, __cil_tmp52);
 8057      }
 8058    } else {
 8059
 8060    }
 8061    }
 8062    {
 8063#line 84
 8064    (*r)(fi, event, arg);
 8065    }
 8066#line 85
 8067    return (0);
 8068  } else {
 8069    {
 8070#line 87
 8071    __cil_tmp53 = fi->debug;
 8072#line 87
 8073    if (__cil_tmp53 != 0) {
 8074      {
 8075#line 88
 8076      __cil_tmp54 = fi->printdebug;
 8077#line 88
 8078      __cil_tmp55 = (char *)"State %s Event %s no action";
 8079#line 88
 8080      __cil_tmp56 = fi->state;
 8081#line 88
 8082      __cil_tmp57 = (unsigned long )__cil_tmp56;
 8083#line 88
 8084      __cil_tmp58 = fi->fsm;
 8085#line 88
 8086      __cil_tmp59 = __cil_tmp58->strState;
 8087#line 88
 8088      __cil_tmp60 = __cil_tmp59 + __cil_tmp57;
 8089#line 88
 8090      __cil_tmp61 = *__cil_tmp60;
 8091#line 88
 8092      __cil_tmp62 = (unsigned long )event;
 8093#line 88
 8094      __cil_tmp63 = fi->fsm;
 8095#line 88
 8096      __cil_tmp64 = __cil_tmp63->strEvent;
 8097#line 88
 8098      __cil_tmp65 = __cil_tmp64 + __cil_tmp62;
 8099#line 88
 8100      __cil_tmp66 = *__cil_tmp65;
 8101#line 88
 8102      (*__cil_tmp54)(fi, __cil_tmp55, __cil_tmp61, __cil_tmp66);
 8103      }
 8104    } else {
 8105
 8106    }
 8107    }
 8108#line 91
 8109    return (1);
 8110  }
 8111  }
 8112}
 8113}
 8114#line 97 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 8115void mISDN_FsmChangeState(struct FsmInst *fi , int newstate ) 
 8116{ int __cil_tmp3 ;
 8117  void (*__cil_tmp4)(struct FsmInst * , char *  , ...) ;
 8118  char *__cil_tmp5 ;
 8119  unsigned long __cil_tmp6 ;
 8120  struct Fsm *__cil_tmp7 ;
 8121  char **__cil_tmp8 ;
 8122  char **__cil_tmp9 ;
 8123  char *__cil_tmp10 ;
 8124
 8125  {
 8126#line 99
 8127  fi->state = newstate;
 8128  {
 8129#line 100
 8130  __cil_tmp3 = fi->debug;
 8131#line 100
 8132  if (__cil_tmp3 != 0) {
 8133    {
 8134#line 101
 8135    __cil_tmp4 = fi->printdebug;
 8136#line 101
 8137    __cil_tmp5 = (char *)"ChangeState %s";
 8138#line 101
 8139    __cil_tmp6 = (unsigned long )newstate;
 8140#line 101
 8141    __cil_tmp7 = fi->fsm;
 8142#line 101
 8143    __cil_tmp8 = __cil_tmp7->strState;
 8144#line 101
 8145    __cil_tmp9 = __cil_tmp8 + __cil_tmp6;
 8146#line 101
 8147    __cil_tmp10 = *__cil_tmp9;
 8148#line 101
 8149    (*__cil_tmp4)(fi, __cil_tmp5, __cil_tmp10);
 8150    }
 8151  } else {
 8152
 8153  }
 8154  }
 8155#line 103
 8156  return;
 8157}
 8158}
 8159#line 107 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 8160static void FsmExpireTimer(struct FsmTimer *ft ) 
 8161{ struct FsmInst *__cil_tmp2 ;
 8162  int __cil_tmp3 ;
 8163  void *__cil_tmp4 ;
 8164
 8165  {
 8166  {
 8167#line 113
 8168  __cil_tmp2 = ft->fi;
 8169#line 113
 8170  __cil_tmp3 = ft->event;
 8171#line 113
 8172  __cil_tmp4 = ft->arg;
 8173#line 113
 8174  mISDN_FsmEvent(__cil_tmp2, __cil_tmp3, __cil_tmp4);
 8175  }
 8176#line 114
 8177  return;
 8178}
 8179}
 8180#line 117 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 8181void mISDN_FsmInitTimer(struct FsmInst *fi , struct FsmTimer *ft ) 
 8182{ struct lock_class_key __key ;
 8183  struct timer_list *__cil_tmp4 ;
 8184
 8185  {
 8186  {
 8187#line 119
 8188  ft->fi = fi;
 8189#line 120
 8190  ft->tl.function = (void (*)(unsigned long  ))(& FsmExpireTimer);
 8191#line 121
 8192  ft->tl.data = (unsigned long )ft;
 8193#line 126
 8194  __cil_tmp4 = & ft->tl;
 8195#line 126
 8196  init_timer_key(__cil_tmp4, "&ft->tl", & __key);
 8197  }
 8198#line 128
 8199  return;
 8200}
 8201}
 8202#line 131 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 8203void mISDN_FsmDelTimer(struct FsmTimer *ft , int where ) 
 8204{ struct timer_list *__cil_tmp3 ;
 8205
 8206  {
 8207  {
 8208#line 138
 8209  __cil_tmp3 = & ft->tl;
 8210#line 138
 8211  del_timer(__cil_tmp3);
 8212  }
 8213#line 139
 8214  return;
 8215}
 8216}
 8217#line 143 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 8218int mISDN_FsmAddTimer(struct FsmTimer *ft , int millisec , int event , void *arg ,
 8219                      int where ) 
 8220{ int tmp ;
 8221  struct lock_class_key __key ;
 8222  struct timer_list *__cil_tmp8 ;
 8223  struct timer_list  const  *__cil_tmp9 ;
 8224  struct FsmInst *__cil_tmp10 ;
 8225  int __cil_tmp11 ;
 8226  struct FsmInst *__cil_tmp12 ;
 8227  void (*__cil_tmp13)(struct FsmInst * , char *  , ...) ;
 8228  struct FsmInst *__cil_tmp14 ;
 8229  char *__cil_tmp15 ;
 8230  struct timer_list *__cil_tmp16 ;
 8231  unsigned long __cil_tmp17 ;
 8232  int __cil_tmp18 ;
 8233  int __cil_tmp19 ;
 8234  unsigned long __cil_tmp20 ;
 8235  struct timer_list *__cil_tmp21 ;
 8236
 8237  {
 8238  {
 8239#line 153
 8240  __cil_tmp8 = & ft->tl;
 8241#line 153
 8242  __cil_tmp9 = (struct timer_list  const  *)__cil_tmp8;
 8243#line 153
 8244  tmp = timer_pending(__cil_tmp9);
 8245  }
 8246#line 153
 8247  if (tmp != 0) {
 8248    {
 8249#line 154
 8250    __cil_tmp10 = ft->fi;
 8251#line 154
 8252    __cil_tmp11 = __cil_tmp10->debug;
 8253#line 154
 8254    if (__cil_tmp11 != 0) {
 8255      {
 8256#line 155
 8257      printk("<4>mISDN_FsmAddTimer: timer already active!\n");
 8258#line 157
 8259      __cil_tmp12 = ft->fi;
 8260#line 157
 8261      __cil_tmp13 = __cil_tmp12->printdebug;
 8262#line 157
 8263      __cil_tmp14 = ft->fi;
 8264#line 157
 8265      __cil_tmp15 = (char *)"mISDN_FsmAddTimer already active!";
 8266#line 157
 8267      (*__cil_tmp13)(__cil_tmp14, __cil_tmp15);
 8268      }
 8269    } else {
 8270
 8271    }
 8272    }
 8273#line 160
 8274    return (-1);
 8275  } else {
 8276
 8277  }
 8278  {
 8279#line 162
 8280  __cil_tmp16 = & ft->tl;
 8281#line 162
 8282  init_timer_key(__cil_tmp16, "&ft->tl", & __key);
 8283#line 163
 8284  ft->event = event;
 8285#line 164
 8286  ft->arg = arg;
 8287#line 165
 8288  __cil_tmp17 = (unsigned long )jiffies;
 8289#line 165
 8290  __cil_tmp18 = millisec * 250;
 8291#line 165
 8292  __cil_tmp19 = __cil_tmp18 / 1000;
 8293#line 165
 8294  __cil_tmp20 = (unsigned long )__cil_tmp19;
 8295#line 165
 8296  ft->tl.expires = __cil_tmp20 + __cil_tmp17;
 8297#line 166
 8298  __cil_tmp21 = & ft->tl;
 8299#line 166
 8300  add_timer(__cil_tmp21);
 8301  }
 8302#line 167
 8303  return (0);
 8304}
 8305}
 8306#line 172 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/fsm.c.p"
 8307void mISDN_FsmRestartTimer(struct FsmTimer *ft , int millisec , int event , void *arg ,
 8308                           int where ) 
 8309{ int tmp ;
 8310  struct lock_class_key __key ;
 8311  struct timer_list *__cil_tmp8 ;
 8312  struct timer_list  const  *__cil_tmp9 ;
 8313  struct timer_list *__cil_tmp10 ;
 8314  struct timer_list *__cil_tmp11 ;
 8315  unsigned long __cil_tmp12 ;
 8316  int __cil_tmp13 ;
 8317  int __cil_tmp14 ;
 8318  unsigned long __cil_tmp15 ;
 8319  struct timer_list *__cil_tmp16 ;
 8320
 8321  {
 8322  {
 8323#line 182
 8324  __cil_tmp8 = & ft->tl;
 8325#line 182
 8326  __cil_tmp9 = (struct timer_list  const  *)__cil_tmp8;
 8327#line 182
 8328  tmp = timer_pending(__cil_tmp9);
 8329  }
 8330#line 182
 8331  if (tmp != 0) {
 8332    {
 8333#line 183
 8334    __cil_tmp10 = & ft->tl;
 8335#line 183
 8336    del_timer(__cil_tmp10);
 8337    }
 8338  } else {
 8339
 8340  }
 8341  {
 8342#line 184
 8343  __cil_tmp11 = & ft->tl;
 8344#line 184
 8345  init_timer_key(__cil_tmp11, "&ft->tl", & __key);
 8346#line 185
 8347  ft->event = event;
 8348#line 186
 8349  ft->arg = arg;
 8350#line 187
 8351  __cil_tmp12 = (unsigned long )jiffies;
 8352#line 187
 8353  __cil_tmp13 = millisec * 250;
 8354#line 187
 8355  __cil_tmp14 = __cil_tmp13 / 1000;
 8356#line 187
 8357  __cil_tmp15 = (unsigned long )__cil_tmp14;
 8358#line 187
 8359  ft->tl.expires = __cil_tmp15 + __cil_tmp12;
 8360#line 188
 8361  __cil_tmp16 = & ft->tl;
 8362#line 188
 8363  add_timer(__cil_tmp16);
 8364  }
 8365#line 189
 8366  return;
 8367}
 8368}
 8369#line 576 "include/linux/list.h"
 8370__inline static int hlist_unhashed(struct hlist_node  const  *h ) 
 8371{ struct hlist_node **__cil_tmp2 ;
 8372  unsigned long __cil_tmp3 ;
 8373  struct hlist_node **__cil_tmp4 ;
 8374  unsigned long __cil_tmp5 ;
 8375
 8376  {
 8377  {
 8378#line 578
 8379  __cil_tmp2 = (struct hlist_node ** const  )0;
 8380#line 578
 8381  __cil_tmp3 = (unsigned long )__cil_tmp2;
 8382#line 578
 8383  __cil_tmp4 = h->pprev;
 8384#line 578
 8385  __cil_tmp5 = (unsigned long )__cil_tmp4;
 8386#line 578
 8387  return (__cil_tmp5 == __cil_tmp3);
 8388  }
 8389}
 8390}
 8391#line 586 "include/linux/list.h"
 8392__inline static void __hlist_del(struct hlist_node *n ) 
 8393{ struct hlist_node *next ;
 8394  struct hlist_node **pprev ;
 8395  struct hlist_node *__cil_tmp4 ;
 8396  unsigned long __cil_tmp5 ;
 8397  unsigned long __cil_tmp6 ;
 8398
 8399  {
 8400#line 588
 8401  next = n->next;
 8402#line 589
 8403  pprev = n->pprev;
 8404#line 590
 8405  *pprev = next;
 8406  {
 8407#line 591
 8408  __cil_tmp4 = (struct hlist_node *)0;
 8409#line 591
 8410  __cil_tmp5 = (unsigned long )__cil_tmp4;
 8411#line 591
 8412  __cil_tmp6 = (unsigned long )next;
 8413#line 591
 8414  if (__cil_tmp6 != __cil_tmp5) {
 8415#line 592
 8416    next->pprev = pprev;
 8417  } else {
 8418
 8419  }
 8420  }
 8421#line 593
 8422  return;
 8423}
 8424}
 8425#line 610 "include/linux/list.h"
 8426__inline static void hlist_add_head(struct hlist_node *n , struct hlist_head *h ) 
 8427{ struct hlist_node *first ;
 8428  struct hlist_node *__cil_tmp4 ;
 8429  unsigned long __cil_tmp5 ;
 8430  unsigned long __cil_tmp6 ;
 8431
 8432  {
 8433#line 612
 8434  first = h->first;
 8435#line 613
 8436  n->next = first;
 8437  {
 8438#line 614
 8439  __cil_tmp4 = (struct hlist_node *)0;
 8440#line 614
 8441  __cil_tmp5 = (unsigned long )__cil_tmp4;
 8442#line 614
 8443  __cil_tmp6 = (unsigned long )first;
 8444#line 614
 8445  if (__cil_tmp6 != __cil_tmp5) {
 8446#line 615
 8447    first->pprev = & n->next;
 8448  } else {
 8449
 8450  }
 8451  }
 8452#line 616
 8453  h->first = n;
 8454#line 617
 8455  n->pprev = & h->first;
 8456#line 618
 8457  return;
 8458}
 8459}
 8460#line 82 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 8461__inline static void __set_bit(int nr , unsigned long volatile   *addr ) 
 8462{ long volatile   *__cil_tmp3 ;
 8463
 8464  {
 8465#line 84
 8466  __cil_tmp3 = (long volatile   *)addr;
 8467#line 84
 8468  __asm__  volatile   ("bts %1,%0": "+m" (*__cil_tmp3): "Ir" (nr): "memory");
 8469#line 85
 8470  return;
 8471}
 8472}
 8473#line 125 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
 8474__inline static void __clear_bit(int nr , unsigned long volatile   *addr ) 
 8475{ long volatile   *__cil_tmp3 ;
 8476
 8477  {
 8478#line 127
 8479  __cil_tmp3 = (long volatile   *)addr;
 8480#line 127
 8481  __asm__  volatile   ("btr %1,%0": "+m" (*__cil_tmp3): "Ir" (nr));
 8482#line 128
 8483  return;
 8484}
 8485}
 8486#line 64 "include/asm-generic/bug.h"
 8487extern void warn_slowpath_fmt(char const   * , int  , char const   *  , ...) ;
 8488#line 69
 8489extern void warn_slowpath_null(char const   * , int  ) ;
 8490#line 170 "include/linux/kernel.h"
 8491extern void might_fault(void) ;
 8492#line 34 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/string_64.h"
 8493extern void *__memcpy(void * , void const   * , size_t  ) ;
 8494#line 55
 8495extern void *memset(void * , int  , size_t  ) ;
 8496#line 23 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 8497__inline static int atomic_read(atomic_t const   *v ) 
 8498{ int const   *__cil_tmp2 ;
 8499  int volatile   *__cil_tmp3 ;
 8500  int volatile   __cil_tmp4 ;
 8501
 8502  {
 8503  {
 8504#line 25
 8505  __cil_tmp2 = & v->counter;
 8506#line 25
 8507  __cil_tmp3 = (int volatile   *)__cil_tmp2;
 8508#line 25
 8509  __cil_tmp4 = *__cil_tmp3;
 8510#line 25
 8511  return ((int )__cil_tmp4);
 8512  }
 8513}
 8514}
 8515#line 93 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 8516__inline static void atomic_inc(atomic_t *v ) 
 8517{ 
 8518
 8519  {
 8520#line 95
 8521  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; incl %0": "+m" (v->counter));
 8522#line 97
 8523  return;
 8524}
 8525}
 8526#line 105 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 8527__inline static void atomic_dec(atomic_t *v ) 
 8528{ 
 8529
 8530  {
 8531#line 107
 8532  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; decl %0": "+m" (v->counter));
 8533#line 109
 8534  return;
 8535}
 8536}
 8537#line 119 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/atomic.h"
 8538__inline static int atomic_dec_and_test(atomic_t *v ) 
 8539{ unsigned char c ;
 8540  unsigned int __cil_tmp3 ;
 8541
 8542  {
 8543#line 123
 8544  __asm__  volatile   (".section .smp_locks,\"a\"\n.balign 4\n.long 671f - .\n.previous\n671:\n\tlock; decl %0; sete %1": "+m" (v->counter),
 8545                       "=qm" (c): : "memory");
 8546  {
 8547#line 126
 8548  __cil_tmp3 = (unsigned int )c;
 8549#line 126
 8550  return (__cil_tmp3 != 0U);
 8551  }
 8552}
 8553}
 8554#line 20 "include/linux/rwlock_api_smp.h"
 8555extern void _raw_read_lock_bh(rwlock_t * ) ;
 8556#line 21
 8557extern void _raw_write_lock_bh(rwlock_t * ) ;
 8558#line 32
 8559extern void _raw_read_unlock_bh(rwlock_t * ) ;
 8560#line 33
 8561extern void _raw_write_unlock_bh(rwlock_t * ) ;
 8562#line 244 "include/linux/time.h"
 8563extern struct timeval ns_to_timeval(s64  ) ;
 8564#line 317 "include/linux/socket.h"
 8565extern int memcpy_fromiovec(unsigned char * , struct iovec * , int  ) ;
 8566#line 330
 8567extern int put_cmsg(struct msghdr * , int  , int  , int  , void * ) ;
 8568#line 232 "include/linux/net.h"
 8569extern int sock_register(struct net_proto_family  const  * ) ;
 8570#line 233
 8571extern void sock_unregister(int  ) ;
 8572#line 40 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 8573extern unsigned long _copy_to_user(void * , void const   * , unsigned int  ) ;
 8574#line 42
 8575extern unsigned long _copy_from_user(void * , void const   * , unsigned int  ) ;
 8576#line 46 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 8577__inline static unsigned long copy_from_user(void *to , void const   *from , unsigned long n ) 
 8578{ int sz ;
 8579  unsigned long tmp ;
 8580  int __ret_warn_on ;
 8581  long tmp___0 ;
 8582  long tmp___1 ;
 8583  long tmp___2 ;
 8584  void const   *__cil_tmp10 ;
 8585  void *__cil_tmp11 ;
 8586  int __cil_tmp12 ;
 8587  long __cil_tmp13 ;
 8588  unsigned int __cil_tmp14 ;
 8589  unsigned long __cil_tmp15 ;
 8590  int __cil_tmp16 ;
 8591  long __cil_tmp17 ;
 8592  unsigned int __cil_tmp18 ;
 8593  int __cil_tmp19 ;
 8594  long __cil_tmp20 ;
 8595  int __cil_tmp21 ;
 8596  int __cil_tmp22 ;
 8597  int __cil_tmp23 ;
 8598  long __cil_tmp24 ;
 8599
 8600  {
 8601  {
 8602#line 50
 8603  __cil_tmp10 = (void const   *)to;
 8604#line 50
 8605  __cil_tmp11 = (void *)__cil_tmp10;
 8606#line 50
 8607  tmp = __builtin_object_size(__cil_tmp11, 0);
 8608#line 50
 8609  sz = (int )tmp;
 8610#line 52
 8611  might_fault();
 8612#line 53
 8613  __cil_tmp12 = sz == -1;
 8614#line 53
 8615  __cil_tmp13 = (long )__cil_tmp12;
 8616#line 53
 8617  tmp___1 = __builtin_expect(__cil_tmp13, 1L);
 8618  }
 8619#line 53
 8620  if (tmp___1 != 0L) {
 8621    {
 8622#line 54
 8623    __cil_tmp14 = (unsigned int )n;
 8624#line 54
 8625    n = _copy_from_user(to, from, __cil_tmp14);
 8626    }
 8627  } else {
 8628    {
 8629#line 53
 8630    __cil_tmp15 = (unsigned long )sz;
 8631#line 53
 8632    __cil_tmp16 = __cil_tmp15 >= n;
 8633#line 53
 8634    __cil_tmp17 = (long )__cil_tmp16;
 8635#line 53
 8636    tmp___2 = __builtin_expect(__cil_tmp17, 1L);
 8637    }
 8638#line 53
 8639    if (tmp___2 != 0L) {
 8640      {
 8641#line 54
 8642      __cil_tmp18 = (unsigned int )n;
 8643#line 54
 8644      n = _copy_from_user(to, from, __cil_tmp18);
 8645      }
 8646    } else {
 8647      {
 8648#line 57
 8649      __ret_warn_on = 1;
 8650#line 57
 8651      __cil_tmp19 = __ret_warn_on != 0;
 8652#line 57
 8653      __cil_tmp20 = (long )__cil_tmp19;
 8654#line 57
 8655      tmp___0 = __builtin_expect(__cil_tmp20, 0L);
 8656      }
 8657#line 57
 8658      if (tmp___0 != 0L) {
 8659        {
 8660#line 57
 8661        __cil_tmp21 = (int const   )57;
 8662#line 57
 8663        __cil_tmp22 = (int )__cil_tmp21;
 8664#line 57
 8665        warn_slowpath_fmt("/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h",
 8666                          __cil_tmp22, "Buffer overflow detected!\n");
 8667        }
 8668      } else {
 8669
 8670      }
 8671      {
 8672#line 57
 8673      __cil_tmp23 = __ret_warn_on != 0;
 8674#line 57
 8675      __cil_tmp24 = (long )__cil_tmp23;
 8676#line 57
 8677      __builtin_expect(__cil_tmp24, 0L);
 8678      }
 8679    }
 8680  }
 8681#line 59
 8682  return (n);
 8683}
 8684}
 8685#line 63 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/uaccess_64.h"
 8686__inline static int copy_to_user(void *dst , void const   *src , unsigned int size ) 
 8687{ unsigned long tmp ;
 8688
 8689  {
 8690  {
 8691#line 65
 8692  might_fault();
 8693#line 67
 8694  tmp = _copy_to_user(dst, src, size);
 8695  }
 8696#line 67
 8697  return ((int )tmp);
 8698}
 8699}
 8700#line 700 "include/linux/device.h"
 8701extern int device_rename(struct device * , char const   * ) ;
 8702#line 320 "include/linux/hrtimer.h"
 8703extern ktime_t ktime_get_real(void) ;
 8704#line 490 "include/linux/skbuff.h"
 8705extern void kfree_skb(struct sk_buff * ) ;
 8706#line 493
 8707extern struct sk_buff *__alloc_skb(unsigned int  , gfp_t  , int  , int  ) ;
 8708#line 495 "include/linux/skbuff.h"
 8709__inline static struct sk_buff *alloc_skb(unsigned int size , gfp_t priority ) 
 8710{ struct sk_buff *tmp ;
 8711
 8712  {
 8713  {
 8714#line 498
 8715  tmp = __alloc_skb(size, priority, 0, -1);
 8716  }
 8717#line 498
 8718  return (tmp);
 8719}
 8720}
 8721#line 1017
 8722extern void skb_queue_head(struct sk_buff_head * , struct sk_buff * ) ;
 8723#line 1167
 8724extern unsigned char *skb_put(struct sk_buff * , unsigned int  ) ;
 8725#line 1177
 8726extern unsigned char *skb_push(struct sk_buff * , unsigned int  ) ;
 8727#line 1185
 8728extern unsigned char *skb_pull(struct sk_buff * , unsigned int  ) ;
 8729#line 1253 "include/linux/skbuff.h"
 8730__inline static void skb_reserve(struct sk_buff *skb , int len ) 
 8731{ unsigned long __cil_tmp3 ;
 8732  unsigned char *__cil_tmp4 ;
 8733  sk_buff_data_t __cil_tmp5 ;
 8734  sk_buff_data_t __cil_tmp6 ;
 8735
 8736  {
 8737#line 1255
 8738  __cil_tmp3 = (unsigned long )len;
 8739#line 1255
 8740  __cil_tmp4 = skb->data;
 8741#line 1255
 8742  skb->data = __cil_tmp4 + __cil_tmp3;
 8743#line 1256
 8744  __cil_tmp5 = (sk_buff_data_t )len;
 8745#line 1256
 8746  __cil_tmp6 = skb->tail;
 8747#line 1256
 8748  skb->tail = __cil_tmp6 + __cil_tmp5;
 8749#line 1257
 8750  return;
 8751}
 8752}
 8753#line 1512
 8754extern void skb_queue_purge(struct sk_buff_head * ) ;
 8755#line 1843
 8756extern struct sk_buff *skb_recv_datagram(struct sock * , unsigned int  , int  , int * ) ;
 8757#line 1845
 8758extern unsigned int datagram_poll(struct file * , struct socket * , struct poll_table_struct * ) ;
 8759#line 1847
 8760extern int skb_copy_datagram_iovec(struct sk_buff  const  * , int  , struct iovec * ,
 8761                                   int  ) ;
 8762#line 1863
 8763extern void skb_free_datagram(struct sock * , struct sk_buff * ) ;
 8764#line 1949 "include/linux/skbuff.h"
 8765__inline static void skb_get_timestamp(struct sk_buff  const  *skb , struct timeval *stamp ) 
 8766{ s64 __cil_tmp3 ;
 8767  s64 __cil_tmp4 ;
 8768
 8769  {
 8770  {
 8771#line 1952
 8772  __cil_tmp3 = skb->tstamp.tv64;
 8773#line 1952
 8774  __cil_tmp4 = (s64 )__cil_tmp3;
 8775#line 1952
 8776  *stamp = ns_to_timeval(__cil_tmp4);
 8777  }
 8778#line 1953
 8779  return;
 8780}
 8781}
 8782#line 1961 "include/linux/skbuff.h"
 8783__inline static void __net_timestamp(struct sk_buff *skb ) 
 8784{ 
 8785
 8786  {
 8787  {
 8788#line 1963
 8789  skb->tstamp = ktime_get_real();
 8790  }
 8791#line 1964
 8792  return;
 8793}
 8794}
 8795#line 392 "include/net/sock.h"
 8796__inline static int sk_unhashed(struct sock  const  *sk ) 
 8797{ int tmp ;
 8798  struct hlist_node  const  *__cil_tmp3 ;
 8799
 8800  {
 8801  {
 8802#line 394
 8803  __cil_tmp3 = & sk->__sk_common.ldv_37191.skc_node;
 8804#line 394
 8805  tmp = hlist_unhashed(__cil_tmp3);
 8806  }
 8807#line 394
 8808  return (tmp);
 8809}
 8810}
 8811#line 397 "include/net/sock.h"
 8812__inline static int sk_hashed(struct sock  const  *sk ) 
 8813{ int tmp ;
 8814
 8815  {
 8816  {
 8817#line 399
 8818  tmp = sk_unhashed(sk);
 8819  }
 8820#line 399
 8821  return (tmp == 0);
 8822}
 8823}
 8824#line 402 "include/net/sock.h"
 8825__inline static void sk_node_init(struct hlist_node *node ) 
 8826{ 
 8827
 8828  {
 8829#line 404
 8830  node->pprev = (struct hlist_node **)0;
 8831#line 405
 8832  return;
 8833}
 8834}
 8835#line 412 "include/net/sock.h"
 8836__inline static void __sk_del_node(struct sock *sk ) 
 8837{ struct hlist_node *__cil_tmp2 ;
 8838
 8839  {
 8840  {
 8841#line 414
 8842  __cil_tmp2 = & sk->__sk_common.ldv_37191.skc_node;
 8843#line 414
 8844  __hlist_del(__cil_tmp2);
 8845  }
 8846#line 415
 8847  return;
 8848}
 8849}
 8850#line 418 "include/net/sock.h"
 8851__inline static int __sk_del_node_init(struct sock *sk ) 
 8852{ int tmp ;
 8853  struct sock  const  *__cil_tmp3 ;
 8854  struct hlist_node *__cil_tmp4 ;
 8855
 8856  {
 8857  {
 8858#line 420
 8859  __cil_tmp3 = (struct sock  const  *)sk;
 8860#line 420
 8861  tmp = sk_hashed(__cil_tmp3);
 8862  }
 8863#line 420
 8864  if (tmp != 0) {
 8865    {
 8866#line 421
 8867    __sk_del_node(sk);
 8868#line 422
 8869    __cil_tmp4 = & sk->__sk_common.ldv_37191.skc_node;
 8870#line 422
 8871    sk_node_init(__cil_tmp4);
 8872    }
 8873#line 423
 8874    return (1);
 8875  } else {
 8876
 8877  }
 8878#line 425
 8879  return (0);
 8880}
 8881}
 8882#line 434 "include/net/sock.h"
 8883__inline static void sock_hold(struct sock *sk ) 
 8884{ atomic_t *__cil_tmp2 ;
 8885
 8886  {
 8887  {
 8888#line 436
 8889  __cil_tmp2 = & sk->__sk_common.skc_refcnt;
 8890#line 436
 8891  atomic_inc(__cil_tmp2);
 8892  }
 8893#line 437
 8894  return;
 8895}
 8896}
 8897#line 442 "include/net/sock.h"
 8898__inline static void __sock_put(struct sock *sk ) 
 8899{ atomic_t *__cil_tmp2 ;
 8900
 8901  {
 8902  {
 8903#line 444
 8904  __cil_tmp2 = & sk->__sk_common.skc_refcnt;
 8905#line 444
 8906  atomic_dec(__cil_tmp2);
 8907  }
 8908#line 445
 8909  return;
 8910}
 8911}
 8912#line 447 "include/net/sock.h"
 8913__inline static int sk_del_node_init(struct sock *sk ) 
 8914{ int rc ;
 8915  int tmp ;
 8916  int __ret_warn_on ;
 8917  int tmp___0 ;
 8918  long tmp___1 ;
 8919  atomic_t *__cil_tmp7 ;
 8920  atomic_t const   *__cil_tmp8 ;
 8921  int __cil_tmp9 ;
 8922  long __cil_tmp10 ;
 8923  int __cil_tmp11 ;
 8924  int __cil_tmp12 ;
 8925  int __cil_tmp13 ;
 8926  long __cil_tmp14 ;
 8927
 8928  {
 8929  {
 8930#line 449
 8931  tmp = __sk_del_node_init(sk);
 8932#line 449
 8933  rc = tmp;
 8934  }
 8935#line 451
 8936  if (rc != 0) {
 8937    {
 8938#line 453
 8939    __cil_tmp7 = & sk->__sk_common.skc_refcnt;
 8940#line 453
 8941    __cil_tmp8 = (atomic_t const   *)__cil_tmp7;
 8942#line 453
 8943    tmp___0 = atomic_read(__cil_tmp8);
 8944#line 453
 8945    __ret_warn_on = tmp___0 == 1;
 8946#line 453
 8947    __cil_tmp9 = __ret_warn_on != 0;
 8948#line 453
 8949    __cil_tmp10 = (long )__cil_tmp9;
 8950#line 453
 8951    tmp___1 = __builtin_expect(__cil_tmp10, 0L);
 8952    }
 8953#line 453
 8954    if (tmp___1 != 0L) {
 8955      {
 8956#line 453
 8957      __cil_tmp11 = (int const   )453;
 8958#line 453
 8959      __cil_tmp12 = (int )__cil_tmp11;
 8960#line 453
 8961      warn_slowpath_null("include/net/sock.h", __cil_tmp12);
 8962      }
 8963    } else {
 8964
 8965    }
 8966    {
 8967#line 453
 8968    __cil_tmp13 = __ret_warn_on != 0;
 8969#line 453
 8970    __cil_tmp14 = (long )__cil_tmp13;
 8971#line 453
 8972    __builtin_expect(__cil_tmp14, 0L);
 8973#line 454
 8974    __sock_put(sk);
 8975    }
 8976  } else {
 8977
 8978  }
 8979#line 456
 8980  return (rc);
 8981}
 8982}
 8983#line 481 "include/net/sock.h"
 8984__inline static void __sk_add_node(struct sock *sk , struct hlist_head *list ) 
 8985{ struct hlist_node *__cil_tmp3 ;
 8986
 8987  {
 8988  {
 8989#line 483
 8990  __cil_tmp3 = & sk->__sk_common.ldv_37191.skc_node;
 8991#line 483
 8992  hlist_add_head(__cil_tmp3, list);
 8993  }
 8994#line 484
 8995  return;
 8996}
 8997}
 8998#line 486 "include/net/sock.h"
 8999__inline static void sk_add_node(struct sock *sk , struct hlist_head *list ) 
 9000{ 
 9001
 9002  {
 9003  {
 9004#line 488
 9005  sock_hold(sk);
 9006#line 489
 9007  __sk_add_node(sk, list);
 9008  }
 9009#line 490
 9010  return;
 9011}
 9012}
 9013#line 572 "include/net/sock.h"
 9014__inline static void sock_set_flag(struct sock *sk , enum sock_flags flag ) 
 9015{ int __cil_tmp3 ;
 9016  unsigned long *__cil_tmp4 ;
 9017  unsigned long volatile   *__cil_tmp5 ;
 9018
 9019  {
 9020  {
 9021#line 574
 9022  __cil_tmp3 = (int )flag;
 9023#line 574
 9024  __cil_tmp4 = & sk->sk_flags;
 9025#line 574
 9026  __cil_tmp5 = (unsigned long volatile   *)__cil_tmp4;
 9027#line 574
 9028  __set_bit(__cil_tmp3, __cil_tmp5);
 9029  }
 9030#line 575
 9031  return;
 9032}
 9033}
 9034#line 577 "include/net/sock.h"
 9035__inline static void sock_reset_flag(struct sock *sk , enum sock_flags flag ) 
 9036{ int __cil_tmp3 ;
 9037  unsigned long *__cil_tmp4 ;
 9038  unsigned long volatile   *__cil_tmp5 ;
 9039
 9040  {
 9041  {
 9042#line 579
 9043  __cil_tmp3 = (int )flag;
 9044#line 579
 9045  __cil_tmp4 = & sk->sk_flags;
 9046#line 579
 9047  __cil_tmp5 = (unsigned long volatile   *)__cil_tmp4;
 9048#line 579
 9049  __clear_bit(__cil_tmp3, __cil_tmp5);
 9050  }
 9051#line 580
 9052  return;
 9053}
 9054}
 9055#line 1042
 9056extern void lock_sock_nested(struct sock * , int  ) ;
 9057#line 1044 "include/net/sock.h"
 9058__inline static void lock_sock(struct sock *sk ) 
 9059{ 
 9060
 9061  {
 9062  {
 9063#line 1046
 9064  lock_sock_nested(sk, 0);
 9065  }
 9066#line 1047
 9067  return;
 9068}
 9069}
 9070#line 1049
 9071extern void release_sock(struct sock * ) ;
 9072#line 1076
 9073extern struct sock *sk_alloc(struct net * , int  , gfp_t  , struct proto * ) ;
 9074#line 1079
 9075extern void sk_free(struct sock * ) ;
 9076#line 1128
 9077extern int sock_no_connect(struct socket * , struct sockaddr * , int  , int  ) ;
 9078#line 1130
 9079extern int sock_no_socketpair(struct socket * , struct socket * ) ;
 9080#line 1132
 9081extern int sock_no_accept(struct socket * , struct socket * , int  ) ;
 9082#line 1134
 9083extern int sock_no_getname(struct socket * , struct sockaddr * , int * , int  ) ;
 9084#line 1136
 9085extern unsigned int sock_no_poll(struct file * , struct socket * , struct poll_table_struct * ) ;
 9086#line 1140
 9087extern int sock_no_listen(struct socket * , int  ) ;
 9088#line 1141
 9089extern int sock_no_shutdown(struct socket * , int  ) ;
 9090#line 1142
 9091extern int sock_no_getsockopt(struct socket * , int  , int  , char * , int * ) ;
 9092#line 1144
 9093extern int sock_no_setsockopt(struct socket * , int  , int  , char * , unsigned int  ) ;
 9094#line 1146
 9095extern int sock_no_sendmsg(struct kiocb * , struct socket * , struct msghdr * , size_t  ) ;
 9096#line 1148
 9097extern int sock_no_recvmsg(struct kiocb * , struct socket * , struct msghdr * , size_t  ,
 9098                           int  ) ;
 9099#line 1150
 9100extern int sock_no_mmap(struct file * , struct socket * , struct vm_area_struct * ) ;
 9101#line 1180
 9102extern void sock_init_data(struct socket * , struct sock * ) ;
 9103#line 1237 "include/net/sock.h"
 9104__inline static void sock_put(struct sock *sk ) 
 9105{ int tmp ;
 9106  atomic_t *__cil_tmp3 ;
 9107
 9108  {
 9109  {
 9110#line 1239
 9111  __cil_tmp3 = & sk->__sk_common.skc_refcnt;
 9112#line 1239
 9113  tmp = atomic_dec_and_test(__cil_tmp3);
 9114  }
 9115#line 1239
 9116  if (tmp != 0) {
 9117    {
 9118#line 1240
 9119    sk_free(sk);
 9120    }
 9121  } else {
 9122
 9123  }
 9124#line 1241
 9125  return;
 9126}
 9127}
 9128#line 1251 "include/net/sock.h"
 9129__inline static void sk_tx_queue_clear(struct sock *sk ) 
 9130{ 
 9131
 9132  {
 9133#line 1253
 9134  sk->__sk_common.skc_tx_queue_mapping = -1;
 9135#line 1254
 9136  return;
 9137}
 9138}
 9139#line 1261 "include/net/sock.h"
 9140__inline static void sk_set_socket(struct sock *sk , struct socket *sock ) 
 9141{ 
 9142
 9143  {
 9144  {
 9145#line 1263
 9146  sk_tx_queue_clear(sk);
 9147#line 1264
 9148  sk->sk_socket = sock;
 9149  }
 9150#line 1265
 9151  return;
 9152}
 9153}
 9154#line 1279 "include/net/sock.h"
 9155__inline static void sock_orphan(struct sock *sk ) 
 9156{ rwlock_t *__cil_tmp2 ;
 9157  enum sock_flags __cil_tmp3 ;
 9158  struct socket *__cil_tmp4 ;
 9159  rwlock_t *__cil_tmp5 ;
 9160
 9161  {
 9162  {
 9163#line 1281
 9164  __cil_tmp2 = & sk->sk_callback_lock;
 9165#line 1281
 9166  _raw_write_lock_bh(__cil_tmp2);
 9167#line 1282
 9168  __cil_tmp3 = (enum sock_flags )0;
 9169#line 1282
 9170  sock_set_flag(sk, __cil_tmp3);
 9171#line 1283
 9172  __cil_tmp4 = (struct socket *)0;
 9173#line 1283
 9174  sk_set_socket(sk, __cil_tmp4);
 9175#line 1284
 9176  sk->sk_wq = (struct socket_wq *)0;
 9177#line 1285
 9178  __cil_tmp5 = & sk->sk_callback_lock;
 9179#line 1285
 9180  _raw_write_unlock_bh(__cil_tmp5);
 9181  }
 9182#line 1286
 9183  return;
 9184}
 9185}
 9186#line 1605
 9187extern int sock_queue_rcv_skb(struct sock * , struct sk_buff * ) ;
 9188#line 47 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/core.h"
 9189int connect_Bstack(struct mISDNdevice *dev , struct mISDNchannel *ch , u_int protocol ,
 9190                   struct sockaddr_mISDN *adr ) ;
 9191#line 49
 9192int connect_layer1(struct mISDNdevice *dev , struct mISDNchannel *ch , u_int protocol ,
 9193                   struct sockaddr_mISDN *adr ) ;
 9194#line 51
 9195int create_l2entity(struct mISDNdevice *dev , struct mISDNchannel *ch , u_int protocol ,
 9196                    struct sockaddr_mISDN *adr ) ;
 9197#line 57
 9198void delete_channel(struct mISDNchannel *ch ) ;
 9199#line 30 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9200static u_int *debug___0  ;
 9201#line 32 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9202static struct proto mISDN_proto  = 
 9203#line 32
 9204     {(void (*)(struct sock * , long  ))0, (int (*)(struct sock * , struct sockaddr * ,
 9205                                                  int  ))0, (int (*)(struct sock * ,
 9206                                                                     int  ))0, (struct sock *(*)(struct sock * ,
 9207                                                                                                 int  ,
 9208                                                                                                 int * ))0,
 9209    (int (*)(struct sock * , int  , unsigned long  ))0, (int (*)(struct sock * ))0,
 9210    (void (*)(struct sock * ))0, (void (*)(struct sock * , int  ))0, (int (*)(struct sock * ,
 9211                                                                              int  ,
 9212                                                                              int  ,
 9213                                                                              char * ,
 9214                                                                              unsigned int  ))0,
 9215    (int (*)(struct sock * , int  , int  , char * , int * ))0, (int (*)(struct sock * ,
 9216                                                                        int  , int  ,
 9217                                                                        char * , unsigned int  ))0,
 9218    (int (*)(struct sock * , int  , int  , char * , int * ))0, (int (*)(struct sock * ,
 9219                                                                        unsigned int  ,
 9220                                                                        unsigned long  ))0,
 9221    (int (*)(struct kiocb * , struct sock * , struct msghdr * , size_t  ))0, (int (*)(struct kiocb * ,
 9222                                                                                      struct sock * ,
 9223                                                                                      struct msghdr * ,
 9224                                                                                      size_t  ,
 9225                                                                                      int  ,
 9226                                                                                      int  ,
 9227                                                                                      int * ))0,
 9228    (int (*)(struct sock * , struct page * , int  , size_t  , int  ))0, (int (*)(struct sock * ,
 9229                                                                                 struct sockaddr * ,
 9230                                                                                 int  ))0,
 9231    (int (*)(struct sock * , struct sk_buff * ))0, (void (*)(struct sock * ))0, (void (*)(struct sock * ))0,
 9232    (void (*)(struct sock * ))0, (int (*)(struct sock * , unsigned short  ))0, (void (*)(struct sock * ,
 9233                                                                                         int  ))0,
 9234    0U, (void (*)(struct sock * ))0, (atomic_long_t *)0, (struct percpu_counter *)0,
 9235    (int *)0, (long *)0, (int *)0, (int *)0, 0, (_Bool)0, (struct kmem_cache *)0,
 9236    1368U, 0, (struct percpu_counter *)0, (struct request_sock_ops *)0, (struct timewait_sock_ops *)0,
 9237    {(struct inet_hashinfo *)0}, & __this_module, {(char )'m', (char )'i', (char )'s',
 9238                                                   (char )'d', (char )'n', (char )'\000'},
 9239    {(struct list_head *)0, (struct list_head *)0}};
 9240#line 40 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9241static struct mISDN_sock_list data_sockets  =    {{(struct hlist_node *)0}, {{16777216U}, 3736018669U, 4294967295U, (void *)1152921504606846975UL,
 9242                               {(struct lock_class_key *)0, {(struct lock_class *)0,
 9243                                                             (struct lock_class *)0},
 9244                                "data_sockets.lock", 0, 0UL}}};
 9245#line 44 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9246static struct mISDN_sock_list base_sockets  =    {{(struct hlist_node *)0}, {{16777216U}, 3736018669U, 4294967295U, (void *)1152921504606846975UL,
 9247                               {(struct lock_class_key *)0, {(struct lock_class *)0,
 9248                                                             (struct lock_class *)0},
 9249                                "base_sockets.lock", 0, 0UL}}};
 9250#line 51 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9251__inline static struct sk_buff *_l2_alloc_skb(unsigned int len , gfp_t gfp_mask ) 
 9252{ struct sk_buff *skb ;
 9253  long tmp ;
 9254  unsigned int __cil_tmp5 ;
 9255  struct sk_buff *__cil_tmp6 ;
 9256  unsigned long __cil_tmp7 ;
 9257  unsigned long __cil_tmp8 ;
 9258  int __cil_tmp9 ;
 9259  long __cil_tmp10 ;
 9260
 9261  {
 9262  {
 9263#line 55
 9264  __cil_tmp5 = len + 4U;
 9265#line 55
 9266  skb = alloc_skb(__cil_tmp5, gfp_mask);
 9267#line 56
 9268  __cil_tmp6 = (struct sk_buff *)0;
 9269#line 56
 9270  __cil_tmp7 = (unsigned long )__cil_tmp6;
 9271#line 56
 9272  __cil_tmp8 = (unsigned long )skb;
 9273#line 56
 9274  __cil_tmp9 = __cil_tmp8 != __cil_tmp7;
 9275#line 56
 9276  __cil_tmp10 = (long )__cil_tmp9;
 9277#line 56
 9278  tmp = __builtin_expect(__cil_tmp10, 1L);
 9279  }
 9280#line 56
 9281  if (tmp != 0L) {
 9282    {
 9283#line 57
 9284    skb_reserve(skb, 4);
 9285    }
 9286  } else {
 9287
 9288  }
 9289#line 58
 9290  return (skb);
 9291}
 9292}
 9293#line 62 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9294static void mISDN_sock_link(struct mISDN_sock_list *l , struct sock *sk ) 
 9295{ rwlock_t *__cil_tmp3 ;
 9296  struct hlist_head *__cil_tmp4 ;
 9297  rwlock_t *__cil_tmp5 ;
 9298
 9299  {
 9300  {
 9301#line 64
 9302  __cil_tmp3 = & l->lock;
 9303#line 64
 9304  _raw_write_lock_bh(__cil_tmp3);
 9305#line 65
 9306  __cil_tmp4 = & l->head;
 9307#line 65
 9308  sk_add_node(sk, __cil_tmp4);
 9309#line 66
 9310  __cil_tmp5 = & l->lock;
 9311#line 66
 9312  _raw_write_unlock_bh(__cil_tmp5);
 9313  }
 9314#line 67
 9315  return;
 9316}
 9317}
 9318#line 69 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9319static void mISDN_sock_unlink(struct mISDN_sock_list *l , struct sock *sk ) 
 9320{ rwlock_t *__cil_tmp3 ;
 9321  rwlock_t *__cil_tmp4 ;
 9322
 9323  {
 9324  {
 9325#line 71
 9326  __cil_tmp3 = & l->lock;
 9327#line 71
 9328  _raw_write_lock_bh(__cil_tmp3);
 9329#line 72
 9330  sk_del_node_init(sk);
 9331#line 73
 9332  __cil_tmp4 = & l->lock;
 9333#line 73
 9334  _raw_write_unlock_bh(__cil_tmp4);
 9335  }
 9336#line 74
 9337  return;
 9338}
 9339}
 9340#line 77 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9341static int mISDN_send(struct mISDNchannel *ch , struct sk_buff *skb ) 
 9342{ struct mISDN_sock *msk ;
 9343  int err ;
 9344  struct mISDNchannel  const  *__mptr ;
 9345  struct mISDN_sock *__cil_tmp6 ;
 9346  u_int __cil_tmp7 ;
 9347  unsigned int __cil_tmp8 ;
 9348  unsigned int __cil_tmp9 ;
 9349  unsigned char volatile   __cil_tmp10 ;
 9350  unsigned char __cil_tmp11 ;
 9351  unsigned int __cil_tmp12 ;
 9352  struct sock *__cil_tmp13 ;
 9353
 9354  {
 9355#line 82
 9356  __mptr = (struct mISDNchannel  const  *)ch;
 9357#line 82
 9358  __cil_tmp6 = (struct mISDN_sock *)__mptr;
 9359#line 82
 9360  msk = __cil_tmp6 + 1152921504606845704UL;
 9361  {
 9362#line 83
 9363  __cil_tmp7 = *debug___0;
 9364#line 83
 9365  __cil_tmp8 = __cil_tmp7 & 4U;
 9366#line 83
 9367  if (__cil_tmp8 != 0U) {
 9368    {
 9369#line 84
 9370    __cil_tmp9 = skb->len;
 9371#line 84
 9372    printk("<7>%s len %d %p\n", "mISDN_send", __cil_tmp9, skb);
 9373    }
 9374  } else {
 9375
 9376  }
 9377  }
 9378  {
 9379#line 85
 9380  __cil_tmp10 = msk->sk.__sk_common.skc_state;
 9381#line 85
 9382  __cil_tmp11 = (unsigned char )__cil_tmp10;
 9383#line 85
 9384  __cil_tmp12 = (unsigned int )__cil_tmp11;
 9385#line 85
 9386  if (__cil_tmp12 == 3U) {
 9387#line 86
 9388    return (-49);
 9389  } else {
 9390
 9391  }
 9392  }
 9393  {
 9394#line 87
 9395  __net_timestamp(skb);
 9396#line 88
 9397  __cil_tmp13 = & msk->sk;
 9398#line 88
 9399  err = sock_queue_rcv_skb(__cil_tmp13, skb);
 9400  }
 9401#line 89
 9402  if (err != 0) {
 9403    {
 9404#line 90
 9405    printk("<4>%s: error %d\n", "mISDN_send", err);
 9406    }
 9407  } else {
 9408
 9409  }
 9410#line 91
 9411  return (err);
 9412}
 9413}
 9414#line 95 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9415static int mISDN_ctrl(struct mISDNchannel *ch , u_int cmd , void *arg ) 
 9416{ struct mISDN_sock *msk ;
 9417  struct mISDNchannel  const  *__mptr ;
 9418  struct mISDN_sock *__cil_tmp6 ;
 9419  u_int __cil_tmp7 ;
 9420  unsigned int __cil_tmp8 ;
 9421  int __cil_tmp9 ;
 9422
 9423  {
 9424#line 99
 9425  __mptr = (struct mISDNchannel  const  *)ch;
 9426#line 99
 9427  __cil_tmp6 = (struct mISDN_sock *)__mptr;
 9428#line 99
 9429  msk = __cil_tmp6 + 1152921504606845704UL;
 9430  {
 9431#line 100
 9432  __cil_tmp7 = *debug___0;
 9433#line 100
 9434  __cil_tmp8 = __cil_tmp7 & 4U;
 9435#line 100
 9436  if (__cil_tmp8 != 0U) {
 9437    {
 9438#line 101
 9439    printk("<7>%s(%p, %x, %p)\n", "mISDN_ctrl", ch, cmd, arg);
 9440    }
 9441  } else {
 9442
 9443  }
 9444  }
 9445  {
 9446#line 103
 9447  __cil_tmp9 = (int )cmd;
 9448#line 103
 9449  if (__cil_tmp9 == 512) {
 9450#line 103
 9451    goto case_512;
 9452  } else
 9453#line 102
 9454  if (0) {
 9455    case_512: 
 9456#line 104
 9457    msk->sk.__sk_common.skc_state = (unsigned char volatile   )3U;
 9458#line 105
 9459    goto ldv_38402;
 9460  } else {
 9461
 9462  }
 9463  }
 9464  ldv_38402: ;
 9465#line 107
 9466  return (0);
 9467}
 9468}
 9469#line 111 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9470__inline static void mISDN_sock_cmsg(struct sock *sk , struct msghdr *msg , struct sk_buff *skb ) 
 9471{ struct timeval tv ;
 9472  struct mISDN_sock *__cil_tmp5 ;
 9473  u_int __cil_tmp6 ;
 9474  int __cil_tmp7 ;
 9475  struct sk_buff  const  *__cil_tmp8 ;
 9476  void *__cil_tmp9 ;
 9477
 9478  {
 9479  {
 9480#line 115
 9481  __cil_tmp5 = (struct mISDN_sock *)sk;
 9482#line 115
 9483  __cil_tmp6 = __cil_tmp5->cmask;
 9484#line 115
 9485  __cil_tmp7 = (int )__cil_tmp6;
 9486#line 115
 9487  if (__cil_tmp7 & 1) {
 9488    {
 9489#line 116
 9490    __cil_tmp8 = (struct sk_buff  const  *)skb;
 9491#line 116
 9492    skb_get_timestamp(__cil_tmp8, & tv);
 9493#line 117
 9494    __cil_tmp9 = (void *)(& tv);
 9495#line 117
 9496    put_cmsg(msg, 0, 1, 16, __cil_tmp9);
 9497    }
 9498  } else {
 9499
 9500  }
 9501  }
 9502#line 119
 9503  return;
 9504}
 9505}
 9506#line 122 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9507static int mISDN_sock_recvmsg(struct kiocb *iocb , struct socket *sock , struct msghdr *msg ,
 9508                              size_t len , int flags ) 
 9509{ struct sk_buff *skb ;
 9510  struct sock *sk ;
 9511  struct sockaddr_mISDN *maddr ;
 9512  int copied ;
 9513  int err ;
 9514  size_t __len ;
 9515  void *__ret ;
 9516  unsigned char *tmp ;
 9517  unsigned char *tmp___0 ;
 9518  int tmp___1 ;
 9519  u_int __cil_tmp16 ;
 9520  unsigned int __cil_tmp17 ;
 9521  int __cil_tmp18 ;
 9522  struct mISDN_sock *__cil_tmp19 ;
 9523  u_int __cil_tmp20 ;
 9524  unsigned char __cil_tmp21 ;
 9525  int __cil_tmp22 ;
 9526  unsigned char volatile   __cil_tmp23 ;
 9527  unsigned char __cil_tmp24 ;
 9528  unsigned int __cil_tmp25 ;
 9529  unsigned int __cil_tmp26 ;
 9530  int __cil_tmp27 ;
 9531  struct sk_buff *__cil_tmp28 ;
 9532  unsigned long __cil_tmp29 ;
 9533  unsigned long __cil_tmp30 ;
 9534  int __cil_tmp31 ;
 9535  unsigned int __cil_tmp32 ;
 9536  void *__cil_tmp33 ;
 9537  struct mISDN_sock *__cil_tmp34 ;
 9538  struct mISDNdevice *__cil_tmp35 ;
 9539  u_int __cil_tmp36 ;
 9540  unsigned char __cil_tmp37 ;
 9541  unsigned int __cil_tmp38 ;
 9542  char (*__cil_tmp39)[48U] ;
 9543  struct mISDNhead *__cil_tmp40 ;
 9544  unsigned int __cil_tmp41 ;
 9545  unsigned int __cil_tmp42 ;
 9546  char (*__cil_tmp43)[48U] ;
 9547  struct mISDNhead *__cil_tmp44 ;
 9548  unsigned int __cil_tmp45 ;
 9549  unsigned int __cil_tmp46 ;
 9550  char (*__cil_tmp47)[48U] ;
 9551  struct mISDNhead *__cil_tmp48 ;
 9552  unsigned int __cil_tmp49 ;
 9553  unsigned char __cil_tmp50 ;
 9554  unsigned int __cil_tmp51 ;
 9555  char (*__cil_tmp52)[48U] ;
 9556  struct mISDNhead *__cil_tmp53 ;
 9557  unsigned int __cil_tmp54 ;
 9558  unsigned int __cil_tmp55 ;
 9559  char (*__cil_tmp56)[48U] ;
 9560  struct mISDNhead *__cil_tmp57 ;
 9561  unsigned int __cil_tmp58 ;
 9562  unsigned int __cil_tmp59 ;
 9563  char (*__cil_tmp60)[48U] ;
 9564  struct mISDNhead *__cil_tmp61 ;
 9565  unsigned int __cil_tmp62 ;
 9566  struct mISDN_sock *__cil_tmp63 ;
 9567  u_int __cil_tmp64 ;
 9568  struct mISDN_sock *__cil_tmp65 ;
 9569  u_int __cil_tmp66 ;
 9570  struct mISDN_sock *__cil_tmp67 ;
 9571  u_int __cil_tmp68 ;
 9572  u_int __cil_tmp69 ;
 9573  int __cil_tmp70 ;
 9574  int __cil_tmp71 ;
 9575  unsigned int __cil_tmp72 ;
 9576  unsigned int __cil_tmp73 ;
 9577  size_t __cil_tmp74 ;
 9578  int __cil_tmp75 ;
 9579  atomic_t *__cil_tmp76 ;
 9580  struct sk_buff_head *__cil_tmp77 ;
 9581  void *__cil_tmp78 ;
 9582  char (*__cil_tmp79)[48U] ;
 9583  void const   *__cil_tmp80 ;
 9584  void *__cil_tmp81 ;
 9585  char (*__cil_tmp82)[48U] ;
 9586  void const   *__cil_tmp83 ;
 9587  struct sk_buff  const  *__cil_tmp84 ;
 9588  struct iovec *__cil_tmp85 ;
 9589
 9590  {
 9591#line 126
 9592  sk = sock->sk;
 9593  {
 9594#line 131
 9595  __cil_tmp16 = *debug___0;
 9596#line 131
 9597  __cil_tmp17 = __cil_tmp16 & 4U;
 9598#line 131
 9599  if (__cil_tmp17 != 0U) {
 9600    {
 9601#line 132
 9602    __cil_tmp18 = (int )len;
 9603#line 132
 9604    __cil_tmp19 = (struct mISDN_sock *)sk;
 9605#line 132
 9606    __cil_tmp20 = __cil_tmp19->ch.nr;
 9607#line 132
 9608    __cil_tmp21 = sk->sk_protocol;
 9609#line 132
 9610    __cil_tmp22 = (int )__cil_tmp21;
 9611#line 132
 9612    printk("<7>%s: len %d, flags %x ch.nr %d, proto %x\n", "mISDN_sock_recvmsg", __cil_tmp18,
 9613           flags, __cil_tmp20, __cil_tmp22);
 9614    }
 9615  } else {
 9616
 9617  }
 9618  }
 9619#line 135
 9620  if (flags & 1) {
 9621#line 136
 9622    return (-95);
 9623  } else {
 9624
 9625  }
 9626  {
 9627#line 138
 9628  __cil_tmp23 = sk->__sk_common.skc_state;
 9629#line 138
 9630  __cil_tmp24 = (unsigned char )__cil_tmp23;
 9631#line 138
 9632  __cil_tmp25 = (unsigned int )__cil_tmp24;
 9633#line 138
 9634  if (__cil_tmp25 == 3U) {
 9635#line 139
 9636    return (0);
 9637  } else {
 9638
 9639  }
 9640  }
 9641  {
 9642#line 141
 9643  __cil_tmp26 = (unsigned int )flags;
 9644#line 141
 9645  __cil_tmp27 = flags & 64;
 9646#line 141
 9647  skb = skb_recv_datagram(sk, __cil_tmp26, __cil_tmp27, & err);
 9648  }
 9649  {
 9650#line 142
 9651  __cil_tmp28 = (struct sk_buff *)0;
 9652#line 142
 9653  __cil_tmp29 = (unsigned long )__cil_tmp28;
 9654#line 142
 9655  __cil_tmp30 = (unsigned long )skb;
 9656#line 142
 9657  if (__cil_tmp30 == __cil_tmp29) {
 9658#line 143
 9659    return (err);
 9660  } else {
 9661
 9662  }
 9663  }
 9664  {
 9665#line 145
 9666  __cil_tmp31 = msg->msg_namelen;
 9667#line 145
 9668  __cil_tmp32 = (unsigned int )__cil_tmp31;
 9669#line 145
 9670  if (__cil_tmp32 > 5U) {
 9671#line 146
 9672    msg->msg_namelen = 6;
 9673#line 147
 9674    __cil_tmp33 = msg->msg_name;
 9675#line 147
 9676    maddr = (struct sockaddr_mISDN *)__cil_tmp33;
 9677#line 148
 9678    maddr->family = (sa_family_t )34U;
 9679#line 149
 9680    __cil_tmp34 = (struct mISDN_sock *)sk;
 9681#line 149
 9682    __cil_tmp35 = __cil_tmp34->dev;
 9683#line 149
 9684    __cil_tmp36 = __cil_tmp35->id;
 9685#line 149
 9686    maddr->dev = (unsigned char )__cil_tmp36;
 9687    {
 9688#line 150
 9689    __cil_tmp37 = sk->sk_protocol;
 9690#line 150
 9691    __cil_tmp38 = (unsigned int )__cil_tmp37;
 9692#line 150
 9693    if (__cil_tmp38 == 16U) {
 9694#line 152
 9695      __cil_tmp39 = & skb->cb;
 9696#line 152
 9697      __cil_tmp40 = (struct mISDNhead *)__cil_tmp39;
 9698#line 152
 9699      __cil_tmp41 = __cil_tmp40->id;
 9700#line 152
 9701      __cil_tmp42 = __cil_tmp41 >> 16;
 9702#line 152
 9703      maddr->channel = (unsigned char )__cil_tmp42;
 9704#line 153
 9705      __cil_tmp43 = & skb->cb;
 9706#line 153
 9707      __cil_tmp44 = (struct mISDNhead *)__cil_tmp43;
 9708#line 153
 9709      __cil_tmp45 = __cil_tmp44->id;
 9710#line 153
 9711      __cil_tmp46 = __cil_tmp45 >> 8;
 9712#line 153
 9713      maddr->tei = (unsigned char )__cil_tmp46;
 9714#line 154
 9715      __cil_tmp47 = & skb->cb;
 9716#line 154
 9717      __cil_tmp48 = (struct mISDNhead *)__cil_tmp47;
 9718#line 154
 9719      __cil_tmp49 = __cil_tmp48->id;
 9720#line 154
 9721      maddr->sapi = (unsigned char )__cil_tmp49;
 9722    } else {
 9723      {
 9724#line 150
 9725      __cil_tmp50 = sk->sk_protocol;
 9726#line 150
 9727      __cil_tmp51 = (unsigned int )__cil_tmp50;
 9728#line 150
 9729      if (__cil_tmp51 == 17U) {
 9730#line 152
 9731        __cil_tmp52 = & skb->cb;
 9732#line 152
 9733        __cil_tmp53 = (struct mISDNhead *)__cil_tmp52;
 9734#line 152
 9735        __cil_tmp54 = __cil_tmp53->id;
 9736#line 152
 9737        __cil_tmp55 = __cil_tmp54 >> 16;
 9738#line 152
 9739        maddr->channel = (unsigned char )__cil_tmp55;
 9740#line 153
 9741        __cil_tmp56 = & skb->cb;
 9742#line 153
 9743        __cil_tmp57 = (struct mISDNhead *)__cil_tmp56;
 9744#line 153
 9745        __cil_tmp58 = __cil_tmp57->id;
 9746#line 153
 9747        __cil_tmp59 = __cil_tmp58 >> 8;
 9748#line 153
 9749        maddr->tei = (unsigned char )__cil_tmp59;
 9750#line 154
 9751        __cil_tmp60 = & skb->cb;
 9752#line 154
 9753        __cil_tmp61 = (struct mISDNhead *)__cil_tmp60;
 9754#line 154
 9755        __cil_tmp62 = __cil_tmp61->id;
 9756#line 154
 9757        maddr->sapi = (unsigned char )__cil_tmp62;
 9758      } else {
 9759#line 156
 9760        __cil_tmp63 = (struct mISDN_sock *)sk;
 9761#line 156
 9762        __cil_tmp64 = __cil_tmp63->ch.nr;
 9763#line 156
 9764        maddr->channel = (unsigned char )__cil_tmp64;
 9765#line 157
 9766        __cil_tmp65 = (struct mISDN_sock *)sk;
 9767#line 157
 9768        __cil_tmp66 = __cil_tmp65->ch.addr;
 9769#line 157
 9770        maddr->sapi = (unsigned char )__cil_tmp66;
 9771#line 158
 9772        __cil_tmp67 = (struct mISDN_sock *)sk;
 9773#line 158
 9774        __cil_tmp68 = __cil_tmp67->ch.addr;
 9775#line 158
 9776        __cil_tmp69 = __cil_tmp68 >> 8;
 9777#line 158
 9778        maddr->tei = (unsigned char )__cil_tmp69;
 9779      }
 9780      }
 9781    }
 9782    }
 9783  } else {
 9784    {
 9785#line 161
 9786    __cil_tmp70 = msg->msg_namelen;
 9787#line 161
 9788    if (__cil_tmp70 != 0) {
 9789      {
 9790#line 162
 9791      __cil_tmp71 = msg->msg_namelen;
 9792#line 162
 9793      printk("<4>%s: too small namelen %d\n", "mISDN_sock_recvmsg", __cil_tmp71);
 9794      }
 9795    } else {
 9796
 9797    }
 9798    }
 9799#line 164
 9800    msg->msg_namelen = 0;
 9801  }
 9802  }
 9803#line 167
 9804  __cil_tmp72 = skb->len;
 9805#line 167
 9806  __cil_tmp73 = __cil_tmp72 + 8U;
 9807#line 167
 9808  copied = (int )__cil_tmp73;
 9809  {
 9810#line 168
 9811  __cil_tmp74 = (size_t )copied;
 9812#line 168
 9813  if (__cil_tmp74 > len) {
 9814    {
 9815#line 169
 9816    __cil_tmp75 = flags & 2;
 9817#line 169
 9818    if (__cil_tmp75 != 0) {
 9819      {
 9820#line 170
 9821      __cil_tmp76 = & skb->users;
 9822#line 170
 9823      atomic_dec(__cil_tmp76);
 9824      }
 9825    } else {
 9826      {
 9827#line 172
 9828      __cil_tmp77 = & sk->sk_receive_queue;
 9829#line 172
 9830      skb_queue_head(__cil_tmp77, skb);
 9831      }
 9832    }
 9833    }
 9834#line 173
 9835    return (-28);
 9836  } else {
 9837
 9838  }
 9839  }
 9840#line 175
 9841  __len = 8UL;
 9842#line 175
 9843  if (__len > 63UL) {
 9844    {
 9845#line 175
 9846    tmp = skb_push(skb, 8U);
 9847#line 175
 9848    __cil_tmp78 = (void *)tmp;
 9849#line 175
 9850    __cil_tmp79 = & skb->cb;
 9851#line 175
 9852    __cil_tmp80 = (void const   *)__cil_tmp79;
 9853#line 175
 9854    __ret = __memcpy(__cil_tmp78, __cil_tmp80, __len);
 9855    }
 9856  } else {
 9857    {
 9858#line 175
 9859    tmp___0 = skb_push(skb, 8U);
 9860#line 175
 9861    __cil_tmp81 = (void *)tmp___0;
 9862#line 175
 9863    __cil_tmp82 = & skb->cb;
 9864#line 175
 9865    __cil_tmp83 = (void const   *)__cil_tmp82;
 9866#line 175
 9867    __ret = __builtin_memcpy(__cil_tmp81, __cil_tmp83, __len);
 9868    }
 9869  }
 9870  {
 9871#line 178
 9872  __cil_tmp84 = (struct sk_buff  const  *)skb;
 9873#line 178
 9874  __cil_tmp85 = msg->msg_iov;
 9875#line 178
 9876  err = skb_copy_datagram_iovec(__cil_tmp84, 0, __cil_tmp85, copied);
 9877#line 180
 9878  mISDN_sock_cmsg(sk, msg, skb);
 9879#line 182
 9880  skb_free_datagram(sk, skb);
 9881  }
 9882#line 184
 9883  if (err != 0) {
 9884#line 184
 9885    tmp___1 = err;
 9886  } else {
 9887#line 184
 9888    tmp___1 = copied;
 9889  }
 9890#line 184
 9891  return (tmp___1);
 9892}
 9893}
 9894#line 188 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
 9895static int mISDN_sock_sendmsg(struct kiocb *iocb , struct socket *sock , struct msghdr *msg ,
 9896                              size_t len ) 
 9897{ struct sock *sk ;
 9898  struct sk_buff *skb ;
 9899  int err ;
 9900  struct sockaddr_mISDN *maddr ;
 9901  unsigned char *tmp ;
 9902  int tmp___0 ;
 9903  size_t __len ;
 9904  void *__ret ;
 9905  u_int __cil_tmp13 ;
 9906  unsigned int __cil_tmp14 ;
 9907  int __cil_tmp15 ;
 9908  unsigned int __cil_tmp16 ;
 9909  struct mISDN_sock *__cil_tmp17 ;
 9910  u_int __cil_tmp18 ;
 9911  unsigned char __cil_tmp19 ;
 9912  int __cil_tmp20 ;
 9913  unsigned int __cil_tmp21 ;
 9914  int __cil_tmp22 ;
 9915  unsigned int __cil_tmp23 ;
 9916  unsigned int __cil_tmp24 ;
 9917  unsigned char volatile   __cil_tmp25 ;
 9918  unsigned char __cil_tmp26 ;
 9919  unsigned int __cil_tmp27 ;
 9920  unsigned int __cil_tmp28 ;
 9921  struct sk_buff *__cil_tmp29 ;
 9922  unsigned long __cil_tmp30 ;
 9923  unsigned long __cil_tmp31 ;
 9924  unsigned int __cil_tmp32 ;
 9925  struct iovec *__cil_tmp33 ;
 9926  int __cil_tmp34 ;
 9927  char (*__cil_tmp35)[48U] ;
 9928  void *__cil_tmp36 ;
 9929  unsigned char *__cil_tmp37 ;
 9930  void const   *__cil_tmp38 ;
 9931  char (*__cil_tmp39)[48U] ;
 9932  void *__cil_tmp40 ;
 9933  unsigned char *__cil_tmp41 ;
 9934  void const   *__cil_tmp42 ;
 9935  int __cil_tmp43 ;
 9936  unsigned int __cil_tmp44 ;
 9937  void *__cil_tmp45 ;
 9938  char (*__cil_tmp46)[48U] ;
 9939  struct mISDNhead *__cil_tmp47 ;
 9940  unsigned char __cil_tmp48 ;
 9941  unsigned char __cil_tmp49 ;
 9942  unsigned int __cil_tmp50 ;
 9943  char (*__cil_tmp51)[48U] ;
 9944  struct mISDNhead *__cil_tmp52 ;
 9945  struct mISDN_sock *__cil_tmp53 ;
 9946  unsigned char __cil_tmp54 ;
 9947  unsigned int __cil_tmp55 ;
 9948  char (*__cil_tmp56)[48U] ;
 9949  struct mISDNhead *__cil_tmp57 ;
 9950  struct mISDN_sock *__cil_tmp58 ;
 9951  u_int __cil_tmp59 ;
 9952  unsigned int __cil_tmp60 ;
 9953  char (*__cil_tmp61)[48U] ;
 9954  struct mISDNhead *__cil_tmp62 ;
 9955  unsigned int __cil_tmp63 ;
 9956  struct mISDNchannel *__cil_tmp64 ;
 9957  unsigned long __cil_tmp65 ;
 9958  struct mISDN_sock *__cil_tmp66 ;
 9959  struct mISDNchannel *__cil_tmp67 ;
 9960  unsigned long __cil_tmp68 ;
 9961  struct mISDN_sock *__cil_tmp69 ;
 9962  send_func_t *__cil_tmp70 ;
 9963  struct mISDN_sock *__cil_tmp71 ;
 9964  struct mISDNchannel *__cil_tmp72 ;
 9965  struct sk_buff *__cil_tmp73 ;
 9966  unsigned long __cil_tmp74 ;
 9967  unsigned long __cil_tmp75 ;
 9968
 9969  {
 9970#line 191
 9971  sk = sock->sk;
 9972#line 193
 9973  err = -12;
 9974  {
 9975#line 196
 9976  __cil_tmp13 = *debug___0;
 9977#line 196
 9978  __cil_tmp14 = __cil_tmp13 & 4U;
 9979#line 196
 9980  if (__cil_tmp14 != 0U) {
 9981    {
 9982#line 197
 9983    __cil_tmp15 = (int )len;
 9984#line 197
 9985    __cil_tmp16 = msg->msg_flags;
 9986#line 197
 9987    __cil_tmp17 = (struct mISDN_sock *)sk;
 9988#line 197
 9989    __cil_tmp18 = __cil_tmp17->ch.nr;
 9990#line 197
 9991    __cil_tmp19 = sk->sk_protocol;
 9992#line 197
 9993    __cil_tmp20 = (int )__cil_tmp19;
 9994#line 197
 9995    printk("<7>%s: len %d flags %x ch %d proto %x\n", "mISDN_sock_sendmsg", __cil_tmp15,
 9996           __cil_tmp16, __cil_tmp18, __cil_tmp20);
 9997    }
 9998  } else {
 9999
10000  }
10001  }
10002  {
10003#line 201
10004  __cil_tmp21 = msg->msg_flags;
10005#line 201
10006  __cil_tmp22 = (int )__cil_tmp21;
10007#line 201
10008  if (__cil_tmp22 & 1) {
10009#line 202
10010    return (-95);
10011  } else {
10012
10013  }
10014  }
10015  {
10016#line 204
10017  __cil_tmp23 = msg->msg_flags;
10018#line 204
10019  __cil_tmp24 = __cil_tmp23 & 4294942655U;
10020#line 204
10021  if (__cil_tmp24 != 0U) {
10022#line 205
10023    return (-22);
10024  } else {
10025
10026  }
10027  }
10028#line 207
10029  if (len <= 7UL) {
10030#line 208
10031    return (-22);
10032  } else {
10033
10034  }
10035  {
10036#line 210
10037  __cil_tmp25 = sk->__sk_common.skc_state;
10038#line 210
10039  __cil_tmp26 = (unsigned char )__cil_tmp25;
10040#line 210
10041  __cil_tmp27 = (unsigned int )__cil_tmp26;
10042#line 210
10043  if (__cil_tmp27 != 2U) {
10044#line 211
10045    return (-77);
10046  } else {
10047
10048  }
10049  }
10050  {
10051#line 213
10052  lock_sock(sk);
10053#line 215
10054  __cil_tmp28 = (unsigned int )len;
10055#line 215
10056  skb = _l2_alloc_skb(__cil_tmp28, 208U);
10057  }
10058  {
10059#line 216
10060  __cil_tmp29 = (struct sk_buff *)0;
10061#line 216
10062  __cil_tmp30 = (unsigned long )__cil_tmp29;
10063#line 216
10064  __cil_tmp31 = (unsigned long )skb;
10065#line 216
10066  if (__cil_tmp31 == __cil_tmp30) {
10067#line 217
10068    goto done;
10069  } else {
10070
10071  }
10072  }
10073  {
10074#line 219
10075  __cil_tmp32 = (unsigned int )len;
10076#line 219
10077  tmp = skb_put(skb, __cil_tmp32);
10078#line 219
10079  __cil_tmp33 = msg->msg_iov;
10080#line 219
10081  __cil_tmp34 = (int )len;
10082#line 219
10083  tmp___0 = memcpy_fromiovec(tmp, __cil_tmp33, __cil_tmp34);
10084  }
10085#line 219
10086  if (tmp___0 != 0) {
10087#line 220
10088    err = -14;
10089#line 221
10090    goto done;
10091  } else {
10092
10093  }
10094#line 224
10095  __len = 8UL;
10096#line 224
10097  if (__len > 63UL) {
10098    {
10099#line 224
10100    __cil_tmp35 = & skb->cb;
10101#line 224
10102    __cil_tmp36 = (void *)__cil_tmp35;
10103#line 224
10104    __cil_tmp37 = skb->data;
10105#line 224
10106    __cil_tmp38 = (void const   *)__cil_tmp37;
10107#line 224
10108    __ret = __memcpy(__cil_tmp36, __cil_tmp38, __len);
10109    }
10110  } else {
10111    {
10112#line 224
10113    __cil_tmp39 = & skb->cb;
10114#line 224
10115    __cil_tmp40 = (void *)__cil_tmp39;
10116#line 224
10117    __cil_tmp41 = skb->data;
10118#line 224
10119    __cil_tmp42 = (void const   *)__cil_tmp41;
10120#line 224
10121    __ret = __builtin_memcpy(__cil_tmp40, __cil_tmp42, __len);
10122    }
10123  }
10124  {
10125#line 225
10126  skb_pull(skb, 8U);
10127  }
10128  {
10129#line 227
10130  __cil_tmp43 = msg->msg_namelen;
10131#line 227
10132  __cil_tmp44 = (unsigned int )__cil_tmp43;
10133#line 227
10134  if (__cil_tmp44 > 5U) {
10135#line 229
10136    __cil_tmp45 = msg->msg_name;
10137#line 229
10138    maddr = (struct sockaddr_mISDN *)__cil_tmp45;
10139#line 230
10140    __cil_tmp46 = & skb->cb;
10141#line 230
10142    __cil_tmp47 = (struct mISDNhead *)__cil_tmp46;
10143#line 230
10144    __cil_tmp48 = maddr->channel;
10145#line 230
10146    __cil_tmp47->id = (unsigned int )__cil_tmp48;
10147  } else {
10148    {
10149#line 232
10150    __cil_tmp49 = sk->sk_protocol;
10151#line 232
10152    __cil_tmp50 = (unsigned int )__cil_tmp49;
10153#line 232
10154    if (__cil_tmp50 == 16U) {
10155#line 234
10156      __cil_tmp51 = & skb->cb;
10157#line 234
10158      __cil_tmp52 = (struct mISDNhead *)__cil_tmp51;
10159#line 234
10160      __cil_tmp53 = (struct mISDN_sock *)sk;
10161#line 234
10162      __cil_tmp52->id = __cil_tmp53->ch.nr;
10163    } else {
10164      {
10165#line 232
10166      __cil_tmp54 = sk->sk_protocol;
10167#line 232
10168      __cil_tmp55 = (unsigned int )__cil_tmp54;
10169#line 232
10170      if (__cil_tmp55 == 17U) {
10171#line 234
10172        __cil_tmp56 = & skb->cb;
10173#line 234
10174        __cil_tmp57 = (struct mISDNhead *)__cil_tmp56;
10175#line 234
10176        __cil_tmp58 = (struct mISDN_sock *)sk;
10177#line 234
10178        __cil_tmp57->id = __cil_tmp58->ch.nr;
10179      } else {
10180
10181      }
10182      }
10183    }
10184    }
10185  }
10186  }
10187  {
10188#line 237
10189  __cil_tmp59 = *debug___0;
10190#line 237
10191  __cil_tmp60 = __cil_tmp59 & 4U;
10192#line 237
10193  if (__cil_tmp60 != 0U) {
10194    {
10195#line 238
10196    __cil_tmp61 = & skb->cb;
10197#line 238
10198    __cil_tmp62 = (struct mISDNhead *)__cil_tmp61;
10199#line 238
10200    __cil_tmp63 = __cil_tmp62->id;
10201#line 238
10202    printk("<7>%s: ID:%x\n", "mISDN_sock_sendmsg", __cil_tmp63);
10203    }
10204  } else {
10205
10206  }
10207  }
10208#line 241
10209  err = -19;
10210  {
10211#line 242
10212  __cil_tmp64 = (struct mISDNchannel *)0;
10213#line 242
10214  __cil_tmp65 = (unsigned long )__cil_tmp64;
10215#line 242
10216  __cil_tmp66 = (struct mISDN_sock *)sk;
10217#line 242
10218  __cil_tmp67 = __cil_tmp66->ch.peer;
10219#line 242
10220  __cil_tmp68 = (unsigned long )__cil_tmp67;
10221#line 242
10222  if (__cil_tmp68 == __cil_tmp65) {
10223#line 243
10224    goto done;
10225  } else {
10226
10227  }
10228  }
10229  {
10230#line 244
10231  __cil_tmp69 = (struct mISDN_sock *)sk;
10232#line 244
10233  __cil_tmp70 = __cil_tmp69->ch.recv;
10234#line 244
10235  __cil_tmp71 = (struct mISDN_sock *)sk;
10236#line 244
10237  __cil_tmp72 = __cil_tmp71->ch.peer;
10238#line 244
10239  err = (*__cil_tmp70)(__cil_tmp72, skb);
10240  }
10241#line 245
10242  if (err != 0) {
10243#line 246
10244    goto done;
10245  } else {
10246#line 248
10247    skb = (struct sk_buff *)0;
10248#line 249
10249    err = (int )len;
10250  }
10251  done: ;
10252  {
10253#line 253
10254  __cil_tmp73 = (struct sk_buff *)0;
10255#line 253
10256  __cil_tmp74 = (unsigned long )__cil_tmp73;
10257#line 253
10258  __cil_tmp75 = (unsigned long )skb;
10259#line 253
10260  if (__cil_tmp75 != __cil_tmp74) {
10261    {
10262#line 254
10263    kfree_skb(skb);
10264    }
10265  } else {
10266
10267  }
10268  }
10269  {
10270#line 255
10271  release_sock(sk);
10272  }
10273#line 256
10274  return (err);
10275}
10276}
10277#line 260 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
10278static int data_sock_release(struct socket *sock ) 
10279{ struct sock *sk ;
10280  u_int __cil_tmp3 ;
10281  unsigned int __cil_tmp4 ;
10282  struct sock *__cil_tmp5 ;
10283  unsigned long __cil_tmp6 ;
10284  unsigned long __cil_tmp7 ;
10285  unsigned char __cil_tmp8 ;
10286  int __cil_tmp9 ;
10287  unsigned char __cil_tmp10 ;
10288  int __cil_tmp11 ;
10289  unsigned char __cil_tmp12 ;
10290  int __cil_tmp13 ;
10291  unsigned char __cil_tmp14 ;
10292  int __cil_tmp15 ;
10293  unsigned char __cil_tmp16 ;
10294  int __cil_tmp17 ;
10295  unsigned char __cil_tmp18 ;
10296  int __cil_tmp19 ;
10297  unsigned char __cil_tmp20 ;
10298  int __cil_tmp21 ;
10299  unsigned char __cil_tmp22 ;
10300  int __cil_tmp23 ;
10301  unsigned char __cil_tmp24 ;
10302  int __cil_tmp25 ;
10303  unsigned char __cil_tmp26 ;
10304  int __cil_tmp27 ;
10305  unsigned char __cil_tmp28 ;
10306  int __cil_tmp29 ;
10307  unsigned char __cil_tmp30 ;
10308  int __cil_tmp31 ;
10309  unsigned char volatile   __cil_tmp32 ;
10310  unsigned char __cil_tmp33 ;
10311  unsigned int __cil_tmp34 ;
10312  struct mISDN_sock *__cil_tmp35 ;
10313  struct mISDNchannel *__cil_tmp36 ;
10314  struct mISDN_sock *__cil_tmp37 ;
10315  struct mISDNchannel *__cil_tmp38 ;
10316  struct sk_buff_head *__cil_tmp39 ;
10317
10318  {
10319#line 262
10320  sk = sock->sk;
10321  {
10322#line 264
10323  __cil_tmp3 = *debug___0;
10324#line 264
10325  __cil_tmp4 = __cil_tmp3 & 4U;
10326#line 264
10327  if (__cil_tmp4 != 0U) {
10328    {
10329#line 265
10330    printk("<7>%s(%p) sk=%p\n", "data_sock_release", sock, sk);
10331    }
10332  } else {
10333
10334  }
10335  }
10336  {
10337#line 266
10338  __cil_tmp5 = (struct sock *)0;
10339#line 266
10340  __cil_tmp6 = (unsigned long )__cil_tmp5;
10341#line 266
10342  __cil_tmp7 = (unsigned long )sk;
10343#line 266
10344  if (__cil_tmp7 == __cil_tmp6) {
10345#line 267
10346    return (0);
10347  } else {
10348
10349  }
10350  }
10351  {
10352#line 269
10353  __cil_tmp8 = sk->sk_protocol;
10354#line 269
10355  __cil_tmp9 = (int )__cil_tmp8;
10356#line 269
10357  if (__cil_tmp9 == 1) {
10358#line 269
10359    goto case_1;
10360  } else {
10361    {
10362#line 270
10363    __cil_tmp10 = sk->sk_protocol;
10364#line 270
10365    __cil_tmp11 = (int )__cil_tmp10;
10366#line 270
10367    if (__cil_tmp11 == 2) {
10368#line 270
10369      goto case_2;
10370    } else {
10371      {
10372#line 271
10373      __cil_tmp12 = sk->sk_protocol;
10374#line 271
10375      __cil_tmp13 = (int )__cil_tmp12;
10376#line 271
10377      if (__cil_tmp13 == 3) {
10378#line 271
10379        goto case_3;
10380      } else {
10381        {
10382#line 272
10383        __cil_tmp14 = sk->sk_protocol;
10384#line 272
10385        __cil_tmp15 = (int )__cil_tmp14;
10386#line 272
10387        if (__cil_tmp15 == 4) {
10388#line 272
10389          goto case_4;
10390        } else {
10391          {
10392#line 278
10393          __cil_tmp16 = sk->sk_protocol;
10394#line 278
10395          __cil_tmp17 = (int )__cil_tmp16;
10396#line 278
10397          if (__cil_tmp17 == 16) {
10398#line 278
10399            goto case_16;
10400          } else {
10401            {
10402#line 279
10403            __cil_tmp18 = sk->sk_protocol;
10404#line 279
10405            __cil_tmp19 = (int )__cil_tmp18;
10406#line 279
10407            if (__cil_tmp19 == 17) {
10408#line 279
10409              goto case_17;
10410            } else {
10411              {
10412#line 280
10413              __cil_tmp20 = sk->sk_protocol;
10414#line 280
10415              __cil_tmp21 = (int )__cil_tmp20;
10416#line 280
10417              if (__cil_tmp21 == 33) {
10418#line 280
10419                goto case_33;
10420              } else {
10421                {
10422#line 281
10423                __cil_tmp22 = sk->sk_protocol;
10424#line 281
10425                __cil_tmp23 = (int )__cil_tmp22;
10426#line 281
10427                if (__cil_tmp23 == 34) {
10428#line 281
10429                  goto case_34;
10430                } else {
10431                  {
10432#line 282
10433                  __cil_tmp24 = sk->sk_protocol;
10434#line 282
10435                  __cil_tmp25 = (int )__cil_tmp24;
10436#line 282
10437                  if (__cil_tmp25 == 35) {
10438#line 282
10439                    goto case_35;
10440                  } else {
10441                    {
10442#line 283
10443                    __cil_tmp26 = sk->sk_protocol;
10444#line 283
10445                    __cil_tmp27 = (int )__cil_tmp26;
10446#line 283
10447                    if (__cil_tmp27 == 36) {
10448#line 283
10449                      goto case_36;
10450                    } else {
10451                      {
10452#line 284
10453                      __cil_tmp28 = sk->sk_protocol;
10454#line 284
10455                      __cil_tmp29 = (int )__cil_tmp28;
10456#line 284
10457                      if (__cil_tmp29 == 37) {
10458#line 284
10459                        goto case_37;
10460                      } else {
10461                        {
10462#line 285
10463                        __cil_tmp30 = sk->sk_protocol;
10464#line 285
10465                        __cil_tmp31 = (int )__cil_tmp30;
10466#line 285
10467                        if (__cil_tmp31 == 38) {
10468#line 285
10469                          goto case_38;
10470                        } else
10471#line 268
10472                        if (0) {
10473                          case_1: ;
10474                          case_2: ;
10475                          case_3: ;
10476                          case_4: ;
10477                          {
10478#line 273
10479                          __cil_tmp32 = sk->__sk_common.skc_state;
10480#line 273
10481                          __cil_tmp33 = (unsigned char )__cil_tmp32;
10482#line 273
10483                          __cil_tmp34 = (unsigned int )__cil_tmp33;
10484#line 273
10485                          if (__cil_tmp34 == 2U) {
10486                            {
10487#line 274
10488                            __cil_tmp35 = (struct mISDN_sock *)sk;
10489#line 274
10490                            __cil_tmp36 = & __cil_tmp35->ch;
10491#line 274
10492                            delete_channel(__cil_tmp36);
10493                            }
10494                          } else {
10495                            {
10496#line 276
10497                            mISDN_sock_unlink(& data_sockets, sk);
10498                            }
10499                          }
10500                          }
10501#line 277
10502                          goto ldv_38449;
10503                          case_16: ;
10504                          case_17: ;
10505                          case_33: ;
10506                          case_34: ;
10507                          case_35: ;
10508                          case_36: ;
10509                          case_37: ;
10510                          case_38: 
10511                          {
10512#line 286
10513                          __cil_tmp37 = (struct mISDN_sock *)sk;
10514#line 286
10515                          __cil_tmp38 = & __cil_tmp37->ch;
10516#line 286
10517                          delete_channel(__cil_tmp38);
10518#line 287
10519                          mISDN_sock_unlink(& data_sockets, sk);
10520                          }
10521#line 288
10522                          goto ldv_38449;
10523                        } else {
10524
10525                        }
10526                        }
10527                      }
10528                      }
10529                    }
10530                    }
10531                  }
10532                  }
10533                }
10534                }
10535              }
10536              }
10537            }
10538            }
10539          }
10540          }
10541        }
10542        }
10543      }
10544      }
10545    }
10546    }
10547  }
10548  }
10549  ldv_38449: 
10550  {
10551#line 291
10552  lock_sock(sk);
10553#line 293
10554  sock_orphan(sk);
10555#line 294
10556  __cil_tmp39 = & sk->sk_receive_queue;
10557#line 294
10558  skb_queue_purge(__cil_tmp39);
10559#line 296
10560  release_sock(sk);
10561#line 297
10562  sock_put(sk);
10563  }
10564#line 299
10565  return (0);
10566}
10567}
10568#line 303 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
10569static int data_sock_ioctl_bound(struct sock *sk , unsigned int cmd , void *p ) 
10570{ struct mISDN_ctrl_req cq ;
10571  int err ;
10572  int val[2U] ;
10573  struct mISDNchannel *bchan ;
10574  struct mISDNchannel *next ;
10575  unsigned long tmp ;
10576  struct list_head  const  *__mptr ;
10577  struct list_head  const  *__mptr___0 ;
10578  struct list_head  const  *__mptr___1 ;
10579  int tmp___0 ;
10580  int __ret_gu ;
10581  unsigned long __val_gu ;
10582  int __ret_gu___0 ;
10583  unsigned long __val_gu___0 ;
10584  struct mISDNdevice *__cil_tmp18 ;
10585  unsigned long __cil_tmp19 ;
10586  struct mISDN_sock *__cil_tmp20 ;
10587  struct mISDNdevice *__cil_tmp21 ;
10588  unsigned long __cil_tmp22 ;
10589  int __cil_tmp23 ;
10590  int __cil_tmp24 ;
10591  int __cil_tmp25 ;
10592  void *__cil_tmp26 ;
10593  void const   *__cil_tmp27 ;
10594  unsigned char __cil_tmp28 ;
10595  int __cil_tmp29 ;
10596  int __cil_tmp30 ;
10597  struct mISDN_sock *__cil_tmp31 ;
10598  struct mISDNdevice *__cil_tmp32 ;
10599  struct list_head *__cil_tmp33 ;
10600  struct list_head *__cil_tmp34 ;
10601  u_int __cil_tmp35 ;
10602  u_int __cil_tmp36 ;
10603  ctrl_func_t *__cil_tmp37 ;
10604  void *__cil_tmp38 ;
10605  struct list_head *__cil_tmp39 ;
10606  struct mISDN_sock *__cil_tmp40 ;
10607  struct mISDNdevice *__cil_tmp41 ;
10608  struct list_head *__cil_tmp42 ;
10609  unsigned long __cil_tmp43 ;
10610  struct list_head *__cil_tmp44 ;
10611  unsigned long __cil_tmp45 ;
10612  struct mISDN_sock *__cil_tmp46 ;
10613  struct mISDNdevice *__cil_tmp47 ;
10614  ctrl_func_t *__cil_tmp48 ;
10615  struct mISDN_sock *__cil_tmp49 ;
10616  struct mISDNdevice *__cil_tmp50 ;
10617  struct mISDNchannel *__cil_tmp51 ;
10618  void *__cil_tmp52 ;
10619  void const   *__cil_tmp53 ;
10620  unsigned char __cil_tmp54 ;
10621  unsigned int __cil_tmp55 ;
10622  struct mISDN_sock *__cil_tmp56 ;
10623  struct mISDNdevice *__cil_tmp57 ;
10624  struct mISDNchannel *__cil_tmp58 ;
10625  ctrl_func_t *__cil_tmp59 ;
10626  struct mISDN_sock *__cil_tmp60 ;
10627  struct mISDNdevice *__cil_tmp61 ;
10628  struct mISDNchannel *__cil_tmp62 ;
10629  void *__cil_tmp63 ;
10630  unsigned char __cil_tmp64 ;
10631  unsigned int __cil_tmp65 ;
10632  unsigned char __cil_tmp66 ;
10633  unsigned int __cil_tmp67 ;
10634  struct mISDN_sock *__cil_tmp68 ;
10635  struct mISDNdevice *__cil_tmp69 ;
10636  struct mISDNchannel *__cil_tmp70 ;
10637  ctrl_func_t *__cil_tmp71 ;
10638  struct mISDN_sock *__cil_tmp72 ;
10639  struct mISDNdevice *__cil_tmp73 ;
10640  struct mISDNchannel *__cil_tmp74 ;
10641  void *__cil_tmp75 ;
10642
10643  {
10644  {
10645#line 306
10646  err = -22;
10647#line 309
10648  lock_sock(sk);
10649  }
10650  {
10651#line 310
10652  __cil_tmp18 = (struct mISDNdevice *)0;
10653#line 310
10654  __cil_tmp19 = (unsigned long )__cil_tmp18;
10655#line 310
10656  __cil_tmp20 = (struct mISDN_sock *)sk;
10657#line 310
10658  __cil_tmp21 = __cil_tmp20->dev;
10659#line 310
10660  __cil_tmp22 = (unsigned long )__cil_tmp21;
10661#line 310
10662  if (__cil_tmp22 == __cil_tmp19) {
10663#line 311
10664    err = -19;
10665#line 312
10666    goto done;
10667  } else {
10668
10669  }
10670  }
10671  {
10672#line 315
10673  __cil_tmp23 = (int )cmd;
10674#line 315
10675  if (__cil_tmp23 == -2147202747) {
10676#line 315
10677    goto case_neg_2147202747;
10678  } else {
10679    {
10680#line 337
10681    __cil_tmp24 = (int )cmd;
10682#line 337
10683    if (__cil_tmp24 == -2147202746) {
10684#line 337
10685      goto case_neg_2147202746;
10686    } else {
10687      {
10688#line 350
10689      __cil_tmp25 = (int )cmd;
10690#line 350
10691      if (__cil_tmp25 == -2147202744) {
10692#line 350
10693        goto case_neg_2147202744;
10694      } else {
10695#line 364
10696        goto switch_default___1;
10697#line 314
10698        if (0) {
10699          case_neg_2147202747: 
10700          {
10701#line 316
10702          __cil_tmp26 = (void *)(& cq);
10703#line 316
10704          __cil_tmp27 = (void const   *)p;
10705#line 316
10706          tmp = copy_from_user(__cil_tmp26, __cil_tmp27, 16UL);
10707          }
10708#line 316
10709          if (tmp != 0UL) {
10710#line 317
10711            err = -14;
10712#line 318
10713            goto ldv_38470;
10714          } else {
10715
10716          }
10717          {
10718#line 320
10719          __cil_tmp28 = sk->sk_protocol;
10720#line 320
10721          __cil_tmp29 = (int )__cil_tmp28;
10722#line 320
10723          __cil_tmp30 = __cil_tmp29 & -32;
10724#line 320
10725          if (__cil_tmp30 == 32) {
10726#line 321
10727            __cil_tmp31 = (struct mISDN_sock *)sk;
10728#line 321
10729            __cil_tmp32 = __cil_tmp31->dev;
10730#line 321
10731            __cil_tmp33 = __cil_tmp32->bchannels.next;
10732#line 321
10733            __mptr = (struct list_head  const  *)__cil_tmp33;
10734#line 321
10735            bchan = (struct mISDNchannel *)__mptr;
10736#line 321
10737            __cil_tmp34 = bchan->list.next;
10738#line 321
10739            __mptr___0 = (struct list_head  const  *)__cil_tmp34;
10740#line 321
10741            next = (struct mISDNchannel *)__mptr___0;
10742#line 321
10743            goto ldv_38479;
10744            ldv_38478: ;
10745            {
10746#line 323
10747            __cil_tmp35 = (u_int )cq.channel;
10748#line 323
10749            __cil_tmp36 = bchan->nr;
10750#line 323
10751            if (__cil_tmp36 == __cil_tmp35) {
10752              {
10753#line 324
10754              __cil_tmp37 = bchan->ctrl;
10755#line 324
10756              __cil_tmp38 = (void *)(& cq);
10757#line 324
10758              err = (*__cil_tmp37)(bchan, 768U, __cil_tmp38);
10759              }
10760#line 326
10761              goto ldv_38477;
10762            } else {
10763
10764            }
10765            }
10766#line 321
10767            bchan = next;
10768#line 321
10769            __cil_tmp39 = next->list.next;
10770#line 321
10771            __mptr___1 = (struct list_head  const  *)__cil_tmp39;
10772#line 321
10773            next = (struct mISDNchannel *)__mptr___1;
10774            ldv_38479: ;
10775            {
10776#line 321
10777            __cil_tmp40 = (struct mISDN_sock *)sk;
10778#line 321
10779            __cil_tmp41 = __cil_tmp40->dev;
10780#line 321
10781            __cil_tmp42 = & __cil_tmp41->bchannels;
10782#line 321
10783            __cil_tmp43 = (unsigned long )__cil_tmp42;
10784#line 321
10785            __cil_tmp44 = & bchan->list;
10786#line 321
10787            __cil_tmp45 = (unsigned long )__cil_tmp44;
10788#line 321
10789            if (__cil_tmp45 != __cil_tmp43) {
10790#line 322
10791              goto ldv_38478;
10792            } else {
10793#line 324
10794              goto ldv_38477;
10795            }
10796            }
10797            ldv_38477: ;
10798          } else {
10799            {
10800#line 330
10801            __cil_tmp46 = (struct mISDN_sock *)sk;
10802#line 330
10803            __cil_tmp47 = __cil_tmp46->dev;
10804#line 330
10805            __cil_tmp48 = __cil_tmp47->D.ctrl;
10806#line 330
10807            __cil_tmp49 = (struct mISDN_sock *)sk;
10808#line 330
10809            __cil_tmp50 = __cil_tmp49->dev;
10810#line 330
10811            __cil_tmp51 = & __cil_tmp50->D;
10812#line 330
10813            __cil_tmp52 = (void *)(& cq);
10814#line 330
10815            err = (*__cil_tmp48)(__cil_tmp51, 768U, __cil_tmp52);
10816            }
10817          }
10818          }
10819#line 332
10820          if (err != 0) {
10821#line 333
10822            goto ldv_38470;
10823          } else {
10824
10825          }
10826          {
10827#line 334
10828          __cil_tmp53 = (void const   *)(& cq);
10829#line 334
10830          tmp___0 = copy_to_user(p, __cil_tmp53, 16U);
10831          }
10832#line 334
10833          if (tmp___0 != 0) {
10834#line 335
10835            err = -14;
10836          } else {
10837
10838          }
10839#line 336
10840          goto ldv_38470;
10841          case_neg_2147202746: ;
10842          {
10843#line 338
10844          __cil_tmp54 = sk->sk_protocol;
10845#line 338
10846          __cil_tmp55 = (unsigned int )__cil_tmp54;
10847#line 338
10848          if (__cil_tmp55 != 17U) {
10849#line 339
10850            err = -22;
10851#line 340
10852            goto ldv_38470;
10853          } else {
10854
10855          }
10856          }
10857          {
10858#line 342
10859          val[0] = (int )cmd;
10860#line 343
10861          might_fault();
10862          }
10863#line 343
10864          if (1) {
10865#line 343
10866            goto case_4;
10867          } else {
10868#line 343
10869            goto switch_default;
10870#line 343
10871            if (0) {
10872#line 343
10873              __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)p));
10874#line 343
10875              goto ldv_38484;
10876#line 343
10877              __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)p));
10878#line 343
10879              goto ldv_38484;
10880              case_4: 
10881#line 343
10882              __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)p));
10883#line 343
10884              goto ldv_38484;
10885#line 343
10886              __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)p));
10887#line 343
10888              goto ldv_38484;
10889              switch_default: 
10890#line 343
10891              __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)p));
10892#line 343
10893              goto ldv_38484;
10894            } else {
10895
10896            }
10897          }
10898          ldv_38484: 
10899#line 343
10900          val[1] = (int )__val_gu;
10901#line 343
10902          if (__ret_gu != 0) {
10903#line 344
10904            err = -14;
10905#line 345
10906            goto ldv_38470;
10907          } else {
10908
10909          }
10910          {
10911#line 347
10912          __cil_tmp56 = (struct mISDN_sock *)sk;
10913#line 347
10914          __cil_tmp57 = __cil_tmp56->dev;
10915#line 347
10916          __cil_tmp58 = __cil_tmp57->teimgr;
10917#line 347
10918          __cil_tmp59 = __cil_tmp58->ctrl;
10919#line 347
10920          __cil_tmp60 = (struct mISDN_sock *)sk;
10921#line 347
10922          __cil_tmp61 = __cil_tmp60->dev;
10923#line 347
10924          __cil_tmp62 = __cil_tmp61->teimgr;
10925#line 347
10926          __cil_tmp63 = (void *)(& val);
10927#line 347
10928          err = (*__cil_tmp59)(__cil_tmp62, 768U, __cil_tmp63);
10929          }
10930#line 349
10931          goto ldv_38470;
10932          case_neg_2147202744: ;
10933          {
10934#line 351
10935          __cil_tmp64 = sk->sk_protocol;
10936#line 351
10937          __cil_tmp65 = (unsigned int )__cil_tmp64;
10938#line 351
10939          if (__cil_tmp65 != 17U) {
10940            {
10941#line 351
10942            __cil_tmp66 = sk->sk_protocol;
10943#line 351
10944            __cil_tmp67 = (unsigned int )__cil_tmp66;
10945#line 351
10946            if (__cil_tmp67 != 16U) {
10947#line 353
10948              err = -22;
10949#line 354
10950              goto ldv_38470;
10951            } else {
10952
10953            }
10954            }
10955          } else {
10956
10957          }
10958          }
10959          {
10960#line 356
10961          val[0] = (int )cmd;
10962#line 357
10963          might_fault();
10964          }
10965#line 357
10966          if (1) {
10967#line 357
10968            goto case_4___0;
10969          } else {
10970#line 357
10971            goto switch_default___0;
10972#line 357
10973            if (0) {
10974#line 357
10975              __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)p));
10976#line 357
10977              goto ldv_38494;
10978#line 357
10979              __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)p));
10980#line 357
10981              goto ldv_38494;
10982              case_4___0: 
10983#line 357
10984              __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)p));
10985#line 357
10986              goto ldv_38494;
10987#line 357
10988              __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)p));
10989#line 357
10990              goto ldv_38494;
10991              switch_default___0: 
10992#line 357
10993              __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)p));
10994#line 357
10995              goto ldv_38494;
10996            } else {
10997
10998            }
10999          }
11000          ldv_38494: 
11001#line 357
11002          val[1] = (int )__val_gu___0;
11003#line 357
11004          if (__ret_gu___0 != 0) {
11005#line 358
11006            err = -14;
11007#line 359
11008            goto ldv_38470;
11009          } else {
11010
11011          }
11012          {
11013#line 361
11014          __cil_tmp68 = (struct mISDN_sock *)sk;
11015#line 361
11016          __cil_tmp69 = __cil_tmp68->dev;
11017#line 361
11018          __cil_tmp70 = __cil_tmp69->teimgr;
11019#line 361
11020          __cil_tmp71 = __cil_tmp70->ctrl;
11021#line 361
11022          __cil_tmp72 = (struct mISDN_sock *)sk;
11023#line 361
11024          __cil_tmp73 = __cil_tmp72->dev;
11025#line 361
11026          __cil_tmp74 = __cil_tmp73->teimgr;
11027#line 361
11028          __cil_tmp75 = (void *)(& val);
11029#line 361
11030          err = (*__cil_tmp71)(__cil_tmp74, 768U, __cil_tmp75);
11031          }
11032#line 363
11033          goto ldv_38470;
11034          switch_default___1: 
11035#line 365
11036          err = -22;
11037#line 366
11038          goto ldv_38470;
11039        } else {
11040
11041        }
11042      }
11043      }
11044    }
11045    }
11046  }
11047  }
11048  ldv_38470: ;
11049  done: 
11050  {
11051#line 369
11052  release_sock(sk);
11053  }
11054#line 370
11055  return (err);
11056}
11057}
11058#line 374 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
11059static int data_sock_ioctl(struct socket *sock , unsigned int cmd , unsigned long arg ) 
11060{ int err ;
11061  int id ;
11062  struct sock *sk ;
11063  struct mISDNdevice *dev ;
11064  struct mISDNversion ver ;
11065  int tmp ;
11066  int __ret_pu ;
11067  int __pu_val ;
11068  int __ret_gu ;
11069  unsigned long __val_gu ;
11070  struct mISDN_devinfo di ;
11071  u_int tmp___0 ;
11072  size_t __len ;
11073  void *__ret ;
11074  char const   *tmp___1 ;
11075  int tmp___2 ;
11076  int __cil_tmp20 ;
11077  int __cil_tmp21 ;
11078  int __cil_tmp22 ;
11079  void *__cil_tmp23 ;
11080  void const   *__cil_tmp24 ;
11081  u_int __cil_tmp25 ;
11082  struct mISDNdevice *__cil_tmp26 ;
11083  unsigned long __cil_tmp27 ;
11084  unsigned long __cil_tmp28 ;
11085  void *__cil_tmp29 ;
11086  u_int __cil_tmp30 ;
11087  u_char (*__cil_tmp31)[16U] ;
11088  void *__cil_tmp32 ;
11089  u_char (*__cil_tmp33)[16U] ;
11090  void const   *__cil_tmp34 ;
11091  u_char (*__cil_tmp35)[16U] ;
11092  void *__cil_tmp36 ;
11093  u_char (*__cil_tmp37)[16U] ;
11094  void const   *__cil_tmp38 ;
11095  struct device *__cil_tmp39 ;
11096  struct device  const  *__cil_tmp40 ;
11097  char (*__cil_tmp41)[20U] ;
11098  char *__cil_tmp42 ;
11099  void *__cil_tmp43 ;
11100  void const   *__cil_tmp44 ;
11101  unsigned char volatile   __cil_tmp45 ;
11102  unsigned char __cil_tmp46 ;
11103  unsigned int __cil_tmp47 ;
11104  void *__cil_tmp48 ;
11105
11106  {
11107#line 376
11108  err = 0;
11109#line 377
11110  sk = sock->sk;
11111  {
11112#line 382
11113  __cil_tmp20 = (int )cmd;
11114#line 382
11115  if (__cil_tmp20 == -2147202750) {
11116#line 382
11117    goto case_neg_2147202750;
11118  } else {
11119    {
11120#line 389
11121    __cil_tmp21 = (int )cmd;
11122#line 389
11123    if (__cil_tmp21 == -2147202749) {
11124#line 389
11125      goto case_neg_2147202749;
11126    } else {
11127      {
11128#line 394
11129      __cil_tmp22 = (int )cmd;
11130#line 394
11131      if (__cil_tmp22 == -2147202748) {
11132#line 394
11133        goto case_neg_2147202748;
11134      } else {
11135#line 417
11136        goto switch_default___1;
11137#line 381
11138        if (0) {
11139          case_neg_2147202750: 
11140          {
11141#line 383
11142          ver.major = (unsigned char)1;
11143#line 384
11144          ver.minor = (unsigned char)1;
11145#line 385
11146          ver.release = (unsigned short)21;
11147#line 386
11148          __cil_tmp23 = (void *)arg;
11149#line 386
11150          __cil_tmp24 = (void const   *)(& ver);
11151#line 386
11152          tmp = copy_to_user(__cil_tmp23, __cil_tmp24, 4U);
11153          }
11154#line 386
11155          if (tmp != 0) {
11156#line 387
11157            err = -14;
11158          } else {
11159
11160          }
11161#line 388
11162          goto ldv_38512;
11163          case_neg_2147202749: 
11164          {
11165#line 390
11166          id = get_mdevice_count();
11167#line 391
11168          might_fault();
11169#line 391
11170          __pu_val = id;
11171          }
11172#line 391
11173          if (1) {
11174#line 391
11175            goto case_4;
11176          } else {
11177#line 391
11178            goto switch_default;
11179#line 391
11180            if (0) {
11181#line 391
11182              __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
11183                                   "c" ((int *)arg): "ebx");
11184#line 391
11185              goto ldv_38517;
11186#line 391
11187              __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
11188                                   "c" ((int *)arg): "ebx");
11189#line 391
11190              goto ldv_38517;
11191              case_4: 
11192#line 391
11193              __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
11194                                   "c" ((int *)arg): "ebx");
11195#line 391
11196              goto ldv_38517;
11197#line 391
11198              __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
11199                                   "c" ((int *)arg): "ebx");
11200#line 391
11201              goto ldv_38517;
11202              switch_default: 
11203#line 391
11204              __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
11205                                   "c" ((int *)arg): "ebx");
11206#line 391
11207              goto ldv_38517;
11208            } else {
11209
11210            }
11211          }
11212          ldv_38517: ;
11213#line 391
11214          if (__ret_pu != 0) {
11215#line 392
11216            err = -14;
11217          } else {
11218
11219          }
11220#line 393
11221          goto ldv_38512;
11222          case_neg_2147202748: 
11223          {
11224#line 395
11225          might_fault();
11226          }
11227#line 395
11228          if (1) {
11229#line 395
11230            goto case_4___0;
11231          } else {
11232#line 395
11233            goto switch_default___0;
11234#line 395
11235            if (0) {
11236#line 395
11237              __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
11238#line 395
11239              goto ldv_38527;
11240#line 395
11241              __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
11242#line 395
11243              goto ldv_38527;
11244              case_4___0: 
11245#line 395
11246              __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
11247#line 395
11248              goto ldv_38527;
11249#line 395
11250              __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
11251#line 395
11252              goto ldv_38527;
11253              switch_default___0: 
11254#line 395
11255              __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
11256#line 395
11257              goto ldv_38527;
11258            } else {
11259
11260            }
11261          }
11262          ldv_38527: 
11263#line 395
11264          id = (int )__val_gu;
11265#line 395
11266          if (__ret_gu != 0) {
11267#line 396
11268            err = -14;
11269#line 397
11270            goto ldv_38512;
11271          } else {
11272
11273          }
11274          {
11275#line 399
11276          __cil_tmp25 = (u_int )id;
11277#line 399
11278          dev = get_mdevice(__cil_tmp25);
11279          }
11280          {
11281#line 400
11282          __cil_tmp26 = (struct mISDNdevice *)0;
11283#line 400
11284          __cil_tmp27 = (unsigned long )__cil_tmp26;
11285#line 400
11286          __cil_tmp28 = (unsigned long )dev;
11287#line 400
11288          if (__cil_tmp28 != __cil_tmp27) {
11289            {
11290#line 403
11291            __cil_tmp29 = (void *)(& di);
11292#line 403
11293            memset(__cil_tmp29, 0, 56UL);
11294#line 404
11295            di.id = dev->id;
11296#line 405
11297            di.Dprotocols = dev->Dprotocols;
11298#line 406
11299            tmp___0 = get_all_Bprotocols();
11300#line 406
11301            __cil_tmp30 = dev->Bprotocols;
11302#line 406
11303            di.Bprotocols = __cil_tmp30 | tmp___0;
11304#line 407
11305            di.protocol = dev->D.protocol;
11306#line 408
11307            __len = 16UL;
11308            }
11309#line 408
11310            if (__len > 63UL) {
11311              {
11312#line 408
11313              __cil_tmp31 = & di.channelmap;
11314#line 408
11315              __cil_tmp32 = (void *)__cil_tmp31;
11316#line 408
11317              __cil_tmp33 = & dev->channelmap;
11318#line 408
11319              __cil_tmp34 = (void const   *)__cil_tmp33;
11320#line 408
11321              __ret = __memcpy(__cil_tmp32, __cil_tmp34, __len);
11322              }
11323            } else {
11324              {
11325#line 408
11326              __cil_tmp35 = & di.channelmap;
11327#line 408
11328              __cil_tmp36 = (void *)__cil_tmp35;
11329#line 408
11330              __cil_tmp37 = & dev->channelmap;
11331#line 408
11332              __cil_tmp38 = (void const   *)__cil_tmp37;
11333#line 408
11334              __ret = __builtin_memcpy(__cil_tmp36, __cil_tmp38, __len);
11335              }
11336            }
11337            {
11338#line 410
11339            di.nrbchan = dev->nrbchan;
11340#line 411
11341            __cil_tmp39 = & dev->dev;
11342#line 411
11343            __cil_tmp40 = (struct device  const  *)__cil_tmp39;
11344#line 411
11345            tmp___1 = dev_name(__cil_tmp40);
11346#line 411
11347            __cil_tmp41 = & di.name;
11348#line 411
11349            __cil_tmp42 = (char *)__cil_tmp41;
11350#line 411
11351            strcpy(__cil_tmp42, tmp___1);
11352#line 412
11353            __cil_tmp43 = (void *)arg;
11354#line 412
11355            __cil_tmp44 = (void const   *)(& di);
11356#line 412
11357            tmp___2 = copy_to_user(__cil_tmp43, __cil_tmp44, 56U);
11358            }
11359#line 412
11360            if (tmp___2 != 0) {
11361#line 413
11362              err = -14;
11363            } else {
11364
11365            }
11366          } else {
11367#line 415
11368            err = -19;
11369          }
11370          }
11371#line 416
11372          goto ldv_38512;
11373          switch_default___1: ;
11374          {
11375#line 418
11376          __cil_tmp45 = sk->__sk_common.skc_state;
11377#line 418
11378          __cil_tmp46 = (unsigned char )__cil_tmp45;
11379#line 418
11380          __cil_tmp47 = (unsigned int )__cil_tmp46;
11381#line 418
11382          if (__cil_tmp47 == 2U) {
11383            {
11384#line 419
11385            __cil_tmp48 = (void *)arg;
11386#line 419
11387            err = data_sock_ioctl_bound(sk, cmd, __cil_tmp48);
11388            }
11389          } else {
11390#line 422
11391            err = -107;
11392          }
11393          }
11394        } else {
11395
11396        }
11397      }
11398      }
11399    }
11400    }
11401  }
11402  }
11403  ldv_38512: ;
11404#line 424
11405  return (err);
11406}
11407}
11408#line 427 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
11409static int data_sock_setsockopt(struct socket *sock , int level , int optname , char *optval ,
11410                                unsigned int len ) 
11411{ struct sock *sk ;
11412  int err ;
11413  int opt ;
11414  int __ret_gu ;
11415  unsigned long __val_gu ;
11416  u_int __cil_tmp11 ;
11417  unsigned int __cil_tmp12 ;
11418  struct mISDN_sock *__cil_tmp13 ;
11419  struct mISDN_sock *__cil_tmp14 ;
11420  u_int __cil_tmp15 ;
11421  struct mISDN_sock *__cil_tmp16 ;
11422  struct mISDN_sock *__cil_tmp17 ;
11423  u_int __cil_tmp18 ;
11424
11425  {
11426#line 430
11427  sk = sock->sk;
11428#line 431
11429  err = 0;
11430#line 431
11431  opt = 0;
11432  {
11433#line 433
11434  __cil_tmp11 = *debug___0;
11435#line 433
11436  __cil_tmp12 = __cil_tmp11 & 4U;
11437#line 433
11438  if (__cil_tmp12 != 0U) {
11439    {
11440#line 434
11441    printk("<7>%s(%p, %d, %x, %p, %d)\n", "data_sock_setsockopt", sock, level, optname,
11442           optval, len);
11443    }
11444  } else {
11445
11446  }
11447  }
11448  {
11449#line 437
11450  lock_sock(sk);
11451  }
11452#line 440
11453  if (optname == 1) {
11454#line 440
11455    goto case_1;
11456  } else {
11457#line 451
11458    goto switch_default___0;
11459#line 439
11460    if (0) {
11461      case_1: 
11462      {
11463#line 441
11464      might_fault();
11465      }
11466#line 441
11467      if (1) {
11468#line 441
11469        goto case_4;
11470      } else {
11471#line 441
11472        goto switch_default;
11473#line 441
11474        if (0) {
11475#line 441
11476          __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)optval));
11477#line 441
11478          goto ldv_38553;
11479#line 441
11480          __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)optval));
11481#line 441
11482          goto ldv_38553;
11483          case_4: 
11484#line 441
11485          __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)optval));
11486#line 441
11487          goto ldv_38553;
11488#line 441
11489          __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)optval));
11490#line 441
11491          goto ldv_38553;
11492          switch_default: 
11493#line 441
11494          __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)optval));
11495#line 441
11496          goto ldv_38553;
11497        } else {
11498
11499        }
11500      }
11501      ldv_38553: 
11502#line 441
11503      opt = (int )__val_gu;
11504#line 441
11505      if (__ret_gu != 0) {
11506#line 442
11507        err = -14;
11508#line 443
11509        goto ldv_38559;
11510      } else {
11511
11512      }
11513#line 446
11514      if (opt != 0) {
11515#line 447
11516        __cil_tmp13 = (struct mISDN_sock *)sk;
11517#line 447
11518        __cil_tmp14 = (struct mISDN_sock *)sk;
11519#line 447
11520        __cil_tmp15 = __cil_tmp14->cmask;
11521#line 447
11522        __cil_tmp13->cmask = __cil_tmp15 | 1U;
11523      } else {
11524#line 449
11525        __cil_tmp16 = (struct mISDN_sock *)sk;
11526#line 449
11527        __cil_tmp17 = (struct mISDN_sock *)sk;
11528#line 449
11529        __cil_tmp18 = __cil_tmp17->cmask;
11530#line 449
11531        __cil_tmp16->cmask = __cil_tmp18 & 4294967294U;
11532      }
11533#line 450
11534      goto ldv_38559;
11535      switch_default___0: 
11536#line 452
11537      err = -92;
11538#line 453
11539      goto ldv_38559;
11540    } else {
11541
11542    }
11543  }
11544  ldv_38559: 
11545  {
11546#line 455
11547  release_sock(sk);
11548  }
11549#line 456
11550  return (err);
11551}
11552}
11553#line 459 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
11554static int data_sock_getsockopt(struct socket *sock , int level , int optname , char *optval ,
11555                                int *optlen ) 
11556{ struct sock *sk ;
11557  int len ;
11558  int opt ;
11559  int __ret_gu ;
11560  unsigned long __val_gu ;
11561  int __ret_pu ;
11562  char __pu_val ;
11563  struct mISDN_sock *__cil_tmp13 ;
11564  u_int __cil_tmp14 ;
11565  int __cil_tmp15 ;
11566
11567  {
11568  {
11569#line 462
11570  sk = sock->sk;
11571#line 465
11572  might_fault();
11573  }
11574#line 465
11575  if (1) {
11576#line 465
11577    goto case_4;
11578  } else {
11579#line 465
11580    goto switch_default;
11581#line 465
11582    if (0) {
11583#line 465
11584      __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" (optlen));
11585#line 465
11586      goto ldv_38574;
11587#line 465
11588      __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" (optlen));
11589#line 465
11590      goto ldv_38574;
11591      case_4: 
11592#line 465
11593      __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" (optlen));
11594#line 465
11595      goto ldv_38574;
11596#line 465
11597      __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" (optlen));
11598#line 465
11599      goto ldv_38574;
11600      switch_default: 
11601#line 465
11602      __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" (optlen));
11603#line 465
11604      goto ldv_38574;
11605    } else {
11606
11607    }
11608  }
11609  ldv_38574: 
11610#line 465
11611  len = (int )__val_gu;
11612#line 465
11613  if (__ret_gu != 0) {
11614#line 466
11615    return (-14);
11616  } else {
11617
11618  }
11619#line 468
11620  if (len != 1) {
11621#line 469
11622    return (-22);
11623  } else {
11624
11625  }
11626#line 472
11627  if (optname == 1) {
11628#line 472
11629    goto case_1___0;
11630  } else {
11631#line 481
11632    goto switch_default___1;
11633#line 471
11634    if (0) {
11635      case_1___0: ;
11636      {
11637#line 473
11638      __cil_tmp13 = (struct mISDN_sock *)sk;
11639#line 473
11640      __cil_tmp14 = __cil_tmp13->cmask;
11641#line 473
11642      __cil_tmp15 = (int )__cil_tmp14;
11643#line 473
11644      if (__cil_tmp15 & 1) {
11645#line 474
11646        opt = 1;
11647      } else {
11648#line 476
11649        opt = 0;
11650      }
11651      }
11652      {
11653#line 478
11654      might_fault();
11655#line 478
11656      __pu_val = (char )opt;
11657      }
11658#line 478
11659      if (1) {
11660#line 478
11661        goto case_1___1;
11662      } else {
11663#line 478
11664        goto switch_default___0;
11665#line 478
11666        if (0) {
11667          case_1___1: 
11668#line 478
11669          __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
11670                               "c" (optval): "ebx");
11671#line 478
11672          goto ldv_38584;
11673#line 478
11674          __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
11675                               "c" (optval): "ebx");
11676#line 478
11677          goto ldv_38584;
11678#line 478
11679          __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
11680                               "c" (optval): "ebx");
11681#line 478
11682          goto ldv_38584;
11683#line 478
11684          __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
11685                               "c" (optval): "ebx");
11686#line 478
11687          goto ldv_38584;
11688          switch_default___0: 
11689#line 478
11690          __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
11691                               "c" (optval): "ebx");
11692#line 478
11693          goto ldv_38584;
11694        } else {
11695
11696        }
11697      }
11698      ldv_38584: ;
11699#line 478
11700      if (__ret_pu != 0) {
11701#line 479
11702        return (-14);
11703      } else {
11704
11705      }
11706#line 480
11707      goto ldv_38590;
11708      switch_default___1: ;
11709#line 482
11710      return (-92);
11711    } else {
11712
11713    }
11714  }
11715  ldv_38590: ;
11716#line 485
11717  return (0);
11718}
11719}
11720#line 489 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
11721static int data_sock_bind(struct socket *sock , struct sockaddr *addr , int addr_len ) 
11722{ struct sockaddr_mISDN *maddr ;
11723  struct sock *sk ;
11724  struct hlist_node *node ;
11725  struct sock *csk ;
11726  int err ;
11727  int tmp ;
11728  int tmp___0 ;
11729  int tmp___1 ;
11730  struct hlist_node  const  *__mptr ;
11731  u_int __cil_tmp13 ;
11732  unsigned int __cil_tmp14 ;
11733  struct sockaddr_mISDN *__cil_tmp15 ;
11734  unsigned long __cil_tmp16 ;
11735  unsigned long __cil_tmp17 ;
11736  sa_family_t __cil_tmp18 ;
11737  unsigned int __cil_tmp19 ;
11738  struct mISDNdevice *__cil_tmp20 ;
11739  unsigned long __cil_tmp21 ;
11740  struct mISDN_sock *__cil_tmp22 ;
11741  struct mISDNdevice *__cil_tmp23 ;
11742  unsigned long __cil_tmp24 ;
11743  struct mISDN_sock *__cil_tmp25 ;
11744  unsigned char __cil_tmp26 ;
11745  u_int __cil_tmp27 ;
11746  struct mISDNdevice *__cil_tmp28 ;
11747  unsigned long __cil_tmp29 ;
11748  struct mISDN_sock *__cil_tmp30 ;
11749  struct mISDNdevice *__cil_tmp31 ;
11750  unsigned long __cil_tmp32 ;
11751  unsigned char __cil_tmp33 ;
11752  unsigned int __cil_tmp34 ;
11753  rwlock_t *__cil_tmp35 ;
11754  unsigned long __cil_tmp36 ;
11755  unsigned long __cil_tmp37 ;
11756  struct mISDN_sock *__cil_tmp38 ;
11757  struct mISDNdevice *__cil_tmp39 ;
11758  unsigned long __cil_tmp40 ;
11759  struct mISDN_sock *__cil_tmp41 ;
11760  struct mISDNdevice *__cil_tmp42 ;
11761  unsigned long __cil_tmp43 ;
11762  unsigned char __cil_tmp44 ;
11763  unsigned int __cil_tmp45 ;
11764  unsigned char __cil_tmp46 ;
11765  unsigned int __cil_tmp47 ;
11766  unsigned char __cil_tmp48 ;
11767  unsigned int __cil_tmp49 ;
11768  unsigned char __cil_tmp50 ;
11769  unsigned int __cil_tmp51 ;
11770  unsigned char __cil_tmp52 ;
11771  unsigned int __cil_tmp53 ;
11772  unsigned char __cil_tmp54 ;
11773  unsigned int __cil_tmp55 ;
11774  unsigned char __cil_tmp56 ;
11775  unsigned int __cil_tmp57 ;
11776  unsigned char __cil_tmp58 ;
11777  unsigned int __cil_tmp59 ;
11778  unsigned char __cil_tmp60 ;
11779  unsigned int __cil_tmp61 ;
11780  _Bool __cil_tmp62 ;
11781  int __cil_tmp63 ;
11782  rwlock_t *__cil_tmp64 ;
11783  struct hlist_node *__cil_tmp65 ;
11784  unsigned long __cil_tmp66 ;
11785  unsigned long __cil_tmp67 ;
11786  struct sock *__cil_tmp68 ;
11787  rwlock_t *__cil_tmp69 ;
11788  struct mISDN_sock *__cil_tmp70 ;
11789  struct mISDN_sock *__cil_tmp71 ;
11790  unsigned char __cil_tmp72 ;
11791  int __cil_tmp73 ;
11792  unsigned char __cil_tmp74 ;
11793  int __cil_tmp75 ;
11794  unsigned char __cil_tmp76 ;
11795  int __cil_tmp77 ;
11796  unsigned char __cil_tmp78 ;
11797  int __cil_tmp79 ;
11798  unsigned char __cil_tmp80 ;
11799  int __cil_tmp81 ;
11800  unsigned char __cil_tmp82 ;
11801  int __cil_tmp83 ;
11802  unsigned char __cil_tmp84 ;
11803  int __cil_tmp85 ;
11804  unsigned char __cil_tmp86 ;
11805  int __cil_tmp87 ;
11806  unsigned char __cil_tmp88 ;
11807  int __cil_tmp89 ;
11808  unsigned char __cil_tmp90 ;
11809  int __cil_tmp91 ;
11810  unsigned char __cil_tmp92 ;
11811  int __cil_tmp93 ;
11812  unsigned char __cil_tmp94 ;
11813  int __cil_tmp95 ;
11814  struct mISDN_sock *__cil_tmp96 ;
11815  struct mISDNdevice *__cil_tmp97 ;
11816  struct mISDN_sock *__cil_tmp98 ;
11817  struct mISDNchannel *__cil_tmp99 ;
11818  unsigned char __cil_tmp100 ;
11819  u_int __cil_tmp101 ;
11820  struct mISDN_sock *__cil_tmp102 ;
11821  struct mISDNdevice *__cil_tmp103 ;
11822  struct mISDN_sock *__cil_tmp104 ;
11823  struct mISDNchannel *__cil_tmp105 ;
11824  unsigned char __cil_tmp106 ;
11825  u_int __cil_tmp107 ;
11826  struct mISDN_sock *__cil_tmp108 ;
11827  struct mISDNdevice *__cil_tmp109 ;
11828  struct mISDN_sock *__cil_tmp110 ;
11829  struct mISDNchannel *__cil_tmp111 ;
11830  unsigned char __cil_tmp112 ;
11831  u_int __cil_tmp113 ;
11832  struct mISDN_sock *__cil_tmp114 ;
11833  unsigned char __cil_tmp115 ;
11834
11835  {
11836#line 491
11837  maddr = (struct sockaddr_mISDN *)addr;
11838#line 492
11839  sk = sock->sk;
11840#line 495
11841  err = 0;
11842  {
11843#line 497
11844  __cil_tmp13 = *debug___0;
11845#line 497
11846  __cil_tmp14 = __cil_tmp13 & 4U;
11847#line 497
11848  if (__cil_tmp14 != 0U) {
11849    {
11850#line 498
11851    printk("<7>%s(%p) sk=%p\n", "data_sock_bind", sock, sk);
11852    }
11853  } else {
11854
11855  }
11856  }
11857#line 499
11858  if (addr_len != 6) {
11859#line 500
11860    return (-22);
11861  } else {
11862
11863  }
11864  {
11865#line 501
11866  __cil_tmp15 = (struct sockaddr_mISDN *)0;
11867#line 501
11868  __cil_tmp16 = (unsigned long )__cil_tmp15;
11869#line 501
11870  __cil_tmp17 = (unsigned long )maddr;
11871#line 501
11872  if (__cil_tmp17 == __cil_tmp16) {
11873#line 502
11874    return (-22);
11875  } else {
11876    {
11877#line 501
11878    __cil_tmp18 = maddr->family;
11879#line 501
11880    __cil_tmp19 = (unsigned int )__cil_tmp18;
11881#line 501
11882    if (__cil_tmp19 != 34U) {
11883#line 502
11884      return (-22);
11885    } else {
11886
11887    }
11888    }
11889  }
11890  }
11891  {
11892#line 504
11893  lock_sock(sk);
11894  }
11895  {
11896#line 506
11897  __cil_tmp20 = (struct mISDNdevice *)0;
11898#line 506
11899  __cil_tmp21 = (unsigned long )__cil_tmp20;
11900#line 506
11901  __cil_tmp22 = (struct mISDN_sock *)sk;
11902#line 506
11903  __cil_tmp23 = __cil_tmp22->dev;
11904#line 506
11905  __cil_tmp24 = (unsigned long )__cil_tmp23;
11906#line 506
11907  if (__cil_tmp24 != __cil_tmp21) {
11908#line 507
11909    err = -114;
11910#line 508
11911    goto done;
11912  } else {
11913
11914  }
11915  }
11916  {
11917#line 510
11918  __cil_tmp25 = (struct mISDN_sock *)sk;
11919#line 510
11920  __cil_tmp26 = maddr->dev;
11921#line 510
11922  __cil_tmp27 = (u_int )__cil_tmp26;
11923#line 510
11924  __cil_tmp25->dev = get_mdevice(__cil_tmp27);
11925  }
11926  {
11927#line 511
11928  __cil_tmp28 = (struct mISDNdevice *)0;
11929#line 511
11930  __cil_tmp29 = (unsigned long )__cil_tmp28;
11931#line 511
11932  __cil_tmp30 = (struct mISDN_sock *)sk;
11933#line 511
11934  __cil_tmp31 = __cil_tmp30->dev;
11935#line 511
11936  __cil_tmp32 = (unsigned long )__cil_tmp31;
11937#line 511
11938  if (__cil_tmp32 == __cil_tmp29) {
11939#line 512
11940    err = -19;
11941#line 513
11942    goto done;
11943  } else {
11944
11945  }
11946  }
11947  {
11948#line 516
11949  __cil_tmp33 = sk->sk_protocol;
11950#line 516
11951  __cil_tmp34 = (unsigned int )__cil_tmp33;
11952#line 516
11953  if (__cil_tmp34 <= 31U) {
11954    {
11955#line 517
11956    __cil_tmp35 = & data_sockets.lock;
11957#line 517
11958    _raw_read_lock_bh(__cil_tmp35);
11959#line 518
11960    node = data_sockets.head.first;
11961    }
11962#line 518
11963    goto ldv_38609;
11964    ldv_38608: ;
11965    {
11966#line 519
11967    __cil_tmp36 = (unsigned long )csk;
11968#line 519
11969    __cil_tmp37 = (unsigned long )sk;
11970#line 519
11971    if (__cil_tmp37 == __cil_tmp36) {
11972#line 520
11973      goto ldv_38607;
11974    } else {
11975
11976    }
11977    }
11978    {
11979#line 521
11980    __cil_tmp38 = (struct mISDN_sock *)sk;
11981#line 521
11982    __cil_tmp39 = __cil_tmp38->dev;
11983#line 521
11984    __cil_tmp40 = (unsigned long )__cil_tmp39;
11985#line 521
11986    __cil_tmp41 = (struct mISDN_sock *)csk;
11987#line 521
11988    __cil_tmp42 = __cil_tmp41->dev;
11989#line 521
11990    __cil_tmp43 = (unsigned long )__cil_tmp42;
11991#line 521
11992    if (__cil_tmp43 != __cil_tmp40) {
11993#line 522
11994      goto ldv_38607;
11995    } else {
11996
11997    }
11998    }
11999    {
12000#line 523
12001    __cil_tmp44 = csk->sk_protocol;
12002#line 523
12003    __cil_tmp45 = (unsigned int )__cil_tmp44;
12004#line 523
12005    if (__cil_tmp45 > 31U) {
12006#line 524
12007      goto ldv_38607;
12008    } else {
12009
12010    }
12011    }
12012    {
12013#line 525
12014    __cil_tmp46 = csk->sk_protocol;
12015#line 525
12016    __cil_tmp47 = (unsigned int )__cil_tmp46;
12017#line 525
12018    if (__cil_tmp47 == 1U) {
12019#line 525
12020      tmp = 1;
12021    } else {
12022      {
12023#line 525
12024      __cil_tmp48 = csk->sk_protocol;
12025#line 525
12026      __cil_tmp49 = (unsigned int )__cil_tmp48;
12027#line 525
12028      if (__cil_tmp49 == 3U) {
12029#line 525
12030        tmp = 1;
12031      } else {
12032        {
12033#line 525
12034        __cil_tmp50 = csk->sk_protocol;
12035#line 525
12036        __cil_tmp51 = (unsigned int )__cil_tmp50;
12037#line 525
12038        if (__cil_tmp51 == 5U) {
12039#line 525
12040          tmp = 1;
12041        } else {
12042          {
12043#line 525
12044          __cil_tmp52 = csk->sk_protocol;
12045#line 525
12046          __cil_tmp53 = (unsigned int )__cil_tmp52;
12047#line 525
12048          if (__cil_tmp53 == 16U) {
12049#line 525
12050            tmp = 1;
12051          } else {
12052#line 525
12053            tmp = 0;
12054          }
12055          }
12056        }
12057        }
12058      }
12059      }
12060    }
12061    }
12062#line 525
12063    if ((_Bool )tmp) {
12064#line 525
12065      tmp___0 = 0;
12066    } else {
12067#line 525
12068      tmp___0 = 1;
12069    }
12070    {
12071#line 525
12072    __cil_tmp54 = sk->sk_protocol;
12073#line 525
12074    __cil_tmp55 = (unsigned int )__cil_tmp54;
12075#line 525
12076    if (__cil_tmp55 == 1U) {
12077#line 525
12078      tmp___1 = 1;
12079    } else {
12080      {
12081#line 525
12082      __cil_tmp56 = sk->sk_protocol;
12083#line 525
12084      __cil_tmp57 = (unsigned int )__cil_tmp56;
12085#line 525
12086      if (__cil_tmp57 == 3U) {
12087#line 525
12088        tmp___1 = 1;
12089      } else {
12090        {
12091#line 525
12092        __cil_tmp58 = sk->sk_protocol;
12093#line 525
12094        __cil_tmp59 = (unsigned int )__cil_tmp58;
12095#line 525
12096        if (__cil_tmp59 == 5U) {
12097#line 525
12098          tmp___1 = 1;
12099        } else {
12100          {
12101#line 525
12102          __cil_tmp60 = sk->sk_protocol;
12103#line 525
12104          __cil_tmp61 = (unsigned int )__cil_tmp60;
12105#line 525
12106          if (__cil_tmp61 == 16U) {
12107#line 525
12108            tmp___1 = 1;
12109          } else {
12110#line 525
12111            tmp___1 = 0;
12112          }
12113          }
12114        }
12115        }
12116      }
12117      }
12118    }
12119    }
12120    {
12121#line 525
12122    __cil_tmp62 = (_Bool )tmp___1;
12123#line 525
12124    __cil_tmp63 = (int )__cil_tmp62;
12125#line 525
12126    if (tmp___0 ^ __cil_tmp63) {
12127#line 527
12128      goto ldv_38607;
12129    } else {
12130
12131    }
12132    }
12133    {
12134#line 528
12135    __cil_tmp64 = & data_sockets.lock;
12136#line 528
12137    _raw_read_unlock_bh(__cil_tmp64);
12138#line 529
12139    err = -16;
12140    }
12141#line 530
12142    goto done;
12143    ldv_38607: 
12144#line 518
12145    node = node->next;
12146    ldv_38609: ;
12147    {
12148#line 518
12149    __cil_tmp65 = (struct hlist_node *)0;
12150#line 518
12151    __cil_tmp66 = (unsigned long )__cil_tmp65;
12152#line 518
12153    __cil_tmp67 = (unsigned long )node;
12154#line 518
12155    if (__cil_tmp67 != __cil_tmp66) {
12156#line 518
12157      __mptr = (struct hlist_node  const  *)node;
12158#line 518
12159      __cil_tmp68 = (struct sock *)__mptr;
12160#line 518
12161      csk = __cil_tmp68 + 1152921504606846920UL;
12162#line 519
12163      goto ldv_38608;
12164    } else {
12165#line 521
12166      goto ldv_38610;
12167    }
12168    }
12169    ldv_38610: 
12170    {
12171#line 532
12172    __cil_tmp69 = & data_sockets.lock;
12173#line 532
12174    _raw_read_unlock_bh(__cil_tmp69);
12175    }
12176  } else {
12177
12178  }
12179  }
12180#line 535
12181  __cil_tmp70 = (struct mISDN_sock *)sk;
12182#line 535
12183  __cil_tmp70->ch.send = & mISDN_send;
12184#line 536
12185  __cil_tmp71 = (struct mISDN_sock *)sk;
12186#line 536
12187  __cil_tmp71->ch.ctrl = & mISDN_ctrl;
12188  {
12189#line 539
12190  __cil_tmp72 = sk->sk_protocol;
12191#line 539
12192  __cil_tmp73 = (int )__cil_tmp72;
12193#line 539
12194  if (__cil_tmp73 == 1) {
12195#line 539
12196    goto case_1;
12197  } else {
12198    {
12199#line 540
12200    __cil_tmp74 = sk->sk_protocol;
12201#line 540
12202    __cil_tmp75 = (int )__cil_tmp74;
12203#line 540
12204    if (__cil_tmp75 == 2) {
12205#line 540
12206      goto case_2;
12207    } else {
12208      {
12209#line 541
12210      __cil_tmp76 = sk->sk_protocol;
12211#line 541
12212      __cil_tmp77 = (int )__cil_tmp76;
12213#line 541
12214      if (__cil_tmp77 == 3) {
12215#line 541
12216        goto case_3;
12217      } else {
12218        {
12219#line 542
12220        __cil_tmp78 = sk->sk_protocol;
12221#line 542
12222        __cil_tmp79 = (int )__cil_tmp78;
12223#line 542
12224        if (__cil_tmp79 == 4) {
12225#line 542
12226          goto case_4;
12227        } else {
12228          {
12229#line 549
12230          __cil_tmp80 = sk->sk_protocol;
12231#line 549
12232          __cil_tmp81 = (int )__cil_tmp80;
12233#line 549
12234          if (__cil_tmp81 == 16) {
12235#line 549
12236            goto case_16;
12237          } else {
12238            {
12239#line 550
12240            __cil_tmp82 = sk->sk_protocol;
12241#line 550
12242            __cil_tmp83 = (int )__cil_tmp82;
12243#line 550
12244            if (__cil_tmp83 == 17) {
12245#line 550
12246              goto case_17;
12247            } else {
12248              {
12249#line 554
12250              __cil_tmp84 = sk->sk_protocol;
12251#line 554
12252              __cil_tmp85 = (int )__cil_tmp84;
12253#line 554
12254              if (__cil_tmp85 == 33) {
12255#line 554
12256                goto case_33;
12257              } else {
12258                {
12259#line 555
12260                __cil_tmp86 = sk->sk_protocol;
12261#line 555
12262                __cil_tmp87 = (int )__cil_tmp86;
12263#line 555
12264                if (__cil_tmp87 == 34) {
12265#line 555
12266                  goto case_34;
12267                } else {
12268                  {
12269#line 556
12270                  __cil_tmp88 = sk->sk_protocol;
12271#line 556
12272                  __cil_tmp89 = (int )__cil_tmp88;
12273#line 556
12274                  if (__cil_tmp89 == 35) {
12275#line 556
12276                    goto case_35;
12277                  } else {
12278                    {
12279#line 557
12280                    __cil_tmp90 = sk->sk_protocol;
12281#line 557
12282                    __cil_tmp91 = (int )__cil_tmp90;
12283#line 557
12284                    if (__cil_tmp91 == 36) {
12285#line 557
12286                      goto case_36;
12287                    } else {
12288                      {
12289#line 558
12290                      __cil_tmp92 = sk->sk_protocol;
12291#line 558
12292                      __cil_tmp93 = (int )__cil_tmp92;
12293#line 558
12294                      if (__cil_tmp93 == 37) {
12295#line 558
12296                        goto case_37;
12297                      } else {
12298                        {
12299#line 559
12300                        __cil_tmp94 = sk->sk_protocol;
12301#line 559
12302                        __cil_tmp95 = (int )__cil_tmp94;
12303#line 559
12304                        if (__cil_tmp95 == 38) {
12305#line 559
12306                          goto case_38;
12307                        } else {
12308#line 563
12309                          goto switch_default;
12310#line 538
12311                          if (0) {
12312                            case_1: ;
12313                            case_2: ;
12314                            case_3: ;
12315                            case_4: 
12316                            {
12317#line 543
12318                            mISDN_sock_unlink(& data_sockets, sk);
12319#line 544
12320                            __cil_tmp96 = (struct mISDN_sock *)sk;
12321#line 544
12322                            __cil_tmp97 = __cil_tmp96->dev;
12323#line 544
12324                            __cil_tmp98 = (struct mISDN_sock *)sk;
12325#line 544
12326                            __cil_tmp99 = & __cil_tmp98->ch;
12327#line 544
12328                            __cil_tmp100 = sk->sk_protocol;
12329#line 544
12330                            __cil_tmp101 = (u_int )__cil_tmp100;
12331#line 544
12332                            err = connect_layer1(__cil_tmp97, __cil_tmp99, __cil_tmp101,
12333                                                 maddr);
12334                            }
12335#line 546
12336                            if (err != 0) {
12337                              {
12338#line 547
12339                              mISDN_sock_link(& data_sockets, sk);
12340                              }
12341                            } else {
12342
12343                            }
12344#line 548
12345                            goto ldv_38615;
12346                            case_16: ;
12347                            case_17: 
12348                            {
12349#line 551
12350                            __cil_tmp102 = (struct mISDN_sock *)sk;
12351#line 551
12352                            __cil_tmp103 = __cil_tmp102->dev;
12353#line 551
12354                            __cil_tmp104 = (struct mISDN_sock *)sk;
12355#line 551
12356                            __cil_tmp105 = & __cil_tmp104->ch;
12357#line 551
12358                            __cil_tmp106 = sk->sk_protocol;
12359#line 551
12360                            __cil_tmp107 = (u_int )__cil_tmp106;
12361#line 551
12362                            err = create_l2entity(__cil_tmp103, __cil_tmp105, __cil_tmp107,
12363                                                  maddr);
12364                            }
12365#line 553
12366                            goto ldv_38615;
12367                            case_33: ;
12368                            case_34: ;
12369                            case_35: ;
12370                            case_36: ;
12371                            case_37: ;
12372                            case_38: 
12373                            {
12374#line 560
12375                            __cil_tmp108 = (struct mISDN_sock *)sk;
12376#line 560
12377                            __cil_tmp109 = __cil_tmp108->dev;
12378#line 560
12379                            __cil_tmp110 = (struct mISDN_sock *)sk;
12380#line 560
12381                            __cil_tmp111 = & __cil_tmp110->ch;
12382#line 560
12383                            __cil_tmp112 = sk->sk_protocol;
12384#line 560
12385                            __cil_tmp113 = (u_int )__cil_tmp112;
12386#line 560
12387                            err = connect_Bstack(__cil_tmp109, __cil_tmp111, __cil_tmp113,
12388                                                 maddr);
12389                            }
12390#line 562
12391                            goto ldv_38615;
12392                            switch_default: 
12393#line 564
12394                            err = -93;
12395                          } else {
12396
12397                          }
12398                        }
12399                        }
12400                      }
12401                      }
12402                    }
12403                    }
12404                  }
12405                  }
12406                }
12407                }
12408              }
12409              }
12410            }
12411            }
12412          }
12413          }
12414        }
12415        }
12416      }
12417      }
12418    }
12419    }
12420  }
12421  }
12422  ldv_38615: ;
12423#line 566
12424  if (err != 0) {
12425#line 567
12426    goto done;
12427  } else {
12428
12429  }
12430#line 568
12431  sk->__sk_common.skc_state = (unsigned char volatile   )2U;
12432#line 569
12433  __cil_tmp114 = (struct mISDN_sock *)sk;
12434#line 569
12435  __cil_tmp115 = sk->sk_protocol;
12436#line 569
12437  __cil_tmp114->ch.protocol = (u_int )__cil_tmp115;
12438  done: 
12439  {
12440#line 572
12441  release_sock(sk);
12442  }
12443#line 573
12444  return (err);
12445}
12446}
12447#line 577 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
12448static int data_sock_getname(struct socket *sock , struct sockaddr *addr , int *addr_len ,
12449                             int peer ) 
12450{ struct sockaddr_mISDN *maddr ;
12451  struct sock *sk ;
12452  struct mISDNdevice *__cil_tmp7 ;
12453  unsigned long __cil_tmp8 ;
12454  struct mISDN_sock *__cil_tmp9 ;
12455  struct mISDNdevice *__cil_tmp10 ;
12456  unsigned long __cil_tmp11 ;
12457  struct mISDN_sock *__cil_tmp12 ;
12458  struct mISDNdevice *__cil_tmp13 ;
12459  u_int __cil_tmp14 ;
12460  struct mISDN_sock *__cil_tmp15 ;
12461  u_int __cil_tmp16 ;
12462  struct mISDN_sock *__cil_tmp17 ;
12463  u_int __cil_tmp18 ;
12464  struct mISDN_sock *__cil_tmp19 ;
12465  u_int __cil_tmp20 ;
12466  u_int __cil_tmp21 ;
12467
12468  {
12469#line 580
12470  maddr = (struct sockaddr_mISDN *)addr;
12471#line 581
12472  sk = sock->sk;
12473  {
12474#line 583
12475  __cil_tmp7 = (struct mISDNdevice *)0;
12476#line 583
12477  __cil_tmp8 = (unsigned long )__cil_tmp7;
12478#line 583
12479  __cil_tmp9 = (struct mISDN_sock *)sk;
12480#line 583
12481  __cil_tmp10 = __cil_tmp9->dev;
12482#line 583
12483  __cil_tmp11 = (unsigned long )__cil_tmp10;
12484#line 583
12485  if (__cil_tmp11 == __cil_tmp8) {
12486#line 584
12487    return (-77);
12488  } else {
12489
12490  }
12491  }
12492  {
12493#line 586
12494  lock_sock(sk);
12495#line 588
12496  *addr_len = 6;
12497#line 589
12498  __cil_tmp12 = (struct mISDN_sock *)sk;
12499#line 589
12500  __cil_tmp13 = __cil_tmp12->dev;
12501#line 589
12502  __cil_tmp14 = __cil_tmp13->id;
12503#line 589
12504  maddr->dev = (unsigned char )__cil_tmp14;
12505#line 590
12506  __cil_tmp15 = (struct mISDN_sock *)sk;
12507#line 590
12508  __cil_tmp16 = __cil_tmp15->ch.nr;
12509#line 590
12510  maddr->channel = (unsigned char )__cil_tmp16;
12511#line 591
12512  __cil_tmp17 = (struct mISDN_sock *)sk;
12513#line 591
12514  __cil_tmp18 = __cil_tmp17->ch.addr;
12515#line 591
12516  maddr->sapi = (unsigned char )__cil_tmp18;
12517#line 592
12518  __cil_tmp19 = (struct mISDN_sock *)sk;
12519#line 592
12520  __cil_tmp20 = __cil_tmp19->ch.addr;
12521#line 592
12522  __cil_tmp21 = __cil_tmp20 >> 8;
12523#line 592
12524  maddr->tei = (unsigned char )__cil_tmp21;
12525#line 593
12526  release_sock(sk);
12527  }
12528#line 594
12529  return (0);
12530}
12531}
12532#line 597 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
12533static struct proto_ops  const  data_sock_ops  = 
12534#line 597
12535     {34, & __this_module, & data_sock_release, & data_sock_bind, & sock_no_connect,
12536    & sock_no_socketpair, & sock_no_accept, & data_sock_getname, & datagram_poll,
12537    & data_sock_ioctl, (int (*)(struct socket * , unsigned int  , unsigned long  ))0,
12538    & sock_no_listen, & sock_no_shutdown, & data_sock_setsockopt, & data_sock_getsockopt,
12539    (int (*)(struct socket * , int  , int  , char * , unsigned int  ))0, (int (*)(struct socket * ,
12540                                                                                  int  ,
12541                                                                                  int  ,
12542                                                                                  char * ,
12543                                                                                  int * ))0,
12544    & mISDN_sock_sendmsg, & mISDN_sock_recvmsg, & sock_no_mmap, (ssize_t (*)(struct socket * ,
12545                                                                             struct page * ,
12546                                                                             int  ,
12547                                                                             size_t  ,
12548                                                                             int  ))0,
12549    (ssize_t (*)(struct socket * , loff_t * , struct pipe_inode_info * , size_t  ,
12550                 unsigned int  ))0};
12551#line 618 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
12552static int data_sock_create(struct net *net , struct socket *sock , int protocol ) 
12553{ struct sock *sk ;
12554  short __cil_tmp5 ;
12555  int __cil_tmp6 ;
12556  struct sock *__cil_tmp7 ;
12557  unsigned long __cil_tmp8 ;
12558  unsigned long __cil_tmp9 ;
12559  enum sock_flags __cil_tmp10 ;
12560
12561  {
12562  {
12563#line 622
12564  __cil_tmp5 = sock->type;
12565#line 622
12566  __cil_tmp6 = (int )__cil_tmp5;
12567#line 622
12568  if (__cil_tmp6 != 2) {
12569#line 623
12570    return (-94);
12571  } else {
12572
12573  }
12574  }
12575  {
12576#line 625
12577  sk = sk_alloc(net, 34, 208U, & mISDN_proto);
12578  }
12579  {
12580#line 626
12581  __cil_tmp7 = (struct sock *)0;
12582#line 626
12583  __cil_tmp8 = (unsigned long )__cil_tmp7;
12584#line 626
12585  __cil_tmp9 = (unsigned long )sk;
12586#line 626
12587  if (__cil_tmp9 == __cil_tmp8) {
12588#line 627
12589    return (-12);
12590  } else {
12591
12592  }
12593  }
12594  {
12595#line 629
12596  sock_init_data(sock, sk);
12597#line 631
12598  sock->ops = & data_sock_ops;
12599#line 632
12600  sock->state = (socket_state )1;
12601#line 633
12602  __cil_tmp10 = (enum sock_flags )8;
12603#line 633
12604  sock_reset_flag(sk, __cil_tmp10);
12605#line 635
12606  sk->sk_protocol = (unsigned char )protocol;
12607#line 636
12608  sk->__sk_common.skc_state = (unsigned char volatile   )1U;
12609#line 637
12610  mISDN_sock_link(& data_sockets, sk);
12611  }
12612#line 639
12613  return (0);
12614}
12615}
12616#line 643 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
12617static int base_sock_release(struct socket *sock ) 
12618{ struct sock *sk ;
12619  struct sock *__cil_tmp3 ;
12620  unsigned long __cil_tmp4 ;
12621  unsigned long __cil_tmp5 ;
12622
12623  {
12624  {
12625#line 645
12626  sk = sock->sk;
12627#line 647
12628  printk("<7>%s(%p) sk=%p\n", "base_sock_release", sock, sk);
12629  }
12630  {
12631#line 648
12632  __cil_tmp3 = (struct sock *)0;
12633#line 648
12634  __cil_tmp4 = (unsigned long )__cil_tmp3;
12635#line 648
12636  __cil_tmp5 = (unsigned long )sk;
12637#line 648
12638  if (__cil_tmp5 == __cil_tmp4) {
12639#line 649
12640    return (0);
12641  } else {
12642
12643  }
12644  }
12645  {
12646#line 651
12647  mISDN_sock_unlink(& base_sockets, sk);
12648#line 652
12649  sock_orphan(sk);
12650#line 653
12651  sock_put(sk);
12652  }
12653#line 655
12654  return (0);
12655}
12656}
12657#line 659 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
12658static int base_sock_ioctl(struct socket *sock , unsigned int cmd , unsigned long arg ) 
12659{ int err ;
12660  int id ;
12661  struct mISDNdevice *dev ;
12662  struct mISDNversion ver ;
12663  int tmp ;
12664  int __ret_pu ;
12665  int __pu_val ;
12666  int __ret_gu ;
12667  unsigned long __val_gu ;
12668  struct mISDN_devinfo di ;
12669  u_int tmp___0 ;
12670  size_t __len ;
12671  void *__ret ;
12672  char const   *tmp___1 ;
12673  int tmp___2 ;
12674  struct mISDN_devrename dn ;
12675  unsigned long tmp___3 ;
12676  int __cil_tmp21 ;
12677  int __cil_tmp22 ;
12678  int __cil_tmp23 ;
12679  int __cil_tmp24 ;
12680  void *__cil_tmp25 ;
12681  void const   *__cil_tmp26 ;
12682  u_int __cil_tmp27 ;
12683  struct mISDNdevice *__cil_tmp28 ;
12684  unsigned long __cil_tmp29 ;
12685  unsigned long __cil_tmp30 ;
12686  void *__cil_tmp31 ;
12687  u_int __cil_tmp32 ;
12688  u_char (*__cil_tmp33)[16U] ;
12689  void *__cil_tmp34 ;
12690  u_char (*__cil_tmp35)[16U] ;
12691  void const   *__cil_tmp36 ;
12692  u_char (*__cil_tmp37)[16U] ;
12693  void *__cil_tmp38 ;
12694  u_char (*__cil_tmp39)[16U] ;
12695  void const   *__cil_tmp40 ;
12696  struct device *__cil_tmp41 ;
12697  struct device  const  *__cil_tmp42 ;
12698  char (*__cil_tmp43)[20U] ;
12699  char *__cil_tmp44 ;
12700  void *__cil_tmp45 ;
12701  void const   *__cil_tmp46 ;
12702  void *__cil_tmp47 ;
12703  void const   *__cil_tmp48 ;
12704  struct mISDNdevice *__cil_tmp49 ;
12705  unsigned long __cil_tmp50 ;
12706  unsigned long __cil_tmp51 ;
12707  struct device *__cil_tmp52 ;
12708  char (*__cil_tmp53)[20U] ;
12709  char const   *__cil_tmp54 ;
12710
12711  {
12712#line 661
12713  err = 0;
12714  {
12715#line 666
12716  __cil_tmp21 = (int )cmd;
12717#line 666
12718  if (__cil_tmp21 == -2147202750) {
12719#line 666
12720    goto case_neg_2147202750;
12721  } else {
12722    {
12723#line 673
12724    __cil_tmp22 = (int )cmd;
12725#line 673
12726    if (__cil_tmp22 == -2147202749) {
12727#line 673
12728      goto case_neg_2147202749;
12729    } else {
12730      {
12731#line 678
12732      __cil_tmp23 = (int )cmd;
12733#line 678
12734      if (__cil_tmp23 == -2147202748) {
12735#line 678
12736        goto case_neg_2147202748;
12737      } else {
12738        {
12739#line 701
12740        __cil_tmp24 = (int )cmd;
12741#line 701
12742        if (__cil_tmp24 == -2145892025) {
12743#line 701
12744          goto case_neg_2145892025;
12745        } else {
12746#line 716
12747          goto switch_default___1;
12748#line 665
12749          if (0) {
12750            case_neg_2147202750: 
12751            {
12752#line 667
12753            ver.major = (unsigned char)1;
12754#line 668
12755            ver.minor = (unsigned char)1;
12756#line 669
12757            ver.release = (unsigned short)21;
12758#line 670
12759            __cil_tmp25 = (void *)arg;
12760#line 670
12761            __cil_tmp26 = (void const   *)(& ver);
12762#line 670
12763            tmp = copy_to_user(__cil_tmp25, __cil_tmp26, 4U);
12764            }
12765#line 670
12766            if (tmp != 0) {
12767#line 671
12768              err = -14;
12769            } else {
12770
12771            }
12772#line 672
12773            goto ldv_38655;
12774            case_neg_2147202749: 
12775            {
12776#line 674
12777            id = get_mdevice_count();
12778#line 675
12779            might_fault();
12780#line 675
12781            __pu_val = id;
12782            }
12783#line 675
12784            if (1) {
12785#line 675
12786              goto case_4;
12787            } else {
12788#line 675
12789              goto switch_default;
12790#line 675
12791              if (0) {
12792#line 675
12793                __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
12794                                     "c" ((int *)arg): "ebx");
12795#line 675
12796                goto ldv_38660;
12797#line 675
12798                __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
12799                                     "c" ((int *)arg): "ebx");
12800#line 675
12801                goto ldv_38660;
12802                case_4: 
12803#line 675
12804                __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
12805                                     "c" ((int *)arg): "ebx");
12806#line 675
12807                goto ldv_38660;
12808#line 675
12809                __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
12810                                     "c" ((int *)arg): "ebx");
12811#line 675
12812                goto ldv_38660;
12813                switch_default: 
12814#line 675
12815                __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
12816                                     "c" ((int *)arg): "ebx");
12817#line 675
12818                goto ldv_38660;
12819              } else {
12820
12821              }
12822            }
12823            ldv_38660: ;
12824#line 675
12825            if (__ret_pu != 0) {
12826#line 676
12827              err = -14;
12828            } else {
12829
12830            }
12831#line 677
12832            goto ldv_38655;
12833            case_neg_2147202748: 
12834            {
12835#line 679
12836            might_fault();
12837            }
12838#line 679
12839            if (1) {
12840#line 679
12841              goto case_4___0;
12842            } else {
12843#line 679
12844              goto switch_default___0;
12845#line 679
12846              if (0) {
12847#line 679
12848                __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
12849#line 679
12850                goto ldv_38670;
12851#line 679
12852                __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
12853#line 679
12854                goto ldv_38670;
12855                case_4___0: 
12856#line 679
12857                __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
12858#line 679
12859                goto ldv_38670;
12860#line 679
12861                __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
12862#line 679
12863                goto ldv_38670;
12864                switch_default___0: 
12865#line 679
12866                __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
12867#line 679
12868                goto ldv_38670;
12869              } else {
12870
12871              }
12872            }
12873            ldv_38670: 
12874#line 679
12875            id = (int )__val_gu;
12876#line 679
12877            if (__ret_gu != 0) {
12878#line 680
12879              err = -14;
12880#line 681
12881              goto ldv_38655;
12882            } else {
12883
12884            }
12885            {
12886#line 683
12887            __cil_tmp27 = (u_int )id;
12888#line 683
12889            dev = get_mdevice(__cil_tmp27);
12890            }
12891            {
12892#line 684
12893            __cil_tmp28 = (struct mISDNdevice *)0;
12894#line 684
12895            __cil_tmp29 = (unsigned long )__cil_tmp28;
12896#line 684
12897            __cil_tmp30 = (unsigned long )dev;
12898#line 684
12899            if (__cil_tmp30 != __cil_tmp29) {
12900              {
12901#line 687
12902              __cil_tmp31 = (void *)(& di);
12903#line 687
12904              memset(__cil_tmp31, 0, 56UL);
12905#line 688
12906              di.id = dev->id;
12907#line 689
12908              di.Dprotocols = dev->Dprotocols;
12909#line 690
12910              tmp___0 = get_all_Bprotocols();
12911#line 690
12912              __cil_tmp32 = dev->Bprotocols;
12913#line 690
12914              di.Bprotocols = __cil_tmp32 | tmp___0;
12915#line 691
12916              di.protocol = dev->D.protocol;
12917#line 692
12918              __len = 16UL;
12919              }
12920#line 692
12921              if (__len > 63UL) {
12922                {
12923#line 692
12924                __cil_tmp33 = & di.channelmap;
12925#line 692
12926                __cil_tmp34 = (void *)__cil_tmp33;
12927#line 692
12928                __cil_tmp35 = & dev->channelmap;
12929#line 692
12930                __cil_tmp36 = (void const   *)__cil_tmp35;
12931#line 692
12932                __ret = __memcpy(__cil_tmp34, __cil_tmp36, __len);
12933                }
12934              } else {
12935                {
12936#line 692
12937                __cil_tmp37 = & di.channelmap;
12938#line 692
12939                __cil_tmp38 = (void *)__cil_tmp37;
12940#line 692
12941                __cil_tmp39 = & dev->channelmap;
12942#line 692
12943                __cil_tmp40 = (void const   *)__cil_tmp39;
12944#line 692
12945                __ret = __builtin_memcpy(__cil_tmp38, __cil_tmp40, __len);
12946                }
12947              }
12948              {
12949#line 694
12950              di.nrbchan = dev->nrbchan;
12951#line 695
12952              __cil_tmp41 = & dev->dev;
12953#line 695
12954              __cil_tmp42 = (struct device  const  *)__cil_tmp41;
12955#line 695
12956              tmp___1 = dev_name(__cil_tmp42);
12957#line 695
12958              __cil_tmp43 = & di.name;
12959#line 695
12960              __cil_tmp44 = (char *)__cil_tmp43;
12961#line 695
12962              strcpy(__cil_tmp44, tmp___1);
12963#line 696
12964              __cil_tmp45 = (void *)arg;
12965#line 696
12966              __cil_tmp46 = (void const   *)(& di);
12967#line 696
12968              tmp___2 = copy_to_user(__cil_tmp45, __cil_tmp46, 56U);
12969              }
12970#line 696
12971              if (tmp___2 != 0) {
12972#line 697
12973                err = -14;
12974              } else {
12975
12976              }
12977            } else {
12978#line 699
12979              err = -19;
12980            }
12981            }
12982#line 700
12983            goto ldv_38655;
12984            case_neg_2145892025: 
12985            {
12986#line 704
12987            __cil_tmp47 = (void *)(& dn);
12988#line 704
12989            __cil_tmp48 = (void const   *)arg;
12990#line 704
12991            tmp___3 = copy_from_user(__cil_tmp47, __cil_tmp48, 24UL);
12992            }
12993#line 704
12994            if (tmp___3 != 0UL) {
12995#line 706
12996              err = -14;
12997#line 707
12998              goto ldv_38655;
12999            } else {
13000
13001            }
13002            {
13003#line 709
13004            dev = get_mdevice(dn.id);
13005            }
13006            {
13007#line 710
13008            __cil_tmp49 = (struct mISDNdevice *)0;
13009#line 710
13010            __cil_tmp50 = (unsigned long )__cil_tmp49;
13011#line 710
13012            __cil_tmp51 = (unsigned long )dev;
13013#line 710
13014            if (__cil_tmp51 != __cil_tmp50) {
13015              {
13016#line 711
13017              __cil_tmp52 = & dev->dev;
13018#line 711
13019              __cil_tmp53 = & dn.name;
13020#line 711
13021              __cil_tmp54 = (char const   *)__cil_tmp53;
13022#line 711
13023              err = device_rename(__cil_tmp52, __cil_tmp54);
13024              }
13025            } else {
13026#line 713
13027              err = -19;
13028            }
13029            }
13030#line 715
13031            goto ldv_38655;
13032            switch_default___1: 
13033#line 717
13034            err = -22;
13035          } else {
13036
13037          }
13038        }
13039        }
13040      }
13041      }
13042    }
13043    }
13044  }
13045  }
13046  ldv_38655: ;
13047#line 719
13048  return (err);
13049}
13050}
13051#line 723 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
13052static int base_sock_bind(struct socket *sock , struct sockaddr *addr , int addr_len ) 
13053{ struct sockaddr_mISDN *maddr ;
13054  struct sock *sk ;
13055  int err ;
13056  struct sockaddr_mISDN *__cil_tmp7 ;
13057  unsigned long __cil_tmp8 ;
13058  unsigned long __cil_tmp9 ;
13059  sa_family_t __cil_tmp10 ;
13060  unsigned int __cil_tmp11 ;
13061  struct mISDNdevice *__cil_tmp12 ;
13062  unsigned long __cil_tmp13 ;
13063  struct mISDN_sock *__cil_tmp14 ;
13064  struct mISDNdevice *__cil_tmp15 ;
13065  unsigned long __cil_tmp16 ;
13066  struct mISDN_sock *__cil_tmp17 ;
13067  unsigned char __cil_tmp18 ;
13068  u_int __cil_tmp19 ;
13069  struct mISDNdevice *__cil_tmp20 ;
13070  unsigned long __cil_tmp21 ;
13071  struct mISDN_sock *__cil_tmp22 ;
13072  struct mISDNdevice *__cil_tmp23 ;
13073  unsigned long __cil_tmp24 ;
13074
13075  {
13076#line 725
13077  maddr = (struct sockaddr_mISDN *)addr;
13078#line 726
13079  sk = sock->sk;
13080#line 727
13081  err = 0;
13082  {
13083#line 729
13084  __cil_tmp7 = (struct sockaddr_mISDN *)0;
13085#line 729
13086  __cil_tmp8 = (unsigned long )__cil_tmp7;
13087#line 729
13088  __cil_tmp9 = (unsigned long )maddr;
13089#line 729
13090  if (__cil_tmp9 == __cil_tmp8) {
13091#line 730
13092    return (-22);
13093  } else {
13094    {
13095#line 729
13096    __cil_tmp10 = maddr->family;
13097#line 729
13098    __cil_tmp11 = (unsigned int )__cil_tmp10;
13099#line 729
13100    if (__cil_tmp11 != 34U) {
13101#line 730
13102      return (-22);
13103    } else {
13104
13105    }
13106    }
13107  }
13108  }
13109  {
13110#line 732
13111  lock_sock(sk);
13112  }
13113  {
13114#line 734
13115  __cil_tmp12 = (struct mISDNdevice *)0;
13116#line 734
13117  __cil_tmp13 = (unsigned long )__cil_tmp12;
13118#line 734
13119  __cil_tmp14 = (struct mISDN_sock *)sk;
13120#line 734
13121  __cil_tmp15 = __cil_tmp14->dev;
13122#line 734
13123  __cil_tmp16 = (unsigned long )__cil_tmp15;
13124#line 734
13125  if (__cil_tmp16 != __cil_tmp13) {
13126#line 735
13127    err = -114;
13128#line 736
13129    goto done;
13130  } else {
13131
13132  }
13133  }
13134  {
13135#line 739
13136  __cil_tmp17 = (struct mISDN_sock *)sk;
13137#line 739
13138  __cil_tmp18 = maddr->dev;
13139#line 739
13140  __cil_tmp19 = (u_int )__cil_tmp18;
13141#line 739
13142  __cil_tmp17->dev = get_mdevice(__cil_tmp19);
13143  }
13144  {
13145#line 740
13146  __cil_tmp20 = (struct mISDNdevice *)0;
13147#line 740
13148  __cil_tmp21 = (unsigned long )__cil_tmp20;
13149#line 740
13150  __cil_tmp22 = (struct mISDN_sock *)sk;
13151#line 740
13152  __cil_tmp23 = __cil_tmp22->dev;
13153#line 740
13154  __cil_tmp24 = (unsigned long )__cil_tmp23;
13155#line 740
13156  if (__cil_tmp24 == __cil_tmp21) {
13157#line 741
13158    err = -19;
13159#line 742
13160    goto done;
13161  } else {
13162
13163  }
13164  }
13165#line 744
13166  sk->__sk_common.skc_state = (unsigned char volatile   )2U;
13167  done: 
13168  {
13169#line 747
13170  release_sock(sk);
13171  }
13172#line 748
13173  return (err);
13174}
13175}
13176#line 751 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
13177static struct proto_ops  const  base_sock_ops  = 
13178#line 751
13179     {34, & __this_module, & base_sock_release, & base_sock_bind, & sock_no_connect,
13180    & sock_no_socketpair, & sock_no_accept, & sock_no_getname, & sock_no_poll, & base_sock_ioctl,
13181    (int (*)(struct socket * , unsigned int  , unsigned long  ))0, & sock_no_listen,
13182    & sock_no_shutdown, & sock_no_setsockopt, & sock_no_getsockopt, (int (*)(struct socket * ,
13183                                                                             int  ,
13184                                                                             int  ,
13185                                                                             char * ,
13186                                                                             unsigned int  ))0,
13187    (int (*)(struct socket * , int  , int  , char * , int * ))0, & sock_no_sendmsg,
13188    & sock_no_recvmsg, & sock_no_mmap, (ssize_t (*)(struct socket * , struct page * ,
13189                                                    int  , size_t  , int  ))0, (ssize_t (*)(struct socket * ,
13190                                                                                            loff_t * ,
13191                                                                                            struct pipe_inode_info * ,
13192                                                                                            size_t  ,
13193                                                                                            unsigned int  ))0};
13194#line 773 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
13195static int base_sock_create(struct net *net , struct socket *sock , int protocol ) 
13196{ struct sock *sk ;
13197  short __cil_tmp5 ;
13198  int __cil_tmp6 ;
13199  struct sock *__cil_tmp7 ;
13200  unsigned long __cil_tmp8 ;
13201  unsigned long __cil_tmp9 ;
13202  enum sock_flags __cil_tmp10 ;
13203
13204  {
13205  {
13206#line 777
13207  __cil_tmp5 = sock->type;
13208#line 777
13209  __cil_tmp6 = (int )__cil_tmp5;
13210#line 777
13211  if (__cil_tmp6 != 3) {
13212#line 778
13213    return (-94);
13214  } else {
13215
13216  }
13217  }
13218  {
13219#line 780
13220  sk = sk_alloc(net, 34, 208U, & mISDN_proto);
13221  }
13222  {
13223#line 781
13224  __cil_tmp7 = (struct sock *)0;
13225#line 781
13226  __cil_tmp8 = (unsigned long )__cil_tmp7;
13227#line 781
13228  __cil_tmp9 = (unsigned long )sk;
13229#line 781
13230  if (__cil_tmp9 == __cil_tmp8) {
13231#line 782
13232    return (-12);
13233  } else {
13234
13235  }
13236  }
13237  {
13238#line 784
13239  sock_init_data(sock, sk);
13240#line 785
13241  sock->ops = & base_sock_ops;
13242#line 786
13243  sock->state = (socket_state )1;
13244#line 787
13245  __cil_tmp10 = (enum sock_flags )8;
13246#line 787
13247  sock_reset_flag(sk, __cil_tmp10);
13248#line 788
13249  sk->sk_protocol = (unsigned char )protocol;
13250#line 789
13251  sk->__sk_common.skc_state = (unsigned char volatile   )1U;
13252#line 790
13253  mISDN_sock_link(& base_sockets, sk);
13254  }
13255#line 792
13256  return (0);
13257}
13258}
13259#line 796 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
13260static int mISDN_sock_create(struct net *net , struct socket *sock , int proto , int kern ) 
13261{ int err ;
13262
13263  {
13264#line 798
13265  err = -93;
13266#line 801
13267  if (proto == 0) {
13268#line 801
13269    goto case_0;
13270  } else
13271#line 804
13272  if (proto == 1) {
13273#line 804
13274    goto case_1;
13275  } else
13276#line 805
13277  if (proto == 2) {
13278#line 805
13279    goto case_2;
13280  } else
13281#line 806
13282  if (proto == 3) {
13283#line 806
13284    goto case_3;
13285  } else
13286#line 807
13287  if (proto == 4) {
13288#line 807
13289    goto case_4;
13290  } else
13291#line 808
13292  if (proto == 16) {
13293#line 808
13294    goto case_16;
13295  } else
13296#line 809
13297  if (proto == 17) {
13298#line 809
13299    goto case_17;
13300  } else
13301#line 810
13302  if (proto == 33) {
13303#line 810
13304    goto case_33;
13305  } else
13306#line 811
13307  if (proto == 34) {
13308#line 811
13309    goto case_34;
13310  } else
13311#line 812
13312  if (proto == 35) {
13313#line 812
13314    goto case_35;
13315  } else
13316#line 813
13317  if (proto == 36) {
13318#line 813
13319    goto case_36;
13320  } else
13321#line 814
13322  if (proto == 37) {
13323#line 814
13324    goto case_37;
13325  } else
13326#line 815
13327  if (proto == 38) {
13328#line 815
13329    goto case_38;
13330  } else {
13331#line 818
13332    goto switch_default;
13333#line 800
13334    if (0) {
13335      case_0: 
13336      {
13337#line 802
13338      err = base_sock_create(net, sock, proto);
13339      }
13340#line 803
13341      goto ldv_38707;
13342      case_1: ;
13343      case_2: ;
13344      case_3: ;
13345      case_4: ;
13346      case_16: ;
13347      case_17: ;
13348      case_33: ;
13349      case_34: ;
13350      case_35: ;
13351      case_36: ;
13352      case_37: ;
13353      case_38: 
13354      {
13355#line 816
13356      err = data_sock_create(net, sock, proto);
13357      }
13358#line 817
13359      goto ldv_38707;
13360      switch_default: ;
13361#line 819
13362      return (err);
13363    } else {
13364
13365    }
13366  }
13367  ldv_38707: ;
13368#line 822
13369  return (err);
13370}
13371}
13372#line 825 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
13373static struct net_proto_family  const  mISDN_sock_family_ops  =    {34, & mISDN_sock_create, & __this_module};
13374#line 832 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
13375int misdn_sock_init(u_int *deb ) 
13376{ int err ;
13377
13378  {
13379  {
13380#line 836
13381  debug___0 = deb;
13382#line 837
13383  err = sock_register(& mISDN_sock_family_ops);
13384  }
13385#line 838
13386  if (err != 0) {
13387    {
13388#line 839
13389    printk("<3>%s: error(%d)\n", "misdn_sock_init", err);
13390    }
13391  } else {
13392
13393  }
13394#line 840
13395  return (err);
13396}
13397}
13398#line 844 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/socket.c.p"
13399void misdn_sock_cleanup(void) 
13400{ 
13401
13402  {
13403  {
13404#line 846
13405  sock_unregister(34);
13406  }
13407#line 847
13408  return;
13409}
13410}
13411#line 27 "include/linux/string.h"
13412extern char *strncpy(char * , char const   * , __kernel_size_t  ) ;
13413#line 24 "include/linux/rwlock_api_smp.h"
13414extern unsigned long _raw_read_lock_irqsave(rwlock_t * ) ;
13415#line 37
13416extern void _raw_read_unlock_irqrestore(rwlock_t * , unsigned long  ) ;
13417#line 149 "include/linux/time.h"
13418extern void do_gettimeofday(struct timeval * ) ;
13419#line 573 "include/linux/mISDNif.h"
13420struct mISDNclock *mISDN_register_clock(char *name , int pri , clockctl_func_t *ctl ,
13421                                        void *priv ) ;
13422#line 575
13423void mISDN_unregister_clock(struct mISDNclock *iclock ) ;
13424#line 586
13425void mISDN_clock_update(struct mISDNclock *iclock , int samples , struct timeval *tv ) ;
13426#line 587
13427unsigned short mISDN_clock_get(void) ;
13428#line 50 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13429static u_int *debug___1  ;
13430#line 51 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13431static struct list_head iclock_list  =    {& iclock_list, & iclock_list};
13432#line 52 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13433static rwlock_t iclock_lock  =    {{16777216U}, 3736018669U, 4294967295U, (void *)1152921504606846975UL, {(struct lock_class_key *)0,
13434                                                                           {(struct lock_class *)0,
13435                                                                            (struct lock_class *)0},
13436                                                                           "iclock_lock",
13437                                                                           0, 0UL}};
13438#line 53 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13439static u16 iclock_count  ;
13440#line 54 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13441static struct timeval iclock_tv  ;
13442#line 55 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13443static int iclock_tv_valid  ;
13444#line 56 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13445static struct mISDNclock *iclock_current  ;
13446#line 59 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13447void mISDN_init_clock(u_int *dp ) 
13448{ 
13449
13450  {
13451  {
13452#line 61
13453  debug___1 = dp;
13454#line 62
13455  do_gettimeofday(& iclock_tv);
13456  }
13457#line 63
13458  return;
13459}
13460}
13461#line 66 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13462static void select_iclock(void) 
13463{ struct mISDNclock *iclock ;
13464  struct mISDNclock *bestclock ;
13465  struct mISDNclock *lastclock ;
13466  int pri ;
13467  struct list_head  const  *__mptr ;
13468  struct list_head  const  *__mptr___0 ;
13469  int __cil_tmp7 ;
13470  unsigned long __cil_tmp8 ;
13471  unsigned long __cil_tmp9 ;
13472  struct list_head *__cil_tmp10 ;
13473  unsigned long __cil_tmp11 ;
13474  struct list_head *__cil_tmp12 ;
13475  unsigned long __cil_tmp13 ;
13476  struct mISDNclock *__cil_tmp14 ;
13477  unsigned long __cil_tmp15 ;
13478  unsigned long __cil_tmp16 ;
13479  unsigned long __cil_tmp17 ;
13480  unsigned long __cil_tmp18 ;
13481  u_int __cil_tmp19 ;
13482  unsigned int __cil_tmp20 ;
13483  char (*__cil_tmp21)[64U] ;
13484  char *__cil_tmp22 ;
13485  clockctl_func_t *__cil_tmp23 ;
13486  void *__cil_tmp24 ;
13487  struct mISDNclock *__cil_tmp25 ;
13488  unsigned long __cil_tmp26 ;
13489  unsigned long __cil_tmp27 ;
13490  unsigned long __cil_tmp28 ;
13491  unsigned long __cil_tmp29 ;
13492  u_int __cil_tmp30 ;
13493  unsigned int __cil_tmp31 ;
13494  char (*__cil_tmp32)[64U] ;
13495  char *__cil_tmp33 ;
13496  clockctl_func_t *__cil_tmp34 ;
13497  void *__cil_tmp35 ;
13498  unsigned long __cil_tmp36 ;
13499  unsigned long __cil_tmp37 ;
13500
13501  {
13502#line 68
13503  bestclock = (struct mISDNclock *)0;
13504#line 68
13505  lastclock = (struct mISDNclock *)0;
13506#line 69
13507  pri = -128;
13508#line 71
13509  __mptr = (struct list_head  const  *)iclock_list.next;
13510#line 71
13511  iclock = (struct mISDNclock *)__mptr;
13512#line 71
13513  goto ldv_38387;
13514  ldv_38386: ;
13515  {
13516#line 72
13517  __cil_tmp7 = iclock->pri;
13518#line 72
13519  if (__cil_tmp7 > pri) {
13520#line 73
13521    pri = iclock->pri;
13522#line 74
13523    bestclock = iclock;
13524  } else {
13525
13526  }
13527  }
13528  {
13529#line 76
13530  __cil_tmp8 = (unsigned long )iclock;
13531#line 76
13532  __cil_tmp9 = (unsigned long )iclock_current;
13533#line 76
13534  if (__cil_tmp9 == __cil_tmp8) {
13535#line 77
13536    lastclock = iclock;
13537  } else {
13538
13539  }
13540  }
13541#line 71
13542  __cil_tmp10 = iclock->list.next;
13543#line 71
13544  __mptr___0 = (struct list_head  const  *)__cil_tmp10;
13545#line 71
13546  iclock = (struct mISDNclock *)__mptr___0;
13547  ldv_38387: ;
13548  {
13549#line 71
13550  __cil_tmp11 = (unsigned long )(& iclock_list);
13551#line 71
13552  __cil_tmp12 = & iclock->list;
13553#line 71
13554  __cil_tmp13 = (unsigned long )__cil_tmp12;
13555#line 71
13556  if (__cil_tmp13 != __cil_tmp11) {
13557#line 72
13558    goto ldv_38386;
13559  } else {
13560#line 74
13561    goto ldv_38388;
13562  }
13563  }
13564  ldv_38388: ;
13565  {
13566#line 79
13567  __cil_tmp14 = (struct mISDNclock *)0;
13568#line 79
13569  __cil_tmp15 = (unsigned long )__cil_tmp14;
13570#line 79
13571  __cil_tmp16 = (unsigned long )lastclock;
13572#line 79
13573  if (__cil_tmp16 != __cil_tmp15) {
13574    {
13575#line 79
13576    __cil_tmp17 = (unsigned long )lastclock;
13577#line 79
13578    __cil_tmp18 = (unsigned long )bestclock;
13579#line 79
13580    if (__cil_tmp18 != __cil_tmp17) {
13581      {
13582#line 81
13583      __cil_tmp19 = *debug___1;
13584#line 81
13585      __cil_tmp20 = __cil_tmp19 & 33554432U;
13586#line 81
13587      if (__cil_tmp20 != 0U) {
13588        {
13589#line 82
13590        __cil_tmp21 = & lastclock->name;
13591#line 82
13592        __cil_tmp22 = (char *)__cil_tmp21;
13593#line 82
13594        printk("<7>Old clock source \'%s\' disable.\n", __cil_tmp22);
13595        }
13596      } else {
13597
13598      }
13599      }
13600      {
13601#line 84
13602      __cil_tmp23 = lastclock->ctl;
13603#line 84
13604      __cil_tmp24 = lastclock->priv;
13605#line 84
13606      (*__cil_tmp23)(__cil_tmp24, 0);
13607      }
13608    } else {
13609
13610    }
13611    }
13612  } else {
13613
13614  }
13615  }
13616  {
13617#line 86
13618  __cil_tmp25 = (struct mISDNclock *)0;
13619#line 86
13620  __cil_tmp26 = (unsigned long )__cil_tmp25;
13621#line 86
13622  __cil_tmp27 = (unsigned long )bestclock;
13623#line 86
13624  if (__cil_tmp27 != __cil_tmp26) {
13625    {
13626#line 86
13627    __cil_tmp28 = (unsigned long )iclock_current;
13628#line 86
13629    __cil_tmp29 = (unsigned long )bestclock;
13630#line 86
13631    if (__cil_tmp29 != __cil_tmp28) {
13632      {
13633#line 88
13634      __cil_tmp30 = *debug___1;
13635#line 88
13636      __cil_tmp31 = __cil_tmp30 & 33554432U;
13637#line 88
13638      if (__cil_tmp31 != 0U) {
13639        {
13640#line 89
13641        __cil_tmp32 = & bestclock->name;
13642#line 89
13643        __cil_tmp33 = (char *)__cil_tmp32;
13644#line 89
13645        printk("<7>New clock source \'%s\' enable.\n", __cil_tmp33);
13646        }
13647      } else {
13648
13649      }
13650      }
13651      {
13652#line 91
13653      __cil_tmp34 = bestclock->ctl;
13654#line 91
13655      __cil_tmp35 = bestclock->priv;
13656#line 91
13657      (*__cil_tmp34)(__cil_tmp35, 1);
13658      }
13659    } else {
13660
13661    }
13662    }
13663  } else {
13664
13665  }
13666  }
13667  {
13668#line 93
13669  __cil_tmp36 = (unsigned long )iclock_current;
13670#line 93
13671  __cil_tmp37 = (unsigned long )bestclock;
13672#line 93
13673  if (__cil_tmp37 != __cil_tmp36) {
13674#line 95
13675    iclock_tv_valid = 0;
13676  } else {
13677
13678  }
13679  }
13680#line 97
13681  iclock_current = bestclock;
13682#line 98
13683  return;
13684}
13685}
13686#line 101 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13687struct mISDNclock *mISDN_register_clock(char *name , int pri , clockctl_func_t *ctl ,
13688                                        void *priv ) 
13689{ u_long flags ;
13690  struct mISDNclock *iclock ;
13691  void *tmp ;
13692  u_int __cil_tmp8 ;
13693  unsigned int __cil_tmp9 ;
13694  struct mISDNclock *__cil_tmp10 ;
13695  unsigned long __cil_tmp11 ;
13696  unsigned long __cil_tmp12 ;
13697  char (*__cil_tmp13)[64U] ;
13698  char *__cil_tmp14 ;
13699  char const   *__cil_tmp15 ;
13700  struct list_head *__cil_tmp16 ;
13701
13702  {
13703  {
13704#line 106
13705  __cil_tmp8 = *debug___1;
13706#line 106
13707  __cil_tmp9 = __cil_tmp8 & 33554687U;
13708#line 106
13709  if (__cil_tmp9 != 0U) {
13710    {
13711#line 107
13712    printk("<7>%s: %s %d\n", "mISDN_register_clock", name, pri);
13713    }
13714  } else {
13715
13716  }
13717  }
13718  {
13719#line 108
13720  tmp = kzalloc(104UL, 32U);
13721#line 108
13722  iclock = (struct mISDNclock *)tmp;
13723  }
13724  {
13725#line 109
13726  __cil_tmp10 = (struct mISDNclock *)0;
13727#line 109
13728  __cil_tmp11 = (unsigned long )__cil_tmp10;
13729#line 109
13730  __cil_tmp12 = (unsigned long )iclock;
13731#line 109
13732  if (__cil_tmp12 == __cil_tmp11) {
13733    {
13734#line 110
13735    printk("<3>%s: No memory for clock entry.\n", "mISDN_register_clock");
13736    }
13737#line 111
13738    return ((struct mISDNclock *)0);
13739  } else {
13740
13741  }
13742  }
13743  {
13744#line 113
13745  __cil_tmp13 = & iclock->name;
13746#line 113
13747  __cil_tmp14 = (char *)__cil_tmp13;
13748#line 113
13749  __cil_tmp15 = (char const   *)name;
13750#line 113
13751  strncpy(__cil_tmp14, __cil_tmp15, 63UL);
13752#line 114
13753  iclock->pri = pri;
13754#line 115
13755  iclock->priv = priv;
13756#line 116
13757  iclock->ctl = ctl;
13758#line 117
13759  flags = _raw_write_lock_irqsave(& iclock_lock);
13760#line 118
13761  __cil_tmp16 = & iclock->list;
13762#line 118
13763  list_add_tail(__cil_tmp16, & iclock_list);
13764#line 119
13765  select_iclock();
13766#line 120
13767  _raw_write_unlock_irqrestore(& iclock_lock, flags);
13768  }
13769#line 121
13770  return (iclock);
13771}
13772}
13773#line 126 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13774void mISDN_unregister_clock(struct mISDNclock *iclock ) 
13775{ u_long flags ;
13776  u_int __cil_tmp3 ;
13777  unsigned int __cil_tmp4 ;
13778  char (*__cil_tmp5)[64U] ;
13779  char *__cil_tmp6 ;
13780  int __cil_tmp7 ;
13781  unsigned long __cil_tmp8 ;
13782  unsigned long __cil_tmp9 ;
13783  u_int __cil_tmp10 ;
13784  unsigned int __cil_tmp11 ;
13785  char (*__cil_tmp12)[64U] ;
13786  char *__cil_tmp13 ;
13787  clockctl_func_t *__cil_tmp14 ;
13788  void *__cil_tmp15 ;
13789  struct list_head *__cil_tmp16 ;
13790
13791  {
13792  {
13793#line 130
13794  __cil_tmp3 = *debug___1;
13795#line 130
13796  __cil_tmp4 = __cil_tmp3 & 33554687U;
13797#line 130
13798  if (__cil_tmp4 != 0U) {
13799    {
13800#line 131
13801    __cil_tmp5 = & iclock->name;
13802#line 131
13803    __cil_tmp6 = (char *)__cil_tmp5;
13804#line 131
13805    __cil_tmp7 = iclock->pri;
13806#line 131
13807    printk("<7>%s: %s %d\n", "mISDN_unregister_clock", __cil_tmp6, __cil_tmp7);
13808    }
13809  } else {
13810
13811  }
13812  }
13813  {
13814#line 133
13815  flags = _raw_write_lock_irqsave(& iclock_lock);
13816  }
13817  {
13818#line 134
13819  __cil_tmp8 = (unsigned long )iclock;
13820#line 134
13821  __cil_tmp9 = (unsigned long )iclock_current;
13822#line 134
13823  if (__cil_tmp9 == __cil_tmp8) {
13824    {
13825#line 135
13826    __cil_tmp10 = *debug___1;
13827#line 135
13828    __cil_tmp11 = __cil_tmp10 & 33554432U;
13829#line 135
13830    if (__cil_tmp11 != 0U) {
13831      {
13832#line 136
13833      __cil_tmp12 = & iclock->name;
13834#line 136
13835      __cil_tmp13 = (char *)__cil_tmp12;
13836#line 136
13837      printk("<7>Current clock source \'%s\' unregisters.\n", __cil_tmp13);
13838      }
13839    } else {
13840
13841    }
13842    }
13843    {
13844#line 139
13845    __cil_tmp14 = iclock->ctl;
13846#line 139
13847    __cil_tmp15 = iclock->priv;
13848#line 139
13849    (*__cil_tmp14)(__cil_tmp15, 0);
13850    }
13851  } else {
13852
13853  }
13854  }
13855  {
13856#line 141
13857  __cil_tmp16 = & iclock->list;
13858#line 141
13859  list_del(__cil_tmp16);
13860#line 142
13861  select_iclock();
13862#line 143
13863  _raw_write_unlock_irqrestore(& iclock_lock, flags);
13864  }
13865#line 144
13866  return;
13867}
13868}
13869#line 148 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
13870void mISDN_clock_update(struct mISDNclock *iclock , int samples , struct timeval *tv ) 
13871{ u_long flags ;
13872  struct timeval tv_now ;
13873  time_t elapsed_sec ;
13874  int elapsed_8000th ;
13875  char *tmp ;
13876  char *tmp___0 ;
13877  unsigned long __cil_tmp10 ;
13878  unsigned long __cil_tmp11 ;
13879  struct mISDNclock *__cil_tmp12 ;
13880  unsigned long __cil_tmp13 ;
13881  unsigned long __cil_tmp14 ;
13882  char (*__cil_tmp15)[64U] ;
13883  char (*__cil_tmp16)[64U] ;
13884  char *__cil_tmp17 ;
13885  clockctl_func_t *__cil_tmp18 ;
13886  void *__cil_tmp19 ;
13887  int __cil_tmp20 ;
13888  u16 __cil_tmp21 ;
13889  int __cil_tmp22 ;
13890  int __cil_tmp23 ;
13891  struct timeval *__cil_tmp24 ;
13892  unsigned long __cil_tmp25 ;
13893  unsigned long __cil_tmp26 ;
13894  struct timeval *__cil_tmp27 ;
13895  unsigned long __cil_tmp28 ;
13896  unsigned long __cil_tmp29 ;
13897  __kernel_suseconds_t __cil_tmp30 ;
13898  unsigned int __cil_tmp31 ;
13899  __kernel_suseconds_t __cil_tmp32 ;
13900  unsigned int __cil_tmp33 ;
13901  unsigned int __cil_tmp34 ;
13902  unsigned int __cil_tmp35 ;
13903  u16 __cil_tmp36 ;
13904  unsigned int __cil_tmp37 ;
13905  u16 __cil_tmp38 ;
13906  unsigned int __cil_tmp39 ;
13907  unsigned int __cil_tmp40 ;
13908  unsigned int __cil_tmp41 ;
13909  unsigned int __cil_tmp42 ;
13910  u_int __cil_tmp43 ;
13911  unsigned int __cil_tmp44 ;
13912  struct mISDNclock *__cil_tmp45 ;
13913  unsigned long __cil_tmp46 ;
13914  unsigned long __cil_tmp47 ;
13915  char (*__cil_tmp48)[64U] ;
13916
13917  {
13918  {
13919#line 155
13920  flags = _raw_write_lock_irqsave(& iclock_lock);
13921  }
13922  {
13923#line 156
13924  __cil_tmp10 = (unsigned long )iclock;
13925#line 156
13926  __cil_tmp11 = (unsigned long )iclock_current;
13927#line 156
13928  if (__cil_tmp11 != __cil_tmp10) {
13929    {
13930#line 157
13931    __cil_tmp12 = (struct mISDNclock *)0;
13932#line 157
13933    __cil_tmp13 = (unsigned long )__cil_tmp12;
13934#line 157
13935    __cil_tmp14 = (unsigned long )iclock_current;
13936#line 157
13937    if (__cil_tmp14 != __cil_tmp13) {
13938#line 157
13939      __cil_tmp15 = & iclock_current->name;
13940#line 157
13941      tmp = (char *)__cil_tmp15;
13942    } else {
13943#line 157
13944      tmp = (char *)"nothing";
13945    }
13946    }
13947    {
13948#line 157
13949    __cil_tmp16 = & iclock->name;
13950#line 157
13951    __cil_tmp17 = (char *)__cil_tmp16;
13952#line 157
13953    printk("<3>%s: \'%s\' sends us clock updates, but we do listen to \'%s\'. This is a bug!\n",
13954           "mISDN_clock_update", __cil_tmp17, tmp);
13955#line 161
13956    __cil_tmp18 = iclock->ctl;
13957#line 161
13958    __cil_tmp19 = iclock->priv;
13959#line 161
13960    (*__cil_tmp18)(__cil_tmp19, 0);
13961#line 162
13962    _raw_write_unlock_irqrestore(& iclock_lock, flags);
13963    }
13964#line 163
13965    return;
13966  } else {
13967
13968  }
13969  }
13970#line 165
13971  if (iclock_tv_valid != 0) {
13972#line 167
13973    __cil_tmp20 = (int )iclock_count;
13974#line 167
13975    __cil_tmp21 = (u16 )samples;
13976#line 167
13977    __cil_tmp22 = (int )__cil_tmp21;
13978#line 167
13979    __cil_tmp23 = __cil_tmp22 + __cil_tmp20;
13980#line 167
13981    iclock_count = (u16 )__cil_tmp23;
13982    {
13983#line 168
13984    __cil_tmp24 = (struct timeval *)0;
13985#line 168
13986    __cil_tmp25 = (unsigned long )__cil_tmp24;
13987#line 168
13988    __cil_tmp26 = (unsigned long )tv;
13989#line 168
13990    if (__cil_tmp26 != __cil_tmp25) {
13991#line 169
13992      iclock_tv.tv_sec = tv->tv_sec;
13993#line 170
13994      iclock_tv.tv_usec = tv->tv_usec;
13995    } else {
13996      {
13997#line 172
13998      do_gettimeofday(& iclock_tv);
13999      }
14000    }
14001    }
14002  } else {
14003    {
14004#line 175
14005    __cil_tmp27 = (struct timeval *)0;
14006#line 175
14007    __cil_tmp28 = (unsigned long )__cil_tmp27;
14008#line 175
14009    __cil_tmp29 = (unsigned long )tv;
14010#line 175
14011    if (__cil_tmp29 != __cil_tmp28) {
14012#line 176
14013      tv_now.tv_sec = tv->tv_sec;
14014#line 177
14015      tv_now.tv_usec = tv->tv_usec;
14016    } else {
14017      {
14018#line 179
14019      do_gettimeofday(& tv_now);
14020      }
14021    }
14022    }
14023#line 180
14024    elapsed_sec = tv_now.tv_sec - iclock_tv.tv_sec;
14025#line 181
14026    __cil_tmp30 = iclock_tv.tv_usec / 125L;
14027#line 181
14028    __cil_tmp31 = (unsigned int )__cil_tmp30;
14029#line 181
14030    __cil_tmp32 = tv_now.tv_usec / 125L;
14031#line 181
14032    __cil_tmp33 = (unsigned int )__cil_tmp32;
14033#line 181
14034    __cil_tmp34 = __cil_tmp33 - __cil_tmp31;
14035#line 181
14036    elapsed_8000th = (int )__cil_tmp34;
14037#line 183
14038    if (elapsed_8000th < 0) {
14039#line 184
14040      elapsed_sec = elapsed_sec + -1L;
14041#line 185
14042      elapsed_8000th = elapsed_8000th + 8000;
14043    } else {
14044
14045    }
14046#line 188
14047    __cil_tmp35 = (unsigned int )iclock_count;
14048#line 188
14049    __cil_tmp36 = (u16 )elapsed_8000th;
14050#line 188
14051    __cil_tmp37 = (unsigned int )__cil_tmp36;
14052#line 188
14053    __cil_tmp38 = (u16 )elapsed_sec;
14054#line 188
14055    __cil_tmp39 = (unsigned int )__cil_tmp38;
14056#line 188
14057    __cil_tmp40 = __cil_tmp39 * 8000U;
14058#line 188
14059    __cil_tmp41 = __cil_tmp40 + __cil_tmp37;
14060#line 188
14061    __cil_tmp42 = __cil_tmp41 + __cil_tmp35;
14062#line 188
14063    iclock_count = (u16 )__cil_tmp42;
14064#line 189
14065    iclock_tv.tv_sec = tv_now.tv_sec;
14066#line 190
14067    iclock_tv.tv_usec = tv_now.tv_usec;
14068#line 191
14069    iclock_tv_valid = 1;
14070    {
14071#line 192
14072    __cil_tmp43 = *debug___1;
14073#line 192
14074    __cil_tmp44 = __cil_tmp43 & 33554432U;
14075#line 192
14076    if (__cil_tmp44 != 0U) {
14077      {
14078#line 193
14079      __cil_tmp45 = (struct mISDNclock *)0;
14080#line 193
14081      __cil_tmp46 = (unsigned long )__cil_tmp45;
14082#line 193
14083      __cil_tmp47 = (unsigned long )iclock_current;
14084#line 193
14085      if (__cil_tmp47 != __cil_tmp46) {
14086#line 193
14087        __cil_tmp48 = & iclock_current->name;
14088#line 193
14089        tmp___0 = (char *)__cil_tmp48;
14090      } else {
14091#line 193
14092        tmp___0 = (char *)"nothing";
14093      }
14094      }
14095      {
14096#line 193
14097      printk("Received first clock from source \'%s\'.\n", tmp___0);
14098      }
14099    } else {
14100
14101    }
14102    }
14103  }
14104  {
14105#line 196
14106  _raw_write_unlock_irqrestore(& iclock_lock, flags);
14107  }
14108#line 197
14109  return;
14110}
14111}
14112#line 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/clock.c.p"
14113unsigned short mISDN_clock_get(void) 
14114{ u_long flags ;
14115  struct timeval tv_now ;
14116  time_t elapsed_sec ;
14117  int elapsed_8000th ;
14118  u16 count ;
14119  __kernel_suseconds_t __cil_tmp6 ;
14120  unsigned int __cil_tmp7 ;
14121  __kernel_suseconds_t __cil_tmp8 ;
14122  unsigned int __cil_tmp9 ;
14123  unsigned int __cil_tmp10 ;
14124  u16 __cil_tmp11 ;
14125  unsigned int __cil_tmp12 ;
14126  unsigned int __cil_tmp13 ;
14127  u16 __cil_tmp14 ;
14128  unsigned int __cil_tmp15 ;
14129  unsigned int __cil_tmp16 ;
14130  unsigned int __cil_tmp17 ;
14131  unsigned int __cil_tmp18 ;
14132
14133  {
14134  {
14135#line 209
14136  flags = _raw_read_lock_irqsave(& iclock_lock);
14137#line 211
14138  do_gettimeofday(& tv_now);
14139#line 212
14140  elapsed_sec = tv_now.tv_sec - iclock_tv.tv_sec;
14141#line 213
14142  __cil_tmp6 = iclock_tv.tv_usec / 125L;
14143#line 213
14144  __cil_tmp7 = (unsigned int )__cil_tmp6;
14145#line 213
14146  __cil_tmp8 = tv_now.tv_usec / 125L;
14147#line 213
14148  __cil_tmp9 = (unsigned int )__cil_tmp8;
14149#line 213
14150  __cil_tmp10 = __cil_tmp9 - __cil_tmp7;
14151#line 213
14152  elapsed_8000th = (int )__cil_tmp10;
14153  }
14154#line 214
14155  if (elapsed_8000th < 0) {
14156#line 215
14157    elapsed_sec = elapsed_sec + -1L;
14158#line 216
14159    elapsed_8000th = elapsed_8000th + 8000;
14160  } else {
14161
14162  }
14163  {
14164#line 219
14165  __cil_tmp11 = (u16 )elapsed_8000th;
14166#line 219
14167  __cil_tmp12 = (unsigned int )__cil_tmp11;
14168#line 219
14169  __cil_tmp13 = (unsigned int )iclock_count;
14170#line 219
14171  __cil_tmp14 = (u16 )elapsed_sec;
14172#line 219
14173  __cil_tmp15 = (unsigned int )__cil_tmp14;
14174#line 219
14175  __cil_tmp16 = __cil_tmp15 * 8000U;
14176#line 219
14177  __cil_tmp17 = __cil_tmp16 + __cil_tmp13;
14178#line 219
14179  __cil_tmp18 = __cil_tmp17 + __cil_tmp12;
14180#line 219
14181  count = (u16 )__cil_tmp18;
14182#line 220
14183  _raw_read_unlock_irqrestore(& iclock_lock, flags);
14184  }
14185#line 221
14186  return (count);
14187}
14188}
14189#line 24 "include/linux/list.h"
14190__inline static void INIT_LIST_HEAD(struct list_head *list ) 
14191{ 
14192
14193  {
14194#line 26
14195  list->next = list;
14196#line 27
14197  list->prev = list;
14198#line 28
14199  return;
14200}
14201}
14202#line 309 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
14203__inline static int constant_test_bit(unsigned int nr , unsigned long const volatile   *addr ) 
14204{ int __cil_tmp3 ;
14205  int __cil_tmp4 ;
14206  unsigned int __cil_tmp5 ;
14207  unsigned long __cil_tmp6 ;
14208  unsigned long const volatile   *__cil_tmp7 ;
14209  unsigned long volatile   __cil_tmp8 ;
14210  unsigned long __cil_tmp9 ;
14211  unsigned long __cil_tmp10 ;
14212  int __cil_tmp11 ;
14213
14214  {
14215  {
14216#line 311
14217  __cil_tmp3 = (int )nr;
14218#line 311
14219  __cil_tmp4 = __cil_tmp3 & 63;
14220#line 311
14221  __cil_tmp5 = nr / 64U;
14222#line 311
14223  __cil_tmp6 = (unsigned long )__cil_tmp5;
14224#line 311
14225  __cil_tmp7 = addr + __cil_tmp6;
14226#line 311
14227  __cil_tmp8 = *__cil_tmp7;
14228#line 311
14229  __cil_tmp9 = (unsigned long )__cil_tmp8;
14230#line 311
14231  __cil_tmp10 = __cil_tmp9 >> __cil_tmp4;
14232#line 311
14233  __cil_tmp11 = (int )__cil_tmp10;
14234#line 311
14235  return (__cil_tmp11 & 1);
14236  }
14237}
14238}
14239#line 261 "include/linux/lockdep.h"
14240extern void lockdep_init_map(struct lockdep_map * , char const   * , struct lock_class_key * ,
14241                             int  ) ;
14242#line 93 "include/linux/spinlock.h"
14243extern void __raw_spin_lock_init(raw_spinlock_t * , char const   * , struct lock_class_key * ) ;
14244#line 272 "include/linux/spinlock.h"
14245__inline static raw_spinlock_t *spinlock_check(spinlock_t *lock ) 
14246{ 
14247
14248  {
14249#line 274
14250  return (& lock->ldv_6060.rlock);
14251}
14252}
14253#line 156 "include/linux/workqueue.h"
14254extern void __init_work(struct work_struct * , int  ) ;
14255#line 360
14256extern int schedule_work(struct work_struct * ) ;
14257#line 371
14258extern bool flush_work_sync(struct work_struct * ) ;
14259#line 491 "include/linux/skbuff.h"
14260extern void consume_skb(struct sk_buff * ) ;
14261#line 858 "include/linux/skbuff.h"
14262__inline static void __skb_queue_head_init(struct sk_buff_head *list ) 
14263{ struct sk_buff *tmp ;
14264
14265  {
14266#line 860
14267  tmp = (struct sk_buff *)list;
14268#line 860
14269  list->next = tmp;
14270#line 860
14271  list->prev = tmp;
14272#line 861
14273  list->qlen = 0U;
14274#line 862
14275  return;
14276}
14277}
14278#line 872 "include/linux/skbuff.h"
14279__inline static void skb_queue_head_init(struct sk_buff_head *list ) 
14280{ struct lock_class_key __key ;
14281  spinlock_t *__cil_tmp3 ;
14282  struct raw_spinlock *__cil_tmp4 ;
14283
14284  {
14285  {
14286#line 874
14287  __cil_tmp3 = & list->lock;
14288#line 874
14289  spinlock_check(__cil_tmp3);
14290#line 874
14291  __cil_tmp4 = & list->lock.ldv_6060.rlock;
14292#line 874
14293  __raw_spin_lock_init(__cil_tmp4, "&(&list->lock)->rlock", & __key);
14294#line 875
14295  __skb_queue_head_init(list);
14296  }
14297#line 876
14298  return;
14299}
14300}
14301#line 1034
14302extern void skb_queue_tail(struct sk_buff_head * , struct sk_buff * ) ;
14303#line 1066
14304extern struct sk_buff *skb_dequeue(struct sk_buff_head * ) ;
14305#line 525 "include/linux/mISDNif.h"
14306__inline static struct sk_buff *mI_alloc_skb(unsigned int len , gfp_t gfp_mask ) 
14307{ struct sk_buff *skb ;
14308  long tmp ;
14309  unsigned int __cil_tmp5 ;
14310  struct sk_buff *__cil_tmp6 ;
14311  unsigned long __cil_tmp7 ;
14312  unsigned long __cil_tmp8 ;
14313  int __cil_tmp9 ;
14314  long __cil_tmp10 ;
14315
14316  {
14317  {
14318#line 529
14319  __cil_tmp5 = len + 8U;
14320#line 529
14321  skb = alloc_skb(__cil_tmp5, gfp_mask);
14322#line 530
14323  __cil_tmp6 = (struct sk_buff *)0;
14324#line 530
14325  __cil_tmp7 = (unsigned long )__cil_tmp6;
14326#line 530
14327  __cil_tmp8 = (unsigned long )skb;
14328#line 530
14329  __cil_tmp9 = __cil_tmp8 != __cil_tmp7;
14330#line 530
14331  __cil_tmp10 = (long )__cil_tmp9;
14332#line 530
14333  tmp = __builtin_expect(__cil_tmp10, 1L);
14334  }
14335#line 530
14336  if (tmp != 0L) {
14337    {
14338#line 531
14339    skb_reserve(skb, 8);
14340    }
14341  } else {
14342
14343  }
14344#line 532
14345  return (skb);
14346}
14347}
14348#line 536 "include/linux/mISDNif.h"
14349__inline static struct sk_buff *_alloc_mISDN_skb(u_int prim , u_int id , u_int len ,
14350                                                 void *dp , gfp_t gfp_mask ) 
14351{ struct sk_buff *skb ;
14352  struct sk_buff *tmp ;
14353  struct mISDNhead *hh ;
14354  size_t __len ;
14355  void *__ret ;
14356  unsigned char *tmp___1 ;
14357  struct sk_buff *__cil_tmp12 ;
14358  unsigned long __cil_tmp13 ;
14359  unsigned long __cil_tmp14 ;
14360  void *__cil_tmp15 ;
14361  void const   *__cil_tmp16 ;
14362  char (*__cil_tmp17)[48U] ;
14363
14364  {
14365  {
14366#line 538
14367  tmp = mI_alloc_skb(len, gfp_mask);
14368#line 538
14369  skb = tmp;
14370  }
14371  {
14372#line 541
14373  __cil_tmp12 = (struct sk_buff *)0;
14374#line 541
14375  __cil_tmp13 = (unsigned long )__cil_tmp12;
14376#line 541
14377  __cil_tmp14 = (unsigned long )skb;
14378#line 541
14379  if (__cil_tmp14 == __cil_tmp13) {
14380#line 542
14381    return ((struct sk_buff *)0);
14382  } else {
14383
14384  }
14385  }
14386#line 543
14387  if (len != 0U) {
14388    {
14389#line 544
14390    __len = (size_t )len;
14391#line 544
14392    tmp___1 = skb_put(skb, len);
14393#line 544
14394    __cil_tmp15 = (void *)tmp___1;
14395#line 544
14396    __cil_tmp16 = (void const   *)dp;
14397#line 544
14398    __ret = __builtin_memcpy(__cil_tmp15, __cil_tmp16, __len);
14399    }
14400  } else {
14401
14402  }
14403#line 545
14404  __cil_tmp17 = & skb->cb;
14405#line 545
14406  hh = (struct mISDNhead *)__cil_tmp17;
14407#line 546
14408  hh->prim = prim;
14409#line 547
14410  hh->id = id;
14411#line 548
14412  return (skb);
14413}
14414}
14415#line 552 "include/linux/mISDNif.h"
14416__inline static void _queue_data(struct mISDNchannel *ch , u_int prim , u_int id ,
14417                                 u_int len , void *dp , gfp_t gfp_mask ) 
14418{ struct sk_buff *skb ;
14419  int tmp ;
14420  struct mISDNchannel *__cil_tmp9 ;
14421  unsigned long __cil_tmp10 ;
14422  struct mISDNchannel *__cil_tmp11 ;
14423  unsigned long __cil_tmp12 ;
14424  struct sk_buff *__cil_tmp13 ;
14425  unsigned long __cil_tmp14 ;
14426  unsigned long __cil_tmp15 ;
14427  send_func_t *__cil_tmp16 ;
14428  struct mISDNchannel *__cil_tmp17 ;
14429
14430  {
14431  {
14432#line 557
14433  __cil_tmp9 = (struct mISDNchannel *)0;
14434#line 557
14435  __cil_tmp10 = (unsigned long )__cil_tmp9;
14436#line 557
14437  __cil_tmp11 = ch->peer;
14438#line 557
14439  __cil_tmp12 = (unsigned long )__cil_tmp11;
14440#line 557
14441  if (__cil_tmp12 == __cil_tmp10) {
14442#line 558
14443    return;
14444  } else {
14445
14446  }
14447  }
14448  {
14449#line 559
14450  skb = _alloc_mISDN_skb(prim, id, len, dp, gfp_mask);
14451  }
14452  {
14453#line 560
14454  __cil_tmp13 = (struct sk_buff *)0;
14455#line 560
14456  __cil_tmp14 = (unsigned long )__cil_tmp13;
14457#line 560
14458  __cil_tmp15 = (unsigned long )skb;
14459#line 560
14460  if (__cil_tmp15 == __cil_tmp14) {
14461#line 561
14462    return;
14463  } else {
14464
14465  }
14466  }
14467  {
14468#line 562
14469  __cil_tmp16 = ch->recv;
14470#line 562
14471  __cil_tmp17 = ch->peer;
14472#line 562
14473  tmp = (*__cil_tmp16)(__cil_tmp17, skb);
14474  }
14475#line 562
14476  if (tmp != 0) {
14477    {
14478#line 563
14479    consume_skb(skb);
14480    }
14481  } else {
14482
14483  }
14484#line 564
14485  return;
14486}
14487}
14488#line 168 "include/linux/mISDNhw.h"
14489int mISDN_initdchannel(struct dchannel *ch , int maxlen , void *phf ) ;
14490#line 169
14491int mISDN_initbchannel(struct bchannel *ch , int maxlen ) ;
14492#line 170
14493int mISDN_freedchannel(struct dchannel *ch ) ;
14494#line 171
14495void mISDN_clear_bchannel(struct bchannel *ch ) ;
14496#line 172
14497int mISDN_freebchannel(struct bchannel *ch ) ;
14498#line 173
14499void queue_ch_frame(struct mISDNchannel *ch , u_int pr , int id , struct sk_buff *skb ) ;
14500#line 175
14501int dchannel_senddata(struct dchannel *ch , struct sk_buff *skb ) ;
14502#line 176
14503int bchannel_senddata(struct bchannel *ch , struct sk_buff *skb ) ;
14504#line 177
14505void recv_Dchannel(struct dchannel *dch ) ;
14506#line 178
14507void recv_Echannel(struct dchannel *ech , struct dchannel *dch ) ;
14508#line 179
14509void recv_Bchannel(struct bchannel *bch , unsigned int id ) ;
14510#line 180
14511void recv_Dchannel_skb(struct dchannel *dch , struct sk_buff *skb ) ;
14512#line 181
14513void recv_Bchannel_skb(struct bchannel *bch , struct sk_buff *skb ) ;
14514#line 182
14515void confirm_Bsend(struct bchannel *bch ) ;
14516#line 183
14517int get_next_bframe(struct bchannel *bch ) ;
14518#line 184
14519int get_next_dframe(struct dchannel *dch ) ;
14520#line 30 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
14521static void dchannel_bh(struct work_struct *ws ) 
14522{ struct dchannel *dch ;
14523  struct work_struct  const  *__mptr ;
14524  struct sk_buff *skb ;
14525  int err ;
14526  long tmp ;
14527  int tmp___0 ;
14528  int tmp___1 ;
14529  struct dchannel *__cil_tmp9 ;
14530  u_long *__cil_tmp10 ;
14531  unsigned long volatile   *__cil_tmp11 ;
14532  struct mISDNchannel *__cil_tmp12 ;
14533  unsigned long __cil_tmp13 ;
14534  struct mISDNchannel *__cil_tmp14 ;
14535  unsigned long __cil_tmp15 ;
14536  int __cil_tmp16 ;
14537  long __cil_tmp17 ;
14538  send_func_t *__cil_tmp18 ;
14539  struct mISDNchannel *__cil_tmp19 ;
14540  struct sk_buff_head *__cil_tmp20 ;
14541  struct sk_buff *__cil_tmp21 ;
14542  unsigned long __cil_tmp22 ;
14543  unsigned long __cil_tmp23 ;
14544  u_long *__cil_tmp24 ;
14545  unsigned long volatile   *__cil_tmp25 ;
14546  void (*__cil_tmp26)(struct dchannel * ) ;
14547  unsigned long __cil_tmp27 ;
14548  void (*__cil_tmp28)(struct dchannel * ) ;
14549  unsigned long __cil_tmp29 ;
14550  void (*__cil_tmp30)(struct dchannel * ) ;
14551
14552  {
14553  {
14554#line 32
14555  __mptr = (struct work_struct  const  *)ws;
14556#line 32
14557  __cil_tmp9 = (struct dchannel *)__mptr;
14558#line 32
14559  dch = __cil_tmp9 + 1152921504606845720UL;
14560#line 36
14561  __cil_tmp10 = & dch->Flags;
14562#line 36
14563  __cil_tmp11 = (unsigned long volatile   *)__cil_tmp10;
14564#line 36
14565  tmp___0 = test_and_clear_bit(30, __cil_tmp11);
14566  }
14567#line 36
14568  if (tmp___0 != 0) {
14569#line 37
14570    goto ldv_38407;
14571    ldv_38406: 
14572    {
14573#line 38
14574    __cil_tmp12 = (struct mISDNchannel *)0;
14575#line 38
14576    __cil_tmp13 = (unsigned long )__cil_tmp12;
14577#line 38
14578    __cil_tmp14 = dch->dev.D.peer;
14579#line 38
14580    __cil_tmp15 = (unsigned long )__cil_tmp14;
14581#line 38
14582    __cil_tmp16 = __cil_tmp15 != __cil_tmp13;
14583#line 38
14584    __cil_tmp17 = (long )__cil_tmp16;
14585#line 38
14586    tmp = __builtin_expect(__cil_tmp17, 1L);
14587    }
14588#line 38
14589    if (tmp != 0L) {
14590      {
14591#line 39
14592      __cil_tmp18 = dch->dev.D.recv;
14593#line 39
14594      __cil_tmp19 = dch->dev.D.peer;
14595#line 39
14596      err = (*__cil_tmp18)(__cil_tmp19, skb);
14597      }
14598#line 40
14599      if (err != 0) {
14600        {
14601#line 41
14602        consume_skb(skb);
14603        }
14604      } else {
14605
14606      }
14607    } else {
14608      {
14609#line 43
14610      consume_skb(skb);
14611      }
14612    }
14613    ldv_38407: 
14614    {
14615#line 37
14616    __cil_tmp20 = & dch->rqueue;
14617#line 37
14618    skb = skb_dequeue(__cil_tmp20);
14619    }
14620    {
14621#line 37
14622    __cil_tmp21 = (struct sk_buff *)0;
14623#line 37
14624    __cil_tmp22 = (unsigned long )__cil_tmp21;
14625#line 37
14626    __cil_tmp23 = (unsigned long )skb;
14627#line 37
14628    if (__cil_tmp23 != __cil_tmp22) {
14629#line 38
14630      goto ldv_38406;
14631    } else {
14632#line 40
14633      goto ldv_38408;
14634    }
14635    }
14636    ldv_38408: ;
14637  } else {
14638
14639  }
14640  {
14641#line 46
14642  __cil_tmp24 = & dch->Flags;
14643#line 46
14644  __cil_tmp25 = (unsigned long volatile   *)__cil_tmp24;
14645#line 46
14646  tmp___1 = test_and_clear_bit(31, __cil_tmp25);
14647  }
14648#line 46
14649  if (tmp___1 != 0) {
14650    {
14651#line 47
14652    __cil_tmp26 = (void (*)(struct dchannel * ))0;
14653#line 47
14654    __cil_tmp27 = (unsigned long )__cil_tmp26;
14655#line 47
14656    __cil_tmp28 = dch->phfunc;
14657#line 47
14658    __cil_tmp29 = (unsigned long )__cil_tmp28;
14659#line 47
14660    if (__cil_tmp29 != __cil_tmp27) {
14661      {
14662#line 48
14663      __cil_tmp30 = dch->phfunc;
14664#line 48
14665      (*__cil_tmp30)(dch);
14666      }
14667    } else {
14668
14669    }
14670    }
14671  } else {
14672
14673  }
14674#line 49
14675  return;
14676}
14677}
14678#line 53 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
14679static void bchannel_bh(struct work_struct *ws ) 
14680{ struct bchannel *bch ;
14681  struct work_struct  const  *__mptr ;
14682  struct sk_buff *skb ;
14683  int err ;
14684  long tmp ;
14685  int tmp___0 ;
14686  struct bchannel *__cil_tmp8 ;
14687  u_long *__cil_tmp9 ;
14688  unsigned long volatile   *__cil_tmp10 ;
14689  int __cil_tmp11 ;
14690  struct mISDNchannel *__cil_tmp12 ;
14691  unsigned long __cil_tmp13 ;
14692  struct mISDNchannel *__cil_tmp14 ;
14693  unsigned long __cil_tmp15 ;
14694  int __cil_tmp16 ;
14695  long __cil_tmp17 ;
14696  send_func_t *__cil_tmp18 ;
14697  struct mISDNchannel *__cil_tmp19 ;
14698  struct sk_buff_head *__cil_tmp20 ;
14699  struct sk_buff *__cil_tmp21 ;
14700  unsigned long __cil_tmp22 ;
14701  unsigned long __cil_tmp23 ;
14702
14703  {
14704  {
14705#line 55
14706  __mptr = (struct work_struct  const  *)ws;
14707#line 55
14708  __cil_tmp8 = (struct bchannel *)__mptr;
14709#line 55
14710  bch = __cil_tmp8 + 1152921504606846880UL;
14711#line 59
14712  __cil_tmp9 = & bch->Flags;
14713#line 59
14714  __cil_tmp10 = (unsigned long volatile   *)__cil_tmp9;
14715#line 59
14716  tmp___0 = test_and_clear_bit(30, __cil_tmp10);
14717  }
14718#line 59
14719  if (tmp___0 != 0) {
14720#line 60
14721    goto ldv_38418;
14722    ldv_38417: 
14723    {
14724#line 61
14725    __cil_tmp11 = bch->rcount;
14726#line 61
14727    bch->rcount = __cil_tmp11 - 1;
14728#line 62
14729    __cil_tmp12 = (struct mISDNchannel *)0;
14730#line 62
14731    __cil_tmp13 = (unsigned long )__cil_tmp12;
14732#line 62
14733    __cil_tmp14 = bch->ch.peer;
14734#line 62
14735    __cil_tmp15 = (unsigned long )__cil_tmp14;
14736#line 62
14737    __cil_tmp16 = __cil_tmp15 != __cil_tmp13;
14738#line 62
14739    __cil_tmp17 = (long )__cil_tmp16;
14740#line 62
14741    tmp = __builtin_expect(__cil_tmp17, 1L);
14742    }
14743#line 62
14744    if (tmp != 0L) {
14745      {
14746#line 63
14747      __cil_tmp18 = bch->ch.recv;
14748#line 63
14749      __cil_tmp19 = bch->ch.peer;
14750#line 63
14751      err = (*__cil_tmp18)(__cil_tmp19, skb);
14752      }
14753#line 64
14754      if (err != 0) {
14755        {
14756#line 65
14757        consume_skb(skb);
14758        }
14759      } else {
14760
14761      }
14762    } else {
14763      {
14764#line 67
14765      consume_skb(skb);
14766      }
14767    }
14768    ldv_38418: 
14769    {
14770#line 60
14771    __cil_tmp20 = & bch->rqueue;
14772#line 60
14773    skb = skb_dequeue(__cil_tmp20);
14774    }
14775    {
14776#line 60
14777    __cil_tmp21 = (struct sk_buff *)0;
14778#line 60
14779    __cil_tmp22 = (unsigned long )__cil_tmp21;
14780#line 60
14781    __cil_tmp23 = (unsigned long )skb;
14782#line 60
14783    if (__cil_tmp23 != __cil_tmp22) {
14784#line 61
14785      goto ldv_38417;
14786    } else {
14787#line 63
14788      goto ldv_38419;
14789    }
14790    }
14791    ldv_38419: ;
14792  } else {
14793
14794  }
14795#line 66
14796  return;
14797}
14798}
14799#line 73 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
14800int mISDN_initdchannel(struct dchannel *ch , int maxlen , void *phf ) 
14801{ struct lock_class_key __key ;
14802  atomic_long_t __constr_expr_0 ;
14803  u_long *__cil_tmp6 ;
14804  unsigned long volatile   *__cil_tmp7 ;
14805  struct sk_buff_head *__cil_tmp8 ;
14806  struct sk_buff_head *__cil_tmp9 ;
14807  struct list_head *__cil_tmp10 ;
14808  struct work_struct *__cil_tmp11 ;
14809  struct lockdep_map *__cil_tmp12 ;
14810  struct list_head *__cil_tmp13 ;
14811
14812  {
14813  {
14814#line 75
14815  __cil_tmp6 = & ch->Flags;
14816#line 75
14817  __cil_tmp7 = (unsigned long volatile   *)__cil_tmp6;
14818#line 75
14819  test_and_set_bit(13, __cil_tmp7);
14820#line 76
14821  ch->maxlen = maxlen;
14822#line 77
14823  ch->hw = (void *)0;
14824#line 78
14825  ch->rx_skb = (struct sk_buff *)0;
14826#line 79
14827  ch->tx_skb = (struct sk_buff *)0;
14828#line 80
14829  ch->tx_idx = 0;
14830#line 81
14831  ch->phfunc = (void (*)(struct dchannel * ))phf;
14832#line 82
14833  __cil_tmp8 = & ch->squeue;
14834#line 82
14835  skb_queue_head_init(__cil_tmp8);
14836#line 83
14837  __cil_tmp9 = & ch->rqueue;
14838#line 83
14839  skb_queue_head_init(__cil_tmp9);
14840#line 84
14841  __cil_tmp10 = & ch->dev.bchannels;
14842#line 84
14843  INIT_LIST_HEAD(__cil_tmp10);
14844#line 85
14845  __cil_tmp11 = & ch->workq;
14846#line 85
14847  __init_work(__cil_tmp11, 0);
14848#line 85
14849  __constr_expr_0.counter = 2097664L;
14850#line 85
14851  ch->workq.data = __constr_expr_0;
14852#line 85
14853  __cil_tmp12 = & ch->workq.lockdep_map;
14854#line 85
14855  lockdep_init_map(__cil_tmp12, "(&ch->workq)", & __key, 0);
14856#line 85
14857  __cil_tmp13 = & ch->workq.entry;
14858#line 85
14859  INIT_LIST_HEAD(__cil_tmp13);
14860#line 85
14861  ch->workq.func = & dchannel_bh;
14862  }
14863#line 86
14864  return (0);
14865}
14866}
14867#line 91 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
14868int mISDN_initbchannel(struct bchannel *ch , int maxlen ) 
14869{ struct lock_class_key __key ;
14870  atomic_long_t __constr_expr_0 ;
14871  struct sk_buff_head *__cil_tmp5 ;
14872  struct work_struct *__cil_tmp6 ;
14873  struct lockdep_map *__cil_tmp7 ;
14874  struct list_head *__cil_tmp8 ;
14875
14876  {
14877  {
14878#line 93
14879  ch->Flags = 0UL;
14880#line 94
14881  ch->maxlen = maxlen;
14882#line 95
14883  ch->hw = (void *)0;
14884#line 96
14885  ch->rx_skb = (struct sk_buff *)0;
14886#line 97
14887  ch->tx_skb = (struct sk_buff *)0;
14888#line 98
14889  ch->tx_idx = 0;
14890#line 99
14891  __cil_tmp5 = & ch->rqueue;
14892#line 99
14893  skb_queue_head_init(__cil_tmp5);
14894#line 100
14895  ch->rcount = 0;
14896#line 101
14897  ch->next_skb = (struct sk_buff *)0;
14898#line 102
14899  __cil_tmp6 = & ch->workq;
14900#line 102
14901  __init_work(__cil_tmp6, 0);
14902#line 102
14903  __constr_expr_0.counter = 2097664L;
14904#line 102
14905  ch->workq.data = __constr_expr_0;
14906#line 102
14907  __cil_tmp7 = & ch->workq.lockdep_map;
14908#line 102
14909  lockdep_init_map(__cil_tmp7, "(&ch->workq)", & __key, 0);
14910#line 102
14911  __cil_tmp8 = & ch->workq.entry;
14912#line 102
14913  INIT_LIST_HEAD(__cil_tmp8);
14914#line 102
14915  ch->workq.func = & bchannel_bh;
14916  }
14917#line 103
14918  return (0);
14919}
14920}
14921#line 108 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
14922int mISDN_freedchannel(struct dchannel *ch ) 
14923{ struct sk_buff *__cil_tmp2 ;
14924  unsigned long __cil_tmp3 ;
14925  struct sk_buff *__cil_tmp4 ;
14926  unsigned long __cil_tmp5 ;
14927  struct sk_buff *__cil_tmp6 ;
14928  struct sk_buff *__cil_tmp7 ;
14929  unsigned long __cil_tmp8 ;
14930  struct sk_buff *__cil_tmp9 ;
14931  unsigned long __cil_tmp10 ;
14932  struct sk_buff *__cil_tmp11 ;
14933  struct sk_buff_head *__cil_tmp12 ;
14934  struct sk_buff_head *__cil_tmp13 ;
14935  struct work_struct *__cil_tmp14 ;
14936
14937  {
14938  {
14939#line 110
14940  __cil_tmp2 = (struct sk_buff *)0;
14941#line 110
14942  __cil_tmp3 = (unsigned long )__cil_tmp2;
14943#line 110
14944  __cil_tmp4 = ch->tx_skb;
14945#line 110
14946  __cil_tmp5 = (unsigned long )__cil_tmp4;
14947#line 110
14948  if (__cil_tmp5 != __cil_tmp3) {
14949    {
14950#line 111
14951    __cil_tmp6 = ch->tx_skb;
14952#line 111
14953    consume_skb(__cil_tmp6);
14954#line 112
14955    ch->tx_skb = (struct sk_buff *)0;
14956    }
14957  } else {
14958
14959  }
14960  }
14961  {
14962#line 114
14963  __cil_tmp7 = (struct sk_buff *)0;
14964#line 114
14965  __cil_tmp8 = (unsigned long )__cil_tmp7;
14966#line 114
14967  __cil_tmp9 = ch->rx_skb;
14968#line 114
14969  __cil_tmp10 = (unsigned long )__cil_tmp9;
14970#line 114
14971  if (__cil_tmp10 != __cil_tmp8) {
14972    {
14973#line 115
14974    __cil_tmp11 = ch->rx_skb;
14975#line 115
14976    consume_skb(__cil_tmp11);
14977#line 116
14978    ch->rx_skb = (struct sk_buff *)0;
14979    }
14980  } else {
14981
14982  }
14983  }
14984  {
14985#line 118
14986  __cil_tmp12 = & ch->squeue;
14987#line 118
14988  skb_queue_purge(__cil_tmp12);
14989#line 119
14990  __cil_tmp13 = & ch->rqueue;
14991#line 119
14992  skb_queue_purge(__cil_tmp13);
14993#line 120
14994  __cil_tmp14 = & ch->workq;
14995#line 120
14996  flush_work_sync(__cil_tmp14);
14997  }
14998#line 121
14999  return (0);
15000}
15001}
15002#line 126 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15003void mISDN_clear_bchannel(struct bchannel *ch ) 
15004{ struct sk_buff *__cil_tmp2 ;
15005  unsigned long __cil_tmp3 ;
15006  struct sk_buff *__cil_tmp4 ;
15007  unsigned long __cil_tmp5 ;
15008  struct sk_buff *__cil_tmp6 ;
15009  struct sk_buff *__cil_tmp7 ;
15010  unsigned long __cil_tmp8 ;
15011  struct sk_buff *__cil_tmp9 ;
15012  unsigned long __cil_tmp10 ;
15013  struct sk_buff *__cil_tmp11 ;
15014  struct sk_buff *__cil_tmp12 ;
15015  unsigned long __cil_tmp13 ;
15016  struct sk_buff *__cil_tmp14 ;
15017  unsigned long __cil_tmp15 ;
15018  struct sk_buff *__cil_tmp16 ;
15019  u_long *__cil_tmp17 ;
15020  unsigned long volatile   *__cil_tmp18 ;
15021  u_long *__cil_tmp19 ;
15022  unsigned long volatile   *__cil_tmp20 ;
15023  u_long *__cil_tmp21 ;
15024  unsigned long volatile   *__cil_tmp22 ;
15025
15026  {
15027  {
15028#line 128
15029  __cil_tmp2 = (struct sk_buff *)0;
15030#line 128
15031  __cil_tmp3 = (unsigned long )__cil_tmp2;
15032#line 128
15033  __cil_tmp4 = ch->tx_skb;
15034#line 128
15035  __cil_tmp5 = (unsigned long )__cil_tmp4;
15036#line 128
15037  if (__cil_tmp5 != __cil_tmp3) {
15038    {
15039#line 129
15040    __cil_tmp6 = ch->tx_skb;
15041#line 129
15042    consume_skb(__cil_tmp6);
15043#line 130
15044    ch->tx_skb = (struct sk_buff *)0;
15045    }
15046  } else {
15047
15048  }
15049  }
15050#line 132
15051  ch->tx_idx = 0;
15052  {
15053#line 133
15054  __cil_tmp7 = (struct sk_buff *)0;
15055#line 133
15056  __cil_tmp8 = (unsigned long )__cil_tmp7;
15057#line 133
15058  __cil_tmp9 = ch->rx_skb;
15059#line 133
15060  __cil_tmp10 = (unsigned long )__cil_tmp9;
15061#line 133
15062  if (__cil_tmp10 != __cil_tmp8) {
15063    {
15064#line 134
15065    __cil_tmp11 = ch->rx_skb;
15066#line 134
15067    consume_skb(__cil_tmp11);
15068#line 135
15069    ch->rx_skb = (struct sk_buff *)0;
15070    }
15071  } else {
15072
15073  }
15074  }
15075  {
15076#line 137
15077  __cil_tmp12 = (struct sk_buff *)0;
15078#line 137
15079  __cil_tmp13 = (unsigned long )__cil_tmp12;
15080#line 137
15081  __cil_tmp14 = ch->next_skb;
15082#line 137
15083  __cil_tmp15 = (unsigned long )__cil_tmp14;
15084#line 137
15085  if (__cil_tmp15 != __cil_tmp13) {
15086    {
15087#line 138
15088    __cil_tmp16 = ch->next_skb;
15089#line 138
15090    consume_skb(__cil_tmp16);
15091#line 139
15092    ch->next_skb = (struct sk_buff *)0;
15093    }
15094  } else {
15095
15096  }
15097  }
15098  {
15099#line 141
15100  __cil_tmp17 = & ch->Flags;
15101#line 141
15102  __cil_tmp18 = (unsigned long volatile   *)__cil_tmp17;
15103#line 141
15104  test_and_clear_bit(0, __cil_tmp18);
15105#line 142
15106  __cil_tmp19 = & ch->Flags;
15107#line 142
15108  __cil_tmp20 = (unsigned long volatile   *)__cil_tmp19;
15109#line 142
15110  test_and_clear_bit(1, __cil_tmp20);
15111#line 143
15112  __cil_tmp21 = & ch->Flags;
15113#line 143
15114  __cil_tmp22 = (unsigned long volatile   *)__cil_tmp21;
15115#line 143
15116  test_and_clear_bit(6, __cil_tmp22);
15117  }
15118#line 144
15119  return;
15120}
15121}
15122#line 148 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15123int mISDN_freebchannel(struct bchannel *ch ) 
15124{ struct sk_buff_head *__cil_tmp2 ;
15125  struct work_struct *__cil_tmp3 ;
15126
15127  {
15128  {
15129#line 150
15130  mISDN_clear_bchannel(ch);
15131#line 151
15132  __cil_tmp2 = & ch->rqueue;
15133#line 151
15134  skb_queue_purge(__cil_tmp2);
15135#line 152
15136  ch->rcount = 0;
15137#line 153
15138  __cil_tmp3 = & ch->workq;
15139#line 153
15140  flush_work_sync(__cil_tmp3);
15141  }
15142#line 154
15143  return (0);
15144}
15145}
15146#line 159 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15147__inline static u_int get_sapi_tei(u_char *p ) 
15148{ u_int sapi ;
15149  u_int tei ;
15150  u_char __cil_tmp4 ;
15151  int __cil_tmp5 ;
15152  int __cil_tmp6 ;
15153  u_char *__cil_tmp7 ;
15154  u_char __cil_tmp8 ;
15155  int __cil_tmp9 ;
15156  int __cil_tmp10 ;
15157  u_int __cil_tmp11 ;
15158
15159  {
15160#line 163
15161  __cil_tmp4 = *p;
15162#line 163
15163  __cil_tmp5 = (int )__cil_tmp4;
15164#line 163
15165  __cil_tmp6 = __cil_tmp5 >> 2;
15166#line 163
15167  sapi = (u_int )__cil_tmp6;
15168#line 164
15169  __cil_tmp7 = p + 1UL;
15170#line 164
15171  __cil_tmp8 = *__cil_tmp7;
15172#line 164
15173  __cil_tmp9 = (int )__cil_tmp8;
15174#line 164
15175  __cil_tmp10 = __cil_tmp9 >> 1;
15176#line 164
15177  tei = (u_int )__cil_tmp10;
15178  {
15179#line 165
15180  __cil_tmp11 = tei << 8;
15181#line 165
15182  return (__cil_tmp11 | sapi);
15183  }
15184}
15185}
15186#line 169 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15187void recv_Dchannel(struct dchannel *dch ) 
15188{ struct mISDNhead *hh ;
15189  struct sk_buff *__cil_tmp3 ;
15190  unsigned int __cil_tmp4 ;
15191  struct sk_buff *__cil_tmp5 ;
15192  struct sk_buff *__cil_tmp6 ;
15193  char (*__cil_tmp7)[48U] ;
15194  struct sk_buff *__cil_tmp8 ;
15195  unsigned char *__cil_tmp9 ;
15196  struct sk_buff_head *__cil_tmp10 ;
15197  struct sk_buff *__cil_tmp11 ;
15198  u_long *__cil_tmp12 ;
15199  unsigned long volatile   *__cil_tmp13 ;
15200  struct work_struct *__cil_tmp14 ;
15201
15202  {
15203  {
15204#line 173
15205  __cil_tmp3 = dch->rx_skb;
15206#line 173
15207  __cil_tmp4 = __cil_tmp3->len;
15208#line 173
15209  if (__cil_tmp4 <= 1U) {
15210    {
15211#line 174
15212    __cil_tmp5 = dch->rx_skb;
15213#line 174
15214    consume_skb(__cil_tmp5);
15215#line 175
15216    dch->rx_skb = (struct sk_buff *)0;
15217    }
15218#line 176
15219    return;
15220  } else {
15221
15222  }
15223  }
15224  {
15225#line 178
15226  __cil_tmp6 = dch->rx_skb;
15227#line 178
15228  __cil_tmp7 = & __cil_tmp6->cb;
15229#line 178
15230  hh = (struct mISDNhead *)__cil_tmp7;
15231#line 179
15232  hh->prim = 8194U;
15233#line 180
15234  __cil_tmp8 = dch->rx_skb;
15235#line 180
15236  __cil_tmp9 = __cil_tmp8->data;
15237#line 180
15238  hh->id = get_sapi_tei(__cil_tmp9);
15239#line 181
15240  __cil_tmp10 = & dch->rqueue;
15241#line 181
15242  __cil_tmp11 = dch->rx_skb;
15243#line 181
15244  skb_queue_tail(__cil_tmp10, __cil_tmp11);
15245#line 182
15246  dch->rx_skb = (struct sk_buff *)0;
15247#line 183
15248  __cil_tmp12 = & dch->Flags;
15249#line 183
15250  __cil_tmp13 = (unsigned long volatile   *)__cil_tmp12;
15251#line 183
15252  test_and_set_bit(30, __cil_tmp13);
15253#line 183
15254  __cil_tmp14 = & dch->workq;
15255#line 183
15256  schedule_work(__cil_tmp14);
15257  }
15258#line 184
15259  return;
15260}
15261}
15262#line 188 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15263void recv_Echannel(struct dchannel *ech , struct dchannel *dch ) 
15264{ struct mISDNhead *hh ;
15265  struct sk_buff *__cil_tmp4 ;
15266  unsigned int __cil_tmp5 ;
15267  struct sk_buff *__cil_tmp6 ;
15268  struct sk_buff *__cil_tmp7 ;
15269  char (*__cil_tmp8)[48U] ;
15270  struct sk_buff *__cil_tmp9 ;
15271  unsigned char *__cil_tmp10 ;
15272  struct sk_buff_head *__cil_tmp11 ;
15273  struct sk_buff *__cil_tmp12 ;
15274  u_long *__cil_tmp13 ;
15275  unsigned long volatile   *__cil_tmp14 ;
15276  struct work_struct *__cil_tmp15 ;
15277
15278  {
15279  {
15280#line 192
15281  __cil_tmp4 = ech->rx_skb;
15282#line 192
15283  __cil_tmp5 = __cil_tmp4->len;
15284#line 192
15285  if (__cil_tmp5 <= 1U) {
15286    {
15287#line 193
15288    __cil_tmp6 = ech->rx_skb;
15289#line 193
15290    consume_skb(__cil_tmp6);
15291#line 194
15292    ech->rx_skb = (struct sk_buff *)0;
15293    }
15294#line 195
15295    return;
15296  } else {
15297
15298  }
15299  }
15300  {
15301#line 197
15302  __cil_tmp7 = ech->rx_skb;
15303#line 197
15304  __cil_tmp8 = & __cil_tmp7->cb;
15305#line 197
15306  hh = (struct mISDNhead *)__cil_tmp8;
15307#line 198
15308  hh->prim = 12290U;
15309#line 199
15310  __cil_tmp9 = ech->rx_skb;
15311#line 199
15312  __cil_tmp10 = __cil_tmp9->data;
15313#line 199
15314  hh->id = get_sapi_tei(__cil_tmp10);
15315#line 200
15316  __cil_tmp11 = & dch->rqueue;
15317#line 200
15318  __cil_tmp12 = ech->rx_skb;
15319#line 200
15320  skb_queue_tail(__cil_tmp11, __cil_tmp12);
15321#line 201
15322  ech->rx_skb = (struct sk_buff *)0;
15323#line 202
15324  __cil_tmp13 = & dch->Flags;
15325#line 202
15326  __cil_tmp14 = (unsigned long volatile   *)__cil_tmp13;
15327#line 202
15328  test_and_set_bit(30, __cil_tmp14);
15329#line 202
15330  __cil_tmp15 = & dch->workq;
15331#line 202
15332  schedule_work(__cil_tmp15);
15333  }
15334#line 203
15335  return;
15336}
15337}
15338#line 207 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15339void recv_Bchannel(struct bchannel *bch , unsigned int id ) 
15340{ struct mISDNhead *hh ;
15341  struct sk_buff *__cil_tmp4 ;
15342  char (*__cil_tmp5)[48U] ;
15343  int __cil_tmp6 ;
15344  struct sk_buff_head *__cil_tmp7 ;
15345  int __cil_tmp8 ;
15346  struct sk_buff_head *__cil_tmp9 ;
15347  struct sk_buff *__cil_tmp10 ;
15348  u_long *__cil_tmp11 ;
15349  unsigned long volatile   *__cil_tmp12 ;
15350  struct work_struct *__cil_tmp13 ;
15351
15352  {
15353#line 211
15354  __cil_tmp4 = bch->rx_skb;
15355#line 211
15356  __cil_tmp5 = & __cil_tmp4->cb;
15357#line 211
15358  hh = (struct mISDNhead *)__cil_tmp5;
15359#line 212
15360  hh->prim = 8194U;
15361#line 213
15362  hh->id = id;
15363  {
15364#line 214
15365  __cil_tmp6 = bch->rcount;
15366#line 214
15367  if (__cil_tmp6 > 63) {
15368    {
15369#line 215
15370    printk("<4>B-channel %p receive queue overflow, flushing!\n", bch);
15371#line 217
15372    __cil_tmp7 = & bch->rqueue;
15373#line 217
15374    skb_queue_purge(__cil_tmp7);
15375#line 218
15376    bch->rcount = 0;
15377    }
15378#line 219
15379    return;
15380  } else {
15381
15382  }
15383  }
15384  {
15385#line 221
15386  __cil_tmp8 = bch->rcount;
15387#line 221
15388  bch->rcount = __cil_tmp8 + 1;
15389#line 222
15390  __cil_tmp9 = & bch->rqueue;
15391#line 222
15392  __cil_tmp10 = bch->rx_skb;
15393#line 222
15394  skb_queue_tail(__cil_tmp9, __cil_tmp10);
15395#line 223
15396  bch->rx_skb = (struct sk_buff *)0;
15397#line 224
15398  __cil_tmp11 = & bch->Flags;
15399#line 224
15400  __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
15401#line 224
15402  test_and_set_bit(30, __cil_tmp12);
15403#line 224
15404  __cil_tmp13 = & bch->workq;
15405#line 224
15406  schedule_work(__cil_tmp13);
15407  }
15408#line 225
15409  return;
15410}
15411}
15412#line 229 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15413void recv_Dchannel_skb(struct dchannel *dch , struct sk_buff *skb ) 
15414{ struct sk_buff_head *__cil_tmp3 ;
15415  u_long *__cil_tmp4 ;
15416  unsigned long volatile   *__cil_tmp5 ;
15417  struct work_struct *__cil_tmp6 ;
15418
15419  {
15420  {
15421#line 231
15422  __cil_tmp3 = & dch->rqueue;
15423#line 231
15424  skb_queue_tail(__cil_tmp3, skb);
15425#line 232
15426  __cil_tmp4 = & dch->Flags;
15427#line 232
15428  __cil_tmp5 = (unsigned long volatile   *)__cil_tmp4;
15429#line 232
15430  test_and_set_bit(30, __cil_tmp5);
15431#line 232
15432  __cil_tmp6 = & dch->workq;
15433#line 232
15434  schedule_work(__cil_tmp6);
15435  }
15436#line 233
15437  return;
15438}
15439}
15440#line 237 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15441void recv_Bchannel_skb(struct bchannel *bch , struct sk_buff *skb ) 
15442{ int __cil_tmp3 ;
15443  struct sk_buff_head *__cil_tmp4 ;
15444  int __cil_tmp5 ;
15445  struct sk_buff_head *__cil_tmp6 ;
15446  u_long *__cil_tmp7 ;
15447  unsigned long volatile   *__cil_tmp8 ;
15448  struct work_struct *__cil_tmp9 ;
15449
15450  {
15451  {
15452#line 239
15453  __cil_tmp3 = bch->rcount;
15454#line 239
15455  if (__cil_tmp3 > 63) {
15456    {
15457#line 240
15458    printk("<4>B-channel %p receive queue overflow, flushing!\n", bch);
15459#line 242
15460    __cil_tmp4 = & bch->rqueue;
15461#line 242
15462    skb_queue_purge(__cil_tmp4);
15463#line 243
15464    bch->rcount = 0;
15465    }
15466  } else {
15467
15468  }
15469  }
15470  {
15471#line 245
15472  __cil_tmp5 = bch->rcount;
15473#line 245
15474  bch->rcount = __cil_tmp5 + 1;
15475#line 246
15476  __cil_tmp6 = & bch->rqueue;
15477#line 246
15478  skb_queue_tail(__cil_tmp6, skb);
15479#line 247
15480  __cil_tmp7 = & bch->Flags;
15481#line 247
15482  __cil_tmp8 = (unsigned long volatile   *)__cil_tmp7;
15483#line 247
15484  test_and_set_bit(30, __cil_tmp8);
15485#line 247
15486  __cil_tmp9 = & bch->workq;
15487#line 247
15488  schedule_work(__cil_tmp9);
15489  }
15490#line 248
15491  return;
15492}
15493}
15494#line 252 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15495static void confirm_Dsend(struct dchannel *dch ) 
15496{ struct sk_buff *skb ;
15497  struct sk_buff *__cil_tmp3 ;
15498  char (*__cil_tmp4)[48U] ;
15499  struct mISDNhead *__cil_tmp5 ;
15500  unsigned int __cil_tmp6 ;
15501  void *__cil_tmp7 ;
15502  struct sk_buff *__cil_tmp8 ;
15503  unsigned long __cil_tmp9 ;
15504  unsigned long __cil_tmp10 ;
15505  struct sk_buff *__cil_tmp11 ;
15506  char (*__cil_tmp12)[48U] ;
15507  struct mISDNhead *__cil_tmp13 ;
15508  unsigned int __cil_tmp14 ;
15509  struct sk_buff_head *__cil_tmp15 ;
15510  u_long *__cil_tmp16 ;
15511  unsigned long volatile   *__cil_tmp17 ;
15512  struct work_struct *__cil_tmp18 ;
15513
15514  {
15515  {
15516#line 256
15517  __cil_tmp3 = dch->tx_skb;
15518#line 256
15519  __cil_tmp4 = & __cil_tmp3->cb;
15520#line 256
15521  __cil_tmp5 = (struct mISDNhead *)__cil_tmp4;
15522#line 256
15523  __cil_tmp6 = __cil_tmp5->id;
15524#line 256
15525  __cil_tmp7 = (void *)0;
15526#line 256
15527  skb = _alloc_mISDN_skb(24578U, __cil_tmp6, 0U, __cil_tmp7, 32U);
15528  }
15529  {
15530#line 258
15531  __cil_tmp8 = (struct sk_buff *)0;
15532#line 258
15533  __cil_tmp9 = (unsigned long )__cil_tmp8;
15534#line 258
15535  __cil_tmp10 = (unsigned long )skb;
15536#line 258
15537  if (__cil_tmp10 == __cil_tmp9) {
15538    {
15539#line 259
15540    __cil_tmp11 = dch->tx_skb;
15541#line 259
15542    __cil_tmp12 = & __cil_tmp11->cb;
15543#line 259
15544    __cil_tmp13 = (struct mISDNhead *)__cil_tmp12;
15545#line 259
15546    __cil_tmp14 = __cil_tmp13->id;
15547#line 259
15548    printk("<3>%s: no skb id %x\n", "confirm_Dsend", __cil_tmp14);
15549    }
15550#line 261
15551    return;
15552  } else {
15553
15554  }
15555  }
15556  {
15557#line 263
15558  __cil_tmp15 = & dch->rqueue;
15559#line 263
15560  skb_queue_tail(__cil_tmp15, skb);
15561#line 264
15562  __cil_tmp16 = & dch->Flags;
15563#line 264
15564  __cil_tmp17 = (unsigned long volatile   *)__cil_tmp16;
15565#line 264
15566  test_and_set_bit(30, __cil_tmp17);
15567#line 264
15568  __cil_tmp18 = & dch->workq;
15569#line 264
15570  schedule_work(__cil_tmp18);
15571  }
15572#line 265
15573  return;
15574}
15575}
15576#line 268 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15577int get_next_dframe(struct dchannel *dch ) 
15578{ struct sk_buff_head *__cil_tmp2 ;
15579  struct sk_buff *__cil_tmp3 ;
15580  unsigned long __cil_tmp4 ;
15581  struct sk_buff *__cil_tmp5 ;
15582  unsigned long __cil_tmp6 ;
15583  u_long *__cil_tmp7 ;
15584  unsigned long volatile   *__cil_tmp8 ;
15585
15586  {
15587  {
15588#line 270
15589  dch->tx_idx = 0;
15590#line 271
15591  __cil_tmp2 = & dch->squeue;
15592#line 271
15593  dch->tx_skb = skb_dequeue(__cil_tmp2);
15594  }
15595  {
15596#line 272
15597  __cil_tmp3 = (struct sk_buff *)0;
15598#line 272
15599  __cil_tmp4 = (unsigned long )__cil_tmp3;
15600#line 272
15601  __cil_tmp5 = dch->tx_skb;
15602#line 272
15603  __cil_tmp6 = (unsigned long )__cil_tmp5;
15604#line 272
15605  if (__cil_tmp6 != __cil_tmp4) {
15606    {
15607#line 273
15608    confirm_Dsend(dch);
15609    }
15610#line 274
15611    return (1);
15612  } else {
15613
15614  }
15615  }
15616  {
15617#line 276
15618  dch->tx_skb = (struct sk_buff *)0;
15619#line 277
15620  __cil_tmp7 = & dch->Flags;
15621#line 277
15622  __cil_tmp8 = (unsigned long volatile   *)__cil_tmp7;
15623#line 277
15624  test_and_clear_bit(0, __cil_tmp8);
15625  }
15626#line 278
15627  return (0);
15628}
15629}
15630#line 283 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15631void confirm_Bsend(struct bchannel *bch ) 
15632{ struct sk_buff *skb ;
15633  int __cil_tmp3 ;
15634  struct sk_buff_head *__cil_tmp4 ;
15635  struct sk_buff *__cil_tmp5 ;
15636  char (*__cil_tmp6)[48U] ;
15637  struct mISDNhead *__cil_tmp7 ;
15638  unsigned int __cil_tmp8 ;
15639  void *__cil_tmp9 ;
15640  struct sk_buff *__cil_tmp10 ;
15641  unsigned long __cil_tmp11 ;
15642  unsigned long __cil_tmp12 ;
15643  struct sk_buff *__cil_tmp13 ;
15644  char (*__cil_tmp14)[48U] ;
15645  struct mISDNhead *__cil_tmp15 ;
15646  unsigned int __cil_tmp16 ;
15647  int __cil_tmp17 ;
15648  struct sk_buff_head *__cil_tmp18 ;
15649  u_long *__cil_tmp19 ;
15650  unsigned long volatile   *__cil_tmp20 ;
15651  struct work_struct *__cil_tmp21 ;
15652
15653  {
15654  {
15655#line 287
15656  __cil_tmp3 = bch->rcount;
15657#line 287
15658  if (__cil_tmp3 > 63) {
15659    {
15660#line 288
15661    printk("<4>B-channel %p receive queue overflow, flushing!\n", bch);
15662#line 290
15663    __cil_tmp4 = & bch->rqueue;
15664#line 290
15665    skb_queue_purge(__cil_tmp4);
15666#line 291
15667    bch->rcount = 0;
15668    }
15669  } else {
15670
15671  }
15672  }
15673  {
15674#line 293
15675  __cil_tmp5 = bch->tx_skb;
15676#line 293
15677  __cil_tmp6 = & __cil_tmp5->cb;
15678#line 293
15679  __cil_tmp7 = (struct mISDNhead *)__cil_tmp6;
15680#line 293
15681  __cil_tmp8 = __cil_tmp7->id;
15682#line 293
15683  __cil_tmp9 = (void *)0;
15684#line 293
15685  skb = _alloc_mISDN_skb(24578U, __cil_tmp8, 0U, __cil_tmp9, 32U);
15686  }
15687  {
15688#line 295
15689  __cil_tmp10 = (struct sk_buff *)0;
15690#line 295
15691  __cil_tmp11 = (unsigned long )__cil_tmp10;
15692#line 295
15693  __cil_tmp12 = (unsigned long )skb;
15694#line 295
15695  if (__cil_tmp12 == __cil_tmp11) {
15696    {
15697#line 296
15698    __cil_tmp13 = bch->tx_skb;
15699#line 296
15700    __cil_tmp14 = & __cil_tmp13->cb;
15701#line 296
15702    __cil_tmp15 = (struct mISDNhead *)__cil_tmp14;
15703#line 296
15704    __cil_tmp16 = __cil_tmp15->id;
15705#line 296
15706    printk("<3>%s: no skb id %x\n", "confirm_Bsend", __cil_tmp16);
15707    }
15708#line 298
15709    return;
15710  } else {
15711
15712  }
15713  }
15714  {
15715#line 300
15716  __cil_tmp17 = bch->rcount;
15717#line 300
15718  bch->rcount = __cil_tmp17 + 1;
15719#line 301
15720  __cil_tmp18 = & bch->rqueue;
15721#line 301
15722  skb_queue_tail(__cil_tmp18, skb);
15723#line 302
15724  __cil_tmp19 = & bch->Flags;
15725#line 302
15726  __cil_tmp20 = (unsigned long volatile   *)__cil_tmp19;
15727#line 302
15728  test_and_set_bit(30, __cil_tmp20);
15729#line 302
15730  __cil_tmp21 = & bch->workq;
15731#line 302
15732  schedule_work(__cil_tmp21);
15733  }
15734#line 303
15735  return;
15736}
15737}
15738#line 307 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15739int get_next_bframe(struct bchannel *bch ) 
15740{ int tmp ;
15741  int tmp___0 ;
15742  u_long *__cil_tmp4 ;
15743  unsigned long const volatile   *__cil_tmp5 ;
15744  struct sk_buff *__cil_tmp6 ;
15745  unsigned long __cil_tmp7 ;
15746  struct sk_buff *__cil_tmp8 ;
15747  unsigned long __cil_tmp9 ;
15748  u_long *__cil_tmp10 ;
15749  unsigned long volatile   *__cil_tmp11 ;
15750  u_long *__cil_tmp12 ;
15751  unsigned long const volatile   *__cil_tmp13 ;
15752  u_long *__cil_tmp14 ;
15753  unsigned long volatile   *__cil_tmp15 ;
15754  u_long *__cil_tmp16 ;
15755  unsigned long volatile   *__cil_tmp17 ;
15756
15757  {
15758  {
15759#line 309
15760  bch->tx_idx = 0;
15761#line 310
15762  __cil_tmp4 = & bch->Flags;
15763#line 310
15764  __cil_tmp5 = (unsigned long const volatile   *)__cil_tmp4;
15765#line 310
15766  tmp___0 = constant_test_bit(1U, __cil_tmp5);
15767  }
15768#line 310
15769  if (tmp___0 != 0) {
15770#line 311
15771    bch->tx_skb = bch->next_skb;
15772    {
15773#line 312
15774    __cil_tmp6 = (struct sk_buff *)0;
15775#line 312
15776    __cil_tmp7 = (unsigned long )__cil_tmp6;
15777#line 312
15778    __cil_tmp8 = bch->tx_skb;
15779#line 312
15780    __cil_tmp9 = (unsigned long )__cil_tmp8;
15781#line 312
15782    if (__cil_tmp9 != __cil_tmp7) {
15783      {
15784#line 313
15785      bch->next_skb = (struct sk_buff *)0;
15786#line 314
15787      __cil_tmp10 = & bch->Flags;
15788#line 314
15789      __cil_tmp11 = (unsigned long volatile   *)__cil_tmp10;
15790#line 314
15791      test_and_clear_bit(1, __cil_tmp11);
15792#line 315
15793      __cil_tmp12 = & bch->Flags;
15794#line 315
15795      __cil_tmp13 = (unsigned long const volatile   *)__cil_tmp12;
15796#line 315
15797      tmp = constant_test_bit(12U, __cil_tmp13);
15798      }
15799#line 315
15800      if (tmp == 0) {
15801        {
15802#line 316
15803        confirm_Bsend(bch);
15804        }
15805      } else {
15806
15807      }
15808#line 317
15809      return (1);
15810    } else {
15811      {
15812#line 319
15813      __cil_tmp14 = & bch->Flags;
15814#line 319
15815      __cil_tmp15 = (unsigned long volatile   *)__cil_tmp14;
15816#line 319
15817      test_and_clear_bit(1, __cil_tmp15);
15818#line 320
15819      printk("<4>B TX_NEXT without skb\n");
15820      }
15821    }
15822    }
15823  } else {
15824
15825  }
15826  {
15827#line 323
15828  bch->tx_skb = (struct sk_buff *)0;
15829#line 324
15830  __cil_tmp16 = & bch->Flags;
15831#line 324
15832  __cil_tmp17 = (unsigned long volatile   *)__cil_tmp16;
15833#line 324
15834  test_and_clear_bit(0, __cil_tmp17);
15835  }
15836#line 325
15837  return (0);
15838}
15839}
15840#line 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15841void queue_ch_frame(struct mISDNchannel *ch , u_int pr , int id , struct sk_buff *skb ) 
15842{ struct mISDNhead *hh ;
15843  int tmp ;
15844  struct sk_buff *__cil_tmp7 ;
15845  unsigned long __cil_tmp8 ;
15846  unsigned long __cil_tmp9 ;
15847  u_int __cil_tmp10 ;
15848  void *__cil_tmp11 ;
15849  struct mISDNchannel *__cil_tmp12 ;
15850  unsigned long __cil_tmp13 ;
15851  struct mISDNchannel *__cil_tmp14 ;
15852  unsigned long __cil_tmp15 ;
15853  char (*__cil_tmp16)[48U] ;
15854  send_func_t *__cil_tmp17 ;
15855  struct mISDNchannel *__cil_tmp18 ;
15856
15857  {
15858  {
15859#line 334
15860  __cil_tmp7 = (struct sk_buff *)0;
15861#line 334
15862  __cil_tmp8 = (unsigned long )__cil_tmp7;
15863#line 334
15864  __cil_tmp9 = (unsigned long )skb;
15865#line 334
15866  if (__cil_tmp9 == __cil_tmp8) {
15867    {
15868#line 335
15869    __cil_tmp10 = (u_int )id;
15870#line 335
15871    __cil_tmp11 = (void *)0;
15872#line 335
15873    _queue_data(ch, pr, __cil_tmp10, 0U, __cil_tmp11, 32U);
15874    }
15875  } else {
15876    {
15877#line 337
15878    __cil_tmp12 = (struct mISDNchannel *)0;
15879#line 337
15880    __cil_tmp13 = (unsigned long )__cil_tmp12;
15881#line 337
15882    __cil_tmp14 = ch->peer;
15883#line 337
15884    __cil_tmp15 = (unsigned long )__cil_tmp14;
15885#line 337
15886    if (__cil_tmp15 != __cil_tmp13) {
15887      {
15888#line 338
15889      __cil_tmp16 = & skb->cb;
15890#line 338
15891      hh = (struct mISDNhead *)__cil_tmp16;
15892#line 339
15893      hh->prim = pr;
15894#line 340
15895      hh->id = (unsigned int )id;
15896#line 341
15897      __cil_tmp17 = ch->recv;
15898#line 341
15899      __cil_tmp18 = ch->peer;
15900#line 341
15901      tmp = (*__cil_tmp17)(__cil_tmp18, skb);
15902      }
15903#line 341
15904      if (tmp == 0) {
15905#line 342
15906        return;
15907      } else {
15908
15909      }
15910    } else {
15911
15912    }
15913    }
15914    {
15915#line 344
15916    consume_skb(skb);
15917    }
15918  }
15919  }
15920#line 346
15921  return;
15922}
15923}
15924#line 350 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
15925int dchannel_senddata(struct dchannel *ch , struct sk_buff *skb ) 
15926{ int tmp ;
15927  unsigned int __cil_tmp4 ;
15928  int __cil_tmp5 ;
15929  unsigned int __cil_tmp6 ;
15930  unsigned int __cil_tmp7 ;
15931  unsigned int __cil_tmp8 ;
15932  int __cil_tmp9 ;
15933  u_long *__cil_tmp10 ;
15934  unsigned long volatile   *__cil_tmp11 ;
15935  struct sk_buff_head *__cil_tmp12 ;
15936
15937  {
15938  {
15939#line 353
15940  __cil_tmp4 = skb->len;
15941#line 353
15942  if (__cil_tmp4 == 0U) {
15943    {
15944#line 354
15945    printk("<4>%s: skb too small\n", "dchannel_senddata");
15946    }
15947#line 355
15948    return (-22);
15949  } else {
15950
15951  }
15952  }
15953  {
15954#line 357
15955  __cil_tmp5 = ch->maxlen;
15956#line 357
15957  __cil_tmp6 = (unsigned int )__cil_tmp5;
15958#line 357
15959  __cil_tmp7 = skb->len;
15960#line 357
15961  if (__cil_tmp7 > __cil_tmp6) {
15962    {
15963#line 358
15964    __cil_tmp8 = skb->len;
15965#line 358
15966    __cil_tmp9 = ch->maxlen;
15967#line 358
15968    printk("<4>%s: skb too large(%d/%d)\n", "dchannel_senddata", __cil_tmp8, __cil_tmp9);
15969    }
15970#line 360
15971    return (-22);
15972  } else {
15973
15974  }
15975  }
15976  {
15977#line 363
15978  __cil_tmp10 = & ch->Flags;
15979#line 363
15980  __cil_tmp11 = (unsigned long volatile   *)__cil_tmp10;
15981#line 363
15982  tmp = test_and_set_bit(0, __cil_tmp11);
15983  }
15984#line 363
15985  if (tmp != 0) {
15986    {
15987#line 364
15988    __cil_tmp12 = & ch->squeue;
15989#line 364
15990    skb_queue_tail(__cil_tmp12, skb);
15991    }
15992#line 365
15993    return (0);
15994  } else {
15995#line 368
15996    ch->tx_skb = skb;
15997#line 369
15998    ch->tx_idx = 0;
15999#line 370
16000    return (1);
16001  }
16002}
16003}
16004#line 376 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/hwchannel.c.p"
16005int bchannel_senddata(struct bchannel *ch , struct sk_buff *skb ) 
16006{ int tmp ;
16007  unsigned int __cil_tmp4 ;
16008  int __cil_tmp5 ;
16009  unsigned int __cil_tmp6 ;
16010  unsigned int __cil_tmp7 ;
16011  unsigned int __cil_tmp8 ;
16012  int __cil_tmp9 ;
16013  struct sk_buff *__cil_tmp10 ;
16014  unsigned long __cil_tmp11 ;
16015  struct sk_buff *__cil_tmp12 ;
16016  unsigned long __cil_tmp13 ;
16017  unsigned int __cil_tmp14 ;
16018  struct sk_buff *__cil_tmp15 ;
16019  unsigned int __cil_tmp16 ;
16020  u_long *__cil_tmp17 ;
16021  unsigned long volatile   *__cil_tmp18 ;
16022  u_long *__cil_tmp19 ;
16023  unsigned long volatile   *__cil_tmp20 ;
16024
16025  {
16026  {
16027#line 380
16028  __cil_tmp4 = skb->len;
16029#line 380
16030  if (__cil_tmp4 == 0U) {
16031    {
16032#line 381
16033    printk("<4>%s: skb too small\n", "bchannel_senddata");
16034    }
16035#line 382
16036    return (-22);
16037  } else {
16038
16039  }
16040  }
16041  {
16042#line 384
16043  __cil_tmp5 = ch->maxlen;
16044#line 384
16045  __cil_tmp6 = (unsigned int )__cil_tmp5;
16046#line 384
16047  __cil_tmp7 = skb->len;
16048#line 384
16049  if (__cil_tmp7 > __cil_tmp6) {
16050    {
16051#line 385
16052    __cil_tmp8 = skb->len;
16053#line 385
16054    __cil_tmp9 = ch->maxlen;
16055#line 385
16056    printk("<4>%s: skb too large(%d/%d)\n", "bchannel_senddata", __cil_tmp8, __cil_tmp9);
16057    }
16058#line 387
16059    return (-22);
16060  } else {
16061
16062  }
16063  }
16064  {
16065#line 391
16066  __cil_tmp10 = (struct sk_buff *)0;
16067#line 391
16068  __cil_tmp11 = (unsigned long )__cil_tmp10;
16069#line 391
16070  __cil_tmp12 = ch->next_skb;
16071#line 391
16072  __cil_tmp13 = (unsigned long )__cil_tmp12;
16073#line 391
16074  if (__cil_tmp13 != __cil_tmp11) {
16075    {
16076#line 392
16077    __cil_tmp14 = skb->len;
16078#line 392
16079    __cil_tmp15 = ch->next_skb;
16080#line 392
16081    __cil_tmp16 = __cil_tmp15->len;
16082#line 392
16083    printk("<4>%s: next_skb exist ERROR (skb->len=%d next_skb->len=%d)\n", "bchannel_senddata",
16084           __cil_tmp14, __cil_tmp16);
16085    }
16086#line 395
16087    return (-16);
16088  } else {
16089
16090  }
16091  }
16092  {
16093#line 397
16094  __cil_tmp17 = & ch->Flags;
16095#line 397
16096  __cil_tmp18 = (unsigned long volatile   *)__cil_tmp17;
16097#line 397
16098  tmp = test_and_set_bit(0, __cil_tmp18);
16099  }
16100#line 397
16101  if (tmp != 0) {
16102    {
16103#line 398
16104    __cil_tmp19 = & ch->Flags;
16105#line 398
16106    __cil_tmp20 = (unsigned long volatile   *)__cil_tmp19;
16107#line 398
16108    test_and_set_bit(1, __cil_tmp20);
16109#line 399
16110    ch->next_skb = skb;
16111    }
16112#line 400
16113    return (0);
16114  } else {
16115#line 403
16116    ch->tx_skb = skb;
16117#line 404
16118    ch->tx_idx = 0;
16119#line 405
16120    return (1);
16121  }
16122}
16123}
16124#line 176 "include/linux/list.h"
16125__inline static int list_is_last(struct list_head  const  *list , struct list_head  const  *head ) 
16126{ unsigned long __cil_tmp3 ;
16127  struct list_head *__cil_tmp4 ;
16128  struct list_head  const  *__cil_tmp5 ;
16129  unsigned long __cil_tmp6 ;
16130
16131  {
16132  {
16133#line 179
16134  __cil_tmp3 = (unsigned long )head;
16135#line 179
16136  __cil_tmp4 = list->next;
16137#line 179
16138  __cil_tmp5 = (struct list_head  const  *)__cil_tmp4;
16139#line 179
16140  __cil_tmp6 = (unsigned long )__cil_tmp5;
16141#line 179
16142  return (__cil_tmp6 == __cil_tmp3);
16143  }
16144}
16145}
16146#line 186 "include/linux/list.h"
16147__inline static int list_empty(struct list_head  const  *head ) 
16148{ unsigned long __cil_tmp2 ;
16149  struct list_head *__cil_tmp3 ;
16150  struct list_head  const  *__cil_tmp4 ;
16151  unsigned long __cil_tmp5 ;
16152
16153  {
16154  {
16155#line 188
16156  __cil_tmp2 = (unsigned long )head;
16157#line 188
16158  __cil_tmp3 = head->next;
16159#line 188
16160  __cil_tmp4 = (struct list_head  const  *)__cil_tmp3;
16161#line 188
16162  __cil_tmp5 = (unsigned long )__cil_tmp4;
16163#line 188
16164  return (__cil_tmp5 == __cil_tmp2);
16165  }
16166}
16167}
16168#line 581 "include/linux/list.h"
16169__inline static int hlist_empty(struct hlist_head  const  *h ) 
16170{ struct hlist_node *__cil_tmp2 ;
16171  unsigned long __cil_tmp3 ;
16172  struct hlist_node *__cil_tmp4 ;
16173  unsigned long __cil_tmp5 ;
16174
16175  {
16176  {
16177#line 583
16178  __cil_tmp2 = (struct hlist_node * const  )0;
16179#line 583
16180  __cil_tmp3 = (unsigned long )__cil_tmp2;
16181#line 583
16182  __cil_tmp4 = h->first;
16183#line 583
16184  __cil_tmp5 = (unsigned long )__cil_tmp4;
16185#line 583
16186  return (__cil_tmp5 == __cil_tmp3);
16187  }
16188}
16189}
16190#line 315 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/bitops.h"
16191__inline static int variable_test_bit(int nr , unsigned long const volatile   *addr ) 
16192{ int oldbit ;
16193  unsigned long *__cil_tmp4 ;
16194
16195  {
16196#line 319
16197  __cil_tmp4 = (unsigned long *)addr;
16198#line 319
16199  __asm__  volatile   ("bt %2,%1\n\tsbb %0,%0": "=r" (oldbit): "m" (*__cil_tmp4),
16200                       "Ir" (nr));
16201#line 324
16202  return (oldbit);
16203}
16204}
16205#line 88 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/percpu.h"
16206extern void __bad_percpu_size(void) ;
16207#line 10 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
16208extern struct task_struct *current_task ;
16209#line 12 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/arch/x86/include/asm/current.h"
16210__inline static struct task_struct *get_current(void) 
16211{ struct task_struct *pfo_ret__ ;
16212
16213  {
16214#line 14
16215  if (1) {
16216#line 14
16217    goto case_8;
16218  } else {
16219#line 14
16220    goto switch_default;
16221#line 14
16222    if (0) {
16223#line 14
16224      __asm__  ("movb %%gs:%P1,%0": "=q" (pfo_ret__): "p" (& current_task));
16225#line 14
16226      goto ldv_2386;
16227#line 14
16228      __asm__  ("movw %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
16229#line 14
16230      goto ldv_2386;
16231#line 14
16232      __asm__  ("movl %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
16233#line 14
16234      goto ldv_2386;
16235      case_8: 
16236#line 14
16237      __asm__  ("movq %%gs:%P1,%0": "=r" (pfo_ret__): "p" (& current_task));
16238#line 14
16239      goto ldv_2386;
16240      switch_default: 
16241      {
16242#line 14
16243      __bad_percpu_size();
16244      }
16245    } else {
16246
16247    }
16248  }
16249  ldv_2386: ;
16250#line 14
16251  return (pfo_ret__);
16252}
16253}
16254#line 27 "include/linux/err.h"
16255__inline static long PTR_ERR(void const   *ptr ) 
16256{ 
16257
16258  {
16259#line 29
16260  return ((long )ptr);
16261}
16262}
16263#line 32 "include/linux/err.h"
16264__inline static long IS_ERR(void const   *ptr ) 
16265{ long tmp ;
16266  unsigned long __cil_tmp3 ;
16267  int __cil_tmp4 ;
16268  long __cil_tmp5 ;
16269
16270  {
16271  {
16272#line 34
16273  __cil_tmp3 = (unsigned long )ptr;
16274#line 34
16275  __cil_tmp4 = __cil_tmp3 > 1152921504606842880UL;
16276#line 34
16277  __cil_tmp5 = (long )__cil_tmp4;
16278#line 34
16279  tmp = __builtin_expect(__cil_tmp5, 0L);
16280  }
16281#line 34
16282  return (tmp);
16283}
16284}
16285#line 82 "include/linux/thread_info.h"
16286__inline static int test_ti_thread_flag(struct thread_info *ti , int flag ) 
16287{ int tmp ;
16288  __u32 *__cil_tmp4 ;
16289  unsigned long const volatile   *__cil_tmp5 ;
16290
16291  {
16292  {
16293#line 84
16294  __cil_tmp4 = & ti->flags;
16295#line 84
16296  __cil_tmp5 = (unsigned long const volatile   *)__cil_tmp4;
16297#line 84
16298  tmp = variable_test_bit(flag, __cil_tmp5);
16299  }
16300#line 84
16301  return (tmp);
16302}
16303}
16304#line 18 "include/linux/rwlock.h"
16305extern void __rwlock_init(rwlock_t * , char const   * , struct lock_class_key * ) ;
16306#line 80 "include/linux/wait.h"
16307extern void __init_waitqueue_head(wait_queue_head_t * , struct lock_class_key * ) ;
16308#line 156
16309extern void __wake_up(wait_queue_head_t * , unsigned int  , int  , void * ) ;
16310#line 584
16311extern void prepare_to_wait(wait_queue_head_t * , wait_queue_t * , int  ) ;
16312#line 586
16313extern void finish_wait(wait_queue_head_t * , wait_queue_t * ) ;
16314#line 589
16315extern int autoremove_wake_function(wait_queue_t * , unsigned int  , int  , void * ) ;
16316#line 115 "include/linux/mutex.h"
16317extern void __mutex_init(struct mutex * , char const   * , struct lock_class_key * ) ;
16318#line 134
16319extern void mutex_lock_nested(struct mutex * , unsigned int  ) ;
16320#line 169
16321extern void mutex_unlock(struct mutex * ) ;
16322#line 73 "include/linux/completion.h"
16323__inline static void init_completion(struct completion *x ) 
16324{ struct lock_class_key __key ;
16325  wait_queue_head_t *__cil_tmp3 ;
16326
16327  {
16328  {
16329#line 75
16330  x->done = 0U;
16331#line 76
16332  __cil_tmp3 = & x->wait;
16333#line 76
16334  __init_waitqueue_head(__cil_tmp3, & __key);
16335  }
16336#line 78
16337  return;
16338}
16339}
16340#line 79
16341extern void wait_for_completion(struct completion * ) ;
16342#line 91
16343extern void complete(struct completion * ) ;
16344#line 512 "include/linux/skbuff.h"
16345extern struct sk_buff *skb_copy(struct sk_buff  const  * , gfp_t  ) ;
16346#line 593 "include/linux/skbuff.h"
16347__inline static int skb_queue_empty(struct sk_buff_head  const  *list ) 
16348{ struct sk_buff *__cil_tmp2 ;
16349  unsigned long __cil_tmp3 ;
16350  struct sk_buff *__cil_tmp4 ;
16351  struct sk_buff *__cil_tmp5 ;
16352  unsigned long __cil_tmp6 ;
16353
16354  {
16355  {
16356#line 595
16357  __cil_tmp2 = (struct sk_buff *)list;
16358#line 595
16359  __cil_tmp3 = (unsigned long )__cil_tmp2;
16360#line 595
16361  __cil_tmp4 = list->next;
16362#line 595
16363  __cil_tmp5 = (struct sk_buff *)__cil_tmp4;
16364#line 595
16365  __cil_tmp6 = (unsigned long )__cil_tmp5;
16366#line 595
16367  return (__cil_tmp6 == __cil_tmp3);
16368  }
16369}
16370}
16371#line 170 "include/linux/signal.h"
16372__inline static void sigfillset(sigset_t *set ) 
16373{ void *__cil_tmp2 ;
16374
16375  {
16376#line 177
16377  if (1) {
16378#line 177
16379    goto case_1;
16380  } else {
16381#line 173
16382    goto switch_default;
16383#line 172
16384    if (0) {
16385      switch_default: 
16386      {
16387#line 174
16388      __cil_tmp2 = (void *)set;
16389#line 174
16390      memset(__cil_tmp2, -1, 8UL);
16391      }
16392#line 175
16393      goto ldv_24894;
16394#line 176
16395      set->sig[1] = 1152921504606846975UL;
16396      case_1: 
16397#line 177
16398      set->sig[0] = 1152921504606846975UL;
16399#line 178
16400      goto ldv_24894;
16401    } else {
16402
16403    }
16404  }
16405  ldv_24894: ;
16406#line 181
16407  return;
16408}
16409}
16410#line 361 "include/linux/sched.h"
16411extern void schedule(void) ;
16412#line 2112
16413extern int wake_up_process(struct task_struct * ) ;
16414#line 2441 "include/linux/sched.h"
16415__inline static int test_tsk_thread_flag(struct task_struct *tsk , int flag ) 
16416{ int tmp ;
16417  void *__cil_tmp4 ;
16418  struct thread_info *__cil_tmp5 ;
16419
16420  {
16421  {
16422#line 2443
16423  __cil_tmp4 = tsk->stack;
16424#line 2443
16425  __cil_tmp5 = (struct thread_info *)__cil_tmp4;
16426#line 2443
16427  tmp = test_ti_thread_flag(__cil_tmp5, flag);
16428  }
16429#line 2443
16430  return (tmp);
16431}
16432}
16433#line 2467 "include/linux/sched.h"
16434__inline static int signal_pending(struct task_struct *p ) 
16435{ int tmp ;
16436  long tmp___0 ;
16437  int __cil_tmp4 ;
16438  long __cil_tmp5 ;
16439
16440  {
16441  {
16442#line 2469
16443  tmp = test_tsk_thread_flag(p, 2);
16444#line 2469
16445  __cil_tmp4 = tmp != 0;
16446#line 2469
16447  __cil_tmp5 = (long )__cil_tmp4;
16448#line 2469
16449  tmp___0 = __builtin_expect(__cil_tmp5, 0L);
16450  }
16451#line 2469
16452  return ((int )tmp___0);
16453}
16454}
16455#line 585 "include/linux/mISDNif.h"
16456void set_channel_address(struct mISDNchannel *ch , u_int sapi , u_int tei ) ;
16457#line 7 "include/linux/kthread.h"
16458extern struct task_struct *kthread_create_on_node(int (*)(void * ) , void * , int  ,
16459                                                  char const   *  , ...) ;
16460#line 55 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/core.h"
16461int create_teimanager(struct mISDNdevice *dev ) ;
16462#line 56
16463void delete_teimanager(struct mISDNchannel *ch ) ;
16464#line 62
16465void add_layer2(struct mISDNchannel *ch , struct mISDNstack *st ) ;
16466#line 63
16467void __add_layer2(struct mISDNchannel *ch , struct mISDNstack *st ) ;
16468#line 30 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
16469static u_int *debug___2  ;
16470#line 33 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
16471__inline static void _queue_message(struct mISDNstack *st , struct sk_buff *skb ) 
16472{ struct mISDNhead *hh ;
16473  int tmp ;
16474  long tmp___0 ;
16475  char (*__cil_tmp6)[48U] ;
16476  u_int __cil_tmp7 ;
16477  unsigned int __cil_tmp8 ;
16478  unsigned int __cil_tmp9 ;
16479  unsigned int __cil_tmp10 ;
16480  struct sk_buff_head *__cil_tmp11 ;
16481  u_long *__cil_tmp12 ;
16482  unsigned long const volatile   *__cil_tmp13 ;
16483  int __cil_tmp14 ;
16484  long __cil_tmp15 ;
16485  u_long *__cil_tmp16 ;
16486  unsigned long volatile   *__cil_tmp17 ;
16487  wait_queue_head_t *__cil_tmp18 ;
16488  void *__cil_tmp19 ;
16489
16490  {
16491#line 35
16492  __cil_tmp6 = & skb->cb;
16493#line 35
16494  hh = (struct mISDNhead *)__cil_tmp6;
16495  {
16496#line 37
16497  __cil_tmp7 = *debug___2;
16498#line 37
16499  __cil_tmp8 = __cil_tmp7 & 64U;
16500#line 37
16501  if (__cil_tmp8 != 0U) {
16502    {
16503#line 38
16504    __cil_tmp9 = hh->prim;
16505#line 38
16506    __cil_tmp10 = hh->id;
16507#line 38
16508    printk("<7>%s prim(%x) id(%x) %p\n", "_queue_message", __cil_tmp9, __cil_tmp10,
16509           skb);
16510    }
16511  } else {
16512
16513  }
16514  }
16515  {
16516#line 40
16517  __cil_tmp11 = & st->msgq;
16518#line 40
16519  skb_queue_tail(__cil_tmp11, skb);
16520#line 41
16521  __cil_tmp12 = & st->status;
16522#line 41
16523  __cil_tmp13 = (unsigned long const volatile   *)__cil_tmp12;
16524#line 41
16525  tmp = constant_test_bit(16U, __cil_tmp13);
16526#line 41
16527  __cil_tmp14 = tmp == 0;
16528#line 41
16529  __cil_tmp15 = (long )__cil_tmp14;
16530#line 41
16531  tmp___0 = __builtin_expect(__cil_tmp15, 1L);
16532  }
16533#line 41
16534  if (tmp___0 != 0L) {
16535    {
16536#line 42
16537    __cil_tmp16 = & st->status;
16538#line 42
16539    __cil_tmp17 = (unsigned long volatile   *)__cil_tmp16;
16540#line 42
16541    test_and_set_bit(0, __cil_tmp17);
16542#line 43
16543    __cil_tmp18 = & st->workq;
16544#line 43
16545    __cil_tmp19 = (void *)0;
16546#line 43
16547    __wake_up(__cil_tmp18, 1U, 1, __cil_tmp19);
16548    }
16549  } else {
16550
16551  }
16552#line 45
16553  return;
16554}
16555}
16556#line 48 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
16557static int mISDN_queue_message(struct mISDNchannel *ch , struct sk_buff *skb ) 
16558{ struct mISDNstack *__cil_tmp3 ;
16559
16560  {
16561  {
16562#line 50
16563  __cil_tmp3 = ch->st;
16564#line 50
16565  _queue_message(__cil_tmp3, skb);
16566  }
16567#line 51
16568  return (0);
16569}
16570}
16571#line 55 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
16572static struct mISDNchannel *get_channel4id(struct mISDNstack *st , u_int id ) 
16573{ struct mISDNchannel *ch ;
16574  struct list_head  const  *__mptr ;
16575  struct list_head  const  *__mptr___0 ;
16576  struct mutex *__cil_tmp6 ;
16577  struct list_head *__cil_tmp7 ;
16578  u_int __cil_tmp8 ;
16579  struct list_head *__cil_tmp9 ;
16580  struct list_head *__cil_tmp10 ;
16581  unsigned long __cil_tmp11 ;
16582  struct list_head *__cil_tmp12 ;
16583  unsigned long __cil_tmp13 ;
16584  struct mutex *__cil_tmp14 ;
16585
16586  {
16587  {
16588#line 59
16589  __cil_tmp6 = & st->lmutex;
16590#line 59
16591  mutex_lock_nested(__cil_tmp6, 0U);
16592#line 60
16593  __cil_tmp7 = st->layer2.next;
16594#line 60
16595  __mptr = (struct list_head  const  *)__cil_tmp7;
16596#line 60
16597  ch = (struct mISDNchannel *)__mptr;
16598  }
16599#line 60
16600  goto ldv_38432;
16601  ldv_38431: ;
16602  {
16603#line 61
16604  __cil_tmp8 = ch->nr;
16605#line 61
16606  if (__cil_tmp8 == id) {
16607#line 62
16608    goto unlock;
16609  } else {
16610
16611  }
16612  }
16613#line 60
16614  __cil_tmp9 = ch->list.next;
16615#line 60
16616  __mptr___0 = (struct list_head  const  *)__cil_tmp9;
16617#line 60
16618  ch = (struct mISDNchannel *)__mptr___0;
16619  ldv_38432: ;
16620  {
16621#line 60
16622  __cil_tmp10 = & st->layer2;
16623#line 60
16624  __cil_tmp11 = (unsigned long )__cil_tmp10;
16625#line 60
16626  __cil_tmp12 = & ch->list;
16627#line 60
16628  __cil_tmp13 = (unsigned long )__cil_tmp12;
16629#line 60
16630  if (__cil_tmp13 != __cil_tmp11) {
16631#line 61
16632    goto ldv_38431;
16633  } else {
16634#line 63
16635    goto ldv_38433;
16636  }
16637  }
16638  ldv_38433: 
16639#line 64
16640  ch = (struct mISDNchannel *)0;
16641  unlock: 
16642  {
16643#line 66
16644  __cil_tmp14 = & st->lmutex;
16645#line 66
16646  mutex_unlock(__cil_tmp14);
16647  }
16648#line 67
16649  return (ch);
16650}
16651}
16652#line 71 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
16653static void send_socklist(struct mISDN_sock_list *sl , struct sk_buff *skb ) 
16654{ struct hlist_node *node ;
16655  struct sock *sk ;
16656  struct sk_buff *cskb ;
16657  int tmp ;
16658  struct hlist_node  const  *__mptr ;
16659  rwlock_t *__cil_tmp8 ;
16660  unsigned char volatile   __cil_tmp9 ;
16661  unsigned char __cil_tmp10 ;
16662  unsigned int __cil_tmp11 ;
16663  struct sk_buff *__cil_tmp12 ;
16664  unsigned long __cil_tmp13 ;
16665  unsigned long __cil_tmp14 ;
16666  struct sk_buff  const  *__cil_tmp15 ;
16667  struct sk_buff *__cil_tmp16 ;
16668  unsigned long __cil_tmp17 ;
16669  unsigned long __cil_tmp18 ;
16670  struct hlist_node *__cil_tmp19 ;
16671  unsigned long __cil_tmp20 ;
16672  unsigned long __cil_tmp21 ;
16673  struct sock *__cil_tmp22 ;
16674  rwlock_t *__cil_tmp23 ;
16675  struct sk_buff *__cil_tmp24 ;
16676  unsigned long __cil_tmp25 ;
16677  unsigned long __cil_tmp26 ;
16678
16679  {
16680  {
16681#line 75
16682  cskb = (struct sk_buff *)0;
16683#line 77
16684  __cil_tmp8 = & sl->lock;
16685#line 77
16686  _raw_read_lock(__cil_tmp8);
16687#line 78
16688  node = sl->head.first;
16689  }
16690#line 78
16691  goto ldv_38448;
16692  ldv_38447: ;
16693  {
16694#line 79
16695  __cil_tmp9 = sk->__sk_common.skc_state;
16696#line 79
16697  __cil_tmp10 = (unsigned char )__cil_tmp9;
16698#line 79
16699  __cil_tmp11 = (unsigned int )__cil_tmp10;
16700#line 79
16701  if (__cil_tmp11 != 2U) {
16702#line 80
16703    goto ldv_38444;
16704  } else {
16705
16706  }
16707  }
16708  {
16709#line 81
16710  __cil_tmp12 = (struct sk_buff *)0;
16711#line 81
16712  __cil_tmp13 = (unsigned long )__cil_tmp12;
16713#line 81
16714  __cil_tmp14 = (unsigned long )cskb;
16715#line 81
16716  if (__cil_tmp14 == __cil_tmp13) {
16717    {
16718#line 82
16719    __cil_tmp15 = (struct sk_buff  const  *)skb;
16720#line 82
16721    cskb = skb_copy(__cil_tmp15, 208U);
16722    }
16723  } else {
16724
16725  }
16726  }
16727  {
16728#line 83
16729  __cil_tmp16 = (struct sk_buff *)0;
16730#line 83
16731  __cil_tmp17 = (unsigned long )__cil_tmp16;
16732#line 83
16733  __cil_tmp18 = (unsigned long )cskb;
16734#line 83
16735  if (__cil_tmp18 == __cil_tmp17) {
16736    {
16737#line 84
16738    printk("<4>%s no skb\n", "send_socklist");
16739    }
16740#line 85
16741    goto ldv_38446;
16742  } else {
16743
16744  }
16745  }
16746  {
16747#line 87
16748  tmp = sock_queue_rcv_skb(sk, cskb);
16749  }
16750#line 87
16751  if (tmp == 0) {
16752#line 88
16753    cskb = (struct sk_buff *)0;
16754  } else {
16755
16756  }
16757  ldv_38444: 
16758#line 78
16759  node = node->next;
16760  ldv_38448: ;
16761  {
16762#line 78
16763  __cil_tmp19 = (struct hlist_node *)0;
16764#line 78
16765  __cil_tmp20 = (unsigned long )__cil_tmp19;
16766#line 78
16767  __cil_tmp21 = (unsigned long )node;
16768#line 78
16769  if (__cil_tmp21 != __cil_tmp20) {
16770#line 78
16771    __mptr = (struct hlist_node  const  *)node;
16772#line 78
16773    __cil_tmp22 = (struct sock *)__mptr;
16774#line 78
16775    sk = __cil_tmp22 + 1152921504606846920UL;
16776#line 79
16777    goto ldv_38447;
16778  } else {
16779#line 81
16780    goto ldv_38446;
16781  }
16782  }
16783  ldv_38446: 
16784  {
16785#line 90
16786  __cil_tmp23 = & sl->lock;
16787#line 90
16788  _raw_read_unlock(__cil_tmp23);
16789  }
16790  {
16791#line 91
16792  __cil_tmp24 = (struct sk_buff *)0;
16793#line 91
16794  __cil_tmp25 = (unsigned long )__cil_tmp24;
16795#line 91
16796  __cil_tmp26 = (unsigned long )cskb;
16797#line 91
16798  if (__cil_tmp26 != __cil_tmp25) {
16799    {
16800#line 92
16801    consume_skb(cskb);
16802    }
16803  } else {
16804
16805  }
16806  }
16807#line 93
16808  return;
16809}
16810}
16811#line 96 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
16812static void send_layer2(struct mISDNstack *st , struct sk_buff *skb ) 
16813{ struct sk_buff *cskb ;
16814  struct mISDNhead *hh ;
16815  struct mISDNchannel *ch ;
16816  int ret ;
16817  struct list_head  const  *__mptr ;
16818  int tmp ;
16819  struct list_head  const  *__mptr___0 ;
16820  struct list_head  const  *__mptr___1 ;
16821  struct list_head  const  *__mptr___2 ;
16822  char (*__cil_tmp12)[48U] ;
16823  struct mISDNstack *__cil_tmp13 ;
16824  unsigned long __cil_tmp14 ;
16825  unsigned long __cil_tmp15 ;
16826  struct mutex *__cil_tmp16 ;
16827  unsigned int __cil_tmp17 ;
16828  unsigned int __cil_tmp18 ;
16829  struct list_head *__cil_tmp19 ;
16830  struct list_head *__cil_tmp20 ;
16831  struct list_head  const  *__cil_tmp21 ;
16832  struct list_head *__cil_tmp22 ;
16833  struct list_head  const  *__cil_tmp23 ;
16834  struct sk_buff  const  *__cil_tmp24 ;
16835  struct sk_buff *__cil_tmp25 ;
16836  unsigned long __cil_tmp26 ;
16837  unsigned long __cil_tmp27 ;
16838  send_func_t *__cil_tmp28 ;
16839  u_int __cil_tmp29 ;
16840  unsigned int __cil_tmp30 ;
16841  u_int __cil_tmp31 ;
16842  unsigned int __cil_tmp32 ;
16843  u_int __cil_tmp33 ;
16844  u_int __cil_tmp34 ;
16845  u_int __cil_tmp35 ;
16846  struct list_head *__cil_tmp36 ;
16847  struct list_head *__cil_tmp37 ;
16848  unsigned long __cil_tmp38 ;
16849  struct list_head *__cil_tmp39 ;
16850  unsigned long __cil_tmp40 ;
16851  struct list_head *__cil_tmp41 ;
16852  u_int __cil_tmp42 ;
16853  unsigned int __cil_tmp43 ;
16854  unsigned int __cil_tmp44 ;
16855  send_func_t *__cil_tmp45 ;
16856  struct list_head *__cil_tmp46 ;
16857  struct list_head *__cil_tmp47 ;
16858  unsigned long __cil_tmp48 ;
16859  struct list_head *__cil_tmp49 ;
16860  unsigned long __cil_tmp50 ;
16861  struct mISDNdevice *__cil_tmp51 ;
16862  struct mISDNchannel *__cil_tmp52 ;
16863  ctrl_func_t *__cil_tmp53 ;
16864  struct mISDNdevice *__cil_tmp54 ;
16865  struct mISDNchannel *__cil_tmp55 ;
16866  void *__cil_tmp56 ;
16867  u_int __cil_tmp57 ;
16868  unsigned int __cil_tmp58 ;
16869  u_int __cil_tmp59 ;
16870  unsigned int __cil_tmp60 ;
16871  u_int __cil_tmp61 ;
16872  struct mutex *__cil_tmp62 ;
16873  struct sk_buff *__cil_tmp63 ;
16874  unsigned long __cil_tmp64 ;
16875  unsigned long __cil_tmp65 ;
16876
16877  {
16878#line 99
16879  __cil_tmp12 = & skb->cb;
16880#line 99
16881  hh = (struct mISDNhead *)__cil_tmp12;
16882  {
16883#line 103
16884  __cil_tmp13 = (struct mISDNstack *)0;
16885#line 103
16886  __cil_tmp14 = (unsigned long )__cil_tmp13;
16887#line 103
16888  __cil_tmp15 = (unsigned long )st;
16889#line 103
16890  if (__cil_tmp15 == __cil_tmp14) {
16891#line 104
16892    return;
16893  } else {
16894
16895  }
16896  }
16897  {
16898#line 105
16899  __cil_tmp16 = & st->lmutex;
16900#line 105
16901  mutex_lock_nested(__cil_tmp16, 0U);
16902  }
16903  {
16904#line 106
16905  __cil_tmp17 = hh->id;
16906#line 106
16907  __cil_tmp18 = __cil_tmp17 & 65535U;
16908#line 106
16909  if (__cil_tmp18 == 65535U) {
16910#line 107
16911    __cil_tmp19 = st->layer2.next;
16912#line 107
16913    __mptr = (struct list_head  const  *)__cil_tmp19;
16914#line 107
16915    ch = (struct mISDNchannel *)__mptr;
16916#line 107
16917    goto ldv_38464;
16918    ldv_38463: 
16919    {
16920#line 108
16921    __cil_tmp20 = & ch->list;
16922#line 108
16923    __cil_tmp21 = (struct list_head  const  *)__cil_tmp20;
16924#line 108
16925    __cil_tmp22 = & st->layer2;
16926#line 108
16927    __cil_tmp23 = (struct list_head  const  *)__cil_tmp22;
16928#line 108
16929    tmp = list_is_last(__cil_tmp21, __cil_tmp23);
16930    }
16931#line 108
16932    if (tmp != 0) {
16933#line 109
16934      cskb = skb;
16935#line 110
16936      skb = (struct sk_buff *)0;
16937    } else {
16938      {
16939#line 112
16940      __cil_tmp24 = (struct sk_buff  const  *)skb;
16941#line 112
16942      cskb = skb_copy(__cil_tmp24, 208U);
16943      }
16944    }
16945    {
16946#line 114
16947    __cil_tmp25 = (struct sk_buff *)0;
16948#line 114
16949    __cil_tmp26 = (unsigned long )__cil_tmp25;
16950#line 114
16951    __cil_tmp27 = (unsigned long )cskb;
16952#line 114
16953    if (__cil_tmp27 != __cil_tmp26) {
16954      {
16955#line 115
16956      __cil_tmp28 = ch->send;
16957#line 115
16958      ret = (*__cil_tmp28)(ch, cskb);
16959      }
16960#line 116
16961      if (ret != 0) {
16962        {
16963#line 117
16964        __cil_tmp29 = *debug___2;
16965#line 117
16966        __cil_tmp30 = __cil_tmp29 & 16U;
16967#line 117
16968        if (__cil_tmp30 != 0U) {
16969          {
16970#line 118
16971          __cil_tmp31 = ch->nr;
16972#line 118
16973          __cil_tmp32 = hh->prim;
16974#line 118
16975          __cil_tmp33 = ch->addr;
16976#line 118
16977          printk("<7>%s ch%d prim(%x) addr(%x) err %d\n", "send_layer2", __cil_tmp31,
16978                 __cil_tmp32, __cil_tmp33, ret);
16979          }
16980        } else {
16981
16982        }
16983        }
16984        {
16985#line 123
16986        consume_skb(cskb);
16987        }
16988      } else {
16989
16990      }
16991    } else {
16992      {
16993#line 126
16994      __cil_tmp34 = ch->nr;
16995#line 126
16996      __cil_tmp35 = ch->addr;
16997#line 126
16998      printk("<4>%s ch%d addr %x no mem\n", "send_layer2", __cil_tmp34, __cil_tmp35);
16999      }
17000#line 128
17001      goto out;
17002    }
17003    }
17004#line 107
17005    __cil_tmp36 = ch->list.next;
17006#line 107
17007    __mptr___0 = (struct list_head  const  *)__cil_tmp36;
17008#line 107
17009    ch = (struct mISDNchannel *)__mptr___0;
17010    ldv_38464: ;
17011    {
17012#line 107
17013    __cil_tmp37 = & st->layer2;
17014#line 107
17015    __cil_tmp38 = (unsigned long )__cil_tmp37;
17016#line 107
17017    __cil_tmp39 = & ch->list;
17018#line 107
17019    __cil_tmp40 = (unsigned long )__cil_tmp39;
17020#line 107
17021    if (__cil_tmp40 != __cil_tmp38) {
17022#line 108
17023      goto ldv_38463;
17024    } else {
17025#line 110
17026      goto ldv_38465;
17027    }
17028    }
17029    ldv_38465: ;
17030  } else {
17031#line 132
17032    __cil_tmp41 = st->layer2.next;
17033#line 132
17034    __mptr___1 = (struct list_head  const  *)__cil_tmp41;
17035#line 132
17036    ch = (struct mISDNchannel *)__mptr___1;
17037#line 132
17038    goto ldv_38471;
17039    ldv_38470: ;
17040    {
17041#line 133
17042    __cil_tmp42 = ch->addr;
17043#line 133
17044    __cil_tmp43 = hh->id;
17045#line 133
17046    __cil_tmp44 = __cil_tmp43 & 65535U;
17047#line 133
17048    if (__cil_tmp44 == __cil_tmp42) {
17049      {
17050#line 134
17051      __cil_tmp45 = ch->send;
17052#line 134
17053      ret = (*__cil_tmp45)(ch, skb);
17054      }
17055#line 135
17056      if (ret == 0) {
17057#line 136
17058        skb = (struct sk_buff *)0;
17059      } else {
17060
17061      }
17062#line 137
17063      goto out;
17064    } else {
17065
17066    }
17067    }
17068#line 132
17069    __cil_tmp46 = ch->list.next;
17070#line 132
17071    __mptr___2 = (struct list_head  const  *)__cil_tmp46;
17072#line 132
17073    ch = (struct mISDNchannel *)__mptr___2;
17074    ldv_38471: ;
17075    {
17076#line 132
17077    __cil_tmp47 = & st->layer2;
17078#line 132
17079    __cil_tmp48 = (unsigned long )__cil_tmp47;
17080#line 132
17081    __cil_tmp49 = & ch->list;
17082#line 132
17083    __cil_tmp50 = (unsigned long )__cil_tmp49;
17084#line 132
17085    if (__cil_tmp50 != __cil_tmp48) {
17086#line 133
17087      goto ldv_38470;
17088    } else {
17089#line 135
17090      goto ldv_38472;
17091    }
17092    }
17093    ldv_38472: 
17094    {
17095#line 140
17096    __cil_tmp51 = st->dev;
17097#line 140
17098    __cil_tmp52 = __cil_tmp51->teimgr;
17099#line 140
17100    __cil_tmp53 = __cil_tmp52->ctrl;
17101#line 140
17102    __cil_tmp54 = st->dev;
17103#line 140
17104    __cil_tmp55 = __cil_tmp54->teimgr;
17105#line 140
17106    __cil_tmp56 = (void *)skb;
17107#line 140
17108    ret = (*__cil_tmp53)(__cil_tmp55, 1024U, __cil_tmp56);
17109    }
17110#line 141
17111    if (ret == 0) {
17112#line 142
17113      skb = (struct sk_buff *)0;
17114    } else {
17115      {
17116#line 143
17117      __cil_tmp57 = *debug___2;
17118#line 143
17119      __cil_tmp58 = __cil_tmp57 & 16U;
17120#line 143
17121      if (__cil_tmp58 != 0U) {
17122        {
17123#line 144
17124        __cil_tmp59 = ch->nr;
17125#line 144
17126        __cil_tmp60 = hh->prim;
17127#line 144
17128        __cil_tmp61 = ch->addr;
17129#line 144
17130        printk("<7>%s ch%d mgr prim(%x) addr(%x) err %d\n", "send_layer2", __cil_tmp59,
17131               __cil_tmp60, __cil_tmp61, ret);
17132        }
17133      } else {
17134
17135      }
17136      }
17137    }
17138  }
17139  }
17140  out: 
17141  {
17142#line 149
17143  __cil_tmp62 = & st->lmutex;
17144#line 149
17145  mutex_unlock(__cil_tmp62);
17146  }
17147  {
17148#line 150
17149  __cil_tmp63 = (struct sk_buff *)0;
17150#line 150
17151  __cil_tmp64 = (unsigned long )__cil_tmp63;
17152#line 150
17153  __cil_tmp65 = (unsigned long )skb;
17154#line 150
17155  if (__cil_tmp65 != __cil_tmp64) {
17156    {
17157#line 151
17158    consume_skb(skb);
17159    }
17160  } else {
17161
17162  }
17163  }
17164#line 152
17165  return;
17166}
17167}
17168#line 155 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
17169__inline static int send_msg_to_layer(struct mISDNstack *st , struct sk_buff *skb ) 
17170{ struct mISDNhead *hh ;
17171  struct mISDNchannel *ch ;
17172  int lm ;
17173  int tmp ;
17174  int tmp___0 ;
17175  int tmp___1 ;
17176  int tmp___2 ;
17177  char const   *tmp___3 ;
17178  int __ret_warn_on ;
17179  long tmp___4 ;
17180  int tmp___5 ;
17181  char const   *tmp___6 ;
17182  char const   *tmp___7 ;
17183  char (*__cil_tmp16)[48U] ;
17184  unsigned int __cil_tmp17 ;
17185  int __cil_tmp18 ;
17186  u_int __cil_tmp19 ;
17187  unsigned int __cil_tmp20 ;
17188  unsigned int __cil_tmp21 ;
17189  unsigned int __cil_tmp22 ;
17190  struct hlist_head *__cil_tmp23 ;
17191  struct hlist_head  const  *__cil_tmp24 ;
17192  struct mISDN_sock_list *__cil_tmp25 ;
17193  struct mISDNchannel *__cil_tmp26 ;
17194  send_func_t *__cil_tmp27 ;
17195  struct mISDNchannel *__cil_tmp28 ;
17196  struct hlist_head *__cil_tmp29 ;
17197  struct hlist_head  const  *__cil_tmp30 ;
17198  struct mISDN_sock_list *__cil_tmp31 ;
17199  unsigned int __cil_tmp32 ;
17200  struct mISDNchannel *__cil_tmp33 ;
17201  unsigned long __cil_tmp34 ;
17202  unsigned long __cil_tmp35 ;
17203  send_func_t *__cil_tmp36 ;
17204  struct mISDNdevice *__cil_tmp37 ;
17205  struct device *__cil_tmp38 ;
17206  struct device  const  *__cil_tmp39 ;
17207  unsigned int __cil_tmp40 ;
17208  unsigned int __cil_tmp41 ;
17209  int __cil_tmp42 ;
17210  long __cil_tmp43 ;
17211  int __cil_tmp44 ;
17212  int __cil_tmp45 ;
17213  int __cil_tmp46 ;
17214  long __cil_tmp47 ;
17215  unsigned int __cil_tmp48 ;
17216  struct mISDNchannel *__cil_tmp49 ;
17217  unsigned long __cil_tmp50 ;
17218  unsigned long __cil_tmp51 ;
17219  send_func_t *__cil_tmp52 ;
17220  struct mISDNdevice *__cil_tmp53 ;
17221  struct device *__cil_tmp54 ;
17222  struct device  const  *__cil_tmp55 ;
17223  unsigned int __cil_tmp56 ;
17224  unsigned int __cil_tmp57 ;
17225  struct mISDNdevice *__cil_tmp58 ;
17226  struct device *__cil_tmp59 ;
17227  struct device  const  *__cil_tmp60 ;
17228  unsigned int __cil_tmp61 ;
17229
17230  {
17231#line 157
17232  __cil_tmp16 = & skb->cb;
17233#line 157
17234  hh = (struct mISDNhead *)__cil_tmp16;
17235#line 161
17236  __cil_tmp17 = hh->prim;
17237#line 161
17238  __cil_tmp18 = (int )__cil_tmp17;
17239#line 161
17240  lm = __cil_tmp18 & 255;
17241  {
17242#line 162
17243  __cil_tmp19 = *debug___2;
17244#line 162
17245  __cil_tmp20 = __cil_tmp19 & 64U;
17246#line 162
17247  if (__cil_tmp20 != 0U) {
17248    {
17249#line 163
17250    __cil_tmp21 = hh->prim;
17251#line 163
17252    __cil_tmp22 = hh->id;
17253#line 163
17254    printk("<7>%s prim(%x) id(%x) %p\n", "send_msg_to_layer", __cil_tmp21, __cil_tmp22,
17255           skb);
17256    }
17257  } else {
17258
17259  }
17260  }
17261#line 165
17262  if (lm == 1) {
17263    {
17264#line 166
17265    __cil_tmp23 = & st->l1sock.head;
17266#line 166
17267    __cil_tmp24 = (struct hlist_head  const  *)__cil_tmp23;
17268#line 166
17269    tmp = hlist_empty(__cil_tmp24);
17270    }
17271#line 166
17272    if (tmp == 0) {
17273      {
17274#line 167
17275      __net_timestamp(skb);
17276#line 168
17277      __cil_tmp25 = & st->l1sock;
17278#line 168
17279      send_socklist(__cil_tmp25, skb);
17280      }
17281    } else {
17282
17283    }
17284    {
17285#line 170
17286    __cil_tmp26 = st->layer1;
17287#line 170
17288    __cil_tmp27 = __cil_tmp26->send;
17289#line 170
17290    __cil_tmp28 = st->layer1;
17291#line 170
17292    tmp___0 = (*__cil_tmp27)(__cil_tmp28, skb);
17293    }
17294#line 170
17295    return (tmp___0);
17296  } else
17297#line 171
17298  if (lm == 2) {
17299    {
17300#line 172
17301    __cil_tmp29 = & st->l1sock.head;
17302#line 172
17303    __cil_tmp30 = (struct hlist_head  const  *)__cil_tmp29;
17304#line 172
17305    tmp___1 = hlist_empty(__cil_tmp30);
17306    }
17307#line 172
17308    if (tmp___1 == 0) {
17309      {
17310#line 173
17311      __cil_tmp31 = & st->l1sock;
17312#line 173
17313      send_socklist(__cil_tmp31, skb);
17314      }
17315    } else {
17316
17317    }
17318    {
17319#line 174
17320    send_layer2(st, skb);
17321    }
17322#line 175
17323    return (0);
17324  } else
17325#line 176
17326  if (lm == 4) {
17327    {
17328#line 177
17329    __cil_tmp32 = hh->id;
17330#line 177
17331    ch = get_channel4id(st, __cil_tmp32);
17332    }
17333    {
17334#line 178
17335    __cil_tmp33 = (struct mISDNchannel *)0;
17336#line 178
17337    __cil_tmp34 = (unsigned long )__cil_tmp33;
17338#line 178
17339    __cil_tmp35 = (unsigned long )ch;
17340#line 178
17341    if (__cil_tmp35 != __cil_tmp34) {
17342      {
17343#line 179
17344      __cil_tmp36 = ch->send;
17345#line 179
17346      tmp___2 = (*__cil_tmp36)(ch, skb);
17347      }
17348#line 179
17349      return (tmp___2);
17350    } else {
17351      {
17352#line 181
17353      __cil_tmp37 = st->dev;
17354#line 181
17355      __cil_tmp38 = & __cil_tmp37->dev;
17356#line 181
17357      __cil_tmp39 = (struct device  const  *)__cil_tmp38;
17358#line 181
17359      tmp___3 = dev_name(__cil_tmp39);
17360#line 181
17361      __cil_tmp40 = hh->prim;
17362#line 181
17363      __cil_tmp41 = hh->id;
17364#line 181
17365      printk("<4>%s: dev(%s) prim(%x) id(%x) no channel\n", "send_msg_to_layer", tmp___3,
17366             __cil_tmp40, __cil_tmp41);
17367      }
17368    }
17369    }
17370  } else
17371#line 185
17372  if (lm == 8) {
17373    {
17374#line 186
17375    __ret_warn_on = lm == 8;
17376#line 186
17377    __cil_tmp42 = __ret_warn_on != 0;
17378#line 186
17379    __cil_tmp43 = (long )__cil_tmp42;
17380#line 186
17381    tmp___4 = __builtin_expect(__cil_tmp43, 0L);
17382    }
17383#line 186
17384    if (tmp___4 != 0L) {
17385      {
17386#line 186
17387      __cil_tmp44 = (int const   )186;
17388#line 186
17389      __cil_tmp45 = (int )__cil_tmp44;
17390#line 186
17391      warn_slowpath_null("/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p",
17392                         __cil_tmp45);
17393      }
17394    } else {
17395
17396    }
17397    {
17398#line 186
17399    __cil_tmp46 = __ret_warn_on != 0;
17400#line 186
17401    __cil_tmp47 = (long )__cil_tmp46;
17402#line 186
17403    __builtin_expect(__cil_tmp47, 0L);
17404#line 187
17405    __cil_tmp48 = hh->id;
17406#line 187
17407    ch = get_channel4id(st, __cil_tmp48);
17408    }
17409    {
17410#line 188
17411    __cil_tmp49 = (struct mISDNchannel *)0;
17412#line 188
17413    __cil_tmp50 = (unsigned long )__cil_tmp49;
17414#line 188
17415    __cil_tmp51 = (unsigned long )ch;
17416#line 188
17417    if (__cil_tmp51 != __cil_tmp50) {
17418      {
17419#line 189
17420      __cil_tmp52 = ch->send;
17421#line 189
17422      tmp___5 = (*__cil_tmp52)(ch, skb);
17423      }
17424#line 189
17425      return (tmp___5);
17426    } else {
17427      {
17428#line 191
17429      __cil_tmp53 = st->dev;
17430#line 191
17431      __cil_tmp54 = & __cil_tmp53->dev;
17432#line 191
17433      __cil_tmp55 = (struct device  const  *)__cil_tmp54;
17434#line 191
17435      tmp___6 = dev_name(__cil_tmp55);
17436#line 191
17437      __cil_tmp56 = hh->prim;
17438#line 191
17439      __cil_tmp57 = hh->id;
17440#line 191
17441      printk("<4>%s: dev(%s) prim(%x) id(%x) no channel\n", "send_msg_to_layer", tmp___6,
17442             __cil_tmp56, __cil_tmp57);
17443      }
17444    }
17445    }
17446  } else {
17447    {
17448#line 197
17449    __cil_tmp58 = st->dev;
17450#line 197
17451    __cil_tmp59 = & __cil_tmp58->dev;
17452#line 197
17453    __cil_tmp60 = (struct device  const  *)__cil_tmp59;
17454#line 197
17455    tmp___7 = dev_name(__cil_tmp60);
17456#line 197
17457    __cil_tmp61 = hh->prim;
17458#line 197
17459    printk("<4>%s: dev(%s) prim %x not delivered\n", "send_msg_to_layer", tmp___7,
17460           __cil_tmp61);
17461    }
17462  }
17463#line 200
17464  return (-3);
17465}
17466}
17467#line 204 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
17468static void do_clear_stack(struct mISDNstack *st ) 
17469{ 
17470
17471  {
17472#line 206
17473  return;
17474}
17475}
17476#line 209 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
17477static int mISDNStackd(void *data ) 
17478{ struct mISDNstack *st ;
17479  int err ;
17480  struct task_struct *tmp ;
17481  char const   *tmp___0 ;
17482  struct sk_buff *skb ;
17483  int tmp___1 ;
17484  long tmp___2 ;
17485  char const   *tmp___3 ;
17486  long tmp___4 ;
17487  int tmp___5 ;
17488  long tmp___6 ;
17489  int tmp___7 ;
17490  int tmp___8 ;
17491  int tmp___9 ;
17492  int tmp___10 ;
17493  int tmp___11 ;
17494  int __ret ;
17495  wait_queue_t __wait ;
17496  struct task_struct *tmp___12 ;
17497  struct task_struct *tmp___13 ;
17498  int tmp___14 ;
17499  char const   *tmp___15 ;
17500  int tmp___16 ;
17501  sigset_t *__cil_tmp25 ;
17502  u_int __cil_tmp26 ;
17503  unsigned int __cil_tmp27 ;
17504  struct mISDNdevice *__cil_tmp28 ;
17505  struct device *__cil_tmp29 ;
17506  struct device  const  *__cil_tmp30 ;
17507  struct completion *__cil_tmp31 ;
17508  unsigned long __cil_tmp32 ;
17509  struct completion *__cil_tmp33 ;
17510  unsigned long __cil_tmp34 ;
17511  struct completion *__cil_tmp35 ;
17512  u_long *__cil_tmp36 ;
17513  unsigned long const volatile   *__cil_tmp37 ;
17514  int __cil_tmp38 ;
17515  long __cil_tmp39 ;
17516  u_long *__cil_tmp40 ;
17517  unsigned long volatile   *__cil_tmp41 ;
17518  u_long *__cil_tmp42 ;
17519  unsigned long volatile   *__cil_tmp43 ;
17520  u_long *__cil_tmp44 ;
17521  unsigned long volatile   *__cil_tmp45 ;
17522  struct sk_buff_head *__cil_tmp46 ;
17523  struct sk_buff *__cil_tmp47 ;
17524  unsigned long __cil_tmp48 ;
17525  unsigned long __cil_tmp49 ;
17526  u_long *__cil_tmp50 ;
17527  unsigned long volatile   *__cil_tmp51 ;
17528  struct sk_buff_head *__cil_tmp52 ;
17529  struct sk_buff *__cil_tmp53 ;
17530  unsigned long __cil_tmp54 ;
17531  unsigned long __cil_tmp55 ;
17532  u_long *__cil_tmp56 ;
17533  unsigned long volatile   *__cil_tmp57 ;
17534  int __cil_tmp58 ;
17535  long __cil_tmp59 ;
17536  u_int __cil_tmp60 ;
17537  unsigned int __cil_tmp61 ;
17538  struct mISDNdevice *__cil_tmp62 ;
17539  struct device *__cil_tmp63 ;
17540  struct device  const  *__cil_tmp64 ;
17541  char (*__cil_tmp65)[48U] ;
17542  struct mISDNhead *__cil_tmp66 ;
17543  unsigned int __cil_tmp67 ;
17544  char (*__cil_tmp68)[48U] ;
17545  struct mISDNhead *__cil_tmp69 ;
17546  unsigned int __cil_tmp70 ;
17547  u_long *__cil_tmp71 ;
17548  unsigned long const volatile   *__cil_tmp72 ;
17549  int __cil_tmp73 ;
17550  long __cil_tmp74 ;
17551  u_long *__cil_tmp75 ;
17552  unsigned long volatile   *__cil_tmp76 ;
17553  u_long *__cil_tmp77 ;
17554  unsigned long volatile   *__cil_tmp78 ;
17555  u_long *__cil_tmp79 ;
17556  unsigned long const volatile   *__cil_tmp80 ;
17557  u_long *__cil_tmp81 ;
17558  unsigned long const volatile   *__cil_tmp82 ;
17559  u_long *__cil_tmp83 ;
17560  unsigned long volatile   *__cil_tmp84 ;
17561  u_long *__cil_tmp85 ;
17562  unsigned long volatile   *__cil_tmp86 ;
17563  u_long *__cil_tmp87 ;
17564  unsigned long volatile   *__cil_tmp88 ;
17565  u_long *__cil_tmp89 ;
17566  unsigned long volatile   *__cil_tmp90 ;
17567  u_long *__cil_tmp91 ;
17568  unsigned long volatile   *__cil_tmp92 ;
17569  u_long *__cil_tmp93 ;
17570  unsigned long volatile   *__cil_tmp94 ;
17571  u_long *__cil_tmp95 ;
17572  unsigned long volatile   *__cil_tmp96 ;
17573  struct sk_buff_head *__cil_tmp97 ;
17574  struct sk_buff_head  const  *__cil_tmp98 ;
17575  u_long *__cil_tmp99 ;
17576  unsigned long volatile   *__cil_tmp100 ;
17577  u_long *__cil_tmp101 ;
17578  unsigned long const volatile   *__cil_tmp102 ;
17579  struct completion *__cil_tmp103 ;
17580  unsigned long __cil_tmp104 ;
17581  struct completion *__cil_tmp105 ;
17582  unsigned long __cil_tmp106 ;
17583  struct completion *__cil_tmp107 ;
17584  u_long *__cil_tmp108 ;
17585  unsigned long volatile   *__cil_tmp109 ;
17586  u_long __cil_tmp110 ;
17587  unsigned long __cil_tmp111 ;
17588  wait_queue_head_t *__cil_tmp112 ;
17589  u_long __cil_tmp113 ;
17590  unsigned long __cil_tmp114 ;
17591  wait_queue_head_t *__cil_tmp115 ;
17592  u_int __cil_tmp116 ;
17593  unsigned int __cil_tmp117 ;
17594  struct mISDNdevice *__cil_tmp118 ;
17595  struct device *__cil_tmp119 ;
17596  struct device  const  *__cil_tmp120 ;
17597  u_long __cil_tmp121 ;
17598  u_long *__cil_tmp122 ;
17599  unsigned long volatile   *__cil_tmp123 ;
17600  u_long *__cil_tmp124 ;
17601  unsigned long volatile   *__cil_tmp125 ;
17602  u_long *__cil_tmp126 ;
17603  unsigned long const volatile   *__cil_tmp127 ;
17604  u_long *__cil_tmp128 ;
17605  unsigned long volatile   *__cil_tmp129 ;
17606  u_long *__cil_tmp130 ;
17607  unsigned long volatile   *__cil_tmp131 ;
17608  u_long *__cil_tmp132 ;
17609  unsigned long volatile   *__cil_tmp133 ;
17610  u_long *__cil_tmp134 ;
17611  unsigned long volatile   *__cil_tmp135 ;
17612  u_long *__cil_tmp136 ;
17613  unsigned long volatile   *__cil_tmp137 ;
17614  struct sk_buff_head *__cil_tmp138 ;
17615  struct completion *__cil_tmp139 ;
17616  unsigned long __cil_tmp140 ;
17617  struct completion *__cil_tmp141 ;
17618  unsigned long __cil_tmp142 ;
17619  struct completion *__cil_tmp143 ;
17620
17621  {
17622  {
17623#line 211
17624  st = (struct mISDNstack *)data;
17625#line 212
17626  err = 0;
17627#line 214
17628  tmp = get_current();
17629#line 214
17630  __cil_tmp25 = & tmp->blocked;
17631#line 214
17632  sigfillset(__cil_tmp25);
17633  }
17634  {
17635#line 215
17636  __cil_tmp26 = *debug___2;
17637#line 215
17638  __cil_tmp27 = __cil_tmp26 & 32U;
17639#line 215
17640  if (__cil_tmp27 != 0U) {
17641    {
17642#line 216
17643    __cil_tmp28 = st->dev;
17644#line 216
17645    __cil_tmp29 = & __cil_tmp28->dev;
17646#line 216
17647    __cil_tmp30 = (struct device  const  *)__cil_tmp29;
17648#line 216
17649    tmp___0 = dev_name(__cil_tmp30);
17650#line 216
17651    printk("<7>mISDNStackd %s started\n", tmp___0);
17652    }
17653  } else {
17654
17655  }
17656  }
17657  {
17658#line 219
17659  __cil_tmp31 = (struct completion *)0;
17660#line 219
17661  __cil_tmp32 = (unsigned long )__cil_tmp31;
17662#line 219
17663  __cil_tmp33 = st->notify;
17664#line 219
17665  __cil_tmp34 = (unsigned long )__cil_tmp33;
17666#line 219
17667  if (__cil_tmp34 != __cil_tmp32) {
17668    {
17669#line 220
17670    __cil_tmp35 = st->notify;
17671#line 220
17672    complete(__cil_tmp35);
17673#line 221
17674    st->notify = (struct completion *)0;
17675    }
17676  } else {
17677
17678  }
17679  }
17680  ldv_38503: 
17681  {
17682#line 227
17683  __cil_tmp36 = & st->status;
17684#line 227
17685  __cil_tmp37 = (unsigned long const volatile   *)__cil_tmp36;
17686#line 227
17687  tmp___1 = constant_test_bit(16U, __cil_tmp37);
17688#line 227
17689  __cil_tmp38 = tmp___1 != 0;
17690#line 227
17691  __cil_tmp39 = (long )__cil_tmp38;
17692#line 227
17693  tmp___2 = __builtin_expect(__cil_tmp39, 0L);
17694  }
17695#line 227
17696  if (tmp___2 != 0L) {
17697    {
17698#line 228
17699    __cil_tmp40 = & st->status;
17700#line 228
17701    __cil_tmp41 = (unsigned long volatile   *)__cil_tmp40;
17702#line 228
17703    test_and_clear_bit(0, __cil_tmp41);
17704#line 229
17705    __cil_tmp42 = & st->status;
17706#line 229
17707    __cil_tmp43 = (unsigned long volatile   *)__cil_tmp42;
17708#line 229
17709    test_and_clear_bit(30, __cil_tmp43);
17710    }
17711  } else {
17712    {
17713#line 231
17714    __cil_tmp44 = & st->status;
17715#line 231
17716    __cil_tmp45 = (unsigned long volatile   *)__cil_tmp44;
17717#line 231
17718    test_and_set_bit(30, __cil_tmp45);
17719    }
17720  }
17721#line 232
17722  goto ldv_38492;
17723  ldv_38495: 
17724  {
17725#line 233
17726  __cil_tmp46 = & st->msgq;
17727#line 233
17728  skb = skb_dequeue(__cil_tmp46);
17729  }
17730  {
17731#line 234
17732  __cil_tmp47 = (struct sk_buff *)0;
17733#line 234
17734  __cil_tmp48 = (unsigned long )__cil_tmp47;
17735#line 234
17736  __cil_tmp49 = (unsigned long )skb;
17737#line 234
17738  if (__cil_tmp49 == __cil_tmp48) {
17739    {
17740#line 235
17741    __cil_tmp50 = & st->status;
17742#line 235
17743    __cil_tmp51 = (unsigned long volatile   *)__cil_tmp50;
17744#line 235
17745    test_and_clear_bit(0, __cil_tmp51);
17746#line 238
17747    __cil_tmp52 = & st->msgq;
17748#line 238
17749    skb = skb_dequeue(__cil_tmp52);
17750    }
17751    {
17752#line 239
17753    __cil_tmp53 = (struct sk_buff *)0;
17754#line 239
17755    __cil_tmp54 = (unsigned long )__cil_tmp53;
17756#line 239
17757    __cil_tmp55 = (unsigned long )skb;
17758#line 239
17759    if (__cil_tmp55 == __cil_tmp54) {
17760#line 240
17761      goto ldv_38492;
17762    } else {
17763
17764    }
17765    }
17766    {
17767#line 241
17768    __cil_tmp56 = & st->status;
17769#line 241
17770    __cil_tmp57 = (unsigned long volatile   *)__cil_tmp56;
17771#line 241
17772    test_and_set_bit(0, __cil_tmp57);
17773    }
17774  } else {
17775
17776  }
17777  }
17778  {
17779#line 247
17780  err = send_msg_to_layer(st, skb);
17781#line 248
17782  __cil_tmp58 = err != 0;
17783#line 248
17784  __cil_tmp59 = (long )__cil_tmp58;
17785#line 248
17786  tmp___4 = __builtin_expect(__cil_tmp59, 0L);
17787  }
17788#line 248
17789  if (tmp___4 != 0L) {
17790    {
17791#line 249
17792    __cil_tmp60 = *debug___2;
17793#line 249
17794    __cil_tmp61 = __cil_tmp60 & 16U;
17795#line 249
17796    if (__cil_tmp61 != 0U) {
17797      {
17798#line 250
17799      __cil_tmp62 = st->dev;
17800#line 250
17801      __cil_tmp63 = & __cil_tmp62->dev;
17802#line 250
17803      __cil_tmp64 = (struct device  const  *)__cil_tmp63;
17804#line 250
17805      tmp___3 = dev_name(__cil_tmp64);
17806#line 250
17807      __cil_tmp65 = & skb->cb;
17808#line 250
17809      __cil_tmp66 = (struct mISDNhead *)__cil_tmp65;
17810#line 250
17811      __cil_tmp67 = __cil_tmp66->prim;
17812#line 250
17813      __cil_tmp68 = & skb->cb;
17814#line 250
17815      __cil_tmp69 = (struct mISDNhead *)__cil_tmp68;
17816#line 250
17817      __cil_tmp70 = __cil_tmp69->id;
17818#line 250
17819      printk("<7>%s: %s prim(%x) id(%x) send call(%d)\n", "mISDNStackd", tmp___3,
17820             __cil_tmp67, __cil_tmp70, err);
17821      }
17822    } else {
17823
17824    }
17825    }
17826    {
17827#line 256
17828    consume_skb(skb);
17829    }
17830#line 257
17831    goto ldv_38492;
17832  } else {
17833
17834  }
17835  {
17836#line 259
17837  __cil_tmp71 = & st->status;
17838#line 259
17839  __cil_tmp72 = (unsigned long const volatile   *)__cil_tmp71;
17840#line 259
17841  tmp___5 = constant_test_bit(16U, __cil_tmp72);
17842#line 259
17843  __cil_tmp73 = tmp___5 != 0;
17844#line 259
17845  __cil_tmp74 = (long )__cil_tmp73;
17846#line 259
17847  tmp___6 = __builtin_expect(__cil_tmp74, 0L);
17848  }
17849#line 259
17850  if (tmp___6 != 0L) {
17851    {
17852#line 261
17853    __cil_tmp75 = & st->status;
17854#line 261
17855    __cil_tmp76 = (unsigned long volatile   *)__cil_tmp75;
17856#line 261
17857    test_and_clear_bit(0, __cil_tmp76);
17858#line 263
17859    __cil_tmp77 = & st->status;
17860#line 263
17861    __cil_tmp78 = (unsigned long volatile   *)__cil_tmp77;
17862#line 263
17863    test_and_clear_bit(30, __cil_tmp78);
17864    }
17865#line 265
17866    goto ldv_38494;
17867  } else {
17868
17869  }
17870  ldv_38492: 
17871  {
17872#line 232
17873  __cil_tmp79 = & st->status;
17874#line 232
17875  __cil_tmp80 = (unsigned long const volatile   *)__cil_tmp79;
17876#line 232
17877  tmp___7 = constant_test_bit(0U, __cil_tmp80);
17878  }
17879#line 232
17880  if (tmp___7 != 0) {
17881#line 233
17882    goto ldv_38495;
17883  } else {
17884#line 235
17885    goto ldv_38494;
17886  }
17887  ldv_38494: 
17888  {
17889#line 268
17890  __cil_tmp81 = & st->status;
17891#line 268
17892  __cil_tmp82 = (unsigned long const volatile   *)__cil_tmp81;
17893#line 268
17894  tmp___8 = constant_test_bit(2U, __cil_tmp82);
17895  }
17896#line 268
17897  if (tmp___8 != 0) {
17898    {
17899#line 269
17900    __cil_tmp83 = & st->status;
17901#line 269
17902    __cil_tmp84 = (unsigned long volatile   *)__cil_tmp83;
17903#line 269
17904    test_and_set_bit(16, __cil_tmp84);
17905#line 270
17906    __cil_tmp85 = & st->status;
17907#line 270
17908    __cil_tmp86 = (unsigned long volatile   *)__cil_tmp85;
17909#line 270
17910    test_and_clear_bit(30, __cil_tmp86);
17911#line 271
17912    do_clear_stack(st);
17913#line 272
17914    __cil_tmp87 = & st->status;
17915#line 272
17916    __cil_tmp88 = (unsigned long volatile   *)__cil_tmp87;
17917#line 272
17918    test_and_clear_bit(2, __cil_tmp88);
17919#line 273
17920    __cil_tmp89 = & st->status;
17921#line 273
17922    __cil_tmp90 = (unsigned long volatile   *)__cil_tmp89;
17923#line 273
17924    test_and_set_bit(3, __cil_tmp90);
17925    }
17926  } else {
17927
17928  }
17929  {
17930#line 275
17931  __cil_tmp91 = & st->status;
17932#line 275
17933  __cil_tmp92 = (unsigned long volatile   *)__cil_tmp91;
17934#line 275
17935  tmp___10 = test_and_clear_bit(3, __cil_tmp92);
17936  }
17937#line 275
17938  if (tmp___10 != 0) {
17939    {
17940#line 276
17941    __cil_tmp93 = & st->status;
17942#line 276
17943    __cil_tmp94 = (unsigned long volatile   *)__cil_tmp93;
17944#line 276
17945    test_and_clear_bit(16, __cil_tmp94);
17946#line 277
17947    __cil_tmp95 = & st->status;
17948#line 277
17949    __cil_tmp96 = (unsigned long volatile   *)__cil_tmp95;
17950#line 277
17951    test_and_set_bit(30, __cil_tmp96);
17952#line 278
17953    __cil_tmp97 = & st->msgq;
17954#line 278
17955    __cil_tmp98 = (struct sk_buff_head  const  *)__cil_tmp97;
17956#line 278
17957    tmp___9 = skb_queue_empty(__cil_tmp98);
17958    }
17959#line 278
17960    if (tmp___9 == 0) {
17961      {
17962#line 279
17963      __cil_tmp99 = & st->status;
17964#line 279
17965      __cil_tmp100 = (unsigned long volatile   *)__cil_tmp99;
17966#line 279
17967      test_and_set_bit(0, __cil_tmp100);
17968      }
17969    } else {
17970
17971    }
17972  } else {
17973
17974  }
17975  {
17976#line 282
17977  __cil_tmp101 = & st->status;
17978#line 282
17979  __cil_tmp102 = (unsigned long const volatile   *)__cil_tmp101;
17980#line 282
17981  tmp___11 = constant_test_bit(15U, __cil_tmp102);
17982  }
17983#line 282
17984  if (tmp___11 != 0) {
17985#line 283
17986    goto ldv_38496;
17987  } else {
17988
17989  }
17990  {
17991#line 284
17992  __cil_tmp103 = (struct completion *)0;
17993#line 284
17994  __cil_tmp104 = (unsigned long )__cil_tmp103;
17995#line 284
17996  __cil_tmp105 = st->notify;
17997#line 284
17998  __cil_tmp106 = (unsigned long )__cil_tmp105;
17999#line 284
18000  if (__cil_tmp106 != __cil_tmp104) {
18001    {
18002#line 285
18003    __cil_tmp107 = st->notify;
18004#line 285
18005    complete(__cil_tmp107);
18006#line 286
18007    st->notify = (struct completion *)0;
18008    }
18009  } else {
18010
18011  }
18012  }
18013  {
18014#line 291
18015  __cil_tmp108 = & st->status;
18016#line 291
18017  __cil_tmp109 = (unsigned long volatile   *)__cil_tmp108;
18018#line 291
18019  test_and_clear_bit(29, __cil_tmp109);
18020#line 292
18021  __ret = 0;
18022  }
18023  {
18024#line 292
18025  __cil_tmp110 = st->status;
18026#line 292
18027  __cil_tmp111 = __cil_tmp110 & 65535UL;
18028#line 292
18029  if (__cil_tmp111 == 0UL) {
18030    {
18031#line 292
18032    tmp___12 = get_current();
18033#line 292
18034    __wait.flags = 0U;
18035#line 292
18036    __wait.private = (void *)tmp___12;
18037#line 292
18038    __wait.func = & autoremove_wake_function;
18039#line 292
18040    __wait.task_list.next = & __wait.task_list;
18041#line 292
18042    __wait.task_list.prev = & __wait.task_list;
18043    }
18044    ldv_38501: 
18045    {
18046#line 292
18047    __cil_tmp112 = & st->workq;
18048#line 292
18049    prepare_to_wait(__cil_tmp112, & __wait, 1);
18050    }
18051    {
18052#line 292
18053    __cil_tmp113 = st->status;
18054#line 292
18055    __cil_tmp114 = __cil_tmp113 & 65535UL;
18056#line 292
18057    if (__cil_tmp114 != 0UL) {
18058#line 292
18059      goto ldv_38499;
18060    } else {
18061
18062    }
18063    }
18064    {
18065#line 292
18066    tmp___13 = get_current();
18067#line 292
18068    tmp___14 = signal_pending(tmp___13);
18069    }
18070#line 292
18071    if (tmp___14 == 0) {
18072      {
18073#line 292
18074      schedule();
18075      }
18076#line 292
18077      goto ldv_38500;
18078    } else {
18079
18080    }
18081#line 292
18082    __ret = -512;
18083#line 292
18084    goto ldv_38499;
18085    ldv_38500: ;
18086#line 292
18087    goto ldv_38501;
18088    ldv_38499: 
18089    {
18090#line 292
18091    __cil_tmp115 = & st->workq;
18092#line 292
18093    finish_wait(__cil_tmp115, & __wait);
18094    }
18095  } else {
18096
18097  }
18098  }
18099  {
18100#line 294
18101  __cil_tmp116 = *debug___2;
18102#line 294
18103  __cil_tmp117 = __cil_tmp116 & 32U;
18104#line 294
18105  if (__cil_tmp117 != 0U) {
18106    {
18107#line 295
18108    __cil_tmp118 = st->dev;
18109#line 295
18110    __cil_tmp119 = & __cil_tmp118->dev;
18111#line 295
18112    __cil_tmp120 = (struct device  const  *)__cil_tmp119;
18113#line 295
18114    tmp___15 = dev_name(__cil_tmp120);
18115#line 295
18116    __cil_tmp121 = st->status;
18117#line 295
18118    printk("<7>%s: %s wake status %08lx\n", "mISDNStackd", tmp___15, __cil_tmp121);
18119    }
18120  } else {
18121
18122  }
18123  }
18124  {
18125#line 297
18126  __cil_tmp122 = & st->status;
18127#line 297
18128  __cil_tmp123 = (unsigned long volatile   *)__cil_tmp122;
18129#line 297
18130  test_and_set_bit(29, __cil_tmp123);
18131#line 299
18132  __cil_tmp124 = & st->status;
18133#line 299
18134  __cil_tmp125 = (unsigned long volatile   *)__cil_tmp124;
18135#line 299
18136  test_and_clear_bit(4, __cil_tmp125);
18137#line 301
18138  __cil_tmp126 = & st->status;
18139#line 301
18140  __cil_tmp127 = (unsigned long const volatile   *)__cil_tmp126;
18141#line 301
18142  tmp___16 = constant_test_bit(16U, __cil_tmp127);
18143  }
18144#line 301
18145  if (tmp___16 != 0) {
18146    {
18147#line 302
18148    __cil_tmp128 = & st->status;
18149#line 302
18150    __cil_tmp129 = (unsigned long volatile   *)__cil_tmp128;
18151#line 302
18152    test_and_clear_bit(30, __cil_tmp129);
18153    }
18154  } else {
18155
18156  }
18157#line 307
18158  goto ldv_38503;
18159  ldv_38496: 
18160  {
18161#line 322
18162  __cil_tmp130 = & st->status;
18163#line 322
18164  __cil_tmp131 = (unsigned long volatile   *)__cil_tmp130;
18165#line 322
18166  test_and_set_bit(31, __cil_tmp131);
18167#line 323
18168  __cil_tmp132 = & st->status;
18169#line 323
18170  __cil_tmp133 = (unsigned long volatile   *)__cil_tmp132;
18171#line 323
18172  test_and_clear_bit(30, __cil_tmp133);
18173#line 324
18174  __cil_tmp134 = & st->status;
18175#line 324
18176  __cil_tmp135 = (unsigned long volatile   *)__cil_tmp134;
18177#line 324
18178  test_and_clear_bit(29, __cil_tmp135);
18179#line 325
18180  __cil_tmp136 = & st->status;
18181#line 325
18182  __cil_tmp137 = (unsigned long volatile   *)__cil_tmp136;
18183#line 325
18184  test_and_clear_bit(15, __cil_tmp137);
18185#line 326
18186  __cil_tmp138 = & st->msgq;
18187#line 326
18188  skb_queue_purge(__cil_tmp138);
18189#line 327
18190  st->thread = (struct task_struct *)0;
18191  }
18192  {
18193#line 328
18194  __cil_tmp139 = (struct completion *)0;
18195#line 328
18196  __cil_tmp140 = (unsigned long )__cil_tmp139;
18197#line 328
18198  __cil_tmp141 = st->notify;
18199#line 328
18200  __cil_tmp142 = (unsigned long )__cil_tmp141;
18201#line 328
18202  if (__cil_tmp142 != __cil_tmp140) {
18203    {
18204#line 329
18205    __cil_tmp143 = st->notify;
18206#line 329
18207    complete(__cil_tmp143);
18208#line 330
18209    st->notify = (struct completion *)0;
18210    }
18211  } else {
18212
18213  }
18214  }
18215#line 332
18216  return (0);
18217}
18218}
18219#line 336 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18220static int l1_receive(struct mISDNchannel *ch , struct sk_buff *skb ) 
18221{ struct mISDNstack *__cil_tmp3 ;
18222  unsigned long __cil_tmp4 ;
18223  struct mISDNstack *__cil_tmp5 ;
18224  unsigned long __cil_tmp6 ;
18225  struct mISDNstack *__cil_tmp7 ;
18226
18227  {
18228  {
18229#line 338
18230  __cil_tmp3 = (struct mISDNstack *)0;
18231#line 338
18232  __cil_tmp4 = (unsigned long )__cil_tmp3;
18233#line 338
18234  __cil_tmp5 = ch->st;
18235#line 338
18236  __cil_tmp6 = (unsigned long )__cil_tmp5;
18237#line 338
18238  if (__cil_tmp6 == __cil_tmp4) {
18239#line 339
18240    return (-19);
18241  } else {
18242
18243  }
18244  }
18245  {
18246#line 340
18247  __net_timestamp(skb);
18248#line 341
18249  __cil_tmp7 = ch->st;
18250#line 341
18251  _queue_message(__cil_tmp7, skb);
18252  }
18253#line 342
18254  return (0);
18255}
18256}
18257#line 346 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18258void set_channel_address(struct mISDNchannel *ch , u_int sapi , u_int tei ) 
18259{ u_int __cil_tmp4 ;
18260
18261  {
18262#line 348
18263  __cil_tmp4 = tei << 8;
18264#line 348
18265  ch->addr = __cil_tmp4 | sapi;
18266#line 349
18267  return;
18268}
18269}
18270#line 352 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18271void __add_layer2(struct mISDNchannel *ch , struct mISDNstack *st ) 
18272{ struct list_head *__cil_tmp3 ;
18273  struct list_head *__cil_tmp4 ;
18274
18275  {
18276  {
18277#line 354
18278  __cil_tmp3 = & ch->list;
18279#line 354
18280  __cil_tmp4 = & st->layer2;
18281#line 354
18282  list_add_tail(__cil_tmp3, __cil_tmp4);
18283  }
18284#line 355
18285  return;
18286}
18287}
18288#line 358 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18289void add_layer2(struct mISDNchannel *ch , struct mISDNstack *st ) 
18290{ struct mutex *__cil_tmp3 ;
18291  struct mutex *__cil_tmp4 ;
18292
18293  {
18294  {
18295#line 360
18296  __cil_tmp3 = & st->lmutex;
18297#line 360
18298  mutex_lock_nested(__cil_tmp3, 0U);
18299#line 361
18300  __add_layer2(ch, st);
18301#line 362
18302  __cil_tmp4 = & st->lmutex;
18303#line 362
18304  mutex_unlock(__cil_tmp4);
18305  }
18306#line 363
18307  return;
18308}
18309}
18310#line 366 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18311static int st_own_ctrl(struct mISDNchannel *ch , u_int cmd , void *arg ) 
18312{ int tmp ;
18313  struct mISDNstack *__cil_tmp5 ;
18314  unsigned long __cil_tmp6 ;
18315  struct mISDNstack *__cil_tmp7 ;
18316  unsigned long __cil_tmp8 ;
18317  struct mISDNchannel *__cil_tmp9 ;
18318  unsigned long __cil_tmp10 ;
18319  struct mISDNstack *__cil_tmp11 ;
18320  struct mISDNchannel *__cil_tmp12 ;
18321  unsigned long __cil_tmp13 ;
18322  struct mISDNstack *__cil_tmp14 ;
18323  struct mISDNchannel *__cil_tmp15 ;
18324  ctrl_func_t *__cil_tmp16 ;
18325  struct mISDNstack *__cil_tmp17 ;
18326  struct mISDNchannel *__cil_tmp18 ;
18327
18328  {
18329  {
18330#line 368
18331  __cil_tmp5 = (struct mISDNstack *)0;
18332#line 368
18333  __cil_tmp6 = (unsigned long )__cil_tmp5;
18334#line 368
18335  __cil_tmp7 = ch->st;
18336#line 368
18337  __cil_tmp8 = (unsigned long )__cil_tmp7;
18338#line 368
18339  if (__cil_tmp8 == __cil_tmp6) {
18340#line 369
18341    return (-22);
18342  } else {
18343    {
18344#line 368
18345    __cil_tmp9 = (struct mISDNchannel *)0;
18346#line 368
18347    __cil_tmp10 = (unsigned long )__cil_tmp9;
18348#line 368
18349    __cil_tmp11 = ch->st;
18350#line 368
18351    __cil_tmp12 = __cil_tmp11->layer1;
18352#line 368
18353    __cil_tmp13 = (unsigned long )__cil_tmp12;
18354#line 368
18355    if (__cil_tmp13 == __cil_tmp10) {
18356#line 369
18357      return (-22);
18358    } else {
18359
18360    }
18361    }
18362  }
18363  }
18364  {
18365#line 370
18366  __cil_tmp14 = ch->st;
18367#line 370
18368  __cil_tmp15 = __cil_tmp14->layer1;
18369#line 370
18370  __cil_tmp16 = __cil_tmp15->ctrl;
18371#line 370
18372  __cil_tmp17 = ch->st;
18373#line 370
18374  __cil_tmp18 = __cil_tmp17->layer1;
18375#line 370
18376  tmp = (*__cil_tmp16)(__cil_tmp18, cmd, arg);
18377  }
18378#line 370
18379  return (tmp);
18380}
18381}
18382#line 374 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18383int create_stack(struct mISDNdevice *dev ) 
18384{ struct mISDNstack *newst ;
18385  int err ;
18386  struct completion done ;
18387  void *tmp ;
18388  struct lock_class_key __key ;
18389  struct lock_class_key __key___0 ;
18390  struct lock_class_key __key___1 ;
18391  char const   *tmp___0 ;
18392  struct task_struct *__k ;
18393  char const   *tmp___1 ;
18394  struct task_struct *tmp___2 ;
18395  long tmp___3 ;
18396  long tmp___4 ;
18397  char const   *tmp___5 ;
18398  long tmp___6 ;
18399  struct mISDNstack *__cil_tmp17 ;
18400  unsigned long __cil_tmp18 ;
18401  unsigned long __cil_tmp19 ;
18402  struct list_head *__cil_tmp20 ;
18403  rwlock_t *__cil_tmp21 ;
18404  wait_queue_head_t *__cil_tmp22 ;
18405  struct sk_buff_head *__cil_tmp23 ;
18406  struct mutex *__cil_tmp24 ;
18407  void const   *__cil_tmp25 ;
18408  struct mISDNchannel *__cil_tmp26 ;
18409  struct mISDNchannel *__cil_tmp27 ;
18410  struct mISDNchannel *__cil_tmp28 ;
18411  u_int __cil_tmp29 ;
18412  unsigned int __cil_tmp30 ;
18413  struct mISDNdevice *__cil_tmp31 ;
18414  struct device *__cil_tmp32 ;
18415  struct device  const  *__cil_tmp33 ;
18416  struct mISDNdevice *__cil_tmp34 ;
18417  struct device *__cil_tmp35 ;
18418  struct device  const  *__cil_tmp36 ;
18419  void *__cil_tmp37 ;
18420  void const   *__cil_tmp38 ;
18421  struct task_struct *__cil_tmp39 ;
18422  void const   *__cil_tmp40 ;
18423  struct task_struct *__cil_tmp41 ;
18424  void const   *__cil_tmp42 ;
18425  struct mISDNdevice *__cil_tmp43 ;
18426  struct device *__cil_tmp44 ;
18427  struct device  const  *__cil_tmp45 ;
18428  struct mISDNchannel *__cil_tmp46 ;
18429  void const   *__cil_tmp47 ;
18430
18431  {
18432  {
18433#line 378
18434  init_completion(& done);
18435#line 378
18436  done = done;
18437#line 380
18438  tmp = kzalloc(568UL, 208U);
18439#line 380
18440  newst = (struct mISDNstack *)tmp;
18441  }
18442  {
18443#line 381
18444  __cil_tmp17 = (struct mISDNstack *)0;
18445#line 381
18446  __cil_tmp18 = (unsigned long )__cil_tmp17;
18447#line 381
18448  __cil_tmp19 = (unsigned long )newst;
18449#line 381
18450  if (__cil_tmp19 == __cil_tmp18) {
18451    {
18452#line 382
18453    printk("<3>kmalloc mISDN_stack failed\n");
18454    }
18455#line 383
18456    return (-12);
18457  } else {
18458
18459  }
18460  }
18461  {
18462#line 385
18463  newst->dev = dev;
18464#line 386
18465  __cil_tmp20 = & newst->layer2;
18466#line 386
18467  INIT_LIST_HEAD(__cil_tmp20);
18468#line 387
18469  newst->l1sock.head.first = (struct hlist_node *)0;
18470#line 388
18471  __cil_tmp21 = & newst->l1sock.lock;
18472#line 388
18473  __rwlock_init(__cil_tmp21, "&newst->l1sock.lock", & __key);
18474#line 389
18475  __cil_tmp22 = & newst->workq;
18476#line 389
18477  __init_waitqueue_head(__cil_tmp22, & __key___0);
18478#line 390
18479  __cil_tmp23 = & newst->msgq;
18480#line 390
18481  skb_queue_head_init(__cil_tmp23);
18482#line 391
18483  __cil_tmp24 = & newst->lmutex;
18484#line 391
18485  __mutex_init(__cil_tmp24, "&newst->lmutex", & __key___1);
18486#line 392
18487  dev->D.st = newst;
18488#line 393
18489  err = create_teimanager(dev);
18490  }
18491#line 394
18492  if (err != 0) {
18493    {
18494#line 395
18495    printk("<3>kmalloc teimanager failed\n");
18496#line 396
18497    __cil_tmp25 = (void const   *)newst;
18498#line 396
18499    kfree(__cil_tmp25);
18500    }
18501#line 397
18502    return (err);
18503  } else {
18504
18505  }
18506#line 399
18507  __cil_tmp26 = dev->teimgr;
18508#line 399
18509  __cil_tmp26->peer = & newst->own;
18510#line 400
18511  __cil_tmp27 = dev->teimgr;
18512#line 400
18513  __cil_tmp27->recv = & mISDN_queue_message;
18514#line 401
18515  __cil_tmp28 = dev->teimgr;
18516#line 401
18517  __cil_tmp28->st = newst;
18518#line 402
18519  newst->layer1 = & dev->D;
18520#line 403
18521  dev->D.recv = & l1_receive;
18522#line 404
18523  dev->D.peer = & newst->own;
18524#line 405
18525  newst->own.st = newst;
18526#line 406
18527  newst->own.ctrl = & st_own_ctrl;
18528#line 407
18529  newst->own.send = & mISDN_queue_message;
18530#line 408
18531  newst->own.recv = & mISDN_queue_message;
18532  {
18533#line 409
18534  __cil_tmp29 = *debug___2;
18535#line 409
18536  __cil_tmp30 = __cil_tmp29 & 2U;
18537#line 409
18538  if (__cil_tmp30 != 0U) {
18539    {
18540#line 410
18541    __cil_tmp31 = newst->dev;
18542#line 410
18543    __cil_tmp32 = & __cil_tmp31->dev;
18544#line 410
18545    __cil_tmp33 = (struct device  const  *)__cil_tmp32;
18546#line 410
18547    tmp___0 = dev_name(__cil_tmp33);
18548#line 410
18549    printk("<7>%s: st(%s)\n", "create_stack", tmp___0);
18550    }
18551  } else {
18552
18553  }
18554  }
18555  {
18556#line 412
18557  newst->notify = & done;
18558#line 413
18559  __cil_tmp34 = newst->dev;
18560#line 413
18561  __cil_tmp35 = & __cil_tmp34->dev;
18562#line 413
18563  __cil_tmp36 = (struct device  const  *)__cil_tmp35;
18564#line 413
18565  tmp___1 = dev_name(__cil_tmp36);
18566#line 413
18567  __cil_tmp37 = (void *)newst;
18568#line 413
18569  tmp___2 = kthread_create_on_node(& mISDNStackd, __cil_tmp37, -1, "mISDN_%s", tmp___1);
18570#line 413
18571  __k = tmp___2;
18572#line 413
18573  __cil_tmp38 = (void const   *)__k;
18574#line 413
18575  tmp___3 = IS_ERR(__cil_tmp38);
18576  }
18577#line 413
18578  if (tmp___3 == 0L) {
18579    {
18580#line 413
18581    wake_up_process(__k);
18582    }
18583  } else {
18584
18585  }
18586  {
18587#line 413
18588  newst->thread = __k;
18589#line 415
18590  __cil_tmp39 = newst->thread;
18591#line 415
18592  __cil_tmp40 = (void const   *)__cil_tmp39;
18593#line 415
18594  tmp___6 = IS_ERR(__cil_tmp40);
18595  }
18596#line 415
18597  if (tmp___6 != 0L) {
18598    {
18599#line 416
18600    __cil_tmp41 = newst->thread;
18601#line 416
18602    __cil_tmp42 = (void const   *)__cil_tmp41;
18603#line 416
18604    tmp___4 = PTR_ERR(__cil_tmp42);
18605#line 416
18606    err = (int )tmp___4;
18607#line 417
18608    __cil_tmp43 = newst->dev;
18609#line 417
18610    __cil_tmp44 = & __cil_tmp43->dev;
18611#line 417
18612    __cil_tmp45 = (struct device  const  *)__cil_tmp44;
18613#line 417
18614    tmp___5 = dev_name(__cil_tmp45);
18615#line 417
18616    printk("<3>mISDN:cannot create kernel thread for %s (%d)\n", tmp___5, err);
18617#line 420
18618    __cil_tmp46 = dev->teimgr;
18619#line 420
18620    delete_teimanager(__cil_tmp46);
18621#line 421
18622    __cil_tmp47 = (void const   *)newst;
18623#line 421
18624    kfree(__cil_tmp47);
18625    }
18626  } else {
18627    {
18628#line 423
18629    wait_for_completion(& done);
18630    }
18631  }
18632#line 424
18633  return (err);
18634}
18635}
18636#line 428 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18637int connect_layer1(struct mISDNdevice *dev , struct mISDNchannel *ch , u_int protocol ,
18638                   struct sockaddr_mISDN *adr ) 
18639{ struct mISDN_sock *msk ;
18640  struct mISDNchannel  const  *__mptr ;
18641  struct channel_req rq ;
18642  int err ;
18643  char const   *tmp ;
18644  struct mISDN_sock *__cil_tmp10 ;
18645  u_int __cil_tmp11 ;
18646  unsigned int __cil_tmp12 ;
18647  struct device *__cil_tmp13 ;
18648  struct device  const  *__cil_tmp14 ;
18649  unsigned char __cil_tmp15 ;
18650  int __cil_tmp16 ;
18651  unsigned char __cil_tmp17 ;
18652  int __cil_tmp18 ;
18653  unsigned char __cil_tmp19 ;
18654  int __cil_tmp20 ;
18655  unsigned char __cil_tmp21 ;
18656  int __cil_tmp22 ;
18657  int __cil_tmp23 ;
18658  int __cil_tmp24 ;
18659  int __cil_tmp25 ;
18660  int __cil_tmp26 ;
18661  struct mISDNstack *__cil_tmp27 ;
18662  ctrl_func_t *__cil_tmp28 ;
18663  struct mISDNchannel *__cil_tmp29 ;
18664  void *__cil_tmp30 ;
18665  u_int __cil_tmp31 ;
18666  struct mISDNstack *__cil_tmp32 ;
18667  rwlock_t *__cil_tmp33 ;
18668  struct sock *__cil_tmp34 ;
18669  struct mISDNstack *__cil_tmp35 ;
18670  struct hlist_head *__cil_tmp36 ;
18671  struct mISDNstack *__cil_tmp37 ;
18672  rwlock_t *__cil_tmp38 ;
18673
18674  {
18675#line 431
18676  __mptr = (struct mISDNchannel  const  *)ch;
18677#line 431
18678  __cil_tmp10 = (struct mISDN_sock *)__mptr;
18679#line 431
18680  msk = __cil_tmp10 + 1152921504606845704UL;
18681  {
18682#line 436
18683  __cil_tmp11 = *debug___2;
18684#line 436
18685  __cil_tmp12 = __cil_tmp11 & 2U;
18686#line 436
18687  if (__cil_tmp12 != 0U) {
18688    {
18689#line 437
18690    __cil_tmp13 = & dev->dev;
18691#line 437
18692    __cil_tmp14 = (struct device  const  *)__cil_tmp13;
18693#line 437
18694    tmp = dev_name(__cil_tmp14);
18695#line 437
18696    __cil_tmp15 = adr->dev;
18697#line 437
18698    __cil_tmp16 = (int )__cil_tmp15;
18699#line 437
18700    __cil_tmp17 = adr->channel;
18701#line 437
18702    __cil_tmp18 = (int )__cil_tmp17;
18703#line 437
18704    __cil_tmp19 = adr->sapi;
18705#line 437
18706    __cil_tmp20 = (int )__cil_tmp19;
18707#line 437
18708    __cil_tmp21 = adr->tei;
18709#line 437
18710    __cil_tmp22 = (int )__cil_tmp21;
18711#line 437
18712    printk("<7>%s: %s proto(%x) adr(%d %d %d %d)\n", "connect_layer1", tmp, protocol,
18713           __cil_tmp16, __cil_tmp18, __cil_tmp20, __cil_tmp22);
18714    }
18715  } else {
18716
18717  }
18718  }
18719  {
18720#line 441
18721  __cil_tmp23 = (int )protocol;
18722#line 441
18723  if (__cil_tmp23 == 2) {
18724#line 441
18725    goto case_2;
18726  } else {
18727    {
18728#line 442
18729    __cil_tmp24 = (int )protocol;
18730#line 442
18731    if (__cil_tmp24 == 4) {
18732#line 442
18733      goto case_4;
18734    } else {
18735      {
18736#line 443
18737      __cil_tmp25 = (int )protocol;
18738#line 443
18739      if (__cil_tmp25 == 1) {
18740#line 443
18741        goto case_1;
18742      } else {
18743        {
18744#line 444
18745        __cil_tmp26 = (int )protocol;
18746#line 444
18747        if (__cil_tmp26 == 3) {
18748#line 444
18749          goto case_3;
18750        } else {
18751#line 459
18752          goto switch_default;
18753#line 440
18754          if (0) {
18755            case_2: ;
18756            case_4: ;
18757            case_1: ;
18758            case_3: 
18759            {
18760#line 445
18761            ch->recv = & mISDN_queue_message;
18762#line 446
18763            __cil_tmp27 = dev->D.st;
18764#line 446
18765            ch->peer = & __cil_tmp27->own;
18766#line 447
18767            ch->st = dev->D.st;
18768#line 448
18769            rq.protocol = protocol;
18770#line 449
18771            rq.adr.channel = adr->channel;
18772#line 450
18773            __cil_tmp28 = dev->D.ctrl;
18774#line 450
18775            __cil_tmp29 = & dev->D;
18776#line 450
18777            __cil_tmp30 = (void *)(& rq);
18778#line 450
18779            err = (*__cil_tmp28)(__cil_tmp29, 256U, __cil_tmp30);
18780#line 451
18781            __cil_tmp31 = dev->id;
18782#line 451
18783            printk("<7>%s: ret %d (dev %d)\n", "connect_layer1", err, __cil_tmp31);
18784            }
18785#line 453
18786            if (err != 0) {
18787#line 454
18788              return (err);
18789            } else {
18790
18791            }
18792            {
18793#line 455
18794            __cil_tmp32 = dev->D.st;
18795#line 455
18796            __cil_tmp33 = & __cil_tmp32->l1sock.lock;
18797#line 455
18798            _raw_write_lock_bh(__cil_tmp33);
18799#line 456
18800            __cil_tmp34 = & msk->sk;
18801#line 456
18802            __cil_tmp35 = dev->D.st;
18803#line 456
18804            __cil_tmp36 = & __cil_tmp35->l1sock.head;
18805#line 456
18806            sk_add_node(__cil_tmp34, __cil_tmp36);
18807#line 457
18808            __cil_tmp37 = dev->D.st;
18809#line 457
18810            __cil_tmp38 = & __cil_tmp37->l1sock.lock;
18811#line 457
18812            _raw_write_unlock_bh(__cil_tmp38);
18813            }
18814#line 458
18815            goto ldv_38555;
18816            switch_default: ;
18817#line 460
18818            return (-92);
18819          } else {
18820
18821          }
18822        }
18823        }
18824      }
18825      }
18826    }
18827    }
18828  }
18829  }
18830  ldv_38555: ;
18831#line 462
18832  return (0);
18833}
18834}
18835#line 466 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
18836int connect_Bstack(struct mISDNdevice *dev , struct mISDNchannel *ch , u_int protocol ,
18837                   struct sockaddr_mISDN *adr ) 
18838{ struct channel_req rq ;
18839  struct channel_req rq2 ;
18840  int pmask ;
18841  int err ;
18842  struct Bprotocol *bp ;
18843  char const   *tmp ;
18844  u_int __cil_tmp11 ;
18845  unsigned int __cil_tmp12 ;
18846  struct device *__cil_tmp13 ;
18847  struct device  const  *__cil_tmp14 ;
18848  unsigned char __cil_tmp15 ;
18849  int __cil_tmp16 ;
18850  unsigned char __cil_tmp17 ;
18851  int __cil_tmp18 ;
18852  unsigned char __cil_tmp19 ;
18853  int __cil_tmp20 ;
18854  unsigned char __cil_tmp21 ;
18855  int __cil_tmp22 ;
18856  int __cil_tmp23 ;
18857  int __cil_tmp24 ;
18858  u_int __cil_tmp25 ;
18859  u_int __cil_tmp26 ;
18860  unsigned int __cil_tmp27 ;
18861  ctrl_func_t *__cil_tmp28 ;
18862  struct mISDNchannel *__cil_tmp29 ;
18863  void *__cil_tmp30 ;
18864  u_int __cil_tmp31 ;
18865  struct Bprotocol *__cil_tmp32 ;
18866  unsigned long __cil_tmp33 ;
18867  unsigned long __cil_tmp34 ;
18868  create_func_t *__cil_tmp35 ;
18869  ctrl_func_t *__cil_tmp36 ;
18870  struct mISDNchannel *__cil_tmp37 ;
18871  void *__cil_tmp38 ;
18872  ctrl_func_t *__cil_tmp39 ;
18873  void *__cil_tmp40 ;
18874
18875  {
18876  {
18877#line 473
18878  __cil_tmp11 = *debug___2;
18879#line 473
18880  __cil_tmp12 = __cil_tmp11 & 2U;
18881#line 473
18882  if (__cil_tmp12 != 0U) {
18883    {
18884#line 474
18885    __cil_tmp13 = & dev->dev;
18886#line 474
18887    __cil_tmp14 = (struct device  const  *)__cil_tmp13;
18888#line 474
18889    tmp = dev_name(__cil_tmp14);
18890#line 474
18891    __cil_tmp15 = adr->dev;
18892#line 474
18893    __cil_tmp16 = (int )__cil_tmp15;
18894#line 474
18895    __cil_tmp17 = adr->channel;
18896#line 474
18897    __cil_tmp18 = (int )__cil_tmp17;
18898#line 474
18899    __cil_tmp19 = adr->sapi;
18900#line 474
18901    __cil_tmp20 = (int )__cil_tmp19;
18902#line 474
18903    __cil_tmp21 = adr->tei;
18904#line 474
18905    __cil_tmp22 = (int )__cil_tmp21;
18906#line 474
18907    printk("<7>%s: %s proto(%x) adr(%d %d %d %d)\n", "connect_Bstack", tmp, protocol,
18908           __cil_tmp16, __cil_tmp18, __cil_tmp20, __cil_tmp22);
18909    }
18910  } else {
18911
18912  }
18913  }
18914#line 478
18915  ch->st = dev->D.st;
18916#line 479
18917  __cil_tmp23 = (int )protocol;
18918#line 479
18919  __cil_tmp24 = __cil_tmp23 & 31;
18920#line 479
18921  pmask = 1 << __cil_tmp24;
18922  {
18923#line 480
18924  __cil_tmp25 = (u_int )pmask;
18925#line 480
18926  __cil_tmp26 = dev->Bprotocols;
18927#line 480
18928  __cil_tmp27 = __cil_tmp26 & __cil_tmp25;
18929#line 480
18930  if (__cil_tmp27 != 0U) {
18931    {
18932#line 481
18933    rq.protocol = protocol;
18934#line 482
18935    rq.adr = *adr;
18936#line 483
18937    __cil_tmp28 = dev->D.ctrl;
18938#line 483
18939    __cil_tmp29 = & dev->D;
18940#line 483
18941    __cil_tmp30 = (void *)(& rq);
18942#line 483
18943    err = (*__cil_tmp28)(__cil_tmp29, 256U, __cil_tmp30);
18944    }
18945#line 484
18946    if (err != 0) {
18947#line 485
18948      return (err);
18949    } else {
18950
18951    }
18952#line 486
18953    ch->recv = (rq.ch)->send;
18954#line 487
18955    ch->peer = rq.ch;
18956#line 488
18957    (rq.ch)->recv = ch->send;
18958#line 489
18959    (rq.ch)->peer = ch;
18960#line 490
18961    (rq.ch)->st = dev->D.st;
18962  } else {
18963    {
18964#line 492
18965    __cil_tmp31 = (u_int )pmask;
18966#line 492
18967    bp = get_Bprotocol4mask(__cil_tmp31);
18968    }
18969    {
18970#line 493
18971    __cil_tmp32 = (struct Bprotocol *)0;
18972#line 493
18973    __cil_tmp33 = (unsigned long )__cil_tmp32;
18974#line 493
18975    __cil_tmp34 = (unsigned long )bp;
18976#line 493
18977    if (__cil_tmp34 == __cil_tmp33) {
18978#line 494
18979      return (-92);
18980    } else {
18981
18982    }
18983    }
18984    {
18985#line 495
18986    rq2.protocol = protocol;
18987#line 496
18988    rq2.adr = *adr;
18989#line 497
18990    rq2.ch = ch;
18991#line 498
18992    __cil_tmp35 = bp->create;
18993#line 498
18994    err = (*__cil_tmp35)(& rq2);
18995    }
18996#line 499
18997    if (err != 0) {
18998#line 500
18999      return (err);
19000    } else {
19001
19002    }
19003    {
19004#line 501
19005    ch->recv = (rq2.ch)->send;
19006#line 502
19007    ch->peer = rq2.ch;
19008#line 503
19009    (rq2.ch)->st = dev->D.st;
19010#line 504
19011    rq.protocol = rq2.protocol;
19012#line 505
19013    rq.adr = *adr;
19014#line 506
19015    __cil_tmp36 = dev->D.ctrl;
19016#line 506
19017    __cil_tmp37 = & dev->D;
19018#line 506
19019    __cil_tmp38 = (void *)(& rq);
19020#line 506
19021    err = (*__cil_tmp36)(__cil_tmp37, 256U, __cil_tmp38);
19022    }
19023#line 507
19024    if (err != 0) {
19025      {
19026#line 508
19027      __cil_tmp39 = (rq2.ch)->ctrl;
19028#line 508
19029      __cil_tmp40 = (void *)0;
19030#line 508
19031      (*__cil_tmp39)(rq2.ch, 512U, __cil_tmp40);
19032      }
19033#line 509
19034      return (err);
19035    } else {
19036
19037    }
19038#line 511
19039    (rq2.ch)->recv = (rq.ch)->send;
19040#line 512
19041    (rq2.ch)->peer = rq.ch;
19042#line 513
19043    (rq.ch)->recv = (rq2.ch)->send;
19044#line 514
19045    (rq.ch)->peer = rq2.ch;
19046#line 515
19047    (rq.ch)->st = dev->D.st;
19048  }
19049  }
19050#line 517
19051  ch->protocol = protocol;
19052#line 518
19053  ch->nr = (rq.ch)->nr;
19054#line 519
19055  return (0);
19056}
19057}
19058#line 523 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
19059int create_l2entity(struct mISDNdevice *dev , struct mISDNchannel *ch , u_int protocol ,
19060                    struct sockaddr_mISDN *adr ) 
19061{ struct channel_req rq ;
19062  int err ;
19063  char const   *tmp ;
19064  u_int __cil_tmp8 ;
19065  unsigned int __cil_tmp9 ;
19066  struct device *__cil_tmp10 ;
19067  struct device  const  *__cil_tmp11 ;
19068  unsigned char __cil_tmp12 ;
19069  int __cil_tmp13 ;
19070  unsigned char __cil_tmp14 ;
19071  int __cil_tmp15 ;
19072  unsigned char __cil_tmp16 ;
19073  int __cil_tmp17 ;
19074  unsigned char __cil_tmp18 ;
19075  int __cil_tmp19 ;
19076  u_int __cil_tmp20 ;
19077  unsigned int __cil_tmp21 ;
19078  int __cil_tmp22 ;
19079  int __cil_tmp23 ;
19080  u_int __cil_tmp24 ;
19081  unsigned int __cil_tmp25 ;
19082  struct mISDNstack *__cil_tmp26 ;
19083  ctrl_func_t *__cil_tmp27 ;
19084  struct mISDNchannel *__cil_tmp28 ;
19085  void *__cil_tmp29 ;
19086  struct mISDNchannel *__cil_tmp30 ;
19087  ctrl_func_t *__cil_tmp31 ;
19088  struct mISDNchannel *__cil_tmp32 ;
19089  void *__cil_tmp33 ;
19090  struct mISDNchannel *__cil_tmp34 ;
19091  unsigned long __cil_tmp35 ;
19092  unsigned long __cil_tmp36 ;
19093  struct mISDNstack *__cil_tmp37 ;
19094  struct mISDNstack *__cil_tmp38 ;
19095  ctrl_func_t *__cil_tmp39 ;
19096  void *__cil_tmp40 ;
19097
19098  {
19099  {
19100#line 529
19101  __cil_tmp8 = *debug___2;
19102#line 529
19103  __cil_tmp9 = __cil_tmp8 & 2U;
19104#line 529
19105  if (__cil_tmp9 != 0U) {
19106    {
19107#line 530
19108    __cil_tmp10 = & dev->dev;
19109#line 530
19110    __cil_tmp11 = (struct device  const  *)__cil_tmp10;
19111#line 530
19112    tmp = dev_name(__cil_tmp11);
19113#line 530
19114    __cil_tmp12 = adr->dev;
19115#line 530
19116    __cil_tmp13 = (int )__cil_tmp12;
19117#line 530
19118    __cil_tmp14 = adr->channel;
19119#line 530
19120    __cil_tmp15 = (int )__cil_tmp14;
19121#line 530
19122    __cil_tmp16 = adr->sapi;
19123#line 530
19124    __cil_tmp17 = (int )__cil_tmp16;
19125#line 530
19126    __cil_tmp18 = adr->tei;
19127#line 530
19128    __cil_tmp19 = (int )__cil_tmp18;
19129#line 530
19130    printk("<7>%s: %s proto(%x) adr(%d %d %d %d)\n", "create_l2entity", tmp, protocol,
19131           __cil_tmp13, __cil_tmp15, __cil_tmp17, __cil_tmp19);
19132    }
19133  } else {
19134
19135  }
19136  }
19137#line 534
19138  rq.protocol = 1U;
19139  {
19140#line 535
19141  __cil_tmp20 = dev->Dprotocols;
19142#line 535
19143  __cil_tmp21 = __cil_tmp20 & 8U;
19144#line 535
19145  if (__cil_tmp21 != 0U) {
19146#line 536
19147    rq.protocol = 3U;
19148  } else {
19149
19150  }
19151  }
19152  {
19153#line 538
19154  __cil_tmp22 = (int )protocol;
19155#line 538
19156  if (__cil_tmp22 == 17) {
19157#line 538
19158    goto case_17;
19159  } else {
19160    {
19161#line 542
19162    __cil_tmp23 = (int )protocol;
19163#line 542
19164    if (__cil_tmp23 == 16) {
19165#line 542
19166      goto case_16;
19167    } else {
19168#line 565
19169      goto switch_default;
19170#line 537
19171      if (0) {
19172        case_17: 
19173#line 539
19174        rq.protocol = 2U;
19175        {
19176#line 540
19177        __cil_tmp24 = dev->Dprotocols;
19178#line 540
19179        __cil_tmp25 = __cil_tmp24 & 16U;
19180#line 540
19181        if (__cil_tmp25 != 0U) {
19182#line 541
19183          rq.protocol = 4U;
19184        } else {
19185
19186        }
19187        }
19188        case_16: 
19189        {
19190#line 543
19191        ch->recv = & mISDN_queue_message;
19192#line 544
19193        __cil_tmp26 = dev->D.st;
19194#line 544
19195        ch->peer = & __cil_tmp26->own;
19196#line 545
19197        ch->st = dev->D.st;
19198#line 546
19199        rq.adr.channel = (unsigned char)0;
19200#line 547
19201        __cil_tmp27 = dev->D.ctrl;
19202#line 547
19203        __cil_tmp28 = & dev->D;
19204#line 547
19205        __cil_tmp29 = (void *)(& rq);
19206#line 547
19207        err = (*__cil_tmp27)(__cil_tmp28, 256U, __cil_tmp29);
19208#line 548
19209        printk("<7>%s: ret 1 %d\n", "create_l2entity", err);
19210        }
19211#line 549
19212        if (err != 0) {
19213#line 550
19214          goto ldv_38580;
19215        } else {
19216
19217        }
19218        {
19219#line 551
19220        rq.protocol = protocol;
19221#line 552
19222        rq.adr = *adr;
19223#line 553
19224        rq.ch = ch;
19225#line 554
19226        __cil_tmp30 = dev->teimgr;
19227#line 554
19228        __cil_tmp31 = __cil_tmp30->ctrl;
19229#line 554
19230        __cil_tmp32 = dev->teimgr;
19231#line 554
19232        __cil_tmp33 = (void *)(& rq);
19233#line 554
19234        err = (*__cil_tmp31)(__cil_tmp32, 256U, __cil_tmp33);
19235#line 555
19236        printk("<7>%s: ret 2 %d\n", "create_l2entity", err);
19237        }
19238#line 556
19239        if (err == 0) {
19240#line 557
19241          if (protocol == 17U) {
19242            {
19243#line 557
19244            __cil_tmp34 = (struct mISDNchannel *)0;
19245#line 557
19246            __cil_tmp35 = (unsigned long )__cil_tmp34;
19247#line 557
19248            __cil_tmp36 = (unsigned long )rq.ch;
19249#line 557
19250            if (__cil_tmp36 == __cil_tmp35) {
19251#line 558
19252              goto ldv_38580;
19253            } else {
19254
19255            }
19256            }
19257          } else {
19258
19259          }
19260          {
19261#line 559
19262          __cil_tmp37 = dev->D.st;
19263#line 559
19264          add_layer2(rq.ch, __cil_tmp37);
19265#line 560
19266          (rq.ch)->recv = & mISDN_queue_message;
19267#line 561
19268          __cil_tmp38 = dev->D.st;
19269#line 561
19270          (rq.ch)->peer = & __cil_tmp38->own;
19271#line 562
19272          __cil_tmp39 = (rq.ch)->ctrl;
19273#line 562
19274          __cil_tmp40 = (void *)0;
19275#line 562
19276          (*__cil_tmp39)(rq.ch, 256U, __cil_tmp40);
19277          }
19278        } else {
19279
19280        }
19281#line 564
19282        goto ldv_38580;
19283        switch_default: 
19284#line 566
19285        err = -93;
19286      } else {
19287
19288      }
19289    }
19290    }
19291  }
19292  }
19293  ldv_38580: ;
19294#line 568
19295  return (err);
19296}
19297}
19298#line 572 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
19299void delete_channel(struct mISDNchannel *ch ) 
19300{ struct mISDN_sock *msk ;
19301  struct mISDNchannel  const  *__mptr ;
19302  struct mISDNchannel *pch ;
19303  char const   *tmp ;
19304  struct mISDN_sock *__cil_tmp6 ;
19305  struct mISDNstack *__cil_tmp7 ;
19306  unsigned long __cil_tmp8 ;
19307  struct mISDNstack *__cil_tmp9 ;
19308  unsigned long __cil_tmp10 ;
19309  u_int __cil_tmp11 ;
19310  unsigned int __cil_tmp12 ;
19311  struct mISDNstack *__cil_tmp13 ;
19312  struct mISDNdevice *__cil_tmp14 ;
19313  struct device *__cil_tmp15 ;
19314  struct device  const  *__cil_tmp16 ;
19315  u_int __cil_tmp17 ;
19316  u_int __cil_tmp18 ;
19317  struct mISDNchannel *__cil_tmp19 ;
19318  unsigned long __cil_tmp20 ;
19319  struct mISDNchannel *__cil_tmp21 ;
19320  unsigned long __cil_tmp22 ;
19321  struct mISDNchannel *__cil_tmp23 ;
19322  ctrl_func_t *__cil_tmp24 ;
19323  struct mISDNchannel *__cil_tmp25 ;
19324  void *__cil_tmp26 ;
19325  u_int __cil_tmp27 ;
19326  int __cil_tmp28 ;
19327  u_int __cil_tmp29 ;
19328  int __cil_tmp30 ;
19329  u_int __cil_tmp31 ;
19330  int __cil_tmp32 ;
19331  u_int __cil_tmp33 ;
19332  int __cil_tmp34 ;
19333  u_int __cil_tmp35 ;
19334  int __cil_tmp36 ;
19335  u_int __cil_tmp37 ;
19336  int __cil_tmp38 ;
19337  struct mISDNstack *__cil_tmp39 ;
19338  rwlock_t *__cil_tmp40 ;
19339  struct sock *__cil_tmp41 ;
19340  struct mISDNstack *__cil_tmp42 ;
19341  rwlock_t *__cil_tmp43 ;
19342  struct mISDNstack *__cil_tmp44 ;
19343  struct mISDNdevice *__cil_tmp45 ;
19344  ctrl_func_t *__cil_tmp46 ;
19345  struct mISDNstack *__cil_tmp47 ;
19346  struct mISDNdevice *__cil_tmp48 ;
19347  struct mISDNchannel *__cil_tmp49 ;
19348  void *__cil_tmp50 ;
19349  struct mISDNstack *__cil_tmp51 ;
19350  u_int __cil_tmp52 ;
19351  struct mISDNchannel *__cil_tmp53 ;
19352  unsigned long __cil_tmp54 ;
19353  unsigned long __cil_tmp55 ;
19354  struct mISDNstack *__cil_tmp56 ;
19355  struct mutex *__cil_tmp57 ;
19356  struct list_head *__cil_tmp58 ;
19357  struct mISDNstack *__cil_tmp59 ;
19358  struct mutex *__cil_tmp60 ;
19359  ctrl_func_t *__cil_tmp61 ;
19360  void *__cil_tmp62 ;
19361  struct mISDNstack *__cil_tmp63 ;
19362  struct mISDNdevice *__cil_tmp64 ;
19363  ctrl_func_t *__cil_tmp65 ;
19364  void *__cil_tmp66 ;
19365  struct mISDNstack *__cil_tmp67 ;
19366  struct mISDNdevice *__cil_tmp68 ;
19367  struct mISDNchannel *__cil_tmp69 ;
19368  unsigned long __cil_tmp70 ;
19369  unsigned long __cil_tmp71 ;
19370  ctrl_func_t *__cil_tmp72 ;
19371  void *__cil_tmp73 ;
19372
19373  {
19374#line 574
19375  __mptr = (struct mISDNchannel  const  *)ch;
19376#line 574
19377  __cil_tmp6 = (struct mISDN_sock *)__mptr;
19378#line 574
19379  msk = __cil_tmp6 + 1152921504606845704UL;
19380  {
19381#line 577
19382  __cil_tmp7 = (struct mISDNstack *)0;
19383#line 577
19384  __cil_tmp8 = (unsigned long )__cil_tmp7;
19385#line 577
19386  __cil_tmp9 = ch->st;
19387#line 577
19388  __cil_tmp10 = (unsigned long )__cil_tmp9;
19389#line 577
19390  if (__cil_tmp10 == __cil_tmp8) {
19391    {
19392#line 578
19393    printk("<4>%s: no stack\n", "delete_channel");
19394    }
19395#line 579
19396    return;
19397  } else {
19398
19399  }
19400  }
19401  {
19402#line 581
19403  __cil_tmp11 = *debug___2;
19404#line 581
19405  __cil_tmp12 = __cil_tmp11 & 2U;
19406#line 581
19407  if (__cil_tmp12 != 0U) {
19408    {
19409#line 582
19410    __cil_tmp13 = ch->st;
19411#line 582
19412    __cil_tmp14 = __cil_tmp13->dev;
19413#line 582
19414    __cil_tmp15 = & __cil_tmp14->dev;
19415#line 582
19416    __cil_tmp16 = (struct device  const  *)__cil_tmp15;
19417#line 582
19418    tmp = dev_name(__cil_tmp16);
19419#line 582
19420    __cil_tmp17 = ch->protocol;
19421#line 582
19422    printk("<7>%s: st(%s) protocol(%x)\n", "delete_channel", tmp, __cil_tmp17);
19423    }
19424  } else {
19425
19426  }
19427  }
19428  {
19429#line 584
19430  __cil_tmp18 = ch->protocol;
19431#line 584
19432  if (__cil_tmp18 > 31U) {
19433    {
19434#line 585
19435    __cil_tmp19 = (struct mISDNchannel *)0;
19436#line 585
19437    __cil_tmp20 = (unsigned long )__cil_tmp19;
19438#line 585
19439    __cil_tmp21 = ch->peer;
19440#line 585
19441    __cil_tmp22 = (unsigned long )__cil_tmp21;
19442#line 585
19443    if (__cil_tmp22 != __cil_tmp20) {
19444      {
19445#line 586
19446      __cil_tmp23 = ch->peer;
19447#line 586
19448      __cil_tmp24 = __cil_tmp23->ctrl;
19449#line 586
19450      __cil_tmp25 = ch->peer;
19451#line 586
19452      __cil_tmp26 = (void *)0;
19453#line 586
19454      (*__cil_tmp24)(__cil_tmp25, 512U, __cil_tmp26);
19455#line 587
19456      ch->peer = (struct mISDNchannel *)0;
19457      }
19458    } else {
19459
19460    }
19461    }
19462#line 589
19463    return;
19464  } else {
19465
19466  }
19467  }
19468  {
19469#line 592
19470  __cil_tmp27 = ch->protocol;
19471#line 592
19472  __cil_tmp28 = (int )__cil_tmp27;
19473#line 592
19474  if (__cil_tmp28 == 2) {
19475#line 592
19476    goto case_2;
19477  } else {
19478    {
19479#line 593
19480    __cil_tmp29 = ch->protocol;
19481#line 593
19482    __cil_tmp30 = (int )__cil_tmp29;
19483#line 593
19484    if (__cil_tmp30 == 1) {
19485#line 593
19486      goto case_1;
19487    } else {
19488      {
19489#line 594
19490      __cil_tmp31 = ch->protocol;
19491#line 594
19492      __cil_tmp32 = (int )__cil_tmp31;
19493#line 594
19494      if (__cil_tmp32 == 4) {
19495#line 594
19496        goto case_4;
19497      } else {
19498        {
19499#line 595
19500        __cil_tmp33 = ch->protocol;
19501#line 595
19502        __cil_tmp34 = (int )__cil_tmp33;
19503#line 595
19504        if (__cil_tmp34 == 3) {
19505#line 595
19506          goto case_3;
19507        } else {
19508          {
19509#line 601
19510          __cil_tmp35 = ch->protocol;
19511#line 601
19512          __cil_tmp36 = (int )__cil_tmp35;
19513#line 601
19514          if (__cil_tmp36 == 16) {
19515#line 601
19516            goto case_16;
19517          } else {
19518            {
19519#line 614
19520            __cil_tmp37 = ch->protocol;
19521#line 614
19522            __cil_tmp38 = (int )__cil_tmp37;
19523#line 614
19524            if (__cil_tmp38 == 17) {
19525#line 614
19526              goto case_17;
19527            } else {
19528#line 622
19529              goto switch_default;
19530#line 591
19531              if (0) {
19532                case_2: ;
19533                case_1: ;
19534                case_4: ;
19535                case_3: 
19536                {
19537#line 596
19538                __cil_tmp39 = ch->st;
19539#line 596
19540                __cil_tmp40 = & __cil_tmp39->l1sock.lock;
19541#line 596
19542                _raw_write_lock_bh(__cil_tmp40);
19543#line 597
19544                __cil_tmp41 = & msk->sk;
19545#line 597
19546                sk_del_node_init(__cil_tmp41);
19547#line 598
19548                __cil_tmp42 = ch->st;
19549#line 598
19550                __cil_tmp43 = & __cil_tmp42->l1sock.lock;
19551#line 598
19552                _raw_write_unlock_bh(__cil_tmp43);
19553#line 599
19554                __cil_tmp44 = ch->st;
19555#line 599
19556                __cil_tmp45 = __cil_tmp44->dev;
19557#line 599
19558                __cil_tmp46 = __cil_tmp45->D.ctrl;
19559#line 599
19560                __cil_tmp47 = ch->st;
19561#line 599
19562                __cil_tmp48 = __cil_tmp47->dev;
19563#line 599
19564                __cil_tmp49 = & __cil_tmp48->D;
19565#line 599
19566                __cil_tmp50 = (void *)0;
19567#line 599
19568                (*__cil_tmp46)(__cil_tmp49, 512U, __cil_tmp50);
19569                }
19570#line 600
19571                goto ldv_38594;
19572                case_16: 
19573                {
19574#line 602
19575                __cil_tmp51 = ch->st;
19576#line 602
19577                __cil_tmp52 = ch->nr;
19578#line 602
19579                pch = get_channel4id(__cil_tmp51, __cil_tmp52);
19580                }
19581                {
19582#line 603
19583                __cil_tmp53 = (struct mISDNchannel *)0;
19584#line 603
19585                __cil_tmp54 = (unsigned long )__cil_tmp53;
19586#line 603
19587                __cil_tmp55 = (unsigned long )pch;
19588#line 603
19589                if (__cil_tmp55 != __cil_tmp54) {
19590                  {
19591#line 604
19592                  __cil_tmp56 = ch->st;
19593#line 604
19594                  __cil_tmp57 = & __cil_tmp56->lmutex;
19595#line 604
19596                  mutex_lock_nested(__cil_tmp57, 0U);
19597#line 605
19598                  __cil_tmp58 = & pch->list;
19599#line 605
19600                  list_del(__cil_tmp58);
19601#line 606
19602                  __cil_tmp59 = ch->st;
19603#line 606
19604                  __cil_tmp60 = & __cil_tmp59->lmutex;
19605#line 606
19606                  mutex_unlock(__cil_tmp60);
19607#line 607
19608                  __cil_tmp61 = pch->ctrl;
19609#line 607
19610                  __cil_tmp62 = (void *)0;
19611#line 607
19612                  (*__cil_tmp61)(pch, 512U, __cil_tmp62);
19613#line 608
19614                  __cil_tmp63 = ch->st;
19615#line 608
19616                  __cil_tmp64 = __cil_tmp63->dev;
19617#line 608
19618                  pch = __cil_tmp64->teimgr;
19619#line 609
19620                  __cil_tmp65 = pch->ctrl;
19621#line 609
19622                  __cil_tmp66 = (void *)0;
19623#line 609
19624                  (*__cil_tmp65)(pch, 512U, __cil_tmp66);
19625                  }
19626                } else {
19627                  {
19628#line 611
19629                  printk("<4>%s: no l2 channel\n", "delete_channel");
19630                  }
19631                }
19632                }
19633#line 613
19634                goto ldv_38594;
19635                case_17: 
19636#line 615
19637                __cil_tmp67 = ch->st;
19638#line 615
19639                __cil_tmp68 = __cil_tmp67->dev;
19640#line 615
19641                pch = __cil_tmp68->teimgr;
19642                {
19643#line 616
19644                __cil_tmp69 = (struct mISDNchannel *)0;
19645#line 616
19646                __cil_tmp70 = (unsigned long )__cil_tmp69;
19647#line 616
19648                __cil_tmp71 = (unsigned long )pch;
19649#line 616
19650                if (__cil_tmp71 != __cil_tmp70) {
19651                  {
19652#line 617
19653                  __cil_tmp72 = pch->ctrl;
19654#line 617
19655                  __cil_tmp73 = (void *)0;
19656#line 617
19657                  (*__cil_tmp72)(pch, 512U, __cil_tmp73);
19658                  }
19659                } else {
19660                  {
19661#line 619
19662                  printk("<4>%s: no l2 channel\n", "delete_channel");
19663                  }
19664                }
19665                }
19666#line 621
19667                goto ldv_38594;
19668                switch_default: ;
19669#line 623
19670                goto ldv_38594;
19671              } else {
19672
19673              }
19674            }
19675            }
19676          }
19677          }
19678        }
19679        }
19680      }
19681      }
19682    }
19683    }
19684  }
19685  }
19686  ldv_38594: ;
19687#line 625
19688  return;
19689}
19690}
19691#line 629 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
19692void delete_stack(struct mISDNdevice *dev ) 
19693{ struct mISDNstack *st ;
19694  struct completion done ;
19695  char const   *tmp ;
19696  int tmp___0 ;
19697  int tmp___1 ;
19698  u_int __cil_tmp7 ;
19699  unsigned int __cil_tmp8 ;
19700  struct mISDNdevice *__cil_tmp9 ;
19701  struct device *__cil_tmp10 ;
19702  struct device  const  *__cil_tmp11 ;
19703  struct mISDNchannel *__cil_tmp12 ;
19704  unsigned long __cil_tmp13 ;
19705  struct mISDNchannel *__cil_tmp14 ;
19706  unsigned long __cil_tmp15 ;
19707  struct mISDNchannel *__cil_tmp16 ;
19708  struct task_struct *__cil_tmp17 ;
19709  unsigned long __cil_tmp18 ;
19710  struct task_struct *__cil_tmp19 ;
19711  unsigned long __cil_tmp20 ;
19712  struct completion *__cil_tmp21 ;
19713  unsigned long __cil_tmp22 ;
19714  struct completion *__cil_tmp23 ;
19715  unsigned long __cil_tmp24 ;
19716  struct completion *__cil_tmp25 ;
19717  u_long *__cil_tmp26 ;
19718  unsigned long volatile   *__cil_tmp27 ;
19719  u_long *__cil_tmp28 ;
19720  unsigned long volatile   *__cil_tmp29 ;
19721  wait_queue_head_t *__cil_tmp30 ;
19722  void *__cil_tmp31 ;
19723  struct list_head *__cil_tmp32 ;
19724  struct list_head  const  *__cil_tmp33 ;
19725  struct hlist_head *__cil_tmp34 ;
19726  struct hlist_head  const  *__cil_tmp35 ;
19727  void const   *__cil_tmp36 ;
19728
19729  {
19730  {
19731#line 631
19732  st = dev->D.st;
19733#line 632
19734  init_completion(& done);
19735#line 632
19736  done = done;
19737  }
19738  {
19739#line 634
19740  __cil_tmp7 = *debug___2;
19741#line 634
19742  __cil_tmp8 = __cil_tmp7 & 2U;
19743#line 634
19744  if (__cil_tmp8 != 0U) {
19745    {
19746#line 635
19747    __cil_tmp9 = st->dev;
19748#line 635
19749    __cil_tmp10 = & __cil_tmp9->dev;
19750#line 635
19751    __cil_tmp11 = (struct device  const  *)__cil_tmp10;
19752#line 635
19753    tmp = dev_name(__cil_tmp11);
19754#line 635
19755    printk("<7>%s: st(%s)\n", "delete_stack", tmp);
19756    }
19757  } else {
19758
19759  }
19760  }
19761  {
19762#line 637
19763  __cil_tmp12 = (struct mISDNchannel *)0;
19764#line 637
19765  __cil_tmp13 = (unsigned long )__cil_tmp12;
19766#line 637
19767  __cil_tmp14 = dev->teimgr;
19768#line 637
19769  __cil_tmp15 = (unsigned long )__cil_tmp14;
19770#line 637
19771  if (__cil_tmp15 != __cil_tmp13) {
19772    {
19773#line 638
19774    __cil_tmp16 = dev->teimgr;
19775#line 638
19776    delete_teimanager(__cil_tmp16);
19777    }
19778  } else {
19779
19780  }
19781  }
19782  {
19783#line 639
19784  __cil_tmp17 = (struct task_struct *)0;
19785#line 639
19786  __cil_tmp18 = (unsigned long )__cil_tmp17;
19787#line 639
19788  __cil_tmp19 = st->thread;
19789#line 639
19790  __cil_tmp20 = (unsigned long )__cil_tmp19;
19791#line 639
19792  if (__cil_tmp20 != __cil_tmp18) {
19793    {
19794#line 640
19795    __cil_tmp21 = (struct completion *)0;
19796#line 640
19797    __cil_tmp22 = (unsigned long )__cil_tmp21;
19798#line 640
19799    __cil_tmp23 = st->notify;
19800#line 640
19801    __cil_tmp24 = (unsigned long )__cil_tmp23;
19802#line 640
19803    if (__cil_tmp24 != __cil_tmp22) {
19804      {
19805#line 641
19806      printk("<4>%s: notifier in use\n", "delete_stack");
19807#line 643
19808      __cil_tmp25 = st->notify;
19809#line 643
19810      complete(__cil_tmp25);
19811      }
19812    } else {
19813
19814    }
19815    }
19816    {
19817#line 645
19818    st->notify = & done;
19819#line 646
19820    __cil_tmp26 = & st->status;
19821#line 646
19822    __cil_tmp27 = (unsigned long volatile   *)__cil_tmp26;
19823#line 646
19824    test_and_set_bit(15, __cil_tmp27);
19825#line 647
19826    __cil_tmp28 = & st->status;
19827#line 647
19828    __cil_tmp29 = (unsigned long volatile   *)__cil_tmp28;
19829#line 647
19830    test_and_set_bit(4, __cil_tmp29);
19831#line 648
19832    __cil_tmp30 = & st->workq;
19833#line 648
19834    __cil_tmp31 = (void *)0;
19835#line 648
19836    __wake_up(__cil_tmp30, 1U, 1, __cil_tmp31);
19837#line 649
19838    wait_for_completion(& done);
19839    }
19840  } else {
19841
19842  }
19843  }
19844  {
19845#line 651
19846  __cil_tmp32 = & st->layer2;
19847#line 651
19848  __cil_tmp33 = (struct list_head  const  *)__cil_tmp32;
19849#line 651
19850  tmp___0 = list_empty(__cil_tmp33);
19851  }
19852#line 651
19853  if (tmp___0 == 0) {
19854    {
19855#line 652
19856    printk("<4>%s: layer2 list not empty\n", "delete_stack");
19857    }
19858  } else {
19859
19860  }
19861  {
19862#line 654
19863  __cil_tmp34 = & st->l1sock.head;
19864#line 654
19865  __cil_tmp35 = (struct hlist_head  const  *)__cil_tmp34;
19866#line 654
19867  tmp___1 = hlist_empty(__cil_tmp35);
19868  }
19869#line 654
19870  if (tmp___1 == 0) {
19871    {
19872#line 655
19873    printk("<4>%s: layer1 list not empty\n", "delete_stack");
19874    }
19875  } else {
19876
19877  }
19878  {
19879#line 657
19880  __cil_tmp36 = (void const   *)st;
19881#line 657
19882  kfree(__cil_tmp36);
19883  }
19884#line 658
19885  return;
19886}
19887}
19888#line 661 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/stack.c.p"
19889void mISDN_initstack(u_int *dp ) 
19890{ 
19891
19892  {
19893#line 663
19894  debug___2 = dp;
19895#line 664
19896  return;
19897}
19898}
19899#line 519 "include/linux/module.h"
19900__inline static void ldv___module_get_2(struct module *module ) ;
19901#line 543
19902void ldv_module_put_1(struct module *ldv_func_arg1 ) ;
19903#line 111 "include/linux/mISDNhw.h"
19904int create_l1(struct dchannel *dch , dchannel_l1callback *dcb ) ;
19905#line 140
19906int l1_event(struct layer1 *l1 , u_int event ) ;
19907#line 33 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
19908static u_int *debug___3  ;
19909#line 47 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
19910static struct Fsm l1fsm_s  =    {(FSMFNPTR (**)(struct FsmInst * , int  , void * ))0, 0, 0, (char **)0, (char **)0};
19911#line 61 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
19912static char *strL1SState[7U]  = {      (char *)"ST_L1_F2",      (char *)"ST_L1_F3",      (char *)"ST_L1_F4",      (char *)"ST_L1_F5", 
19913        (char *)"ST_L1_F6",      (char *)"ST_L1_F7",      (char *)"ST_L1_F8"};
19914#line 89 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
19915static char *strL1Event[12U]  = 
19916#line 89
19917  {      (char *)"EV_PH_ACTIVATE",      (char *)"EV_PH_DEACTIVATE",      (char *)"EV_RESET_IND",      (char *)"EV_DEACT_CNF", 
19918        (char *)"EV_DEACT_IND",      (char *)"EV_POWER_UP",      (char *)"EV_ANYSIG_IND",      (char *)"EV_INFO2_IND", 
19919        (char *)"EV_INFO4_IND",      (char *)"EV_TIMER_DEACT",      (char *)"EV_TIMER_ACT",      (char *)"EV_TIMER3"};
19920#line 106 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
19921static void l1m_debug(struct FsmInst *fi , char *fmt  , ...) 
19922{ struct layer1 *l1 ;
19923  struct va_format vaf ;
19924  va_list va ;
19925  char const   *tmp ;
19926  void *__cil_tmp7 ;
19927  __builtin_va_list __cil_tmp8 ;
19928  struct dchannel *__cil_tmp9 ;
19929  struct device *__cil_tmp10 ;
19930  struct device  const  *__cil_tmp11 ;
19931  __builtin_va_list __cil_tmp12 ;
19932
19933  {
19934  {
19935#line 108
19936  __cil_tmp7 = fi->userdata;
19937#line 108
19938  l1 = (struct layer1 *)__cil_tmp7;
19939#line 112
19940  //__cil_tmp8 = (__builtin_va_list )(& va);
19941#line 112
19942  //__builtin_va_start(&va);
19943#line 114
19944  vaf.fmt = (char const   *)fmt;
19945#line 115
19946  vaf.va = & va;
19947#line 117
19948  __cil_tmp9 = l1->dch;
19949#line 117
19950  __cil_tmp10 = & __cil_tmp9->dev.dev;
19951#line 117
19952  __cil_tmp11 = (struct device  const  *)__cil_tmp10;
19953#line 117
19954  tmp = dev_name(__cil_tmp11);
19955#line 117
19956  printk("<7>%s: %pV\n", tmp, & vaf);
19957#line 119
19958  //__cil_tmp12 = (__builtin_va_list )(& va);
19959#line 119
19960  //__builtin_va_end(&va);
19961  }
19962#line 120
19963  return;
19964}
19965}
19966#line 123 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
19967static void l1_reset(struct FsmInst *fi , int event , void *arg ) 
19968{ 
19969
19970  {
19971  {
19972#line 125
19973  mISDN_FsmChangeState(fi, 1);
19974  }
19975#line 126
19976  return;
19977}
19978}
19979#line 129 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
19980static void l1_deact_cnf(struct FsmInst *fi , int event , void *arg ) 
19981{ struct layer1 *l1 ;
19982  int tmp ;
19983  void *__cil_tmp6 ;
19984  u_long *__cil_tmp7 ;
19985  unsigned long const volatile   *__cil_tmp8 ;
19986  dchannel_l1callback *__cil_tmp9 ;
19987  struct dchannel *__cil_tmp10 ;
19988
19989  {
19990  {
19991#line 131
19992  __cil_tmp6 = fi->userdata;
19993#line 131
19994  l1 = (struct layer1 *)__cil_tmp6;
19995#line 133
19996  mISDN_FsmChangeState(fi, 1);
19997#line 134
19998  __cil_tmp7 = & l1->Flags;
19999#line 134
20000  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
20001#line 134
20002  tmp = constant_test_bit(1U, __cil_tmp8);
20003  }
20004#line 134
20005  if (tmp != 0) {
20006    {
20007#line 135
20008    __cil_tmp9 = l1->dcb;
20009#line 135
20010    __cil_tmp10 = l1->dch;
20011#line 135
20012    (*__cil_tmp9)(__cil_tmp10, 35586U);
20013    }
20014  } else {
20015
20016  }
20017#line 136
20018  return;
20019}
20020}
20021#line 139 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20022static void l1_deact_req_s(struct FsmInst *fi , int event , void *arg ) 
20023{ struct layer1 *l1 ;
20024  void *__cil_tmp5 ;
20025  struct FsmTimer *__cil_tmp6 ;
20026  void *__cil_tmp7 ;
20027  u_long *__cil_tmp8 ;
20028  unsigned long volatile   *__cil_tmp9 ;
20029
20030  {
20031  {
20032#line 141
20033  __cil_tmp5 = fi->userdata;
20034#line 141
20035  l1 = (struct layer1 *)__cil_tmp5;
20036#line 143
20037  mISDN_FsmChangeState(fi, 1);
20038#line 144
20039  __cil_tmp6 = & l1->timer;
20040#line 144
20041  __cil_tmp7 = (void *)0;
20042#line 144
20043  mISDN_FsmRestartTimer(__cil_tmp6, 550, 9, __cil_tmp7, 2);
20044#line 145
20045  __cil_tmp8 = & l1->Flags;
20046#line 145
20047  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
20048#line 145
20049  test_and_set_bit(3, __cil_tmp9);
20050  }
20051#line 146
20052  return;
20053}
20054}
20055#line 149 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20056static void l1_power_up_s(struct FsmInst *fi , int event , void *arg ) 
20057{ struct layer1 *l1 ;
20058  int tmp ;
20059  void *__cil_tmp6 ;
20060  u_long *__cil_tmp7 ;
20061  unsigned long const volatile   *__cil_tmp8 ;
20062  dchannel_l1callback *__cil_tmp9 ;
20063  struct dchannel *__cil_tmp10 ;
20064
20065  {
20066  {
20067#line 151
20068  __cil_tmp6 = fi->userdata;
20069#line 151
20070  l1 = (struct layer1 *)__cil_tmp6;
20071#line 153
20072  __cil_tmp7 = & l1->Flags;
20073#line 153
20074  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
20075#line 153
20076  tmp = constant_test_bit(1U, __cil_tmp8);
20077  }
20078#line 153
20079  if (tmp != 0) {
20080    {
20081#line 154
20082    mISDN_FsmChangeState(fi, 2);
20083#line 155
20084    __cil_tmp9 = l1->dcb;
20085#line 155
20086    __cil_tmp10 = l1->dch;
20087#line 155
20088    (*__cil_tmp9)(__cil_tmp10, 33538U);
20089    }
20090  } else {
20091    {
20092#line 157
20093    mISDN_FsmChangeState(fi, 1);
20094    }
20095  }
20096#line 158
20097  return;
20098}
20099}
20100#line 161 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20101static void l1_go_F5(struct FsmInst *fi , int event , void *arg ) 
20102{ 
20103
20104  {
20105  {
20106#line 163
20107  mISDN_FsmChangeState(fi, 3);
20108  }
20109#line 164
20110  return;
20111}
20112}
20113#line 167 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20114static void l1_go_F8(struct FsmInst *fi , int event , void *arg ) 
20115{ 
20116
20117  {
20118  {
20119#line 169
20120  mISDN_FsmChangeState(fi, 6);
20121  }
20122#line 170
20123  return;
20124}
20125}
20126#line 173 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20127static void l1_info2_ind(struct FsmInst *fi , int event , void *arg ) 
20128{ struct layer1 *l1 ;
20129  void *__cil_tmp5 ;
20130  dchannel_l1callback *__cil_tmp6 ;
20131  struct dchannel *__cil_tmp7 ;
20132
20133  {
20134  {
20135#line 175
20136  __cil_tmp5 = fi->userdata;
20137#line 175
20138  l1 = (struct layer1 *)__cil_tmp5;
20139#line 177
20140  mISDN_FsmChangeState(fi, 4);
20141#line 178
20142  __cil_tmp6 = l1->dcb;
20143#line 178
20144  __cil_tmp7 = l1->dch;
20145#line 178
20146  (*__cil_tmp6)(__cil_tmp7, 33538U);
20147  }
20148#line 179
20149  return;
20150}
20151}
20152#line 182 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20153static void l1_info4_ind(struct FsmInst *fi , int event , void *arg ) 
20154{ struct layer1 *l1 ;
20155  int tmp ;
20156  int tmp___0 ;
20157  int tmp___1 ;
20158  void *__cil_tmp8 ;
20159  dchannel_l1callback *__cil_tmp9 ;
20160  struct dchannel *__cil_tmp10 ;
20161  u_long *__cil_tmp11 ;
20162  unsigned long volatile   *__cil_tmp12 ;
20163  struct FsmTimer *__cil_tmp13 ;
20164  u_long *__cil_tmp14 ;
20165  unsigned long const volatile   *__cil_tmp15 ;
20166  u_long *__cil_tmp16 ;
20167  unsigned long volatile   *__cil_tmp17 ;
20168  struct FsmTimer *__cil_tmp18 ;
20169  struct FsmTimer *__cil_tmp19 ;
20170  void *__cil_tmp20 ;
20171  u_long *__cil_tmp21 ;
20172  unsigned long volatile   *__cil_tmp22 ;
20173
20174  {
20175  {
20176#line 184
20177  __cil_tmp8 = fi->userdata;
20178#line 184
20179  l1 = (struct layer1 *)__cil_tmp8;
20180#line 186
20181  mISDN_FsmChangeState(fi, 5);
20182#line 187
20183  __cil_tmp9 = l1->dcb;
20184#line 187
20185  __cil_tmp10 = l1->dch;
20186#line 187
20187  (*__cil_tmp9)(__cil_tmp10, 33538U);
20188#line 188
20189  __cil_tmp11 = & l1->Flags;
20190#line 188
20191  __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
20192#line 188
20193  tmp = test_and_clear_bit(3, __cil_tmp12);
20194  }
20195#line 188
20196  if (tmp != 0) {
20197    {
20198#line 189
20199    __cil_tmp13 = & l1->timer;
20200#line 189
20201    mISDN_FsmDelTimer(__cil_tmp13, 4);
20202    }
20203  } else {
20204
20205  }
20206  {
20207#line 190
20208  __cil_tmp14 = & l1->Flags;
20209#line 190
20210  __cil_tmp15 = (unsigned long const volatile   *)__cil_tmp14;
20211#line 190
20212  tmp___1 = constant_test_bit(2U, __cil_tmp15);
20213  }
20214#line 190
20215  if (tmp___1 == 0) {
20216    {
20217#line 191
20218    __cil_tmp16 = & l1->Flags;
20219#line 191
20220    __cil_tmp17 = (unsigned long volatile   *)__cil_tmp16;
20221#line 191
20222    tmp___0 = test_and_clear_bit(5, __cil_tmp17);
20223    }
20224#line 191
20225    if (tmp___0 != 0) {
20226      {
20227#line 192
20228      __cil_tmp18 = & l1->timer;
20229#line 192
20230      mISDN_FsmDelTimer(__cil_tmp18, 3);
20231      }
20232    } else {
20233
20234    }
20235    {
20236#line 193
20237    __cil_tmp19 = & l1->timer;
20238#line 193
20239    __cil_tmp20 = (void *)0;
20240#line 193
20241    mISDN_FsmRestartTimer(__cil_tmp19, 110, 10, __cil_tmp20, 2);
20242#line 194
20243    __cil_tmp21 = & l1->Flags;
20244#line 194
20245    __cil_tmp22 = (unsigned long volatile   *)__cil_tmp21;
20246#line 194
20247    test_and_set_bit(4, __cil_tmp22);
20248    }
20249  } else {
20250
20251  }
20252#line 196
20253  return;
20254}
20255}
20256#line 199 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20257static void l1_timer3(struct FsmInst *fi , int event , void *arg ) 
20258{ struct layer1 *l1 ;
20259  int tmp ;
20260  int tmp___0 ;
20261  void *__cil_tmp7 ;
20262  u_long *__cil_tmp8 ;
20263  unsigned long volatile   *__cil_tmp9 ;
20264  u_long *__cil_tmp10 ;
20265  unsigned long volatile   *__cil_tmp11 ;
20266  u_long *__cil_tmp12 ;
20267  unsigned long volatile   *__cil_tmp13 ;
20268  dchannel_l1callback *__cil_tmp14 ;
20269  struct dchannel *__cil_tmp15 ;
20270  dchannel_l1callback *__cil_tmp16 ;
20271  struct dchannel *__cil_tmp17 ;
20272  int __cil_tmp18 ;
20273  dchannel_l1callback *__cil_tmp19 ;
20274  struct dchannel *__cil_tmp20 ;
20275
20276  {
20277  {
20278#line 201
20279  __cil_tmp7 = fi->userdata;
20280#line 201
20281  l1 = (struct layer1 *)__cil_tmp7;
20282#line 203
20283  __cil_tmp8 = & l1->Flags;
20284#line 203
20285  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
20286#line 203
20287  test_and_clear_bit(5, __cil_tmp9);
20288#line 204
20289  __cil_tmp10 = & l1->Flags;
20290#line 204
20291  __cil_tmp11 = (unsigned long volatile   *)__cil_tmp10;
20292#line 204
20293  tmp___0 = test_and_clear_bit(1, __cil_tmp11);
20294  }
20295#line 204
20296  if (tmp___0 != 0) {
20297    {
20298#line 205
20299    __cil_tmp12 = & l1->Flags;
20300#line 205
20301    __cil_tmp13 = (unsigned long volatile   *)__cil_tmp12;
20302#line 205
20303    tmp = test_and_clear_bit(8, __cil_tmp13);
20304    }
20305#line 205
20306    if (tmp != 0) {
20307      {
20308#line 206
20309      __cil_tmp14 = l1->dcb;
20310#line 206
20311      __cil_tmp15 = l1->dch;
20312#line 206
20313      (*__cil_tmp14)(__cil_tmp15, 36610U);
20314      }
20315    } else {
20316
20317    }
20318    {
20319#line 207
20320    __cil_tmp16 = l1->dcb;
20321#line 207
20322    __cil_tmp17 = l1->dch;
20323#line 207
20324    (*__cil_tmp16)(__cil_tmp17, 514U);
20325    }
20326  } else {
20327
20328  }
20329  {
20330#line 209
20331  __cil_tmp18 = l1->l1m.state;
20332#line 209
20333  if (__cil_tmp18 != 4) {
20334    {
20335#line 210
20336    mISDN_FsmChangeState(fi, 1);
20337#line 211
20338    __cil_tmp19 = l1->dcb;
20339#line 211
20340    __cil_tmp20 = l1->dch;
20341#line 211
20342    (*__cil_tmp19)(__cil_tmp20, 35586U);
20343    }
20344  } else {
20345
20346  }
20347  }
20348#line 213
20349  return;
20350}
20351}
20352#line 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20353static void l1_timer_act(struct FsmInst *fi , int event , void *arg ) 
20354{ struct layer1 *l1 ;
20355  void *__cil_tmp5 ;
20356  u_long *__cil_tmp6 ;
20357  unsigned long volatile   *__cil_tmp7 ;
20358  u_long *__cil_tmp8 ;
20359  unsigned long volatile   *__cil_tmp9 ;
20360  dchannel_l1callback *__cil_tmp10 ;
20361  struct dchannel *__cil_tmp11 ;
20362
20363  {
20364  {
20365#line 218
20366  __cil_tmp5 = fi->userdata;
20367#line 218
20368  l1 = (struct layer1 *)__cil_tmp5;
20369#line 220
20370  __cil_tmp6 = & l1->Flags;
20371#line 220
20372  __cil_tmp7 = (unsigned long volatile   *)__cil_tmp6;
20373#line 220
20374  test_and_clear_bit(4, __cil_tmp7);
20375#line 221
20376  __cil_tmp8 = & l1->Flags;
20377#line 221
20378  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
20379#line 221
20380  test_and_set_bit(2, __cil_tmp9);
20381#line 222
20382  __cil_tmp10 = l1->dcb;
20383#line 222
20384  __cil_tmp11 = l1->dch;
20385#line 222
20386  (*__cil_tmp10)(__cil_tmp11, 258U);
20387  }
20388#line 223
20389  return;
20390}
20391}
20392#line 226 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20393static void l1_timer_deact(struct FsmInst *fi , int event , void *arg ) 
20394{ struct layer1 *l1 ;
20395  int tmp ;
20396  void *__cil_tmp6 ;
20397  u_long *__cil_tmp7 ;
20398  unsigned long volatile   *__cil_tmp8 ;
20399  u_long *__cil_tmp9 ;
20400  unsigned long volatile   *__cil_tmp10 ;
20401  u_long *__cil_tmp11 ;
20402  unsigned long volatile   *__cil_tmp12 ;
20403  dchannel_l1callback *__cil_tmp13 ;
20404  struct dchannel *__cil_tmp14 ;
20405  dchannel_l1callback *__cil_tmp15 ;
20406  struct dchannel *__cil_tmp16 ;
20407  dchannel_l1callback *__cil_tmp17 ;
20408  struct dchannel *__cil_tmp18 ;
20409
20410  {
20411  {
20412#line 228
20413  __cil_tmp6 = fi->userdata;
20414#line 228
20415  l1 = (struct layer1 *)__cil_tmp6;
20416#line 230
20417  __cil_tmp7 = & l1->Flags;
20418#line 230
20419  __cil_tmp8 = (unsigned long volatile   *)__cil_tmp7;
20420#line 230
20421  test_and_clear_bit(3, __cil_tmp8);
20422#line 231
20423  __cil_tmp9 = & l1->Flags;
20424#line 231
20425  __cil_tmp10 = (unsigned long volatile   *)__cil_tmp9;
20426#line 231
20427  test_and_clear_bit(2, __cil_tmp10);
20428#line 232
20429  __cil_tmp11 = & l1->Flags;
20430#line 232
20431  __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
20432#line 232
20433  tmp = test_and_clear_bit(8, __cil_tmp12);
20434  }
20435#line 232
20436  if (tmp != 0) {
20437    {
20438#line 233
20439    __cil_tmp13 = l1->dcb;
20440#line 233
20441    __cil_tmp14 = l1->dch;
20442#line 233
20443    (*__cil_tmp13)(__cil_tmp14, 36610U);
20444    }
20445  } else {
20446
20447  }
20448  {
20449#line 234
20450  __cil_tmp15 = l1->dcb;
20451#line 234
20452  __cil_tmp16 = l1->dch;
20453#line 234
20454  (*__cil_tmp15)(__cil_tmp16, 514U);
20455#line 235
20456  __cil_tmp17 = l1->dcb;
20457#line 235
20458  __cil_tmp18 = l1->dch;
20459#line 235
20460  (*__cil_tmp17)(__cil_tmp18, 35842U);
20461  }
20462#line 236
20463  return;
20464}
20465}
20466#line 239 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20467static void l1_activate_s(struct FsmInst *fi , int event , void *arg ) 
20468{ struct layer1 *l1 ;
20469  void *__cil_tmp5 ;
20470  struct FsmTimer *__cil_tmp6 ;
20471  void *__cil_tmp7 ;
20472  u_long *__cil_tmp8 ;
20473  unsigned long volatile   *__cil_tmp9 ;
20474  dchannel_l1callback *__cil_tmp10 ;
20475  struct dchannel *__cil_tmp11 ;
20476
20477  {
20478  {
20479#line 241
20480  __cil_tmp5 = fi->userdata;
20481#line 241
20482  l1 = (struct layer1 *)__cil_tmp5;
20483#line 243
20484  __cil_tmp6 = & l1->timer;
20485#line 243
20486  __cil_tmp7 = (void *)0;
20487#line 243
20488  mISDN_FsmRestartTimer(__cil_tmp6, 7000, 11, __cil_tmp7, 2);
20489#line 244
20490  __cil_tmp8 = & l1->Flags;
20491#line 244
20492  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
20493#line 244
20494  test_and_set_bit(5, __cil_tmp9);
20495#line 245
20496  __cil_tmp10 = l1->dcb;
20497#line 245
20498  __cil_tmp11 = l1->dch;
20499#line 245
20500  (*__cil_tmp10)(__cil_tmp11, 35330U);
20501  }
20502#line 246
20503  return;
20504}
20505}
20506#line 249 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20507static void l1_activate_no(struct FsmInst *fi , int event , void *arg ) 
20508{ struct layer1 *l1 ;
20509  int tmp ;
20510  int tmp___0 ;
20511  int tmp___1 ;
20512  void *__cil_tmp8 ;
20513  u_long *__cil_tmp9 ;
20514  unsigned long const volatile   *__cil_tmp10 ;
20515  u_long *__cil_tmp11 ;
20516  unsigned long const volatile   *__cil_tmp12 ;
20517  u_long *__cil_tmp13 ;
20518  unsigned long volatile   *__cil_tmp14 ;
20519  u_long *__cil_tmp15 ;
20520  unsigned long volatile   *__cil_tmp16 ;
20521  dchannel_l1callback *__cil_tmp17 ;
20522  struct dchannel *__cil_tmp18 ;
20523  dchannel_l1callback *__cil_tmp19 ;
20524  struct dchannel *__cil_tmp20 ;
20525
20526  {
20527  {
20528#line 251
20529  __cil_tmp8 = fi->userdata;
20530#line 251
20531  l1 = (struct layer1 *)__cil_tmp8;
20532#line 253
20533  __cil_tmp9 = & l1->Flags;
20534#line 253
20535  __cil_tmp10 = (unsigned long const volatile   *)__cil_tmp9;
20536#line 253
20537  tmp___0 = constant_test_bit(3U, __cil_tmp10);
20538  }
20539#line 253
20540  if (tmp___0 == 0) {
20541    {
20542#line 253
20543    __cil_tmp11 = & l1->Flags;
20544#line 253
20545    __cil_tmp12 = (unsigned long const volatile   *)__cil_tmp11;
20546#line 253
20547    tmp___1 = constant_test_bit(5U, __cil_tmp12);
20548    }
20549#line 253
20550    if (tmp___1 == 0) {
20551      {
20552#line 255
20553      __cil_tmp13 = & l1->Flags;
20554#line 255
20555      __cil_tmp14 = (unsigned long volatile   *)__cil_tmp13;
20556#line 255
20557      test_and_clear_bit(1, __cil_tmp14);
20558#line 256
20559      __cil_tmp15 = & l1->Flags;
20560#line 256
20561      __cil_tmp16 = (unsigned long volatile   *)__cil_tmp15;
20562#line 256
20563      tmp = test_and_clear_bit(8, __cil_tmp16);
20564      }
20565#line 256
20566      if (tmp != 0) {
20567        {
20568#line 257
20569        __cil_tmp17 = l1->dcb;
20570#line 257
20571        __cil_tmp18 = l1->dch;
20572#line 257
20573        (*__cil_tmp17)(__cil_tmp18, 36610U);
20574        }
20575      } else {
20576
20577      }
20578      {
20579#line 258
20580      __cil_tmp19 = l1->dcb;
20581#line 258
20582      __cil_tmp20 = l1->dch;
20583#line 258
20584      (*__cil_tmp19)(__cil_tmp20, 514U);
20585      }
20586    } else {
20587
20588    }
20589  } else {
20590
20591  }
20592#line 260
20593  return;
20594}
20595}
20596#line 262 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20597static struct FsmNode L1SFnList[44U]  = 
20598#line 262
20599  {      {1, 0, & l1_activate_s}, 
20600        {4, 0, & l1_activate_no}, 
20601        {6, 0, & l1_activate_no}, 
20602        {1, 2, & l1_reset}, 
20603        {2, 2, & l1_reset}, 
20604        {3, 2, & l1_reset}, 
20605        {4, 2, & l1_reset}, 
20606        {5, 2, & l1_reset}, 
20607        {6, 2, & l1_reset}, 
20608        {1, 3, & l1_deact_cnf}, 
20609        {2, 3, & l1_deact_cnf}, 
20610        {3, 3, & l1_deact_cnf}, 
20611        {4, 3, & l1_deact_cnf}, 
20612        {5, 3, & l1_deact_cnf}, 
20613        {6, 3, & l1_deact_cnf}, 
20614        {4, 4, & l1_deact_req_s}, 
20615        {5, 4, & l1_deact_req_s}, 
20616        {6, 4, & l1_deact_req_s}, 
20617        {1, 5, & l1_power_up_s}, 
20618        {2, 6, & l1_go_F5}, 
20619        {4, 6, & l1_go_F8}, 
20620        {5, 6, & l1_go_F8}, 
20621        {1, 7, & l1_info2_ind}, 
20622        {2, 7, & l1_info2_ind}, 
20623        {3, 7, & l1_info2_ind}, 
20624        {5, 7, & l1_info2_ind}, 
20625        {6, 7, & l1_info2_ind}, 
20626        {1, 8, & l1_info4_ind}, 
20627        {2, 8, & l1_info4_ind}, 
20628        {3, 8, & l1_info4_ind}, 
20629        {4, 8, & l1_info4_ind}, 
20630        {6, 8, & l1_info4_ind}, 
20631        {1, 11, & l1_timer3}, 
20632        {2, 11, & l1_timer3}, 
20633        {3, 11, & l1_timer3}, 
20634        {4, 11, & l1_timer3}, 
20635        {6, 11, & l1_timer3}, 
20636        {5, 10, & l1_timer_act}, 
20637        {1, 9, & l1_timer_deact}, 
20638        {2, 9, & l1_timer_deact}, 
20639        {3, 9, & l1_timer_deact}, 
20640        {4, 9, & l1_timer_deact}, 
20641        {5, 9, & l1_timer_deact}, 
20642        {6, 9, & l1_timer_deact}};
20643#line 311 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20644static void release_l1(struct layer1 *l1 ) 
20645{ struct FsmTimer *__cil_tmp2 ;
20646  struct dchannel *__cil_tmp3 ;
20647  unsigned long __cil_tmp4 ;
20648  struct dchannel *__cil_tmp5 ;
20649  unsigned long __cil_tmp6 ;
20650  struct dchannel *__cil_tmp7 ;
20651  void const   *__cil_tmp8 ;
20652
20653  {
20654  {
20655#line 312
20656  __cil_tmp2 = & l1->timer;
20657#line 312
20658  mISDN_FsmDelTimer(__cil_tmp2, 0);
20659  }
20660  {
20661#line 313
20662  __cil_tmp3 = (struct dchannel *)0;
20663#line 313
20664  __cil_tmp4 = (unsigned long )__cil_tmp3;
20665#line 313
20666  __cil_tmp5 = l1->dch;
20667#line 313
20668  __cil_tmp6 = (unsigned long )__cil_tmp5;
20669#line 313
20670  if (__cil_tmp6 != __cil_tmp4) {
20671#line 314
20672    __cil_tmp7 = l1->dch;
20673#line 314
20674    __cil_tmp7->l1 = (void *)0;
20675  } else {
20676
20677  }
20678  }
20679  {
20680#line 315
20681  ldv_module_put_1(& __this_module);
20682#line 316
20683  __cil_tmp8 = (void const   *)l1;
20684#line 316
20685  kfree(__cil_tmp8);
20686  }
20687#line 317
20688  return;
20689}
20690}
20691#line 320 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
20692int l1_event(struct layer1 *l1 , u_int event ) 
20693{ int err ;
20694  int tmp ;
20695  struct layer1 *__cil_tmp5 ;
20696  unsigned long __cil_tmp6 ;
20697  unsigned long __cil_tmp7 ;
20698  int __cil_tmp8 ;
20699  int __cil_tmp9 ;
20700  int __cil_tmp10 ;
20701  int __cil_tmp11 ;
20702  int __cil_tmp12 ;
20703  int __cil_tmp13 ;
20704  int __cil_tmp14 ;
20705  int __cil_tmp15 ;
20706  int __cil_tmp16 ;
20707  int __cil_tmp17 ;
20708  int __cil_tmp18 ;
20709  struct FsmInst *__cil_tmp19 ;
20710  void *__cil_tmp20 ;
20711  struct FsmInst *__cil_tmp21 ;
20712  void *__cil_tmp22 ;
20713  struct FsmInst *__cil_tmp23 ;
20714  void *__cil_tmp24 ;
20715  struct FsmInst *__cil_tmp25 ;
20716  void *__cil_tmp26 ;
20717  struct FsmInst *__cil_tmp27 ;
20718  void *__cil_tmp28 ;
20719  struct FsmInst *__cil_tmp29 ;
20720  void *__cil_tmp30 ;
20721  struct FsmInst *__cil_tmp31 ;
20722  void *__cil_tmp32 ;
20723  struct FsmInst *__cil_tmp33 ;
20724  void *__cil_tmp34 ;
20725  struct FsmInst *__cil_tmp35 ;
20726  void *__cil_tmp36 ;
20727  u_long *__cil_tmp37 ;
20728  unsigned long const volatile   *__cil_tmp38 ;
20729  dchannel_l1callback *__cil_tmp39 ;
20730  struct dchannel *__cil_tmp40 ;
20731  u_long *__cil_tmp41 ;
20732  unsigned long volatile   *__cil_tmp42 ;
20733  struct FsmInst *__cil_tmp43 ;
20734  void *__cil_tmp44 ;
20735  u_int __cil_tmp45 ;
20736  unsigned int __cil_tmp46 ;
20737
20738  {
20739#line 322
20740  err = 0;
20741  {
20742#line 324
20743  __cil_tmp5 = (struct layer1 *)0;
20744#line 324
20745  __cil_tmp6 = (unsigned long )__cil_tmp5;
20746#line 324
20747  __cil_tmp7 = (unsigned long )l1;
20748#line 324
20749  if (__cil_tmp7 == __cil_tmp6) {
20750#line 325
20751    return (-22);
20752  } else {
20753
20754  }
20755  }
20756  {
20757#line 327
20758  __cil_tmp8 = (int )event;
20759#line 327
20760  if (__cil_tmp8 == 36866) {
20761#line 327
20762    goto case_36866;
20763  } else {
20764    {
20765#line 330
20766    __cil_tmp9 = (int )event;
20767#line 330
20768    if (__cil_tmp9 == 37378) {
20769#line 330
20770      goto case_37378;
20771    } else {
20772      {
20773#line 333
20774      __cil_tmp10 = (int )event;
20775#line 333
20776      if (__cil_tmp10 == 37122) {
20777#line 333
20778        goto case_37122;
20779      } else {
20780        {
20781#line 336
20782        __cil_tmp11 = (int )event;
20783#line 336
20784        if (__cil_tmp11 == 37890) {
20785#line 336
20786          goto case_37890;
20787        } else {
20788          {
20789#line 339
20790          __cil_tmp12 = (int )event;
20791#line 339
20792          if (__cil_tmp12 == 34818) {
20793#line 339
20794            goto case_34818;
20795          } else {
20796            {
20797#line 342
20798            __cil_tmp13 = (int )event;
20799#line 342
20800            if (__cil_tmp13 == 34562) {
20801#line 342
20802              goto case_34562;
20803            } else {
20804              {
20805#line 345
20806              __cil_tmp14 = (int )event;
20807#line 345
20808              if (__cil_tmp14 == 33282) {
20809#line 345
20810                goto case_33282;
20811              } else {
20812                {
20813#line 348
20814                __cil_tmp15 = (int )event;
20815#line 348
20816                if (__cil_tmp15 == 34050) {
20817#line 348
20818                  goto case_34050;
20819                } else {
20820                  {
20821#line 351
20822                  __cil_tmp16 = (int )event;
20823#line 351
20824                  if (__cil_tmp16 == 34306) {
20825#line 351
20826                    goto case_34306;
20827                  } else {
20828                    {
20829#line 354
20830                    __cil_tmp17 = (int )event;
20831#line 354
20832                    if (__cil_tmp17 == 257) {
20833#line 354
20834                      goto case_257;
20835                    } else {
20836                      {
20837#line 362
20838                      __cil_tmp18 = (int )event;
20839#line 362
20840                      if (__cil_tmp18 == 512) {
20841#line 362
20842                        goto case_512;
20843                      } else {
20844#line 365
20845                        goto switch_default;
20846#line 326
20847                        if (0) {
20848                          case_36866: 
20849                          {
20850#line 328
20851                          __cil_tmp19 = & l1->l1m;
20852#line 328
20853                          __cil_tmp20 = (void *)0;
20854#line 328
20855                          mISDN_FsmEvent(__cil_tmp19, 2, __cil_tmp20);
20856                          }
20857#line 329
20858                          goto ldv_38653;
20859                          case_37378: 
20860                          {
20861#line 331
20862                          __cil_tmp21 = & l1->l1m;
20863#line 331
20864                          __cil_tmp22 = (void *)0;
20865#line 331
20866                          mISDN_FsmEvent(__cil_tmp21, 4, __cil_tmp22);
20867                          }
20868#line 332
20869                          goto ldv_38653;
20870                          case_37122: 
20871                          {
20872#line 334
20873                          __cil_tmp23 = & l1->l1m;
20874#line 334
20875                          __cil_tmp24 = (void *)0;
20876#line 334
20877                          mISDN_FsmEvent(__cil_tmp23, 5, __cil_tmp24);
20878                          }
20879#line 335
20880                          goto ldv_38653;
20881                          case_37890: 
20882                          {
20883#line 337
20884                          __cil_tmp25 = & l1->l1m;
20885#line 337
20886                          __cil_tmp26 = (void *)0;
20887#line 337
20888                          mISDN_FsmEvent(__cil_tmp25, 3, __cil_tmp26);
20889                          }
20890#line 338
20891                          goto ldv_38653;
20892                          case_34818: 
20893                          {
20894#line 340
20895                          __cil_tmp27 = & l1->l1m;
20896#line 340
20897                          __cil_tmp28 = (void *)0;
20898#line 340
20899                          mISDN_FsmEvent(__cil_tmp27, 6, __cil_tmp28);
20900                          }
20901#line 341
20902                          goto ldv_38653;
20903                          case_34562: 
20904                          {
20905#line 343
20906                          __cil_tmp29 = & l1->l1m;
20907#line 343
20908                          __cil_tmp30 = (void *)0;
20909#line 343
20910                          mISDN_FsmEvent(__cil_tmp29, 6, __cil_tmp30);
20911                          }
20912#line 344
20913                          goto ldv_38653;
20914                          case_33282: 
20915                          {
20916#line 346
20917                          __cil_tmp31 = & l1->l1m;
20918#line 346
20919                          __cil_tmp32 = (void *)0;
20920#line 346
20921                          mISDN_FsmEvent(__cil_tmp31, 7, __cil_tmp32);
20922                          }
20923#line 347
20924                          goto ldv_38653;
20925                          case_34050: 
20926                          {
20927#line 349
20928                          __cil_tmp33 = & l1->l1m;
20929#line 349
20930                          __cil_tmp34 = (void *)0;
20931#line 349
20932                          mISDN_FsmEvent(__cil_tmp33, 8, __cil_tmp34);
20933                          }
20934#line 350
20935                          goto ldv_38653;
20936                          case_34306: 
20937                          {
20938#line 352
20939                          __cil_tmp35 = & l1->l1m;
20940#line 352
20941                          __cil_tmp36 = (void *)0;
20942#line 352
20943                          mISDN_FsmEvent(__cil_tmp35, 8, __cil_tmp36);
20944                          }
20945#line 353
20946                          goto ldv_38653;
20947                          case_257: 
20948                          {
20949#line 355
20950                          __cil_tmp37 = & l1->Flags;
20951#line 355
20952                          __cil_tmp38 = (unsigned long const volatile   *)__cil_tmp37;
20953#line 355
20954                          tmp = constant_test_bit(2U, __cil_tmp38);
20955                          }
20956#line 355
20957                          if (tmp != 0) {
20958                            {
20959#line 356
20960                            __cil_tmp39 = l1->dcb;
20961#line 356
20962                            __cil_tmp40 = l1->dch;
20963#line 356
20964                            (*__cil_tmp39)(__cil_tmp40, 258U);
20965                            }
20966                          } else {
20967                            {
20968#line 358
20969                            __cil_tmp41 = & l1->Flags;
20970#line 358
20971                            __cil_tmp42 = (unsigned long volatile   *)__cil_tmp41;
20972#line 358
20973                            test_and_set_bit(1, __cil_tmp42);
20974#line 359
20975                            __cil_tmp43 = & l1->l1m;
20976#line 359
20977                            __cil_tmp44 = (void *)0;
20978#line 359
20979                            mISDN_FsmEvent(__cil_tmp43, 0, __cil_tmp44);
20980                            }
20981                          }
20982#line 361
20983                          goto ldv_38653;
20984                          case_512: 
20985                          {
20986#line 363
20987                          release_l1(l1);
20988                          }
20989#line 364
20990                          goto ldv_38653;
20991                          switch_default: ;
20992                          {
20993#line 366
20994                          __cil_tmp45 = *debug___3;
20995#line 366
20996                          __cil_tmp46 = __cil_tmp45 & 65280U;
20997#line 366
20998                          if (__cil_tmp46 != 0U) {
20999                            {
21000#line 367
21001                            printk("<7>%s %x unhandled\n", "l1_event", event);
21002                            }
21003                          } else {
21004
21005                          }
21006                          }
21007#line 369
21008                          err = -22;
21009                        } else {
21010
21011                        }
21012                      }
21013                      }
21014                    }
21015                    }
21016                  }
21017                  }
21018                }
21019                }
21020              }
21021              }
21022            }
21023            }
21024          }
21025          }
21026        }
21027        }
21028      }
21029      }
21030    }
21031    }
21032  }
21033  }
21034  ldv_38653: ;
21035#line 371
21036  return (err);
21037}
21038}
21039#line 376 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
21040int create_l1(struct dchannel *dch , dchannel_l1callback *dcb ) 
21041{ struct layer1 *nl1 ;
21042  void *tmp ;
21043  struct layer1 *__cil_tmp5 ;
21044  unsigned long __cil_tmp6 ;
21045  unsigned long __cil_tmp7 ;
21046  u_int __cil_tmp8 ;
21047  int __cil_tmp9 ;
21048  struct FsmInst *__cil_tmp10 ;
21049  struct FsmTimer *__cil_tmp11 ;
21050
21051  {
21052  {
21053#line 379
21054  tmp = kzalloc(224UL, 32U);
21055#line 379
21056  nl1 = (struct layer1 *)tmp;
21057  }
21058  {
21059#line 380
21060  __cil_tmp5 = (struct layer1 *)0;
21061#line 380
21062  __cil_tmp6 = (unsigned long )__cil_tmp5;
21063#line 380
21064  __cil_tmp7 = (unsigned long )nl1;
21065#line 380
21066  if (__cil_tmp7 == __cil_tmp6) {
21067    {
21068#line 381
21069    printk("<3>kmalloc struct layer1 failed\n");
21070    }
21071#line 382
21072    return (-12);
21073  } else {
21074
21075  }
21076  }
21077  {
21078#line 384
21079  nl1->l1m.fsm = & l1fsm_s;
21080#line 385
21081  nl1->l1m.state = 1;
21082#line 386
21083  nl1->Flags = 0UL;
21084#line 387
21085  __cil_tmp8 = *debug___3;
21086#line 387
21087  __cil_tmp9 = (int )__cil_tmp8;
21088#line 387
21089  nl1->l1m.debug = __cil_tmp9 & 512;
21090#line 388
21091  nl1->l1m.userdata = (void *)nl1;
21092#line 389
21093  nl1->l1m.userint = 0;
21094#line 390
21095  nl1->l1m.printdebug = & l1m_debug;
21096#line 391
21097  nl1->dch = dch;
21098#line 392
21099  nl1->dcb = dcb;
21100#line 393
21101  __cil_tmp10 = & nl1->l1m;
21102#line 393
21103  __cil_tmp11 = & nl1->timer;
21104#line 393
21105  mISDN_FsmInitTimer(__cil_tmp10, __cil_tmp11);
21106#line 394
21107  ldv___module_get_2(& __this_module);
21108#line 395
21109  dch->l1 = (void *)nl1;
21110  }
21111#line 396
21112  return (0);
21113}
21114}
21115#line 401 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
21116int l1_init(u_int *deb ) 
21117{ struct FsmNode *__cil_tmp2 ;
21118
21119  {
21120  {
21121#line 403
21122  debug___3 = deb;
21123#line 404
21124  l1fsm_s.state_count = 7;
21125#line 405
21126  l1fsm_s.event_count = 12;
21127#line 406
21128  l1fsm_s.strEvent = (char **)(& strL1Event);
21129#line 407
21130  l1fsm_s.strState = (char **)(& strL1SState);
21131#line 408
21132  __cil_tmp2 = (struct FsmNode *)(& L1SFnList);
21133#line 408
21134  mISDN_FsmNew(& l1fsm_s, __cil_tmp2, 44);
21135  }
21136#line 409
21137  return (0);
21138}
21139}
21140#line 413 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
21141void l1_cleanup(void) 
21142{ 
21143
21144  {
21145  {
21146#line 415
21147  mISDN_FsmFree(& l1fsm_s);
21148  }
21149#line 416
21150  return;
21151}
21152}
21153#line 418 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
21154void ldv_module_put_1(struct module *ldv_func_arg1 ) 
21155{ 
21156
21157  {
21158  {
21159#line 423
21160  ldv_module_put(ldv_func_arg1);
21161  }
21162#line 424
21163  return;
21164}
21165}
21166#line 426 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer1.c.p"
21167__inline static void ldv___module_get_2(struct module *module ) 
21168{ 
21169
21170  {
21171  {
21172#line 431
21173  ldv_module_get(module);
21174  }
21175#line 432
21176  return;
21177}
21178}
21179#line 510 "include/linux/skbuff.h"
21180extern struct sk_buff *skb_clone(struct sk_buff * , gfp_t  ) ;
21181#line 843 "include/linux/skbuff.h"
21182__inline static __u32 skb_queue_len(struct sk_buff_head  const  *list_ ) 
21183{ __u32 __cil_tmp2 ;
21184
21185  {
21186  {
21187#line 845
21188  __cil_tmp2 = list_->qlen;
21189#line 845
21190  return ((__u32 )__cil_tmp2);
21191  }
21192}
21193}
21194#line 1229 "include/linux/skbuff.h"
21195__inline static unsigned int skb_headroom(struct sk_buff  const  *skb ) 
21196{ unsigned char *__cil_tmp2 ;
21197  long __cil_tmp3 ;
21198  unsigned int __cil_tmp4 ;
21199  unsigned char *__cil_tmp5 ;
21200  long __cil_tmp6 ;
21201  unsigned int __cil_tmp7 ;
21202
21203  {
21204  {
21205#line 1231
21206  __cil_tmp2 = skb->head;
21207#line 1231
21208  __cil_tmp3 = (long )__cil_tmp2;
21209#line 1231
21210  __cil_tmp4 = (unsigned int )__cil_tmp3;
21211#line 1231
21212  __cil_tmp5 = skb->data;
21213#line 1231
21214  __cil_tmp6 = (long )__cil_tmp5;
21215#line 1231
21216  __cil_tmp7 = (unsigned int )__cil_tmp6;
21217#line 1231
21218  return (__cil_tmp7 - __cil_tmp4);
21219  }
21220}
21221}
21222#line 1458
21223extern void skb_trim(struct sk_buff * , unsigned int  ) ;
21224#line 92 "/anthill/stuff/tacas-comp/inst/current/envs/linux-3.0.1/linux-3.0.1/drivers/isdn/mISDN/layer2.h"
21225struct layer2 *create_l2(struct mISDNchannel *ch , u_int protocol , u_long options ,
21226                         int tei , int sapi ) ;
21227#line 94
21228int tei_l2(struct layer2 *l2 , u_int cmd , u_long arg ) ;
21229#line 98
21230int l2_tei(struct layer2 *l2 , u_int cmd , u_long arg ) ;
21231#line 99
21232void TEIrelease(struct layer2 *l2 ) ;
21233#line 100
21234int TEIInit(u_int *deb ) ;
21235#line 101
21236void TEIFree(void) ;
21237#line 32 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21238static u_int *debug___4  ;
21239#line 35 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21240static struct Fsm l2fsm  =    {(FSMFNPTR (**)(struct FsmInst * , int  , void * ))0, 0, 0, (char **)0, (char **)0};
21241#line 37 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21242static char *strL2State[8U]  = 
21243#line 37
21244  {      (char *)"ST_L2_1",      (char *)"ST_L2_2",      (char *)"ST_L2_3",      (char *)"ST_L2_4", 
21245        (char *)"ST_L2_5",      (char *)"ST_L2_6",      (char *)"ST_L2_7",      (char *)"ST_L2_8"};
21246#line 76 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21247static char *strL2Event[22U]  = 
21248#line 76
21249  {      (char *)"EV_L2_UI",      (char *)"EV_L2_SABME",      (char *)"EV_L2_DISC",      (char *)"EV_L2_DM", 
21250        (char *)"EV_L2_UA",      (char *)"EV_L2_FRMR",      (char *)"EV_L2_SUPER",      (char *)"EV_L2_I", 
21251        (char *)"EV_L2_DL_DATA",      (char *)"EV_L2_ACK_PULL",      (char *)"EV_L2_DL_UNITDATA",      (char *)"EV_L2_DL_ESTABLISH_REQ", 
21252        (char *)"EV_L2_DL_RELEASE_REQ",      (char *)"EV_L2_MDL_ASSIGN",      (char *)"EV_L2_MDL_REMOVE",      (char *)"EV_L2_MDL_ERROR", 
21253        (char *)"EV_L1_DEACTIVATE",      (char *)"EV_L2_T200",      (char *)"EV_L2_T203",      (char *)"EV_L2_SET_OWN_BUSY", 
21254        (char *)"EV_L2_CLEAR_OWN_BUSY",      (char *)"EV_L2_FRAME_ERROR"};
21255#line 103 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21256static void l2m_debug(struct FsmInst *fi , char *fmt  , ...) 
21257{ struct layer2 *l2 ;
21258  struct va_format vaf ;
21259  va_list va ;
21260  void *__cil_tmp6 ;
21261  u_int __cil_tmp7 ;
21262  unsigned int __cil_tmp8 ;
21263  __builtin_va_list __cil_tmp9 ;
21264  signed char __cil_tmp10 ;
21265  int __cil_tmp11 ;
21266  signed char __cil_tmp12 ;
21267  int __cil_tmp13 ;
21268  __builtin_va_list __cil_tmp14 ;
21269
21270  {
21271#line 105
21272  __cil_tmp6 = fi->userdata;
21273#line 105
21274  l2 = (struct layer2 *)__cil_tmp6;
21275  {
21276#line 109
21277  __cil_tmp7 = *debug___4;
21278#line 109
21279  __cil_tmp8 = __cil_tmp7 & 131072U;
21280#line 109
21281  if (__cil_tmp8 == 0U) {
21282#line 110
21283    return;
21284  } else {
21285
21286  }
21287  }
21288  {
21289#line 112
21290  //__cil_tmp9 = (__builtin_va_list )(& va);
21291#line 112
21292  //__builtin_va_start(&va);
21293#line 114
21294  vaf.fmt = (char const   *)fmt;
21295#line 115
21296  vaf.va = & va;
21297#line 117
21298  __cil_tmp10 = l2->sapi;
21299#line 117
21300  __cil_tmp11 = (int )__cil_tmp10;
21301#line 117
21302  __cil_tmp12 = l2->tei;
21303#line 117
21304  __cil_tmp13 = (int )__cil_tmp12;
21305#line 117
21306  printk("<7>l2 (sapi %d tei %d): %pV\n", __cil_tmp11, __cil_tmp13, & vaf);
21307#line 120
21308  //__cil_tmp14 = (__builtin_va_list )(& va);
21309#line 120
21310  //__builtin_va_end(&va);
21311  }
21312#line 121
21313  return;
21314}
21315}
21316#line 124 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21317__inline u_int l2headersize(struct layer2 *l2 , int ui ) 
21318{ int tmp___0 ;
21319  int tmp___1 ;
21320  int tmp___3 ;
21321  int tmp___4 ;
21322  u_long *__cil_tmp7 ;
21323  unsigned long const volatile   *__cil_tmp8 ;
21324  u_long *__cil_tmp9 ;
21325  unsigned long const volatile   *__cil_tmp10 ;
21326  int __cil_tmp11 ;
21327
21328  {
21329  {
21330#line 126
21331  __cil_tmp7 = & l2->flag;
21332#line 126
21333  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
21334#line 126
21335  tmp___1 = constant_test_bit(3U, __cil_tmp8);
21336  }
21337#line 126
21338  if (tmp___1 != 0) {
21339#line 126
21340    if (ui == 0) {
21341#line 126
21342      tmp___0 = 2;
21343    } else {
21344#line 126
21345      tmp___0 = 1;
21346    }
21347  } else {
21348#line 126
21349    tmp___0 = 1;
21350  }
21351  {
21352#line 126
21353  __cil_tmp9 = & l2->flag;
21354#line 126
21355  __cil_tmp10 = (unsigned long const volatile   *)__cil_tmp9;
21356#line 126
21357  tmp___4 = constant_test_bit(1U, __cil_tmp10);
21358  }
21359#line 126
21360  if (tmp___4 != 0) {
21361#line 126
21362    tmp___3 = 2;
21363  } else {
21364#line 126
21365    tmp___3 = 1;
21366  }
21367  {
21368#line 126
21369  __cil_tmp11 = tmp___0 + tmp___3;
21370#line 126
21371  return ((u_int )__cil_tmp11);
21372  }
21373}
21374}
21375#line 131 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21376__inline u_int l2addrsize(struct layer2 *l2 ) 
21377{ unsigned int tmp___0 ;
21378  int tmp___1 ;
21379  u_long *__cil_tmp4 ;
21380  unsigned long const volatile   *__cil_tmp5 ;
21381
21382  {
21383  {
21384#line 133
21385  __cil_tmp4 = & l2->flag;
21386#line 133
21387  __cil_tmp5 = (unsigned long const volatile   *)__cil_tmp4;
21388#line 133
21389  tmp___1 = constant_test_bit(1U, __cil_tmp5);
21390  }
21391#line 133
21392  if (tmp___1 != 0) {
21393#line 133
21394    tmp___0 = 2U;
21395  } else {
21396#line 133
21397    tmp___0 = 1U;
21398  }
21399#line 133
21400  return (tmp___0);
21401}
21402}
21403#line 137 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21404static u_int l2_newid(struct layer2 *l2 ) 
21405{ u_int id ;
21406  u_int tmp ;
21407  u_int __cil_tmp4 ;
21408  signed char __cil_tmp5 ;
21409  int __cil_tmp6 ;
21410  int __cil_tmp7 ;
21411  u_int __cil_tmp8 ;
21412  signed char __cil_tmp9 ;
21413  u_int __cil_tmp10 ;
21414
21415  {
21416#line 141
21417  tmp = l2->next_id;
21418#line 141
21419  __cil_tmp4 = l2->next_id;
21420#line 141
21421  l2->next_id = __cil_tmp4 + 1U;
21422#line 141
21423  id = tmp;
21424#line 142
21425  if (id == 32767U) {
21426#line 143
21427    l2->next_id = 1U;
21428  } else {
21429
21430  }
21431#line 144
21432  id = id << 16;
21433#line 145
21434  __cil_tmp5 = l2->tei;
21435#line 145
21436  __cil_tmp6 = (int )__cil_tmp5;
21437#line 145
21438  __cil_tmp7 = __cil_tmp6 << 8;
21439#line 145
21440  __cil_tmp8 = (u_int )__cil_tmp7;
21441#line 145
21442  id = __cil_tmp8 | id;
21443#line 146
21444  __cil_tmp9 = l2->sapi;
21445#line 146
21446  __cil_tmp10 = (u_int )__cil_tmp9;
21447#line 146
21448  id = __cil_tmp10 | id;
21449#line 147
21450  return (id);
21451}
21452}
21453#line 151 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21454static void l2up(struct layer2 *l2 , u_int prim , struct sk_buff *skb ) 
21455{ int err ;
21456  struct mISDNchannel *__cil_tmp5 ;
21457  unsigned long __cil_tmp6 ;
21458  struct mISDNchannel *__cil_tmp7 ;
21459  unsigned long __cil_tmp8 ;
21460  char (*__cil_tmp9)[48U] ;
21461  struct mISDNhead *__cil_tmp10 ;
21462  char (*__cil_tmp11)[48U] ;
21463  struct mISDNhead *__cil_tmp12 ;
21464  u_int __cil_tmp13 ;
21465  u_int __cil_tmp14 ;
21466  u_int __cil_tmp15 ;
21467  struct mISDNchannel *__cil_tmp16 ;
21468  send_func_t *__cil_tmp17 ;
21469  struct mISDNchannel *__cil_tmp18 ;
21470
21471  {
21472  {
21473#line 155
21474  __cil_tmp5 = (struct mISDNchannel *)0;
21475#line 155
21476  __cil_tmp6 = (unsigned long )__cil_tmp5;
21477#line 155
21478  __cil_tmp7 = l2->up;
21479#line 155
21480  __cil_tmp8 = (unsigned long )__cil_tmp7;
21481#line 155
21482  if (__cil_tmp8 == __cil_tmp6) {
21483#line 156
21484    return;
21485  } else {
21486
21487  }
21488  }
21489  {
21490#line 157
21491  __cil_tmp9 = & skb->cb;
21492#line 157
21493  __cil_tmp10 = (struct mISDNhead *)__cil_tmp9;
21494#line 157
21495  __cil_tmp10->prim = prim;
21496#line 158
21497  __cil_tmp11 = & skb->cb;
21498#line 158
21499  __cil_tmp12 = (struct mISDNhead *)__cil_tmp11;
21500#line 158
21501  __cil_tmp13 = l2->ch.addr;
21502#line 158
21503  __cil_tmp14 = l2->ch.nr;
21504#line 158
21505  __cil_tmp15 = __cil_tmp14 << 16;
21506#line 158
21507  __cil_tmp12->id = __cil_tmp15 | __cil_tmp13;
21508#line 159
21509  __cil_tmp16 = l2->up;
21510#line 159
21511  __cil_tmp17 = __cil_tmp16->send;
21512#line 159
21513  __cil_tmp18 = l2->up;
21514#line 159
21515  err = (*__cil_tmp17)(__cil_tmp18, skb);
21516  }
21517#line 160
21518  if (err != 0) {
21519    {
21520#line 161
21521    printk("<4>%s: err=%d\n", "l2up", err);
21522#line 162
21523    consume_skb(skb);
21524    }
21525  } else {
21526
21527  }
21528#line 164
21529  return;
21530}
21531}
21532#line 167 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21533static void l2up_create(struct layer2 *l2 , u_int prim , int len , void *arg ) 
21534{ struct sk_buff *skb ;
21535  struct mISDNhead *hh ;
21536  int err ;
21537  size_t __len ;
21538  void *__ret ;
21539  unsigned char *tmp___0 ;
21540  struct mISDNchannel *__cil_tmp11 ;
21541  unsigned long __cil_tmp12 ;
21542  struct mISDNchannel *__cil_tmp13 ;
21543  unsigned long __cil_tmp14 ;
21544  unsigned int __cil_tmp15 ;
21545  struct sk_buff *__cil_tmp16 ;
21546  unsigned long __cil_tmp17 ;
21547  unsigned long __cil_tmp18 ;
21548  char (*__cil_tmp19)[48U] ;
21549  u_int __cil_tmp20 ;
21550  u_int __cil_tmp21 ;
21551  u_int __cil_tmp22 ;
21552  unsigned int __cil_tmp23 ;
21553  void *__cil_tmp24 ;
21554  void const   *__cil_tmp25 ;
21555  struct mISDNchannel *__cil_tmp26 ;
21556  send_func_t *__cil_tmp27 ;
21557  struct mISDNchannel *__cil_tmp28 ;
21558
21559  {
21560  {
21561#line 173
21562  __cil_tmp11 = (struct mISDNchannel *)0;
21563#line 173
21564  __cil_tmp12 = (unsigned long )__cil_tmp11;
21565#line 173
21566  __cil_tmp13 = l2->up;
21567#line 173
21568  __cil_tmp14 = (unsigned long )__cil_tmp13;
21569#line 173
21570  if (__cil_tmp14 == __cil_tmp12) {
21571#line 174
21572    return;
21573  } else {
21574
21575  }
21576  }
21577  {
21578#line 175
21579  __cil_tmp15 = (unsigned int )len;
21580#line 175
21581  skb = mI_alloc_skb(__cil_tmp15, 32U);
21582  }
21583  {
21584#line 176
21585  __cil_tmp16 = (struct sk_buff *)0;
21586#line 176
21587  __cil_tmp17 = (unsigned long )__cil_tmp16;
21588#line 176
21589  __cil_tmp18 = (unsigned long )skb;
21590#line 176
21591  if (__cil_tmp18 == __cil_tmp17) {
21592#line 177
21593    return;
21594  } else {
21595
21596  }
21597  }
21598#line 178
21599  __cil_tmp19 = & skb->cb;
21600#line 178
21601  hh = (struct mISDNhead *)__cil_tmp19;
21602#line 179
21603  hh->prim = prim;
21604#line 180
21605  __cil_tmp20 = l2->ch.addr;
21606#line 180
21607  __cil_tmp21 = l2->ch.nr;
21608#line 180
21609  __cil_tmp22 = __cil_tmp21 << 16;
21610#line 180
21611  hh->id = __cil_tmp22 | __cil_tmp20;
21612#line 181
21613  if (len != 0) {
21614    {
21615#line 182
21616    __len = (size_t )len;
21617#line 182
21618    __cil_tmp23 = (unsigned int )len;
21619#line 182
21620    tmp___0 = skb_put(skb, __cil_tmp23);
21621#line 182
21622    __cil_tmp24 = (void *)tmp___0;
21623#line 182
21624    __cil_tmp25 = (void const   *)arg;
21625#line 182
21626    __ret = __builtin_memcpy(__cil_tmp24, __cil_tmp25, __len);
21627    }
21628  } else {
21629
21630  }
21631  {
21632#line 183
21633  __cil_tmp26 = l2->up;
21634#line 183
21635  __cil_tmp27 = __cil_tmp26->send;
21636#line 183
21637  __cil_tmp28 = l2->up;
21638#line 183
21639  err = (*__cil_tmp27)(__cil_tmp28, skb);
21640  }
21641#line 184
21642  if (err != 0) {
21643    {
21644#line 185
21645    printk("<4>%s: err=%d\n", "l2up_create", err);
21646#line 186
21647    consume_skb(skb);
21648    }
21649  } else {
21650
21651  }
21652#line 188
21653  return;
21654}
21655}
21656#line 191 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21657static int l2down_skb(struct layer2 *l2 , struct sk_buff *skb ) 
21658{ int ret ;
21659  send_func_t *__cil_tmp4 ;
21660  struct mISDNchannel *__cil_tmp5 ;
21661  u_int __cil_tmp6 ;
21662  unsigned int __cil_tmp7 ;
21663
21664  {
21665  {
21666#line 194
21667  __cil_tmp4 = l2->ch.recv;
21668#line 194
21669  __cil_tmp5 = l2->ch.peer;
21670#line 194
21671  ret = (*__cil_tmp4)(__cil_tmp5, skb);
21672  }
21673#line 195
21674  if (ret != 0) {
21675    {
21676#line 195
21677    __cil_tmp6 = *debug___4;
21678#line 195
21679    __cil_tmp7 = __cil_tmp6 & 524288U;
21680#line 195
21681    if (__cil_tmp7 != 0U) {
21682      {
21683#line 196
21684      printk("<7>l2down_skb: ret(%d)\n", ret);
21685      }
21686    } else {
21687
21688    }
21689    }
21690  } else {
21691
21692  }
21693#line 197
21694  return (ret);
21695}
21696}
21697#line 201 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21698static int l2down_raw(struct layer2 *l2 , struct sk_buff *skb ) 
21699{ struct mISDNhead *hh ;
21700  int tmp ;
21701  int tmp___0 ;
21702  char (*__cil_tmp6)[48U] ;
21703  unsigned int __cil_tmp7 ;
21704  u_long *__cil_tmp8 ;
21705  unsigned long volatile   *__cil_tmp9 ;
21706  struct sk_buff_head *__cil_tmp10 ;
21707  char (*__cil_tmp11)[48U] ;
21708  struct mISDNhead *__cil_tmp12 ;
21709
21710  {
21711#line 203
21712  __cil_tmp6 = & skb->cb;
21713#line 203
21714  hh = (struct mISDNhead *)__cil_tmp6;
21715  {
21716#line 205
21717  __cil_tmp7 = hh->prim;
21718#line 205
21719  if (__cil_tmp7 == 8193U) {
21720    {
21721#line 206
21722    __cil_tmp8 = & l2->flag;
21723#line 206
21724    __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
21725#line 206
21726    tmp = test_and_set_bit(17, __cil_tmp9);
21727    }
21728#line 206
21729    if (tmp != 0) {
21730      {
21731#line 207
21732      __cil_tmp10 = & l2->down_queue;
21733#line 207
21734      skb_queue_tail(__cil_tmp10, skb);
21735      }
21736#line 208
21737      return (0);
21738    } else {
21739
21740    }
21741#line 210
21742    __cil_tmp11 = & skb->cb;
21743#line 210
21744    __cil_tmp12 = (struct mISDNhead *)__cil_tmp11;
21745#line 210
21746    l2->down_id = __cil_tmp12->id;
21747  } else {
21748
21749  }
21750  }
21751  {
21752#line 212
21753  tmp___0 = l2down_skb(l2, skb);
21754  }
21755#line 212
21756  return (tmp___0);
21757}
21758}
21759#line 216 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21760static int l2down(struct layer2 *l2 , u_int prim , u_int id , struct sk_buff *skb ) 
21761{ struct mISDNhead *hh ;
21762  int tmp ;
21763  char (*__cil_tmp7)[48U] ;
21764
21765  {
21766  {
21767#line 218
21768  __cil_tmp7 = & skb->cb;
21769#line 218
21770  hh = (struct mISDNhead *)__cil_tmp7;
21771#line 220
21772  hh->prim = prim;
21773#line 221
21774  hh->id = id;
21775#line 222
21776  tmp = l2down_raw(l2, skb);
21777  }
21778#line 222
21779  return (tmp);
21780}
21781}
21782#line 226 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21783static int l2down_create(struct layer2 *l2 , u_int prim , u_int id , int len , void *arg ) 
21784{ struct sk_buff *skb ;
21785  int err ;
21786  struct mISDNhead *hh ;
21787  size_t __len ;
21788  void *__ret ;
21789  unsigned char *tmp___0 ;
21790  unsigned int __cil_tmp12 ;
21791  struct sk_buff *__cil_tmp13 ;
21792  unsigned long __cil_tmp14 ;
21793  unsigned long __cil_tmp15 ;
21794  char (*__cil_tmp16)[48U] ;
21795  unsigned int __cil_tmp17 ;
21796  void *__cil_tmp18 ;
21797  void const   *__cil_tmp19 ;
21798
21799  {
21800  {
21801#line 232
21802  __cil_tmp12 = (unsigned int )len;
21803#line 232
21804  skb = mI_alloc_skb(__cil_tmp12, 32U);
21805  }
21806  {
21807#line 233
21808  __cil_tmp13 = (struct sk_buff *)0;
21809#line 233
21810  __cil_tmp14 = (unsigned long )__cil_tmp13;
21811#line 233
21812  __cil_tmp15 = (unsigned long )skb;
21813#line 233
21814  if (__cil_tmp15 == __cil_tmp14) {
21815#line 234
21816    return (-12);
21817  } else {
21818
21819  }
21820  }
21821#line 235
21822  __cil_tmp16 = & skb->cb;
21823#line 235
21824  hh = (struct mISDNhead *)__cil_tmp16;
21825#line 236
21826  hh->prim = prim;
21827#line 237
21828  hh->id = id;
21829#line 238
21830  if (len != 0) {
21831    {
21832#line 239
21833    __len = (size_t )len;
21834#line 239
21835    __cil_tmp17 = (unsigned int )len;
21836#line 239
21837    tmp___0 = skb_put(skb, __cil_tmp17);
21838#line 239
21839    __cil_tmp18 = (void *)tmp___0;
21840#line 239
21841    __cil_tmp19 = (void const   *)arg;
21842#line 239
21843    __ret = __builtin_memcpy(__cil_tmp18, __cil_tmp19, __len);
21844    }
21845  } else {
21846
21847  }
21848  {
21849#line 240
21850  err = l2down_raw(l2, skb);
21851  }
21852#line 241
21853  if (err != 0) {
21854    {
21855#line 242
21856    consume_skb(skb);
21857    }
21858  } else {
21859
21860  }
21861#line 243
21862  return (err);
21863}
21864}
21865#line 247 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
21866static int ph_data_confirm(struct layer2 *l2 , struct mISDNhead *hh , struct sk_buff *skb ) 
21867{ struct sk_buff *nskb ;
21868  int ret ;
21869  int tmp ;
21870  int tmp___0 ;
21871  int tmp___1 ;
21872  int tmp___2 ;
21873  u_long *__cil_tmp10 ;
21874  unsigned long const volatile   *__cil_tmp11 ;
21875  u_int __cil_tmp12 ;
21876  unsigned int __cil_tmp13 ;
21877  struct sk_buff_head *__cil_tmp14 ;
21878  struct sk_buff *__cil_tmp15 ;
21879  unsigned long __cil_tmp16 ;
21880  unsigned long __cil_tmp17 ;
21881  char (*__cil_tmp18)[48U] ;
21882  struct mISDNhead *__cil_tmp19 ;
21883  u_int __cil_tmp20 ;
21884  u_long *__cil_tmp21 ;
21885  unsigned long volatile   *__cil_tmp22 ;
21886  struct FsmInst *__cil_tmp23 ;
21887  void *__cil_tmp24 ;
21888  u_long *__cil_tmp25 ;
21889  unsigned long volatile   *__cil_tmp26 ;
21890  struct sk_buff_head *__cil_tmp27 ;
21891  struct sk_buff *__cil_tmp28 ;
21892  unsigned long __cil_tmp29 ;
21893  unsigned long __cil_tmp30 ;
21894  char (*__cil_tmp31)[48U] ;
21895  struct mISDNhead *__cil_tmp32 ;
21896  u_long *__cil_tmp33 ;
21897  unsigned long volatile   *__cil_tmp34 ;
21898  u_long *__cil_tmp35 ;
21899  unsigned long volatile   *__cil_tmp36 ;
21900
21901  {
21902  {
21903#line 248
21904  nskb = skb;
21905#line 249
21906  ret = -11;
21907#line 251
21908  __cil_tmp10 = & l2->flag;
21909#line 251
21910  __cil_tmp11 = (unsigned long const volatile   *)__cil_tmp10;
21911#line 251
21912  tmp___0 = constant_test_bit(17U, __cil_tmp11);
21913  }
21914#line 251
21915  if (tmp___0 != 0) {
21916    {
21917#line 252
21918    __cil_tmp12 = l2->down_id;
21919#line 252
21920    __cil_tmp13 = hh->id;
21921#line 252
21922    if (__cil_tmp13 == __cil_tmp12) {
21923      {
21924#line 253
21925      __cil_tmp14 = & l2->down_queue;
21926#line 253
21927      nskb = skb_dequeue(__cil_tmp14);
21928      }
21929      {
21930#line 254
21931      __cil_tmp15 = (struct sk_buff *)0;
21932#line 254
21933      __cil_tmp16 = (unsigned long )__cil_tmp15;
21934#line 254
21935      __cil_tmp17 = (unsigned long )nskb;
21936#line 254
21937      if (__cil_tmp17 != __cil_tmp16) {
21938        {
21939#line 255
21940        __cil_tmp18 = & nskb->cb;
21941#line 255
21942        __cil_tmp19 = (struct mISDNhead *)__cil_tmp18;
21943#line 255
21944        l2->down_id = __cil_tmp19->id;
21945#line 256
21946        tmp = l2down_skb(l2, nskb);
21947        }
21948#line 256
21949        if (tmp != 0) {
21950          {
21951#line 257
21952          consume_skb(nskb);
21953#line 258
21954          l2->down_id = 65534U;
21955          }
21956        } else {
21957
21958        }
21959      } else {
21960#line 261
21961        l2->down_id = 65534U;
21962      }
21963      }
21964#line 262
21965      if (ret != 0) {
21966        {
21967#line 263
21968        consume_skb(skb);
21969#line 264
21970        ret = 0;
21971        }
21972      } else {
21973
21974      }
21975      {
21976#line 266
21977      __cil_tmp20 = l2->down_id;
21978#line 266
21979      if (__cil_tmp20 == 65534U) {
21980        {
21981#line 267
21982        __cil_tmp21 = & l2->flag;
21983#line 267
21984        __cil_tmp22 = (unsigned long volatile   *)__cil_tmp21;
21985#line 267
21986        test_and_clear_bit(17, __cil_tmp22);
21987#line 268
21988        __cil_tmp23 = & l2->l2m;
21989#line 268
21990        __cil_tmp24 = (void *)0;
21991#line 268
21992        mISDN_FsmEvent(__cil_tmp23, 9, __cil_tmp24);
21993        }
21994      } else {
21995
21996      }
21997      }
21998    } else {
21999
22000    }
22001    }
22002  } else {
22003
22004  }
22005  {
22006#line 272
22007  __cil_tmp25 = & l2->flag;
22008#line 272
22009  __cil_tmp26 = (unsigned long volatile   *)__cil_tmp25;
22010#line 272
22011  tmp___2 = test_and_set_bit(17, __cil_tmp26);
22012  }
22013#line 272
22014  if (tmp___2 == 0) {
22015    {
22016#line 273
22017    __cil_tmp27 = & l2->down_queue;
22018#line 273
22019    nskb = skb_dequeue(__cil_tmp27);
22020    }
22021    {
22022#line 274
22023    __cil_tmp28 = (struct sk_buff *)0;
22024#line 274
22025    __cil_tmp29 = (unsigned long )__cil_tmp28;
22026#line 274
22027    __cil_tmp30 = (unsigned long )nskb;
22028#line 274
22029    if (__cil_tmp30 != __cil_tmp29) {
22030      {
22031#line 275
22032      __cil_tmp31 = & nskb->cb;
22033#line 275
22034      __cil_tmp32 = (struct mISDNhead *)__cil_tmp31;
22035#line 275
22036      l2->down_id = __cil_tmp32->id;
22037#line 276
22038      tmp___1 = l2down_skb(l2, nskb);
22039      }
22040#line 276
22041      if (tmp___1 != 0) {
22042        {
22043#line 277
22044        consume_skb(nskb);
22045#line 278
22046        l2->down_id = 65534U;
22047#line 279
22048        __cil_tmp33 = & l2->flag;
22049#line 279
22050        __cil_tmp34 = (unsigned long volatile   *)__cil_tmp33;
22051#line 279
22052        test_and_clear_bit(17, __cil_tmp34);
22053        }
22054      } else {
22055
22056      }
22057    } else {
22058      {
22059#line 282
22060      __cil_tmp35 = & l2->flag;
22061#line 282
22062      __cil_tmp36 = (unsigned long volatile   *)__cil_tmp35;
22063#line 282
22064      test_and_clear_bit(17, __cil_tmp36);
22065      }
22066    }
22067    }
22068  } else {
22069
22070  }
22071#line 284
22072  return (ret);
22073}
22074}
22075#line 288 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22076static int l2mgr(struct layer2 *l2 , u_int prim , void *arg ) 
22077{ long c ;
22078  int tmp ;
22079  int tmp___0 ;
22080  int __cil_tmp7 ;
22081  char __cil_tmp8 ;
22082  int __cil_tmp9 ;
22083  u_long *__cil_tmp10 ;
22084  unsigned long const volatile   *__cil_tmp11 ;
22085  u_long *__cil_tmp12 ;
22086  unsigned long const volatile   *__cil_tmp13 ;
22087  int __cil_tmp14 ;
22088  int __cil_tmp15 ;
22089  int __cil_tmp16 ;
22090  int __cil_tmp17 ;
22091  unsigned long __cil_tmp18 ;
22092
22093  {
22094  {
22095#line 289
22096  c = (long )arg;
22097#line 291
22098  __cil_tmp7 = l2->id;
22099#line 291
22100  __cil_tmp8 = (char )c;
22101#line 291
22102  __cil_tmp9 = (int )__cil_tmp8;
22103#line 291
22104  printk("<4>l2mgr: addr:%x prim %x %c\n", __cil_tmp7, prim, __cil_tmp9);
22105#line 293
22106  __cil_tmp10 = & l2->flag;
22107#line 293
22108  __cil_tmp11 = (unsigned long const volatile   *)__cil_tmp10;
22109#line 293
22110  tmp = constant_test_bit(1U, __cil_tmp11);
22111  }
22112#line 293
22113  if (tmp != 0) {
22114    {
22115#line 293
22116    __cil_tmp12 = & l2->flag;
22117#line 293
22118    __cil_tmp13 = (unsigned long const volatile   *)__cil_tmp12;
22119#line 293
22120    tmp___0 = constant_test_bit(15U, __cil_tmp13);
22121    }
22122#line 293
22123    if (tmp___0 == 0) {
22124      {
22125#line 296
22126      __cil_tmp14 = (int )c;
22127#line 296
22128      if (__cil_tmp14 == 67) {
22129#line 296
22130        goto case_67;
22131      } else {
22132        {
22133#line 297
22134        __cil_tmp15 = (int )c;
22135#line 297
22136        if (__cil_tmp15 == 68) {
22137#line 297
22138          goto case_68;
22139        } else {
22140          {
22141#line 298
22142          __cil_tmp16 = (int )c;
22143#line 298
22144          if (__cil_tmp16 == 71) {
22145#line 298
22146            goto case_71;
22147          } else {
22148            {
22149#line 299
22150            __cil_tmp17 = (int )c;
22151#line 299
22152            if (__cil_tmp17 == 72) {
22153#line 299
22154              goto case_72;
22155            } else
22156#line 295
22157            if (0) {
22158              case_67: ;
22159              case_68: ;
22160              case_71: ;
22161              case_72: 
22162              {
22163#line 300
22164              __cil_tmp18 = (unsigned long )arg;
22165#line 300
22166              l2_tei(l2, prim, __cil_tmp18);
22167              }
22168#line 301
22169              goto ldv_38621;
22170            } else {
22171
22172            }
22173            }
22174          }
22175          }
22176        }
22177        }
22178      }
22179      }
22180      ldv_38621: ;
22181    } else {
22182
22183    }
22184  } else {
22185
22186  }
22187#line 304
22188  return (0);
22189}
22190}
22191#line 308 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22192static void set_peer_busy(struct layer2 *l2 ) 
22193{ __u32 tmp ;
22194  __u32 tmp___0 ;
22195  u_long *__cil_tmp4 ;
22196  unsigned long volatile   *__cil_tmp5 ;
22197  struct sk_buff_head *__cil_tmp6 ;
22198  struct sk_buff_head  const  *__cil_tmp7 ;
22199  u_long *__cil_tmp8 ;
22200  unsigned long volatile   *__cil_tmp9 ;
22201  struct sk_buff_head *__cil_tmp10 ;
22202  struct sk_buff_head  const  *__cil_tmp11 ;
22203  u_long *__cil_tmp12 ;
22204  unsigned long volatile   *__cil_tmp13 ;
22205
22206  {
22207  {
22208#line 309
22209  __cil_tmp4 = & l2->flag;
22210#line 309
22211  __cil_tmp5 = (unsigned long volatile   *)__cil_tmp4;
22212#line 309
22213  test_and_set_bit(10, __cil_tmp5);
22214#line 310
22215  __cil_tmp6 = & l2->i_queue;
22216#line 310
22217  __cil_tmp7 = (struct sk_buff_head  const  *)__cil_tmp6;
22218#line 310
22219  tmp = skb_queue_len(__cil_tmp7);
22220  }
22221#line 310
22222  if (tmp != 0U) {
22223    {
22224#line 311
22225    __cil_tmp8 = & l2->flag;
22226#line 311
22227    __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
22228#line 311
22229    test_and_set_bit(16, __cil_tmp9);
22230    }
22231  } else {
22232    {
22233#line 310
22234    __cil_tmp10 = & l2->ui_queue;
22235#line 310
22236    __cil_tmp11 = (struct sk_buff_head  const  *)__cil_tmp10;
22237#line 310
22238    tmp___0 = skb_queue_len(__cil_tmp11);
22239    }
22240#line 310
22241    if (tmp___0 != 0U) {
22242      {
22243#line 311
22244      __cil_tmp12 = & l2->flag;
22245#line 311
22246      __cil_tmp13 = (unsigned long volatile   *)__cil_tmp12;
22247#line 311
22248      test_and_set_bit(16, __cil_tmp13);
22249      }
22250    } else {
22251
22252    }
22253  }
22254#line 312
22255  return;
22256}
22257}
22258#line 315 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22259static void clear_peer_busy(struct layer2 *l2 ) 
22260{ int tmp ;
22261  u_long *__cil_tmp3 ;
22262  unsigned long volatile   *__cil_tmp4 ;
22263  u_long *__cil_tmp5 ;
22264  unsigned long volatile   *__cil_tmp6 ;
22265
22266  {
22267  {
22268#line 316
22269  __cil_tmp3 = & l2->flag;
22270#line 316
22271  __cil_tmp4 = (unsigned long volatile   *)__cil_tmp3;
22272#line 316
22273  tmp = test_and_clear_bit(10, __cil_tmp4);
22274  }
22275#line 316
22276  if (tmp != 0) {
22277    {
22278#line 317
22279    __cil_tmp5 = & l2->flag;
22280#line 317
22281    __cil_tmp6 = (unsigned long volatile   *)__cil_tmp5;
22282#line 317
22283    test_and_clear_bit(16, __cil_tmp6);
22284    }
22285  } else {
22286
22287  }
22288#line 318
22289  return;
22290}
22291}
22292#line 321 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22293static void InitWin(struct layer2 *l2 ) 
22294{ int i ;
22295
22296  {
22297#line 325
22298  i = 0;
22299#line 325
22300  goto ldv_38633;
22301  ldv_38632: 
22302#line 326
22303  l2->windowar[i] = (struct sk_buff *)0;
22304#line 325
22305  i = i + 1;
22306  ldv_38633: ;
22307#line 325
22308  if (i <= 7) {
22309#line 326
22310    goto ldv_38632;
22311  } else {
22312#line 328
22313    goto ldv_38634;
22314  }
22315  ldv_38634: ;
22316#line 330
22317  return;
22318}
22319}
22320#line 330 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22321static int freewin(struct layer2 *l2 ) 
22322{ int i ;
22323  int cnt ;
22324  struct sk_buff *__cil_tmp4 ;
22325  unsigned long __cil_tmp5 ;
22326  struct sk_buff *__cil_tmp6 ;
22327  unsigned long __cil_tmp7 ;
22328  struct sk_buff *__cil_tmp8 ;
22329
22330  {
22331#line 332
22332  cnt = 0;
22333#line 334
22334  i = 0;
22335#line 334
22336  goto ldv_38641;
22337  ldv_38640: ;
22338  {
22339#line 335
22340  __cil_tmp4 = (struct sk_buff *)0;
22341#line 335
22342  __cil_tmp5 = (unsigned long )__cil_tmp4;
22343#line 335
22344  __cil_tmp6 = l2->windowar[i];
22345#line 335
22346  __cil_tmp7 = (unsigned long )__cil_tmp6;
22347#line 335
22348  if (__cil_tmp7 != __cil_tmp5) {
22349    {
22350#line 336
22351    cnt = cnt + 1;
22352#line 337
22353    __cil_tmp8 = l2->windowar[i];
22354#line 337
22355    consume_skb(__cil_tmp8);
22356#line 338
22357    l2->windowar[i] = (struct sk_buff *)0;
22358    }
22359  } else {
22360
22361  }
22362  }
22363#line 334
22364  i = i + 1;
22365  ldv_38641: ;
22366#line 334
22367  if (i <= 7) {
22368#line 335
22369    goto ldv_38640;
22370  } else {
22371#line 337
22372    goto ldv_38642;
22373  }
22374  ldv_38642: ;
22375#line 341
22376  return (cnt);
22377}
22378}
22379#line 345 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22380static void ReleaseWin(struct layer2 *l2 ) 
22381{ int cnt ;
22382  int tmp ;
22383
22384  {
22385  {
22386#line 347
22387  tmp = freewin(l2);
22388#line 347
22389  cnt = tmp;
22390  }
22391#line 349
22392  if (cnt != 0) {
22393    {
22394#line 350
22395    printk("<4>isdnl2 freed %d skbuffs in release\n", cnt);
22396    }
22397  } else {
22398
22399  }
22400#line 351
22401  return;
22402}
22403}
22404#line 355 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22405__inline unsigned int cansend(struct layer2 *l2 ) 
22406{ unsigned int p1 ;
22407  int tmp ;
22408  int tmp___0 ;
22409  int tmp___1 ;
22410  u_long *__cil_tmp6 ;
22411  unsigned long const volatile   *__cil_tmp7 ;
22412  u_int __cil_tmp8 ;
22413  u_int __cil_tmp9 ;
22414  u_int __cil_tmp10 ;
22415  u_int __cil_tmp11 ;
22416  u_int __cil_tmp12 ;
22417  u_int __cil_tmp13 ;
22418  u_int __cil_tmp14 ;
22419  u_long *__cil_tmp15 ;
22420  unsigned long const volatile   *__cil_tmp16 ;
22421
22422  {
22423  {
22424#line 359
22425  __cil_tmp6 = & l2->flag;
22426#line 359
22427  __cil_tmp7 = (unsigned long const volatile   *)__cil_tmp6;
22428#line 359
22429  tmp = constant_test_bit(3U, __cil_tmp7);
22430  }
22431#line 359
22432  if (tmp != 0) {
22433#line 360
22434    __cil_tmp8 = l2->va;
22435#line 360
22436    __cil_tmp9 = l2->vs;
22437#line 360
22438    __cil_tmp10 = __cil_tmp9 - __cil_tmp8;
22439#line 360
22440    p1 = __cil_tmp10 & 127U;
22441  } else {
22442#line 362
22443    __cil_tmp11 = l2->va;
22444#line 362
22445    __cil_tmp12 = l2->vs;
22446#line 362
22447    __cil_tmp13 = __cil_tmp12 - __cil_tmp11;
22448#line 362
22449    p1 = __cil_tmp13 & 7U;
22450  }
22451  {
22452#line 363
22453  __cil_tmp14 = l2->window;
22454#line 363
22455  if (__cil_tmp14 > p1) {
22456    {
22457#line 363
22458    __cil_tmp15 = & l2->flag;
22459#line 363
22460    __cil_tmp16 = (unsigned long const volatile   *)__cil_tmp15;
22461#line 363
22462    tmp___0 = constant_test_bit(10U, __cil_tmp16);
22463    }
22464#line 363
22465    if (tmp___0 == 0) {
22466#line 363
22467      tmp___1 = 1;
22468    } else {
22469#line 363
22470      tmp___1 = 0;
22471    }
22472  } else {
22473#line 363
22474    tmp___1 = 0;
22475  }
22476  }
22477#line 363
22478  return ((unsigned int )tmp___1);
22479}
22480}
22481#line 367 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22482__inline void clear_exception(struct layer2 *l2 ) 
22483{ u_long *__cil_tmp2 ;
22484  unsigned long volatile   *__cil_tmp3 ;
22485  u_long *__cil_tmp4 ;
22486  unsigned long volatile   *__cil_tmp5 ;
22487  u_long *__cil_tmp6 ;
22488  unsigned long volatile   *__cil_tmp7 ;
22489
22490  {
22491  {
22492#line 369
22493  __cil_tmp2 = & l2->flag;
22494#line 369
22495  __cil_tmp3 = (unsigned long volatile   *)__cil_tmp2;
22496#line 369
22497  test_and_clear_bit(7, __cil_tmp3);
22498#line 370
22499  __cil_tmp4 = & l2->flag;
22500#line 370
22501  __cil_tmp5 = (unsigned long volatile   *)__cil_tmp4;
22502#line 370
22503  test_and_clear_bit(8, __cil_tmp5);
22504#line 371
22505  __cil_tmp6 = & l2->flag;
22506#line 371
22507  __cil_tmp7 = (unsigned long volatile   *)__cil_tmp6;
22508#line 371
22509  test_and_clear_bit(9, __cil_tmp7);
22510#line 372
22511  clear_peer_busy(l2);
22512  }
22513#line 373
22514  return;
22515}
22516}
22517#line 376 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22518static int sethdraddr(struct layer2 *l2 , u_char *header , int rsp ) 
22519{ u_char *ptr ;
22520  int crbit ;
22521  int tmp ;
22522  u_char *tmp___0 ;
22523  int tmp___1 ;
22524  u_char *tmp___2 ;
22525  int tmp___3 ;
22526  u_char *tmp___4 ;
22527  u_char *tmp___5 ;
22528  int tmp___6 ;
22529  u_long *__cil_tmp14 ;
22530  unsigned long const volatile   *__cil_tmp15 ;
22531  u_long *__cil_tmp16 ;
22532  unsigned long const volatile   *__cil_tmp17 ;
22533  signed char __cil_tmp18 ;
22534  int __cil_tmp19 ;
22535  int __cil_tmp20 ;
22536  signed char __cil_tmp21 ;
22537  int __cil_tmp22 ;
22538  int __cil_tmp23 ;
22539  signed char __cil_tmp24 ;
22540  int __cil_tmp25 ;
22541  int __cil_tmp26 ;
22542  signed char __cil_tmp27 ;
22543  int __cil_tmp28 ;
22544  int __cil_tmp29 ;
22545  u_long *__cil_tmp30 ;
22546  unsigned long const volatile   *__cil_tmp31 ;
22547
22548  {
22549  {
22550#line 378
22551  ptr = header;
22552#line 379
22553  crbit = rsp;
22554#line 381
22555  __cil_tmp14 = & l2->flag;
22556#line 381
22557  __cil_tmp15 = (unsigned long const volatile   *)__cil_tmp14;
22558#line 381
22559  tmp___6 = constant_test_bit(1U, __cil_tmp15);
22560  }
22561#line 381
22562  if (tmp___6 != 0) {
22563    {
22564#line 382
22565    __cil_tmp16 = & l2->flag;
22566#line 382
22567    __cil_tmp17 = (unsigned long const volatile   *)__cil_tmp16;
22568#line 382
22569    tmp = constant_test_bit(18U, __cil_tmp17);
22570    }
22571#line 382
22572    if (tmp != 0) {
22573#line 383
22574      crbit = crbit == 0;
22575    } else {
22576
22577    }
22578#line 384
22579    tmp___0 = ptr;
22580#line 384
22581    ptr = ptr + 1;
22582#line 384
22583    if (crbit != 0) {
22584#line 384
22585      tmp___1 = 2;
22586    } else {
22587#line 384
22588      tmp___1 = 0;
22589    }
22590#line 384
22591    __cil_tmp18 = l2->sapi;
22592#line 384
22593    __cil_tmp19 = (int )__cil_tmp18;
22594#line 384
22595    __cil_tmp20 = __cil_tmp19 << 2;
22596#line 384
22597    __cil_tmp21 = (signed char )__cil_tmp20;
22598#line 384
22599    __cil_tmp22 = (int )__cil_tmp21;
22600#line 384
22601    __cil_tmp23 = __cil_tmp22 | tmp___1;
22602#line 384
22603    *tmp___0 = (u_char )__cil_tmp23;
22604#line 385
22605    tmp___2 = ptr;
22606#line 385
22607    ptr = ptr + 1;
22608#line 385
22609    __cil_tmp24 = l2->tei;
22610#line 385
22611    __cil_tmp25 = (int )__cil_tmp24;
22612#line 385
22613    __cil_tmp26 = __cil_tmp25 << 1;
22614#line 385
22615    __cil_tmp27 = (signed char )__cil_tmp26;
22616#line 385
22617    __cil_tmp28 = (int )__cil_tmp27;
22618#line 385
22619    __cil_tmp29 = __cil_tmp28 | 1;
22620#line 385
22621    *tmp___2 = (u_char )__cil_tmp29;
22622#line 386
22623    return (2);
22624  } else {
22625    {
22626#line 388
22627    __cil_tmp30 = & l2->flag;
22628#line 388
22629    __cil_tmp31 = (unsigned long const volatile   *)__cil_tmp30;
22630#line 388
22631    tmp___3 = constant_test_bit(2U, __cil_tmp31);
22632    }
22633#line 388
22634    if (tmp___3 != 0) {
22635#line 389
22636      crbit = crbit == 0;
22637    } else {
22638
22639    }
22640#line 390
22641    if (crbit != 0) {
22642#line 391
22643      tmp___4 = ptr;
22644#line 391
22645      ptr = ptr + 1;
22646#line 391
22647      *tmp___4 = l2->addr.B;
22648    } else {
22649#line 393
22650      tmp___5 = ptr;
22651#line 393
22652      ptr = ptr + 1;
22653#line 393
22654      *tmp___5 = l2->addr.A;
22655    }
22656#line 394
22657    return (1);
22658  }
22659}
22660}
22661#line 399 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22662__inline static void enqueue_super(struct layer2 *l2 , struct sk_buff *skb ) 
22663{ u_int tmp ;
22664  int tmp___0 ;
22665
22666  {
22667  {
22668#line 401
22669  tmp = l2_newid(l2);
22670#line 401
22671  tmp___0 = l2down(l2, 8193U, tmp, skb);
22672  }
22673#line 401
22674  if (tmp___0 != 0) {
22675    {
22676#line 402
22677    consume_skb(skb);
22678    }
22679  } else {
22680
22681  }
22682#line 403
22683  return;
22684}
22685}
22686#line 406 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22687__inline static void enqueue_ui(struct layer2 *l2 , struct sk_buff *skb ) 
22688{ u_int tmp ;
22689  int tmp___0 ;
22690  struct teimgr *__cil_tmp5 ;
22691  unsigned long __cil_tmp6 ;
22692  struct teimgr *__cil_tmp7 ;
22693  unsigned long __cil_tmp8 ;
22694
22695  {
22696  {
22697#line 408
22698  __cil_tmp5 = (struct teimgr *)0;
22699#line 408
22700  __cil_tmp6 = (unsigned long )__cil_tmp5;
22701#line 408
22702  __cil_tmp7 = l2->tm;
22703#line 408
22704  __cil_tmp8 = (unsigned long )__cil_tmp7;
22705#line 408
22706  if (__cil_tmp8 != __cil_tmp6) {
22707    {
22708#line 409
22709    l2_tei(l2, 7684U, 0UL);
22710    }
22711  } else {
22712
22713  }
22714  }
22715  {
22716#line 410
22717  tmp = l2_newid(l2);
22718#line 410
22719  tmp___0 = l2down(l2, 8193U, tmp, skb);
22720  }
22721#line 410
22722  if (tmp___0 != 0) {
22723    {
22724#line 411
22725    consume_skb(skb);
22726    }
22727  } else {
22728
22729  }
22730#line 412
22731  return;
22732}
22733}
22734#line 415 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22735__inline int IsUI(u_char *data ) 
22736{ u_char __cil_tmp2 ;
22737  int __cil_tmp3 ;
22738  int __cil_tmp4 ;
22739
22740  {
22741  {
22742#line 417
22743  __cil_tmp2 = *data;
22744#line 417
22745  __cil_tmp3 = (int )__cil_tmp2;
22746#line 417
22747  __cil_tmp4 = __cil_tmp3 & 239;
22748#line 417
22749  return (__cil_tmp4 == 3);
22750  }
22751}
22752}
22753#line 421 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22754__inline int IsUA(u_char *data ) 
22755{ u_char __cil_tmp2 ;
22756  int __cil_tmp3 ;
22757  int __cil_tmp4 ;
22758
22759  {
22760  {
22761#line 423
22762  __cil_tmp2 = *data;
22763#line 423
22764  __cil_tmp3 = (int )__cil_tmp2;
22765#line 423
22766  __cil_tmp4 = __cil_tmp3 & 239;
22767#line 423
22768  return (__cil_tmp4 == 99);
22769  }
22770}
22771}
22772#line 427 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22773__inline int IsDM(u_char *data ) 
22774{ u_char __cil_tmp2 ;
22775  int __cil_tmp3 ;
22776  int __cil_tmp4 ;
22777
22778  {
22779  {
22780#line 429
22781  __cil_tmp2 = *data;
22782#line 429
22783  __cil_tmp3 = (int )__cil_tmp2;
22784#line 429
22785  __cil_tmp4 = __cil_tmp3 & 239;
22786#line 429
22787  return (__cil_tmp4 == 15);
22788  }
22789}
22790}
22791#line 433 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22792__inline int IsDISC(u_char *data ) 
22793{ u_char __cil_tmp2 ;
22794  int __cil_tmp3 ;
22795  int __cil_tmp4 ;
22796
22797  {
22798  {
22799#line 435
22800  __cil_tmp2 = *data;
22801#line 435
22802  __cil_tmp3 = (int )__cil_tmp2;
22803#line 435
22804  __cil_tmp4 = __cil_tmp3 & 239;
22805#line 435
22806  return (__cil_tmp4 == 67);
22807  }
22808}
22809}
22810#line 439 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22811__inline int IsRR(u_char *data , struct layer2 *l2 ) 
22812{ int tmp ;
22813  u_long *__cil_tmp4 ;
22814  unsigned long const volatile   *__cil_tmp5 ;
22815  u_char __cil_tmp6 ;
22816  unsigned int __cil_tmp7 ;
22817  u_char __cil_tmp8 ;
22818  int __cil_tmp9 ;
22819  int __cil_tmp10 ;
22820
22821  {
22822  {
22823#line 441
22824  __cil_tmp4 = & l2->flag;
22825#line 441
22826  __cil_tmp5 = (unsigned long const volatile   *)__cil_tmp4;
22827#line 441
22828  tmp = constant_test_bit(3U, __cil_tmp5);
22829  }
22830#line 441
22831  if (tmp != 0) {
22832    {
22833#line 442
22834    __cil_tmp6 = *data;
22835#line 442
22836    __cil_tmp7 = (unsigned int )__cil_tmp6;
22837#line 442
22838    return (__cil_tmp7 == 1U);
22839    }
22840  } else {
22841    {
22842#line 444
22843    __cil_tmp8 = *data;
22844#line 444
22845    __cil_tmp9 = (int )__cil_tmp8;
22846#line 444
22847    __cil_tmp10 = __cil_tmp9 & 15;
22848#line 444
22849    return (__cil_tmp10 == 1);
22850    }
22851  }
22852}
22853}
22854#line 448 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22855__inline int IsSFrame(u_char *data , struct layer2 *l2 ) 
22856{ register u_char d ;
22857  int tmp ;
22858  int tmp___0 ;
22859  u_long *__cil_tmp6 ;
22860  unsigned long const volatile   *__cil_tmp7 ;
22861  unsigned int __cil_tmp8 ;
22862  unsigned int __cil_tmp9 ;
22863  int __cil_tmp10 ;
22864  int __cil_tmp11 ;
22865  int __cil_tmp12 ;
22866  int __cil_tmp13 ;
22867
22868  {
22869  {
22870#line 450
22871  d = *data;
22872#line 452
22873  __cil_tmp6 = & l2->flag;
22874#line 452
22875  __cil_tmp7 = (unsigned long const volatile   *)__cil_tmp6;
22876#line 452
22877  tmp = constant_test_bit(3U, __cil_tmp7);
22878  }
22879#line 452
22880  if (tmp == 0) {
22881#line 453
22882    __cil_tmp8 = (unsigned int )d;
22883#line 453
22884    __cil_tmp9 = __cil_tmp8 & 15U;
22885#line 453
22886    d = (u_char )__cil_tmp9;
22887  } else {
22888
22889  }
22890  {
22891#line 454
22892  __cil_tmp10 = (int )d;
22893#line 454
22894  __cil_tmp11 = __cil_tmp10 & 243;
22895#line 454
22896  if (__cil_tmp11 == 1) {
22897    {
22898#line 454
22899    __cil_tmp12 = (int )d;
22900#line 454
22901    __cil_tmp13 = __cil_tmp12 & 12;
22902#line 454
22903    if (__cil_tmp13 != 12) {
22904#line 454
22905      tmp___0 = 1;
22906    } else {
22907#line 454
22908      tmp___0 = 0;
22909    }
22910    }
22911  } else {
22912#line 454
22913    tmp___0 = 0;
22914  }
22915  }
22916#line 454
22917  return (tmp___0);
22918}
22919}
22920#line 458 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22921__inline int IsSABME(u_char *data , struct layer2 *l2 ) 
22922{ u_char d ;
22923  int tmp___0 ;
22924  int tmp___1 ;
22925  u_char __cil_tmp6 ;
22926  unsigned int __cil_tmp7 ;
22927  unsigned int __cil_tmp8 ;
22928  u_long *__cil_tmp9 ;
22929  unsigned long const volatile   *__cil_tmp10 ;
22930  unsigned int __cil_tmp11 ;
22931  unsigned int __cil_tmp12 ;
22932
22933  {
22934  {
22935#line 460
22936  __cil_tmp6 = *data;
22937#line 460
22938  __cil_tmp7 = (unsigned int )__cil_tmp6;
22939#line 460
22940  __cil_tmp8 = __cil_tmp7 & 239U;
22941#line 460
22942  d = (u_char )__cil_tmp8;
22943#line 462
22944  __cil_tmp9 = & l2->flag;
22945#line 462
22946  __cil_tmp10 = (unsigned long const volatile   *)__cil_tmp9;
22947#line 462
22948  tmp___1 = constant_test_bit(3U, __cil_tmp10);
22949  }
22950#line 462
22951  if (tmp___1 != 0) {
22952#line 462
22953    __cil_tmp11 = (unsigned int )d;
22954#line 462
22955    tmp___0 = __cil_tmp11 == 111U;
22956  } else {
22957#line 462
22958    __cil_tmp12 = (unsigned int )d;
22959#line 462
22960    tmp___0 = __cil_tmp12 == 47U;
22961  }
22962#line 462
22963  return (tmp___0);
22964}
22965}
22966#line 466 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
22967__inline int IsREJ(u_char *data , struct layer2 *l2 ) 
22968{ int tmp___0 ;
22969  int tmp___1 ;
22970  u_long *__cil_tmp5 ;
22971  unsigned long const volatile   *__cil_tmp6 ;
22972  u_char __cil_tmp7 ;
22973  unsigned int __cil_tmp8 ;
22974  u_char __cil_tmp9 ;
22975  int __cil_tmp10 ;
22976  int __cil_tmp11 ;
22977
22978  {
22979  {
22980#line 468
22981  __cil_tmp5 = & l2->flag;
22982#line 468
22983  __cil_tmp6 = (unsigned long const volatile   *)__cil_tmp5;
22984#line 468
22985  tmp___1 = constant_test_bit(3U, __cil_tmp6);
22986  }
22987#line 468
22988  if (tmp___1 != 0) {
22989#line 468
22990    __cil_tmp7 = *data;
22991#line 468
22992    __cil_tmp8 = (unsigned int )__cil_tmp7;
22993#line 468
22994    tmp___0 = __cil_tmp8 == 9U;
22995  } else {
22996#line 468
22997    __cil_tmp9 = *data;
22998#line 468
22999    __cil_tmp10 = (int )__cil_tmp9;
23000#line 468
23001    __cil_tmp11 = __cil_tmp10 & 15;
23002#line 468
23003    tmp___0 = __cil_tmp11 == 9;
23004  }
23005#line 468
23006  return (tmp___0);
23007}
23008}
23009#line 473 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23010__inline int IsFRMR(u_char *data ) 
23011{ u_char __cil_tmp2 ;
23012  int __cil_tmp3 ;
23013  int __cil_tmp4 ;
23014
23015  {
23016  {
23017#line 475
23018  __cil_tmp2 = *data;
23019#line 475
23020  __cil_tmp3 = (int )__cil_tmp2;
23021#line 475
23022  __cil_tmp4 = __cil_tmp3 & 239;
23023#line 475
23024  return (__cil_tmp4 == 135);
23025  }
23026}
23027}
23028#line 479 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23029__inline int IsRNR(u_char *data , struct layer2 *l2 ) 
23030{ int tmp___0 ;
23031  int tmp___1 ;
23032  u_long *__cil_tmp5 ;
23033  unsigned long const volatile   *__cil_tmp6 ;
23034  u_char __cil_tmp7 ;
23035  unsigned int __cil_tmp8 ;
23036  u_char __cil_tmp9 ;
23037  int __cil_tmp10 ;
23038  int __cil_tmp11 ;
23039
23040  {
23041  {
23042#line 481
23043  __cil_tmp5 = & l2->flag;
23044#line 481
23045  __cil_tmp6 = (unsigned long const volatile   *)__cil_tmp5;
23046#line 481
23047  tmp___1 = constant_test_bit(3U, __cil_tmp6);
23048  }
23049#line 481
23050  if (tmp___1 != 0) {
23051#line 481
23052    __cil_tmp7 = *data;
23053#line 481
23054    __cil_tmp8 = (unsigned int )__cil_tmp7;
23055#line 481
23056    tmp___0 = __cil_tmp8 == 5U;
23057  } else {
23058#line 481
23059    __cil_tmp9 = *data;
23060#line 481
23061    __cil_tmp10 = (int )__cil_tmp9;
23062#line 481
23063    __cil_tmp11 = __cil_tmp10 & 15;
23064#line 481
23065    tmp___0 = __cil_tmp11 == 5;
23066  }
23067#line 481
23068  return (tmp___0);
23069}
23070}
23071#line 486 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23072static int iframe_error(struct layer2 *l2 , struct sk_buff *skb ) 
23073{ u_int i ;
23074  int rsp ;
23075  u_int tmp ;
23076  unsigned int tmp___1 ;
23077  int tmp___2 ;
23078  int tmp___3 ;
23079  unsigned char *__cil_tmp9 ;
23080  unsigned char __cil_tmp10 ;
23081  int __cil_tmp11 ;
23082  u_long *__cil_tmp12 ;
23083  unsigned long const volatile   *__cil_tmp13 ;
23084  u_long *__cil_tmp14 ;
23085  unsigned long const volatile   *__cil_tmp15 ;
23086  unsigned int __cil_tmp16 ;
23087  u_int __cil_tmp17 ;
23088  unsigned int __cil_tmp18 ;
23089  unsigned int __cil_tmp19 ;
23090
23091  {
23092  {
23093#line 489
23094  __cil_tmp9 = skb->data;
23095#line 489
23096  __cil_tmp10 = *__cil_tmp9;
23097#line 489
23098  __cil_tmp11 = (int )__cil_tmp10;
23099#line 489
23100  rsp = __cil_tmp11 & 2;
23101#line 491
23102  tmp = l2addrsize(l2);
23103#line 491
23104  __cil_tmp12 = & l2->flag;
23105#line 491
23106  __cil_tmp13 = (unsigned long const volatile   *)__cil_tmp12;
23107#line 491
23108  tmp___2 = constant_test_bit(3U, __cil_tmp13);
23109  }
23110#line 491
23111  if (tmp___2 != 0) {
23112#line 491
23113    tmp___1 = 2U;
23114  } else {
23115#line 491
23116    tmp___1 = 1U;
23117  }
23118  {
23119#line 491
23120  i = tmp + tmp___1;
23121#line 492
23122  __cil_tmp14 = & l2->flag;
23123#line 492
23124  __cil_tmp15 = (unsigned long const volatile   *)__cil_tmp14;
23125#line 492
23126  tmp___3 = constant_test_bit(2U, __cil_tmp15);
23127  }
23128#line 492
23129  if (tmp___3 != 0) {
23130#line 493
23131    rsp = rsp == 0;
23132  } else {
23133
23134  }
23135#line 494
23136  if (rsp != 0) {
23137#line 495
23138    return (76);
23139  } else {
23140
23141  }
23142  {
23143#line 496
23144  __cil_tmp16 = skb->len;
23145#line 496
23146  if (__cil_tmp16 < i) {
23147#line 497
23148    return (78);
23149  } else {
23150
23151  }
23152  }
23153  {
23154#line 498
23155  __cil_tmp17 = l2->maxlen;
23156#line 498
23157  __cil_tmp18 = skb->len;
23158#line 498
23159  __cil_tmp19 = __cil_tmp18 - i;
23160#line 498
23161  if (__cil_tmp19 > __cil_tmp17) {
23162#line 499
23163    return (79);
23164  } else {
23165
23166  }
23167  }
23168#line 500
23169  return (0);
23170}
23171}
23172#line 504 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23173static int super_error(struct layer2 *l2 , struct sk_buff *skb ) 
23174{ u_int tmp ;
23175  unsigned int tmp___1 ;
23176  int tmp___2 ;
23177  u_long *__cil_tmp6 ;
23178  unsigned long const volatile   *__cil_tmp7 ;
23179  u_int __cil_tmp8 ;
23180  unsigned int __cil_tmp9 ;
23181
23182  {
23183  {
23184#line 506
23185  tmp = l2addrsize(l2);
23186#line 506
23187  __cil_tmp6 = & l2->flag;
23188#line 506
23189  __cil_tmp7 = (unsigned long const volatile   *)__cil_tmp6;
23190#line 506
23191  tmp___2 = constant_test_bit(3U, __cil_tmp7);
23192  }
23193#line 506
23194  if (tmp___2 != 0) {
23195#line 506
23196    tmp___1 = 2U;
23197  } else {
23198#line 506
23199    tmp___1 = 1U;
23200  }
23201  {
23202#line 506
23203  __cil_tmp8 = tmp + tmp___1;
23204#line 506
23205  __cil_tmp9 = skb->len;
23206#line 506
23207  if (__cil_tmp9 != __cil_tmp8) {
23208#line 508
23209    return (78);
23210  } else {
23211
23212  }
23213  }
23214#line 509
23215  return (0);
23216}
23217}
23218#line 513 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23219static int unnum_error(struct layer2 *l2 , struct sk_buff *skb , int wantrsp ) 
23220{ int rsp ;
23221  int tmp ;
23222  u_int tmp___0 ;
23223  unsigned char *__cil_tmp7 ;
23224  unsigned char __cil_tmp8 ;
23225  int __cil_tmp9 ;
23226  int __cil_tmp10 ;
23227  u_long *__cil_tmp11 ;
23228  unsigned long const volatile   *__cil_tmp12 ;
23229  u_int __cil_tmp13 ;
23230  unsigned int __cil_tmp14 ;
23231
23232  {
23233  {
23234#line 515
23235  __cil_tmp7 = skb->data;
23236#line 515
23237  __cil_tmp8 = *__cil_tmp7;
23238#line 515
23239  __cil_tmp9 = (int )__cil_tmp8;
23240#line 515
23241  __cil_tmp10 = __cil_tmp9 & 2;
23242#line 515
23243  rsp = __cil_tmp10 >> 1;
23244#line 516
23245  __cil_tmp11 = & l2->flag;
23246#line 516
23247  __cil_tmp12 = (unsigned long const volatile   *)__cil_tmp11;
23248#line 516
23249  tmp = constant_test_bit(2U, __cil_tmp12);
23250  }
23251#line 516
23252  if (tmp != 0) {
23253#line 517
23254    rsp = rsp == 0;
23255  } else {
23256
23257  }
23258#line 518
23259  if (rsp != wantrsp) {
23260#line 519
23261    return (76);
23262  } else {
23263
23264  }
23265  {
23266#line 520
23267  tmp___0 = l2addrsize(l2);
23268  }
23269  {
23270#line 520
23271  __cil_tmp13 = tmp___0 + 1U;
23272#line 520
23273  __cil_tmp14 = skb->len;
23274#line 520
23275  if (__cil_tmp14 != __cil_tmp13) {
23276#line 521
23277    return (78);
23278  } else {
23279
23280  }
23281  }
23282#line 522
23283  return (0);
23284}
23285}
23286#line 526 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23287static int UI_error(struct layer2 *l2 , struct sk_buff *skb ) 
23288{ int rsp ;
23289  int tmp ;
23290  u_int tmp___0 ;
23291  unsigned char *__cil_tmp6 ;
23292  unsigned char __cil_tmp7 ;
23293  int __cil_tmp8 ;
23294  u_long *__cil_tmp9 ;
23295  unsigned long const volatile   *__cil_tmp10 ;
23296  u_int __cil_tmp11 ;
23297  u_int __cil_tmp12 ;
23298  u_int __cil_tmp13 ;
23299  unsigned int __cil_tmp14 ;
23300
23301  {
23302  {
23303#line 528
23304  __cil_tmp6 = skb->data;
23305#line 528
23306  __cil_tmp7 = *__cil_tmp6;
23307#line 528
23308  __cil_tmp8 = (int )__cil_tmp7;
23309#line 528
23310  rsp = __cil_tmp8 & 2;
23311#line 529
23312  __cil_tmp9 = & l2->flag;
23313#line 529
23314  __cil_tmp10 = (unsigned long const volatile   *)__cil_tmp9;
23315#line 529
23316  tmp = constant_test_bit(2U, __cil_tmp10);
23317  }
23318#line 529
23319  if (tmp != 0) {
23320#line 530
23321    rsp = rsp == 0;
23322  } else {
23323
23324  }
23325#line 531
23326  if (rsp != 0) {
23327#line 532
23328    return (76);
23329  } else {
23330
23331  }
23332  {
23333#line 533
23334  tmp___0 = l2addrsize(l2);
23335  }
23336  {
23337#line 533
23338  __cil_tmp11 = l2->maxlen;
23339#line 533
23340  __cil_tmp12 = __cil_tmp11 + tmp___0;
23341#line 533
23342  __cil_tmp13 = __cil_tmp12 + 1U;
23343#line 533
23344  __cil_tmp14 = skb->len;
23345#line 533
23346  if (__cil_tmp14 > __cil_tmp13) {
23347#line 534
23348    return (79);
23349  } else {
23350
23351  }
23352  }
23353#line 535
23354  return (0);
23355}
23356}
23357#line 539 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23358static int FRMR_error(struct layer2 *l2 , struct sk_buff *skb ) 
23359{ u_int headers ;
23360  u_int tmp ;
23361  u_char *datap ;
23362  int rsp ;
23363  int tmp___0 ;
23364  int tmp___1 ;
23365  unsigned long __cil_tmp9 ;
23366  unsigned char *__cil_tmp10 ;
23367  unsigned char *__cil_tmp11 ;
23368  unsigned char __cil_tmp12 ;
23369  int __cil_tmp13 ;
23370  u_long *__cil_tmp14 ;
23371  unsigned long const volatile   *__cil_tmp15 ;
23372  u_long *__cil_tmp16 ;
23373  unsigned long const volatile   *__cil_tmp17 ;
23374  u_int __cil_tmp18 ;
23375  unsigned int __cil_tmp19 ;
23376  u_int __cil_tmp20 ;
23377  unsigned int __cil_tmp21 ;
23378  struct FsmInst *__cil_tmp22 ;
23379  char *__cil_tmp23 ;
23380  u_char __cil_tmp24 ;
23381  int __cil_tmp25 ;
23382  u_char *__cil_tmp26 ;
23383  u_char __cil_tmp27 ;
23384  int __cil_tmp28 ;
23385  u_char *__cil_tmp29 ;
23386  u_char __cil_tmp30 ;
23387  int __cil_tmp31 ;
23388  u_char *__cil_tmp32 ;
23389  u_char __cil_tmp33 ;
23390  int __cil_tmp34 ;
23391  u_char *__cil_tmp35 ;
23392  u_char __cil_tmp36 ;
23393  int __cil_tmp37 ;
23394  u_int __cil_tmp38 ;
23395  unsigned int __cil_tmp39 ;
23396  u_int __cil_tmp40 ;
23397  unsigned int __cil_tmp41 ;
23398  struct FsmInst *__cil_tmp42 ;
23399  char *__cil_tmp43 ;
23400  u_char __cil_tmp44 ;
23401  int __cil_tmp45 ;
23402  u_char *__cil_tmp46 ;
23403  u_char __cil_tmp47 ;
23404  int __cil_tmp48 ;
23405  u_char *__cil_tmp49 ;
23406  u_char __cil_tmp50 ;
23407  int __cil_tmp51 ;
23408
23409  {
23410  {
23411#line 541
23412  tmp = l2addrsize(l2);
23413#line 541
23414  headers = tmp + 1U;
23415#line 542
23416  __cil_tmp9 = (unsigned long )headers;
23417#line 542
23418  __cil_tmp10 = skb->data;
23419#line 542
23420  datap = __cil_tmp10 + __cil_tmp9;
23421#line 543
23422  __cil_tmp11 = skb->data;
23423#line 543
23424  __cil_tmp12 = *__cil_tmp11;
23425#line 543
23426  __cil_tmp13 = (int )__cil_tmp12;
23427#line 543
23428  rsp = __cil_tmp13 & 2;
23429#line 545
23430  __cil_tmp14 = & l2->flag;
23431#line 545
23432  __cil_tmp15 = (unsigned long const volatile   *)__cil_tmp14;
23433#line 545
23434  tmp___0 = constant_test_bit(2U, __cil_tmp15);
23435  }
23436#line 545
23437  if (tmp___0 != 0) {
23438#line 546
23439    rsp = rsp == 0;
23440  } else {
23441
23442  }
23443#line 547
23444  if (rsp == 0) {
23445#line 548
23446    return (76);
23447  } else {
23448
23449  }
23450  {
23451#line 549
23452  __cil_tmp16 = & l2->flag;
23453#line 549
23454  __cil_tmp17 = (unsigned long const volatile   *)__cil_tmp16;
23455#line 549
23456  tmp___1 = constant_test_bit(3U, __cil_tmp17);
23457  }
23458#line 549
23459  if (tmp___1 != 0) {
23460    {
23461#line 550
23462    __cil_tmp18 = headers + 5U;
23463#line 550
23464    __cil_tmp19 = skb->len;
23465#line 550
23466    if (__cil_tmp19 < __cil_tmp18) {
23467#line 551
23468      return (78);
23469    } else {
23470      {
23471#line 552
23472      __cil_tmp20 = *debug___4;
23473#line 552
23474      __cil_tmp21 = __cil_tmp20 & 16711680U;
23475#line 552
23476      if (__cil_tmp21 != 0U) {
23477        {
23478#line 553
23479        __cil_tmp22 = & l2->l2m;
23480#line 553
23481        __cil_tmp23 = (char *)"FRMR information %2x %2x %2x %2x %2x";
23482#line 553
23483        __cil_tmp24 = *datap;
23484#line 553
23485        __cil_tmp25 = (int )__cil_tmp24;
23486#line 553
23487        __cil_tmp26 = datap + 1UL;
23488#line 553
23489        __cil_tmp27 = *__cil_tmp26;
23490#line 553
23491        __cil_tmp28 = (int )__cil_tmp27;
23492#line 553
23493        __cil_tmp29 = datap + 2UL;
23494#line 553
23495        __cil_tmp30 = *__cil_tmp29;
23496#line 553
23497        __cil_tmp31 = (int )__cil_tmp30;
23498#line 553
23499        __cil_tmp32 = datap + 3UL;
23500#line 553
23501        __cil_tmp33 = *__cil_tmp32;
23502#line 553
23503        __cil_tmp34 = (int )__cil_tmp33;
23504#line 553
23505        __cil_tmp35 = datap + 4UL;
23506#line 553
23507        __cil_tmp36 = *__cil_tmp35;
23508#line 553
23509        __cil_tmp37 = (int )__cil_tmp36;
23510#line 553
23511        l2m_debug(__cil_tmp22, __cil_tmp23, __cil_tmp25, __cil_tmp28, __cil_tmp31,
23512                  __cil_tmp34, __cil_tmp37);
23513        }
23514      } else {
23515        {
23516#line 557
23517        __cil_tmp38 = headers + 3U;
23518#line 557
23519        __cil_tmp39 = skb->len;
23520#line 557
23521        if (__cil_tmp39 < __cil_tmp38) {
23522#line 558
23523          return (78);
23524        } else {
23525          {
23526#line 559
23527          __cil_tmp40 = *debug___4;
23528#line 559
23529          __cil_tmp41 = __cil_tmp40 & 16711680U;
23530#line 559
23531          if (__cil_tmp41 != 0U) {
23532            {
23533#line 560
23534            __cil_tmp42 = & l2->l2m;
23535#line 560
23536            __cil_tmp43 = (char *)"FRMR information %2x %2x %2x";
23537#line 560
23538            __cil_tmp44 = *datap;
23539#line 560
23540            __cil_tmp45 = (int )__cil_tmp44;
23541#line 560
23542            __cil_tmp46 = datap + 1UL;
23543#line 560
23544            __cil_tmp47 = *__cil_tmp46;
23545#line 560
23546            __cil_tmp48 = (int )__cil_tmp47;
23547#line 560
23548            __cil_tmp49 = datap + 2UL;
23549#line 560
23550            __cil_tmp50 = *__cil_tmp49;
23551#line 560
23552            __cil_tmp51 = (int )__cil_tmp50;
23553#line 560
23554            l2m_debug(__cil_tmp42, __cil_tmp43, __cil_tmp45, __cil_tmp48, __cil_tmp51);
23555            }
23556          } else {
23557
23558          }
23559          }
23560        }
23561        }
23562      }
23563      }
23564    }
23565    }
23566  } else {
23567
23568  }
23569#line 564
23570  return (0);
23571}
23572}
23573#line 568 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23574static unsigned int legalnr(struct layer2 *l2 , unsigned int nr ) 
23575{ int tmp ;
23576  u_long *__cil_tmp4 ;
23577  unsigned long const volatile   *__cil_tmp5 ;
23578  u_int __cil_tmp6 ;
23579  u_int __cil_tmp7 ;
23580  u_int __cil_tmp8 ;
23581  unsigned int __cil_tmp9 ;
23582  u_int __cil_tmp10 ;
23583  unsigned int __cil_tmp11 ;
23584  unsigned int __cil_tmp12 ;
23585  int __cil_tmp13 ;
23586  u_int __cil_tmp14 ;
23587  u_int __cil_tmp15 ;
23588  u_int __cil_tmp16 ;
23589  unsigned int __cil_tmp17 ;
23590  u_int __cil_tmp18 ;
23591  unsigned int __cil_tmp19 ;
23592  unsigned int __cil_tmp20 ;
23593  int __cil_tmp21 ;
23594
23595  {
23596  {
23597#line 570
23598  __cil_tmp4 = & l2->flag;
23599#line 570
23600  __cil_tmp5 = (unsigned long const volatile   *)__cil_tmp4;
23601#line 570
23602  tmp = constant_test_bit(3U, __cil_tmp5);
23603  }
23604#line 570
23605  if (tmp != 0) {
23606    {
23607#line 571
23608    __cil_tmp6 = l2->va;
23609#line 571
23610    __cil_tmp7 = l2->vs;
23611#line 571
23612    __cil_tmp8 = __cil_tmp7 - __cil_tmp6;
23613#line 571
23614    __cil_tmp9 = __cil_tmp8 & 127U;
23615#line 571
23616    __cil_tmp10 = l2->va;
23617#line 571
23618    __cil_tmp11 = nr - __cil_tmp10;
23619#line 571
23620    __cil_tmp12 = __cil_tmp11 & 127U;
23621#line 571
23622    __cil_tmp13 = __cil_tmp12 <= __cil_tmp9;
23623#line 571
23624    return ((unsigned int )__cil_tmp13);
23625    }
23626  } else {
23627    {
23628#line 573
23629    __cil_tmp14 = l2->va;
23630#line 573
23631    __cil_tmp15 = l2->vs;
23632#line 573
23633    __cil_tmp16 = __cil_tmp15 - __cil_tmp14;
23634#line 573
23635    __cil_tmp17 = __cil_tmp16 & 7U;
23636#line 573
23637    __cil_tmp18 = l2->va;
23638#line 573
23639    __cil_tmp19 = nr - __cil_tmp18;
23640#line 573
23641    __cil_tmp20 = __cil_tmp19 & 7U;
23642#line 573
23643    __cil_tmp21 = __cil_tmp20 <= __cil_tmp17;
23644#line 573
23645    return ((unsigned int )__cil_tmp21);
23646    }
23647  }
23648}
23649}
23650#line 577 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23651static void setva(struct layer2 *l2 , unsigned int nr ) 
23652{ struct sk_buff *skb ;
23653  int tmp ;
23654  u_int __cil_tmp5 ;
23655  u_long *__cil_tmp6 ;
23656  unsigned long const volatile   *__cil_tmp7 ;
23657  u_int __cil_tmp8 ;
23658  u_int __cil_tmp9 ;
23659  struct sk_buff *__cil_tmp10 ;
23660  unsigned long __cil_tmp11 ;
23661  struct sk_buff *__cil_tmp12 ;
23662  unsigned long __cil_tmp13 ;
23663  struct sk_buff *__cil_tmp14 ;
23664  struct sk_buff_head *__cil_tmp15 ;
23665  struct sk_buff *__cil_tmp16 ;
23666  u_int __cil_tmp17 ;
23667  u_int __cil_tmp18 ;
23668  u_int __cil_tmp19 ;
23669  u_int __cil_tmp20 ;
23670  struct sk_buff_head *__cil_tmp21 ;
23671  struct sk_buff_head *__cil_tmp22 ;
23672  struct sk_buff *__cil_tmp23 ;
23673  unsigned long __cil_tmp24 ;
23674  unsigned long __cil_tmp25 ;
23675
23676  {
23677#line 581
23678  goto ldv_38744;
23679  ldv_38743: 
23680  {
23681#line 582
23682  __cil_tmp5 = l2->va;
23683#line 582
23684  l2->va = __cil_tmp5 + 1U;
23685#line 583
23686  __cil_tmp6 = & l2->flag;
23687#line 583
23688  __cil_tmp7 = (unsigned long const volatile   *)__cil_tmp6;
23689#line 583
23690  tmp = constant_test_bit(3U, __cil_tmp7);
23691  }
23692#line 583
23693  if (tmp != 0) {
23694#line 584
23695    __cil_tmp8 = l2->va;
23696#line 584
23697    l2->va = __cil_tmp8 & 127U;
23698  } else {
23699#line 586
23700    __cil_tmp9 = l2->va;
23701#line 586
23702    l2->va = __cil_tmp9 & 7U;
23703  }
23704  {
23705#line 587
23706  __cil_tmp10 = (struct sk_buff *)0;
23707#line 587
23708  __cil_tmp11 = (unsigned long )__cil_tmp10;
23709#line 587
23710  __cil_tmp12 = l2->windowar[l2->sow];
23711#line 587
23712  __cil_tmp13 = (unsigned long )__cil_tmp12;
23713#line 587
23714  if (__cil_tmp13 != __cil_tmp11) {
23715    {
23716#line 588
23717    __cil_tmp14 = l2->windowar[l2->sow];
23718#line 588
23719    skb_trim(__cil_tmp14, 0U);
23720#line 589
23721    __cil_tmp15 = & l2->tmp_queue;
23722#line 589
23723    __cil_tmp16 = l2->windowar[l2->sow];
23724#line 589
23725    skb_queue_tail(__cil_tmp15, __cil_tmp16);
23726#line 590
23727    l2->windowar[l2->sow] = (struct sk_buff *)0;
23728    }
23729  } else {
23730
23731  }
23732  }
23733#line 592
23734  __cil_tmp17 = l2->window;
23735#line 592
23736  __cil_tmp18 = l2->sow;
23737#line 592
23738  __cil_tmp19 = __cil_tmp18 + 1U;
23739#line 592
23740  l2->sow = __cil_tmp19 % __cil_tmp17;
23741  ldv_38744: ;
23742  {
23743#line 581
23744  __cil_tmp20 = l2->va;
23745#line 581
23746  if (__cil_tmp20 != nr) {
23747#line 582
23748    goto ldv_38743;
23749  } else {
23750#line 584
23751    goto ldv_38745;
23752  }
23753  }
23754  ldv_38745: 
23755  {
23756#line 594
23757  __cil_tmp21 = & l2->tmp_queue;
23758#line 594
23759  skb = skb_dequeue(__cil_tmp21);
23760  }
23761#line 595
23762  goto ldv_38747;
23763  ldv_38746: 
23764  {
23765#line 596
23766  consume_skb(skb);
23767#line 597
23768  __cil_tmp22 = & l2->tmp_queue;
23769#line 597
23770  skb = skb_dequeue(__cil_tmp22);
23771  }
23772  ldv_38747: ;
23773  {
23774#line 595
23775  __cil_tmp23 = (struct sk_buff *)0;
23776#line 595
23777  __cil_tmp24 = (unsigned long )__cil_tmp23;
23778#line 595
23779  __cil_tmp25 = (unsigned long )skb;
23780#line 595
23781  if (__cil_tmp25 != __cil_tmp24) {
23782#line 596
23783    goto ldv_38746;
23784  } else {
23785#line 598
23786    goto ldv_38748;
23787  }
23788  }
23789  ldv_38748: ;
23790#line 600
23791  return;
23792}
23793}
23794#line 602 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23795static void send_uframe(struct layer2 *l2 , struct sk_buff *skb , u_char cmd , u_char cr ) 
23796{ u_char tmp[4U] ;
23797  int i ;
23798  int tmp___0 ;
23799  size_t __len ;
23800  void *__ret ;
23801  unsigned char *tmp___2 ;
23802  u_char *__cil_tmp11 ;
23803  int __cil_tmp12 ;
23804  struct sk_buff *__cil_tmp13 ;
23805  unsigned long __cil_tmp14 ;
23806  unsigned long __cil_tmp15 ;
23807  unsigned int __cil_tmp16 ;
23808  struct sk_buff *__cil_tmp17 ;
23809  unsigned long __cil_tmp18 ;
23810  unsigned long __cil_tmp19 ;
23811  unsigned int __cil_tmp20 ;
23812  void *__cil_tmp21 ;
23813  void const   *__cil_tmp22 ;
23814
23815  {
23816  {
23817#line 607
23818  __cil_tmp11 = (u_char *)(& tmp);
23819#line 607
23820  __cil_tmp12 = (int )cr;
23821#line 607
23822  i = sethdraddr(l2, __cil_tmp11, __cil_tmp12);
23823#line 608
23824  tmp___0 = i;
23825#line 608
23826  i = i + 1;
23827#line 608
23828  tmp[tmp___0] = cmd;
23829  }
23830  {
23831#line 609
23832  __cil_tmp13 = (struct sk_buff *)0;
23833#line 609
23834  __cil_tmp14 = (unsigned long )__cil_tmp13;
23835#line 609
23836  __cil_tmp15 = (unsigned long )skb;
23837#line 609
23838  if (__cil_tmp15 != __cil_tmp14) {
23839    {
23840#line 610
23841    skb_trim(skb, 0U);
23842    }
23843  } else {
23844    {
23845#line 612
23846    __cil_tmp16 = (unsigned int )i;
23847#line 612
23848    skb = mI_alloc_skb(__cil_tmp16, 32U);
23849    }
23850    {
23851#line 613
23852    __cil_tmp17 = (struct sk_buff *)0;
23853#line 613
23854    __cil_tmp18 = (unsigned long )__cil_tmp17;
23855#line 613
23856    __cil_tmp19 = (unsigned long )skb;
23857#line 613
23858    if (__cil_tmp19 == __cil_tmp18) {
23859      {
23860#line 614
23861      printk("<4>%s: can\'t alloc skbuff\n", "send_uframe");
23862      }
23863#line 616
23864      return;
23865    } else {
23866
23867    }
23868    }
23869  }
23870  }
23871  {
23872#line 619
23873  __len = (size_t )i;
23874#line 619
23875  __cil_tmp20 = (unsigned int )i;
23876#line 619
23877  tmp___2 = skb_put(skb, __cil_tmp20);
23878#line 619
23879  __cil_tmp21 = (void *)tmp___2;
23880#line 619
23881  __cil_tmp22 = (void const   *)(& tmp);
23882#line 619
23883  __ret = __builtin_memcpy(__cil_tmp21, __cil_tmp22, __len);
23884#line 620
23885  enqueue_super(l2, skb);
23886  }
23887#line 621
23888  return;
23889}
23890}
23891#line 625 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23892__inline u_char get_PollFlag(struct layer2 *l2 , struct sk_buff *skb ) 
23893{ u_int tmp ;
23894  unsigned long __cil_tmp4 ;
23895  unsigned char *__cil_tmp5 ;
23896  unsigned char *__cil_tmp6 ;
23897  unsigned char __cil_tmp7 ;
23898  unsigned int __cil_tmp8 ;
23899  unsigned int __cil_tmp9 ;
23900
23901  {
23902  {
23903#line 627
23904  tmp = l2addrsize(l2);
23905  }
23906  {
23907#line 627
23908  __cil_tmp4 = (unsigned long )tmp;
23909#line 627
23910  __cil_tmp5 = skb->data;
23911#line 627
23912  __cil_tmp6 = __cil_tmp5 + __cil_tmp4;
23913#line 627
23914  __cil_tmp7 = *__cil_tmp6;
23915#line 627
23916  __cil_tmp8 = (unsigned int )__cil_tmp7;
23917#line 627
23918  __cil_tmp9 = __cil_tmp8 & 16U;
23919#line 627
23920  return ((u_char )__cil_tmp9);
23921  }
23922}
23923}
23924#line 631 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23925__inline u_char get_PollFlagFree(struct layer2 *l2 , struct sk_buff *skb ) 
23926{ u_char PF ;
23927
23928  {
23929  {
23930#line 635
23931  PF = get_PollFlag(l2, skb);
23932#line 636
23933  consume_skb(skb);
23934  }
23935#line 637
23936  return (PF);
23937}
23938}
23939#line 641 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23940__inline void start_t200(struct layer2 *l2 , int i ) 
23941{ struct FsmTimer *__cil_tmp3 ;
23942  int __cil_tmp4 ;
23943  void *__cil_tmp5 ;
23944  u_long *__cil_tmp6 ;
23945  unsigned long volatile   *__cil_tmp7 ;
23946
23947  {
23948  {
23949#line 643
23950  __cil_tmp3 = & l2->t200;
23951#line 643
23952  __cil_tmp4 = l2->T200;
23953#line 643
23954  __cil_tmp5 = (void *)0;
23955#line 643
23956  mISDN_FsmAddTimer(__cil_tmp3, __cil_tmp4, 17, __cil_tmp5, i);
23957#line 644
23958  __cil_tmp6 = & l2->flag;
23959#line 644
23960  __cil_tmp7 = (unsigned long volatile   *)__cil_tmp6;
23961#line 644
23962  test_and_set_bit(6, __cil_tmp7);
23963  }
23964#line 645
23965  return;
23966}
23967}
23968#line 648 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23969__inline void restart_t200(struct layer2 *l2 , int i ) 
23970{ struct FsmTimer *__cil_tmp3 ;
23971  int __cil_tmp4 ;
23972  void *__cil_tmp5 ;
23973  u_long *__cil_tmp6 ;
23974  unsigned long volatile   *__cil_tmp7 ;
23975
23976  {
23977  {
23978#line 650
23979  __cil_tmp3 = & l2->t200;
23980#line 650
23981  __cil_tmp4 = l2->T200;
23982#line 650
23983  __cil_tmp5 = (void *)0;
23984#line 650
23985  mISDN_FsmRestartTimer(__cil_tmp3, __cil_tmp4, 17, __cil_tmp5, i);
23986#line 651
23987  __cil_tmp6 = & l2->flag;
23988#line 651
23989  __cil_tmp7 = (unsigned long volatile   *)__cil_tmp6;
23990#line 651
23991  test_and_set_bit(6, __cil_tmp7);
23992  }
23993#line 652
23994  return;
23995}
23996}
23997#line 655 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
23998__inline void stop_t200(struct layer2 *l2 , int i ) 
23999{ int tmp ;
24000  u_long *__cil_tmp4 ;
24001  unsigned long volatile   *__cil_tmp5 ;
24002  struct FsmTimer *__cil_tmp6 ;
24003
24004  {
24005  {
24006#line 657
24007  __cil_tmp4 = & l2->flag;
24008#line 657
24009  __cil_tmp5 = (unsigned long volatile   *)__cil_tmp4;
24010#line 657
24011  tmp = test_and_clear_bit(6, __cil_tmp5);
24012  }
24013#line 657
24014  if (tmp != 0) {
24015    {
24016#line 658
24017    __cil_tmp6 = & l2->t200;
24018#line 658
24019    mISDN_FsmDelTimer(__cil_tmp6, i);
24020    }
24021  } else {
24022
24023  }
24024#line 659
24025  return;
24026}
24027}
24028#line 662 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24029__inline void st5_dl_release_l2l3(struct layer2 *l2 ) 
24030{ int pr ;
24031  int tmp ;
24032  u_long *__cil_tmp4 ;
24033  unsigned long volatile   *__cil_tmp5 ;
24034  u_int __cil_tmp6 ;
24035  void *__cil_tmp7 ;
24036
24037  {
24038  {
24039#line 666
24040  __cil_tmp4 = & l2->flag;
24041#line 666
24042  __cil_tmp5 = (unsigned long volatile   *)__cil_tmp4;
24043#line 666
24044  tmp = test_and_clear_bit(4, __cil_tmp5);
24045  }
24046#line 666
24047  if (tmp != 0) {
24048#line 667
24049    pr = 20744;
24050  } else {
24051#line 669
24052    pr = 4360;
24053  }
24054  {
24055#line 670
24056  __cil_tmp6 = (u_int )pr;
24057#line 670
24058  __cil_tmp7 = (void *)0;
24059#line 670
24060  l2up_create(l2, __cil_tmp6, 0, __cil_tmp7);
24061  }
24062#line 671
24063  return;
24064}
24065}
24066#line 674 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24067__inline void lapb_dl_release_l2l3(struct layer2 *l2 , int f ) 
24068{ u_int tmp ;
24069  int tmp___0 ;
24070  u_long *__cil_tmp5 ;
24071  unsigned long const volatile   *__cil_tmp6 ;
24072  void *__cil_tmp7 ;
24073  u_int __cil_tmp8 ;
24074  void *__cil_tmp9 ;
24075
24076  {
24077  {
24078#line 676
24079  __cil_tmp5 = & l2->flag;
24080#line 676
24081  __cil_tmp6 = (unsigned long const volatile   *)__cil_tmp5;
24082#line 676
24083  tmp___0 = constant_test_bit(0U, __cil_tmp6);
24084  }
24085#line 676
24086  if (tmp___0 != 0) {
24087    {
24088#line 677
24089    tmp = l2_newid(l2);
24090#line 677
24091    __cil_tmp7 = (void *)0;
24092#line 677
24093    l2down_create(l2, 513U, tmp, 0, __cil_tmp7);
24094    }
24095  } else {
24096
24097  }
24098  {
24099#line 678
24100  __cil_tmp8 = (u_int )f;
24101#line 678
24102  __cil_tmp9 = (void *)0;
24103#line 678
24104  l2up_create(l2, __cil_tmp8, 0, __cil_tmp9);
24105  }
24106#line 679
24107  return;
24108}
24109}
24110#line 682 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24111static void establishlink(struct FsmInst *fi ) 
24112{ struct layer2 *l2 ;
24113  u_char cmd ;
24114  int tmp___0 ;
24115  void *__cil_tmp5 ;
24116  u_long *__cil_tmp6 ;
24117  unsigned long const volatile   *__cil_tmp7 ;
24118  struct sk_buff *__cil_tmp8 ;
24119  int __cil_tmp9 ;
24120  u_char __cil_tmp10 ;
24121  u_char __cil_tmp11 ;
24122  struct FsmTimer *__cil_tmp12 ;
24123  u_long *__cil_tmp13 ;
24124  unsigned long volatile   *__cil_tmp14 ;
24125
24126  {
24127  {
24128#line 684
24129  __cil_tmp5 = fi->userdata;
24130#line 684
24131  l2 = (struct layer2 *)__cil_tmp5;
24132#line 687
24133  clear_exception(l2);
24134#line 688
24135  l2->rc = 0;
24136#line 689
24137  __cil_tmp6 = & l2->flag;
24138#line 689
24139  __cil_tmp7 = (unsigned long const volatile   *)__cil_tmp6;
24140#line 689
24141  tmp___0 = constant_test_bit(3U, __cil_tmp7);
24142  }
24143#line 689
24144  if (tmp___0 != 0) {
24145#line 689
24146    cmd = (u_char )127U;
24147  } else {
24148#line 689
24149    cmd = (u_char )63U;
24150  }
24151  {
24152#line 690
24153  __cil_tmp8 = (struct sk_buff *)0;
24154#line 690
24155  __cil_tmp9 = (int )cmd;
24156#line 690
24157  __cil_tmp10 = (u_char )__cil_tmp9;
24158#line 690
24159  __cil_tmp11 = (u_char )0;
24160#line 690
24161  send_uframe(l2, __cil_tmp8, __cil_tmp10, __cil_tmp11);
24162#line 691
24163  __cil_tmp12 = & l2->t203;
24164#line 691
24165  mISDN_FsmDelTimer(__cil_tmp12, 1);
24166#line 692
24167  restart_t200(l2, 1);
24168#line 693
24169  __cil_tmp13 = & l2->flag;
24170#line 693
24171  __cil_tmp14 = (unsigned long volatile   *)__cil_tmp13;
24172#line 693
24173  test_and_clear_bit(4, __cil_tmp14);
24174#line 694
24175  freewin(l2);
24176#line 695
24177  mISDN_FsmChangeState(fi, 4);
24178  }
24179#line 696
24180  return;
24181}
24182}
24183#line 699 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24184static void l2_mdl_error_ua(struct FsmInst *fi , int event , void *arg ) 
24185{ struct sk_buff *skb ;
24186  struct layer2 *l2 ;
24187  u_char tmp ;
24188  void *__cil_tmp7 ;
24189  unsigned int __cil_tmp8 ;
24190  void *__cil_tmp9 ;
24191  void *__cil_tmp10 ;
24192
24193  {
24194  {
24195#line 701
24196  skb = (struct sk_buff *)arg;
24197#line 702
24198  __cil_tmp7 = fi->userdata;
24199#line 702
24200  l2 = (struct layer2 *)__cil_tmp7;
24201#line 704
24202  tmp = get_PollFlagFree(l2, skb);
24203  }
24204  {
24205#line 704
24206  __cil_tmp8 = (unsigned int )tmp;
24207#line 704
24208  if (__cil_tmp8 != 0U) {
24209    {
24210#line 705
24211    __cil_tmp9 = (void *)67;
24212#line 705
24213    l2mgr(l2, 7940U, __cil_tmp9);
24214    }
24215  } else {
24216    {
24217#line 707
24218    __cil_tmp10 = (void *)68;
24219#line 707
24220    l2mgr(l2, 7940U, __cil_tmp10);
24221    }
24222  }
24223  }
24224#line 708
24225  return;
24226}
24227}
24228#line 712 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24229static void l2_mdl_error_dm(struct FsmInst *fi , int event , void *arg ) 
24230{ struct sk_buff *skb ;
24231  struct layer2 *l2 ;
24232  u_char tmp ;
24233  void *__cil_tmp7 ;
24234  unsigned int __cil_tmp8 ;
24235  void *__cil_tmp9 ;
24236  void *__cil_tmp10 ;
24237  u_long *__cil_tmp11 ;
24238  unsigned long volatile   *__cil_tmp12 ;
24239
24240  {
24241  {
24242#line 714
24243  skb = (struct sk_buff *)arg;
24244#line 715
24245  __cil_tmp7 = fi->userdata;
24246#line 715
24247  l2 = (struct layer2 *)__cil_tmp7;
24248#line 717
24249  tmp = get_PollFlagFree(l2, skb);
24250  }
24251  {
24252#line 717
24253  __cil_tmp8 = (unsigned int )tmp;
24254#line 717
24255  if (__cil_tmp8 != 0U) {
24256    {
24257#line 718
24258    __cil_tmp9 = (void *)66;
24259#line 718
24260    l2mgr(l2, 7940U, __cil_tmp9);
24261    }
24262  } else {
24263    {
24264#line 720
24265    __cil_tmp10 = (void *)69;
24266#line 720
24267    l2mgr(l2, 7940U, __cil_tmp10);
24268#line 721
24269    establishlink(fi);
24270#line 722
24271    __cil_tmp11 = & l2->flag;
24272#line 722
24273    __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
24274#line 722
24275    test_and_clear_bit(5, __cil_tmp12);
24276    }
24277  }
24278  }
24279#line 724
24280  return;
24281}
24282}
24283#line 727 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24284static void l2_st8_mdl_error_dm(struct FsmInst *fi , int event , void *arg ) 
24285{ struct sk_buff *skb ;
24286  struct layer2 *l2 ;
24287  u_char tmp ;
24288  void *__cil_tmp7 ;
24289  unsigned int __cil_tmp8 ;
24290  void *__cil_tmp9 ;
24291  void *__cil_tmp10 ;
24292  u_long *__cil_tmp11 ;
24293  unsigned long volatile   *__cil_tmp12 ;
24294
24295  {
24296  {
24297#line 729
24298  skb = (struct sk_buff *)arg;
24299#line 730
24300  __cil_tmp7 = fi->userdata;
24301#line 730
24302  l2 = (struct layer2 *)__cil_tmp7;
24303#line 732
24304  tmp = get_PollFlagFree(l2, skb);
24305  }
24306  {
24307#line 732
24308  __cil_tmp8 = (unsigned int )tmp;
24309#line 732
24310  if (__cil_tmp8 != 0U) {
24311    {
24312#line 733
24313    __cil_tmp9 = (void *)66;
24314#line 733
24315    l2mgr(l2, 7940U, __cil_tmp9);
24316    }
24317  } else {
24318    {
24319#line 735
24320    __cil_tmp10 = (void *)69;
24321#line 735
24322    l2mgr(l2, 7940U, __cil_tmp10);
24323    }
24324  }
24325  }
24326  {
24327#line 736
24328  establishlink(fi);
24329#line 737
24330  __cil_tmp11 = & l2->flag;
24331#line 737
24332  __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
24333#line 737
24334  test_and_clear_bit(5, __cil_tmp12);
24335  }
24336#line 738
24337  return;
24338}
24339}
24340#line 741 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24341static void l2_go_st3(struct FsmInst *fi , int event , void *arg ) 
24342{ struct sk_buff *__cil_tmp4 ;
24343
24344  {
24345  {
24346#line 743
24347  __cil_tmp4 = (struct sk_buff *)arg;
24348#line 743
24349  consume_skb(__cil_tmp4);
24350#line 744
24351  mISDN_FsmChangeState(fi, 2);
24352  }
24353#line 745
24354  return;
24355}
24356}
24357#line 748 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24358static void l2_mdl_assign(struct FsmInst *fi , int event , void *arg ) 
24359{ struct layer2 *l2 ;
24360  void *__cil_tmp5 ;
24361  struct sk_buff *__cil_tmp6 ;
24362
24363  {
24364  {
24365#line 750
24366  __cil_tmp5 = fi->userdata;
24367#line 750
24368  l2 = (struct layer2 *)__cil_tmp5;
24369#line 752
24370  mISDN_FsmChangeState(fi, 2);
24371#line 753
24372  __cil_tmp6 = (struct sk_buff *)arg;
24373#line 753
24374  consume_skb(__cil_tmp6);
24375#line 754
24376  l2_tei(l2, 6404U, 0UL);
24377  }
24378#line 755
24379  return;
24380}
24381}
24382#line 758 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24383static void l2_queue_ui_assign(struct FsmInst *fi , int event , void *arg ) 
24384{ struct layer2 *l2 ;
24385  struct sk_buff *skb ;
24386  void *__cil_tmp6 ;
24387  struct sk_buff_head *__cil_tmp7 ;
24388
24389  {
24390  {
24391#line 760
24392  __cil_tmp6 = fi->userdata;
24393#line 760
24394  l2 = (struct layer2 *)__cil_tmp6;
24395#line 761
24396  skb = (struct sk_buff *)arg;
24397#line 763
24398  __cil_tmp7 = & l2->ui_queue;
24399#line 763
24400  skb_queue_tail(__cil_tmp7, skb);
24401#line 764
24402  mISDN_FsmChangeState(fi, 1);
24403#line 765
24404  l2_tei(l2, 6404U, 0UL);
24405  }
24406#line 766
24407  return;
24408}
24409}
24410#line 769 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24411static void l2_queue_ui(struct FsmInst *fi , int event , void *arg ) 
24412{ struct layer2 *l2 ;
24413  struct sk_buff *skb ;
24414  void *__cil_tmp6 ;
24415  struct sk_buff_head *__cil_tmp7 ;
24416
24417  {
24418  {
24419#line 771
24420  __cil_tmp6 = fi->userdata;
24421#line 771
24422  l2 = (struct layer2 *)__cil_tmp6;
24423#line 772
24424  skb = (struct sk_buff *)arg;
24425#line 774
24426  __cil_tmp7 = & l2->ui_queue;
24427#line 774
24428  skb_queue_tail(__cil_tmp7, skb);
24429  }
24430#line 775
24431  return;
24432}
24433}
24434#line 778 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24435static void tx_ui(struct layer2 *l2 ) 
24436{ struct sk_buff *skb ;
24437  u_char header[4U] ;
24438  int i ;
24439  int tmp ;
24440  int tmp___0 ;
24441  size_t __len ;
24442  void *__ret ;
24443  unsigned char *tmp___2 ;
24444  u_char *__cil_tmp10 ;
24445  u_long *__cil_tmp11 ;
24446  unsigned long const volatile   *__cil_tmp12 ;
24447  unsigned int __cil_tmp13 ;
24448  void *__cil_tmp14 ;
24449  void const   *__cil_tmp15 ;
24450  struct sk_buff_head *__cil_tmp16 ;
24451  struct sk_buff *__cil_tmp17 ;
24452  unsigned long __cil_tmp18 ;
24453  unsigned long __cil_tmp19 ;
24454
24455  {
24456  {
24457#line 784
24458  __cil_tmp10 = (u_char *)(& header);
24459#line 784
24460  i = sethdraddr(l2, __cil_tmp10, 0);
24461#line 785
24462  __cil_tmp11 = & l2->flag;
24463#line 785
24464  __cil_tmp12 = (unsigned long const volatile   *)__cil_tmp11;
24465#line 785
24466  tmp = constant_test_bit(18U, __cil_tmp12);
24467  }
24468#line 785
24469  if (tmp != 0) {
24470#line 786
24471    header[1] = (u_char )255U;
24472  } else {
24473
24474  }
24475#line 787
24476  tmp___0 = i;
24477#line 787
24478  i = i + 1;
24479#line 787
24480  header[tmp___0] = (u_char )3U;
24481#line 788
24482  goto ldv_38851;
24483  ldv_38850: 
24484  {
24485#line 789
24486  __len = (size_t )i;
24487#line 789
24488  __cil_tmp13 = (unsigned int )i;
24489#line 789
24490  tmp___2 = skb_push(skb, __cil_tmp13);
24491#line 789
24492  __cil_tmp14 = (void *)tmp___2;
24493#line 789
24494  __cil_tmp15 = (void const   *)(& header);
24495#line 789
24496  __ret = __builtin_memcpy(__cil_tmp14, __cil_tmp15, __len);
24497#line 790
24498  enqueue_ui(l2, skb);
24499  }
24500  ldv_38851: 
24501  {
24502#line 788
24503  __cil_tmp16 = & l2->ui_queue;
24504#line 788
24505  skb = skb_dequeue(__cil_tmp16);
24506  }
24507  {
24508#line 788
24509  __cil_tmp17 = (struct sk_buff *)0;
24510#line 788
24511  __cil_tmp18 = (unsigned long )__cil_tmp17;
24512#line 788
24513  __cil_tmp19 = (unsigned long )skb;
24514#line 788
24515  if (__cil_tmp19 != __cil_tmp18) {
24516#line 789
24517    goto ldv_38850;
24518  } else {
24519#line 791
24520    goto ldv_38852;
24521  }
24522  }
24523  ldv_38852: ;
24524#line 793
24525  return;
24526}
24527}
24528#line 795 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24529static void l2_send_ui(struct FsmInst *fi , int event , void *arg ) 
24530{ struct layer2 *l2 ;
24531  struct sk_buff *skb ;
24532  void *__cil_tmp6 ;
24533  struct sk_buff_head *__cil_tmp7 ;
24534
24535  {
24536  {
24537#line 797
24538  __cil_tmp6 = fi->userdata;
24539#line 797
24540  l2 = (struct layer2 *)__cil_tmp6;
24541#line 798
24542  skb = (struct sk_buff *)arg;
24543#line 800
24544  __cil_tmp7 = & l2->ui_queue;
24545#line 800
24546  skb_queue_tail(__cil_tmp7, skb);
24547#line 801
24548  tx_ui(l2);
24549  }
24550#line 802
24551  return;
24552}
24553}
24554#line 805 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24555static void l2_got_ui(struct FsmInst *fi , int event , void *arg ) 
24556{ struct layer2 *l2 ;
24557  struct sk_buff *skb ;
24558  u_int tmp ;
24559  void *__cil_tmp7 ;
24560  struct teimgr *__cil_tmp8 ;
24561  unsigned long __cil_tmp9 ;
24562  struct teimgr *__cil_tmp10 ;
24563  unsigned long __cil_tmp11 ;
24564
24565  {
24566  {
24567#line 807
24568  __cil_tmp7 = fi->userdata;
24569#line 807
24570  l2 = (struct layer2 *)__cil_tmp7;
24571#line 808
24572  skb = (struct sk_buff *)arg;
24573#line 810
24574  tmp = l2headersize(l2, 1);
24575#line 810
24576  skb_pull(skb, tmp);
24577  }
24578  {
24579#line 815
24580  __cil_tmp8 = (struct teimgr *)0;
24581#line 815
24582  __cil_tmp9 = (unsigned long )__cil_tmp8;
24583#line 815
24584  __cil_tmp10 = l2->tm;
24585#line 815
24586  __cil_tmp11 = (unsigned long )__cil_tmp10;
24587#line 815
24588  if (__cil_tmp11 != __cil_tmp9) {
24589    {
24590#line 816
24591    l2_tei(l2, 7684U, 0UL);
24592    }
24593  } else {
24594
24595  }
24596  }
24597  {
24598#line 817
24599  l2up(l2, 12552U, skb);
24600  }
24601#line 818
24602  return;
24603}
24604}
24605#line 821 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24606static void l2_establish(struct FsmInst *fi , int event , void *arg ) 
24607{ struct sk_buff *skb ;
24608  struct layer2 *l2 ;
24609  void *__cil_tmp6 ;
24610  u_long *__cil_tmp7 ;
24611  unsigned long volatile   *__cil_tmp8 ;
24612
24613  {
24614  {
24615#line 823
24616  skb = (struct sk_buff *)arg;
24617#line 824
24618  __cil_tmp6 = fi->userdata;
24619#line 824
24620  l2 = (struct layer2 *)__cil_tmp6;
24621#line 826
24622  establishlink(fi);
24623#line 827
24624  __cil_tmp7 = & l2->flag;
24625#line 827
24626  __cil_tmp8 = (unsigned long volatile   *)__cil_tmp7;
24627#line 827
24628  test_and_set_bit(5, __cil_tmp8);
24629#line 828
24630  consume_skb(skb);
24631  }
24632#line 829
24633  return;
24634}
24635}
24636#line 832 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24637static void l2_discard_i_setl3(struct FsmInst *fi , int event , void *arg ) 
24638{ struct sk_buff *skb ;
24639  struct layer2 *l2 ;
24640  void *__cil_tmp6 ;
24641  struct sk_buff_head *__cil_tmp7 ;
24642  u_long *__cil_tmp8 ;
24643  unsigned long volatile   *__cil_tmp9 ;
24644  u_long *__cil_tmp10 ;
24645  unsigned long volatile   *__cil_tmp11 ;
24646
24647  {
24648  {
24649#line 834
24650  skb = (struct sk_buff *)arg;
24651#line 835
24652  __cil_tmp6 = fi->userdata;
24653#line 835
24654  l2 = (struct layer2 *)__cil_tmp6;
24655#line 837
24656  __cil_tmp7 = & l2->i_queue;
24657#line 837
24658  skb_queue_purge(__cil_tmp7);
24659#line 838
24660  __cil_tmp8 = & l2->flag;
24661#line 838
24662  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
24663#line 838
24664  test_and_set_bit(5, __cil_tmp9);
24665#line 839
24666  __cil_tmp10 = & l2->flag;
24667#line 839
24668  __cil_tmp11 = (unsigned long volatile   *)__cil_tmp10;
24669#line 839
24670  test_and_clear_bit(4, __cil_tmp11);
24671#line 840
24672  consume_skb(skb);
24673  }
24674#line 841
24675  return;
24676}
24677}
24678#line 844 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24679static void l2_l3_reestablish(struct FsmInst *fi , int event , void *arg ) 
24680{ struct sk_buff *skb ;
24681  struct layer2 *l2 ;
24682  void *__cil_tmp6 ;
24683  struct sk_buff_head *__cil_tmp7 ;
24684  u_long *__cil_tmp8 ;
24685  unsigned long volatile   *__cil_tmp9 ;
24686
24687  {
24688  {
24689#line 846
24690  skb = (struct sk_buff *)arg;
24691#line 847
24692  __cil_tmp6 = fi->userdata;
24693#line 847
24694  l2 = (struct layer2 *)__cil_tmp6;
24695#line 849
24696  __cil_tmp7 = & l2->i_queue;
24697#line 849
24698  skb_queue_purge(__cil_tmp7);
24699#line 850
24700  establishlink(fi);
24701#line 851
24702  __cil_tmp8 = & l2->flag;
24703#line 851
24704  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
24705#line 851
24706  test_and_set_bit(5, __cil_tmp9);
24707#line 852
24708  consume_skb(skb);
24709  }
24710#line 853
24711  return;
24712}
24713}
24714#line 856 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24715static void l2_release(struct FsmInst *fi , int event , void *arg ) 
24716{ struct layer2 *l2 ;
24717  struct sk_buff *skb ;
24718  void *__cil_tmp6 ;
24719
24720  {
24721  {
24722#line 858
24723  __cil_tmp6 = fi->userdata;
24724#line 858
24725  l2 = (struct layer2 *)__cil_tmp6;
24726#line 859
24727  skb = (struct sk_buff *)arg;
24728#line 861
24729  skb_trim(skb, 0U);
24730#line 862
24731  l2up(l2, 20744U, skb);
24732  }
24733#line 863
24734  return;
24735}
24736}
24737#line 866 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24738static void l2_pend_rel(struct FsmInst *fi , int event , void *arg ) 
24739{ struct sk_buff *skb ;
24740  struct layer2 *l2 ;
24741  void *__cil_tmp6 ;
24742  u_long *__cil_tmp7 ;
24743  unsigned long volatile   *__cil_tmp8 ;
24744
24745  {
24746  {
24747#line 868
24748  skb = (struct sk_buff *)arg;
24749#line 869
24750  __cil_tmp6 = fi->userdata;
24751#line 869
24752  l2 = (struct layer2 *)__cil_tmp6;
24753#line 871
24754  __cil_tmp7 = & l2->flag;
24755#line 871
24756  __cil_tmp8 = (unsigned long volatile   *)__cil_tmp7;
24757#line 871
24758  test_and_set_bit(4, __cil_tmp8);
24759#line 872
24760  consume_skb(skb);
24761  }
24762#line 873
24763  return;
24764}
24765}
24766#line 876 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24767static void l2_disconnect(struct FsmInst *fi , int event , void *arg ) 
24768{ struct layer2 *l2 ;
24769  struct sk_buff *skb ;
24770  void *__cil_tmp6 ;
24771  struct sk_buff_head *__cil_tmp7 ;
24772  struct sk_buff *__cil_tmp8 ;
24773  u_char __cil_tmp9 ;
24774  u_char __cil_tmp10 ;
24775  struct FsmTimer *__cil_tmp11 ;
24776  struct sk_buff *__cil_tmp12 ;
24777  unsigned long __cil_tmp13 ;
24778  unsigned long __cil_tmp14 ;
24779
24780  {
24781  {
24782#line 878
24783  __cil_tmp6 = fi->userdata;
24784#line 878
24785  l2 = (struct layer2 *)__cil_tmp6;
24786#line 879
24787  skb = (struct sk_buff *)arg;
24788#line 881
24789  __cil_tmp7 = & l2->i_queue;
24790#line 881
24791  skb_queue_purge(__cil_tmp7);
24792#line 882
24793  freewin(l2);
24794#line 883
24795  mISDN_FsmChangeState(fi, 5);
24796#line 884
24797  l2->rc = 0;
24798#line 885
24799  __cil_tmp8 = (struct sk_buff *)0;
24800#line 885
24801  __cil_tmp9 = (u_char )83;
24802#line 885
24803  __cil_tmp10 = (u_char )0;
24804#line 885
24805  send_uframe(l2, __cil_tmp8, __cil_tmp9, __cil_tmp10);
24806#line 886
24807  __cil_tmp11 = & l2->t203;
24808#line 886
24809  mISDN_FsmDelTimer(__cil_tmp11, 1);
24810#line 887
24811  restart_t200(l2, 2);
24812  }
24813  {
24814#line 888
24815  __cil_tmp12 = (struct sk_buff *)0;
24816#line 888
24817  __cil_tmp13 = (unsigned long )__cil_tmp12;
24818#line 888
24819  __cil_tmp14 = (unsigned long )skb;
24820#line 888
24821  if (__cil_tmp14 != __cil_tmp13) {
24822    {
24823#line 889
24824    consume_skb(skb);
24825    }
24826  } else {
24827
24828  }
24829  }
24830#line 890
24831  return;
24832}
24833}
24834#line 893 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24835static void l2_start_multi(struct FsmInst *fi , int event , void *arg ) 
24836{ struct layer2 *l2 ;
24837  struct sk_buff *skb ;
24838  u_char tmp ;
24839  void *__cil_tmp7 ;
24840  struct sk_buff *__cil_tmp8 ;
24841  unsigned int __cil_tmp9 ;
24842  unsigned int __cil_tmp10 ;
24843  int __cil_tmp11 ;
24844  u_char __cil_tmp12 ;
24845  u_char __cil_tmp13 ;
24846  struct FsmTimer *__cil_tmp14 ;
24847  int __cil_tmp15 ;
24848  void *__cil_tmp16 ;
24849  struct teimgr *__cil_tmp17 ;
24850  unsigned long __cil_tmp18 ;
24851  struct teimgr *__cil_tmp19 ;
24852  unsigned long __cil_tmp20 ;
24853
24854  {
24855  {
24856#line 895
24857  __cil_tmp7 = fi->userdata;
24858#line 895
24859  l2 = (struct layer2 *)__cil_tmp7;
24860#line 896
24861  skb = (struct sk_buff *)arg;
24862#line 898
24863  l2->vs = 0U;
24864#line 899
24865  l2->va = 0U;
24866#line 900
24867  l2->vr = 0U;
24868#line 901
24869  l2->sow = 0U;
24870#line 902
24871  clear_exception(l2);
24872#line 903
24873  tmp = get_PollFlag(l2, skb);
24874#line 903
24875  __cil_tmp8 = (struct sk_buff *)0;
24876#line 903
24877  __cil_tmp9 = (unsigned int )tmp;
24878#line 903
24879  __cil_tmp10 = __cil_tmp9 | 99U;
24880#line 903
24881  __cil_tmp11 = (int )__cil_tmp10;
24882#line 903
24883  __cil_tmp12 = (u_char )__cil_tmp11;
24884#line 903
24885  __cil_tmp13 = (u_char )1;
24886#line 903
24887  send_uframe(l2, __cil_tmp8, __cil_tmp12, __cil_tmp13);
24888#line 904
24889  mISDN_FsmChangeState(fi, 6);
24890#line 905
24891  __cil_tmp14 = & l2->t203;
24892#line 905
24893  __cil_tmp15 = l2->T203;
24894#line 905
24895  __cil_tmp16 = (void *)0;
24896#line 905
24897  mISDN_FsmAddTimer(__cil_tmp14, __cil_tmp15, 18, __cil_tmp16, 3);
24898#line 906
24899  skb_trim(skb, 0U);
24900#line 907
24901  l2up(l2, 4104U, skb);
24902  }
24903  {
24904#line 908
24905  __cil_tmp17 = (struct teimgr *)0;
24906#line 908
24907  __cil_tmp18 = (unsigned long )__cil_tmp17;
24908#line 908
24909  __cil_tmp19 = l2->tm;
24910#line 908
24911  __cil_tmp20 = (unsigned long )__cil_tmp19;
24912#line 908
24913  if (__cil_tmp20 != __cil_tmp18) {
24914    {
24915#line 909
24916    l2_tei(l2, 7172U, 0UL);
24917    }
24918  } else {
24919
24920  }
24921  }
24922#line 910
24923  return;
24924}
24925}
24926#line 913 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24927static void l2_send_UA(struct FsmInst *fi , int event , void *arg ) 
24928{ struct layer2 *l2 ;
24929  struct sk_buff *skb ;
24930  u_char tmp ;
24931  void *__cil_tmp7 ;
24932  unsigned int __cil_tmp8 ;
24933  unsigned int __cil_tmp9 ;
24934  int __cil_tmp10 ;
24935  u_char __cil_tmp11 ;
24936  u_char __cil_tmp12 ;
24937
24938  {
24939  {
24940#line 915
24941  __cil_tmp7 = fi->userdata;
24942#line 915
24943  l2 = (struct layer2 *)__cil_tmp7;
24944#line 916
24945  skb = (struct sk_buff *)arg;
24946#line 918
24947  tmp = get_PollFlag(l2, skb);
24948#line 918
24949  __cil_tmp8 = (unsigned int )tmp;
24950#line 918
24951  __cil_tmp9 = __cil_tmp8 | 99U;
24952#line 918
24953  __cil_tmp10 = (int )__cil_tmp9;
24954#line 918
24955  __cil_tmp11 = (u_char )__cil_tmp10;
24956#line 918
24957  __cil_tmp12 = (u_char )1;
24958#line 918
24959  send_uframe(l2, skb, __cil_tmp11, __cil_tmp12);
24960  }
24961#line 919
24962  return;
24963}
24964}
24965#line 922 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
24966static void l2_send_DM(struct FsmInst *fi , int event , void *arg ) 
24967{ struct layer2 *l2 ;
24968  struct sk_buff *skb ;
24969  u_char tmp ;
24970  void *__cil_tmp7 ;
24971  unsigned int __cil_tmp8 ;
24972  unsigned int __cil_tmp9 ;
24973  int __cil_tmp10 ;
24974  u_char __cil_tmp11 ;
24975  u_char __cil_tmp12 ;
24976
24977  {
24978  {
24979#line 924
24980  __cil_tmp7 = fi->userdata;
24981#line 924
24982  l2 = (struct layer2 *)__cil_tmp7;
24983#line 925
24984  skb = (struct sk_buff *)arg;
24985#line 927
24986  tmp = get_PollFlag(l2, skb);
24987#line 927
24988  __cil_tmp8 = (unsigned int )tmp;
24989#line 927
24990  __cil_tmp9 = __cil_tmp8 | 15U;
24991#line 927
24992  __cil_tmp10 = (int )__cil_tmp9;
24993#line 927
24994  __cil_tmp11 = (u_char )__cil_tmp10;
24995#line 927
24996  __cil_tmp12 = (u_char )1;
24997#line 927
24998  send_uframe(l2, skb, __cil_tmp11, __cil_tmp12);
24999  }
25000#line 928
25001  return;
25002}
25003}
25004#line 931 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25005static void l2_restart_multi(struct FsmInst *fi , int event , void *arg ) 
25006{ struct layer2 *l2 ;
25007  struct sk_buff *skb ;
25008  int est ;
25009  u_char tmp ;
25010  __u32 tmp___0 ;
25011  unsigned int tmp___1 ;
25012  void *__cil_tmp10 ;
25013  unsigned int __cil_tmp11 ;
25014  unsigned int __cil_tmp12 ;
25015  int __cil_tmp13 ;
25016  u_char __cil_tmp14 ;
25017  u_char __cil_tmp15 ;
25018  void *__cil_tmp16 ;
25019  u_int __cil_tmp17 ;
25020  u_int __cil_tmp18 ;
25021  struct sk_buff_head *__cil_tmp19 ;
25022  struct FsmTimer *__cil_tmp20 ;
25023  int __cil_tmp21 ;
25024  void *__cil_tmp22 ;
25025  void *__cil_tmp23 ;
25026  struct sk_buff_head *__cil_tmp24 ;
25027  struct sk_buff_head  const  *__cil_tmp25 ;
25028  void *__cil_tmp26 ;
25029
25030  {
25031  {
25032#line 933
25033  __cil_tmp10 = fi->userdata;
25034#line 933
25035  l2 = (struct layer2 *)__cil_tmp10;
25036#line 934
25037  skb = (struct sk_buff *)arg;
25038#line 935
25039  est = 0;
25040#line 937
25041  tmp = get_PollFlag(l2, skb);
25042#line 937
25043  __cil_tmp11 = (unsigned int )tmp;
25044#line 937
25045  __cil_tmp12 = __cil_tmp11 | 99U;
25046#line 937
25047  __cil_tmp13 = (int )__cil_tmp12;
25048#line 937
25049  __cil_tmp14 = (u_char )__cil_tmp13;
25050#line 937
25051  __cil_tmp15 = (u_char )1;
25052#line 937
25053  send_uframe(l2, skb, __cil_tmp14, __cil_tmp15);
25054#line 939
25055  __cil_tmp16 = (void *)70;
25056#line 939
25057  l2mgr(l2, 7940U, __cil_tmp16);
25058  }
25059  {
25060#line 941
25061  __cil_tmp17 = l2->va;
25062#line 941
25063  __cil_tmp18 = l2->vs;
25064#line 941
25065  if (__cil_tmp18 != __cil_tmp17) {
25066    {
25067#line 942
25068    __cil_tmp19 = & l2->i_queue;
25069#line 942
25070    skb_queue_purge(__cil_tmp19);
25071#line 943
25072    est = 1;
25073    }
25074  } else {
25075
25076  }
25077  }
25078  {
25079#line 946
25080  clear_exception(l2);
25081#line 947
25082  l2->vs = 0U;
25083#line 948
25084  l2->va = 0U;
25085#line 949
25086  l2->vr = 0U;
25087#line 950
25088  l2->sow = 0U;
25089#line 951
25090  mISDN_FsmChangeState(fi, 6);
25091#line 952
25092  stop_t200(l2, 3);
25093#line 953
25094  __cil_tmp20 = & l2->t203;
25095#line 953
25096  __cil_tmp21 = l2->T203;
25097#line 953
25098  __cil_tmp22 = (void *)0;
25099#line 953
25100  mISDN_FsmRestartTimer(__cil_tmp20, __cil_tmp21, 18, __cil_tmp22, 3);
25101  }
25102#line 955
25103  if (est != 0) {
25104    {
25105#line 956
25106    __cil_tmp23 = (void *)0;
25107#line 956
25108    l2up_create(l2, 4104U, 0, __cil_tmp23);
25109    }
25110  } else {
25111
25112  }
25113  {
25114#line 961
25115  __cil_tmp24 = & l2->i_queue;
25116#line 961
25117  __cil_tmp25 = (struct sk_buff_head  const  *)__cil_tmp24;
25118#line 961
25119  tmp___0 = skb_queue_len(__cil_tmp25);
25120  }
25121#line 961
25122  if (tmp___0 != 0U) {
25123    {
25124#line 961
25125    tmp___1 = cansend(l2);
25126    }
25127#line 961
25128    if (tmp___1 != 0U) {
25129      {
25130#line 962
25131      __cil_tmp26 = (void *)0;
25132#line 962
25133      mISDN_FsmEvent(fi, 9, __cil_tmp26);
25134      }
25135    } else {
25136
25137    }
25138  } else {
25139
25140  }
25141#line 963
25142  return;
25143}
25144}
25145#line 966 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25146static void l2_stop_multi(struct FsmInst *fi , int event , void *arg ) 
25147{ struct layer2 *l2 ;
25148  struct sk_buff *skb ;
25149  u_char tmp ;
25150  void *__cil_tmp7 ;
25151  struct FsmTimer *__cil_tmp8 ;
25152  unsigned int __cil_tmp9 ;
25153  unsigned int __cil_tmp10 ;
25154  int __cil_tmp11 ;
25155  u_char __cil_tmp12 ;
25156  u_char __cil_tmp13 ;
25157  struct sk_buff_head *__cil_tmp14 ;
25158  struct teimgr *__cil_tmp15 ;
25159  unsigned long __cil_tmp16 ;
25160  struct teimgr *__cil_tmp17 ;
25161  unsigned long __cil_tmp18 ;
25162
25163  {
25164  {
25165#line 968
25166  __cil_tmp7 = fi->userdata;
25167#line 968
25168  l2 = (struct layer2 *)__cil_tmp7;
25169#line 969
25170  skb = (struct sk_buff *)arg;
25171#line 971
25172  mISDN_FsmChangeState(fi, 3);
25173#line 972
25174  __cil_tmp8 = & l2->t203;
25175#line 972
25176  mISDN_FsmDelTimer(__cil_tmp8, 3);
25177#line 973
25178  stop_t200(l2, 4);
25179#line 975
25180  tmp = get_PollFlag(l2, skb);
25181#line 975
25182  __cil_tmp9 = (unsigned int )tmp;
25183#line 975
25184  __cil_tmp10 = __cil_tmp9 | 99U;
25185#line 975
25186  __cil_tmp11 = (int )__cil_tmp10;
25187#line 975
25188  __cil_tmp12 = (u_char )__cil_tmp11;
25189#line 975
25190  __cil_tmp13 = (u_char )1;
25191#line 975
25192  send_uframe(l2, skb, __cil_tmp12, __cil_tmp13);
25193#line 976
25194  __cil_tmp14 = & l2->i_queue;
25195#line 976
25196  skb_queue_purge(__cil_tmp14);
25197#line 977
25198  freewin(l2);
25199#line 978
25200  lapb_dl_release_l2l3(l2, 4360);
25201  }
25202  {
25203#line 979
25204  __cil_tmp15 = (struct teimgr *)0;
25205#line 979
25206  __cil_tmp16 = (unsigned long )__cil_tmp15;
25207#line 979
25208  __cil_tmp17 = l2->tm;
25209#line 979
25210  __cil_tmp18 = (unsigned long )__cil_tmp17;
25211#line 979
25212  if (__cil_tmp18 != __cil_tmp16) {
25213    {
25214#line 980
25215    l2_tei(l2, 7428U, 0UL);
25216    }
25217  } else {
25218
25219  }
25220  }
25221#line 981
25222  return;
25223}
25224}
25225#line 984 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25226static void l2_connected(struct FsmInst *fi , int event , void *arg ) 
25227{ struct layer2 *l2 ;
25228  struct sk_buff *skb ;
25229  int pr ;
25230  u_char tmp ;
25231  int tmp___0 ;
25232  int tmp___1 ;
25233  __u32 tmp___2 ;
25234  unsigned int tmp___3 ;
25235  void *__cil_tmp12 ;
25236  unsigned int __cil_tmp13 ;
25237  u_long *__cil_tmp14 ;
25238  unsigned long volatile   *__cil_tmp15 ;
25239  void *__cil_tmp16 ;
25240  u_long *__cil_tmp17 ;
25241  unsigned long volatile   *__cil_tmp18 ;
25242  u_int __cil_tmp19 ;
25243  u_int __cil_tmp20 ;
25244  struct sk_buff_head *__cil_tmp21 ;
25245  struct FsmTimer *__cil_tmp22 ;
25246  int __cil_tmp23 ;
25247  void *__cil_tmp24 ;
25248  u_int __cil_tmp25 ;
25249  void *__cil_tmp26 ;
25250  struct sk_buff_head *__cil_tmp27 ;
25251  struct sk_buff_head  const  *__cil_tmp28 ;
25252  void *__cil_tmp29 ;
25253  struct teimgr *__cil_tmp30 ;
25254  unsigned long __cil_tmp31 ;
25255  struct teimgr *__cil_tmp32 ;
25256  unsigned long __cil_tmp33 ;
25257
25258  {
25259  {
25260#line 986
25261  __cil_tmp12 = fi->userdata;
25262#line 986
25263  l2 = (struct layer2 *)__cil_tmp12;
25264#line 987
25265  skb = (struct sk_buff *)arg;
25266#line 988
25267  pr = -1;
25268#line 990
25269  tmp = get_PollFlag(l2, skb);
25270  }
25271  {
25272#line 990
25273  __cil_tmp13 = (unsigned int )tmp;
25274#line 990
25275  if (__cil_tmp13 == 0U) {
25276    {
25277#line 991
25278    l2_mdl_error_ua(fi, event, arg);
25279    }
25280#line 992
25281    return;
25282  } else {
25283
25284  }
25285  }
25286  {
25287#line 994
25288  consume_skb(skb);
25289#line 995
25290  __cil_tmp14 = & l2->flag;
25291#line 995
25292  __cil_tmp15 = (unsigned long volatile   *)__cil_tmp14;
25293#line 995
25294  tmp___0 = test_and_clear_bit(4, __cil_tmp15);
25295  }
25296#line 995
25297  if (tmp___0 != 0) {
25298    {
25299#line 996
25300    __cil_tmp16 = (void *)0;
25301#line 996
25302    l2_disconnect(fi, event, __cil_tmp16);
25303    }
25304  } else {
25305
25306  }
25307  {
25308#line 997
25309  __cil_tmp17 = & l2->flag;
25310#line 997
25311  __cil_tmp18 = (unsigned long volatile   *)__cil_tmp17;
25312#line 997
25313  tmp___1 = test_and_clear_bit(5, __cil_tmp18);
25314  }
25315#line 997
25316  if (tmp___1 != 0) {
25317#line 998
25318    pr = 20488;
25319  } else {
25320    {
25321#line 999
25322    __cil_tmp19 = l2->va;
25323#line 999
25324    __cil_tmp20 = l2->vs;
25325#line 999
25326    if (__cil_tmp20 != __cil_tmp19) {
25327      {
25328#line 1000
25329      __cil_tmp21 = & l2->i_queue;
25330#line 1000
25331      skb_queue_purge(__cil_tmp21);
25332#line 1001
25333      pr = 4104;
25334      }
25335    } else {
25336
25337    }
25338    }
25339  }
25340  {
25341#line 1003
25342  stop_t200(l2, 5);
25343#line 1004
25344  l2->vr = 0U;
25345#line 1005
25346  l2->vs = 0U;
25347#line 1006
25348  l2->va = 0U;
25349#line 1007
25350  l2->sow = 0U;
25351#line 1008
25352  mISDN_FsmChangeState(fi, 6);
25353#line 1009
25354  __cil_tmp22 = & l2->t203;
25355#line 1009
25356  __cil_tmp23 = l2->T203;
25357#line 1009
25358  __cil_tmp24 = (void *)0;
25359#line 1009
25360  mISDN_FsmAddTimer(__cil_tmp22, __cil_tmp23, 18, __cil_tmp24, 4);
25361  }
25362#line 1010
25363  if (pr != -1) {
25364    {
25365#line 1011
25366    __cil_tmp25 = (u_int )pr;
25367#line 1011
25368    __cil_tmp26 = (void *)0;
25369#line 1011
25370    l2up_create(l2, __cil_tmp25, 0, __cil_tmp26);
25371    }
25372  } else {
25373
25374  }
25375  {
25376#line 1013
25377  __cil_tmp27 = & l2->i_queue;
25378#line 1013
25379  __cil_tmp28 = (struct sk_buff_head  const  *)__cil_tmp27;
25380#line 1013
25381  tmp___2 = skb_queue_len(__cil_tmp28);
25382  }
25383#line 1013
25384  if (tmp___2 != 0U) {
25385    {
25386#line 1013
25387    tmp___3 = cansend(l2);
25388    }
25389#line 1013
25390    if (tmp___3 != 0U) {
25391      {
25392#line 1014
25393      __cil_tmp29 = (void *)0;
25394#line 1014
25395      mISDN_FsmEvent(fi, 9, __cil_tmp29);
25396      }
25397    } else {
25398
25399    }
25400  } else {
25401
25402  }
25403  {
25404#line 1016
25405  __cil_tmp30 = (struct teimgr *)0;
25406#line 1016
25407  __cil_tmp31 = (unsigned long )__cil_tmp30;
25408#line 1016
25409  __cil_tmp32 = l2->tm;
25410#line 1016
25411  __cil_tmp33 = (unsigned long )__cil_tmp32;
25412#line 1016
25413  if (__cil_tmp33 != __cil_tmp31) {
25414    {
25415#line 1017
25416    l2_tei(l2, 7172U, 0UL);
25417    }
25418  } else {
25419
25420  }
25421  }
25422#line 1018
25423  return;
25424}
25425}
25426#line 1021 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25427static void l2_released(struct FsmInst *fi , int event , void *arg ) 
25428{ struct layer2 *l2 ;
25429  struct sk_buff *skb ;
25430  u_char tmp ;
25431  void *__cil_tmp7 ;
25432  unsigned int __cil_tmp8 ;
25433  struct teimgr *__cil_tmp9 ;
25434  unsigned long __cil_tmp10 ;
25435  struct teimgr *__cil_tmp11 ;
25436  unsigned long __cil_tmp12 ;
25437
25438  {
25439  {
25440#line 1023
25441  __cil_tmp7 = fi->userdata;
25442#line 1023
25443  l2 = (struct layer2 *)__cil_tmp7;
25444#line 1024
25445  skb = (struct sk_buff *)arg;
25446#line 1026
25447  tmp = get_PollFlag(l2, skb);
25448  }
25449  {
25450#line 1026
25451  __cil_tmp8 = (unsigned int )tmp;
25452#line 1026
25453  if (__cil_tmp8 == 0U) {
25454    {
25455#line 1027
25456    l2_mdl_error_ua(fi, event, arg);
25457    }
25458#line 1028
25459    return;
25460  } else {
25461
25462  }
25463  }
25464  {
25465#line 1030
25466  consume_skb(skb);
25467#line 1031
25468  stop_t200(l2, 6);
25469#line 1032
25470  lapb_dl_release_l2l3(l2, 20744);
25471#line 1033
25472  mISDN_FsmChangeState(fi, 3);
25473  }
25474  {
25475#line 1034
25476  __cil_tmp9 = (struct teimgr *)0;
25477#line 1034
25478  __cil_tmp10 = (unsigned long )__cil_tmp9;
25479#line 1034
25480  __cil_tmp11 = l2->tm;
25481#line 1034
25482  __cil_tmp12 = (unsigned long )__cil_tmp11;
25483#line 1034
25484  if (__cil_tmp12 != __cil_tmp10) {
25485    {
25486#line 1035
25487    l2_tei(l2, 7428U, 0UL);
25488    }
25489  } else {
25490
25491  }
25492  }
25493#line 1036
25494  return;
25495}
25496}
25497#line 1039 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25498static void l2_reestablish(struct FsmInst *fi , int event , void *arg ) 
25499{ struct layer2 *l2 ;
25500  struct sk_buff *skb ;
25501  u_char tmp ;
25502  void *__cil_tmp7 ;
25503  unsigned int __cil_tmp8 ;
25504  u_long *__cil_tmp9 ;
25505  unsigned long volatile   *__cil_tmp10 ;
25506
25507  {
25508  {
25509#line 1041
25510  __cil_tmp7 = fi->userdata;
25511#line 1041
25512  l2 = (struct layer2 *)__cil_tmp7;
25513#line 1042
25514  skb = (struct sk_buff *)arg;
25515#line 1044
25516  tmp = get_PollFlagFree(l2, skb);
25517  }
25518  {
25519#line 1044
25520  __cil_tmp8 = (unsigned int )tmp;
25521#line 1044
25522  if (__cil_tmp8 == 0U) {
25523    {
25524#line 1045
25525    establishlink(fi);
25526#line 1046
25527    __cil_tmp9 = & l2->flag;
25528#line 1046
25529    __cil_tmp10 = (unsigned long volatile   *)__cil_tmp9;
25530#line 1046
25531    test_and_set_bit(5, __cil_tmp10);
25532    }
25533  } else {
25534
25535  }
25536  }
25537#line 1048
25538  return;
25539}
25540}
25541#line 1051 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25542static void l2_st5_dm_release(struct FsmInst *fi , int event , void *arg ) 
25543{ struct layer2 *l2 ;
25544  struct sk_buff *skb ;
25545  int tmp ;
25546  u_int tmp___0 ;
25547  int tmp___1 ;
25548  u_char tmp___2 ;
25549  void *__cil_tmp10 ;
25550  unsigned int __cil_tmp11 ;
25551  u_long *__cil_tmp12 ;
25552  unsigned long const volatile   *__cil_tmp13 ;
25553  struct sk_buff_head *__cil_tmp14 ;
25554  u_long *__cil_tmp15 ;
25555  unsigned long const volatile   *__cil_tmp16 ;
25556  void *__cil_tmp17 ;
25557  struct teimgr *__cil_tmp18 ;
25558  unsigned long __cil_tmp19 ;
25559  struct teimgr *__cil_tmp20 ;
25560  unsigned long __cil_tmp21 ;
25561
25562  {
25563  {
25564#line 1053
25565  __cil_tmp10 = fi->userdata;
25566#line 1053
25567  l2 = (struct layer2 *)__cil_tmp10;
25568#line 1054
25569  skb = (struct sk_buff *)arg;
25570#line 1056
25571  tmp___2 = get_PollFlagFree(l2, skb);
25572  }
25573  {
25574#line 1056
25575  __cil_tmp11 = (unsigned int )tmp___2;
25576#line 1056
25577  if (__cil_tmp11 != 0U) {
25578    {
25579#line 1057
25580    stop_t200(l2, 7);
25581#line 1058
25582    __cil_tmp12 = & l2->flag;
25583#line 1058
25584    __cil_tmp13 = (unsigned long const volatile   *)__cil_tmp12;
25585#line 1058
25586    tmp = constant_test_bit(5U, __cil_tmp13);
25587    }
25588#line 1058
25589    if (tmp == 0) {
25590      {
25591#line 1059
25592      __cil_tmp14 = & l2->i_queue;
25593#line 1059
25594      skb_queue_purge(__cil_tmp14);
25595      }
25596    } else {
25597
25598    }
25599    {
25600#line 1060
25601    __cil_tmp15 = & l2->flag;
25602#line 1060
25603    __cil_tmp16 = (unsigned long const volatile   *)__cil_tmp15;
25604#line 1060
25605    tmp___1 = constant_test_bit(0U, __cil_tmp16);
25606    }
25607#line 1060
25608    if (tmp___1 != 0) {
25609      {
25610#line 1061
25611      tmp___0 = l2_newid(l2);
25612#line 1061
25613      __cil_tmp17 = (void *)0;
25614#line 1061
25615      l2down_create(l2, 513U, tmp___0, 0, __cil_tmp17);
25616      }
25617    } else {
25618
25619    }
25620    {
25621#line 1063
25622    st5_dl_release_l2l3(l2);
25623#line 1064
25624    mISDN_FsmChangeState(fi, 3);
25625    }
25626    {
25627#line 1065
25628    __cil_tmp18 = (struct teimgr *)0;
25629#line 1065
25630    __cil_tmp19 = (unsigned long )__cil_tmp18;
25631#line 1065
25632    __cil_tmp20 = l2->tm;
25633#line 1065
25634    __cil_tmp21 = (unsigned long )__cil_tmp20;
25635#line 1065
25636    if (__cil_tmp21 != __cil_tmp19) {
25637      {
25638#line 1066
25639      l2_tei(l2, 7428U, 0UL);
25640      }
25641    } else {
25642
25643    }
25644    }
25645  } else {
25646
25647  }
25648  }
25649#line 1068
25650  return;
25651}
25652}
25653#line 1071 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25654static void l2_st6_dm_release(struct FsmInst *fi , int event , void *arg ) 
25655{ struct layer2 *l2 ;
25656  struct sk_buff *skb ;
25657  u_char tmp ;
25658  void *__cil_tmp7 ;
25659  unsigned int __cil_tmp8 ;
25660  struct teimgr *__cil_tmp9 ;
25661  unsigned long __cil_tmp10 ;
25662  struct teimgr *__cil_tmp11 ;
25663  unsigned long __cil_tmp12 ;
25664
25665  {
25666  {
25667#line 1073
25668  __cil_tmp7 = fi->userdata;
25669#line 1073
25670  l2 = (struct layer2 *)__cil_tmp7;
25671#line 1074
25672  skb = (struct sk_buff *)arg;
25673#line 1076
25674  tmp = get_PollFlagFree(l2, skb);
25675  }
25676  {
25677#line 1076
25678  __cil_tmp8 = (unsigned int )tmp;
25679#line 1076
25680  if (__cil_tmp8 != 0U) {
25681    {
25682#line 1077
25683    stop_t200(l2, 8);
25684#line 1078
25685    lapb_dl_release_l2l3(l2, 20744);
25686#line 1079
25687    mISDN_FsmChangeState(fi, 3);
25688    }
25689    {
25690#line 1080
25691    __cil_tmp9 = (struct teimgr *)0;
25692#line 1080
25693    __cil_tmp10 = (unsigned long )__cil_tmp9;
25694#line 1080
25695    __cil_tmp11 = l2->tm;
25696#line 1080
25697    __cil_tmp12 = (unsigned long )__cil_tmp11;
25698#line 1080
25699    if (__cil_tmp12 != __cil_tmp10) {
25700      {
25701#line 1081
25702      l2_tei(l2, 7428U, 0UL);
25703      }
25704    } else {
25705
25706    }
25707    }
25708  } else {
25709
25710  }
25711  }
25712#line 1083
25713  return;
25714}
25715}
25716#line 1086 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25717static void enquiry_cr(struct layer2 *l2 , u_char typ , u_char cr , u_char pf ) 
25718{ struct sk_buff *skb ;
25719  u_char tmp[4U] ;
25720  int i ;
25721  int tmp___0 ;
25722  int tmp___1 ;
25723  unsigned int tmp___2 ;
25724  int tmp___3 ;
25725  unsigned int tmp___4 ;
25726  int tmp___5 ;
25727  size_t __len ;
25728  void *__ret ;
25729  unsigned char *tmp___7 ;
25730  u_char *__cil_tmp17 ;
25731  int __cil_tmp18 ;
25732  u_long *__cil_tmp19 ;
25733  unsigned long const volatile   *__cil_tmp20 ;
25734  unsigned int __cil_tmp21 ;
25735  u_int __cil_tmp22 ;
25736  u_char __cil_tmp23 ;
25737  int __cil_tmp24 ;
25738  int __cil_tmp25 ;
25739  unsigned int __cil_tmp26 ;
25740  unsigned int __cil_tmp27 ;
25741  unsigned int __cil_tmp28 ;
25742  int __cil_tmp29 ;
25743  u_int __cil_tmp30 ;
25744  u_char __cil_tmp31 ;
25745  int __cil_tmp32 ;
25746  int __cil_tmp33 ;
25747  int __cil_tmp34 ;
25748  unsigned int __cil_tmp35 ;
25749  unsigned int __cil_tmp36 ;
25750  unsigned int __cil_tmp37 ;
25751  struct sk_buff *__cil_tmp38 ;
25752  unsigned long __cil_tmp39 ;
25753  unsigned long __cil_tmp40 ;
25754  unsigned int __cil_tmp41 ;
25755  void *__cil_tmp42 ;
25756  void const   *__cil_tmp43 ;
25757
25758  {
25759  {
25760#line 1092
25761  __cil_tmp17 = (u_char *)(& tmp);
25762#line 1092
25763  __cil_tmp18 = (int )cr;
25764#line 1092
25765  i = sethdraddr(l2, __cil_tmp17, __cil_tmp18);
25766#line 1093
25767  __cil_tmp19 = & l2->flag;
25768#line 1093
25769  __cil_tmp20 = (unsigned long const volatile   *)__cil_tmp19;
25770#line 1093
25771  tmp___5 = constant_test_bit(3U, __cil_tmp20);
25772  }
25773#line 1093
25774  if (tmp___5 != 0) {
25775#line 1094
25776    tmp___0 = i;
25777#line 1094
25778    i = i + 1;
25779#line 1094
25780    tmp[tmp___0] = typ;
25781#line 1095
25782    tmp___1 = i;
25783#line 1095
25784    i = i + 1;
25785    {
25786#line 1095
25787    __cil_tmp21 = (unsigned int )pf;
25788#line 1095
25789    if (__cil_tmp21 != 0U) {
25790#line 1095
25791      tmp___2 = 1U;
25792    } else {
25793#line 1095
25794      tmp___2 = 0U;
25795    }
25796    }
25797#line 1095
25798    __cil_tmp22 = l2->vr;
25799#line 1095
25800    __cil_tmp23 = (u_char )__cil_tmp22;
25801#line 1095
25802    __cil_tmp24 = (int )__cil_tmp23;
25803#line 1095
25804    __cil_tmp25 = __cil_tmp24 << 1U;
25805#line 1095
25806    __cil_tmp26 = (unsigned int )__cil_tmp25;
25807#line 1095
25808    __cil_tmp27 = __cil_tmp26 | tmp___2;
25809#line 1095
25810    tmp[tmp___1] = (u_char )__cil_tmp27;
25811  } else {
25812#line 1097
25813    tmp___3 = i;
25814#line 1097
25815    i = i + 1;
25816    {
25817#line 1097
25818    __cil_tmp28 = (unsigned int )pf;
25819#line 1097
25820    if (__cil_tmp28 != 0U) {
25821#line 1097
25822      tmp___4 = 16U;
25823    } else {
25824#line 1097
25825      tmp___4 = 0U;
25826    }
25827    }
25828#line 1097
25829    __cil_tmp29 = (int )typ;
25830#line 1097
25831    __cil_tmp30 = l2->vr;
25832#line 1097
25833    __cil_tmp31 = (u_char )__cil_tmp30;
25834#line 1097
25835    __cil_tmp32 = (int )__cil_tmp31;
25836#line 1097
25837    __cil_tmp33 = __cil_tmp32 << 5U;
25838#line 1097
25839    __cil_tmp34 = __cil_tmp33 | __cil_tmp29;
25840#line 1097
25841    __cil_tmp35 = (unsigned int )__cil_tmp34;
25842#line 1097
25843    __cil_tmp36 = __cil_tmp35 | tmp___4;
25844#line 1097
25845    tmp[tmp___3] = (u_char )__cil_tmp36;
25846  }
25847  {
25848#line 1098
25849  __cil_tmp37 = (unsigned int )i;
25850#line 1098
25851  skb = mI_alloc_skb(__cil_tmp37, 32U);
25852  }
25853  {
25854#line 1099
25855  __cil_tmp38 = (struct sk_buff *)0;
25856#line 1099
25857  __cil_tmp39 = (unsigned long )__cil_tmp38;
25858#line 1099
25859  __cil_tmp40 = (unsigned long )skb;
25860#line 1099
25861  if (__cil_tmp40 == __cil_tmp39) {
25862    {
25863#line 1100
25864    printk("<4>isdnl2 can\'t alloc sbbuff for enquiry_cr\n");
25865    }
25866#line 1102
25867    return;
25868  } else {
25869
25870  }
25871  }
25872  {
25873#line 1104
25874  __len = (size_t )i;
25875#line 1104
25876  __cil_tmp41 = (unsigned int )i;
25877#line 1104
25878  tmp___7 = skb_put(skb, __cil_tmp41);
25879#line 1104
25880  __cil_tmp42 = (void *)tmp___7;
25881#line 1104
25882  __cil_tmp43 = (void const   *)(& tmp);
25883#line 1104
25884  __ret = __builtin_memcpy(__cil_tmp42, __cil_tmp43, __len);
25885#line 1105
25886  enqueue_super(l2, skb);
25887  }
25888#line 1106
25889  return;
25890}
25891}
25892#line 1109 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25893__inline void enquiry_response(struct layer2 *l2 ) 
25894{ int tmp ;
25895  u_long *__cil_tmp3 ;
25896  unsigned long const volatile   *__cil_tmp4 ;
25897  u_char __cil_tmp5 ;
25898  u_char __cil_tmp6 ;
25899  u_char __cil_tmp7 ;
25900  u_char __cil_tmp8 ;
25901  u_char __cil_tmp9 ;
25902  u_char __cil_tmp10 ;
25903  u_long *__cil_tmp11 ;
25904  unsigned long volatile   *__cil_tmp12 ;
25905
25906  {
25907  {
25908#line 1111
25909  __cil_tmp3 = & l2->flag;
25910#line 1111
25911  __cil_tmp4 = (unsigned long const volatile   *)__cil_tmp3;
25912#line 1111
25913  tmp = constant_test_bit(9U, __cil_tmp4);
25914  }
25915#line 1111
25916  if (tmp != 0) {
25917    {
25918#line 1112
25919    __cil_tmp5 = (u_char )5;
25920#line 1112
25921    __cil_tmp6 = (u_char )1;
25922#line 1112
25923    __cil_tmp7 = (u_char )1;
25924#line 1112
25925    enquiry_cr(l2, __cil_tmp5, __cil_tmp6, __cil_tmp7);
25926    }
25927  } else {
25928    {
25929#line 1114
25930    __cil_tmp8 = (u_char )1;
25931#line 1114
25932    __cil_tmp9 = (u_char )1;
25933#line 1114
25934    __cil_tmp10 = (u_char )1;
25935#line 1114
25936    enquiry_cr(l2, __cil_tmp8, __cil_tmp9, __cil_tmp10);
25937    }
25938  }
25939  {
25940#line 1115
25941  __cil_tmp11 = & l2->flag;
25942#line 1115
25943  __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
25944#line 1115
25945  test_and_clear_bit(7, __cil_tmp12);
25946  }
25947#line 1116
25948  return;
25949}
25950}
25951#line 1119 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
25952__inline void transmit_enquiry(struct layer2 *l2 ) 
25953{ int tmp ;
25954  u_long *__cil_tmp3 ;
25955  unsigned long const volatile   *__cil_tmp4 ;
25956  u_char __cil_tmp5 ;
25957  u_char __cil_tmp6 ;
25958  u_char __cil_tmp7 ;
25959  u_char __cil_tmp8 ;
25960  u_char __cil_tmp9 ;
25961  u_char __cil_tmp10 ;
25962  u_long *__cil_tmp11 ;
25963  unsigned long volatile   *__cil_tmp12 ;
25964
25965  {
25966  {
25967#line 1121
25968  __cil_tmp3 = & l2->flag;
25969#line 1121
25970  __cil_tmp4 = (unsigned long const volatile   *)__cil_tmp3;
25971#line 1121
25972  tmp = constant_test_bit(9U, __cil_tmp4);
25973  }
25974#line 1121
25975  if (tmp != 0) {
25976    {
25977#line 1122
25978    __cil_tmp5 = (u_char )5;
25979#line 1122
25980    __cil_tmp6 = (u_char )0;
25981#line 1122
25982    __cil_tmp7 = (u_char )1;
25983#line 1122
25984    enquiry_cr(l2, __cil_tmp5, __cil_tmp6, __cil_tmp7);
25985    }
25986  } else {
25987    {
25988#line 1124
25989    __cil_tmp8 = (u_char )1;
25990#line 1124
25991    __cil_tmp9 = (u_char )0;
25992#line 1124
25993    __cil_tmp10 = (u_char )1;
25994#line 1124
25995    enquiry_cr(l2, __cil_tmp8, __cil_tmp9, __cil_tmp10);
25996    }
25997  }
25998  {
25999#line 1125
26000  __cil_tmp11 = & l2->flag;
26001#line 1125
26002  __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
26003#line 1125
26004  test_and_clear_bit(7, __cil_tmp12);
26005#line 1126
26006  start_t200(l2, 9);
26007  }
26008#line 1127
26009  return;
26010}
26011}
26012#line 1131 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
26013static void nrerrorrecovery(struct FsmInst *fi ) 
26014{ struct layer2 *l2 ;
26015  void *__cil_tmp3 ;
26016  void *__cil_tmp4 ;
26017  u_long *__cil_tmp5 ;
26018  unsigned long volatile   *__cil_tmp6 ;
26019
26020  {
26021  {
26022#line 1133
26023  __cil_tmp3 = fi->userdata;
26024#line 1133
26025  l2 = (struct layer2 *)__cil_tmp3;
26026#line 1135
26027  __cil_tmp4 = (void *)74;
26028#line 1135
26029  l2mgr(l2, 7940U, __cil_tmp4);
26030#line 1136
26031  establishlink(fi);
26032#line 1137
26033  __cil_tmp5 = & l2->flag;
26034#line 1137
26035  __cil_tmp6 = (unsigned long volatile   *)__cil_tmp5;
26036#line 1137
26037  test_and_clear_bit(5, __cil_tmp6);
26038  }
26039#line 1138
26040  return;
26041}
26042}
26043#line 1141 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
26044static void invoke_retransmission(struct layer2 *l2 , unsigned int nr ) 
26045{ u_int p1 ;
26046  int tmp ;
26047  u_int __cil_tmp5 ;
26048  u_int __cil_tmp6 ;
26049  u_long *__cil_tmp7 ;
26050  unsigned long const volatile   *__cil_tmp8 ;
26051  u_int __cil_tmp9 ;
26052  u_int __cil_tmp10 ;
26053  u_int __cil_tmp11 ;
26054  u_int __cil_tmp12 ;
26055  u_int __cil_tmp13 ;
26056  u_int __cil_tmp14 ;
26057  u_int __cil_tmp15 ;
26058  u_int __cil_tmp16 ;
26059  u_int __cil_tmp17 ;
26060  u_int __cil_tmp18 ;
26061  u_int __cil_tmp19 ;
26062  struct sk_buff *__cil_tmp20 ;
26063  unsigned long __cil_tmp21 ;
26064  struct sk_buff *__cil_tmp22 ;
26065  unsigned long __cil_tmp23 ;
26066  struct sk_buff_head *__cil_tmp24 ;
26067  struct sk_buff *__cil_tmp25 ;
26068  u_int __cil_tmp26 ;
26069  struct FsmInst *__cil_tmp27 ;
26070  void *__cil_tmp28 ;
26071
26072  {
26073  {
26074#line 1145
26075  __cil_tmp5 = l2->vs;
26076#line 1145
26077  if (__cil_tmp5 != nr) {
26078#line 1146
26079    goto ldv_39010;
26080    ldv_39009: 
26081    {
26082#line 1147
26083    __cil_tmp6 = l2->vs;
26084#line 1147
26085    l2->vs = __cil_tmp6 - 1U;
26086#line 1148
26087    __cil_tmp7 = & l2->flag;
26088#line 1148
26089    __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
26090#line 1148
26091    tmp = constant_test_bit(3U, __cil_tmp8);
26092    }
26093#line 1148
26094    if (tmp != 0) {
26095#line 1149
26096      __cil_tmp9 = l2->vs;
26097#line 1149
26098      l2->vs = __cil_tmp9 & 127U;
26099#line 1150
26100      __cil_tmp10 = l2->va;
26101#line 1150
26102      __cil_tmp11 = l2->vs;
26103#line 1150
26104      __cil_tmp12 = __cil_tmp11 - __cil_tmp10;
26105#line 1150
26106      p1 = __cil_tmp12 & 127U;
26107    } else {
26108#line 1152
26109      __cil_tmp13 = l2->vs;
26110#line 1152
26111      l2->vs = __cil_tmp13 & 7U;
26112#line 1153
26113      __cil_tmp14 = l2->va;
26114#line 1153
26115      __cil_tmp15 = l2->vs;
26116#line 1153
26117      __cil_tmp16 = __cil_tmp15 - __cil_tmp14;
26118#line 1153
26119      p1 = __cil_tmp16 & 7U;
26120    }
26121#line 1155
26122    __cil_tmp17 = l2->window;
26123#line 1155
26124    __cil_tmp18 = l2->sow;
26125#line 1155
26126    __cil_tmp19 = __cil_tmp18 + p1;
26127#line 1155
26128    p1 = __cil_tmp19 % __cil_tmp17;
26129    {
26130#line 1156
26131    __cil_tmp20 = (struct sk_buff *)0;
26132#line 1156
26133    __cil_tmp21 = (unsigned long )__cil_tmp20;
26134#line 1156
26135    __cil_tmp22 = l2->windowar[p1];
26136#line 1156
26137    __cil_tmp23 = (unsigned long )__cil_tmp22;
26138#line 1156
26139    if (__cil_tmp23 != __cil_tmp21) {
26140      {
26141#line 1157
26142      __cil_tmp24 = & l2->i_queue;
26143#line 1157
26144      __cil_tmp25 = l2->windowar[p1];
26145#line 1157
26146      skb_queue_head(__cil_tmp24, __cil_tmp25);
26147      }
26148    } else {
26149      {
26150#line 1159
26151      printk("<4>%s: windowar[%d] is NULL\n", "invoke_retransmission", p1);
26152      }
26153    }
26154    }
26155#line 1162
26156    l2->windowar[p1] = (struct sk_buff *)0;
26157    ldv_39010: ;
26158    {
26159#line 1146
26160    __cil_tmp26 = l2->vs;
26161#line 1146
26162    if (__cil_tmp26 != nr) {
26163#line 1147
26164      goto ldv_39009;
26165    } else {
26166#line 1149
26167      goto ldv_39011;
26168    }
26169    }
26170    ldv_39011: 
26171    {
26172#line 1164
26173    __cil_tmp27 = & l2->l2m;
26174#line 1164
26175    __cil_tmp28 = (void *)0;
26176#line 1164
26177    mISDN_FsmEvent(__cil_tmp27, 9, __cil_tmp28);
26178    }
26179  } else {
26180
26181  }
26182  }
26183#line 1166
26184  return;
26185}
26186}
26187#line 1169 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
26188static void l2_st7_got_super(struct FsmInst *fi , int event , void *arg ) 
26189{ struct layer2 *l2 ;
26190  struct sk_buff *skb ;
26191  int PollFlag ;
26192  int rsp ;
26193  int typ ;
26194  unsigned int nr ;
26195  int tmp ;
26196  u_int tmp___0 ;
26197  int tmp___1 ;
26198  int tmp___2 ;
26199  int tmp___3 ;
26200  int tmp___4 ;
26201  __u32 tmp___5 ;
26202  unsigned int tmp___6 ;
26203  void *__cil_tmp18 ;
26204  unsigned char *__cil_tmp19 ;
26205  unsigned char __cil_tmp20 ;
26206  int __cil_tmp21 ;
26207  u_long *__cil_tmp22 ;
26208  unsigned long const volatile   *__cil_tmp23 ;
26209  unsigned char *__cil_tmp24 ;
26210  unsigned char *__cil_tmp25 ;
26211  u_long *__cil_tmp26 ;
26212  unsigned long const volatile   *__cil_tmp27 ;
26213  unsigned char *__cil_tmp28 ;
26214  unsigned char *__cil_tmp29 ;
26215  unsigned char __cil_tmp30 ;
26216  int __cil_tmp31 ;
26217  unsigned char *__cil_tmp32 ;
26218  unsigned char *__cil_tmp33 ;
26219  unsigned char __cil_tmp34 ;
26220  int __cil_tmp35 ;
26221  int __cil_tmp36 ;
26222  unsigned char *__cil_tmp37 ;
26223  unsigned char __cil_tmp38 ;
26224  int __cil_tmp39 ;
26225  unsigned char *__cil_tmp40 ;
26226  unsigned char __cil_tmp41 ;
26227  int __cil_tmp42 ;
26228  int __cil_tmp43 ;
26229  unsigned int __cil_tmp44 ;
26230  void *__cil_tmp45 ;
26231  struct FsmTimer *__cil_tmp46 ;
26232  int __cil_tmp47 ;
26233  void *__cil_tmp48 ;
26234  struct FsmInst *__cil_tmp49 ;
26235  char *__cil_tmp50 ;
26236  u_int __cil_tmp51 ;
26237  struct FsmTimer *__cil_tmp52 ;
26238  int __cil_tmp53 ;
26239  void *__cil_tmp54 ;
26240  u_int __cil_tmp55 ;
26241  struct FsmTimer *__cil_tmp56 ;
26242  struct sk_buff_head *__cil_tmp57 ;
26243  struct sk_buff_head  const  *__cil_tmp58 ;
26244  void *__cil_tmp59 ;
26245
26246  {
26247  {
26248#line 1171
26249  __cil_tmp18 = fi->userdata;
26250#line 1171
26251  l2 = (struct layer2 *)__cil_tmp18;
26252#line 1172
26253  skb = (struct sk_buff *)arg;
26254#line 1173
26255  typ = 1;
26256#line 1176
26257  __cil_tmp19 = skb->data;
26258#line 1176
26259  __cil_tmp20 = *__cil_tmp19;
26260#line 1176
26261  __cil_tmp21 = (int )__cil_tmp20;
26262#line 1176
26263  rsp = __cil_tmp21 & 2;
26264#line 1177
26265  __cil_tmp22 = & l2->flag;
26266#line 1177
26267  __cil_tmp23 = (unsigned long const volatile   *)__cil_tmp22;
26268#line 1177
26269  tmp = constant_test_bit(2U, __cil_tmp23);
26270  }
26271#line 1177
26272  if (tmp != 0) {
26273#line 1178
26274    rsp = rsp == 0;
26275  } else {
26276
26277  }
26278  {
26279#line 1180
26280  tmp___0 = l2addrsize(l2);
26281#line 1180
26282  skb_pull(skb, tmp___0);
26283#line 1181
26284  __cil_tmp24 = skb->data;
26285#line 1181
26286  tmp___1 = IsRNR(__cil_tmp24, l2);
26287  }
26288#line 1181
26289  if (tmp___1 != 0) {
26290    {
26291#line 1182
26292    set_peer_busy(l2);
26293#line 1183
26294    typ = 5;
26295    }
26296  } else {
26297    {
26298#line 1185
26299    clear_peer_busy(l2);
26300    }
26301  }
26302  {
26303#line 1186
26304  __cil_tmp25 = skb->data;
26305#line 1186
26306  tmp___2 = IsREJ(__cil_tmp25, l2);
26307  }
26308#line 1186
26309  if (tmp___2 != 0) {
26310#line 1187
26311    typ = 9;
26312  } else {
26313
26314  }
26315  {
26316#line 1189
26317  __cil_tmp26 = & l2->flag;
26318#line 1189
26319  __cil_tmp27 = (unsigned long const volatile   *)__cil_tmp26;
26320#line 1189
26321  tmp___3 = constant_test_bit(3U, __cil_tmp27);
26322  }
26323#line 1189
26324  if (tmp___3 != 0) {
26325#line 1190
26326    __cil_tmp28 = skb->data;
26327#line 1190
26328    __cil_tmp29 = __cil_tmp28 + 1UL;
26329#line 1190
26330    __cil_tmp30 = *__cil_tmp29;
26331#line 1190
26332    __cil_tmp31 = (int )__cil_tmp30;
26333#line 1190
26334    PollFlag = __cil_tmp31 & 1;
26335#line 1191
26336    __cil_tmp32 = skb->data;
26337#line 1191
26338    __cil_tmp33 = __cil_tmp32 + 1UL;
26339#line 1191
26340    __cil_tmp34 = *__cil_tmp33;
26341#line 1191
26342    __cil_tmp35 = (int )__cil_tmp34;
26343#line 1191
26344    __cil_tmp36 = __cil_tmp35 >> 1;
26345#line 1191
26346    nr = (unsigned int )__cil_tmp36;
26347  } else {
26348#line 1193
26349    __cil_tmp37 = skb->data;
26350#line 1193
26351    __cil_tmp38 = *__cil_tmp37;
26352#line 1193
26353    __cil_tmp39 = (int )__cil_tmp38;
26354#line 1193
26355    PollFlag = __cil_tmp39 & 16;
26356#line 1194
26357    __cil_tmp40 = skb->data;
26358#line 1194
26359    __cil_tmp41 = *__cil_tmp40;
26360#line 1194
26361    __cil_tmp42 = (int )__cil_tmp41;
26362#line 1194
26363    __cil_tmp43 = __cil_tmp42 >> 5;
26364#line 1194
26365    __cil_tmp44 = (unsigned int )__cil_tmp43;
26366#line 1194
26367    nr = __cil_tmp44 & 7U;
26368  }
26369  {
26370#line 1196
26371  consume_skb(skb);
26372  }
26373#line 1198
26374  if (PollFlag != 0) {
26375#line 1199
26376    if (rsp != 0) {
26377      {
26378#line 1200
26379      __cil_tmp45 = (void *)65;
26380#line 1200
26381      l2mgr(l2, 7940U, __cil_tmp45);
26382      }
26383    } else {
26384      {
26385#line 1202
26386      enquiry_response(l2);
26387      }
26388    }
26389  } else {
26390
26391  }
26392  {
26393#line 1204
26394  tmp___6 = legalnr(l2, nr);
26395  }
26396#line 1204
26397  if (tmp___6 != 0U) {
26398#line 1205
26399    if (typ == 9) {
26400      {
26401#line 1206
26402      setva(l2, nr);
26403#line 1207
26404      invoke_retransmission(l2, nr);
26405#line 1208
26406      stop_t200(l2, 10);
26407#line 1209
26408      __cil_tmp46 = & l2->t203;
26409#line 1209
26410      __cil_tmp47 = l2->T203;
26411#line 1209
26412      __cil_tmp48 = (void *)0;
26413#line 1209
26414      tmp___4 = mISDN_FsmAddTimer(__cil_tmp46, __cil_tmp47, 18, __cil_tmp48, 6);
26415      }
26416#line 1209
26417      if (tmp___4 != 0) {
26418        {
26419#line 1211
26420        __cil_tmp49 = & l2->l2m;
26421#line 1211
26422        __cil_tmp50 = (char *)"Restart T203 ST7 REJ";
26423#line 1211
26424        l2m_debug(__cil_tmp49, __cil_tmp50);
26425        }
26426      } else {
26427
26428      }
26429    } else {
26430      {
26431#line 1212
26432      __cil_tmp51 = l2->vs;
26433#line 1212
26434      if (__cil_tmp51 == nr) {
26435#line 1212
26436        if (typ == 1) {
26437          {
26438#line 1213
26439          setva(l2, nr);
26440#line 1214
26441          stop_t200(l2, 11);
26442#line 1215
26443          __cil_tmp52 = & l2->t203;
26444#line 1215
26445          __cil_tmp53 = l2->T203;
26446#line 1215
26447          __cil_tmp54 = (void *)0;
26448#line 1215
26449          mISDN_FsmRestartTimer(__cil_tmp52, __cil_tmp53, 18, __cil_tmp54, 7);
26450          }
26451        } else {
26452#line 1212
26453          goto _L___0;
26454        }
26455      } else {
26456        _L___0: 
26457        {
26458#line 1217
26459        __cil_tmp55 = l2->va;
26460#line 1217
26461        if (__cil_tmp55 != nr) {
26462#line 1217
26463          goto _L;
26464        } else
26465#line 1217
26466        if (typ == 5) {
26467          _L: 
26468          {
26469#line 1218
26470          setva(l2, nr);
26471          }
26472#line 1219
26473          if (typ != 1) {
26474            {
26475#line 1220
26476            __cil_tmp56 = & l2->t203;
26477#line 1220
26478            mISDN_FsmDelTimer(__cil_tmp56, 9);
26479            }
26480          } else {
26481
26482          }
26483          {
26484#line 1221
26485          restart_t200(l2, 12);
26486          }
26487        } else {
26488
26489        }
26490        }
26491      }
26492      }
26493    }
26494    {
26495#line 1223
26496    __cil_tmp57 = & l2->i_queue;
26497#line 1223
26498    __cil_tmp58 = (struct sk_buff_head  const  *)__cil_tmp57;
26499#line 1223
26500    tmp___5 = skb_queue_len(__cil_tmp58);
26501    }
26502#line 1223
26503    if (tmp___5 != 0U) {
26504#line 1223
26505      if (typ == 1) {
26506        {
26507#line 1224
26508        __cil_tmp59 = (void *)0;
26509#line 1224
26510        mISDN_FsmEvent(fi, 9, __cil_tmp59);
26511        }
26512      } else {
26513
26514      }
26515    } else {
26516
26517    }
26518  } else {
26519    {
26520#line 1226
26521    nrerrorrecovery(fi);
26522    }
26523  }
26524#line 1227
26525  return;
26526}
26527}
26528#line 1230 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
26529static void l2_feed_i_if_reest(struct FsmInst *fi , int event , void *arg ) 
26530{ struct layer2 *l2 ;
26531  struct sk_buff *skb ;
26532  int tmp ;
26533  void *__cil_tmp7 ;
26534  u_long *__cil_tmp8 ;
26535  unsigned long const volatile   *__cil_tmp9 ;
26536  struct sk_buff_head *__cil_tmp10 ;
26537
26538  {
26539  {
26540#line 1232
26541  __cil_tmp7 = fi->userdata;
26542#line 1232
26543  l2 = (struct layer2 *)__cil_tmp7;
26544#line 1233
26545  skb = (struct sk_buff *)arg;
26546#line 1235
26547  __cil_tmp8 = & l2->flag;
26548#line 1235
26549  __cil_tmp9 = (unsigned long const volatile   *)__cil_tmp8;
26550#line 1235
26551  tmp = constant_test_bit(5U, __cil_tmp9);
26552  }
26553#line 1235
26554  if (tmp == 0) {
26555    {
26556#line 1236
26557    __cil_tmp10 = & l2->i_queue;
26558#line 1236
26559    skb_queue_tail(__cil_tmp10, skb);
26560    }
26561  } else {
26562    {
26563#line 1238
26564    consume_skb(skb);
26565    }
26566  }
26567#line 1239
26568  return;
26569}
26570}
26571#line 1242 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
26572static void l2_feed_i_pull(struct FsmInst *fi , int event , void *arg ) 
26573{ struct layer2 *l2 ;
26574  struct sk_buff *skb ;
26575  void *__cil_tmp6 ;
26576  struct sk_buff_head *__cil_tmp7 ;
26577  void *__cil_tmp8 ;
26578
26579  {
26580  {
26581#line 1244
26582  __cil_tmp6 = fi->userdata;
26583#line 1244
26584  l2 = (struct layer2 *)__cil_tmp6;
26585#line 1245
26586  skb = (struct sk_buff *)arg;
26587#line 1247
26588  __cil_tmp7 = & l2->i_queue;
26589#line 1247
26590  skb_queue_tail(__cil_tmp7, skb);
26591#line 1248
26592  __cil_tmp8 = (void *)0;
26593#line 1248
26594  mISDN_FsmEvent(fi, 9, __cil_tmp8);
26595  }
26596#line 1249
26597  return;
26598}
26599}
26600#line 1252 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
26601static void l2_feed_iqueue(struct FsmInst *fi , int event , void *arg ) 
26602{ struct layer2 *l2 ;
26603  struct sk_buff *skb ;
26604  void *__cil_tmp6 ;
26605  struct sk_buff_head *__cil_tmp7 ;
26606
26607  {
26608  {
26609#line 1254
26610  __cil_tmp6 = fi->userdata;
26611#line 1254
26612  l2 = (struct layer2 *)__cil_tmp6;
26613#line 1255
26614  skb = (struct sk_buff *)arg;
26615#line 1257
26616  __cil_tmp7 = & l2->i_queue;
26617#line 1257
26618  skb_queue_tail(__cil_tmp7, skb);
26619  }
26620#line 1258
26621  return;
26622}
26623}
26624#line 1261 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
26625static void l2_got_iframe(struct FsmInst *fi , int event , void *arg ) 
26626{ struct layer2 *l2 ;
26627  struct sk_buff *skb ;
26628  int PollFlag ;
26629  int i ;
26630  u_int ns ;
26631  u_int nr ;
26632  u_int tmp ;
26633  int tmp___0 ;
26634  int tmp___1 ;
26635  u_int tmp___2 ;
26636  int tmp___3 ;
26637  int tmp___4 ;
26638  int tmp___5 ;
26639  unsigned int tmp___6 ;
26640  __u32 tmp___7 ;
26641  int tmp___8 ;
26642  void *__cil_tmp20 ;
26643  u_long *__cil_tmp21 ;
26644  unsigned long const volatile   *__cil_tmp22 ;
26645  unsigned long __cil_tmp23 ;
26646  unsigned long __cil_tmp24 ;
26647  unsigned char *__cil_tmp25 ;
26648  unsigned char *__cil_tmp26 ;
26649  unsigned char __cil_tmp27 ;
26650  int __cil_tmp28 ;
26651  unsigned long __cil_tmp29 ;
26652  unsigned char *__cil_tmp30 ;
26653  unsigned char *__cil_tmp31 ;
26654  unsigned char __cil_tmp32 ;
26655  int __cil_tmp33 ;
26656  int __cil_tmp34 ;
26657  unsigned long __cil_tmp35 ;
26658  unsigned long __cil_tmp36 ;
26659  unsigned char *__cil_tmp37 ;
26660  unsigned char *__cil_tmp38 ;
26661  unsigned char __cil_tmp39 ;
26662  int __cil_tmp40 ;
26663  int __cil_tmp41 ;
26664  u_int __cil_tmp42 ;
26665  unsigned long __cil_tmp43 ;
26666  unsigned char *__cil_tmp44 ;
26667  unsigned char *__cil_tmp45 ;
26668  unsigned char __cil_tmp46 ;
26669  int __cil_tmp47 ;
26670  unsigned long __cil_tmp48 ;
26671  unsigned char *__cil_tmp49 ;
26672  unsigned char *__cil_tmp50 ;
26673  unsigned char __cil_tmp51 ;
26674  int __cil_tmp52 ;
26675  int __cil_tmp53 ;
26676  u_int __cil_tmp54 ;
26677  unsigned long __cil_tmp55 ;
26678  unsigned char *__cil_tmp56 ;
26679  unsigned char *__cil_tmp57 ;
26680  unsigned char __cil_tmp58 ;
26681  int __cil_tmp59 ;
26682  int __cil_tmp60 ;
26683  u_int __cil_tmp61 ;
26684  u_long *__cil_tmp62 ;
26685  unsigned long const volatile   *__cil_tmp63 ;
26686  u_int __cil_tmp64 ;
26687  u_int __cil_tmp65 ;
26688  u_long *__cil_tmp66 ;
26689  unsigned long const volatile   *__cil_tmp67 ;
26690  u_int __cil_tmp68 ;
26691  u_int __cil_tmp69 ;
26692  u_long *__cil_tmp70 ;
26693  unsigned long volatile   *__cil_tmp71 ;
26694  u_long *__cil_tmp72 ;
26695  unsigned long volatile   *__cil_tmp73 ;
26696  u_long *__cil_tmp74 ;
26697  unsigned long volatile   *__cil_tmp75 ;
26698  u_char __cil_tmp76 ;
26699  u_char __cil_tmp77 ;
26700  u_char __cil_tmp78 ;
26701  int __cil_tmp79 ;
26702  u_char __cil_tmp80 ;
26703  u_long *__cil_tmp81 ;
26704  unsigned long volatile   *__cil_tmp82 ;
26705  u_long *__cil_tmp83 ;
26706  unsigned long const volatile   *__cil_tmp84 ;
26707  int __cil_tmp85 ;
26708  u_int __cil_tmp86 ;
26709  struct FsmTimer *__cil_tmp87 ;
26710  int __cil_tmp88 ;
26711  void *__cil_tmp89 ;
26712  u_int __cil_tmp90 ;
26713  struct sk_buff_head *__cil_tmp91 ;
26714  struct sk_buff_head  const  *__cil_tmp92 ;
26715  int __cil_tmp93 ;
26716  void *__cil_tmp94 ;
26717  u_long *__cil_tmp95 ;
26718  unsigned long volatile   *__cil_tmp96 ;
26719  u_char __cil_tmp97 ;
26720  u_char __cil_tmp98 ;
26721  u_char __cil_tmp99 ;
26722
26723  {
26724  {
26725#line 1263
26726  __cil_tmp20 = fi->userdata;
26727#line 1263
26728  l2 = (struct layer2 *)__cil_tmp20;
26729#line 1264
26730  skb = (struct sk_buff *)arg;
26731#line 1268
26732  tmp = l2addrsize(l2);
26733#line 1268
26734  i = (int )tmp;
26735#line 1269
26736  __cil_tmp21 = & l2->flag;
26737#line 1269
26738  __cil_tmp22 = (unsigned long const volatile   *)__cil_tmp21;
26739#line 1269
26740  tmp___0 = constant_test_bit(3U, __cil_tmp22);
26741  }
26742#line 1269
26743  if (tmp___0 != 0) {
26744#line 1270
26745    __cil_tmp23 = (unsigned long )i;
26746#line 1270
26747    __cil_tmp24 = __cil_tmp23 + 1UL;
26748#line 1270
26749    __cil_tmp25 = skb->data;
26750#line 1270
26751    __cil_tmp26 = __cil_tmp25 + __cil_tmp24;
26752#line 1270
26753    __cil_tmp27 = *__cil_tmp26;
26754#line 1270
26755    __cil_tmp28 = (int )__cil_tmp27;
26756#line 1270
26757    PollFlag = __cil_tmp28 & 1;
26758#line 1271
26759    __cil_tmp29 = (unsigned long )i;
26760#line 1271
26761    __cil_tmp30 = skb->data;
26762#line 1271
26763    __cil_tmp31 = __cil_tmp30 + __cil_tmp29;
26764#line 1271
26765    __cil_tmp32 = *__cil_tmp31;
26766#line 1271
26767    __cil_tmp33 = (int )__cil_tmp32;
26768#line 1271
26769    __cil_tmp34 = __cil_tmp33 >> 1;
26770#line 1271
26771    ns = (u_int )__cil_tmp34;
26772#line 1272
26773    __cil_tmp35 = (unsigned long )i;
26774#line 1272
26775    __cil_tmp36 = __cil_tmp35 + 1UL;
26776#line 1272
26777    __cil_tmp37 = skb->data;
26778#line 1272
26779    __cil_tmp38 = __cil_tmp37 + __cil_tmp36;
26780#line 1272
26781    __cil_tmp39 = *__cil_tmp38;
26782#line 1272
26783    __cil_tmp40 = (int )__cil_tmp39;
26784#line 1272
26785    __cil_tmp41 = __cil_tmp40 >> 1;
26786#line 1272
26787    __cil_tmp42 = (u_int )__cil_tmp41;
26788#line 1272
26789    nr = __cil_tmp42 & 127U;
26790  } else {
26791#line 1274
26792    __cil_tmp43 = (unsigned long )i;
26793#line 1274
26794    __cil_tmp44 = skb->data;
26795#line 1274
26796    __cil_tmp45 = __cil_tmp44 + __cil_tmp43;
26797#line 1274
26798    __cil_tmp46 = *__cil_tmp45;
26799#line 1274
26800    __cil_tmp47 = (int )__cil_tmp46;
26801#line 1274
26802    PollFlag = __cil_tmp47 & 16;
26803#line 1275
26804    __cil_tmp48 = (unsigned long )i;
26805#line 1275
26806    __cil_tmp49 = skb->data;
26807#line 1275
26808    __cil_tmp50 = __cil_tmp49 + __cil_tmp48;
26809#line 1275
26810    __cil_tmp51 = *__cil_tmp50;
26811#line 1275
26812    __cil_tmp52 = (int )__cil_tmp51;
26813#line 1275
26814    __cil_tmp53 = __cil_tmp52 >> 1;
26815#line 1275
26816    __cil_tmp54 = (u_int )__cil_tmp53;
26817#line 1275
26818    ns = __cil_tmp54 & 7U;
26819#line 1276
26820    __cil_tmp55 = (unsigned long )i;
26821#line 1276
26822    __cil_tmp56 = skb->data;
26823#line 1276
26824    __cil_tmp57 = __cil_tmp56 + __cil_tmp55;
26825#line 1276
26826    __cil_tmp58 = *__cil_tmp57;
26827#line 1276
26828    __cil_tmp59 = (int )__cil_tmp58;
26829#line 1276
26830    __cil_tmp60 = __cil_tmp59 >> 5;
26831#line 1276
26832    __cil_tmp61 = (u_int )__cil_tmp60;
26833#line 1276
26834    nr = __cil_tmp61 & 7U;
26835  }
26836  {
26837#line 1278
26838  __cil_tmp62 = & l2->flag;
26839#line 1278
26840  __cil_tmp63 = (unsigned long const volatile   *)__cil_tmp62;
26841#line 1278
26842  tmp___4 = constant_test_bit(9U, __cil_tmp63);
26843  }
26844#line 1278
26845  if (tmp___4 != 0) {
26846    {
26847#line 1279
26848    consume_skb(skb);
26849    }
26850#line 1280
26851    if (PollFlag != 0) {
26852      {
26853#line 1281
26854      enquiry_response(l2);
26855      }
26856    } else {
26857
26858    }
26859  } else {
26860    {
26861#line 1283
26862    __cil_tmp64 = l2->vr;
26863#line 1283
26864    if (__cil_tmp64 == ns) {
26865      {
26866#line 1284
26867      __cil_tmp65 = l2->vr;
26868#line 1284
26869      l2->vr = __cil_tmp65 + 1U;
26870#line 1285
26871      __cil_tmp66 = & l2->flag;
26872#line 1285
26873      __cil_tmp67 = (unsigned long const volatile   *)__cil_tmp66;
26874#line 1285
26875      tmp___1 = constant_test_bit(3U, __cil_tmp67);
26876      }
26877#line 1285
26878      if (tmp___1 != 0) {
26879#line 1286
26880        __cil_tmp68 = l2->vr;
26881#line 1286
26882        l2->vr = __cil_tmp68 & 127U;
26883      } else {
26884#line 1288
26885        __cil_tmp69 = l2->vr;
26886#line 1288
26887        l2->vr = __cil_tmp69 & 7U;
26888      }
26889      {
26890#line 1289
26891      __cil_tmp70 = & l2->flag;
26892#line 1289
26893      __cil_tmp71 = (unsigned long volatile   *)__cil_tmp70;
26894#line 1289
26895      test_and_clear_bit(8, __cil_tmp71);
26896      }
26897#line 1290
26898      if (PollFlag != 0) {
26899        {
26900#line 1291
26901        enquiry_response(l2);
26902        }
26903      } else {
26904        {
26905#line 1293
26906        __cil_tmp72 = & l2->flag;
26907#line 1293
26908        __cil_tmp73 = (unsigned long volatile   *)__cil_tmp72;
26909#line 1293
26910        test_and_set_bit(7, __cil_tmp73);
26911        }
26912      }
26913      {
26914#line 1294
26915      tmp___2 = l2headersize(l2, 0);
26916#line 1294
26917      skb_pull(skb, tmp___2);
26918#line 1295
26919      l2up(l2, 12296U, skb);
26920      }
26921    } else {
26922      {
26923#line 1298
26924      consume_skb(skb);
26925#line 1299
26926      __cil_tmp74 = & l2->flag;
26927#line 1299
26928      __cil_tmp75 = (unsigned long volatile   *)__cil_tmp74;
26929#line 1299
26930      tmp___3 = test_and_set_bit(8, __cil_tmp75);
26931      }
26932#line 1299
26933      if (tmp___3 != 0) {
26934#line 1300
26935        if (PollFlag != 0) {
26936          {
26937#line 1301
26938          enquiry_response(l2);
26939          }
26940        } else {
26941          {
26942#line 1303
26943          __cil_tmp76 = (u_char )9;
26944#line 1303
26945          __cil_tmp77 = (u_char )1;
26946#line 1303
26947          __cil_tmp78 = (u_char )PollFlag;
26948#line 1303
26949          __cil_tmp79 = (int )__cil_tmp78;
26950#line 1303
26951          __cil_tmp80 = (u_char )__cil_tmp79;
26952#line 1303
26953          enquiry_cr(l2, __cil_tmp76, __cil_tmp77, __cil_tmp80);
26954#line 1304
26955          __cil_tmp81 = & l2->flag;
26956#line 1304
26957          __cil_tmp82 = (unsigned long volatile   *)__cil_tmp81;
26958#line 1304
26959          test_and_clear_bit(7, __cil_tmp82);
26960          }
26961        }
26962      } else {
26963
26964      }
26965    }
26966    }
26967  }
26968  {
26969#line 1308
26970  tmp___6 = legalnr(l2, nr);
26971  }
26972#line 1308
26973  if (tmp___6 != 0U) {
26974    {
26975#line 1309
26976    __cil_tmp83 = & l2->flag;
26977#line 1309
26978    __cil_tmp84 = (unsigned long const volatile   *)__cil_tmp83;
26979#line 1309
26980    tmp___5 = constant_test_bit(10U, __cil_tmp84);
26981    }
26982#line 1309
26983    if (tmp___5 == 0) {
26984      {
26985#line 1309
26986      __cil_tmp85 = fi->state;
26987#line 1309
26988      if (__cil_tmp85 == 6) {
26989        {
26990#line 1311
26991        __cil_tmp86 = l2->vs;
26992#line 1311
26993        if (__cil_tmp86 == nr) {
26994          {
26995#line 1312
26996          stop_t200(l2, 13);
26997#line 1313
26998          __cil_tmp87 = & l2->t203;
26999#line 1313
27000          __cil_tmp88 = l2->T203;
27001#line 1313
27002          __cil_tmp89 = (void *)0;
27003#line 1313
27004          mISDN_FsmRestartTimer(__cil_tmp87, __cil_tmp88, 18, __cil_tmp89, 7);
27005          }
27006        } else {
27007          {
27008#line 1315
27009          __cil_tmp90 = l2->va;
27010#line 1315
27011          if (__cil_tmp90 != nr) {
27012            {
27013#line 1316
27014            restart_t200(l2, 14);
27015            }
27016          } else {
27017
27018          }
27019          }
27020        }
27021        }
27022      } else {
27023
27024      }
27025      }
27026    } else {
27027
27028    }
27029    {
27030#line 1318
27031    setva(l2, nr);
27032    }
27033  } else {
27034    {
27035#line 1320
27036    nrerrorrecovery(fi);
27037    }
27038#line 1321
27039    return;
27040  }
27041  {
27042#line 1323
27043  __cil_tmp91 = & l2->i_queue;
27044#line 1323
27045  __cil_tmp92 = (struct sk_buff_head  const  *)__cil_tmp91;
27046#line 1323
27047  tmp___7 = skb_queue_len(__cil_tmp92);
27048  }
27049#line 1323
27050  if (tmp___7 != 0U) {
27051    {
27052#line 1323
27053    __cil_tmp93 = fi->state;
27054#line 1323
27055    if (__cil_tmp93 == 6) {
27056      {
27057#line 1324
27058      __cil_tmp94 = (void *)0;
27059#line 1324
27060      mISDN_FsmEvent(fi, 9, __cil_tmp94);
27061      }
27062    } else {
27063
27064    }
27065    }
27066  } else {
27067
27068  }
27069  {
27070#line 1325
27071  __cil_tmp95 = & l2->flag;
27072#line 1325
27073  __cil_tmp96 = (unsigned long volatile   *)__cil_tmp95;
27074#line 1325
27075  tmp___8 = test_and_clear_bit(7, __cil_tmp96);
27076  }
27077#line 1325
27078  if (tmp___8 != 0) {
27079    {
27080#line 1326
27081    __cil_tmp97 = (u_char )1;
27082#line 1326
27083    __cil_tmp98 = (u_char )1;
27084#line 1326
27085    __cil_tmp99 = (u_char )0;
27086#line 1326
27087    enquiry_cr(l2, __cil_tmp97, __cil_tmp98, __cil_tmp99);
27088    }
27089  } else {
27090
27091  }
27092#line 1327
27093  return;
27094}
27095}
27096#line 1330 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
27097static void l2_got_tei(struct FsmInst *fi , int event , void *arg ) 
27098{ struct layer2 *l2 ;
27099  u_int info ;
27100  __u32 tmp ;
27101  void *__cil_tmp7 ;
27102  long __cil_tmp8 ;
27103  struct mISDNchannel *__cil_tmp9 ;
27104  signed char __cil_tmp10 ;
27105  u_int __cil_tmp11 ;
27106  signed char __cil_tmp12 ;
27107  u_int __cil_tmp13 ;
27108  void *__cil_tmp14 ;
27109  int __cil_tmp15 ;
27110  u_long *__cil_tmp16 ;
27111  unsigned long volatile   *__cil_tmp17 ;
27112  struct sk_buff_head *__cil_tmp18 ;
27113  struct sk_buff_head  const  *__cil_tmp19 ;
27114
27115  {
27116  {
27117#line 1332
27118  __cil_tmp7 = fi->userdata;
27119#line 1332
27120  l2 = (struct layer2 *)__cil_tmp7;
27121#line 1335
27122  __cil_tmp8 = (long )arg;
27123#line 1335
27124  l2->tei = (signed char )__cil_tmp8;
27125#line 1336
27126  __cil_tmp9 = & l2->ch;
27127#line 1336
27128  __cil_tmp10 = l2->sapi;
27129#line 1336
27130  __cil_tmp11 = (u_int )__cil_tmp10;
27131#line 1336
27132  __cil_tmp12 = l2->tei;
27133#line 1336
27134  __cil_tmp13 = (u_int )__cil_tmp12;
27135#line 1336
27136  set_channel_address(__cil_tmp9, __cil_tmp11, __cil_tmp13);
27137#line 1337
27138  info = 1U;
27139#line 1338
27140  __cil_tmp14 = (void *)(& info);
27141#line 1338
27142  l2up_create(l2, 8U, 4, __cil_tmp14);
27143  }
27144  {
27145#line 1339
27146  __cil_tmp15 = fi->state;
27147#line 1339
27148  if (__cil_tmp15 == 2) {
27149    {
27150#line 1340
27151    establishlink(fi);
27152#line 1341
27153    __cil_tmp16 = & l2->flag;
27154#line 1341
27155    __cil_tmp17 = (unsigned long volatile   *)__cil_tmp16;
27156#line 1341
27157    test_and_set_bit(5, __cil_tmp17);
27158    }
27159  } else {
27160    {
27161#line 1343
27162    mISDN_FsmChangeState(fi, 3);
27163    }
27164  }
27165  }
27166  {
27167#line 1344
27168  __cil_tmp18 = & l2->ui_queue;
27169#line 1344
27170  __cil_tmp19 = (struct sk_buff_head  const  *)__cil_tmp18;
27171#line 1344
27172  tmp = skb_queue_len(__cil_tmp19);
27173  }
27174#line 1344
27175  if (tmp != 0U) {
27176    {
27177#line 1345
27178    tx_ui(l2);
27179    }
27180  } else {
27181
27182  }
27183#line 1346
27184  return;
27185}
27186}
27187#line 1349 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
27188static void l2_st5_tout_200(struct FsmInst *fi , int event , void *arg ) 
27189{ struct layer2 *l2 ;
27190  u_int tmp ;
27191  int tmp___0 ;
27192  int tmp___2 ;
27193  int tmp___3 ;
27194  int tmp___4 ;
27195  int tmp___5 ;
27196  void *__cil_tmp11 ;
27197  u_long *__cil_tmp12 ;
27198  unsigned long const volatile   *__cil_tmp13 ;
27199  u_long *__cil_tmp14 ;
27200  unsigned long const volatile   *__cil_tmp15 ;
27201  struct FsmTimer *__cil_tmp16 ;
27202  int __cil_tmp17 ;
27203  void *__cil_tmp18 ;
27204  int __cil_tmp19 ;
27205  int __cil_tmp20 ;
27206  u_long *__cil_tmp21 ;
27207  unsigned long volatile   *__cil_tmp22 ;
27208  struct sk_buff_head *__cil_tmp23 ;
27209  void *__cil_tmp24 ;
27210  u_long *__cil_tmp25 ;
27211  unsigned long const volatile   *__cil_tmp26 ;
27212  void *__cil_tmp27 ;
27213  struct teimgr *__cil_tmp28 ;
27214  unsigned long __cil_tmp29 ;
27215  struct teimgr *__cil_tmp30 ;
27216  unsigned long __cil_tmp31 ;
27217  int __cil_tmp32 ;
27218  struct FsmTimer *__cil_tmp33 ;
27219  int __cil_tmp34 ;
27220  void *__cil_tmp35 ;
27221  u_long *__cil_tmp36 ;
27222  unsigned long const volatile   *__cil_tmp37 ;
27223  struct sk_buff *__cil_tmp38 ;
27224  u_char __cil_tmp39 ;
27225  u_char __cil_tmp40 ;
27226
27227  {
27228  {
27229#line 1351
27230  __cil_tmp11 = fi->userdata;
27231#line 1351
27232  l2 = (struct layer2 *)__cil_tmp11;
27233#line 1353
27234  __cil_tmp12 = & l2->flag;
27235#line 1353
27236  __cil_tmp13 = (unsigned long const volatile   *)__cil_tmp12;
27237#line 1353
27238  tmp___4 = constant_test_bit(1U, __cil_tmp13);
27239  }
27240#line 1353
27241  if (tmp___4 != 0) {
27242    {
27243#line 1353
27244    __cil_tmp14 = & l2->flag;
27245#line 1353
27246    __cil_tmp15 = (unsigned long const volatile   *)__cil_tmp14;
27247#line 1353
27248    tmp___5 = constant_test_bit(11U, __cil_tmp15);
27249    }
27250#line 1353
27251    if (tmp___5 != 0) {
27252      {
27253#line 1355
27254      __cil_tmp16 = & l2->t200;
27255#line 1355
27256      __cil_tmp17 = l2->T200;
27257#line 1355
27258      __cil_tmp18 = (void *)0;
27259#line 1355
27260      mISDN_FsmAddTimer(__cil_tmp16, __cil_tmp17, 17, __cil_tmp18, 9);
27261      }
27262    } else {
27263#line 1353
27264      goto _L;
27265    }
27266  } else {
27267    _L: 
27268    {
27269#line 1356
27270    __cil_tmp19 = l2->N200;
27271#line 1356
27272    __cil_tmp20 = l2->rc;
27273#line 1356
27274    if (__cil_tmp20 == __cil_tmp19) {
27275      {
27276#line 1357
27277      mISDN_FsmChangeState(fi, 3);
27278#line 1358
27279      __cil_tmp21 = & l2->flag;
27280#line 1358
27281      __cil_tmp22 = (unsigned long volatile   *)__cil_tmp21;
27282#line 1358
27283      test_and_clear_bit(6, __cil_tmp22);
27284#line 1359
27285      __cil_tmp23 = & l2->i_queue;
27286#line 1359
27287      skb_queue_purge(__cil_tmp23);
27288#line 1360
27289      __cil_tmp24 = (void *)71;
27290#line 1360
27291      l2mgr(l2, 7940U, __cil_tmp24);
27292#line 1361
27293      __cil_tmp25 = & l2->flag;
27294#line 1361
27295      __cil_tmp26 = (unsigned long const volatile   *)__cil_tmp25;
27296#line 1361
27297      tmp___0 = constant_test_bit(0U, __cil_tmp26);
27298      }
27299#line 1361
27300      if (tmp___0 != 0) {
27301        {
27302#line 1362
27303        tmp = l2_newid(l2);
27304#line 1362
27305        __cil_tmp27 = (void *)0;
27306#line 1362
27307        l2down_create(l2, 513U, tmp, 0, __cil_tmp27);
27308        }
27309      } else {
27310
27311      }
27312      {
27313#line 1364
27314      st5_dl_release_l2l3(l2);
27315      }
27316      {
27317#line 1365
27318      __cil_tmp28 = (struct teimgr *)0;
27319#line 1365
27320      __cil_tmp29 = (unsigned long )__cil_tmp28;
27321#line 1365
27322      __cil_tmp30 = l2->tm;
27323#line 1365
27324      __cil_tmp31 = (unsigned long )__cil_tmp30;
27325#line 1365
27326      if (__cil_tmp31 != __cil_tmp29) {
27327        {
27328#line 1366
27329        l2_tei(l2, 7428U, 0UL);
27330        }
27331      } else {
27332
27333      }
27334      }
27335    } else {
27336      {
27337#line 1368
27338      __cil_tmp32 = l2->rc;
27339#line 1368
27340      l2->rc = __cil_tmp32 + 1;
27341#line 1369
27342      __cil_tmp33 = & l2->t200;
27343#line 1369
27344      __cil_tmp34 = l2->T200;
27345#line 1369
27346      __cil_tmp35 = (void *)0;
27347#line 1369
27348      mISDN_FsmAddTimer(__cil_tmp33, __cil_tmp34, 17, __cil_tmp35, 9);
27349#line 1370
27350      __cil_tmp36 = & l2->flag;
27351#line 1370
27352      __cil_tmp37 = (unsigned long const volatile   *)__cil_tmp36;
27353#line 1370
27354      tmp___3 = constant_test_bit(3U, __cil_tmp37);
27355      }
27356#line 1370
27357      if (tmp___3 != 0) {
27358#line 1370
27359        tmp___2 = 127;
27360      } else {
27361#line 1370
27362        tmp___2 = 63;
27363      }
27364      {
27365#line 1370
27366      __cil_tmp38 = (struct sk_buff *)0;
27367#line 1370
27368      __cil_tmp39 = (u_char )tmp___2;
27369#line 1370
27370      __cil_tmp40 = (u_char )0;
27371#line 1370
27372      send_uframe(l2, __cil_tmp38, __cil_tmp39, __cil_tmp40);
27373      }
27374    }
27375    }
27376  }
27377#line 1372
27378  return;
27379}
27380}
27381#line 1376 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
27382static void l2_st6_tout_200(struct FsmInst *fi , int event , void *arg ) 
27383{ struct layer2 *l2 ;
27384  int tmp ;
27385  int tmp___0 ;
27386  void *__cil_tmp7 ;
27387  u_long *__cil_tmp8 ;
27388  unsigned long const volatile   *__cil_tmp9 ;
27389  u_long *__cil_tmp10 ;
27390  unsigned long const volatile   *__cil_tmp11 ;
27391  struct FsmTimer *__cil_tmp12 ;
27392  int __cil_tmp13 ;
27393  void *__cil_tmp14 ;
27394  int __cil_tmp15 ;
27395  int __cil_tmp16 ;
27396  u_long *__cil_tmp17 ;
27397  unsigned long volatile   *__cil_tmp18 ;
27398  void *__cil_tmp19 ;
27399  struct teimgr *__cil_tmp20 ;
27400  unsigned long __cil_tmp21 ;
27401  struct teimgr *__cil_tmp22 ;
27402  unsigned long __cil_tmp23 ;
27403  int __cil_tmp24 ;
27404  struct FsmTimer *__cil_tmp25 ;
27405  int __cil_tmp26 ;
27406  void *__cil_tmp27 ;
27407  struct sk_buff *__cil_tmp28 ;
27408  u_char __cil_tmp29 ;
27409  u_char __cil_tmp30 ;
27410
27411  {
27412  {
27413#line 1378
27414  __cil_tmp7 = fi->userdata;
27415#line 1378
27416  l2 = (struct layer2 *)__cil_tmp7;
27417#line 1380
27418  __cil_tmp8 = & l2->flag;
27419#line 1380
27420  __cil_tmp9 = (unsigned long const volatile   *)__cil_tmp8;
27421#line 1380
27422  tmp = constant_test_bit(1U, __cil_tmp9);
27423  }
27424#line 1380
27425  if (tmp != 0) {
27426    {
27427#line 1380
27428    __cil_tmp10 = & l2->flag;
27429#line 1380
27430    __cil_tmp11 = (unsigned long const volatile   *)__cil_tmp10;
27431#line 1380
27432    tmp___0 = constant_test_bit(11U, __cil_tmp11);
27433    }
27434#line 1380
27435    if (tmp___0 != 0) {
27436      {
27437#line 1382
27438      __cil_tmp12 = & l2->t200;
27439#line 1382
27440      __cil_tmp13 = l2->T200;
27441#line 1382
27442      __cil_tmp14 = (void *)0;
27443#line 1382
27444      mISDN_FsmAddTimer(__cil_tmp12, __cil_tmp13, 17, __cil_tmp14, 9);
27445      }
27446    } else {
27447#line 1380
27448      goto _L;
27449    }
27450  } else {
27451    _L: 
27452    {
27453#line 1383
27454    __cil_tmp15 = l2->N200;
27455#line 1383
27456    __cil_tmp16 = l2->rc;
27457#line 1383
27458    if (__cil_tmp16 == __cil_tmp15) {
27459      {
27460#line 1384
27461      mISDN_FsmChangeState(fi, 3);
27462#line 1385
27463      __cil_tmp17 = & l2->flag;
27464#line 1385
27465      __cil_tmp18 = (unsigned long volatile   *)__cil_tmp17;
27466#line 1385
27467      test_and_clear_bit(6, __cil_tmp18);
27468#line 1386
27469      __cil_tmp19 = (void *)72;
27470#line 1386
27471      l2mgr(l2, 7940U, __cil_tmp19);
27472#line 1387
27473      lapb_dl_release_l2l3(l2, 20744);
27474      }
27475      {
27476#line 1388
27477      __cil_tmp20 = (struct teimgr *)0;
27478#line 1388
27479      __cil_tmp21 = (unsigned long )__cil_tmp20;
27480#line 1388
27481      __cil_tmp22 = l2->tm;
27482#line 1388
27483      __cil_tmp23 = (unsigned long )__cil_tmp22;
27484#line 1388
27485      if (__cil_tmp23 != __cil_tmp21) {
27486        {
27487#line 1389
27488        l2_tei(l2, 7428U, 0UL);
27489        }
27490      } else {
27491
27492      }
27493      }
27494    } else {
27495      {
27496#line 1391
27497      __cil_tmp24 = l2->rc;
27498#line 1391
27499      l2->rc = __cil_tmp24 + 1;
27500#line 1392
27501      __cil_tmp25 = & l2->t200;
27502#line 1392
27503      __cil_tmp26 = l2->T200;
27504#line 1392
27505      __cil_tmp27 = (void *)0;
27506#line 1392
27507      mISDN_FsmAddTimer(__cil_tmp25, __cil_tmp26, 17, __cil_tmp27, 9);
27508#line 1394
27509      __cil_tmp28 = (struct sk_buff *)0;
27510#line 1394
27511      __cil_tmp29 = (u_char )83;
27512#line 1394
27513      __cil_tmp30 = (u_char )0;
27514#line 1394
27515      send_uframe(l2, __cil_tmp28, __cil_tmp29, __cil_tmp30);
27516      }
27517    }
27518    }
27519  }
27520#line 1396
27521  return;
27522}
27523}
27524#line 1399 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
27525static void l2_st7_tout_200(struct FsmInst *fi , int event , void *arg ) 
27526{ struct layer2 *l2 ;
27527  int tmp ;
27528  int tmp___0 ;
27529  void *__cil_tmp7 ;
27530  u_long *__cil_tmp8 ;
27531  unsigned long const volatile   *__cil_tmp9 ;
27532  u_long *__cil_tmp10 ;
27533  unsigned long const volatile   *__cil_tmp11 ;
27534  struct FsmTimer *__cil_tmp12 ;
27535  int __cil_tmp13 ;
27536  void *__cil_tmp14 ;
27537  u_long *__cil_tmp15 ;
27538  unsigned long volatile   *__cil_tmp16 ;
27539  int __cil_tmp17 ;
27540
27541  {
27542  {
27543#line 1401
27544  __cil_tmp7 = fi->userdata;
27545#line 1401
27546  l2 = (struct layer2 *)__cil_tmp7;
27547#line 1403
27548  __cil_tmp8 = & l2->flag;
27549#line 1403
27550  __cil_tmp9 = (unsigned long const volatile   *)__cil_tmp8;
27551#line 1403
27552  tmp = constant_test_bit(1U, __cil_tmp9);
27553  }
27554#line 1403
27555  if (tmp != 0) {
27556    {
27557#line 1403
27558    __cil_tmp10 = & l2->flag;
27559#line 1403
27560    __cil_tmp11 = (unsigned long const volatile   *)__cil_tmp10;
27561#line 1403
27562    tmp___0 = constant_test_bit(11U, __cil_tmp11);
27563    }
27564#line 1403
27565    if (tmp___0 != 0) {
27566      {
27567#line 1405
27568      __cil_tmp12 = & l2->t200;
27569#line 1405
27570      __cil_tmp13 = l2->T200;
27571#line 1405
27572      __cil_tmp14 = (void *)0;
27573#line 1405
27574      mISDN_FsmAddTimer(__cil_tmp12, __cil_tmp13, 17, __cil_tmp14, 9);
27575      }
27576#line 1406
27577      return;
27578    } else {
27579
27580    }
27581  } else {
27582
27583  }
27584  {
27585#line 1408
27586  __cil_tmp15 = & l2->flag;
27587#line 1408
27588  __cil_tmp16 = (unsigned long volatile   *)__cil_tmp15;
27589#line 1408
27590  test_and_clear_bit(6, __cil_tmp16);
27591#line 1409
27592  l2->rc = 0;
27593#line 1410
27594  mISDN_FsmChangeState(fi, 7);
27595#line 1411
27596  transmit_enquiry(l2);
27597#line 1412
27598  __cil_tmp17 = l2->rc;
27599#line 1412
27600  l2->rc = __cil_tmp17 + 1;
27601  }
27602#line 1413
27603  return;
27604}
27605}
27606#line 1416 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
27607static void l2_st8_tout_200(struct FsmInst *fi , int event , void *arg ) 
27608{ struct layer2 *l2 ;
27609  int tmp ;
27610  int tmp___0 ;
27611  void *__cil_tmp7 ;
27612  u_long *__cil_tmp8 ;
27613  unsigned long const volatile   *__cil_tmp9 ;
27614  u_long *__cil_tmp10 ;
27615  unsigned long const volatile   *__cil_tmp11 ;
27616  struct FsmTimer *__cil_tmp12 ;
27617  int __cil_tmp13 ;
27618  void *__cil_tmp14 ;
27619  u_long *__cil_tmp15 ;
27620  unsigned long volatile   *__cil_tmp16 ;
27621  int __cil_tmp17 ;
27622  int __cil_tmp18 ;
27623  void *__cil_tmp19 ;
27624  u_long *__cil_tmp20 ;
27625  unsigned long volatile   *__cil_tmp21 ;
27626  int __cil_tmp22 ;
27627
27628  {
27629  {
27630#line 1418
27631  __cil_tmp7 = fi->userdata;
27632#line 1418
27633  l2 = (struct layer2 *)__cil_tmp7;
27634#line 1420
27635  __cil_tmp8 = & l2->flag;
27636#line 1420
27637  __cil_tmp9 = (unsigned long const volatile   *)__cil_tmp8;
27638#line 1420
27639  tmp = constant_test_bit(1U, __cil_tmp9);
27640  }
27641#line 1420
27642  if (tmp != 0) {
27643    {
27644#line 1420
27645    __cil_tmp10 = & l2->flag;
27646#line 1420
27647    __cil_tmp11 = (unsigned long const volatile   *)__cil_tmp10;
27648#line 1420
27649    tmp___0 = constant_test_bit(11U, __cil_tmp11);
27650    }
27651#line 1420
27652    if (tmp___0 != 0) {
27653      {
27654#line 1422
27655      __cil_tmp12 = & l2->t200;
27656#line 1422
27657      __cil_tmp13 = l2->T200;
27658#line 1422
27659      __cil_tmp14 = (void *)0;
27660#line 1422
27661      mISDN_FsmAddTimer(__cil_tmp12, __cil_tmp13, 17, __cil_tmp14, 9);
27662      }
27663#line 1423
27664      return;
27665    } else {
27666
27667    }
27668  } else {
27669
27670  }
27671  {
27672#line 1425
27673  __cil_tmp15 = & l2->flag;
27674#line 1425
27675  __cil_tmp16 = (unsigned long volatile   *)__cil_tmp15;
27676#line 1425
27677  test_and_clear_bit(6, __cil_tmp16);
27678  }
27679  {
27680#line 1426
27681  __cil_tmp17 = l2->N200;
27682#line 1426
27683  __cil_tmp18 = l2->rc;
27684#line 1426
27685  if (__cil_tmp18 == __cil_tmp17) {
27686    {
27687#line 1427
27688    __cil_tmp19 = (void *)73;
27689#line 1427
27690    l2mgr(l2, 7940U, __cil_tmp19);
27691#line 1428
27692    establishlink(fi);
27693#line 1429
27694    __cil_tmp20 = & l2->flag;
27695#line 1429
27696    __cil_tmp21 = (unsigned long volatile   *)__cil_tmp20;
27697#line 1429
27698    test_and_clear_bit(5, __cil_tmp21);
27699    }
27700  } else {
27701    {
27702#line 1431
27703    transmit_enquiry(l2);
27704#line 1432
27705    __cil_tmp22 = l2->rc;
27706#line 1432
27707    l2->rc = __cil_tmp22 + 1;
27708    }
27709  }
27710  }
27711#line 1434
27712  return;
27713}
27714}
27715#line 1437 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
27716static void l2_st7_tout_203(struct FsmInst *fi , int event , void *arg ) 
27717{ struct layer2 *l2 ;
27718  int tmp ;
27719  int tmp___0 ;
27720  void *__cil_tmp7 ;
27721  u_long *__cil_tmp8 ;
27722  unsigned long const volatile   *__cil_tmp9 ;
27723  u_long *__cil_tmp10 ;
27724  unsigned long const volatile   *__cil_tmp11 ;
27725  struct FsmTimer *__cil_tmp12 ;
27726  int __cil_tmp13 ;
27727  void *__cil_tmp14 ;
27728
27729  {
27730  {
27731#line 1439
27732  __cil_tmp7 = fi->userdata;
27733#line 1439
27734  l2 = (struct layer2 *)__cil_tmp7;
27735#line 1441
27736  __cil_tmp8 = & l2->flag;
27737#line 1441
27738  __cil_tmp9 = (unsigned long const volatile   *)__cil_tmp8;
27739#line 1441
27740  tmp = constant_test_bit(1U, __cil_tmp9);
27741  }
27742#line 1441
27743  if (tmp != 0) {
27744    {
27745#line 1441
27746    __cil_tmp10 = & l2->flag;
27747#line 1441
27748    __cil_tmp11 = (unsigned long const volatile   *)__cil_tmp10;
27749#line 1441
27750    tmp___0 = constant_test_bit(11U, __cil_tmp11);
27751    }
27752#line 1441
27753    if (tmp___0 != 0) {
27754      {
27755#line 1443
27756      __cil_tmp12 = & l2->t203;
27757#line 1443
27758      __cil_tmp13 = l2->T203;
27759#line 1443
27760      __cil_tmp14 = (void *)0;
27761#line 1443
27762      mISDN_FsmAddTimer(__cil_tmp12, __cil_tmp13, 18, __cil_tmp14, 9);
27763      }
27764#line 1444
27765      return;
27766    } else {
27767
27768    }
27769  } else {
27770
27771  }
27772  {
27773#line 1446
27774  mISDN_FsmChangeState(fi, 7);
27775#line 1447
27776  transmit_enquiry(l2);
27777#line 1448
27778  l2->rc = 0;
27779  }
27780#line 1449
27781  return;
27782}
27783}
27784#line 1452 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
27785static void l2_pull_iqueue(struct FsmInst *fi , int event , void *arg ) 
27786{ struct layer2 *l2 ;
27787  struct sk_buff *skb ;
27788  struct sk_buff *nskb ;
27789  struct sk_buff *oskb ;
27790  u_char header[4U] ;
27791  u_int i ;
27792  u_int p1 ;
27793  unsigned int tmp ;
27794  int tmp___0 ;
27795  int tmp___1 ;
27796  u_int tmp___2 ;
27797  u_int tmp___3 ;
27798  u_int tmp___4 ;
27799  int tmp___5 ;
27800  size_t __len ;
27801  void *__ret ;
27802  unsigned char *tmp___7 ;
27803  size_t __len___0 ;
27804  void *__ret___0 ;
27805  unsigned char *tmp___9 ;
27806  size_t __len___1 ;
27807  void *__ret___1 ;
27808  unsigned char *tmp___11 ;
27809  u_int tmp___12 ;
27810  int tmp___13 ;
27811  void *__cil_tmp29 ;
27812  struct sk_buff_head *__cil_tmp30 ;
27813  struct sk_buff *__cil_tmp31 ;
27814  unsigned long __cil_tmp32 ;
27815  unsigned long __cil_tmp33 ;
27816  u_long *__cil_tmp34 ;
27817  unsigned long const volatile   *__cil_tmp35 ;
27818  u_int __cil_tmp36 ;
27819  u_int __cil_tmp37 ;
27820  u_int __cil_tmp38 ;
27821  u_int __cil_tmp39 ;
27822  u_int __cil_tmp40 ;
27823  u_int __cil_tmp41 ;
27824  u_int __cil_tmp42 ;
27825  u_int __cil_tmp43 ;
27826  u_int __cil_tmp44 ;
27827  struct sk_buff *__cil_tmp45 ;
27828  unsigned long __cil_tmp46 ;
27829  struct sk_buff *__cil_tmp47 ;
27830  unsigned long __cil_tmp48 ;
27831  struct sk_buff *__cil_tmp49 ;
27832  u_char *__cil_tmp50 ;
27833  u_long *__cil_tmp51 ;
27834  unsigned long const volatile   *__cil_tmp52 ;
27835  u_int __cil_tmp53 ;
27836  u_char __cil_tmp54 ;
27837  int __cil_tmp55 ;
27838  int __cil_tmp56 ;
27839  u_int __cil_tmp57 ;
27840  u_char __cil_tmp58 ;
27841  int __cil_tmp59 ;
27842  int __cil_tmp60 ;
27843  u_int __cil_tmp61 ;
27844  u_int __cil_tmp62 ;
27845  u_int __cil_tmp63 ;
27846  u_char __cil_tmp64 ;
27847  int __cil_tmp65 ;
27848  int __cil_tmp66 ;
27849  u_int __cil_tmp67 ;
27850  u_char __cil_tmp68 ;
27851  int __cil_tmp69 ;
27852  int __cil_tmp70 ;
27853  int __cil_tmp71 ;
27854  u_int __cil_tmp72 ;
27855  u_int __cil_tmp73 ;
27856  struct sk_buff  const  *__cil_tmp74 ;
27857  void *__cil_tmp75 ;
27858  void const   *__cil_tmp76 ;
27859  unsigned int __cil_tmp77 ;
27860  unsigned int __cil_tmp78 ;
27861  struct sk_buff *__cil_tmp79 ;
27862  unsigned long __cil_tmp80 ;
27863  unsigned long __cil_tmp81 ;
27864  void *__cil_tmp82 ;
27865  void const   *__cil_tmp83 ;
27866  unsigned int __cil_tmp84 ;
27867  unsigned int __cil_tmp85 ;
27868  void *__cil_tmp86 ;
27869  unsigned char *__cil_tmp87 ;
27870  void const   *__cil_tmp88 ;
27871  u_long *__cil_tmp89 ;
27872  unsigned long volatile   *__cil_tmp90 ;
27873  u_long *__cil_tmp91 ;
27874  unsigned long volatile   *__cil_tmp92 ;
27875  struct FsmTimer *__cil_tmp93 ;
27876  struct FsmTimer *__cil_tmp94 ;
27877  int __cil_tmp95 ;
27878  void *__cil_tmp96 ;
27879
27880  {
27881  {
27882#line 1454
27883  __cil_tmp29 = fi->userdata;
27884#line 1454
27885  l2 = (struct layer2 *)__cil_tmp29;
27886#line 1459
27887  tmp = cansend(l2);
27888  }
27889#line 1459
27890  if (tmp == 0U) {
27891#line 1460
27892    return;
27893  } else {
27894
27895  }
27896  {
27897#line 1462
27898  __cil_tmp30 = & l2->i_queue;
27899#line 1462
27900  skb = skb_dequeue(__cil_tmp30);
27901  }
27902  {
27903#line 1463
27904  __cil_tmp31 = (struct sk_buff *)0;
27905#line 1463
27906  __cil_tmp32 = (unsigned long )__cil_tmp31;
27907#line 1463
27908  __cil_tmp33 = (unsigned long )skb;
27909#line 1463
27910  if (__cil_tmp33 == __cil_tmp32) {
27911#line 1464
27912    return;
27913  } else {
27914
27915  }
27916  }
27917  {
27918#line 1466
27919  __cil_tmp34 = & l2->flag;
27920#line 1466
27921  __cil_tmp35 = (unsigned long const volatile   *)__cil_tmp34;
27922#line 1466
27923  tmp___0 = constant_test_bit(3U, __cil_tmp35);
27924  }
27925#line 1466
27926  if (tmp___0 != 0) {
27927#line 1467
27928    __cil_tmp36 = l2->va;
27929#line 1467
27930    __cil_tmp37 = l2->vs;
27931#line 1467
27932    __cil_tmp38 = __cil_tmp37 - __cil_tmp36;
27933#line 1467
27934    p1 = __cil_tmp38 & 127U;
27935  } else {
27936#line 1469
27937    __cil_tmp39 = l2->va;
27938#line 1469
27939    __cil_tmp40 = l2->vs;
27940#line 1469
27941    __cil_tmp41 = __cil_tmp40 - __cil_tmp39;
27942#line 1469
27943    p1 = __cil_tmp41 & 7U;
27944  }
27945#line 1470
27946  __cil_tmp42 = l2->window;
27947#line 1470
27948  __cil_tmp43 = l2->sow;
27949#line 1470
27950  __cil_tmp44 = __cil_tmp43 + p1;
27951#line 1470
27952  p1 = __cil_tmp44 % __cil_tmp42;
27953  {
27954#line 1471
27955  __cil_tmp45 = (struct sk_buff *)0;
27956#line 1471
27957  __cil_tmp46 = (unsigned long )__cil_tmp45;
27958#line 1471
27959  __cil_tmp47 = l2->windowar[p1];
27960#line 1471
27961  __cil_tmp48 = (unsigned long )__cil_tmp47;
27962#line 1471
27963  if (__cil_tmp48 != __cil_tmp46) {
27964    {
27965#line 1472
27966    printk("<4>isdnl2 try overwrite ack queue entry %d\n", p1);
27967#line 1474
27968    __cil_tmp49 = l2->windowar[p1];
27969#line 1474
27970    consume_skb(__cil_tmp49);
27971    }
27972  } else {
27973
27974  }
27975  }
27976  {
27977#line 1476
27978  l2->windowar[p1] = skb;
27979#line 1477
27980  __cil_tmp50 = (u_char *)(& header);
27981#line 1477
27982  tmp___1 = sethdraddr(l2, __cil_tmp50, 0);
27983#line 1477
27984  i = (u_int )tmp___1;
27985#line 1478
27986  __cil_tmp51 = & l2->flag;
27987#line 1478
27988  __cil_tmp52 = (unsigned long const volatile   *)__cil_tmp51;
27989#line 1478
27990  tmp___5 = constant_test_bit(3U, __cil_tmp52);
27991  }
27992#line 1478
27993  if (tmp___5 != 0) {
27994#line 1479
27995    tmp___2 = i;
27996#line 1479
27997    i = i + 1U;
27998#line 1479
27999    __cil_tmp53 = l2->vs;
28000#line 1479
28001    __cil_tmp54 = (u_char )__cil_tmp53;
28002#line 1479
28003    __cil_tmp55 = (int )__cil_tmp54;
28004#line 1479
28005    __cil_tmp56 = __cil_tmp55 << 1U;
28006#line 1479
28007    header[tmp___2] = (u_char )__cil_tmp56;
28008#line 1480
28009    tmp___3 = i;
28010#line 1480
28011    i = i + 1U;
28012#line 1480
28013    __cil_tmp57 = l2->vr;
28014#line 1480
28015    __cil_tmp58 = (u_char )__cil_tmp57;
28016#line 1480
28017    __cil_tmp59 = (int )__cil_tmp58;
28018#line 1480
28019    __cil_tmp60 = __cil_tmp59 << 1U;
28020#line 1480
28021    header[tmp___3] = (u_char )__cil_tmp60;
28022#line 1481
28023    __cil_tmp61 = l2->vs;
28024#line 1481
28025    __cil_tmp62 = __cil_tmp61 + 1U;
28026#line 1481
28027    l2->vs = __cil_tmp62 & 127U;
28028  } else {
28029#line 1483
28030    tmp___4 = i;
28031#line 1483
28032    i = i + 1U;
28033#line 1483
28034    __cil_tmp63 = l2->vs;
28035#line 1483
28036    __cil_tmp64 = (u_char )__cil_tmp63;
28037#line 1483
28038    __cil_tmp65 = (int )__cil_tmp64;
28039#line 1483
28040    __cil_tmp66 = __cil_tmp65 << 1U;
28041#line 1483
28042    __cil_tmp67 = l2->vr;
28043#line 1483
28044    __cil_tmp68 = (u_char )__cil_tmp67;
28045#line 1483
28046    __cil_tmp69 = (int )__cil_tmp68;
28047#line 1483
28048    __cil_tmp70 = __cil_tmp69 << 5U;
28049#line 1483
28050    __cil_tmp71 = __cil_tmp70 | __cil_tmp66;
28051#line 1483
28052    header[tmp___4] = (u_char )__cil_tmp71;
28053#line 1484
28054    __cil_tmp72 = l2->vs;
28055#line 1484
28056    __cil_tmp73 = __cil_tmp72 + 1U;
28057#line 1484
28058    l2->vs = __cil_tmp73 & 7U;
28059  }
28060  {
28061#line 1487
28062  nskb = skb_clone(skb, 32U);
28063#line 1488
28064  __cil_tmp74 = (struct sk_buff  const  *)nskb;
28065#line 1488
28066  p1 = skb_headroom(__cil_tmp74);
28067  }
28068#line 1489
28069  if (p1 >= i) {
28070    {
28071#line 1490
28072    __len = (size_t )i;
28073#line 1490
28074    tmp___7 = skb_push(nskb, i);
28075#line 1490
28076    __cil_tmp75 = (void *)tmp___7;
28077#line 1490
28078    __cil_tmp76 = (void const   *)(& header);
28079#line 1490
28080    __ret = __builtin_memcpy(__cil_tmp75, __cil_tmp76, __len);
28081    }
28082  } else {
28083    {
28084#line 1492
28085    printk("<4>isdnl2 pull_iqueue skb header(%d/%d) too short\n", i, p1);
28086#line 1494
28087    oskb = nskb;
28088#line 1495
28089    __cil_tmp77 = oskb->len;
28090#line 1495
28091    __cil_tmp78 = __cil_tmp77 + i;
28092#line 1495
28093    nskb = mI_alloc_skb(__cil_tmp78, 32U);
28094    }
28095    {
28096#line 1496
28097    __cil_tmp79 = (struct sk_buff *)0;
28098#line 1496
28099    __cil_tmp80 = (unsigned long )__cil_tmp79;
28100#line 1496
28101    __cil_tmp81 = (unsigned long )nskb;
28102#line 1496
28103    if (__cil_tmp81 == __cil_tmp80) {
28104      {
28105#line 1497
28106      consume_skb(oskb);
28107#line 1498
28108      printk("<4>%s: no skb mem\n", "l2_pull_iqueue");
28109      }
28110#line 1499
28111      return;
28112    } else {
28113
28114    }
28115    }
28116    {
28117#line 1501
28118    __len___0 = (size_t )i;
28119#line 1501
28120    tmp___9 = skb_put(nskb, i);
28121#line 1501
28122    __cil_tmp82 = (void *)tmp___9;
28123#line 1501
28124    __cil_tmp83 = (void const   *)(& header);
28125#line 1501
28126    __ret___0 = __builtin_memcpy(__cil_tmp82, __cil_tmp83, __len___0);
28127#line 1502
28128    __cil_tmp84 = oskb->len;
28129#line 1502
28130    __len___1 = (size_t )__cil_tmp84;
28131#line 1502
28132    __cil_tmp85 = oskb->len;
28133#line 1502
28134    tmp___11 = skb_put(nskb, __cil_tmp85);
28135#line 1502
28136    __cil_tmp86 = (void *)tmp___11;
28137#line 1502
28138    __cil_tmp87 = oskb->data;
28139#line 1502
28140    __cil_tmp88 = (void const   *)__cil_tmp87;
28141#line 1502
28142    __ret___1 = __builtin_memcpy(__cil_tmp86, __cil_tmp88, __len___1);
28143#line 1503
28144    consume_skb(oskb);
28145    }
28146  }
28147  {
28148#line 1505
28149  tmp___12 = l2_newid(l2);
28150#line 1505
28151  l2down(l2, 8193U, tmp___12, nskb);
28152#line 1506
28153  __cil_tmp89 = & l2->flag;
28154#line 1506
28155  __cil_tmp90 = (unsigned long volatile   *)__cil_tmp89;
28156#line 1506
28157  test_and_clear_bit(7, __cil_tmp90);
28158#line 1507
28159  __cil_tmp91 = & l2->flag;
28160#line 1507
28161  __cil_tmp92 = (unsigned long volatile   *)__cil_tmp91;
28162#line 1507
28163  tmp___13 = test_and_set_bit(6, __cil_tmp92);
28164  }
28165#line 1507
28166  if (tmp___13 == 0) {
28167    {
28168#line 1508
28169    __cil_tmp93 = & l2->t203;
28170#line 1508
28171    mISDN_FsmDelTimer(__cil_tmp93, 13);
28172#line 1509
28173    __cil_tmp94 = & l2->t200;
28174#line 1509
28175    __cil_tmp95 = l2->T200;
28176#line 1509
28177    __cil_tmp96 = (void *)0;
28178#line 1509
28179    mISDN_FsmAddTimer(__cil_tmp94, __cil_tmp95, 17, __cil_tmp96, 11);
28180    }
28181  } else {
28182
28183  }
28184#line 1511
28185  return;
28186}
28187}
28188#line 1514 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28189static void l2_st8_got_super(struct FsmInst *fi , int event , void *arg ) 
28190{ struct layer2 *l2 ;
28191  struct sk_buff *skb ;
28192  int PollFlag ;
28193  int rsp ;
28194  int rnr ;
28195  unsigned int nr ;
28196  int tmp ;
28197  u_int tmp___0 ;
28198  int tmp___1 ;
28199  int tmp___2 ;
28200  __u32 tmp___3 ;
28201  unsigned int tmp___4 ;
28202  unsigned int tmp___5 ;
28203  unsigned int tmp___6 ;
28204  void *__cil_tmp18 ;
28205  unsigned char *__cil_tmp19 ;
28206  unsigned char __cil_tmp20 ;
28207  int __cil_tmp21 ;
28208  u_long *__cil_tmp22 ;
28209  unsigned long const volatile   *__cil_tmp23 ;
28210  unsigned char *__cil_tmp24 ;
28211  u_long *__cil_tmp25 ;
28212  unsigned long const volatile   *__cil_tmp26 ;
28213  unsigned char *__cil_tmp27 ;
28214  unsigned char *__cil_tmp28 ;
28215  unsigned char __cil_tmp29 ;
28216  int __cil_tmp30 ;
28217  unsigned char *__cil_tmp31 ;
28218  unsigned char *__cil_tmp32 ;
28219  unsigned char __cil_tmp33 ;
28220  int __cil_tmp34 ;
28221  int __cil_tmp35 ;
28222  unsigned char *__cil_tmp36 ;
28223  unsigned char __cil_tmp37 ;
28224  int __cil_tmp38 ;
28225  unsigned char *__cil_tmp39 ;
28226  unsigned char __cil_tmp40 ;
28227  int __cil_tmp41 ;
28228  int __cil_tmp42 ;
28229  unsigned int __cil_tmp43 ;
28230  struct FsmTimer *__cil_tmp44 ;
28231  int __cil_tmp45 ;
28232  void *__cil_tmp46 ;
28233  struct sk_buff_head *__cil_tmp47 ;
28234  struct sk_buff_head  const  *__cil_tmp48 ;
28235  void *__cil_tmp49 ;
28236
28237  {
28238  {
28239#line 1516
28240  __cil_tmp18 = fi->userdata;
28241#line 1516
28242  l2 = (struct layer2 *)__cil_tmp18;
28243#line 1517
28244  skb = (struct sk_buff *)arg;
28245#line 1518
28246  rnr = 0;
28247#line 1521
28248  __cil_tmp19 = skb->data;
28249#line 1521
28250  __cil_tmp20 = *__cil_tmp19;
28251#line 1521
28252  __cil_tmp21 = (int )__cil_tmp20;
28253#line 1521
28254  rsp = __cil_tmp21 & 2;
28255#line 1522
28256  __cil_tmp22 = & l2->flag;
28257#line 1522
28258  __cil_tmp23 = (unsigned long const volatile   *)__cil_tmp22;
28259#line 1522
28260  tmp = constant_test_bit(2U, __cil_tmp23);
28261  }
28262#line 1522
28263  if (tmp != 0) {
28264#line 1523
28265    rsp = rsp == 0;
28266  } else {
28267
28268  }
28269  {
28270#line 1525
28271  tmp___0 = l2addrsize(l2);
28272#line 1525
28273  skb_pull(skb, tmp___0);
28274#line 1527
28275  __cil_tmp24 = skb->data;
28276#line 1527
28277  tmp___1 = IsRNR(__cil_tmp24, l2);
28278  }
28279#line 1527
28280  if (tmp___1 != 0) {
28281    {
28282#line 1528
28283    set_peer_busy(l2);
28284#line 1529
28285    rnr = 1;
28286    }
28287  } else {
28288    {
28289#line 1531
28290    clear_peer_busy(l2);
28291    }
28292  }
28293  {
28294#line 1533
28295  __cil_tmp25 = & l2->flag;
28296#line 1533
28297  __cil_tmp26 = (unsigned long const volatile   *)__cil_tmp25;
28298#line 1533
28299  tmp___2 = constant_test_bit(3U, __cil_tmp26);
28300  }
28301#line 1533
28302  if (tmp___2 != 0) {
28303#line 1534
28304    __cil_tmp27 = skb->data;
28305#line 1534
28306    __cil_tmp28 = __cil_tmp27 + 1UL;
28307#line 1534
28308    __cil_tmp29 = *__cil_tmp28;
28309#line 1534
28310    __cil_tmp30 = (int )__cil_tmp29;
28311#line 1534
28312    PollFlag = __cil_tmp30 & 1;
28313#line 1535
28314    __cil_tmp31 = skb->data;
28315#line 1535
28316    __cil_tmp32 = __cil_tmp31 + 1UL;
28317#line 1535
28318    __cil_tmp33 = *__cil_tmp32;
28319#line 1535
28320    __cil_tmp34 = (int )__cil_tmp33;
28321#line 1535
28322    __cil_tmp35 = __cil_tmp34 >> 1;
28323#line 1535
28324    nr = (unsigned int )__cil_tmp35;
28325  } else {
28326#line 1537
28327    __cil_tmp36 = skb->data;
28328#line 1537
28329    __cil_tmp37 = *__cil_tmp36;
28330#line 1537
28331    __cil_tmp38 = (int )__cil_tmp37;
28332#line 1537
28333    PollFlag = __cil_tmp38 & 16;
28334#line 1538
28335    __cil_tmp39 = skb->data;
28336#line 1538
28337    __cil_tmp40 = *__cil_tmp39;
28338#line 1538
28339    __cil_tmp41 = (int )__cil_tmp40;
28340#line 1538
28341    __cil_tmp42 = __cil_tmp41 >> 5;
28342#line 1538
28343    __cil_tmp43 = (unsigned int )__cil_tmp42;
28344#line 1538
28345    nr = __cil_tmp43 & 7U;
28346  }
28347  {
28348#line 1540
28349  consume_skb(skb);
28350  }
28351#line 1541
28352  if (rsp != 0) {
28353#line 1541
28354    if (PollFlag != 0) {
28355      {
28356#line 1542
28357      tmp___5 = legalnr(l2, nr);
28358      }
28359#line 1542
28360      if (tmp___5 != 0U) {
28361#line 1543
28362        if (rnr != 0) {
28363          {
28364#line 1544
28365          restart_t200(l2, 15);
28366          }
28367        } else {
28368          {
28369#line 1546
28370          stop_t200(l2, 16);
28371#line 1547
28372          __cil_tmp44 = & l2->t203;
28373#line 1547
28374          __cil_tmp45 = l2->T203;
28375#line 1547
28376          __cil_tmp46 = (void *)0;
28377#line 1547
28378          mISDN_FsmAddTimer(__cil_tmp44, __cil_tmp45, 18, __cil_tmp46, 5);
28379#line 1549
28380          setva(l2, nr);
28381          }
28382        }
28383        {
28384#line 1551
28385        invoke_retransmission(l2, nr);
28386#line 1552
28387        mISDN_FsmChangeState(fi, 6);
28388#line 1553
28389        __cil_tmp47 = & l2->i_queue;
28390#line 1553
28391        __cil_tmp48 = (struct sk_buff_head  const  *)__cil_tmp47;
28392#line 1553
28393        tmp___3 = skb_queue_len(__cil_tmp48);
28394        }
28395#line 1553
28396        if (tmp___3 != 0U) {
28397          {
28398#line 1553
28399          tmp___4 = cansend(l2);
28400          }
28401#line 1553
28402          if (tmp___4 != 0U) {
28403            {
28404#line 1554
28405            __cil_tmp49 = (void *)0;
28406#line 1554
28407            mISDN_FsmEvent(fi, 9, __cil_tmp49);
28408            }
28409          } else {
28410
28411          }
28412        } else {
28413
28414        }
28415      } else {
28416        {
28417#line 1556
28418        nrerrorrecovery(fi);
28419        }
28420      }
28421    } else {
28422#line 1541
28423      goto _L;
28424    }
28425  } else {
28426    _L: 
28427#line 1558
28428    if (rsp == 0) {
28429#line 1558
28430      if (PollFlag != 0) {
28431        {
28432#line 1559
28433        enquiry_response(l2);
28434        }
28435      } else {
28436
28437      }
28438    } else {
28439
28440    }
28441    {
28442#line 1560
28443    tmp___6 = legalnr(l2, nr);
28444    }
28445#line 1560
28446    if (tmp___6 != 0U) {
28447      {
28448#line 1561
28449      setva(l2, nr);
28450      }
28451    } else {
28452      {
28453#line 1563
28454      nrerrorrecovery(fi);
28455      }
28456    }
28457  }
28458#line 1565
28459  return;
28460}
28461}
28462#line 1568 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28463static void l2_got_FRMR(struct FsmInst *fi , int event , void *arg ) 
28464{ struct layer2 *l2 ;
28465  struct sk_buff *skb ;
28466  u_int tmp ;
28467  int tmp___0 ;
28468  void *__cil_tmp8 ;
28469  u_int __cil_tmp9 ;
28470  unsigned char *__cil_tmp10 ;
28471  unsigned char __cil_tmp11 ;
28472  int __cil_tmp12 ;
28473  int __cil_tmp13 ;
28474  void *__cil_tmp14 ;
28475  u_long *__cil_tmp15 ;
28476  unsigned long volatile   *__cil_tmp16 ;
28477  unsigned char *__cil_tmp17 ;
28478  unsigned char __cil_tmp18 ;
28479  int __cil_tmp19 ;
28480  int __cil_tmp20 ;
28481  void *__cil_tmp21 ;
28482  u_long *__cil_tmp22 ;
28483  unsigned long volatile   *__cil_tmp23 ;
28484  unsigned char *__cil_tmp24 ;
28485  int __cil_tmp25 ;
28486  void *__cil_tmp26 ;
28487  u_long *__cil_tmp27 ;
28488  unsigned long volatile   *__cil_tmp28 ;
28489
28490  {
28491  {
28492#line 1570
28493  __cil_tmp8 = fi->userdata;
28494#line 1570
28495  l2 = (struct layer2 *)__cil_tmp8;
28496#line 1571
28497  skb = (struct sk_buff *)arg;
28498#line 1573
28499  tmp = l2addrsize(l2);
28500#line 1573
28501  __cil_tmp9 = tmp + 1U;
28502#line 1573
28503  skb_pull(skb, __cil_tmp9);
28504  }
28505  {
28506#line 1575
28507  __cil_tmp10 = skb->data;
28508#line 1575
28509  __cil_tmp11 = *__cil_tmp10;
28510#line 1575
28511  __cil_tmp12 = (int )__cil_tmp11;
28512#line 1575
28513  __cil_tmp13 = __cil_tmp12 & 1;
28514#line 1575
28515  if (__cil_tmp13 == 0) {
28516    {
28517#line 1577
28518    __cil_tmp14 = (void *)75;
28519#line 1577
28520    l2mgr(l2, 7940U, __cil_tmp14);
28521#line 1578
28522    establishlink(fi);
28523#line 1579
28524    __cil_tmp15 = & l2->flag;
28525#line 1579
28526    __cil_tmp16 = (unsigned long volatile   *)__cil_tmp15;
28527#line 1579
28528    test_and_clear_bit(5, __cil_tmp16);
28529    }
28530  } else {
28531    {
28532#line 1575
28533    __cil_tmp17 = skb->data;
28534#line 1575
28535    __cil_tmp18 = *__cil_tmp17;
28536#line 1575
28537    __cil_tmp19 = (int )__cil_tmp18;
28538#line 1575
28539    __cil_tmp20 = __cil_tmp19 & 3;
28540#line 1575
28541    if (__cil_tmp20 == 1) {
28542      {
28543#line 1577
28544      __cil_tmp21 = (void *)75;
28545#line 1577
28546      l2mgr(l2, 7940U, __cil_tmp21);
28547#line 1578
28548      establishlink(fi);
28549#line 1579
28550      __cil_tmp22 = & l2->flag;
28551#line 1579
28552      __cil_tmp23 = (unsigned long volatile   *)__cil_tmp22;
28553#line 1579
28554      test_and_clear_bit(5, __cil_tmp23);
28555      }
28556    } else {
28557      {
28558#line 1575
28559      __cil_tmp24 = skb->data;
28560#line 1575
28561      tmp___0 = IsUA(__cil_tmp24);
28562      }
28563#line 1575
28564      if (tmp___0 != 0) {
28565        {
28566#line 1575
28567        __cil_tmp25 = fi->state;
28568#line 1575
28569        if (__cil_tmp25 == 6) {
28570          {
28571#line 1577
28572          __cil_tmp26 = (void *)75;
28573#line 1577
28574          l2mgr(l2, 7940U, __cil_tmp26);
28575#line 1578
28576          establishlink(fi);
28577#line 1579
28578          __cil_tmp27 = & l2->flag;
28579#line 1579
28580          __cil_tmp28 = (unsigned long volatile   *)__cil_tmp27;
28581#line 1579
28582          test_and_clear_bit(5, __cil_tmp28);
28583          }
28584        } else {
28585
28586        }
28587        }
28588      } else {
28589
28590      }
28591    }
28592    }
28593  }
28594  }
28595  {
28596#line 1581
28597  consume_skb(skb);
28598  }
28599#line 1582
28600  return;
28601}
28602}
28603#line 1585 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28604static void l2_st24_tei_remove(struct FsmInst *fi , int event , void *arg ) 
28605{ struct layer2 *l2 ;
28606  void *__cil_tmp5 ;
28607  struct sk_buff_head *__cil_tmp6 ;
28608
28609  {
28610  {
28611#line 1587
28612  __cil_tmp5 = fi->userdata;
28613#line 1587
28614  l2 = (struct layer2 *)__cil_tmp5;
28615#line 1589
28616  __cil_tmp6 = & l2->ui_queue;
28617#line 1589
28618  skb_queue_purge(__cil_tmp6);
28619#line 1590
28620  l2->tei = (signed char)127;
28621#line 1591
28622  mISDN_FsmChangeState(fi, 0);
28623  }
28624#line 1592
28625  return;
28626}
28627}
28628#line 1595 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28629static void l2_st3_tei_remove(struct FsmInst *fi , int event , void *arg ) 
28630{ struct layer2 *l2 ;
28631  void *__cil_tmp5 ;
28632  struct sk_buff_head *__cil_tmp6 ;
28633  void *__cil_tmp7 ;
28634
28635  {
28636  {
28637#line 1597
28638  __cil_tmp5 = fi->userdata;
28639#line 1597
28640  l2 = (struct layer2 *)__cil_tmp5;
28641#line 1599
28642  __cil_tmp6 = & l2->ui_queue;
28643#line 1599
28644  skb_queue_purge(__cil_tmp6);
28645#line 1600
28646  l2->tei = (signed char)127;
28647#line 1601
28648  __cil_tmp7 = (void *)0;
28649#line 1601
28650  l2up_create(l2, 4360U, 0, __cil_tmp7);
28651#line 1602
28652  mISDN_FsmChangeState(fi, 0);
28653  }
28654#line 1603
28655  return;
28656}
28657}
28658#line 1606 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28659static void l2_st5_tei_remove(struct FsmInst *fi , int event , void *arg ) 
28660{ struct layer2 *l2 ;
28661  void *__cil_tmp5 ;
28662  struct sk_buff_head *__cil_tmp6 ;
28663  struct sk_buff_head *__cil_tmp7 ;
28664
28665  {
28666  {
28667#line 1608
28668  __cil_tmp5 = fi->userdata;
28669#line 1608
28670  l2 = (struct layer2 *)__cil_tmp5;
28671#line 1610
28672  __cil_tmp6 = & l2->i_queue;
28673#line 1610
28674  skb_queue_purge(__cil_tmp6);
28675#line 1611
28676  __cil_tmp7 = & l2->ui_queue;
28677#line 1611
28678  skb_queue_purge(__cil_tmp7);
28679#line 1612
28680  freewin(l2);
28681#line 1613
28682  l2->tei = (signed char)127;
28683#line 1614
28684  stop_t200(l2, 17);
28685#line 1615
28686  st5_dl_release_l2l3(l2);
28687#line 1616
28688  mISDN_FsmChangeState(fi, 0);
28689  }
28690#line 1617
28691  return;
28692}
28693}
28694#line 1620 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28695static void l2_st6_tei_remove(struct FsmInst *fi , int event , void *arg ) 
28696{ struct layer2 *l2 ;
28697  void *__cil_tmp5 ;
28698  struct sk_buff_head *__cil_tmp6 ;
28699  void *__cil_tmp7 ;
28700
28701  {
28702  {
28703#line 1622
28704  __cil_tmp5 = fi->userdata;
28705#line 1622
28706  l2 = (struct layer2 *)__cil_tmp5;
28707#line 1624
28708  __cil_tmp6 = & l2->ui_queue;
28709#line 1624
28710  skb_queue_purge(__cil_tmp6);
28711#line 1625
28712  l2->tei = (signed char)127;
28713#line 1626
28714  stop_t200(l2, 18);
28715#line 1627
28716  __cil_tmp7 = (void *)0;
28717#line 1627
28718  l2up_create(l2, 4360U, 0, __cil_tmp7);
28719#line 1628
28720  mISDN_FsmChangeState(fi, 0);
28721  }
28722#line 1629
28723  return;
28724}
28725}
28726#line 1632 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28727static void l2_tei_remove(struct FsmInst *fi , int event , void *arg ) 
28728{ struct layer2 *l2 ;
28729  void *__cil_tmp5 ;
28730  struct sk_buff_head *__cil_tmp6 ;
28731  struct sk_buff_head *__cil_tmp7 ;
28732  struct FsmTimer *__cil_tmp8 ;
28733  void *__cil_tmp9 ;
28734
28735  {
28736  {
28737#line 1634
28738  __cil_tmp5 = fi->userdata;
28739#line 1634
28740  l2 = (struct layer2 *)__cil_tmp5;
28741#line 1636
28742  __cil_tmp6 = & l2->i_queue;
28743#line 1636
28744  skb_queue_purge(__cil_tmp6);
28745#line 1637
28746  __cil_tmp7 = & l2->ui_queue;
28747#line 1637
28748  skb_queue_purge(__cil_tmp7);
28749#line 1638
28750  freewin(l2);
28751#line 1639
28752  l2->tei = (signed char)127;
28753#line 1640
28754  stop_t200(l2, 17);
28755#line 1641
28756  __cil_tmp8 = & l2->t203;
28757#line 1641
28758  mISDN_FsmDelTimer(__cil_tmp8, 19);
28759#line 1642
28760  __cil_tmp9 = (void *)0;
28761#line 1642
28762  l2up_create(l2, 4360U, 0, __cil_tmp9);
28763#line 1647
28764  mISDN_FsmChangeState(fi, 0);
28765  }
28766#line 1648
28767  return;
28768}
28769}
28770#line 1651 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28771static void l2_st14_persistent_da(struct FsmInst *fi , int event , void *arg ) 
28772{ struct layer2 *l2 ;
28773  struct sk_buff *skb ;
28774  int tmp ;
28775  void *__cil_tmp7 ;
28776  struct sk_buff_head *__cil_tmp8 ;
28777  struct sk_buff_head *__cil_tmp9 ;
28778  u_long *__cil_tmp10 ;
28779  unsigned long volatile   *__cil_tmp11 ;
28780
28781  {
28782  {
28783#line 1653
28784  __cil_tmp7 = fi->userdata;
28785#line 1653
28786  l2 = (struct layer2 *)__cil_tmp7;
28787#line 1654
28788  skb = (struct sk_buff *)arg;
28789#line 1656
28790  __cil_tmp8 = & l2->i_queue;
28791#line 1656
28792  skb_queue_purge(__cil_tmp8);
28793#line 1657
28794  __cil_tmp9 = & l2->ui_queue;
28795#line 1657
28796  skb_queue_purge(__cil_tmp9);
28797#line 1658
28798  __cil_tmp10 = & l2->flag;
28799#line 1658
28800  __cil_tmp11 = (unsigned long volatile   *)__cil_tmp10;
28801#line 1658
28802  tmp = test_and_clear_bit(13, __cil_tmp11);
28803  }
28804#line 1658
28805  if (tmp != 0) {
28806    {
28807#line 1659
28808    l2up(l2, 4360U, skb);
28809    }
28810  } else {
28811    {
28812#line 1661
28813    consume_skb(skb);
28814    }
28815  }
28816#line 1662
28817  return;
28818}
28819}
28820#line 1665 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28821static void l2_st5_persistent_da(struct FsmInst *fi , int event , void *arg ) 
28822{ struct layer2 *l2 ;
28823  struct sk_buff *skb ;
28824  void *__cil_tmp6 ;
28825  struct sk_buff_head *__cil_tmp7 ;
28826  struct sk_buff_head *__cil_tmp8 ;
28827  struct teimgr *__cil_tmp9 ;
28828  unsigned long __cil_tmp10 ;
28829  struct teimgr *__cil_tmp11 ;
28830  unsigned long __cil_tmp12 ;
28831
28832  {
28833  {
28834#line 1667
28835  __cil_tmp6 = fi->userdata;
28836#line 1667
28837  l2 = (struct layer2 *)__cil_tmp6;
28838#line 1668
28839  skb = (struct sk_buff *)arg;
28840#line 1670
28841  __cil_tmp7 = & l2->i_queue;
28842#line 1670
28843  skb_queue_purge(__cil_tmp7);
28844#line 1671
28845  __cil_tmp8 = & l2->ui_queue;
28846#line 1671
28847  skb_queue_purge(__cil_tmp8);
28848#line 1672
28849  freewin(l2);
28850#line 1673
28851  stop_t200(l2, 19);
28852#line 1674
28853  st5_dl_release_l2l3(l2);
28854#line 1675
28855  mISDN_FsmChangeState(fi, 3);
28856  }
28857  {
28858#line 1676
28859  __cil_tmp9 = (struct teimgr *)0;
28860#line 1676
28861  __cil_tmp10 = (unsigned long )__cil_tmp9;
28862#line 1676
28863  __cil_tmp11 = l2->tm;
28864#line 1676
28865  __cil_tmp12 = (unsigned long )__cil_tmp11;
28866#line 1676
28867  if (__cil_tmp12 != __cil_tmp10) {
28868    {
28869#line 1677
28870    l2_tei(l2, 7428U, 0UL);
28871    }
28872  } else {
28873
28874  }
28875  }
28876  {
28877#line 1678
28878  consume_skb(skb);
28879  }
28880#line 1679
28881  return;
28882}
28883}
28884#line 1682 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28885static void l2_st6_persistent_da(struct FsmInst *fi , int event , void *arg ) 
28886{ struct layer2 *l2 ;
28887  struct sk_buff *skb ;
28888  void *__cil_tmp6 ;
28889  struct sk_buff_head *__cil_tmp7 ;
28890  struct teimgr *__cil_tmp8 ;
28891  unsigned long __cil_tmp9 ;
28892  struct teimgr *__cil_tmp10 ;
28893  unsigned long __cil_tmp11 ;
28894
28895  {
28896  {
28897#line 1684
28898  __cil_tmp6 = fi->userdata;
28899#line 1684
28900  l2 = (struct layer2 *)__cil_tmp6;
28901#line 1685
28902  skb = (struct sk_buff *)arg;
28903#line 1687
28904  __cil_tmp7 = & l2->ui_queue;
28905#line 1687
28906  skb_queue_purge(__cil_tmp7);
28907#line 1688
28908  stop_t200(l2, 20);
28909#line 1689
28910  l2up(l2, 20744U, skb);
28911#line 1690
28912  mISDN_FsmChangeState(fi, 3);
28913  }
28914  {
28915#line 1691
28916  __cil_tmp8 = (struct teimgr *)0;
28917#line 1691
28918  __cil_tmp9 = (unsigned long )__cil_tmp8;
28919#line 1691
28920  __cil_tmp10 = l2->tm;
28921#line 1691
28922  __cil_tmp11 = (unsigned long )__cil_tmp10;
28923#line 1691
28924  if (__cil_tmp11 != __cil_tmp9) {
28925    {
28926#line 1692
28927    l2_tei(l2, 7428U, 0UL);
28928    }
28929  } else {
28930
28931  }
28932  }
28933#line 1693
28934  return;
28935}
28936}
28937#line 1696 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
28938static void l2_persistent_da(struct FsmInst *fi , int event , void *arg ) 
28939{ struct layer2 *l2 ;
28940  struct sk_buff *skb ;
28941  void *__cil_tmp6 ;
28942  struct sk_buff_head *__cil_tmp7 ;
28943  struct sk_buff_head *__cil_tmp8 ;
28944  struct FsmTimer *__cil_tmp9 ;
28945  struct teimgr *__cil_tmp10 ;
28946  unsigned long __cil_tmp11 ;
28947  struct teimgr *__cil_tmp12 ;
28948  unsigned long __cil_tmp13 ;
28949
28950  {
28951  {
28952#line 1698
28953  __cil_tmp6 = fi->userdata;
28954#line 1698
28955  l2 = (struct layer2 *)__cil_tmp6;
28956#line 1699
28957  skb = (struct sk_buff *)arg;
28958#line 1701
28959  __cil_tmp7 = & l2->i_queue;
28960#line 1701
28961  skb_queue_purge(__cil_tmp7);
28962#line 1702
28963  __cil_tmp8 = & l2->ui_queue;
28964#line 1702
28965  skb_queue_purge(__cil_tmp8);
28966#line 1703
28967  freewin(l2);
28968#line 1704
28969  stop_t200(l2, 19);
28970#line 1705
28971  __cil_tmp9 = & l2->t203;
28972#line 1705
28973  mISDN_FsmDelTimer(__cil_tmp9, 19);
28974#line 1706
28975  l2up(l2, 4360U, skb);
28976#line 1707
28977  mISDN_FsmChangeState(fi, 3);
28978  }
28979  {
28980#line 1708
28981  __cil_tmp10 = (struct teimgr *)0;
28982#line 1708
28983  __cil_tmp11 = (unsigned long )__cil_tmp10;
28984#line 1708
28985  __cil_tmp12 = l2->tm;
28986#line 1708
28987  __cil_tmp13 = (unsigned long )__cil_tmp12;
28988#line 1708
28989  if (__cil_tmp13 != __cil_tmp11) {
28990    {
28991#line 1709
28992    l2_tei(l2, 7428U, 0UL);
28993    }
28994  } else {
28995
28996  }
28997  }
28998#line 1710
28999  return;
29000}
29001}
29002#line 1713 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
29003static void l2_set_own_busy(struct FsmInst *fi , int event , void *arg ) 
29004{ struct layer2 *l2 ;
29005  struct sk_buff *skb ;
29006  int tmp ;
29007  void *__cil_tmp7 ;
29008  u_long *__cil_tmp8 ;
29009  unsigned long volatile   *__cil_tmp9 ;
29010  u_char __cil_tmp10 ;
29011  u_char __cil_tmp11 ;
29012  u_char __cil_tmp12 ;
29013  u_long *__cil_tmp13 ;
29014  unsigned long volatile   *__cil_tmp14 ;
29015  struct sk_buff *__cil_tmp15 ;
29016  unsigned long __cil_tmp16 ;
29017  unsigned long __cil_tmp17 ;
29018
29019  {
29020  {
29021#line 1715
29022  __cil_tmp7 = fi->userdata;
29023#line 1715
29024  l2 = (struct layer2 *)__cil_tmp7;
29025#line 1716
29026  skb = (struct sk_buff *)arg;
29027#line 1718
29028  __cil_tmp8 = & l2->flag;
29029#line 1718
29030  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
29031#line 1718
29032  tmp = test_and_set_bit(9, __cil_tmp9);
29033  }
29034#line 1718
29035  if (tmp == 0) {
29036    {
29037#line 1719
29038    __cil_tmp10 = (u_char )5;
29039#line 1719
29040    __cil_tmp11 = (u_char )1;
29041#line 1719
29042    __cil_tmp12 = (u_char )0;
29043#line 1719
29044    enquiry_cr(l2, __cil_tmp10, __cil_tmp11, __cil_tmp12);
29045#line 1720
29046    __cil_tmp13 = & l2->flag;
29047#line 1720
29048    __cil_tmp14 = (unsigned long volatile   *)__cil_tmp13;
29049#line 1720
29050    test_and_clear_bit(7, __cil_tmp14);
29051    }
29052  } else {
29053
29054  }
29055  {
29056#line 1722
29057  __cil_tmp15 = (struct sk_buff *)0;
29058#line 1722
29059  __cil_tmp16 = (unsigned long )__cil_tmp15;
29060#line 1722
29061  __cil_tmp17 = (unsigned long )skb;
29062#line 1722
29063  if (__cil_tmp17 != __cil_tmp16) {
29064    {
29065#line 1723
29066    consume_skb(skb);
29067    }
29068  } else {
29069
29070  }
29071  }
29072#line 1724
29073  return;
29074}
29075}
29076#line 1727 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
29077static void l2_clear_own_busy(struct FsmInst *fi , int event , void *arg ) 
29078{ struct layer2 *l2 ;
29079  struct sk_buff *skb ;
29080  int tmp ;
29081  void *__cil_tmp7 ;
29082  u_long *__cil_tmp8 ;
29083  unsigned long volatile   *__cil_tmp9 ;
29084  u_char __cil_tmp10 ;
29085  u_char __cil_tmp11 ;
29086  u_char __cil_tmp12 ;
29087  u_long *__cil_tmp13 ;
29088  unsigned long volatile   *__cil_tmp14 ;
29089  struct sk_buff *__cil_tmp15 ;
29090  unsigned long __cil_tmp16 ;
29091  unsigned long __cil_tmp17 ;
29092
29093  {
29094  {
29095#line 1729
29096  __cil_tmp7 = fi->userdata;
29097#line 1729
29098  l2 = (struct layer2 *)__cil_tmp7;
29099#line 1730
29100  skb = (struct sk_buff *)arg;
29101#line 1732
29102  __cil_tmp8 = & l2->flag;
29103#line 1732
29104  __cil_tmp9 = (unsigned long volatile   *)__cil_tmp8;
29105#line 1732
29106  tmp = test_and_clear_bit(9, __cil_tmp9);
29107  }
29108#line 1732
29109  if (tmp == 0) {
29110    {
29111#line 1733
29112    __cil_tmp10 = (u_char )1;
29113#line 1733
29114    __cil_tmp11 = (u_char )1;
29115#line 1733
29116    __cil_tmp12 = (u_char )0;
29117#line 1733
29118    enquiry_cr(l2, __cil_tmp10, __cil_tmp11, __cil_tmp12);
29119#line 1734
29120    __cil_tmp13 = & l2->flag;
29121#line 1734
29122    __cil_tmp14 = (unsigned long volatile   *)__cil_tmp13;
29123#line 1734
29124    test_and_clear_bit(7, __cil_tmp14);
29125    }
29126  } else {
29127
29128  }
29129  {
29130#line 1736
29131  __cil_tmp15 = (struct sk_buff *)0;
29132#line 1736
29133  __cil_tmp16 = (unsigned long )__cil_tmp15;
29134#line 1736
29135  __cil_tmp17 = (unsigned long )skb;
29136#line 1736
29137  if (__cil_tmp17 != __cil_tmp16) {
29138    {
29139#line 1737
29140    consume_skb(skb);
29141    }
29142  } else {
29143
29144  }
29145  }
29146#line 1738
29147  return;
29148}
29149}
29150#line 1741 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
29151static void l2_frame_error(struct FsmInst *fi , int event , void *arg ) 
29152{ struct layer2 *l2 ;
29153  void *__cil_tmp5 ;
29154
29155  {
29156  {
29157#line 1743
29158  __cil_tmp5 = fi->userdata;
29159#line 1743
29160  l2 = (struct layer2 *)__cil_tmp5;
29161#line 1745
29162  l2mgr(l2, 7940U, arg);
29163  }
29164#line 1746
29165  return;
29166}
29167}
29168#line 1749 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
29169static void l2_frame_error_reest(struct FsmInst *fi , int event , void *arg ) 
29170{ struct layer2 *l2 ;
29171  void *__cil_tmp5 ;
29172  u_long *__cil_tmp6 ;
29173  unsigned long volatile   *__cil_tmp7 ;
29174
29175  {
29176  {
29177#line 1751
29178  __cil_tmp5 = fi->userdata;
29179#line 1751
29180  l2 = (struct layer2 *)__cil_tmp5;
29181#line 1753
29182  l2mgr(l2, 7940U, arg);
29183#line 1754
29184  establishlink(fi);
29185#line 1755
29186  __cil_tmp6 = & l2->flag;
29187#line 1755
29188  __cil_tmp7 = (unsigned long volatile   *)__cil_tmp6;
29189#line 1755
29190  test_and_clear_bit(5, __cil_tmp7);
29191  }
29192#line 1756
29193  return;
29194}
29195}
29196#line 1758 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
29197static struct FsmNode L2FnList[88U]  = 
29198#line 1758
29199  {      {0, 11, & l2_mdl_assign}, 
29200        {1, 11, & l2_go_st3}, 
29201        {3, 11, & l2_establish}, 
29202        {4, 11, & l2_discard_i_setl3}, 
29203        {6, 11, & l2_l3_reestablish}, 
29204        {7, 11, & l2_l3_reestablish}, 
29205        {3, 12, & l2_release}, 
29206        {4, 12, & l2_pend_rel}, 
29207        {6, 12, & l2_disconnect}, 
29208        {7, 12, & l2_disconnect}, 
29209        {4, 8, & l2_feed_i_if_reest}, 
29210        {6, 8, & l2_feed_i_pull}, 
29211        {7, 8, & l2_feed_iqueue}, 
29212        {0, 10, & l2_queue_ui_assign}, 
29213        {1, 10, & l2_queue_ui}, 
29214        {2, 10, & l2_queue_ui}, 
29215        {3, 10, & l2_send_ui}, 
29216        {4, 10, & l2_send_ui}, 
29217        {5, 10, & l2_send_ui}, 
29218        {6, 10, & l2_send_ui}, 
29219        {7, 10, & l2_send_ui}, 
29220        {0, 13, & l2_got_tei}, 
29221        {1, 13, & l2_got_tei}, 
29222        {2, 13, & l2_got_tei}, 
29223        {1, 15, & l2_st24_tei_remove}, 
29224        {2, 15, & l2_st3_tei_remove}, 
29225        {3, 14, & l2_st24_tei_remove}, 
29226        {4, 14, & l2_st5_tei_remove}, 
29227        {5, 14, & l2_st6_tei_remove}, 
29228        {6, 14, & l2_tei_remove}, 
29229        {7, 14, & l2_tei_remove}, 
29230        {3, 1, & l2_start_multi}, 
29231        {4, 1, & l2_send_UA}, 
29232        {5, 1, & l2_send_DM}, 
29233        {6, 1, & l2_restart_multi}, 
29234        {7, 1, & l2_restart_multi}, 
29235        {3, 2, & l2_send_DM}, 
29236        {4, 2, & l2_send_DM}, 
29237        {5, 2, & l2_send_UA}, 
29238        {6, 2, & l2_stop_multi}, 
29239        {7, 2, & l2_stop_multi}, 
29240        {3, 4, & l2_mdl_error_ua}, 
29241        {4, 4, & l2_connected}, 
29242        {5, 4, & l2_released}, 
29243        {6, 4, & l2_mdl_error_ua}, 
29244        {7, 4, & l2_mdl_error_ua}, 
29245        {3, 3, & l2_reestablish}, 
29246        {4, 3, & l2_st5_dm_release}, 
29247        {5, 3, & l2_st6_dm_release}, 
29248        {6, 3, & l2_mdl_error_dm}, 
29249        {7, 3, & l2_st8_mdl_error_dm}, 
29250        {0, 0, & l2_got_ui}, 
29251        {1, 0, & l2_got_ui}, 
29252        {2, 0, & l2_got_ui}, 
29253        {3, 0, & l2_got_ui}, 
29254        {4, 0, & l2_got_ui}, 
29255        {5, 0, & l2_got_ui}, 
29256        {6, 0, & l2_got_ui}, 
29257        {7, 0, & l2_got_ui}, 
29258        {6, 5, & l2_got_FRMR}, 
29259        {7, 5, & l2_got_FRMR}, 
29260        {6, 6, & l2_st7_got_super}, 
29261        {7, 6, & l2_st8_got_super}, 
29262        {6, 7, & l2_got_iframe}, 
29263        {7, 7, & l2_got_iframe}, 
29264        {4, 17, & l2_st5_tout_200}, 
29265        {5, 17, & l2_st6_tout_200}, 
29266        {6, 17, & l2_st7_tout_200}, 
29267        {7, 17, & l2_st8_tout_200}, 
29268        {6, 18, & l2_st7_tout_203}, 
29269        {6, 9, & l2_pull_iqueue}, 
29270        {6, 19, & l2_set_own_busy}, 
29271        {7, 19, & l2_set_own_busy}, 
29272        {6, 20, & l2_clear_own_busy}, 
29273        {7, 20, & l2_clear_own_busy}, 
29274        {3, 21, & l2_frame_error}, 
29275        {4, 21, & l2_frame_error}, 
29276        {5, 21, & l2_frame_error}, 
29277        {6, 21, & l2_frame_error_reest}, 
29278        {7, 21, & l2_frame_error_reest}, 
29279        {0, 16, & l2_st14_persistent_da}, 
29280        {1, 16, & l2_st24_tei_remove}, 
29281        {2, 16, & l2_st3_tei_remove}, 
29282        {3, 16, & l2_st14_persistent_da}, 
29283        {4, 16, & l2_st5_persistent_da}, 
29284        {5, 16, & l2_st6_persistent_da}, 
29285        {6, 16, & l2_persistent_da}, 
29286        {7, 16, & l2_persistent_da}};
29287#line 1851 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
29288static int ph_data_indication(struct layer2 *l2 , struct mISDNhead *hh , struct sk_buff *skb ) 
29289{ u_char *datap ;
29290  int ret ;
29291  int psapi ;
29292  int ptei ;
29293  u_int l ;
29294  int c ;
29295  u_char *tmp ;
29296  u_char *tmp___0 ;
29297  int tmp___1 ;
29298  int tmp___2 ;
29299  int tmp___3 ;
29300  int tmp___4 ;
29301  int tmp___5 ;
29302  int tmp___6 ;
29303  int tmp___7 ;
29304  int tmp___8 ;
29305  unsigned int __cil_tmp20 ;
29306  struct FsmInst *__cil_tmp21 ;
29307  void *__cil_tmp22 ;
29308  u_long *__cil_tmp23 ;
29309  unsigned long const volatile   *__cil_tmp24 ;
29310  u_char __cil_tmp25 ;
29311  u_char __cil_tmp26 ;
29312  int __cil_tmp27 ;
29313  signed char __cil_tmp28 ;
29314  int __cil_tmp29 ;
29315  u_int __cil_tmp30 ;
29316  unsigned int __cil_tmp31 ;
29317  signed char __cil_tmp32 ;
29318  int __cil_tmp33 ;
29319  signed char __cil_tmp34 ;
29320  int __cil_tmp35 ;
29321  u_int __cil_tmp36 ;
29322  unsigned int __cil_tmp37 ;
29323  signed char __cil_tmp38 ;
29324  int __cil_tmp39 ;
29325  unsigned long __cil_tmp40 ;
29326  u_char __cil_tmp41 ;
29327  int __cil_tmp42 ;
29328  int __cil_tmp43 ;
29329  struct FsmInst *__cil_tmp44 ;
29330  void *__cil_tmp45 ;
29331  struct FsmInst *__cil_tmp46 ;
29332  void *__cil_tmp47 ;
29333  struct FsmInst *__cil_tmp48 ;
29334  void *__cil_tmp49 ;
29335  struct FsmInst *__cil_tmp50 ;
29336  void *__cil_tmp51 ;
29337  struct FsmInst *__cil_tmp52 ;
29338  void *__cil_tmp53 ;
29339  struct FsmInst *__cil_tmp54 ;
29340  void *__cil_tmp55 ;
29341  struct FsmInst *__cil_tmp56 ;
29342  void *__cil_tmp57 ;
29343  struct FsmInst *__cil_tmp58 ;
29344  void *__cil_tmp59 ;
29345  struct FsmInst *__cil_tmp60 ;
29346  long __cil_tmp61 ;
29347  void *__cil_tmp62 ;
29348
29349  {
29350  {
29351#line 1853
29352  datap = skb->data;
29353#line 1854
29354  ret = -22;
29355#line 1857
29356  c = 0;
29357#line 1859
29358  l = l2addrsize(l2);
29359  }
29360  {
29361#line 1860
29362  __cil_tmp20 = skb->len;
29363#line 1860
29364  if (__cil_tmp20 <= l) {
29365    {
29366#line 1861
29367    __cil_tmp21 = & l2->l2m;
29368#line 1861
29369    __cil_tmp22 = (void *)78;
29370#line 1861
29371    mISDN_FsmEvent(__cil_tmp21, 21, __cil_tmp22);
29372    }
29373#line 1862
29374    return (ret);
29375  } else {
29376
29377  }
29378  }
29379  {
29380#line 1864
29381  __cil_tmp23 = & l2->flag;
29382#line 1864
29383  __cil_tmp24 = (unsigned long const volatile   *)__cil_tmp23;
29384#line 1864
29385  tmp___1 = constant_test_bit(1U, __cil_tmp24);
29386  }
29387#line 1864
29388  if (tmp___1 != 0) {
29389#line 1865
29390    tmp = datap;
29391#line 1865
29392    datap = datap + 1;
29393#line 1865
29394    __cil_tmp25 = *tmp;
29395#line 1865
29396    psapi = (int )__cil_tmp25;
29397#line 1866
29398    tmp___0 = datap;
29399#line 1866
29400    datap = datap + 1;
29401#line 1866
29402    __cil_tmp26 = *tmp___0;
29403#line 1866
29404    ptei = (int )__cil_tmp26;
29405#line 1867
29406    if (psapi & 1) {
29407      {
29408#line 1868
29409      printk("<4>l2 D-channel frame wrong EA0/EA1\n");
29410      }
29411#line 1870
29412      return (ret);
29413    } else {
29414      {
29415#line 1867
29416      __cil_tmp27 = ptei & 1;
29417#line 1867
29418      if (__cil_tmp27 == 0) {
29419        {
29420#line 1868
29421        printk("<4>l2 D-channel frame wrong EA0/EA1\n");
29422        }
29423#line 1870
29424        return (ret);
29425      } else {
29426
29427      }
29428      }
29429    }
29430#line 1872
29431    psapi = psapi >> 2;
29432#line 1873
29433    ptei = ptei >> 1;
29434    {
29435#line 1874
29436    __cil_tmp28 = l2->sapi;
29437#line 1874
29438    __cil_tmp29 = (int )__cil_tmp28;
29439#line 1874
29440    if (__cil_tmp29 != psapi) {
29441      {
29442#line 1876
29443      __cil_tmp30 = *debug___4;
29444#line 1876
29445      __cil_tmp31 = __cil_tmp30 & 16711680U;
29446#line 1876
29447      if (__cil_tmp31 != 0U) {
29448        {
29449#line 1877
29450        __cil_tmp32 = l2->sapi;
29451#line 1877
29452        __cil_tmp33 = (int )__cil_tmp32;
29453#line 1877
29454        printk("<7>%s: sapi %d/%d mismatch\n", "ph_data_indication", psapi, __cil_tmp33);
29455        }
29456      } else {
29457
29458      }
29459      }
29460      {
29461#line 1879
29462      consume_skb(skb);
29463      }
29464#line 1880
29465      return (0);
29466    } else {
29467
29468    }
29469    }
29470    {
29471#line 1882
29472    __cil_tmp34 = l2->tei;
29473#line 1882
29474    __cil_tmp35 = (int )__cil_tmp34;
29475#line 1882
29476    if (__cil_tmp35 != ptei) {
29477#line 1882
29478      if (ptei != 127) {
29479        {
29480#line 1884
29481        __cil_tmp36 = *debug___4;
29482#line 1884
29483        __cil_tmp37 = __cil_tmp36 & 16711680U;
29484#line 1884
29485        if (__cil_tmp37 != 0U) {
29486          {
29487#line 1885
29488          __cil_tmp38 = l2->tei;
29489#line 1885
29490          __cil_tmp39 = (int )__cil_tmp38;
29491#line 1885
29492          printk("<7>%s: tei %d/%d mismatch\n", "ph_data_indication", ptei, __cil_tmp39);
29493          }
29494        } else {
29495
29496        }
29497        }
29498        {
29499#line 1887
29500        consume_skb(skb);
29501        }
29502#line 1888
29503        return (0);
29504      } else {
29505
29506      }
29507    } else {
29508
29509    }
29510    }
29511  } else {
29512#line 1891
29513    __cil_tmp40 = (unsigned long )l;
29514#line 1891
29515    datap = datap + __cil_tmp40;
29516  }
29517  {
29518#line 1892
29519  __cil_tmp41 = *datap;
29520#line 1892
29521  __cil_tmp42 = (int )__cil_tmp41;
29522#line 1892
29523  __cil_tmp43 = __cil_tmp42 & 1;
29524#line 1892
29525  if (__cil_tmp43 == 0) {
29526    {
29527#line 1893
29528    c = iframe_error(l2, skb);
29529    }
29530#line 1894
29531    if (c == 0) {
29532      {
29533#line 1895
29534      __cil_tmp44 = & l2->l2m;
29535#line 1895
29536      __cil_tmp45 = (void *)skb;
29537#line 1895
29538      ret = mISDN_FsmEvent(__cil_tmp44, 7, __cil_tmp45);
29539      }
29540    } else {
29541
29542    }
29543  } else {
29544    {
29545#line 1896
29546    tmp___8 = IsSFrame(datap, l2);
29547    }
29548#line 1896
29549    if (tmp___8 != 0) {
29550      {
29551#line 1897
29552      c = super_error(l2, skb);
29553      }
29554#line 1898
29555      if (c == 0) {
29556        {
29557#line 1899
29558        __cil_tmp46 = & l2->l2m;
29559#line 1899
29560        __cil_tmp47 = (void *)skb;
29561#line 1899
29562        ret = mISDN_FsmEvent(__cil_tmp46, 6, __cil_tmp47);
29563        }
29564      } else {
29565
29566      }
29567    } else {
29568      {
29569#line 1900
29570      tmp___7 = IsUI(datap);
29571      }
29572#line 1900
29573      if (tmp___7 != 0) {
29574        {
29575#line 1901
29576        c = UI_error(l2, skb);
29577        }
29578#line 1902
29579        if (c == 0) {
29580          {
29581#line 1903
29582          __cil_tmp48 = & l2->l2m;
29583#line 1903
29584          __cil_tmp49 = (void *)skb;
29585#line 1903
29586          ret = mISDN_FsmEvent(__cil_tmp48, 0, __cil_tmp49);
29587          }
29588        } else {
29589
29590        }
29591      } else {
29592        {
29593#line 1904
29594        tmp___6 = IsSABME(datap, l2);
29595        }
29596#line 1904
29597        if (tmp___6 != 0) {
29598          {
29599#line 1905
29600          c = unnum_error(l2, skb, 0);
29601          }
29602#line 1906
29603          if (c == 0) {
29604            {
29605#line 1907
29606            __cil_tmp50 = & l2->l2m;
29607#line 1907
29608            __cil_tmp51 = (void *)skb;
29609#line 1907
29610            ret = mISDN_FsmEvent(__cil_tmp50, 1, __cil_tmp51);
29611            }
29612          } else {
29613
29614          }
29615        } else {
29616          {
29617#line 1908
29618          tmp___5 = IsUA(datap);
29619          }
29620#line 1908
29621          if (tmp___5 != 0) {
29622            {
29623#line 1909
29624            c = unnum_error(l2, skb, 1);
29625            }
29626#line 1910
29627            if (c == 0) {
29628              {
29629#line 1911
29630              __cil_tmp52 = & l2->l2m;
29631#line 1911
29632              __cil_tmp53 = (void *)skb;
29633#line 1911
29634              ret = mISDN_FsmEvent(__cil_tmp52, 4, __cil_tmp53);
29635              }
29636            } else {
29637
29638            }
29639          } else {
29640            {
29641#line 1912
29642            tmp___4 = IsDISC(datap);
29643            }
29644#line 1912
29645            if (tmp___4 != 0) {
29646              {
29647#line 1913
29648              c = unnum_error(l2, skb, 0);
29649              }
29650#line 1914
29651              if (c == 0) {
29652                {
29653#line 1915
29654                __cil_tmp54 = & l2->l2m;
29655#line 1915
29656                __cil_tmp55 = (void *)skb;
29657#line 1915
29658                ret = mISDN_FsmEvent(__cil_tmp54, 2, __cil_tmp55);
29659                }
29660              } else {
29661
29662              }
29663            } else {
29664              {
29665#line 1916
29666              tmp___3 = IsDM(datap);
29667              }
29668#line 1916
29669              if (tmp___3 != 0) {
29670                {
29671#line 1917
29672                c = unnum_error(l2, skb, 1);
29673                }
29674#line 1918
29675                if (c == 0) {
29676                  {
29677#line 1919
29678                  __cil_tmp56 = & l2->l2m;
29679#line 1919
29680                  __cil_tmp57 = (void *)skb;
29681#line 1919
29682                  ret = mISDN_FsmEvent(__cil_tmp56, 3, __cil_tmp57);
29683                  }
29684                } else {
29685
29686                }
29687              } else {
29688                {
29689#line 1920
29690                tmp___2 = IsFRMR(datap);
29691                }
29692#line 1920
29693                if (tmp___2 != 0) {
29694                  {
29695#line 1921
29696                  c = FRMR_error(l2, skb);
29697                  }
29698#line 1922
29699                  if (c == 0) {
29700                    {
29701#line 1923
29702                    __cil_tmp58 = & l2->l2m;
29703#line 1923
29704                    __cil_tmp59 = (void *)skb;
29705#line 1923
29706                    ret = mISDN_FsmEvent(__cil_tmp58, 5, __cil_tmp59);
29707                    }
29708                  } else {
29709
29710                  }
29711                } else {
29712#line 1925
29713                  c = 76;
29714                }
29715              }
29716            }
29717          }
29718        }
29719      }
29720    }
29721  }
29722  }
29723#line 1926
29724  if (c != 0) {
29725    {
29726#line 1927
29727    printk("<4>l2 D-channel frame error %c\n", c);
29728#line 1928
29729    __cil_tmp60 = & l2->l2m;
29730#line 1928
29731    __cil_tmp61 = (long )c;
29732#line 1928
29733    __cil_tmp62 = (void *)__cil_tmp61;
29734#line 1928
29735    mISDN_FsmEvent(__cil_tmp60, 21, __cil_tmp62);
29736    }
29737  } else {
29738
29739  }
29740#line 1930
29741  return (ret);
29742}
29743}
29744#line 1934 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
29745static int l2_send(struct mISDNchannel *ch , struct sk_buff *skb ) 
29746{ struct layer2 *l2 ;
29747  struct mISDNchannel  const  *__mptr ;
29748  struct mISDNhead *hh ;
29749  int ret ;
29750  int tmp ;
29751  int tmp___0 ;
29752  int tmp___1 ;
29753  int tmp___2 ;
29754  u_int tmp___3 ;
29755  int tmp___4 ;
29756  int tmp___5 ;
29757  int tmp___6 ;
29758  u_int tmp___7 ;
29759  int tmp___8 ;
29760  struct layer2 *__cil_tmp17 ;
29761  char (*__cil_tmp18)[48U] ;
29762  u_int __cil_tmp19 ;
29763  unsigned int __cil_tmp20 ;
29764  unsigned int __cil_tmp21 ;
29765  unsigned int __cil_tmp22 ;
29766  signed char __cil_tmp23 ;
29767  int __cil_tmp24 ;
29768  signed char __cil_tmp25 ;
29769  int __cil_tmp26 ;
29770  unsigned int __cil_tmp27 ;
29771  int __cil_tmp28 ;
29772  unsigned int __cil_tmp29 ;
29773  int __cil_tmp30 ;
29774  unsigned int __cil_tmp31 ;
29775  int __cil_tmp32 ;
29776  unsigned int __cil_tmp33 ;
29777  int __cil_tmp34 ;
29778  unsigned int __cil_tmp35 ;
29779  int __cil_tmp36 ;
29780  unsigned int __cil_tmp37 ;
29781  int __cil_tmp38 ;
29782  unsigned int __cil_tmp39 ;
29783  int __cil_tmp40 ;
29784  unsigned int __cil_tmp41 ;
29785  int __cil_tmp42 ;
29786  unsigned int __cil_tmp43 ;
29787  int __cil_tmp44 ;
29788  u_long *__cil_tmp45 ;
29789  unsigned long volatile   *__cil_tmp46 ;
29790  void *__cil_tmp47 ;
29791  u_long *__cil_tmp48 ;
29792  unsigned long volatile   *__cil_tmp49 ;
29793  struct FsmInst *__cil_tmp50 ;
29794  void *__cil_tmp51 ;
29795  u_long *__cil_tmp52 ;
29796  unsigned long volatile   *__cil_tmp53 ;
29797  void *__cil_tmp54 ;
29798  struct FsmInst *__cil_tmp55 ;
29799  void *__cil_tmp56 ;
29800  struct mISDNchannel *__cil_tmp57 ;
29801  unsigned long __cil_tmp58 ;
29802  struct mISDNchannel *__cil_tmp59 ;
29803  unsigned long __cil_tmp60 ;
29804  struct mISDNchannel *__cil_tmp61 ;
29805  send_func_t *__cil_tmp62 ;
29806  struct mISDNchannel *__cil_tmp63 ;
29807  struct FsmInst *__cil_tmp64 ;
29808  void *__cil_tmp65 ;
29809  struct FsmInst *__cil_tmp66 ;
29810  void *__cil_tmp67 ;
29811  u_long *__cil_tmp68 ;
29812  unsigned long const volatile   *__cil_tmp69 ;
29813  u_long *__cil_tmp70 ;
29814  unsigned long volatile   *__cil_tmp71 ;
29815  u_long *__cil_tmp72 ;
29816  unsigned long const volatile   *__cil_tmp73 ;
29817  u_long *__cil_tmp74 ;
29818  unsigned long const volatile   *__cil_tmp75 ;
29819  struct FsmInst *__cil_tmp76 ;
29820  void *__cil_tmp77 ;
29821  u_long *__cil_tmp78 ;
29822  unsigned long const volatile   *__cil_tmp79 ;
29823  struct FsmInst *__cil_tmp80 ;
29824  void *__cil_tmp81 ;
29825  u_long *__cil_tmp82 ;
29826  unsigned long const volatile   *__cil_tmp83 ;
29827  u_long *__cil_tmp84 ;
29828  unsigned long volatile   *__cil_tmp85 ;
29829  u_long *__cil_tmp86 ;
29830  unsigned long const volatile   *__cil_tmp87 ;
29831  u_long *__cil_tmp88 ;
29832  unsigned long volatile   *__cil_tmp89 ;
29833  u_long *__cil_tmp90 ;
29834  unsigned long const volatile   *__cil_tmp91 ;
29835  void *__cil_tmp92 ;
29836  struct FsmInst *__cil_tmp93 ;
29837  void *__cil_tmp94 ;
29838  u_int __cil_tmp95 ;
29839  unsigned int __cil_tmp96 ;
29840  struct FsmInst *__cil_tmp97 ;
29841  char *__cil_tmp98 ;
29842  unsigned int __cil_tmp99 ;
29843
29844  {
29845#line 1936
29846  __mptr = (struct mISDNchannel  const  *)ch;
29847#line 1936
29848  __cil_tmp17 = (struct layer2 *)__mptr;
29849#line 1936
29850  l2 = __cil_tmp17 + 1152921504606846960UL;
29851#line 1937
29852  __cil_tmp18 = & skb->cb;
29853#line 1937
29854  hh = (struct mISDNhead *)__cil_tmp18;
29855#line 1938
29856  ret = -22;
29857  {
29858#line 1940
29859  __cil_tmp19 = *debug___4;
29860#line 1940
29861  __cil_tmp20 = __cil_tmp19 & 524288U;
29862#line 1940
29863  if (__cil_tmp20 != 0U) {
29864    {
29865#line 1941
29866    __cil_tmp21 = hh->prim;
29867#line 1941
29868    __cil_tmp22 = hh->id;
29869#line 1941
29870    __cil_tmp23 = l2->sapi;
29871#line 1941
29872    __cil_tmp24 = (int )__cil_tmp23;
29873#line 1941
29874    __cil_tmp25 = l2->tei;
29875#line 1941
29876    __cil_tmp26 = (int )__cil_tmp25;
29877#line 1941
29878    printk("<7>%s: prim(%x) id(%x) sapi(%d) tei(%d)\n", "l2_send", __cil_tmp21, __cil_tmp22,
29879           __cil_tmp24, __cil_tmp26);
29880    }
29881  } else {
29882
29883  }
29884  }
29885  {
29886#line 1944
29887  __cil_tmp27 = hh->prim;
29888#line 1944
29889  __cil_tmp28 = (int )__cil_tmp27;
29890#line 1944
29891  if (__cil_tmp28 == 8194) {
29892#line 1944
29893    goto case_8194;
29894  } else {
29895    {
29896#line 1947
29897    __cil_tmp29 = hh->prim;
29898#line 1947
29899    __cil_tmp30 = (int )__cil_tmp29;
29900#line 1947
29901    if (__cil_tmp30 == 24578) {
29902#line 1947
29903      goto case_24578;
29904    } else {
29905      {
29906#line 1950
29907      __cil_tmp31 = hh->prim;
29908#line 1950
29909      __cil_tmp32 = (int )__cil_tmp31;
29910#line 1950
29911      if (__cil_tmp32 == 258) {
29912#line 1950
29913        goto case_258;
29914      } else {
29915        {
29916#line 1957
29917        __cil_tmp33 = hh->prim;
29918#line 1957
29919        __cil_tmp34 = (int )__cil_tmp33;
29920#line 1957
29921        if (__cil_tmp34 == 514) {
29922#line 1957
29923          goto case_514;
29924        } else {
29925          {
29926#line 1962
29927          __cil_tmp35 = hh->prim;
29928#line 1962
29929          __cil_tmp36 = (int )__cil_tmp35;
29930#line 1962
29931          if (__cil_tmp36 == 1794) {
29932#line 1962
29933            goto case_1794;
29934          } else {
29935            {
29936#line 1967
29937            __cil_tmp37 = hh->prim;
29938#line 1967
29939            __cil_tmp38 = (int )__cil_tmp37;
29940#line 1967
29941            if (__cil_tmp38 == 12292) {
29942#line 1967
29943              goto case_12292;
29944            } else {
29945              {
29946#line 1970
29947              __cil_tmp39 = hh->prim;
29948#line 1970
29949              __cil_tmp40 = (int )__cil_tmp39;
29950#line 1970
29951              if (__cil_tmp40 == 12548) {
29952#line 1970
29953                goto case_12548;
29954              } else {
29955                {
29956#line 1973
29957                __cil_tmp41 = hh->prim;
29958#line 1973
29959                __cil_tmp42 = (int )__cil_tmp41;
29960#line 1973
29961                if (__cil_tmp42 == 4100) {
29962#line 1973
29963                  goto case_4100;
29964                } else {
29965                  {
29966#line 1991
29967                  __cil_tmp43 = hh->prim;
29968#line 1991
29969                  __cil_tmp44 = (int )__cil_tmp43;
29970#line 1991
29971                  if (__cil_tmp44 == 4356) {
29972#line 1991
29973                    goto case_4356;
29974                  } else {
29975#line 1998
29976                    goto switch_default;
29977#line 1943
29978                    if (0) {
29979                      case_8194: 
29980                      {
29981#line 1945
29982                      ret = ph_data_indication(l2, hh, skb);
29983                      }
29984#line 1946
29985                      goto ldv_39240;
29986                      case_24578: 
29987                      {
29988#line 1948
29989                      ret = ph_data_confirm(l2, hh, skb);
29990                      }
29991#line 1949
29992                      goto ldv_39240;
29993                      case_258: 
29994                      {
29995#line 1951
29996                      __cil_tmp45 = & l2->flag;
29997#line 1951
29998                      __cil_tmp46 = (unsigned long volatile   *)__cil_tmp45;
29999#line 1951
30000                      test_and_set_bit(12, __cil_tmp46);
30001#line 1952
30002                      __cil_tmp47 = (void *)0;
30003#line 1952
30004                      l2up_create(l2, 1282U, 0, __cil_tmp47);
30005#line 1953
30006                      __cil_tmp48 = & l2->flag;
30007#line 1953
30008                      __cil_tmp49 = (unsigned long volatile   *)__cil_tmp48;
30009#line 1953
30010                      tmp = test_and_clear_bit(13, __cil_tmp49);
30011                      }
30012#line 1953
30013                      if (tmp != 0) {
30014                        {
30015#line 1954
30016                        __cil_tmp50 = & l2->l2m;
30017#line 1954
30018                        __cil_tmp51 = (void *)skb;
30019#line 1954
30020                        ret = mISDN_FsmEvent(__cil_tmp50, 11, __cil_tmp51);
30021                        }
30022                      } else {
30023
30024                      }
30025#line 1956
30026                      goto ldv_39240;
30027                      case_514: 
30028                      {
30029#line 1958
30030                      __cil_tmp52 = & l2->flag;
30031#line 1958
30032                      __cil_tmp53 = (unsigned long volatile   *)__cil_tmp52;
30033#line 1958
30034                      test_and_clear_bit(12, __cil_tmp53);
30035#line 1959
30036                      __cil_tmp54 = (void *)0;
30037#line 1959
30038                      l2up_create(l2, 1538U, 0, __cil_tmp54);
30039#line 1960
30040                      __cil_tmp55 = & l2->l2m;
30041#line 1960
30042                      __cil_tmp56 = (void *)skb;
30043#line 1960
30044                      ret = mISDN_FsmEvent(__cil_tmp55, 16, __cil_tmp56);
30045                      }
30046#line 1961
30047                      goto ldv_39240;
30048                      case_1794: ;
30049                      {
30050#line 1963
30051                      __cil_tmp57 = (struct mISDNchannel *)0;
30052#line 1963
30053                      __cil_tmp58 = (unsigned long )__cil_tmp57;
30054#line 1963
30055                      __cil_tmp59 = l2->up;
30056#line 1963
30057                      __cil_tmp60 = (unsigned long )__cil_tmp59;
30058#line 1963
30059                      if (__cil_tmp60 == __cil_tmp58) {
30060#line 1964
30061                        goto ldv_39240;
30062                      } else {
30063
30064                      }
30065                      }
30066                      {
30067#line 1965
30068                      __cil_tmp61 = l2->up;
30069#line 1965
30070                      __cil_tmp62 = __cil_tmp61->send;
30071#line 1965
30072                      __cil_tmp63 = l2->up;
30073#line 1965
30074                      ret = (*__cil_tmp62)(__cil_tmp63, skb);
30075                      }
30076#line 1966
30077                      goto ldv_39240;
30078                      case_12292: 
30079                      {
30080#line 1968
30081                      __cil_tmp64 = & l2->l2m;
30082#line 1968
30083                      __cil_tmp65 = (void *)skb;
30084#line 1968
30085                      ret = mISDN_FsmEvent(__cil_tmp64, 8, __cil_tmp65);
30086                      }
30087#line 1969
30088                      goto ldv_39240;
30089                      case_12548: 
30090                      {
30091#line 1971
30092                      __cil_tmp66 = & l2->l2m;
30093#line 1971
30094                      __cil_tmp67 = (void *)skb;
30095#line 1971
30096                      ret = mISDN_FsmEvent(__cil_tmp66, 10, __cil_tmp67);
30097                      }
30098#line 1972
30099                      goto ldv_39240;
30100                      case_4100: 
30101                      {
30102#line 1974
30103                      __cil_tmp68 = & l2->flag;
30104#line 1974
30105                      __cil_tmp69 = (unsigned long const volatile   *)__cil_tmp68;
30106#line 1974
30107                      tmp___0 = constant_test_bit(0U, __cil_tmp69);
30108                      }
30109#line 1974
30110                      if (tmp___0 != 0) {
30111                        {
30112#line 1975
30113                        __cil_tmp70 = & l2->flag;
30114#line 1975
30115                        __cil_tmp71 = (unsigned long volatile   *)__cil_tmp70;
30116#line 1975
30117                        test_and_set_bit(2, __cil_tmp71);
30118                        }
30119                      } else {
30120
30121                      }
30122                      {
30123#line 1976
30124                      __cil_tmp72 = & l2->flag;
30125#line 1976
30126                      __cil_tmp73 = (unsigned long const volatile   *)__cil_tmp72;
30127#line 1976
30128                      tmp___6 = constant_test_bit(12U, __cil_tmp73);
30129                      }
30130#line 1976
30131                      if (tmp___6 != 0) {
30132                        {
30133#line 1977
30134                        __cil_tmp74 = & l2->flag;
30135#line 1977
30136                        __cil_tmp75 = (unsigned long const volatile   *)__cil_tmp74;
30137#line 1977
30138                        tmp___4 = constant_test_bit(1U, __cil_tmp75);
30139                        }
30140#line 1977
30141                        if (tmp___4 != 0) {
30142                          {
30143#line 1979
30144                          __cil_tmp76 = & l2->l2m;
30145#line 1979
30146                          __cil_tmp77 = (void *)skb;
30147#line 1979
30148                          ret = mISDN_FsmEvent(__cil_tmp76, 11, __cil_tmp77);
30149                          }
30150                        } else {
30151                          {
30152#line 1977
30153                          __cil_tmp78 = & l2->flag;
30154#line 1977
30155                          __cil_tmp79 = (unsigned long const volatile   *)__cil_tmp78;
30156#line 1977
30157                          tmp___5 = constant_test_bit(2U, __cil_tmp79);
30158                          }
30159#line 1977
30160                          if (tmp___5 != 0) {
30161                            {
30162#line 1979
30163                            __cil_tmp80 = & l2->l2m;
30164#line 1979
30165                            __cil_tmp81 = (void *)skb;
30166#line 1979
30167                            ret = mISDN_FsmEvent(__cil_tmp80, 11, __cil_tmp81);
30168                            }
30169                          } else {
30170                            {
30171#line 1982
30172                            __cil_tmp82 = & l2->flag;
30173#line 1982
30174                            __cil_tmp83 = (unsigned long const volatile   *)__cil_tmp82;
30175#line 1982
30176                            tmp___1 = constant_test_bit(1U, __cil_tmp83);
30177                            }
30178#line 1982
30179                            if (tmp___1 != 0) {
30180                              {
30181#line 1984
30182                              __cil_tmp84 = & l2->flag;
30183#line 1984
30184                              __cil_tmp85 = (unsigned long volatile   *)__cil_tmp84;
30185#line 1984
30186                              test_and_set_bit(13, __cil_tmp85);
30187                              }
30188                            } else {
30189                              {
30190#line 1982
30191                              __cil_tmp86 = & l2->flag;
30192#line 1982
30193                              __cil_tmp87 = (unsigned long const volatile   *)__cil_tmp86;
30194#line 1982
30195                              tmp___2 = constant_test_bit(2U, __cil_tmp87);
30196                              }
30197#line 1982
30198                              if (tmp___2 != 0) {
30199                                {
30200#line 1984
30201                                __cil_tmp88 = & l2->flag;
30202#line 1984
30203                                __cil_tmp89 = (unsigned long volatile   *)__cil_tmp88;
30204#line 1984
30205                                test_and_set_bit(13, __cil_tmp89);
30206                                }
30207                              } else {
30208
30209                              }
30210                            }
30211                            {
30212#line 1987
30213                            tmp___3 = l2_newid(l2);
30214#line 1987
30215                            ret = l2down(l2, 257U, tmp___3, skb);
30216                            }
30217                          }
30218                        }
30219                      } else {
30220
30221                      }
30222#line 1990
30223                      goto ldv_39240;
30224                      case_4356: 
30225                      {
30226#line 1992
30227                      __cil_tmp90 = & l2->flag;
30228#line 1992
30229                      __cil_tmp91 = (unsigned long const volatile   *)__cil_tmp90;
30230#line 1992
30231                      tmp___8 = constant_test_bit(0U, __cil_tmp91);
30232                      }
30233#line 1992
30234                      if (tmp___8 != 0) {
30235                        {
30236#line 1993
30237                        tmp___7 = l2_newid(l2);
30238#line 1993
30239                        __cil_tmp92 = (void *)0;
30240#line 1993
30241                        l2down_create(l2, 513U, tmp___7, 0, __cil_tmp92);
30242                        }
30243                      } else {
30244
30245                      }
30246                      {
30247#line 1995
30248                      __cil_tmp93 = & l2->l2m;
30249#line 1995
30250                      __cil_tmp94 = (void *)skb;
30251#line 1995
30252                      ret = mISDN_FsmEvent(__cil_tmp93, 12, __cil_tmp94);
30253                      }
30254#line 1997
30255                      goto ldv_39240;
30256                      switch_default: ;
30257                      {
30258#line 1999
30259                      __cil_tmp95 = *debug___4;
30260#line 1999
30261                      __cil_tmp96 = __cil_tmp95 & 16711680U;
30262#line 1999
30263                      if (__cil_tmp96 != 0U) {
30264                        {
30265#line 2000
30266                        __cil_tmp97 = & l2->l2m;
30267#line 2000
30268                        __cil_tmp98 = (char *)"l2 unknown pr %04x";
30269#line 2000
30270                        __cil_tmp99 = hh->prim;
30271#line 2000
30272                        l2m_debug(__cil_tmp97, __cil_tmp98, __cil_tmp99);
30273                        }
30274                      } else {
30275
30276                      }
30277                      }
30278                    } else {
30279
30280                    }
30281                  }
30282                  }
30283                }
30284                }
30285              }
30286              }
30287            }
30288            }
30289          }
30290          }
30291        }
30292        }
30293      }
30294      }
30295    }
30296    }
30297  }
30298  }
30299  ldv_39240: ;
30300#line 2003
30301  if (ret != 0) {
30302    {
30303#line 2004
30304    consume_skb(skb);
30305#line 2005
30306    ret = 0;
30307    }
30308  } else {
30309
30310  }
30311#line 2007
30312  return (ret);
30313}
30314}
30315#line 2011 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
30316int tei_l2(struct layer2 *l2 , u_int cmd , u_long arg ) 
30317{ int ret ;
30318  u_int __cil_tmp5 ;
30319  unsigned int __cil_tmp6 ;
30320  int __cil_tmp7 ;
30321  int __cil_tmp8 ;
30322  int __cil_tmp9 ;
30323  int __cil_tmp10 ;
30324  struct FsmInst *__cil_tmp11 ;
30325  void *__cil_tmp12 ;
30326  struct FsmInst *__cil_tmp13 ;
30327  void *__cil_tmp14 ;
30328  struct FsmInst *__cil_tmp15 ;
30329  void *__cil_tmp16 ;
30330  struct FsmInst *__cil_tmp17 ;
30331  void *__cil_tmp18 ;
30332
30333  {
30334#line 2013
30335  ret = -22;
30336  {
30337#line 2015
30338  __cil_tmp5 = *debug___4;
30339#line 2015
30340  __cil_tmp6 = __cil_tmp5 & 1048576U;
30341#line 2015
30342  if (__cil_tmp6 != 0U) {
30343    {
30344#line 2016
30345    printk("<7>%s: cmd(%x)\n", "tei_l2", cmd);
30346    }
30347  } else {
30348
30349  }
30350  }
30351  {
30352#line 2018
30353  __cil_tmp7 = (int )cmd;
30354#line 2018
30355  if (__cil_tmp7 == 6148) {
30356#line 2018
30357    goto case_6148;
30358  } else {
30359    {
30360#line 2021
30361    __cil_tmp8 = (int )cmd;
30362#line 2021
30363    if (__cil_tmp8 == 6660) {
30364#line 2021
30365      goto case_6660;
30366    } else {
30367      {
30368#line 2024
30369      __cil_tmp9 = (int )cmd;
30370#line 2024
30371      if (__cil_tmp9 == 7940) {
30372#line 2024
30373        goto case_7940;
30374      } else {
30375        {
30376#line 2027
30377        __cil_tmp10 = (int )cmd;
30378#line 2027
30379        if (__cil_tmp10 == 24324) {
30380#line 2027
30381          goto case_24324;
30382        } else
30383#line 2017
30384        if (0) {
30385          case_6148: 
30386          {
30387#line 2019
30388          __cil_tmp11 = & l2->l2m;
30389#line 2019
30390          __cil_tmp12 = (void *)arg;
30391#line 2019
30392          ret = mISDN_FsmEvent(__cil_tmp11, 13, __cil_tmp12);
30393          }
30394#line 2020
30395          goto ldv_39258;
30396          case_6660: 
30397          {
30398#line 2022
30399          __cil_tmp13 = & l2->l2m;
30400#line 2022
30401          __cil_tmp14 = (void *)0;
30402#line 2022
30403          ret = mISDN_FsmEvent(__cil_tmp13, 14, __cil_tmp14);
30404          }
30405#line 2023
30406          goto ldv_39258;
30407          case_7940: 
30408          {
30409#line 2025
30410          __cil_tmp15 = & l2->l2m;
30411#line 2025
30412          __cil_tmp16 = (void *)0;
30413#line 2025
30414          ret = mISDN_FsmEvent(__cil_tmp15, 15, __cil_tmp16);
30415          }
30416#line 2026
30417          goto ldv_39258;
30418          case_24324: 
30419          {
30420#line 2029
30421          printk("<5>MDL_ERROR|REQ (tei_l2)\n");
30422#line 2030
30423          __cil_tmp17 = & l2->l2m;
30424#line 2030
30425          __cil_tmp18 = (void *)0;
30426#line 2030
30427          ret = mISDN_FsmEvent(__cil_tmp17, 15, __cil_tmp18);
30428          }
30429#line 2031
30430          goto ldv_39258;
30431        } else {
30432
30433        }
30434        }
30435      }
30436      }
30437    }
30438    }
30439  }
30440  }
30441  ldv_39258: ;
30442#line 2033
30443  return (ret);
30444}
30445}
30446#line 2037 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
30447static void release_l2(struct layer2 *l2 ) 
30448{ int tmp ;
30449  struct FsmTimer *__cil_tmp3 ;
30450  struct FsmTimer *__cil_tmp4 ;
30451  struct sk_buff_head *__cil_tmp5 ;
30452  struct sk_buff_head *__cil_tmp6 ;
30453  struct sk_buff_head *__cil_tmp7 ;
30454  u_long *__cil_tmp8 ;
30455  unsigned long const volatile   *__cil_tmp9 ;
30456  struct mISDNstack *__cil_tmp10 ;
30457  unsigned long __cil_tmp11 ;
30458  struct mISDNstack *__cil_tmp12 ;
30459  unsigned long __cil_tmp13 ;
30460  struct mISDNstack *__cil_tmp14 ;
30461  struct mISDNdevice *__cil_tmp15 ;
30462  ctrl_func_t *__cil_tmp16 ;
30463  struct mISDNstack *__cil_tmp17 ;
30464  struct mISDNdevice *__cil_tmp18 ;
30465  struct mISDNchannel *__cil_tmp19 ;
30466  void *__cil_tmp20 ;
30467  void const   *__cil_tmp21 ;
30468
30469  {
30470  {
30471#line 2039
30472  __cil_tmp3 = & l2->t200;
30473#line 2039
30474  mISDN_FsmDelTimer(__cil_tmp3, 21);
30475#line 2040
30476  __cil_tmp4 = & l2->t203;
30477#line 2040
30478  mISDN_FsmDelTimer(__cil_tmp4, 16);
30479#line 2041
30480  __cil_tmp5 = & l2->i_queue;
30481#line 2041
30482  skb_queue_purge(__cil_tmp5);
30483#line 2042
30484  __cil_tmp6 = & l2->ui_queue;
30485#line 2042
30486  skb_queue_purge(__cil_tmp6);
30487#line 2043
30488  __cil_tmp7 = & l2->down_queue;
30489#line 2043
30490  skb_queue_purge(__cil_tmp7);
30491#line 2044
30492  ReleaseWin(l2);
30493#line 2045
30494  __cil_tmp8 = & l2->flag;
30495#line 2045
30496  __cil_tmp9 = (unsigned long const volatile   *)__cil_tmp8;
30497#line 2045
30498  tmp = constant_test_bit(1U, __cil_tmp9);
30499  }
30500#line 2045
30501  if (tmp != 0) {
30502    {
30503#line 2046
30504    TEIrelease(l2);
30505    }
30506    {
30507#line 2047
30508    __cil_tmp10 = (struct mISDNstack *)0;
30509#line 2047
30510    __cil_tmp11 = (unsigned long )__cil_tmp10;
30511#line 2047
30512    __cil_tmp12 = l2->ch.st;
30513#line 2047
30514    __cil_tmp13 = (unsigned long )__cil_tmp12;
30515#line 2047
30516    if (__cil_tmp13 != __cil_tmp11) {
30517      {
30518#line 2048
30519      __cil_tmp14 = l2->ch.st;
30520#line 2048
30521      __cil_tmp15 = __cil_tmp14->dev;
30522#line 2048
30523      __cil_tmp16 = __cil_tmp15->D.ctrl;
30524#line 2048
30525      __cil_tmp17 = l2->ch.st;
30526#line 2048
30527      __cil_tmp18 = __cil_tmp17->dev;
30528#line 2048
30529      __cil_tmp19 = & __cil_tmp18->D;
30530#line 2048
30531      __cil_tmp20 = (void *)0;
30532#line 2048
30533      (*__cil_tmp16)(__cil_tmp19, 512U, __cil_tmp20);
30534      }
30535    } else {
30536
30537    }
30538    }
30539  } else {
30540
30541  }
30542  {
30543#line 2051
30544  __cil_tmp21 = (void const   *)l2;
30545#line 2051
30546  kfree(__cil_tmp21);
30547  }
30548#line 2052
30549  return;
30550}
30551}
30552#line 2055 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
30553static int l2_ctrl(struct mISDNchannel *ch , u_int cmd , void *arg ) 
30554{ struct layer2 *l2 ;
30555  struct mISDNchannel  const  *__mptr ;
30556  u_int info ;
30557  int tmp ;
30558  struct layer2 *__cil_tmp8 ;
30559  u_int __cil_tmp9 ;
30560  unsigned int __cil_tmp10 ;
30561  int __cil_tmp11 ;
30562  int __cil_tmp12 ;
30563  u_long *__cil_tmp13 ;
30564  unsigned long const volatile   *__cil_tmp14 ;
30565  struct mISDNchannel *__cil_tmp15 ;
30566  signed char __cil_tmp16 ;
30567  u_int __cil_tmp17 ;
30568  signed char __cil_tmp18 ;
30569  u_int __cil_tmp19 ;
30570  void *__cil_tmp20 ;
30571  struct mISDNchannel *__cil_tmp21 ;
30572  unsigned long __cil_tmp22 ;
30573  struct mISDNchannel *__cil_tmp23 ;
30574  unsigned long __cil_tmp24 ;
30575  struct mISDNchannel *__cil_tmp25 ;
30576  ctrl_func_t *__cil_tmp26 ;
30577  struct mISDNchannel *__cil_tmp27 ;
30578  void *__cil_tmp28 ;
30579
30580  {
30581#line 2057
30582  __mptr = (struct mISDNchannel  const  *)ch;
30583#line 2057
30584  __cil_tmp8 = (struct layer2 *)__mptr;
30585#line 2057
30586  l2 = __cil_tmp8 + 1152921504606846960UL;
30587  {
30588#line 2060
30589  __cil_tmp9 = *debug___4;
30590#line 2060
30591  __cil_tmp10 = __cil_tmp9 & 262144U;
30592#line 2060
30593  if (__cil_tmp10 != 0U) {
30594    {
30595#line 2061
30596    printk("<7>%s:(%x)\n", "l2_ctrl", cmd);
30597    }
30598  } else {
30599
30600  }
30601  }
30602  {
30603#line 2064
30604  __cil_tmp11 = (int )cmd;
30605#line 2064
30606  if (__cil_tmp11 == 256) {
30607#line 2064
30608    goto case_256;
30609  } else {
30610    {
30611#line 2072
30612    __cil_tmp12 = (int )cmd;
30613#line 2072
30614    if (__cil_tmp12 == 512) {
30615#line 2072
30616      goto case_512;
30617    } else
30618#line 2063
30619    if (0) {
30620      case_256: 
30621      {
30622#line 2065
30623      __cil_tmp13 = & l2->flag;
30624#line 2065
30625      __cil_tmp14 = (unsigned long const volatile   *)__cil_tmp13;
30626#line 2065
30627      tmp = constant_test_bit(1U, __cil_tmp14);
30628      }
30629#line 2065
30630      if (tmp != 0) {
30631        {
30632#line 2066
30633        __cil_tmp15 = & l2->ch;
30634#line 2066
30635        __cil_tmp16 = l2->sapi;
30636#line 2066
30637        __cil_tmp17 = (u_int )__cil_tmp16;
30638#line 2066
30639        __cil_tmp18 = l2->tei;
30640#line 2066
30641        __cil_tmp19 = (u_int )__cil_tmp18;
30642#line 2066
30643        set_channel_address(__cil_tmp15, __cil_tmp17, __cil_tmp19);
30644#line 2067
30645        info = 1U;
30646#line 2068
30647        __cil_tmp20 = (void *)(& info);
30648#line 2068
30649        l2up_create(l2, 8U, 4, __cil_tmp20);
30650        }
30651      } else {
30652
30653      }
30654#line 2071
30655      goto ldv_39276;
30656      case_512: ;
30657      {
30658#line 2073
30659      __cil_tmp21 = (struct mISDNchannel *)0;
30660#line 2073
30661      __cil_tmp22 = (unsigned long )__cil_tmp21;
30662#line 2073
30663      __cil_tmp23 = l2->ch.peer;
30664#line 2073
30665      __cil_tmp24 = (unsigned long )__cil_tmp23;
30666#line 2073
30667      if (__cil_tmp24 != __cil_tmp22) {
30668        {
30669#line 2074
30670        __cil_tmp25 = l2->ch.peer;
30671#line 2074
30672        __cil_tmp26 = __cil_tmp25->ctrl;
30673#line 2074
30674        __cil_tmp27 = l2->ch.peer;
30675#line 2074
30676        __cil_tmp28 = (void *)0;
30677#line 2074
30678        (*__cil_tmp26)(__cil_tmp27, 512U, __cil_tmp28);
30679        }
30680      } else {
30681
30682      }
30683      }
30684      {
30685#line 2075
30686      release_l2(l2);
30687      }
30688#line 2076
30689      goto ldv_39276;
30690    } else {
30691
30692    }
30693    }
30694  }
30695  }
30696  ldv_39276: ;
30697#line 2078
30698  return (0);
30699}
30700}
30701#line 2082 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
30702struct layer2 *create_l2(struct mISDNchannel *ch , u_int protocol , u_long options ,
30703                         int tei , int sapi ) 
30704{ struct layer2 *l2 ;
30705  struct channel_req rq ;
30706  void *tmp ;
30707  int tmp___0 ;
30708  int tmp___1 ;
30709  int tmp___2 ;
30710  int tmp___3 ;
30711  int tmp___4 ;
30712  int tmp___5 ;
30713  int tmp___6 ;
30714  int tmp___7 ;
30715  int tmp___8 ;
30716  int tmp___9 ;
30717  int tmp___10 ;
30718  struct layer2 *__cil_tmp20 ;
30719  unsigned long __cil_tmp21 ;
30720  unsigned long __cil_tmp22 ;
30721  int __cil_tmp23 ;
30722  int __cil_tmp24 ;
30723  int __cil_tmp25 ;
30724  u_long *__cil_tmp26 ;
30725  unsigned long volatile   *__cil_tmp27 ;
30726  u_long *__cil_tmp28 ;
30727  unsigned long volatile   *__cil_tmp29 ;
30728  u_long *__cil_tmp30 ;
30729  unsigned long volatile   *__cil_tmp31 ;
30730  unsigned long const volatile   *__cil_tmp32 ;
30731  unsigned long const volatile   *__cil_tmp33 ;
30732  u_long *__cil_tmp34 ;
30733  unsigned long volatile   *__cil_tmp35 ;
30734  unsigned long const volatile   *__cil_tmp36 ;
30735  u_long *__cil_tmp37 ;
30736  unsigned long volatile   *__cil_tmp38 ;
30737  unsigned long const volatile   *__cil_tmp39 ;
30738  struct mISDNstack *__cil_tmp40 ;
30739  struct mISDNdevice *__cil_tmp41 ;
30740  ctrl_func_t *__cil_tmp42 ;
30741  struct mISDNstack *__cil_tmp43 ;
30742  struct mISDNdevice *__cil_tmp44 ;
30743  struct mISDNchannel *__cil_tmp45 ;
30744  void *__cil_tmp46 ;
30745  u_long *__cil_tmp47 ;
30746  unsigned long volatile   *__cil_tmp48 ;
30747  u_long *__cil_tmp49 ;
30748  unsigned long volatile   *__cil_tmp50 ;
30749  u_long *__cil_tmp51 ;
30750  unsigned long volatile   *__cil_tmp52 ;
30751  unsigned long const volatile   *__cil_tmp53 ;
30752  unsigned long const volatile   *__cil_tmp54 ;
30753  u_long *__cil_tmp55 ;
30754  unsigned long volatile   *__cil_tmp56 ;
30755  unsigned long const volatile   *__cil_tmp57 ;
30756  u_long *__cil_tmp58 ;
30757  unsigned long volatile   *__cil_tmp59 ;
30758  unsigned long const volatile   *__cil_tmp60 ;
30759  struct mISDNstack *__cil_tmp61 ;
30760  struct mISDNdevice *__cil_tmp62 ;
30761  ctrl_func_t *__cil_tmp63 ;
30762  struct mISDNstack *__cil_tmp64 ;
30763  struct mISDNdevice *__cil_tmp65 ;
30764  struct mISDNchannel *__cil_tmp66 ;
30765  void *__cil_tmp67 ;
30766  u_long *__cil_tmp68 ;
30767  unsigned long volatile   *__cil_tmp69 ;
30768  void const   *__cil_tmp70 ;
30769  struct sk_buff_head *__cil_tmp71 ;
30770  struct sk_buff_head *__cil_tmp72 ;
30771  struct sk_buff_head *__cil_tmp73 ;
30772  struct sk_buff_head *__cil_tmp74 ;
30773  u_long *__cil_tmp75 ;
30774  unsigned long const volatile   *__cil_tmp76 ;
30775  u_long *__cil_tmp77 ;
30776  unsigned long const volatile   *__cil_tmp78 ;
30777  u_long *__cil_tmp79 ;
30778  unsigned long const volatile   *__cil_tmp80 ;
30779  u_int __cil_tmp81 ;
30780  struct FsmInst *__cil_tmp82 ;
30781  struct FsmTimer *__cil_tmp83 ;
30782  struct FsmInst *__cil_tmp84 ;
30783  struct FsmTimer *__cil_tmp85 ;
30784
30785  {
30786  {
30787#line 2088
30788  tmp = kzalloc(976UL, 208U);
30789#line 2088
30790  l2 = (struct layer2 *)tmp;
30791  }
30792  {
30793#line 2089
30794  __cil_tmp20 = (struct layer2 *)0;
30795#line 2089
30796  __cil_tmp21 = (unsigned long )__cil_tmp20;
30797#line 2089
30798  __cil_tmp22 = (unsigned long )l2;
30799#line 2089
30800  if (__cil_tmp22 == __cil_tmp21) {
30801    {
30802#line 2090
30803    printk("<3>kzalloc layer2 failed\n");
30804    }
30805#line 2091
30806    return ((struct layer2 *)0);
30807  } else {
30808
30809  }
30810  }
30811#line 2093
30812  l2->next_id = 1U;
30813#line 2094
30814  l2->down_id = 65534U;
30815#line 2095
30816  l2->up = ch;
30817#line 2096
30818  l2->ch.st = ch->st;
30819#line 2097
30820  l2->ch.send = & l2_send;
30821#line 2098
30822  l2->ch.ctrl = & l2_ctrl;
30823  {
30824#line 2100
30825  __cil_tmp23 = (int )protocol;
30826#line 2100
30827  if (__cil_tmp23 == 17) {
30828#line 2100
30829    goto case_17;
30830  } else {
30831    {
30832#line 2125
30833    __cil_tmp24 = (int )protocol;
30834#line 2125
30835    if (__cil_tmp24 == 16) {
30836#line 2125
30837      goto case_16;
30838    } else {
30839      {
30840#line 2150
30841      __cil_tmp25 = (int )protocol;
30842#line 2150
30843      if (__cil_tmp25 == 35) {
30844#line 2150
30845        goto case_35;
30846      } else {
30847#line 2160
30848        goto switch_default;
30849#line 2099
30850        if (0) {
30851          case_17: 
30852          {
30853#line 2101
30854          __cil_tmp26 = & l2->flag;
30855#line 2101
30856          __cil_tmp27 = (unsigned long volatile   *)__cil_tmp26;
30857#line 2101
30858          test_and_set_bit(1, __cil_tmp27);
30859#line 2102
30860          __cil_tmp28 = & l2->flag;
30861#line 2102
30862          __cil_tmp29 = (unsigned long volatile   *)__cil_tmp28;
30863#line 2102
30864          test_and_set_bit(18, __cil_tmp29);
30865#line 2103
30866          __cil_tmp30 = & l2->flag;
30867#line 2103
30868          __cil_tmp31 = (unsigned long volatile   *)__cil_tmp30;
30869#line 2103
30870          test_and_set_bit(3, __cil_tmp31);
30871#line 2104
30872          l2->sapi = (signed char )sapi;
30873#line 2105
30874          l2->maxlen = 260U;
30875#line 2106
30876          __cil_tmp32 = (unsigned long const volatile   *)(& options);
30877#line 2106
30878          tmp___0 = constant_test_bit(1U, __cil_tmp32);
30879          }
30880#line 2106
30881          if (tmp___0 != 0) {
30882#line 2107
30883            l2->window = 7U;
30884          } else {
30885#line 2109
30886            l2->window = 1U;
30887          }
30888          {
30889#line 2110
30890          __cil_tmp33 = (unsigned long const volatile   *)(& options);
30891#line 2110
30892          tmp___1 = constant_test_bit(2U, __cil_tmp33);
30893          }
30894#line 2110
30895          if (tmp___1 != 0) {
30896            {
30897#line 2111
30898            __cil_tmp34 = & l2->flag;
30899#line 2111
30900            __cil_tmp35 = (unsigned long volatile   *)__cil_tmp34;
30901#line 2111
30902            test_and_set_bit(14, __cil_tmp35);
30903            }
30904          } else {
30905
30906          }
30907          {
30908#line 2112
30909          __cil_tmp36 = (unsigned long const volatile   *)(& options);
30910#line 2112
30911          tmp___2 = constant_test_bit(3U, __cil_tmp36);
30912          }
30913#line 2112
30914          if (tmp___2 != 0) {
30915            {
30916#line 2113
30917            __cil_tmp37 = & l2->flag;
30918#line 2113
30919            __cil_tmp38 = (unsigned long volatile   *)__cil_tmp37;
30920#line 2113
30921            test_and_set_bit(15, __cil_tmp38);
30922            }
30923          } else {
30924
30925          }
30926          {
30927#line 2114
30928          l2->tei = (signed char )tei;
30929#line 2115
30930          l2->T200 = 1000;
30931#line 2116
30932          l2->N200 = 3;
30933#line 2117
30934          l2->T203 = 10000;
30935#line 2118
30936          __cil_tmp39 = (unsigned long const volatile   *)(& options);
30937#line 2118
30938          tmp___3 = constant_test_bit(1U, __cil_tmp39);
30939          }
30940#line 2118
30941          if (tmp___3 != 0) {
30942#line 2119
30943            rq.protocol = 4U;
30944          } else {
30945#line 2121
30946            rq.protocol = 2U;
30947          }
30948          {
30949#line 2122
30950          rq.adr.channel = (unsigned char)0;
30951#line 2123
30952          __cil_tmp40 = l2->ch.st;
30953#line 2123
30954          __cil_tmp41 = __cil_tmp40->dev;
30955#line 2123
30956          __cil_tmp42 = __cil_tmp41->D.ctrl;
30957#line 2123
30958          __cil_tmp43 = l2->ch.st;
30959#line 2123
30960          __cil_tmp44 = __cil_tmp43->dev;
30961#line 2123
30962          __cil_tmp45 = & __cil_tmp44->D;
30963#line 2123
30964          __cil_tmp46 = (void *)(& rq);
30965#line 2123
30966          (*__cil_tmp42)(__cil_tmp45, 256U, __cil_tmp46);
30967          }
30968#line 2124
30969          goto ldv_39288;
30970          case_16: 
30971          {
30972#line 2126
30973          __cil_tmp47 = & l2->flag;
30974#line 2126
30975          __cil_tmp48 = (unsigned long volatile   *)__cil_tmp47;
30976#line 2126
30977          test_and_set_bit(1, __cil_tmp48);
30978#line 2127
30979          __cil_tmp49 = & l2->flag;
30980#line 2127
30981          __cil_tmp50 = (unsigned long volatile   *)__cil_tmp49;
30982#line 2127
30983          test_and_set_bit(3, __cil_tmp50);
30984#line 2128
30985          __cil_tmp51 = & l2->flag;
30986#line 2128
30987          __cil_tmp52 = (unsigned long volatile   *)__cil_tmp51;
30988#line 2128
30989          test_and_set_bit(2, __cil_tmp52);
30990#line 2129
30991          l2->sapi = (signed char )sapi;
30992#line 2130
30993          l2->maxlen = 260U;
30994#line 2131
30995          __cil_tmp53 = (unsigned long const volatile   *)(& options);
30996#line 2131
30997          tmp___4 = constant_test_bit(1U, __cil_tmp53);
30998          }
30999#line 2131
31000          if (tmp___4 != 0) {
31001#line 2132
31002            l2->window = 7U;
31003          } else {
31004#line 2134
31005            l2->window = 1U;
31006          }
31007          {
31008#line 2135
31009          __cil_tmp54 = (unsigned long const volatile   *)(& options);
31010#line 2135
31011          tmp___5 = constant_test_bit(2U, __cil_tmp54);
31012          }
31013#line 2135
31014          if (tmp___5 != 0) {
31015            {
31016#line 2136
31017            __cil_tmp55 = & l2->flag;
31018#line 2136
31019            __cil_tmp56 = (unsigned long volatile   *)__cil_tmp55;
31020#line 2136
31021            test_and_set_bit(14, __cil_tmp56);
31022            }
31023          } else {
31024
31025          }
31026          {
31027#line 2137
31028          __cil_tmp57 = (unsigned long const volatile   *)(& options);
31029#line 2137
31030          tmp___6 = constant_test_bit(3U, __cil_tmp57);
31031          }
31032#line 2137
31033          if (tmp___6 != 0) {
31034            {
31035#line 2138
31036            __cil_tmp58 = & l2->flag;
31037#line 2138
31038            __cil_tmp59 = (unsigned long volatile   *)__cil_tmp58;
31039#line 2138
31040            test_and_set_bit(15, __cil_tmp59);
31041            }
31042          } else {
31043
31044          }
31045          {
31046#line 2139
31047          l2->tei = (signed char )tei;
31048#line 2140
31049          l2->T200 = 1000;
31050#line 2141
31051          l2->N200 = 3;
31052#line 2142
31053          l2->T203 = 10000;
31054#line 2143
31055          __cil_tmp60 = (unsigned long const volatile   *)(& options);
31056#line 2143
31057          tmp___7 = constant_test_bit(1U, __cil_tmp60);
31058          }
31059#line 2143
31060          if (tmp___7 != 0) {
31061#line 2144
31062            rq.protocol = 3U;
31063          } else {
31064#line 2146
31065            rq.protocol = 1U;
31066          }
31067          {
31068#line 2147
31069          rq.adr.channel = (unsigned char)0;
31070#line 2148
31071          __cil_tmp61 = l2->ch.st;
31072#line 2148
31073          __cil_tmp62 = __cil_tmp61->dev;
31074#line 2148
31075          __cil_tmp63 = __cil_tmp62->D.ctrl;
31076#line 2148
31077          __cil_tmp64 = l2->ch.st;
31078#line 2148
31079          __cil_tmp65 = __cil_tmp64->dev;
31080#line 2148
31081          __cil_tmp66 = & __cil_tmp65->D;
31082#line 2148
31083          __cil_tmp67 = (void *)(& rq);
31084#line 2148
31085          (*__cil_tmp63)(__cil_tmp66, 256U, __cil_tmp67);
31086          }
31087#line 2149
31088          goto ldv_39288;
31089          case_35: 
31090          {
31091#line 2151
31092          __cil_tmp68 = & l2->flag;
31093#line 2151
31094          __cil_tmp69 = (unsigned long volatile   *)__cil_tmp68;
31095#line 2151
31096          test_and_set_bit(0, __cil_tmp69);
31097#line 2152
31098          l2->window = 7U;
31099#line 2153
31100          l2->maxlen = 2048U;
31101#line 2154
31102          l2->T200 = 1000;
31103#line 2155
31104          l2->N200 = 4;
31105#line 2156
31106          l2->T203 = 5000;
31107#line 2157
31108          l2->addr.A = (u_char )3U;
31109#line 2158
31110          l2->addr.B = (u_char )1U;
31111          }
31112#line 2159
31113          goto ldv_39288;
31114          switch_default: 
31115          {
31116#line 2161
31117          printk("<3>layer2 create failed prt %x\n", protocol);
31118#line 2163
31119          __cil_tmp70 = (void const   *)l2;
31120#line 2163
31121          kfree(__cil_tmp70);
31122          }
31123#line 2164
31124          return ((struct layer2 *)0);
31125        } else {
31126
31127        }
31128      }
31129      }
31130    }
31131    }
31132  }
31133  }
31134  ldv_39288: 
31135  {
31136#line 2166
31137  __cil_tmp71 = & l2->i_queue;
31138#line 2166
31139  skb_queue_head_init(__cil_tmp71);
31140#line 2167
31141  __cil_tmp72 = & l2->ui_queue;
31142#line 2167
31143  skb_queue_head_init(__cil_tmp72);
31144#line 2168
31145  __cil_tmp73 = & l2->down_queue;
31146#line 2168
31147  skb_queue_head_init(__cil_tmp73);
31148#line 2169
31149  __cil_tmp74 = & l2->tmp_queue;
31150#line 2169
31151  skb_queue_head_init(__cil_tmp74);
31152#line 2170
31153  InitWin(l2);
31154#line 2171
31155  l2->l2m.fsm = & l2fsm;
31156#line 2172
31157  __cil_tmp75 = & l2->flag;
31158#line 2172
31159  __cil_tmp76 = (unsigned long const volatile   *)__cil_tmp75;
31160#line 2172
31161  tmp___8 = constant_test_bit(0U, __cil_tmp76);
31162  }
31163#line 2172
31164  if (tmp___8 != 0) {
31165#line 2175
31166    l2->l2m.state = 3;
31167  } else {
31168    {
31169#line 2172
31170    __cil_tmp77 = & l2->flag;
31171#line 2172
31172    __cil_tmp78 = (unsigned long const volatile   *)__cil_tmp77;
31173#line 2172
31174    tmp___9 = constant_test_bit(14U, __cil_tmp78);
31175    }
31176#line 2172
31177    if (tmp___9 != 0) {
31178#line 2175
31179      l2->l2m.state = 3;
31180    } else {
31181      {
31182#line 2172
31183      __cil_tmp79 = & l2->flag;
31184#line 2172
31185      __cil_tmp80 = (unsigned long const volatile   *)__cil_tmp79;
31186#line 2172
31187      tmp___10 = constant_test_bit(18U, __cil_tmp80);
31188      }
31189#line 2172
31190      if (tmp___10 != 0) {
31191#line 2175
31192        l2->l2m.state = 3;
31193      } else {
31194#line 2177
31195        l2->l2m.state = 0;
31196      }
31197    }
31198  }
31199  {
31200#line 2178
31201  __cil_tmp81 = *debug___4;
31202#line 2178
31203  l2->l2m.debug = (int )__cil_tmp81;
31204#line 2179
31205  l2->l2m.userdata = (void *)l2;
31206#line 2180
31207  l2->l2m.userint = 0;
31208#line 2181
31209  l2->l2m.printdebug = & l2m_debug;
31210#line 2183
31211  __cil_tmp82 = & l2->l2m;
31212#line 2183
31213  __cil_tmp83 = & l2->t200;
31214#line 2183
31215  mISDN_FsmInitTimer(__cil_tmp82, __cil_tmp83);
31216#line 2184
31217  __cil_tmp84 = & l2->l2m;
31218#line 2184
31219  __cil_tmp85 = & l2->t203;
31220#line 2184
31221  mISDN_FsmInitTimer(__cil_tmp84, __cil_tmp85);
31222  }
31223#line 2185
31224  return (l2);
31225}
31226}
31227#line 2189 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
31228static int x75create(struct channel_req *crq ) 
31229{ struct layer2 *l2 ;
31230  u_int __cil_tmp3 ;
31231  struct mISDNchannel *__cil_tmp4 ;
31232  u_int __cil_tmp5 ;
31233  struct layer2 *__cil_tmp6 ;
31234  unsigned long __cil_tmp7 ;
31235  unsigned long __cil_tmp8 ;
31236
31237  {
31238  {
31239#line 2193
31240  __cil_tmp3 = crq->protocol;
31241#line 2193
31242  if (__cil_tmp3 != 35U) {
31243#line 2194
31244    return (-93);
31245  } else {
31246
31247  }
31248  }
31249  {
31250#line 2195
31251  __cil_tmp4 = crq->ch;
31252#line 2195
31253  __cil_tmp5 = crq->protocol;
31254#line 2195
31255  l2 = create_l2(__cil_tmp4, __cil_tmp5, 0UL, 0, 0);
31256  }
31257  {
31258#line 2196
31259  __cil_tmp6 = (struct layer2 *)0;
31260#line 2196
31261  __cil_tmp7 = (unsigned long )__cil_tmp6;
31262#line 2196
31263  __cil_tmp8 = (unsigned long )l2;
31264#line 2196
31265  if (__cil_tmp8 == __cil_tmp7) {
31266#line 2197
31267    return (-12);
31268  } else {
31269
31270  }
31271  }
31272#line 2198
31273  crq->ch = & l2->ch;
31274#line 2199
31275  crq->protocol = 34U;
31276#line 2200
31277  return (0);
31278}
31279}
31280#line 2203 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
31281static struct Bprotocol X75SLP  =    {{(struct list_head *)0, (struct list_head *)0}, (char *)"X75SLP", 8U, & x75create};
31282#line 2210 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
31283int Isdnl2_Init(u_int *deb ) 
31284{ struct FsmNode *__cil_tmp2 ;
31285
31286  {
31287  {
31288#line 2212
31289  debug___4 = deb;
31290#line 2213
31291  mISDN_register_Bprotocol(& X75SLP);
31292#line 2214
31293  l2fsm.state_count = 8;
31294#line 2215
31295  l2fsm.event_count = 22;
31296#line 2216
31297  l2fsm.strEvent = (char **)(& strL2Event);
31298#line 2217
31299  l2fsm.strState = (char **)(& strL2State);
31300#line 2218
31301  __cil_tmp2 = (struct FsmNode *)(& L2FnList);
31302#line 2218
31303  mISDN_FsmNew(& l2fsm, __cil_tmp2, 88);
31304#line 2219
31305  TEIInit(deb);
31306  }
31307#line 2220
31308  return (0);
31309}
31310}
31311#line 2224 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/layer2.c.p"
31312void Isdnl2_cleanup(void) 
31313{ 
31314
31315  {
31316  {
31317#line 2226
31318  mISDN_unregister_Bprotocol(& X75SLP);
31319#line 2227
31320  TEIFree();
31321#line 2228
31322  mISDN_FsmFree(& l2fsm);
31323  }
31324#line 2229
31325  return;
31326}
31327}
31328#line 57 "include/linux/random.h"
31329extern void get_random_bytes(void * , int  ) ;
31330#line 44 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31331static u_int *debug___5  ;
31332#line 46 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31333static struct Fsm deactfsm  =    {(FSMFNPTR (**)(struct FsmInst * , int  , void * ))0, 0, 0, (char **)0, (char **)0};
31334#line 47 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31335static struct Fsm teifsmu  =    {(FSMFNPTR (**)(struct FsmInst * , int  , void * ))0, 0, 0, (char **)0, (char **)0};
31336#line 48 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31337static struct Fsm teifsmn  =    {(FSMFNPTR (**)(struct FsmInst * , int  , void * ))0, 0, 0, (char **)0, (char **)0};
31338#line 57 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31339static char *strDeactState[3U]  = {      (char *)"ST_L1_DEACT",      (char *)"ST_L1_DEACT_PENDING",      (char *)"ST_L1_ACTIV"};
31340#line 75 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31341static char *strDeactEvent[6U]  = {      (char *)"EV_ACTIVATE",      (char *)"EV_ACTIVATE_IND",      (char *)"EV_DEACTIVATE",      (char *)"EV_DEACTIVATE_IND", 
31342        (char *)"EV_UI",      (char *)"EV_DATIMER"};
31343#line 86 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31344static void da_debug(struct FsmInst *fi , char *fmt  , ...) 
31345{ struct manager *mgr ;
31346  struct va_format vaf ;
31347  va_list va ;
31348  void *__cil_tmp6 ;
31349  u_int __cil_tmp7 ;
31350  unsigned int __cil_tmp8 ;
31351  __va_list_tag *__cil_tmp9 ;
31352  __builtin_va_list __cil_tmp10 ;
31353  struct mISDNstack *__cil_tmp11 ;
31354  struct mISDNdevice *__cil_tmp12 ;
31355  u_int __cil_tmp13 ;
31356  __builtin_va_list __cil_tmp14 ;
31357
31358  {
31359#line 88
31360  __cil_tmp6 = fi->userdata;
31361#line 88
31362  mgr = (struct manager *)__cil_tmp6;
31363  {
31364#line 92
31365  __cil_tmp7 = *debug___5;
31366#line 92
31367  __cil_tmp8 = __cil_tmp7 & 2097152U;
31368#line 92
31369  if (__cil_tmp8 == 0U) {
31370#line 93
31371    return;
31372  } else {
31373
31374  }
31375  }
31376  {
31377#line 95
31378  //__cil_tmp9 = (__va_list_tag *)(& va);
31379#line 95
31380  //__cil_tmp10 = (__builtin_va_list )__cil_tmp9;
31381#line 95
31382  //__builtin_va_start(&va);
31383#line 97
31384  vaf.fmt = (char const   *)fmt;
31385#line 98
31386  vaf.va = & va;
31387#line 100
31388  __cil_tmp11 = mgr->ch.st;
31389#line 100
31390  __cil_tmp12 = __cil_tmp11->dev;
31391#line 100
31392  __cil_tmp13 = __cil_tmp12->id;
31393#line 100
31394  printk("<7>mgr(%d): %pV\n", __cil_tmp13, & vaf);
31395#line 102
31396  //__cil_tmp14 = (__builtin_va_list )(& va);
31397#line 102
31398  //__builtin_va_end(&va);
31399  }
31400#line 103
31401  return;
31402}
31403}
31404#line 106 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31405static void da_activate(struct FsmInst *fi , int event , void *arg ) 
31406{ struct manager *mgr ;
31407  void *__cil_tmp5 ;
31408  int __cil_tmp6 ;
31409  struct FsmTimer *__cil_tmp7 ;
31410
31411  {
31412#line 108
31413  __cil_tmp5 = fi->userdata;
31414#line 108
31415  mgr = (struct manager *)__cil_tmp5;
31416  {
31417#line 110
31418  __cil_tmp6 = fi->state;
31419#line 110
31420  if (__cil_tmp6 == 1) {
31421    {
31422#line 111
31423    __cil_tmp7 = & mgr->datimer;
31424#line 111
31425    mISDN_FsmDelTimer(__cil_tmp7, 1);
31426    }
31427  } else {
31428
31429  }
31430  }
31431  {
31432#line 112
31433  mISDN_FsmChangeState(fi, 2);
31434  }
31435#line 113
31436  return;
31437}
31438}
31439#line 116 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31440static void da_deactivate_ind(struct FsmInst *fi , int event , void *arg ) 
31441{ 
31442
31443  {
31444  {
31445#line 118
31446  mISDN_FsmChangeState(fi, 0);
31447  }
31448#line 119
31449  return;
31450}
31451}
31452#line 122 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31453static void da_deactivate(struct FsmInst *fi , int event , void *arg ) 
31454{ struct manager *mgr ;
31455  struct layer2 *l2 ;
31456  u_long flags ;
31457  struct list_head  const  *__mptr ;
31458  struct list_head  const  *__mptr___0 ;
31459  int tmp ;
31460  void *__cil_tmp10 ;
31461  rwlock_t *__cil_tmp11 ;
31462  struct list_head *__cil_tmp12 ;
31463  int __cil_tmp13 ;
31464  rwlock_t *__cil_tmp14 ;
31465  struct list_head *__cil_tmp15 ;
31466  struct list_head *__cil_tmp16 ;
31467  unsigned long __cil_tmp17 ;
31468  struct list_head *__cil_tmp18 ;
31469  unsigned long __cil_tmp19 ;
31470  rwlock_t *__cil_tmp20 ;
31471  u_long *__cil_tmp21 ;
31472  unsigned long const volatile   *__cil_tmp22 ;
31473  struct FsmTimer *__cil_tmp23 ;
31474  void *__cil_tmp24 ;
31475
31476  {
31477  {
31478#line 124
31479  __cil_tmp10 = fi->userdata;
31480#line 124
31481  mgr = (struct manager *)__cil_tmp10;
31482#line 128
31483  __cil_tmp11 = & mgr->lock;
31484#line 128
31485  flags = _raw_read_lock_irqsave(__cil_tmp11);
31486#line 129
31487  __cil_tmp12 = mgr->layer2.next;
31488#line 129
31489  __mptr = (struct list_head  const  *)__cil_tmp12;
31490#line 129
31491  l2 = (struct layer2 *)__mptr;
31492  }
31493#line 129
31494  goto ldv_38563;
31495  ldv_38562: ;
31496  {
31497#line 130
31498  __cil_tmp13 = l2->l2m.state;
31499#line 130
31500  if (__cil_tmp13 > 3) {
31501    {
31502#line 132
31503    __cil_tmp14 = & mgr->lock;
31504#line 132
31505    _raw_read_unlock_irqrestore(__cil_tmp14, flags);
31506    }
31507#line 133
31508    return;
31509  } else {
31510
31511  }
31512  }
31513#line 129
31514  __cil_tmp15 = l2->list.next;
31515#line 129
31516  __mptr___0 = (struct list_head  const  *)__cil_tmp15;
31517#line 129
31518  l2 = (struct layer2 *)__mptr___0;
31519  ldv_38563: ;
31520  {
31521#line 129
31522  __cil_tmp16 = & mgr->layer2;
31523#line 129
31524  __cil_tmp17 = (unsigned long )__cil_tmp16;
31525#line 129
31526  __cil_tmp18 = & l2->list;
31527#line 129
31528  __cil_tmp19 = (unsigned long )__cil_tmp18;
31529#line 129
31530  if (__cil_tmp19 != __cil_tmp17) {
31531#line 130
31532    goto ldv_38562;
31533  } else {
31534#line 132
31535    goto ldv_38564;
31536  }
31537  }
31538  ldv_38564: 
31539  {
31540#line 136
31541  __cil_tmp20 = & mgr->lock;
31542#line 136
31543  _raw_read_unlock_irqrestore(__cil_tmp20, flags);
31544#line 138
31545  __cil_tmp21 = & mgr->options;
31546#line 138
31547  __cil_tmp22 = (unsigned long const volatile   *)__cil_tmp21;
31548#line 138
31549  tmp = constant_test_bit(5U, __cil_tmp22);
31550  }
31551#line 138
31552  if (tmp == 0) {
31553    {
31554#line 139
31555    __cil_tmp23 = & mgr->datimer;
31556#line 139
31557    __cil_tmp24 = (void *)0;
31558#line 139
31559    mISDN_FsmAddTimer(__cil_tmp23, 10000, 5, __cil_tmp24, 1);
31560#line 141
31561    mISDN_FsmChangeState(fi, 1);
31562    }
31563  } else {
31564
31565  }
31566#line 143
31567  return;
31568}
31569}
31570#line 146 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31571static void da_ui(struct FsmInst *fi , int event , void *arg ) 
31572{ struct manager *mgr ;
31573  int tmp ;
31574  void *__cil_tmp6 ;
31575  u_long *__cil_tmp7 ;
31576  unsigned long const volatile   *__cil_tmp8 ;
31577  struct FsmTimer *__cil_tmp9 ;
31578  struct FsmTimer *__cil_tmp10 ;
31579  void *__cil_tmp11 ;
31580
31581  {
31582  {
31583#line 148
31584  __cil_tmp6 = fi->userdata;
31585#line 148
31586  mgr = (struct manager *)__cil_tmp6;
31587#line 151
31588  __cil_tmp7 = & mgr->options;
31589#line 151
31590  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
31591#line 151
31592  tmp = constant_test_bit(5U, __cil_tmp8);
31593  }
31594#line 151
31595  if (tmp == 0) {
31596    {
31597#line 152
31598    __cil_tmp9 = & mgr->datimer;
31599#line 152
31600    mISDN_FsmDelTimer(__cil_tmp9, 2);
31601#line 153
31602    __cil_tmp10 = & mgr->datimer;
31603#line 153
31604    __cil_tmp11 = (void *)0;
31605#line 153
31606    mISDN_FsmAddTimer(__cil_tmp10, 10000, 5, __cil_tmp11, 2);
31607    }
31608  } else {
31609
31610  }
31611#line 155
31612  return;
31613}
31614}
31615#line 159 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31616static void da_timer(struct FsmInst *fi , int event , void *arg ) 
31617{ struct manager *mgr ;
31618  struct layer2 *l2 ;
31619  u_long flags ;
31620  struct list_head  const  *__mptr ;
31621  struct list_head  const  *__mptr___0 ;
31622  void *__cil_tmp9 ;
31623  rwlock_t *__cil_tmp10 ;
31624  struct list_head *__cil_tmp11 ;
31625  int __cil_tmp12 ;
31626  rwlock_t *__cil_tmp13 ;
31627  struct list_head *__cil_tmp14 ;
31628  struct list_head *__cil_tmp15 ;
31629  unsigned long __cil_tmp16 ;
31630  struct list_head *__cil_tmp17 ;
31631  unsigned long __cil_tmp18 ;
31632  rwlock_t *__cil_tmp19 ;
31633  struct mISDNchannel *__cil_tmp20 ;
31634  void *__cil_tmp21 ;
31635
31636  {
31637  {
31638#line 161
31639  __cil_tmp9 = fi->userdata;
31640#line 161
31641  mgr = (struct manager *)__cil_tmp9;
31642#line 166
31643  __cil_tmp10 = & mgr->lock;
31644#line 166
31645  flags = _raw_read_lock_irqsave(__cil_tmp10);
31646#line 167
31647  __cil_tmp11 = mgr->layer2.next;
31648#line 167
31649  __mptr = (struct list_head  const  *)__cil_tmp11;
31650#line 167
31651  l2 = (struct layer2 *)__mptr;
31652  }
31653#line 167
31654  goto ldv_38593;
31655  ldv_38592: ;
31656  {
31657#line 168
31658  __cil_tmp12 = l2->l2m.state;
31659#line 168
31660  if (__cil_tmp12 > 3) {
31661    {
31662#line 170
31663    __cil_tmp13 = & mgr->lock;
31664#line 170
31665    _raw_read_unlock_irqrestore(__cil_tmp13, flags);
31666#line 171
31667    mISDN_FsmChangeState(fi, 2);
31668    }
31669#line 172
31670    return;
31671  } else {
31672
31673  }
31674  }
31675#line 167
31676  __cil_tmp14 = l2->list.next;
31677#line 167
31678  __mptr___0 = (struct list_head  const  *)__cil_tmp14;
31679#line 167
31680  l2 = (struct layer2 *)__mptr___0;
31681  ldv_38593: ;
31682  {
31683#line 167
31684  __cil_tmp15 = & mgr->layer2;
31685#line 167
31686  __cil_tmp16 = (unsigned long )__cil_tmp15;
31687#line 167
31688  __cil_tmp17 = & l2->list;
31689#line 167
31690  __cil_tmp18 = (unsigned long )__cil_tmp17;
31691#line 167
31692  if (__cil_tmp18 != __cil_tmp16) {
31693#line 168
31694    goto ldv_38592;
31695  } else {
31696#line 170
31697    goto ldv_38594;
31698  }
31699  }
31700  ldv_38594: 
31701  {
31702#line 175
31703  __cil_tmp19 = & mgr->lock;
31704#line 175
31705  _raw_read_unlock_irqrestore(__cil_tmp19, flags);
31706#line 177
31707  mISDN_FsmChangeState(fi, 0);
31708#line 178
31709  __cil_tmp20 = & mgr->ch;
31710#line 178
31711  __cil_tmp21 = (void *)0;
31712#line 178
31713  _queue_data(__cil_tmp20, 513U, 65535U, 0U, __cil_tmp21, 32U);
31714  }
31715#line 179
31716  return;
31717}
31718}
31719#line 182 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31720static struct FsmNode DeactFnList[6U]  = {      {0, 1, & da_activate}, 
31721        {2, 3, & da_deactivate_ind}, 
31722        {2, 2, & da_deactivate}, 
31723        {1, 0, & da_activate}, 
31724        {1, 4, & da_ui}, 
31725        {1, 5, & da_timer}};
31726#line 200 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31727static char *strTeiState[3U]  = {      (char *)"ST_TEI_NOP",      (char *)"ST_TEI_IDREQ",      (char *)"ST_TEI_IDVERIFY"};
31728#line 221 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31729static char *strTeiEvent[9U]  = 
31730#line 221
31731  {      (char *)"EV_IDREQ",      (char *)"EV_ASSIGN",      (char *)"EV_ASSIGN_REQ",      (char *)"EV_DENIED", 
31732        (char *)"EV_CHKREQ",      (char *)"EV_CHKRESP",      (char *)"EV_REMOVE",      (char *)"EV_VERIFY", 
31733        (char *)"EV_TIMER"};
31734#line 235 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31735static void tei_debug(struct FsmInst *fi , char *fmt  , ...) 
31736{ struct teimgr *tm ;
31737  struct va_format vaf ;
31738  va_list va ;
31739  void *__cil_tmp6 ;
31740  u_int __cil_tmp7 ;
31741  unsigned int __cil_tmp8 ;
31742  __builtin_va_list __cil_tmp9 ;
31743  struct layer2 *__cil_tmp10 ;
31744  signed char __cil_tmp11 ;
31745  int __cil_tmp12 ;
31746  struct layer2 *__cil_tmp13 ;
31747  signed char __cil_tmp14 ;
31748  int __cil_tmp15 ;
31749  __builtin_va_list __cil_tmp16 ;
31750
31751  {
31752#line 237
31753  __cil_tmp6 = fi->userdata;
31754#line 237
31755  tm = (struct teimgr *)__cil_tmp6;
31756  {
31757#line 241
31758  __cil_tmp7 = *debug___5;
31759#line 241
31760  __cil_tmp8 = __cil_tmp7 & 2097152U;
31761#line 241
31762  if (__cil_tmp8 == 0U) {
31763#line 242
31764    return;
31765  } else {
31766
31767  }
31768  }
31769  {
31770#line 244
31771  //__cil_tmp9 = (__builtin_va_list )(& va);
31772#line 244
31773  //__builtin_va_start(&va);
31774#line 246
31775  vaf.fmt = (char const   *)fmt;
31776#line 247
31777  vaf.va = & va;
31778#line 249
31779  __cil_tmp10 = tm->l2;
31780#line 249
31781  __cil_tmp11 = __cil_tmp10->sapi;
31782#line 249
31783  __cil_tmp12 = (int )__cil_tmp11;
31784#line 249
31785  __cil_tmp13 = tm->l2;
31786#line 249
31787  __cil_tmp14 = __cil_tmp13->tei;
31788#line 249
31789  __cil_tmp15 = (int )__cil_tmp14;
31790#line 249
31791  printk("<7>sapi(%d) tei(%d): %pV\n", __cil_tmp12, __cil_tmp15, & vaf);
31792#line 252
31793  //__cil_tmp16 = (__builtin_va_list )(& va);
31794#line 252
31795  //__builtin_va_end(&va);
31796  }
31797#line 253
31798  return;
31799}
31800}
31801#line 258 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31802static int get_free_id(struct manager *mgr ) 
31803{ u64 ids ;
31804  int i ;
31805  struct layer2 *l2 ;
31806  struct list_head  const  *__mptr ;
31807  struct list_head  const  *__mptr___0 ;
31808  int tmp ;
31809  struct list_head *__cil_tmp8 ;
31810  u_int __cil_tmp9 ;
31811  u_int __cil_tmp10 ;
31812  int __cil_tmp11 ;
31813  unsigned long volatile   *__cil_tmp12 ;
31814  struct list_head *__cil_tmp13 ;
31815  struct list_head *__cil_tmp14 ;
31816  unsigned long __cil_tmp15 ;
31817  struct list_head *__cil_tmp16 ;
31818  unsigned long __cil_tmp17 ;
31819  unsigned long const volatile   *__cil_tmp18 ;
31820
31821  {
31822#line 260
31823  ids = 0ULL;
31824#line 264
31825  __cil_tmp8 = mgr->layer2.next;
31826#line 264
31827  __mptr = (struct list_head  const  *)__cil_tmp8;
31828#line 264
31829  l2 = (struct layer2 *)__mptr;
31830#line 264
31831  goto ldv_38634;
31832  ldv_38633: ;
31833  {
31834#line 265
31835  __cil_tmp9 = l2->ch.nr;
31836#line 265
31837  if (__cil_tmp9 > 63U) {
31838    {
31839#line 266
31840    printk("<4>%s: more as 63 layer2 for one device\n", "get_free_id");
31841    }
31842#line 269
31843    return (-16);
31844  } else {
31845
31846  }
31847  }
31848  {
31849#line 271
31850  __cil_tmp10 = l2->ch.nr;
31851#line 271
31852  __cil_tmp11 = (int )__cil_tmp10;
31853#line 271
31854  __cil_tmp12 = (unsigned long volatile   *)(& ids);
31855#line 271
31856  test_and_set_bit(__cil_tmp11, __cil_tmp12);
31857#line 264
31858  __cil_tmp13 = l2->list.next;
31859#line 264
31860  __mptr___0 = (struct list_head  const  *)__cil_tmp13;
31861#line 264
31862  l2 = (struct layer2 *)__mptr___0;
31863  }
31864  ldv_38634: ;
31865  {
31866#line 264
31867  __cil_tmp14 = & mgr->layer2;
31868#line 264
31869  __cil_tmp15 = (unsigned long )__cil_tmp14;
31870#line 264
31871  __cil_tmp16 = & l2->list;
31872#line 264
31873  __cil_tmp17 = (unsigned long )__cil_tmp16;
31874#line 264
31875  if (__cil_tmp17 != __cil_tmp15) {
31876#line 265
31877    goto ldv_38633;
31878  } else {
31879#line 267
31880    goto ldv_38635;
31881  }
31882  }
31883  ldv_38635: 
31884#line 273
31885  i = 1;
31886#line 273
31887  goto ldv_38637;
31888  ldv_38636: 
31889  {
31890#line 274
31891  __cil_tmp18 = (unsigned long const volatile   *)(& ids);
31892#line 274
31893  tmp = variable_test_bit(i, __cil_tmp18);
31894  }
31895#line 274
31896  if (tmp == 0) {
31897#line 275
31898    return (i);
31899  } else {
31900
31901  }
31902#line 273
31903  i = i + 1;
31904  ldv_38637: ;
31905#line 273
31906  if (i <= 63) {
31907#line 274
31908    goto ldv_38636;
31909  } else {
31910#line 276
31911    goto ldv_38638;
31912  }
31913  ldv_38638: 
31914  {
31915#line 276
31916  printk("<4>%s: more as 63 layer2 for one device\n", "get_free_id");
31917  }
31918#line 278
31919  return (-16);
31920}
31921}
31922#line 282 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
31923static int get_free_tei(struct manager *mgr ) 
31924{ u64 ids ;
31925  int i ;
31926  struct layer2 *l2 ;
31927  struct list_head  const  *__mptr ;
31928  struct list_head  const  *__mptr___0 ;
31929  int tmp ;
31930  struct list_head *__cil_tmp8 ;
31931  u_int __cil_tmp9 ;
31932  u_int __cil_tmp10 ;
31933  unsigned int __cil_tmp11 ;
31934  u_int __cil_tmp12 ;
31935  u_int __cil_tmp13 ;
31936  unsigned long volatile   *__cil_tmp14 ;
31937  struct list_head *__cil_tmp15 ;
31938  struct list_head *__cil_tmp16 ;
31939  unsigned long __cil_tmp17 ;
31940  struct list_head *__cil_tmp18 ;
31941  unsigned long __cil_tmp19 ;
31942  unsigned long const volatile   *__cil_tmp20 ;
31943
31944  {
31945#line 284
31946  ids = 0ULL;
31947#line 288
31948  __cil_tmp8 = mgr->layer2.next;
31949#line 288
31950  __mptr = (struct list_head  const  *)__cil_tmp8;
31951#line 288
31952  l2 = (struct layer2 *)__mptr;
31953#line 288
31954  goto ldv_38651;
31955  ldv_38650: ;
31956  {
31957#line 289
31958  __cil_tmp9 = l2->ch.nr;
31959#line 289
31960  if (__cil_tmp9 == 0U) {
31961#line 290
31962    goto ldv_38649;
31963  } else {
31964
31965  }
31966  }
31967  {
31968#line 291
31969  __cil_tmp10 = l2->ch.addr;
31970#line 291
31971  __cil_tmp11 = __cil_tmp10 & 255U;
31972#line 291
31973  if (__cil_tmp11 != 0U) {
31974#line 292
31975    goto ldv_38649;
31976  } else {
31977
31978  }
31979  }
31980#line 293
31981  __cil_tmp12 = l2->ch.addr;
31982#line 293
31983  __cil_tmp13 = __cil_tmp12 >> 8;
31984#line 293
31985  i = (int )__cil_tmp13;
31986#line 294
31987  if (i <= 63) {
31988#line 295
31989    goto ldv_38649;
31990  } else {
31991
31992  }
31993  {
31994#line 296
31995  i = i + -64;
31996#line 298
31997  __cil_tmp14 = (unsigned long volatile   *)(& ids);
31998#line 298
31999  test_and_set_bit(i, __cil_tmp14);
32000  }
32001  ldv_38649: 
32002#line 288
32003  __cil_tmp15 = l2->list.next;
32004#line 288
32005  __mptr___0 = (struct list_head  const  *)__cil_tmp15;
32006#line 288
32007  l2 = (struct layer2 *)__mptr___0;
32008  ldv_38651: ;
32009  {
32010#line 288
32011  __cil_tmp16 = & mgr->layer2;
32012#line 288
32013  __cil_tmp17 = (unsigned long )__cil_tmp16;
32014#line 288
32015  __cil_tmp18 = & l2->list;
32016#line 288
32017  __cil_tmp19 = (unsigned long )__cil_tmp18;
32018#line 288
32019  if (__cil_tmp19 != __cil_tmp17) {
32020#line 289
32021    goto ldv_38650;
32022  } else {
32023#line 291
32024    goto ldv_38652;
32025  }
32026  }
32027  ldv_38652: 
32028#line 300
32029  i = 0;
32030#line 300
32031  goto ldv_38654;
32032  ldv_38653: 
32033  {
32034#line 301
32035  __cil_tmp20 = (unsigned long const volatile   *)(& ids);
32036#line 301
32037  tmp = variable_test_bit(i, __cil_tmp20);
32038  }
32039#line 301
32040  if (tmp == 0) {
32041#line 302
32042    return (i + 64);
32043  } else {
32044
32045  }
32046#line 300
32047  i = i + 1;
32048  ldv_38654: ;
32049#line 300
32050  if (i <= 63) {
32051#line 301
32052    goto ldv_38653;
32053  } else {
32054#line 303
32055    goto ldv_38655;
32056  }
32057  ldv_38655: 
32058  {
32059#line 303
32060  printk("<4>%s: more as 63 dynamic tei for one device\n", "get_free_tei");
32061  }
32062#line 305
32063  return (-1);
32064}
32065}
32066#line 309 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32067static void teiup_create(struct manager *mgr , u_int prim , int len , void *arg ) 
32068{ struct sk_buff *skb ;
32069  struct mISDNhead *hh ;
32070  int err ;
32071  size_t __len ;
32072  void *__ret ;
32073  unsigned char *tmp___0 ;
32074  unsigned int __cil_tmp11 ;
32075  struct sk_buff *__cil_tmp12 ;
32076  unsigned long __cil_tmp13 ;
32077  unsigned long __cil_tmp14 ;
32078  char (*__cil_tmp15)[48U] ;
32079  u_int __cil_tmp16 ;
32080  u_int __cil_tmp17 ;
32081  u_int __cil_tmp18 ;
32082  unsigned int __cil_tmp19 ;
32083  void *__cil_tmp20 ;
32084  void const   *__cil_tmp21 ;
32085  struct mISDNchannel *__cil_tmp22 ;
32086  send_func_t *__cil_tmp23 ;
32087  struct mISDNchannel *__cil_tmp24 ;
32088
32089  {
32090  {
32091#line 315
32092  __cil_tmp11 = (unsigned int )len;
32093#line 315
32094  skb = mI_alloc_skb(__cil_tmp11, 32U);
32095  }
32096  {
32097#line 316
32098  __cil_tmp12 = (struct sk_buff *)0;
32099#line 316
32100  __cil_tmp13 = (unsigned long )__cil_tmp12;
32101#line 316
32102  __cil_tmp14 = (unsigned long )skb;
32103#line 316
32104  if (__cil_tmp14 == __cil_tmp13) {
32105#line 317
32106    return;
32107  } else {
32108
32109  }
32110  }
32111#line 318
32112  __cil_tmp15 = & skb->cb;
32113#line 318
32114  hh = (struct mISDNhead *)__cil_tmp15;
32115#line 319
32116  hh->prim = prim;
32117#line 320
32118  __cil_tmp16 = mgr->ch.addr;
32119#line 320
32120  __cil_tmp17 = mgr->ch.nr;
32121#line 320
32122  __cil_tmp18 = __cil_tmp17 << 16;
32123#line 320
32124  hh->id = __cil_tmp18 | __cil_tmp16;
32125#line 321
32126  if (len != 0) {
32127    {
32128#line 322
32129    __len = (size_t )len;
32130#line 322
32131    __cil_tmp19 = (unsigned int )len;
32132#line 322
32133    tmp___0 = skb_put(skb, __cil_tmp19);
32134#line 322
32135    __cil_tmp20 = (void *)tmp___0;
32136#line 322
32137    __cil_tmp21 = (void const   *)arg;
32138#line 322
32139    __ret = __builtin_memcpy(__cil_tmp20, __cil_tmp21, __len);
32140    }
32141  } else {
32142
32143  }
32144  {
32145#line 323
32146  __cil_tmp22 = mgr->up;
32147#line 323
32148  __cil_tmp23 = __cil_tmp22->send;
32149#line 323
32150  __cil_tmp24 = mgr->up;
32151#line 323
32152  err = (*__cil_tmp23)(__cil_tmp24, skb);
32153  }
32154#line 324
32155  if (err != 0) {
32156    {
32157#line 325
32158    printk("<4>%s: err=%d\n", "teiup_create", err);
32159#line 326
32160    consume_skb(skb);
32161    }
32162  } else {
32163
32164  }
32165#line 328
32166  return;
32167}
32168}
32169#line 331 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32170static u_int new_id(struct manager *mgr ) 
32171{ u_int id ;
32172  u_int tmp ;
32173  u_int __cil_tmp4 ;
32174
32175  {
32176#line 335
32177  tmp = mgr->nextid;
32178#line 335
32179  __cil_tmp4 = mgr->nextid;
32180#line 335
32181  mgr->nextid = __cil_tmp4 + 1U;
32182#line 335
32183  id = tmp;
32184#line 336
32185  if (id == 32767U) {
32186#line 337
32187    mgr->nextid = 1U;
32188  } else {
32189
32190  }
32191#line 338
32192  id = id << 16;
32193#line 339
32194  id = id | 32512U;
32195#line 340
32196  id = id | 63U;
32197#line 341
32198  return (id);
32199}
32200}
32201#line 345 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32202static void do_send(struct manager *mgr ) 
32203{ int tmp ;
32204  struct sk_buff *skb ;
32205  struct sk_buff *tmp___0 ;
32206  int tmp___1 ;
32207  int tmp___2 ;
32208  u_long *__cil_tmp7 ;
32209  unsigned long const volatile   *__cil_tmp8 ;
32210  u_long *__cil_tmp9 ;
32211  unsigned long volatile   *__cil_tmp10 ;
32212  struct sk_buff_head *__cil_tmp11 ;
32213  struct sk_buff *__cil_tmp12 ;
32214  unsigned long __cil_tmp13 ;
32215  unsigned long __cil_tmp14 ;
32216  u_long *__cil_tmp15 ;
32217  unsigned long volatile   *__cil_tmp16 ;
32218  char (*__cil_tmp17)[48U] ;
32219  struct mISDNhead *__cil_tmp18 ;
32220  struct FsmInst *__cil_tmp19 ;
32221  void *__cil_tmp20 ;
32222  send_func_t *__cil_tmp21 ;
32223  struct mISDNchannel *__cil_tmp22 ;
32224  u_long *__cil_tmp23 ;
32225  unsigned long volatile   *__cil_tmp24 ;
32226
32227  {
32228  {
32229#line 347
32230  __cil_tmp7 = & mgr->options;
32231#line 347
32232  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
32233#line 347
32234  tmp = constant_test_bit(16U, __cil_tmp8);
32235  }
32236#line 347
32237  if (tmp == 0) {
32238#line 348
32239    return;
32240  } else {
32241
32242  }
32243  {
32244#line 350
32245  __cil_tmp9 = & mgr->options;
32246#line 350
32247  __cil_tmp10 = (unsigned long volatile   *)__cil_tmp9;
32248#line 350
32249  tmp___2 = test_and_set_bit(17, __cil_tmp10);
32250  }
32251#line 350
32252  if (tmp___2 == 0) {
32253    {
32254#line 351
32255    __cil_tmp11 = & mgr->sendq;
32256#line 351
32257    tmp___0 = skb_dequeue(__cil_tmp11);
32258#line 351
32259    skb = tmp___0;
32260    }
32261    {
32262#line 353
32263    __cil_tmp12 = (struct sk_buff *)0;
32264#line 353
32265    __cil_tmp13 = (unsigned long )__cil_tmp12;
32266#line 353
32267    __cil_tmp14 = (unsigned long )skb;
32268#line 353
32269    if (__cil_tmp14 == __cil_tmp13) {
32270      {
32271#line 354
32272      __cil_tmp15 = & mgr->options;
32273#line 354
32274      __cil_tmp16 = (unsigned long volatile   *)__cil_tmp15;
32275#line 354
32276      test_and_clear_bit(17, __cil_tmp16);
32277      }
32278#line 355
32279      return;
32280    } else {
32281
32282    }
32283    }
32284    {
32285#line 357
32286    __cil_tmp17 = & skb->cb;
32287#line 357
32288    __cil_tmp18 = (struct mISDNhead *)__cil_tmp17;
32289#line 357
32290    mgr->lastid = __cil_tmp18->id;
32291#line 358
32292    __cil_tmp19 = & mgr->deact;
32293#line 358
32294    __cil_tmp20 = (void *)0;
32295#line 358
32296    mISDN_FsmEvent(__cil_tmp19, 4, __cil_tmp20);
32297#line 359
32298    __cil_tmp21 = mgr->ch.recv;
32299#line 359
32300    __cil_tmp22 = mgr->ch.peer;
32301#line 359
32302    tmp___1 = (*__cil_tmp21)(__cil_tmp22, skb);
32303    }
32304#line 359
32305    if (tmp___1 != 0) {
32306      {
32307#line 360
32308      consume_skb(skb);
32309#line 361
32310      __cil_tmp23 = & mgr->options;
32311#line 361
32312      __cil_tmp24 = (unsigned long volatile   *)__cil_tmp23;
32313#line 361
32314      test_and_clear_bit(17, __cil_tmp24);
32315#line 362
32316      mgr->lastid = 65534U;
32317      }
32318    } else {
32319
32320    }
32321  } else {
32322
32323  }
32324#line 365
32325  return;
32326}
32327}
32328#line 368 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32329static void do_ack(struct manager *mgr , u_int id ) 
32330{ struct sk_buff *skb ;
32331  int tmp ;
32332  int tmp___0 ;
32333  int tmp___1 ;
32334  u_long *__cil_tmp7 ;
32335  unsigned long const volatile   *__cil_tmp8 ;
32336  u_int __cil_tmp9 ;
32337  u_long *__cil_tmp10 ;
32338  unsigned long const volatile   *__cil_tmp11 ;
32339  struct sk_buff_head *__cil_tmp12 ;
32340  struct sk_buff *__cil_tmp13 ;
32341  unsigned long __cil_tmp14 ;
32342  unsigned long __cil_tmp15 ;
32343  char (*__cil_tmp16)[48U] ;
32344  struct mISDNhead *__cil_tmp17 ;
32345  send_func_t *__cil_tmp18 ;
32346  struct mISDNchannel *__cil_tmp19 ;
32347  u_long *__cil_tmp20 ;
32348  unsigned long volatile   *__cil_tmp21 ;
32349
32350  {
32351  {
32352#line 370
32353  __cil_tmp7 = & mgr->options;
32354#line 370
32355  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
32356#line 370
32357  tmp___1 = constant_test_bit(17U, __cil_tmp8);
32358  }
32359#line 370
32360  if (tmp___1 != 0) {
32361    {
32362#line 371
32363    __cil_tmp9 = mgr->lastid;
32364#line 371
32365    if (__cil_tmp9 == id) {
32366      {
32367#line 372
32368      __cil_tmp10 = & mgr->options;
32369#line 372
32370      __cil_tmp11 = (unsigned long const volatile   *)__cil_tmp10;
32371#line 372
32372      tmp___0 = constant_test_bit(16U, __cil_tmp11);
32373      }
32374#line 372
32375      if (tmp___0 != 0) {
32376        {
32377#line 375
32378        __cil_tmp12 = & mgr->sendq;
32379#line 375
32380        skb = skb_dequeue(__cil_tmp12);
32381        }
32382        {
32383#line 376
32384        __cil_tmp13 = (struct sk_buff *)0;
32385#line 376
32386        __cil_tmp14 = (unsigned long )__cil_tmp13;
32387#line 376
32388        __cil_tmp15 = (unsigned long )skb;
32389#line 376
32390        if (__cil_tmp15 != __cil_tmp14) {
32391          {
32392#line 377
32393          __cil_tmp16 = & skb->cb;
32394#line 377
32395          __cil_tmp17 = (struct mISDNhead *)__cil_tmp16;
32396#line 377
32397          mgr->lastid = __cil_tmp17->id;
32398#line 378
32399          __cil_tmp18 = mgr->ch.recv;
32400#line 378
32401          __cil_tmp19 = mgr->ch.peer;
32402#line 378
32403          tmp = (*__cil_tmp18)(__cil_tmp19, skb);
32404          }
32405#line 378
32406          if (tmp == 0) {
32407#line 379
32408            return;
32409          } else {
32410
32411          }
32412          {
32413#line 380
32414          consume_skb(skb);
32415          }
32416        } else {
32417
32418        }
32419        }
32420      } else {
32421
32422      }
32423      {
32424#line 383
32425      mgr->lastid = 65534U;
32426#line 384
32427      __cil_tmp20 = & mgr->options;
32428#line 384
32429      __cil_tmp21 = (unsigned long volatile   *)__cil_tmp20;
32430#line 384
32431      test_and_clear_bit(17, __cil_tmp21);
32432      }
32433    } else {
32434
32435    }
32436    }
32437  } else {
32438
32439  }
32440#line 386
32441  return;
32442}
32443}
32444#line 390 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32445static void mgr_send_down(struct manager *mgr , struct sk_buff *skb ) 
32446{ int tmp ;
32447  struct sk_buff_head *__cil_tmp4 ;
32448  u_long *__cil_tmp5 ;
32449  unsigned long const volatile   *__cil_tmp6 ;
32450  struct mISDNchannel *__cil_tmp7 ;
32451  void *__cil_tmp8 ;
32452
32453  {
32454  {
32455#line 392
32456  __cil_tmp4 = & mgr->sendq;
32457#line 392
32458  skb_queue_tail(__cil_tmp4, skb);
32459#line 393
32460  __cil_tmp5 = & mgr->options;
32461#line 393
32462  __cil_tmp6 = (unsigned long const volatile   *)__cil_tmp5;
32463#line 393
32464  tmp = constant_test_bit(16U, __cil_tmp6);
32465  }
32466#line 393
32467  if (tmp == 0) {
32468    {
32469#line 394
32470    __cil_tmp7 = & mgr->ch;
32471#line 394
32472    __cil_tmp8 = (void *)0;
32473#line 394
32474    _queue_data(__cil_tmp7, 257U, 65535U, 0U, __cil_tmp8, 208U);
32475    }
32476  } else {
32477    {
32478#line 397
32479    do_send(mgr);
32480    }
32481  }
32482#line 398
32483  return;
32484}
32485}
32486#line 402 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32487static int dl_unit_data(struct manager *mgr , struct sk_buff *skb ) 
32488{ int tmp ;
32489  int tmp___0 ;
32490  u_long *__cil_tmp5 ;
32491  unsigned long const volatile   *__cil_tmp6 ;
32492  u_long *__cil_tmp7 ;
32493  unsigned long const volatile   *__cil_tmp8 ;
32494  struct mISDNchannel *__cil_tmp9 ;
32495  void *__cil_tmp10 ;
32496  unsigned char *__cil_tmp11 ;
32497  unsigned char *__cil_tmp12 ;
32498  unsigned char *__cil_tmp13 ;
32499  unsigned char *__cil_tmp14 ;
32500  unsigned char *__cil_tmp15 ;
32501  char (*__cil_tmp16)[48U] ;
32502  struct mISDNhead *__cil_tmp17 ;
32503  char (*__cil_tmp18)[48U] ;
32504  struct mISDNhead *__cil_tmp19 ;
32505  struct sk_buff_head *__cil_tmp20 ;
32506
32507  {
32508  {
32509#line 404
32510  __cil_tmp5 = & mgr->options;
32511#line 404
32512  __cil_tmp6 = (unsigned long const volatile   *)__cil_tmp5;
32513#line 404
32514  tmp = constant_test_bit(25U, __cil_tmp6);
32515  }
32516#line 404
32517  if (tmp == 0) {
32518#line 405
32519    return (-22);
32520  } else {
32521
32522  }
32523  {
32524#line 406
32525  __cil_tmp7 = & mgr->options;
32526#line 406
32527  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
32528#line 406
32529  tmp___0 = constant_test_bit(16U, __cil_tmp8);
32530  }
32531#line 406
32532  if (tmp___0 == 0) {
32533    {
32534#line 407
32535    __cil_tmp9 = & mgr->ch;
32536#line 407
32537    __cil_tmp10 = (void *)0;
32538#line 407
32539    _queue_data(__cil_tmp9, 257U, 65535U, 0U, __cil_tmp10, 208U);
32540    }
32541  } else {
32542
32543  }
32544  {
32545#line 409
32546  skb_push(skb, 3U);
32547#line 410
32548  __cil_tmp11 = skb->data;
32549#line 410
32550  *__cil_tmp11 = (unsigned char)2;
32551#line 411
32552  __cil_tmp12 = skb->data;
32553#line 411
32554  __cil_tmp13 = __cil_tmp12 + 1UL;
32555#line 411
32556  *__cil_tmp13 = (unsigned char)255;
32557#line 412
32558  __cil_tmp14 = skb->data;
32559#line 412
32560  __cil_tmp15 = __cil_tmp14 + 2UL;
32561#line 412
32562  *__cil_tmp15 = (unsigned char)3;
32563#line 413
32564  __cil_tmp16 = & skb->cb;
32565#line 413
32566  __cil_tmp17 = (struct mISDNhead *)__cil_tmp16;
32567#line 413
32568  __cil_tmp17->prim = 8193U;
32569#line 414
32570  __cil_tmp18 = & skb->cb;
32571#line 414
32572  __cil_tmp19 = (struct mISDNhead *)__cil_tmp18;
32573#line 414
32574  __cil_tmp19->id = new_id(mgr);
32575#line 415
32576  __cil_tmp20 = & mgr->sendq;
32577#line 415
32578  skb_queue_tail(__cil_tmp20, skb);
32579#line 416
32580  do_send(mgr);
32581  }
32582#line 417
32583  return (0);
32584}
32585}
32586#line 421 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32587static unsigned int random_ri(void) 
32588{ u16 x ;
32589  void *__cil_tmp2 ;
32590
32591  {
32592  {
32593#line 425
32594  __cil_tmp2 = (void *)(& x);
32595#line 425
32596  get_random_bytes(__cil_tmp2, 2);
32597  }
32598#line 426
32599  return ((unsigned int )x);
32600}
32601}
32602#line 430 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32603static struct layer2 *findtei(struct manager *mgr , int tei ) 
32604{ struct layer2 *l2 ;
32605  u_long flags ;
32606  struct list_head  const  *__mptr ;
32607  struct list_head  const  *__mptr___0 ;
32608  rwlock_t *__cil_tmp7 ;
32609  struct list_head *__cil_tmp8 ;
32610  signed char __cil_tmp9 ;
32611  int __cil_tmp10 ;
32612  signed char __cil_tmp11 ;
32613  int __cil_tmp12 ;
32614  signed char __cil_tmp13 ;
32615  int __cil_tmp14 ;
32616  signed char __cil_tmp15 ;
32617  int __cil_tmp16 ;
32618  struct list_head *__cil_tmp17 ;
32619  struct list_head *__cil_tmp18 ;
32620  unsigned long __cil_tmp19 ;
32621  struct list_head *__cil_tmp20 ;
32622  unsigned long __cil_tmp21 ;
32623  rwlock_t *__cil_tmp22 ;
32624
32625  {
32626  {
32627#line 435
32628  __cil_tmp7 = & mgr->lock;
32629#line 435
32630  flags = _raw_read_lock_irqsave(__cil_tmp7);
32631#line 436
32632  __cil_tmp8 = mgr->layer2.next;
32633#line 436
32634  __mptr = (struct list_head  const  *)__cil_tmp8;
32635#line 436
32636  l2 = (struct layer2 *)__mptr;
32637  }
32638#line 436
32639  goto ldv_38710;
32640  ldv_38709: ;
32641  {
32642#line 437
32643  __cil_tmp9 = l2->sapi;
32644#line 437
32645  __cil_tmp10 = (int )__cil_tmp9;
32646#line 437
32647  if (__cil_tmp10 == 0) {
32648    {
32649#line 437
32650    __cil_tmp11 = l2->tei;
32651#line 437
32652    __cil_tmp12 = (int )__cil_tmp11;
32653#line 437
32654    if (__cil_tmp12 > 0) {
32655      {
32656#line 437
32657      __cil_tmp13 = l2->tei;
32658#line 437
32659      __cil_tmp14 = (int )__cil_tmp13;
32660#line 437
32661      if (__cil_tmp14 != 127) {
32662        {
32663#line 437
32664        __cil_tmp15 = l2->tei;
32665#line 437
32666        __cil_tmp16 = (int )__cil_tmp15;
32667#line 437
32668        if (__cil_tmp16 == tei) {
32669#line 439
32670          goto done;
32671        } else {
32672
32673        }
32674        }
32675      } else {
32676
32677      }
32678      }
32679    } else {
32680
32681    }
32682    }
32683  } else {
32684
32685  }
32686  }
32687#line 436
32688  __cil_tmp17 = l2->list.next;
32689#line 436
32690  __mptr___0 = (struct list_head  const  *)__cil_tmp17;
32691#line 436
32692  l2 = (struct layer2 *)__mptr___0;
32693  ldv_38710: ;
32694  {
32695#line 436
32696  __cil_tmp18 = & mgr->layer2;
32697#line 436
32698  __cil_tmp19 = (unsigned long )__cil_tmp18;
32699#line 436
32700  __cil_tmp20 = & l2->list;
32701#line 436
32702  __cil_tmp21 = (unsigned long )__cil_tmp20;
32703#line 436
32704  if (__cil_tmp21 != __cil_tmp19) {
32705#line 437
32706    goto ldv_38709;
32707  } else {
32708#line 439
32709    goto ldv_38711;
32710  }
32711  }
32712  ldv_38711: 
32713#line 441
32714  l2 = (struct layer2 *)0;
32715  done: 
32716  {
32717#line 443
32718  __cil_tmp22 = & mgr->lock;
32719#line 443
32720  _raw_read_unlock_irqrestore(__cil_tmp22, flags);
32721  }
32722#line 444
32723  return (l2);
32724}
32725}
32726#line 448 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32727static void put_tei_msg(struct manager *mgr , u_char m_id , unsigned int ri , int tei ) 
32728{ struct sk_buff *skb ;
32729  u_char bp[8U] ;
32730  int tmp ;
32731  u_int tmp___0 ;
32732  u_long *__cil_tmp9 ;
32733  unsigned long const volatile   *__cil_tmp10 ;
32734  unsigned int __cil_tmp11 ;
32735  unsigned int __cil_tmp12 ;
32736  unsigned int __cil_tmp13 ;
32737  int __cil_tmp14 ;
32738  signed char __cil_tmp15 ;
32739  int __cil_tmp16 ;
32740  int __cil_tmp17 ;
32741  void *__cil_tmp18 ;
32742  struct sk_buff *__cil_tmp19 ;
32743  unsigned long __cil_tmp20 ;
32744  unsigned long __cil_tmp21 ;
32745
32746  {
32747  {
32748#line 453
32749  bp[0] = (u_char )252U;
32750#line 454
32751  __cil_tmp9 = & mgr->options;
32752#line 454
32753  __cil_tmp10 = (unsigned long const volatile   *)__cil_tmp9;
32754#line 454
32755  tmp = constant_test_bit(25U, __cil_tmp10);
32756  }
32757#line 454
32758  if (tmp != 0) {
32759#line 455
32760    __cil_tmp11 = (unsigned int )bp[0];
32761#line 455
32762    __cil_tmp12 = __cil_tmp11 | 2U;
32763#line 455
32764    bp[0] = (u_char )__cil_tmp12;
32765  } else {
32766
32767  }
32768  {
32769#line 456
32770  bp[1] = (u_char )255U;
32771#line 457
32772  bp[2] = (u_char )3U;
32773#line 458
32774  bp[3] = (u_char )15U;
32775#line 459
32776  __cil_tmp13 = ri >> 8;
32777#line 459
32778  bp[4] = (u_char )__cil_tmp13;
32779#line 460
32780  bp[5] = (u_char )ri;
32781#line 461
32782  bp[6] = m_id;
32783#line 462
32784  __cil_tmp14 = tei << 1;
32785#line 462
32786  __cil_tmp15 = (signed char )__cil_tmp14;
32787#line 462
32788  __cil_tmp16 = (int )__cil_tmp15;
32789#line 462
32790  __cil_tmp17 = __cil_tmp16 | 1;
32791#line 462
32792  bp[7] = (u_char )__cil_tmp17;
32793#line 463
32794  tmp___0 = new_id(mgr);
32795#line 463
32796  __cil_tmp18 = (void *)(& bp);
32797#line 463
32798  skb = _alloc_mISDN_skb(8193U, tmp___0, 8U, __cil_tmp18, 32U);
32799  }
32800  {
32801#line 464
32802  __cil_tmp19 = (struct sk_buff *)0;
32803#line 464
32804  __cil_tmp20 = (unsigned long )__cil_tmp19;
32805#line 464
32806  __cil_tmp21 = (unsigned long )skb;
32807#line 464
32808  if (__cil_tmp21 == __cil_tmp20) {
32809    {
32810#line 465
32811    printk("<4>%s: no skb for tei msg\n", "put_tei_msg");
32812    }
32813#line 466
32814    return;
32815  } else {
32816
32817  }
32818  }
32819  {
32820#line 468
32821  mgr_send_down(mgr, skb);
32822  }
32823#line 469
32824  return;
32825}
32826}
32827#line 472 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32828static void tei_id_request(struct FsmInst *fi , int event , void *arg ) 
32829{ struct teimgr *tm ;
32830  unsigned int tmp ;
32831  void *__cil_tmp6 ;
32832  struct layer2 *__cil_tmp7 ;
32833  signed char __cil_tmp8 ;
32834  int __cil_tmp9 ;
32835  void (*__cil_tmp10)(struct FsmInst * , char *  , ...) ;
32836  struct FsmInst *__cil_tmp11 ;
32837  char *__cil_tmp12 ;
32838  struct layer2 *__cil_tmp13 ;
32839  signed char __cil_tmp14 ;
32840  int __cil_tmp15 ;
32841  u_int __cil_tmp16 ;
32842  unsigned int __cil_tmp17 ;
32843  void (*__cil_tmp18)(struct FsmInst * , char *  , ...) ;
32844  struct FsmInst *__cil_tmp19 ;
32845  char *__cil_tmp20 ;
32846  int __cil_tmp21 ;
32847  struct manager *__cil_tmp22 ;
32848  u_char __cil_tmp23 ;
32849  int __cil_tmp24 ;
32850  unsigned int __cil_tmp25 ;
32851  struct FsmTimer *__cil_tmp26 ;
32852  int __cil_tmp27 ;
32853  void *__cil_tmp28 ;
32854
32855  {
32856#line 474
32857  __cil_tmp6 = fi->userdata;
32858#line 474
32859  tm = (struct teimgr *)__cil_tmp6;
32860  {
32861#line 476
32862  __cil_tmp7 = tm->l2;
32863#line 476
32864  __cil_tmp8 = __cil_tmp7->tei;
32865#line 476
32866  __cil_tmp9 = (int )__cil_tmp8;
32867#line 476
32868  if (__cil_tmp9 != 127) {
32869    {
32870#line 477
32871    __cil_tmp10 = tm->tei_m.printdebug;
32872#line 477
32873    __cil_tmp11 = & tm->tei_m;
32874#line 477
32875    __cil_tmp12 = (char *)"assign request for already assigned tei %d";
32876#line 477
32877    __cil_tmp13 = tm->l2;
32878#line 477
32879    __cil_tmp14 = __cil_tmp13->tei;
32880#line 477
32881    __cil_tmp15 = (int )__cil_tmp14;
32882#line 477
32883    (*__cil_tmp10)(__cil_tmp11, __cil_tmp12, __cil_tmp15);
32884    }
32885#line 480
32886    return;
32887  } else {
32888
32889  }
32890  }
32891  {
32892#line 482
32893  tmp = random_ri();
32894#line 482
32895  tm->ri = (int )tmp;
32896  }
32897  {
32898#line 483
32899  __cil_tmp16 = *debug___5;
32900#line 483
32901  __cil_tmp17 = __cil_tmp16 & 1048576U;
32902#line 483
32903  if (__cil_tmp17 != 0U) {
32904    {
32905#line 484
32906    __cil_tmp18 = tm->tei_m.printdebug;
32907#line 484
32908    __cil_tmp19 = & tm->tei_m;
32909#line 484
32910    __cil_tmp20 = (char *)"assign request ri %d";
32911#line 484
32912    __cil_tmp21 = tm->ri;
32913#line 484
32914    (*__cil_tmp18)(__cil_tmp19, __cil_tmp20, __cil_tmp21);
32915    }
32916  } else {
32917
32918  }
32919  }
32920  {
32921#line 486
32922  __cil_tmp22 = tm->mgr;
32923#line 486
32924  __cil_tmp23 = (u_char )1;
32925#line 486
32926  __cil_tmp24 = tm->ri;
32927#line 486
32928  __cil_tmp25 = (unsigned int )__cil_tmp24;
32929#line 486
32930  put_tei_msg(__cil_tmp22, __cil_tmp23, __cil_tmp25, 127);
32931#line 487
32932  mISDN_FsmChangeState(fi, 1);
32933#line 488
32934  __cil_tmp26 = & tm->timer;
32935#line 488
32936  __cil_tmp27 = tm->tval;
32937#line 488
32938  __cil_tmp28 = (void *)0;
32939#line 488
32940  mISDN_FsmAddTimer(__cil_tmp26, __cil_tmp27, 8, __cil_tmp28, 1);
32941#line 489
32942  tm->nval = 3;
32943  }
32944#line 490
32945  return;
32946}
32947}
32948#line 493 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
32949static void tei_id_assign(struct FsmInst *fi , int event , void *arg ) 
32950{ struct teimgr *tm ;
32951  struct layer2 *l2 ;
32952  u_char *dp ;
32953  int ri ;
32954  int tei ;
32955  u_char *tmp ;
32956  u_char *tmp___0 ;
32957  void *__cil_tmp11 ;
32958  u_char __cil_tmp12 ;
32959  unsigned int __cil_tmp13 ;
32960  unsigned int __cil_tmp14 ;
32961  u_char __cil_tmp15 ;
32962  int __cil_tmp16 ;
32963  u_char __cil_tmp17 ;
32964  int __cil_tmp18 ;
32965  u_int __cil_tmp19 ;
32966  unsigned int __cil_tmp20 ;
32967  void (*__cil_tmp21)(struct FsmInst * , char *  , ...) ;
32968  char *__cil_tmp22 ;
32969  struct manager *__cil_tmp23 ;
32970  struct layer2 *__cil_tmp24 ;
32971  unsigned long __cil_tmp25 ;
32972  unsigned long __cil_tmp26 ;
32973  struct teimgr *__cil_tmp27 ;
32974  int __cil_tmp28 ;
32975  void (*__cil_tmp29)(struct FsmInst * , char *  , ...) ;
32976  char *__cil_tmp30 ;
32977  int __cil_tmp31 ;
32978  struct FsmTimer *__cil_tmp32 ;
32979  struct layer2 *__cil_tmp33 ;
32980  u_long __cil_tmp34 ;
32981
32982  {
32983#line 495
32984  __cil_tmp11 = fi->userdata;
32985#line 495
32986  tm = (struct teimgr *)__cil_tmp11;
32987#line 497
32988  dp = (u_char *)arg;
32989#line 500
32990  tmp = dp;
32991#line 500
32992  dp = dp + 1;
32993#line 500
32994  __cil_tmp12 = *tmp;
32995#line 500
32996  __cil_tmp13 = (unsigned int )__cil_tmp12;
32997#line 500
32998  __cil_tmp14 = __cil_tmp13 << 8;
32999#line 500
33000  ri = (int )__cil_tmp14;
33001#line 501
33002  tmp___0 = dp;
33003#line 501
33004  dp = dp + 1;
33005#line 501
33006  __cil_tmp15 = *tmp___0;
33007#line 501
33008  __cil_tmp16 = (int )__cil_tmp15;
33009#line 501
33010  ri = __cil_tmp16 + ri;
33011#line 502
33012  dp = dp + 1;
33013#line 503
33014  __cil_tmp17 = *dp;
33015#line 503
33016  __cil_tmp18 = (int )__cil_tmp17;
33017#line 503
33018  tei = __cil_tmp18 >> 1;
33019  {
33020#line 504
33021  __cil_tmp19 = *debug___5;
33022#line 504
33023  __cil_tmp20 = __cil_tmp19 & 1048576U;
33024#line 504
33025  if (__cil_tmp20 != 0U) {
33026    {
33027#line 505
33028    __cil_tmp21 = tm->tei_m.printdebug;
33029#line 505
33030    __cil_tmp22 = (char *)"identity assign ri %d tei %d";
33031#line 505
33032    (*__cil_tmp21)(fi, __cil_tmp22, ri, tei);
33033    }
33034  } else {
33035
33036  }
33037  }
33038  {
33039#line 507
33040  __cil_tmp23 = tm->mgr;
33041#line 507
33042  l2 = findtei(__cil_tmp23, tei);
33043  }
33044  {
33045#line 508
33046  __cil_tmp24 = (struct layer2 *)0;
33047#line 508
33048  __cil_tmp25 = (unsigned long )__cil_tmp24;
33049#line 508
33050  __cil_tmp26 = (unsigned long )l2;
33051#line 508
33052  if (__cil_tmp26 != __cil_tmp25) {
33053    {
33054#line 509
33055    __cil_tmp27 = l2->tm;
33056#line 509
33057    __cil_tmp28 = __cil_tmp27->ri;
33058#line 509
33059    if (__cil_tmp28 != ri) {
33060      {
33061#line 510
33062      __cil_tmp29 = tm->tei_m.printdebug;
33063#line 510
33064      __cil_tmp30 = (char *)"possible duplicate assignment tei %d";
33065#line 510
33066      (*__cil_tmp29)(fi, __cil_tmp30, tei);
33067#line 512
33068      tei_l2(l2, 24324U, 0UL);
33069      }
33070    } else {
33071      {
33072#line 514
33073      __cil_tmp31 = tm->ri;
33074#line 514
33075      if (__cil_tmp31 == ri) {
33076        {
33077#line 515
33078        __cil_tmp32 = & tm->timer;
33079#line 515
33080        mISDN_FsmDelTimer(__cil_tmp32, 1);
33081#line 516
33082        mISDN_FsmChangeState(fi, 0);
33083#line 517
33084        __cil_tmp33 = tm->l2;
33085#line 517
33086        __cil_tmp34 = (u_long )tei;
33087#line 517
33088        tei_l2(__cil_tmp33, 6148U, __cil_tmp34);
33089        }
33090      } else {
33091
33092      }
33093      }
33094    }
33095    }
33096  } else {
33097
33098  }
33099  }
33100#line 519
33101  return;
33102}
33103}
33104#line 522 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33105static void tei_id_test_dup(struct FsmInst *fi , int event , void *arg ) 
33106{ struct teimgr *tm ;
33107  struct layer2 *l2 ;
33108  u_char *dp ;
33109  int tei ;
33110  int ri ;
33111  u_char *tmp ;
33112  u_char *tmp___0 ;
33113  void *__cil_tmp11 ;
33114  u_char __cil_tmp12 ;
33115  unsigned int __cil_tmp13 ;
33116  unsigned int __cil_tmp14 ;
33117  u_char __cil_tmp15 ;
33118  int __cil_tmp16 ;
33119  u_char __cil_tmp17 ;
33120  int __cil_tmp18 ;
33121  u_int __cil_tmp19 ;
33122  unsigned int __cil_tmp20 ;
33123  void (*__cil_tmp21)(struct FsmInst * , char *  , ...) ;
33124  char *__cil_tmp22 ;
33125  struct manager *__cil_tmp23 ;
33126  struct layer2 *__cil_tmp24 ;
33127  unsigned long __cil_tmp25 ;
33128  unsigned long __cil_tmp26 ;
33129  struct teimgr *__cil_tmp27 ;
33130  int __cil_tmp28 ;
33131  void (*__cil_tmp29)(struct FsmInst * , char *  , ...) ;
33132  char *__cil_tmp30 ;
33133  struct teimgr *__cil_tmp31 ;
33134  struct FsmInst *__cil_tmp32 ;
33135  void *__cil_tmp33 ;
33136
33137  {
33138#line 524
33139  __cil_tmp11 = fi->userdata;
33140#line 524
33141  tm = (struct teimgr *)__cil_tmp11;
33142#line 526
33143  dp = (u_char *)arg;
33144#line 529
33145  tmp = dp;
33146#line 529
33147  dp = dp + 1;
33148#line 529
33149  __cil_tmp12 = *tmp;
33150#line 529
33151  __cil_tmp13 = (unsigned int )__cil_tmp12;
33152#line 529
33153  __cil_tmp14 = __cil_tmp13 << 8;
33154#line 529
33155  ri = (int )__cil_tmp14;
33156#line 530
33157  tmp___0 = dp;
33158#line 530
33159  dp = dp + 1;
33160#line 530
33161  __cil_tmp15 = *tmp___0;
33162#line 530
33163  __cil_tmp16 = (int )__cil_tmp15;
33164#line 530
33165  ri = __cil_tmp16 + ri;
33166#line 531
33167  dp = dp + 1;
33168#line 532
33169  __cil_tmp17 = *dp;
33170#line 532
33171  __cil_tmp18 = (int )__cil_tmp17;
33172#line 532
33173  tei = __cil_tmp18 >> 1;
33174  {
33175#line 533
33176  __cil_tmp19 = *debug___5;
33177#line 533
33178  __cil_tmp20 = __cil_tmp19 & 1048576U;
33179#line 533
33180  if (__cil_tmp20 != 0U) {
33181    {
33182#line 534
33183    __cil_tmp21 = tm->tei_m.printdebug;
33184#line 534
33185    __cil_tmp22 = (char *)"foreign identity assign ri %d tei %d";
33186#line 534
33187    (*__cil_tmp21)(fi, __cil_tmp22, ri, tei);
33188    }
33189  } else {
33190
33191  }
33192  }
33193  {
33194#line 536
33195  __cil_tmp23 = tm->mgr;
33196#line 536
33197  l2 = findtei(__cil_tmp23, tei);
33198  }
33199  {
33200#line 537
33201  __cil_tmp24 = (struct layer2 *)0;
33202#line 537
33203  __cil_tmp25 = (unsigned long )__cil_tmp24;
33204#line 537
33205  __cil_tmp26 = (unsigned long )l2;
33206#line 537
33207  if (__cil_tmp26 != __cil_tmp25) {
33208    {
33209#line 538
33210    __cil_tmp27 = l2->tm;
33211#line 538
33212    __cil_tmp28 = __cil_tmp27->ri;
33213#line 538
33214    if (__cil_tmp28 != ri) {
33215      {
33216#line 539
33217      __cil_tmp29 = tm->tei_m.printdebug;
33218#line 539
33219      __cil_tmp30 = (char *)"possible duplicate assignment tei %d";
33220#line 539
33221      (*__cil_tmp29)(fi, __cil_tmp30, tei);
33222#line 541
33223      __cil_tmp31 = l2->tm;
33224#line 541
33225      __cil_tmp32 = & __cil_tmp31->tei_m;
33226#line 541
33227      __cil_tmp33 = (void *)0;
33228#line 541
33229      mISDN_FsmEvent(__cil_tmp32, 7, __cil_tmp33);
33230      }
33231    } else {
33232
33233    }
33234    }
33235  } else {
33236
33237  }
33238  }
33239#line 543
33240  return;
33241}
33242}
33243#line 547 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33244static void tei_id_denied(struct FsmInst *fi , int event , void *arg ) 
33245{ struct teimgr *tm ;
33246  u_char *dp ;
33247  int ri ;
33248  int tei ;
33249  u_char *tmp ;
33250  u_char *tmp___0 ;
33251  void *__cil_tmp10 ;
33252  u_char __cil_tmp11 ;
33253  unsigned int __cil_tmp12 ;
33254  unsigned int __cil_tmp13 ;
33255  u_char __cil_tmp14 ;
33256  int __cil_tmp15 ;
33257  u_char __cil_tmp16 ;
33258  int __cil_tmp17 ;
33259  u_int __cil_tmp18 ;
33260  unsigned int __cil_tmp19 ;
33261  void (*__cil_tmp20)(struct FsmInst * , char *  , ...) ;
33262  char *__cil_tmp21 ;
33263
33264  {
33265#line 549
33266  __cil_tmp10 = fi->userdata;
33267#line 549
33268  tm = (struct teimgr *)__cil_tmp10;
33269#line 550
33270  dp = (u_char *)arg;
33271#line 553
33272  tmp = dp;
33273#line 553
33274  dp = dp + 1;
33275#line 553
33276  __cil_tmp11 = *tmp;
33277#line 553
33278  __cil_tmp12 = (unsigned int )__cil_tmp11;
33279#line 553
33280  __cil_tmp13 = __cil_tmp12 << 8;
33281#line 553
33282  ri = (int )__cil_tmp13;
33283#line 554
33284  tmp___0 = dp;
33285#line 554
33286  dp = dp + 1;
33287#line 554
33288  __cil_tmp14 = *tmp___0;
33289#line 554
33290  __cil_tmp15 = (int )__cil_tmp14;
33291#line 554
33292  ri = __cil_tmp15 + ri;
33293#line 555
33294  dp = dp + 1;
33295#line 556
33296  __cil_tmp16 = *dp;
33297#line 556
33298  __cil_tmp17 = (int )__cil_tmp16;
33299#line 556
33300  tei = __cil_tmp17 >> 1;
33301  {
33302#line 557
33303  __cil_tmp18 = *debug___5;
33304#line 557
33305  __cil_tmp19 = __cil_tmp18 & 1048576U;
33306#line 557
33307  if (__cil_tmp19 != 0U) {
33308    {
33309#line 558
33310    __cil_tmp20 = tm->tei_m.printdebug;
33311#line 558
33312    __cil_tmp21 = (char *)"identity denied ri %d tei %d";
33313#line 558
33314    (*__cil_tmp20)(fi, __cil_tmp21, ri, tei);
33315    }
33316  } else {
33317
33318  }
33319  }
33320#line 559
33321  return;
33322}
33323}
33324#line 563 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33325static void tei_id_chk_req(struct FsmInst *fi , int event , void *arg ) 
33326{ struct teimgr *tm ;
33327  u_char *dp ;
33328  int tei ;
33329  unsigned int tmp ;
33330  void *__cil_tmp8 ;
33331  u_char *__cil_tmp9 ;
33332  u_char __cil_tmp10 ;
33333  int __cil_tmp11 ;
33334  u_int __cil_tmp12 ;
33335  unsigned int __cil_tmp13 ;
33336  void (*__cil_tmp14)(struct FsmInst * , char *  , ...) ;
33337  char *__cil_tmp15 ;
33338  struct layer2 *__cil_tmp16 ;
33339  signed char __cil_tmp17 ;
33340  int __cil_tmp18 ;
33341  struct FsmTimer *__cil_tmp19 ;
33342  struct FsmInst *__cil_tmp20 ;
33343  struct manager *__cil_tmp21 ;
33344  u_char __cil_tmp22 ;
33345  struct layer2 *__cil_tmp23 ;
33346  signed char __cil_tmp24 ;
33347  int __cil_tmp25 ;
33348  struct layer2 *__cil_tmp26 ;
33349  signed char __cil_tmp27 ;
33350  int __cil_tmp28 ;
33351  struct FsmTimer *__cil_tmp29 ;
33352  struct FsmInst *__cil_tmp30 ;
33353  struct manager *__cil_tmp31 ;
33354  u_char __cil_tmp32 ;
33355  struct layer2 *__cil_tmp33 ;
33356  signed char __cil_tmp34 ;
33357  int __cil_tmp35 ;
33358
33359  {
33360#line 565
33361  __cil_tmp8 = fi->userdata;
33362#line 565
33363  tm = (struct teimgr *)__cil_tmp8;
33364#line 566
33365  dp = (u_char *)arg;
33366#line 569
33367  __cil_tmp9 = dp + 3UL;
33368#line 569
33369  __cil_tmp10 = *__cil_tmp9;
33370#line 569
33371  __cil_tmp11 = (int )__cil_tmp10;
33372#line 569
33373  tei = __cil_tmp11 >> 1;
33374  {
33375#line 570
33376  __cil_tmp12 = *debug___5;
33377#line 570
33378  __cil_tmp13 = __cil_tmp12 & 1048576U;
33379#line 570
33380  if (__cil_tmp13 != 0U) {
33381    {
33382#line 571
33383    __cil_tmp14 = tm->tei_m.printdebug;
33384#line 571
33385    __cil_tmp15 = (char *)"identity check req tei %d";
33386#line 571
33387    (*__cil_tmp14)(fi, __cil_tmp15, tei);
33388    }
33389  } else {
33390
33391  }
33392  }
33393  {
33394#line 572
33395  __cil_tmp16 = tm->l2;
33396#line 572
33397  __cil_tmp17 = __cil_tmp16->tei;
33398#line 572
33399  __cil_tmp18 = (int )__cil_tmp17;
33400#line 572
33401  if (__cil_tmp18 != 127) {
33402#line 572
33403    if (tei == 127) {
33404      {
33405#line 574
33406      __cil_tmp19 = & tm->timer;
33407#line 574
33408      mISDN_FsmDelTimer(__cil_tmp19, 4);
33409#line 575
33410      __cil_tmp20 = & tm->tei_m;
33411#line 575
33412      mISDN_FsmChangeState(__cil_tmp20, 0);
33413#line 576
33414      tmp = random_ri();
33415#line 576
33416      __cil_tmp21 = tm->mgr;
33417#line 576
33418      __cil_tmp22 = (u_char )5;
33419#line 576
33420      __cil_tmp23 = tm->l2;
33421#line 576
33422      __cil_tmp24 = __cil_tmp23->tei;
33423#line 576
33424      __cil_tmp25 = (int )__cil_tmp24;
33425#line 576
33426      put_tei_msg(__cil_tmp21, __cil_tmp22, tmp, __cil_tmp25);
33427      }
33428    } else {
33429      {
33430#line 572
33431      __cil_tmp26 = tm->l2;
33432#line 572
33433      __cil_tmp27 = __cil_tmp26->tei;
33434#line 572
33435      __cil_tmp28 = (int )__cil_tmp27;
33436#line 572
33437      if (__cil_tmp28 == tei) {
33438        {
33439#line 574
33440        __cil_tmp29 = & tm->timer;
33441#line 574
33442        mISDN_FsmDelTimer(__cil_tmp29, 4);
33443#line 575
33444        __cil_tmp30 = & tm->tei_m;
33445#line 575
33446        mISDN_FsmChangeState(__cil_tmp30, 0);
33447#line 576
33448        tmp = random_ri();
33449#line 576
33450        __cil_tmp31 = tm->mgr;
33451#line 576
33452        __cil_tmp32 = (u_char )5;
33453#line 576
33454        __cil_tmp33 = tm->l2;
33455#line 576
33456        __cil_tmp34 = __cil_tmp33->tei;
33457#line 576
33458        __cil_tmp35 = (int )__cil_tmp34;
33459#line 576
33460        put_tei_msg(__cil_tmp31, __cil_tmp32, tmp, __cil_tmp35);
33461        }
33462      } else {
33463
33464      }
33465      }
33466    }
33467  } else {
33468
33469  }
33470  }
33471#line 578
33472  return;
33473}
33474}
33475#line 581 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33476static void tei_id_remove(struct FsmInst *fi , int event , void *arg ) 
33477{ struct teimgr *tm ;
33478  u_char *dp ;
33479  int tei ;
33480  void *__cil_tmp7 ;
33481  u_char *__cil_tmp8 ;
33482  u_char __cil_tmp9 ;
33483  int __cil_tmp10 ;
33484  u_int __cil_tmp11 ;
33485  unsigned int __cil_tmp12 ;
33486  void (*__cil_tmp13)(struct FsmInst * , char *  , ...) ;
33487  char *__cil_tmp14 ;
33488  struct layer2 *__cil_tmp15 ;
33489  signed char __cil_tmp16 ;
33490  int __cil_tmp17 ;
33491  struct FsmTimer *__cil_tmp18 ;
33492  struct FsmInst *__cil_tmp19 ;
33493  struct layer2 *__cil_tmp20 ;
33494  struct layer2 *__cil_tmp21 ;
33495  signed char __cil_tmp22 ;
33496  int __cil_tmp23 ;
33497  struct FsmTimer *__cil_tmp24 ;
33498  struct FsmInst *__cil_tmp25 ;
33499  struct layer2 *__cil_tmp26 ;
33500
33501  {
33502#line 583
33503  __cil_tmp7 = fi->userdata;
33504#line 583
33505  tm = (struct teimgr *)__cil_tmp7;
33506#line 584
33507  dp = (u_char *)arg;
33508#line 587
33509  __cil_tmp8 = dp + 3UL;
33510#line 587
33511  __cil_tmp9 = *__cil_tmp8;
33512#line 587
33513  __cil_tmp10 = (int )__cil_tmp9;
33514#line 587
33515  tei = __cil_tmp10 >> 1;
33516  {
33517#line 588
33518  __cil_tmp11 = *debug___5;
33519#line 588
33520  __cil_tmp12 = __cil_tmp11 & 1048576U;
33521#line 588
33522  if (__cil_tmp12 != 0U) {
33523    {
33524#line 589
33525    __cil_tmp13 = tm->tei_m.printdebug;
33526#line 589
33527    __cil_tmp14 = (char *)"identity remove tei %d";
33528#line 589
33529    (*__cil_tmp13)(fi, __cil_tmp14, tei);
33530    }
33531  } else {
33532
33533  }
33534  }
33535  {
33536#line 590
33537  __cil_tmp15 = tm->l2;
33538#line 590
33539  __cil_tmp16 = __cil_tmp15->tei;
33540#line 590
33541  __cil_tmp17 = (int )__cil_tmp16;
33542#line 590
33543  if (__cil_tmp17 != 127) {
33544#line 590
33545    if (tei == 127) {
33546      {
33547#line 592
33548      __cil_tmp18 = & tm->timer;
33549#line 592
33550      mISDN_FsmDelTimer(__cil_tmp18, 5);
33551#line 593
33552      __cil_tmp19 = & tm->tei_m;
33553#line 593
33554      mISDN_FsmChangeState(__cil_tmp19, 0);
33555#line 594
33556      __cil_tmp20 = tm->l2;
33557#line 594
33558      tei_l2(__cil_tmp20, 6660U, 0UL);
33559      }
33560    } else {
33561      {
33562#line 590
33563      __cil_tmp21 = tm->l2;
33564#line 590
33565      __cil_tmp22 = __cil_tmp21->tei;
33566#line 590
33567      __cil_tmp23 = (int )__cil_tmp22;
33568#line 590
33569      if (__cil_tmp23 == tei) {
33570        {
33571#line 592
33572        __cil_tmp24 = & tm->timer;
33573#line 592
33574        mISDN_FsmDelTimer(__cil_tmp24, 5);
33575#line 593
33576        __cil_tmp25 = & tm->tei_m;
33577#line 593
33578        mISDN_FsmChangeState(__cil_tmp25, 0);
33579#line 594
33580        __cil_tmp26 = tm->l2;
33581#line 594
33582        tei_l2(__cil_tmp26, 6660U, 0UL);
33583        }
33584      } else {
33585
33586      }
33587      }
33588    }
33589  } else {
33590
33591  }
33592  }
33593#line 596
33594  return;
33595}
33596}
33597#line 599 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33598static void tei_id_verify(struct FsmInst *fi , int event , void *arg ) 
33599{ struct teimgr *tm ;
33600  void *__cil_tmp5 ;
33601  u_int __cil_tmp6 ;
33602  unsigned int __cil_tmp7 ;
33603  void (*__cil_tmp8)(struct FsmInst * , char *  , ...) ;
33604  char *__cil_tmp9 ;
33605  struct layer2 *__cil_tmp10 ;
33606  signed char __cil_tmp11 ;
33607  int __cil_tmp12 ;
33608  struct manager *__cil_tmp13 ;
33609  u_char __cil_tmp14 ;
33610  struct layer2 *__cil_tmp15 ;
33611  signed char __cil_tmp16 ;
33612  int __cil_tmp17 ;
33613  struct FsmInst *__cil_tmp18 ;
33614  struct FsmTimer *__cil_tmp19 ;
33615  int __cil_tmp20 ;
33616  void *__cil_tmp21 ;
33617
33618  {
33619#line 601
33620  __cil_tmp5 = fi->userdata;
33621#line 601
33622  tm = (struct teimgr *)__cil_tmp5;
33623  {
33624#line 603
33625  __cil_tmp6 = *debug___5;
33626#line 603
33627  __cil_tmp7 = __cil_tmp6 & 1048576U;
33628#line 603
33629  if (__cil_tmp7 != 0U) {
33630    {
33631#line 604
33632    __cil_tmp8 = tm->tei_m.printdebug;
33633#line 604
33634    __cil_tmp9 = (char *)"id verify request for tei %d";
33635#line 604
33636    __cil_tmp10 = tm->l2;
33637#line 604
33638    __cil_tmp11 = __cil_tmp10->tei;
33639#line 604
33640    __cil_tmp12 = (int )__cil_tmp11;
33641#line 604
33642    (*__cil_tmp8)(fi, __cil_tmp9, __cil_tmp12);
33643    }
33644  } else {
33645
33646  }
33647  }
33648  {
33649#line 606
33650  __cil_tmp13 = tm->mgr;
33651#line 606
33652  __cil_tmp14 = (u_char )7;
33653#line 606
33654  __cil_tmp15 = tm->l2;
33655#line 606
33656  __cil_tmp16 = __cil_tmp15->tei;
33657#line 606
33658  __cil_tmp17 = (int )__cil_tmp16;
33659#line 606
33660  put_tei_msg(__cil_tmp13, __cil_tmp14, 0U, __cil_tmp17);
33661#line 607
33662  __cil_tmp18 = & tm->tei_m;
33663#line 607
33664  mISDN_FsmChangeState(__cil_tmp18, 2);
33665#line 608
33666  __cil_tmp19 = & tm->timer;
33667#line 608
33668  __cil_tmp20 = tm->tval;
33669#line 608
33670  __cil_tmp21 = (void *)0;
33671#line 608
33672  mISDN_FsmAddTimer(__cil_tmp19, __cil_tmp20, 8, __cil_tmp21, 2);
33673#line 609
33674  tm->nval = 2;
33675  }
33676#line 610
33677  return;
33678}
33679}
33680#line 613 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33681static void tei_id_req_tout(struct FsmInst *fi , int event , void *arg ) 
33682{ struct teimgr *tm ;
33683  unsigned int tmp ;
33684  void *__cil_tmp6 ;
33685  int __cil_tmp7 ;
33686  int __cil_tmp8 ;
33687  u_int __cil_tmp9 ;
33688  unsigned int __cil_tmp10 ;
33689  void (*__cil_tmp11)(struct FsmInst * , char *  , ...) ;
33690  char *__cil_tmp12 ;
33691  int __cil_tmp13 ;
33692  int __cil_tmp14 ;
33693  int __cil_tmp15 ;
33694  struct manager *__cil_tmp16 ;
33695  u_char __cil_tmp17 ;
33696  int __cil_tmp18 ;
33697  unsigned int __cil_tmp19 ;
33698  struct FsmTimer *__cil_tmp20 ;
33699  int __cil_tmp21 ;
33700  void *__cil_tmp22 ;
33701  void (*__cil_tmp23)(struct FsmInst * , char *  , ...) ;
33702  char *__cil_tmp24 ;
33703  struct layer2 *__cil_tmp25 ;
33704
33705  {
33706#line 615
33707  __cil_tmp6 = fi->userdata;
33708#line 615
33709  tm = (struct teimgr *)__cil_tmp6;
33710#line 617
33711  __cil_tmp7 = tm->nval;
33712#line 617
33713  tm->nval = __cil_tmp7 - 1;
33714  {
33715#line 617
33716  __cil_tmp8 = tm->nval;
33717#line 617
33718  if (__cil_tmp8 != 0) {
33719    {
33720#line 618
33721    tmp = random_ri();
33722#line 618
33723    tm->ri = (int )tmp;
33724    }
33725    {
33726#line 619
33727    __cil_tmp9 = *debug___5;
33728#line 619
33729    __cil_tmp10 = __cil_tmp9 & 1048576U;
33730#line 619
33731    if (__cil_tmp10 != 0U) {
33732      {
33733#line 620
33734      __cil_tmp11 = tm->tei_m.printdebug;
33735#line 620
33736      __cil_tmp12 = (char *)"assign req(%d) ri %d";
33737#line 620
33738      __cil_tmp13 = tm->nval;
33739#line 620
33740      __cil_tmp14 = 4 - __cil_tmp13;
33741#line 620
33742      __cil_tmp15 = tm->ri;
33743#line 620
33744      (*__cil_tmp11)(fi, __cil_tmp12, __cil_tmp14, __cil_tmp15);
33745      }
33746    } else {
33747
33748    }
33749    }
33750    {
33751#line 622
33752    __cil_tmp16 = tm->mgr;
33753#line 622
33754    __cil_tmp17 = (u_char )1;
33755#line 622
33756    __cil_tmp18 = tm->ri;
33757#line 622
33758    __cil_tmp19 = (unsigned int )__cil_tmp18;
33759#line 622
33760    put_tei_msg(__cil_tmp16, __cil_tmp17, __cil_tmp19, 127);
33761#line 623
33762    __cil_tmp20 = & tm->timer;
33763#line 623
33764    __cil_tmp21 = tm->tval;
33765#line 623
33766    __cil_tmp22 = (void *)0;
33767#line 623
33768    mISDN_FsmAddTimer(__cil_tmp20, __cil_tmp21, 8, __cil_tmp22, 3);
33769    }
33770  } else {
33771    {
33772#line 625
33773    __cil_tmp23 = tm->tei_m.printdebug;
33774#line 625
33775    __cil_tmp24 = (char *)"assign req failed";
33776#line 625
33777    (*__cil_tmp23)(fi, __cil_tmp24);
33778#line 626
33779    __cil_tmp25 = tm->l2;
33780#line 626
33781    tei_l2(__cil_tmp25, 24324U, 0UL);
33782#line 627
33783    mISDN_FsmChangeState(fi, 0);
33784    }
33785  }
33786  }
33787#line 629
33788  return;
33789}
33790}
33791#line 632 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33792static void tei_id_ver_tout(struct FsmInst *fi , int event , void *arg ) 
33793{ struct teimgr *tm ;
33794  void *__cil_tmp5 ;
33795  int __cil_tmp6 ;
33796  int __cil_tmp7 ;
33797  u_int __cil_tmp8 ;
33798  unsigned int __cil_tmp9 ;
33799  void (*__cil_tmp10)(struct FsmInst * , char *  , ...) ;
33800  char *__cil_tmp11 ;
33801  int __cil_tmp12 ;
33802  int __cil_tmp13 ;
33803  struct layer2 *__cil_tmp14 ;
33804  signed char __cil_tmp15 ;
33805  int __cil_tmp16 ;
33806  struct manager *__cil_tmp17 ;
33807  u_char __cil_tmp18 ;
33808  struct layer2 *__cil_tmp19 ;
33809  signed char __cil_tmp20 ;
33810  int __cil_tmp21 ;
33811  struct FsmTimer *__cil_tmp22 ;
33812  int __cil_tmp23 ;
33813  void *__cil_tmp24 ;
33814  void (*__cil_tmp25)(struct FsmInst * , char *  , ...) ;
33815  char *__cil_tmp26 ;
33816  struct layer2 *__cil_tmp27 ;
33817  signed char __cil_tmp28 ;
33818  int __cil_tmp29 ;
33819  struct layer2 *__cil_tmp30 ;
33820
33821  {
33822#line 634
33823  __cil_tmp5 = fi->userdata;
33824#line 634
33825  tm = (struct teimgr *)__cil_tmp5;
33826#line 636
33827  __cil_tmp6 = tm->nval;
33828#line 636
33829  tm->nval = __cil_tmp6 - 1;
33830  {
33831#line 636
33832  __cil_tmp7 = tm->nval;
33833#line 636
33834  if (__cil_tmp7 != 0) {
33835    {
33836#line 637
33837    __cil_tmp8 = *debug___5;
33838#line 637
33839    __cil_tmp9 = __cil_tmp8 & 1048576U;
33840#line 637
33841    if (__cil_tmp9 != 0U) {
33842      {
33843#line 638
33844      __cil_tmp10 = tm->tei_m.printdebug;
33845#line 638
33846      __cil_tmp11 = (char *)"id verify req(%d) for tei %d";
33847#line 638
33848      __cil_tmp12 = tm->nval;
33849#line 638
33850      __cil_tmp13 = 3 - __cil_tmp12;
33851#line 638
33852      __cil_tmp14 = tm->l2;
33853#line 638
33854      __cil_tmp15 = __cil_tmp14->tei;
33855#line 638
33856      __cil_tmp16 = (int )__cil_tmp15;
33857#line 638
33858      (*__cil_tmp10)(fi, __cil_tmp11, __cil_tmp13, __cil_tmp16);
33859      }
33860    } else {
33861
33862    }
33863    }
33864    {
33865#line 641
33866    __cil_tmp17 = tm->mgr;
33867#line 641
33868    __cil_tmp18 = (u_char )7;
33869#line 641
33870    __cil_tmp19 = tm->l2;
33871#line 641
33872    __cil_tmp20 = __cil_tmp19->tei;
33873#line 641
33874    __cil_tmp21 = (int )__cil_tmp20;
33875#line 641
33876    put_tei_msg(__cil_tmp17, __cil_tmp18, 0U, __cil_tmp21);
33877#line 642
33878    __cil_tmp22 = & tm->timer;
33879#line 642
33880    __cil_tmp23 = tm->tval;
33881#line 642
33882    __cil_tmp24 = (void *)0;
33883#line 642
33884    mISDN_FsmAddTimer(__cil_tmp22, __cil_tmp23, 8, __cil_tmp24, 4);
33885    }
33886  } else {
33887    {
33888#line 644
33889    __cil_tmp25 = tm->tei_m.printdebug;
33890#line 644
33891    __cil_tmp26 = (char *)"verify req for tei %d failed";
33892#line 644
33893    __cil_tmp27 = tm->l2;
33894#line 644
33895    __cil_tmp28 = __cil_tmp27->tei;
33896#line 644
33897    __cil_tmp29 = (int )__cil_tmp28;
33898#line 644
33899    (*__cil_tmp25)(fi, __cil_tmp26, __cil_tmp29);
33900#line 646
33901    __cil_tmp30 = tm->l2;
33902#line 646
33903    tei_l2(__cil_tmp30, 6660U, 0UL);
33904#line 647
33905    mISDN_FsmChangeState(fi, 0);
33906    }
33907  }
33908  }
33909#line 649
33910  return;
33911}
33912}
33913#line 651 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33914static struct FsmNode TeiFnListUser[11U]  = 
33915#line 651
33916  {      {0, 0, & tei_id_request}, 
33917        {0, 1, & tei_id_test_dup}, 
33918        {0, 7, & tei_id_verify}, 
33919        {0, 6, & tei_id_remove}, 
33920        {0, 4, & tei_id_chk_req}, 
33921        {1, 8, & tei_id_req_tout}, 
33922        {1, 1, & tei_id_assign}, 
33923        {1, 3, & tei_id_denied}, 
33924        {2, 8, & tei_id_ver_tout}, 
33925        {2, 6, & tei_id_remove}, 
33926        {2, 4, & tei_id_chk_req}};
33927#line 667 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33928static void tei_l2remove(struct layer2 *l2 ) 
33929{ struct teimgr *__cil_tmp2 ;
33930  struct manager *__cil_tmp3 ;
33931  u_char __cil_tmp4 ;
33932  signed char __cil_tmp5 ;
33933  int __cil_tmp6 ;
33934  struct list_head *__cil_tmp7 ;
33935  ctrl_func_t *__cil_tmp8 ;
33936  struct mISDNchannel *__cil_tmp9 ;
33937  void *__cil_tmp10 ;
33938
33939  {
33940  {
33941#line 669
33942  __cil_tmp2 = l2->tm;
33943#line 669
33944  __cil_tmp3 = __cil_tmp2->mgr;
33945#line 669
33946  __cil_tmp4 = (u_char )6;
33947#line 669
33948  __cil_tmp5 = l2->tei;
33949#line 669
33950  __cil_tmp6 = (int )__cil_tmp5;
33951#line 669
33952  put_tei_msg(__cil_tmp3, __cil_tmp4, 0U, __cil_tmp6);
33953#line 670
33954  tei_l2(l2, 6660U, 0UL);
33955#line 671
33956  __cil_tmp7 = & l2->ch.list;
33957#line 671
33958  list_del(__cil_tmp7);
33959#line 672
33960  __cil_tmp8 = l2->ch.ctrl;
33961#line 672
33962  __cil_tmp9 = & l2->ch;
33963#line 672
33964  __cil_tmp10 = (void *)0;
33965#line 672
33966  (*__cil_tmp8)(__cil_tmp9, 512U, __cil_tmp10);
33967  }
33968#line 673
33969  return;
33970}
33971}
33972#line 676 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
33973static void tei_assign_req(struct FsmInst *fi , int event , void *arg ) 
33974{ struct teimgr *tm ;
33975  u_char *dp ;
33976  u_char *tmp ;
33977  u_char *tmp___0 ;
33978  void *__cil_tmp8 ;
33979  struct layer2 *__cil_tmp9 ;
33980  signed char __cil_tmp10 ;
33981  int __cil_tmp11 ;
33982  void (*__cil_tmp12)(struct FsmInst * , char *  , ...) ;
33983  struct FsmInst *__cil_tmp13 ;
33984  char *__cil_tmp14 ;
33985  u_char __cil_tmp15 ;
33986  unsigned int __cil_tmp16 ;
33987  unsigned int __cil_tmp17 ;
33988  u_char __cil_tmp18 ;
33989  int __cil_tmp19 ;
33990  int __cil_tmp20 ;
33991  u_int __cil_tmp21 ;
33992  unsigned int __cil_tmp22 ;
33993  void (*__cil_tmp23)(struct FsmInst * , char *  , ...) ;
33994  struct FsmInst *__cil_tmp24 ;
33995  char *__cil_tmp25 ;
33996  int __cil_tmp26 ;
33997  u_char __cil_tmp27 ;
33998  int __cil_tmp28 ;
33999  struct manager *__cil_tmp29 ;
34000  u_char __cil_tmp30 ;
34001  int __cil_tmp31 ;
34002  unsigned int __cil_tmp32 ;
34003  struct layer2 *__cil_tmp33 ;
34004  signed char __cil_tmp34 ;
34005  int __cil_tmp35 ;
34006
34007  {
34008#line 678
34009  __cil_tmp8 = fi->userdata;
34010#line 678
34011  tm = (struct teimgr *)__cil_tmp8;
34012#line 679
34013  dp = (u_char *)arg;
34014  {
34015#line 681
34016  __cil_tmp9 = tm->l2;
34017#line 681
34018  __cil_tmp10 = __cil_tmp9->tei;
34019#line 681
34020  __cil_tmp11 = (int )__cil_tmp10;
34021#line 681
34022  if (__cil_tmp11 == 127) {
34023    {
34024#line 682
34025    __cil_tmp12 = tm->tei_m.printdebug;
34026#line 682
34027    __cil_tmp13 = & tm->tei_m;
34028#line 682
34029    __cil_tmp14 = (char *)"net tei assign request without tei";
34030#line 682
34031    (*__cil_tmp12)(__cil_tmp13, __cil_tmp14);
34032    }
34033#line 684
34034    return;
34035  } else {
34036
34037  }
34038  }
34039#line 686
34040  tmp = dp;
34041#line 686
34042  dp = dp + 1;
34043#line 686
34044  __cil_tmp15 = *tmp;
34045#line 686
34046  __cil_tmp16 = (unsigned int )__cil_tmp15;
34047#line 686
34048  __cil_tmp17 = __cil_tmp16 << 8;
34049#line 686
34050  tm->ri = (int )__cil_tmp17;
34051#line 687
34052  tmp___0 = dp;
34053#line 687
34054  dp = dp + 1;
34055#line 687
34056  __cil_tmp18 = *tmp___0;
34057#line 687
34058  __cil_tmp19 = (int )__cil_tmp18;
34059#line 687
34060  __cil_tmp20 = tm->ri;
34061#line 687
34062  tm->ri = __cil_tmp20 + __cil_tmp19;
34063  {
34064#line 688
34065  __cil_tmp21 = *debug___5;
34066#line 688
34067  __cil_tmp22 = __cil_tmp21 & 1048576U;
34068#line 688
34069  if (__cil_tmp22 != 0U) {
34070    {
34071#line 689
34072    __cil_tmp23 = tm->tei_m.printdebug;
34073#line 689
34074    __cil_tmp24 = & tm->tei_m;
34075#line 689
34076    __cil_tmp25 = (char *)"net assign request ri %d teim %d";
34077#line 689
34078    __cil_tmp26 = tm->ri;
34079#line 689
34080    __cil_tmp27 = *dp;
34081#line 689
34082    __cil_tmp28 = (int )__cil_tmp27;
34083#line 689
34084    (*__cil_tmp23)(__cil_tmp24, __cil_tmp25, __cil_tmp26, __cil_tmp28);
34085    }
34086  } else {
34087
34088  }
34089  }
34090  {
34091#line 691
34092  __cil_tmp29 = tm->mgr;
34093#line 691
34094  __cil_tmp30 = (u_char )2;
34095#line 691
34096  __cil_tmp31 = tm->ri;
34097#line 691
34098  __cil_tmp32 = (unsigned int )__cil_tmp31;
34099#line 691
34100  __cil_tmp33 = tm->l2;
34101#line 691
34102  __cil_tmp34 = __cil_tmp33->tei;
34103#line 691
34104  __cil_tmp35 = (int )__cil_tmp34;
34105#line 691
34106  put_tei_msg(__cil_tmp29, __cil_tmp30, __cil_tmp32, __cil_tmp35);
34107#line 692
34108  mISDN_FsmChangeState(fi, 0);
34109  }
34110#line 693
34111  return;
34112}
34113}
34114#line 696 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34115static void tei_id_chk_req_net(struct FsmInst *fi , int event , void *arg ) 
34116{ struct teimgr *tm ;
34117  void *__cil_tmp5 ;
34118  u_int __cil_tmp6 ;
34119  unsigned int __cil_tmp7 ;
34120  void (*__cil_tmp8)(struct FsmInst * , char *  , ...) ;
34121  char *__cil_tmp9 ;
34122  struct layer2 *__cil_tmp10 ;
34123  signed char __cil_tmp11 ;
34124  int __cil_tmp12 ;
34125  struct manager *__cil_tmp13 ;
34126  u_char __cil_tmp14 ;
34127  struct layer2 *__cil_tmp15 ;
34128  signed char __cil_tmp16 ;
34129  int __cil_tmp17 ;
34130  struct FsmInst *__cil_tmp18 ;
34131  struct FsmTimer *__cil_tmp19 ;
34132  int __cil_tmp20 ;
34133  void *__cil_tmp21 ;
34134
34135  {
34136#line 698
34137  __cil_tmp5 = fi->userdata;
34138#line 698
34139  tm = (struct teimgr *)__cil_tmp5;
34140  {
34141#line 700
34142  __cil_tmp6 = *debug___5;
34143#line 700
34144  __cil_tmp7 = __cil_tmp6 & 1048576U;
34145#line 700
34146  if (__cil_tmp7 != 0U) {
34147    {
34148#line 701
34149    __cil_tmp8 = tm->tei_m.printdebug;
34150#line 701
34151    __cil_tmp9 = (char *)"id check request for tei %d";
34152#line 701
34153    __cil_tmp10 = tm->l2;
34154#line 701
34155    __cil_tmp11 = __cil_tmp10->tei;
34156#line 701
34157    __cil_tmp12 = (int )__cil_tmp11;
34158#line 701
34159    (*__cil_tmp8)(fi, __cil_tmp9, __cil_tmp12);
34160    }
34161  } else {
34162
34163  }
34164  }
34165  {
34166#line 703
34167  tm->rcnt = 0;
34168#line 704
34169  __cil_tmp13 = tm->mgr;
34170#line 704
34171  __cil_tmp14 = (u_char )4;
34172#line 704
34173  __cil_tmp15 = tm->l2;
34174#line 704
34175  __cil_tmp16 = __cil_tmp15->tei;
34176#line 704
34177  __cil_tmp17 = (int )__cil_tmp16;
34178#line 704
34179  put_tei_msg(__cil_tmp13, __cil_tmp14, 0U, __cil_tmp17);
34180#line 705
34181  __cil_tmp18 = & tm->tei_m;
34182#line 705
34183  mISDN_FsmChangeState(__cil_tmp18, 2);
34184#line 706
34185  __cil_tmp19 = & tm->timer;
34186#line 706
34187  __cil_tmp20 = tm->tval;
34188#line 706
34189  __cil_tmp21 = (void *)0;
34190#line 706
34191  mISDN_FsmAddTimer(__cil_tmp19, __cil_tmp20, 8, __cil_tmp21, 2);
34192#line 707
34193  tm->nval = 2;
34194  }
34195#line 708
34196  return;
34197}
34198}
34199#line 711 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34200static void tei_id_chk_resp(struct FsmInst *fi , int event , void *arg ) 
34201{ struct teimgr *tm ;
34202  u_char *dp ;
34203  int tei ;
34204  void *__cil_tmp7 ;
34205  u_char *__cil_tmp8 ;
34206  u_char __cil_tmp9 ;
34207  int __cil_tmp10 ;
34208  u_int __cil_tmp11 ;
34209  unsigned int __cil_tmp12 ;
34210  void (*__cil_tmp13)(struct FsmInst * , char *  , ...) ;
34211  char *__cil_tmp14 ;
34212  struct layer2 *__cil_tmp15 ;
34213  signed char __cil_tmp16 ;
34214  int __cil_tmp17 ;
34215  int __cil_tmp18 ;
34216
34217  {
34218#line 713
34219  __cil_tmp7 = fi->userdata;
34220#line 713
34221  tm = (struct teimgr *)__cil_tmp7;
34222#line 714
34223  dp = (u_char *)arg;
34224#line 717
34225  __cil_tmp8 = dp + 3UL;
34226#line 717
34227  __cil_tmp9 = *__cil_tmp8;
34228#line 717
34229  __cil_tmp10 = (int )__cil_tmp9;
34230#line 717
34231  tei = __cil_tmp10 >> 1;
34232  {
34233#line 718
34234  __cil_tmp11 = *debug___5;
34235#line 718
34236  __cil_tmp12 = __cil_tmp11 & 1048576U;
34237#line 718
34238  if (__cil_tmp12 != 0U) {
34239    {
34240#line 719
34241    __cil_tmp13 = tm->tei_m.printdebug;
34242#line 719
34243    __cil_tmp14 = (char *)"identity check resp tei %d";
34244#line 719
34245    (*__cil_tmp13)(fi, __cil_tmp14, tei);
34246    }
34247  } else {
34248
34249  }
34250  }
34251  {
34252#line 720
34253  __cil_tmp15 = tm->l2;
34254#line 720
34255  __cil_tmp16 = __cil_tmp15->tei;
34256#line 720
34257  __cil_tmp17 = (int )__cil_tmp16;
34258#line 720
34259  if (__cil_tmp17 == tei) {
34260#line 721
34261    __cil_tmp18 = tm->rcnt;
34262#line 721
34263    tm->rcnt = __cil_tmp18 + 1;
34264  } else {
34265
34266  }
34267  }
34268#line 722
34269  return;
34270}
34271}
34272#line 725 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34273static void tei_id_verify_net(struct FsmInst *fi , int event , void *arg ) 
34274{ struct teimgr *tm ;
34275  u_char *dp ;
34276  int tei ;
34277  void *__cil_tmp7 ;
34278  u_char *__cil_tmp8 ;
34279  u_char __cil_tmp9 ;
34280  int __cil_tmp10 ;
34281  u_int __cil_tmp11 ;
34282  unsigned int __cil_tmp12 ;
34283  void (*__cil_tmp13)(struct FsmInst * , char *  , ...) ;
34284  char *__cil_tmp14 ;
34285  struct layer2 *__cil_tmp15 ;
34286  signed char __cil_tmp16 ;
34287  int __cil_tmp17 ;
34288  struct layer2 *__cil_tmp18 ;
34289  signed char __cil_tmp19 ;
34290  int __cil_tmp20 ;
34291
34292  {
34293#line 727
34294  __cil_tmp7 = fi->userdata;
34295#line 727
34296  tm = (struct teimgr *)__cil_tmp7;
34297#line 728
34298  dp = (u_char *)arg;
34299#line 731
34300  __cil_tmp8 = dp + 3UL;
34301#line 731
34302  __cil_tmp9 = *__cil_tmp8;
34303#line 731
34304  __cil_tmp10 = (int )__cil_tmp9;
34305#line 731
34306  tei = __cil_tmp10 >> 1;
34307  {
34308#line 732
34309  __cil_tmp11 = *debug___5;
34310#line 732
34311  __cil_tmp12 = __cil_tmp11 & 1048576U;
34312#line 732
34313  if (__cil_tmp12 != 0U) {
34314    {
34315#line 733
34316    __cil_tmp13 = tm->tei_m.printdebug;
34317#line 733
34318    __cil_tmp14 = (char *)"identity verify req tei %d/%d";
34319#line 733
34320    __cil_tmp15 = tm->l2;
34321#line 733
34322    __cil_tmp16 = __cil_tmp15->tei;
34323#line 733
34324    __cil_tmp17 = (int )__cil_tmp16;
34325#line 733
34326    (*__cil_tmp13)(fi, __cil_tmp14, tei, __cil_tmp17);
34327    }
34328  } else {
34329
34330  }
34331  }
34332  {
34333#line 735
34334  __cil_tmp18 = tm->l2;
34335#line 735
34336  __cil_tmp19 = __cil_tmp18->tei;
34337#line 735
34338  __cil_tmp20 = (int )__cil_tmp19;
34339#line 735
34340  if (__cil_tmp20 == tei) {
34341    {
34342#line 736
34343    tei_id_chk_req_net(fi, event, arg);
34344    }
34345  } else {
34346
34347  }
34348  }
34349#line 737
34350  return;
34351}
34352}
34353#line 740 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34354static void tei_id_ver_tout_net(struct FsmInst *fi , int event , void *arg ) 
34355{ struct teimgr *tm ;
34356  void *__cil_tmp5 ;
34357  int __cil_tmp6 ;
34358  u_int __cil_tmp7 ;
34359  unsigned int __cil_tmp8 ;
34360  void (*__cil_tmp9)(struct FsmInst * , char *  , ...) ;
34361  char *__cil_tmp10 ;
34362  struct layer2 *__cil_tmp11 ;
34363  signed char __cil_tmp12 ;
34364  int __cil_tmp13 ;
34365  int __cil_tmp14 ;
34366  struct layer2 *__cil_tmp15 ;
34367  int __cil_tmp16 ;
34368  int __cil_tmp17 ;
34369  u_int __cil_tmp18 ;
34370  unsigned int __cil_tmp19 ;
34371  void (*__cil_tmp20)(struct FsmInst * , char *  , ...) ;
34372  char *__cil_tmp21 ;
34373  int __cil_tmp22 ;
34374  int __cil_tmp23 ;
34375  struct layer2 *__cil_tmp24 ;
34376  signed char __cil_tmp25 ;
34377  int __cil_tmp26 ;
34378  struct manager *__cil_tmp27 ;
34379  u_char __cil_tmp28 ;
34380  struct layer2 *__cil_tmp29 ;
34381  signed char __cil_tmp30 ;
34382  int __cil_tmp31 ;
34383  struct FsmTimer *__cil_tmp32 ;
34384  int __cil_tmp33 ;
34385  void *__cil_tmp34 ;
34386  void (*__cil_tmp35)(struct FsmInst * , char *  , ...) ;
34387  char *__cil_tmp36 ;
34388  struct layer2 *__cil_tmp37 ;
34389  signed char __cil_tmp38 ;
34390  int __cil_tmp39 ;
34391  struct layer2 *__cil_tmp40 ;
34392
34393  {
34394#line 742
34395  __cil_tmp5 = fi->userdata;
34396#line 742
34397  tm = (struct teimgr *)__cil_tmp5;
34398  {
34399#line 744
34400  __cil_tmp6 = tm->rcnt;
34401#line 744
34402  if (__cil_tmp6 == 1) {
34403    {
34404#line 745
34405    __cil_tmp7 = *debug___5;
34406#line 745
34407    __cil_tmp8 = __cil_tmp7 & 1048576U;
34408#line 745
34409    if (__cil_tmp8 != 0U) {
34410      {
34411#line 746
34412      __cil_tmp9 = tm->tei_m.printdebug;
34413#line 746
34414      __cil_tmp10 = (char *)"check req for tei %d successful\n";
34415#line 746
34416      __cil_tmp11 = tm->l2;
34417#line 746
34418      __cil_tmp12 = __cil_tmp11->tei;
34419#line 746
34420      __cil_tmp13 = (int )__cil_tmp12;
34421#line 746
34422      (*__cil_tmp9)(fi, __cil_tmp10, __cil_tmp13);
34423      }
34424    } else {
34425
34426    }
34427    }
34428    {
34429#line 748
34430    mISDN_FsmChangeState(fi, 0);
34431    }
34432  } else {
34433    {
34434#line 749
34435    __cil_tmp14 = tm->rcnt;
34436#line 749
34437    if (__cil_tmp14 > 1) {
34438      {
34439#line 751
34440      __cil_tmp15 = tm->l2;
34441#line 751
34442      tei_l2remove(__cil_tmp15);
34443      }
34444    } else {
34445#line 752
34446      __cil_tmp16 = tm->nval;
34447#line 752
34448      tm->nval = __cil_tmp16 - 1;
34449      {
34450#line 752
34451      __cil_tmp17 = tm->nval;
34452#line 752
34453      if (__cil_tmp17 != 0) {
34454        {
34455#line 753
34456        __cil_tmp18 = *debug___5;
34457#line 753
34458        __cil_tmp19 = __cil_tmp18 & 1048576U;
34459#line 753
34460        if (__cil_tmp19 != 0U) {
34461          {
34462#line 754
34463          __cil_tmp20 = tm->tei_m.printdebug;
34464#line 754
34465          __cil_tmp21 = (char *)"id check req(%d) for tei %d";
34466#line 754
34467          __cil_tmp22 = tm->nval;
34468#line 754
34469          __cil_tmp23 = 3 - __cil_tmp22;
34470#line 754
34471          __cil_tmp24 = tm->l2;
34472#line 754
34473          __cil_tmp25 = __cil_tmp24->tei;
34474#line 754
34475          __cil_tmp26 = (int )__cil_tmp25;
34476#line 754
34477          (*__cil_tmp20)(fi, __cil_tmp21, __cil_tmp23, __cil_tmp26);
34478          }
34479        } else {
34480
34481        }
34482        }
34483        {
34484#line 757
34485        __cil_tmp27 = tm->mgr;
34486#line 757
34487        __cil_tmp28 = (u_char )4;
34488#line 757
34489        __cil_tmp29 = tm->l2;
34490#line 757
34491        __cil_tmp30 = __cil_tmp29->tei;
34492#line 757
34493        __cil_tmp31 = (int )__cil_tmp30;
34494#line 757
34495        put_tei_msg(__cil_tmp27, __cil_tmp28, 0U, __cil_tmp31);
34496#line 758
34497        __cil_tmp32 = & tm->timer;
34498#line 758
34499        __cil_tmp33 = tm->tval;
34500#line 758
34501        __cil_tmp34 = (void *)0;
34502#line 758
34503        mISDN_FsmAddTimer(__cil_tmp32, __cil_tmp33, 8, __cil_tmp34, 4);
34504        }
34505      } else {
34506        {
34507#line 760
34508        __cil_tmp35 = tm->tei_m.printdebug;
34509#line 760
34510        __cil_tmp36 = (char *)"check req for tei %d failed";
34511#line 760
34512        __cil_tmp37 = tm->l2;
34513#line 760
34514        __cil_tmp38 = __cil_tmp37->tei;
34515#line 760
34516        __cil_tmp39 = (int )__cil_tmp38;
34517#line 760
34518        (*__cil_tmp35)(fi, __cil_tmp36, __cil_tmp39);
34519#line 762
34520        mISDN_FsmChangeState(fi, 0);
34521#line 763
34522        __cil_tmp40 = tm->l2;
34523#line 763
34524        tei_l2remove(__cil_tmp40);
34525        }
34526      }
34527      }
34528    }
34529    }
34530  }
34531  }
34532#line 765
34533  return;
34534}
34535}
34536#line 767 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34537static struct FsmNode TeiFnListNet[5U]  = {      {0, 2, & tei_assign_req}, 
34538        {0, 7, & tei_id_verify_net}, 
34539        {0, 4, & tei_id_chk_req_net}, 
34540        {2, 8, & tei_id_ver_tout_net}, 
34541        {2, 5, & tei_id_chk_resp}};
34542#line 777 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34543static void tei_ph_data_ind(struct teimgr *tm , u_int mt , u_char *dp , int len ) 
34544{ int tmp ;
34545  struct layer2 *__cil_tmp6 ;
34546  u_long *__cil_tmp7 ;
34547  unsigned long const volatile   *__cil_tmp8 ;
34548  u_int __cil_tmp9 ;
34549  unsigned int __cil_tmp10 ;
34550  void (*__cil_tmp11)(struct FsmInst * , char *  , ...) ;
34551  struct FsmInst *__cil_tmp12 ;
34552  char *__cil_tmp13 ;
34553  struct FsmInst *__cil_tmp14 ;
34554  void *__cil_tmp15 ;
34555  struct FsmInst *__cil_tmp16 ;
34556  void *__cil_tmp17 ;
34557  struct FsmInst *__cil_tmp18 ;
34558  void *__cil_tmp19 ;
34559  struct FsmInst *__cil_tmp20 ;
34560  void *__cil_tmp21 ;
34561  struct FsmInst *__cil_tmp22 ;
34562  void *__cil_tmp23 ;
34563  struct FsmInst *__cil_tmp24 ;
34564  void *__cil_tmp25 ;
34565
34566  {
34567  {
34568#line 779
34569  __cil_tmp6 = tm->l2;
34570#line 779
34571  __cil_tmp7 = & __cil_tmp6->flag;
34572#line 779
34573  __cil_tmp8 = (unsigned long const volatile   *)__cil_tmp7;
34574#line 779
34575  tmp = constant_test_bit(15U, __cil_tmp8);
34576  }
34577#line 779
34578  if (tmp != 0) {
34579#line 780
34580    return;
34581  } else {
34582
34583  }
34584  {
34585#line 781
34586  __cil_tmp9 = *debug___5;
34587#line 781
34588  __cil_tmp10 = __cil_tmp9 & 1048576U;
34589#line 781
34590  if (__cil_tmp10 != 0U) {
34591    {
34592#line 782
34593    __cil_tmp11 = tm->tei_m.printdebug;
34594#line 782
34595    __cil_tmp12 = & tm->tei_m;
34596#line 782
34597    __cil_tmp13 = (char *)"tei handler mt %x";
34598#line 782
34599    (*__cil_tmp11)(__cil_tmp12, __cil_tmp13, mt);
34600    }
34601  } else {
34602
34603  }
34604  }
34605#line 783
34606  if (mt == 2U) {
34607    {
34608#line 784
34609    __cil_tmp14 = & tm->tei_m;
34610#line 784
34611    __cil_tmp15 = (void *)dp;
34612#line 784
34613    mISDN_FsmEvent(__cil_tmp14, 1, __cil_tmp15);
34614    }
34615  } else
34616#line 785
34617  if (mt == 3U) {
34618    {
34619#line 786
34620    __cil_tmp16 = & tm->tei_m;
34621#line 786
34622    __cil_tmp17 = (void *)dp;
34623#line 786
34624    mISDN_FsmEvent(__cil_tmp16, 3, __cil_tmp17);
34625    }
34626  } else
34627#line 787
34628  if (mt == 4U) {
34629    {
34630#line 788
34631    __cil_tmp18 = & tm->tei_m;
34632#line 788
34633    __cil_tmp19 = (void *)dp;
34634#line 788
34635    mISDN_FsmEvent(__cil_tmp18, 4, __cil_tmp19);
34636    }
34637  } else
34638#line 789
34639  if (mt == 6U) {
34640    {
34641#line 790
34642    __cil_tmp20 = & tm->tei_m;
34643#line 790
34644    __cil_tmp21 = (void *)dp;
34645#line 790
34646    mISDN_FsmEvent(__cil_tmp20, 6, __cil_tmp21);
34647    }
34648  } else
34649#line 791
34650  if (mt == 7U) {
34651    {
34652#line 792
34653    __cil_tmp22 = & tm->tei_m;
34654#line 792
34655    __cil_tmp23 = (void *)dp;
34656#line 792
34657    mISDN_FsmEvent(__cil_tmp22, 7, __cil_tmp23);
34658    }
34659  } else
34660#line 793
34661  if (mt == 5U) {
34662    {
34663#line 794
34664    __cil_tmp24 = & tm->tei_m;
34665#line 794
34666    __cil_tmp25 = (void *)dp;
34667#line 794
34668    mISDN_FsmEvent(__cil_tmp24, 5, __cil_tmp25);
34669    }
34670  } else {
34671
34672  }
34673#line 795
34674  return;
34675}
34676}
34677#line 798 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34678static struct layer2 *create_new_tei(struct manager *mgr , int tei , int sapi ) 
34679{ u_long opt ;
34680  u_long flags ;
34681  int id ;
34682  struct layer2 *l2 ;
34683  void *tmp ;
34684  struct mISDNchannel *__cil_tmp9 ;
34685  unsigned long __cil_tmp10 ;
34686  struct mISDNchannel *__cil_tmp11 ;
34687  unsigned long __cil_tmp12 ;
34688  unsigned long volatile   *__cil_tmp13 ;
34689  struct mISDNstack *__cil_tmp14 ;
34690  struct mISDNdevice *__cil_tmp15 ;
34691  u_int __cil_tmp16 ;
34692  unsigned int __cil_tmp17 ;
34693  unsigned long volatile   *__cil_tmp18 ;
34694  struct mISDNchannel *__cil_tmp19 ;
34695  struct layer2 *__cil_tmp20 ;
34696  unsigned long __cil_tmp21 ;
34697  unsigned long __cil_tmp22 ;
34698  struct teimgr *__cil_tmp23 ;
34699  unsigned long __cil_tmp24 ;
34700  struct teimgr *__cil_tmp25 ;
34701  unsigned long __cil_tmp26 ;
34702  void const   *__cil_tmp27 ;
34703  struct teimgr *__cil_tmp28 ;
34704  struct teimgr *__cil_tmp29 ;
34705  struct teimgr *__cil_tmp30 ;
34706  u_int __cil_tmp31 ;
34707  int __cil_tmp32 ;
34708  struct teimgr *__cil_tmp33 ;
34709  struct teimgr *__cil_tmp34 ;
34710  struct teimgr *__cil_tmp35 ;
34711  struct teimgr *__cil_tmp36 ;
34712  struct teimgr *__cil_tmp37 ;
34713  struct teimgr *__cil_tmp38 ;
34714  struct teimgr *__cil_tmp39 ;
34715  struct FsmInst *__cil_tmp40 ;
34716  struct teimgr *__cil_tmp41 ;
34717  struct FsmTimer *__cil_tmp42 ;
34718  rwlock_t *__cil_tmp43 ;
34719  struct list_head *__cil_tmp44 ;
34720  struct list_head *__cil_tmp45 ;
34721  rwlock_t *__cil_tmp46 ;
34722  ctrl_func_t *__cil_tmp47 ;
34723  struct mISDNchannel *__cil_tmp48 ;
34724  void *__cil_tmp49 ;
34725  struct mISDNchannel *__cil_tmp50 ;
34726  struct mISDNstack *__cil_tmp51 ;
34727  ctrl_func_t *__cil_tmp52 ;
34728  struct mISDNchannel *__cil_tmp53 ;
34729  void *__cil_tmp54 ;
34730
34731  {
34732#line 800
34733  opt = 0UL;
34734  {
34735#line 805
34736  __cil_tmp9 = (struct mISDNchannel *)0;
34737#line 805
34738  __cil_tmp10 = (unsigned long )__cil_tmp9;
34739#line 805
34740  __cil_tmp11 = mgr->up;
34741#line 805
34742  __cil_tmp12 = (unsigned long )__cil_tmp11;
34743#line 805
34744  if (__cil_tmp12 == __cil_tmp10) {
34745#line 806
34746    return ((struct layer2 *)0);
34747  } else {
34748
34749  }
34750  }
34751#line 807
34752  if (tei >= 0) {
34753#line 807
34754    if (tei <= 63) {
34755      {
34756#line 808
34757      __cil_tmp13 = (unsigned long volatile   *)(& opt);
34758#line 808
34759      test_and_set_bit(3, __cil_tmp13);
34760      }
34761    } else {
34762
34763    }
34764  } else {
34765
34766  }
34767  {
34768#line 809
34769  __cil_tmp14 = mgr->ch.st;
34770#line 809
34771  __cil_tmp15 = __cil_tmp14->dev;
34772#line 809
34773  __cil_tmp16 = __cil_tmp15->Dprotocols;
34774#line 809
34775  __cil_tmp17 = __cil_tmp16 & 24U;
34776#line 809
34777  if (__cil_tmp17 != 0U) {
34778    {
34779#line 811
34780    __cil_tmp18 = (unsigned long volatile   *)(& opt);
34781#line 811
34782    test_and_set_bit(1, __cil_tmp18);
34783    }
34784  } else {
34785
34786  }
34787  }
34788  {
34789#line 812
34790  __cil_tmp19 = mgr->up;
34791#line 812
34792  l2 = create_l2(__cil_tmp19, 17U, opt, tei, sapi);
34793  }
34794  {
34795#line 813
34796  __cil_tmp20 = (struct layer2 *)0;
34797#line 813
34798  __cil_tmp21 = (unsigned long )__cil_tmp20;
34799#line 813
34800  __cil_tmp22 = (unsigned long )l2;
34801#line 813
34802  if (__cil_tmp22 == __cil_tmp21) {
34803    {
34804#line 814
34805    printk("<4>%s:no memory for layer2\n", "create_new_tei");
34806    }
34807#line 815
34808    return ((struct layer2 *)0);
34809  } else {
34810
34811  }
34812  }
34813  {
34814#line 817
34815  tmp = kzalloc(224UL, 208U);
34816#line 817
34817  l2->tm = (struct teimgr *)tmp;
34818  }
34819  {
34820#line 818
34821  __cil_tmp23 = (struct teimgr *)0;
34822#line 818
34823  __cil_tmp24 = (unsigned long )__cil_tmp23;
34824#line 818
34825  __cil_tmp25 = l2->tm;
34826#line 818
34827  __cil_tmp26 = (unsigned long )__cil_tmp25;
34828#line 818
34829  if (__cil_tmp26 == __cil_tmp24) {
34830    {
34831#line 819
34832    __cil_tmp27 = (void const   *)l2;
34833#line 819
34834    kfree(__cil_tmp27);
34835#line 820
34836    printk("<4>%s:no memory for teimgr\n", "create_new_tei");
34837    }
34838#line 821
34839    return ((struct layer2 *)0);
34840  } else {
34841
34842  }
34843  }
34844  {
34845#line 823
34846  __cil_tmp28 = l2->tm;
34847#line 823
34848  __cil_tmp28->mgr = mgr;
34849#line 824
34850  __cil_tmp29 = l2->tm;
34851#line 824
34852  __cil_tmp29->l2 = l2;
34853#line 825
34854  __cil_tmp30 = l2->tm;
34855#line 825
34856  __cil_tmp31 = *debug___5;
34857#line 825
34858  __cil_tmp32 = (int )__cil_tmp31;
34859#line 825
34860  __cil_tmp30->tei_m.debug = __cil_tmp32 & 2097152;
34861#line 826
34862  __cil_tmp33 = l2->tm;
34863#line 826
34864  __cil_tmp34 = l2->tm;
34865#line 826
34866  __cil_tmp33->tei_m.userdata = (void *)__cil_tmp34;
34867#line 827
34868  __cil_tmp35 = l2->tm;
34869#line 827
34870  __cil_tmp35->tei_m.printdebug = & tei_debug;
34871#line 828
34872  __cil_tmp36 = l2->tm;
34873#line 828
34874  __cil_tmp36->tei_m.fsm = & teifsmn;
34875#line 829
34876  __cil_tmp37 = l2->tm;
34877#line 829
34878  __cil_tmp37->tei_m.state = 0;
34879#line 830
34880  __cil_tmp38 = l2->tm;
34881#line 830
34882  __cil_tmp38->tval = 2000;
34883#line 831
34884  __cil_tmp39 = l2->tm;
34885#line 831
34886  __cil_tmp40 = & __cil_tmp39->tei_m;
34887#line 831
34888  __cil_tmp41 = l2->tm;
34889#line 831
34890  __cil_tmp42 = & __cil_tmp41->timer;
34891#line 831
34892  mISDN_FsmInitTimer(__cil_tmp40, __cil_tmp42);
34893#line 832
34894  __cil_tmp43 = & mgr->lock;
34895#line 832
34896  flags = _raw_write_lock_irqsave(__cil_tmp43);
34897#line 833
34898  id = get_free_id(mgr);
34899#line 834
34900  __cil_tmp44 = & l2->list;
34901#line 834
34902  __cil_tmp45 = & mgr->layer2;
34903#line 834
34904  list_add_tail(__cil_tmp44, __cil_tmp45);
34905#line 835
34906  __cil_tmp46 = & mgr->lock;
34907#line 835
34908  _raw_write_unlock_irqrestore(__cil_tmp46, flags);
34909  }
34910#line 836
34911  if (id < 0) {
34912    {
34913#line 837
34914    __cil_tmp47 = l2->ch.ctrl;
34915#line 837
34916    __cil_tmp48 = & l2->ch;
34917#line 837
34918    __cil_tmp49 = (void *)0;
34919#line 837
34920    (*__cil_tmp47)(__cil_tmp48, 512U, __cil_tmp49);
34921#line 838
34922    printk("<4>%s:no free id\n", "create_new_tei");
34923    }
34924#line 839
34925    return ((struct layer2 *)0);
34926  } else {
34927    {
34928#line 841
34929    l2->ch.nr = (u_int )id;
34930#line 842
34931    __cil_tmp50 = & l2->ch;
34932#line 842
34933    __cil_tmp51 = mgr->ch.st;
34934#line 842
34935    __add_layer2(__cil_tmp50, __cil_tmp51);
34936#line 843
34937    l2->ch.recv = mgr->ch.recv;
34938#line 844
34939    l2->ch.peer = mgr->ch.peer;
34940#line 845
34941    __cil_tmp52 = l2->ch.ctrl;
34942#line 845
34943    __cil_tmp53 = & l2->ch;
34944#line 845
34945    __cil_tmp54 = (void *)0;
34946#line 845
34947    (*__cil_tmp52)(__cil_tmp53, 256U, __cil_tmp54);
34948    }
34949  }
34950#line 847
34951  return (l2);
34952}
34953}
34954#line 851 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
34955static void new_tei_req(struct manager *mgr , u_char *dp ) 
34956{ int tei ;
34957  int ri ;
34958  struct layer2 *l2 ;
34959  u_char __cil_tmp6 ;
34960  int __cil_tmp7 ;
34961  u_char *__cil_tmp8 ;
34962  u_char __cil_tmp9 ;
34963  int __cil_tmp10 ;
34964  struct mISDNchannel *__cil_tmp11 ;
34965  unsigned long __cil_tmp12 ;
34966  struct mISDNchannel *__cil_tmp13 ;
34967  unsigned long __cil_tmp14 ;
34968  u_char *__cil_tmp15 ;
34969  u_char __cil_tmp16 ;
34970  int __cil_tmp17 ;
34971  int __cil_tmp18 ;
34972  u_char *__cil_tmp19 ;
34973  u_char __cil_tmp20 ;
34974  unsigned int __cil_tmp21 ;
34975  u_char *__cil_tmp22 ;
34976  u_char __cil_tmp23 ;
34977  int __cil_tmp24 ;
34978  struct layer2 *__cil_tmp25 ;
34979  unsigned long __cil_tmp26 ;
34980  unsigned long __cil_tmp27 ;
34981  struct teimgr *__cil_tmp28 ;
34982  struct FsmInst *__cil_tmp29 ;
34983  void *__cil_tmp30 ;
34984  u_char __cil_tmp31 ;
34985  unsigned int __cil_tmp32 ;
34986
34987  {
34988#line 856
34989  __cil_tmp6 = *dp;
34990#line 856
34991  __cil_tmp7 = (int )__cil_tmp6;
34992#line 856
34993  ri = __cil_tmp7 << 8;
34994#line 857
34995  __cil_tmp8 = dp + 1UL;
34996#line 857
34997  __cil_tmp9 = *__cil_tmp8;
34998#line 857
34999  __cil_tmp10 = (int )__cil_tmp9;
35000#line 857
35001  ri = __cil_tmp10 + ri;
35002  {
35003#line 858
35004  __cil_tmp11 = (struct mISDNchannel *)0;
35005#line 858
35006  __cil_tmp12 = (unsigned long )__cil_tmp11;
35007#line 858
35008  __cil_tmp13 = mgr->up;
35009#line 858
35010  __cil_tmp14 = (unsigned long )__cil_tmp13;
35011#line 858
35012  if (__cil_tmp14 == __cil_tmp12) {
35013#line 859
35014    goto denied;
35015  } else {
35016
35017  }
35018  }
35019  {
35020#line 860
35021  __cil_tmp15 = dp + 3UL;
35022#line 860
35023  __cil_tmp16 = *__cil_tmp15;
35024#line 860
35025  __cil_tmp17 = (int )__cil_tmp16;
35026#line 860
35027  __cil_tmp18 = __cil_tmp17 & 1;
35028#line 860
35029  if (__cil_tmp18 == 0) {
35030#line 861
35031    goto denied;
35032  } else {
35033
35034  }
35035  }
35036  {
35037#line 862
35038  __cil_tmp19 = dp + 3UL;
35039#line 862
35040  __cil_tmp20 = *__cil_tmp19;
35041#line 862
35042  __cil_tmp21 = (unsigned int )__cil_tmp20;
35043#line 862
35044  if (__cil_tmp21 != 255U) {
35045#line 863
35046    __cil_tmp22 = dp + 3UL;
35047#line 863
35048    __cil_tmp23 = *__cil_tmp22;
35049#line 863
35050    __cil_tmp24 = (int )__cil_tmp23;
35051#line 863
35052    tei = __cil_tmp24 >> 1;
35053  } else {
35054    {
35055#line 865
35056    tei = get_free_tei(mgr);
35057    }
35058  }
35059  }
35060#line 866
35061  if (tei < 0) {
35062    {
35063#line 867
35064    printk("<4>%s:No free tei\n", "new_tei_req");
35065    }
35066#line 868
35067    goto denied;
35068  } else {
35069
35070  }
35071  {
35072#line 870
35073  l2 = create_new_tei(mgr, tei, 0);
35074  }
35075  {
35076#line 871
35077  __cil_tmp25 = (struct layer2 *)0;
35078#line 871
35079  __cil_tmp26 = (unsigned long )__cil_tmp25;
35080#line 871
35081  __cil_tmp27 = (unsigned long )l2;
35082#line 871
35083  if (__cil_tmp27 == __cil_tmp26) {
35084#line 872
35085    goto denied;
35086  } else {
35087    {
35088#line 874
35089    __cil_tmp28 = l2->tm;
35090#line 874
35091    __cil_tmp29 = & __cil_tmp28->tei_m;
35092#line 874
35093    __cil_tmp30 = (void *)dp;
35094#line 874
35095    mISDN_FsmEvent(__cil_tmp29, 2, __cil_tmp30);
35096    }
35097  }
35098  }
35099#line 875
35100  return;
35101  denied: 
35102  {
35103#line 877
35104  __cil_tmp31 = (u_char )3;
35105#line 877
35106  __cil_tmp32 = (unsigned int )ri;
35107#line 877
35108  put_tei_msg(mgr, __cil_tmp31, __cil_tmp32, 127);
35109  }
35110#line 878
35111  return;
35112}
35113}
35114#line 881 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
35115static int ph_data_ind(struct manager *mgr , struct sk_buff *skb ) 
35116{ int ret ;
35117  struct layer2 *l2 ;
35118  struct layer2 *nl2 ;
35119  u_char mt ;
35120  int tmp ;
35121  int tmp___0 ;
35122  struct list_head  const  *__mptr ;
35123  struct list_head  const  *__mptr___0 ;
35124  struct list_head  const  *__mptr___1 ;
35125  unsigned int __cil_tmp12 ;
35126  u_int __cil_tmp13 ;
35127  unsigned int __cil_tmp14 ;
35128  unsigned int __cil_tmp15 ;
35129  unsigned char *__cil_tmp16 ;
35130  unsigned char __cil_tmp17 ;
35131  int __cil_tmp18 ;
35132  int __cil_tmp19 ;
35133  unsigned int __cil_tmp20 ;
35134  unsigned char *__cil_tmp21 ;
35135  unsigned char __cil_tmp22 ;
35136  int __cil_tmp23 ;
35137  unsigned char *__cil_tmp24 ;
35138  unsigned char *__cil_tmp25 ;
35139  unsigned char __cil_tmp26 ;
35140  int __cil_tmp27 ;
35141  int __cil_tmp28 ;
35142  unsigned char *__cil_tmp29 ;
35143  unsigned char *__cil_tmp30 ;
35144  unsigned char __cil_tmp31 ;
35145  int __cil_tmp32 ;
35146  int __cil_tmp33 ;
35147  unsigned int __cil_tmp34 ;
35148  unsigned char *__cil_tmp35 ;
35149  unsigned char *__cil_tmp36 ;
35150  unsigned char __cil_tmp37 ;
35151  int __cil_tmp38 ;
35152  int __cil_tmp39 ;
35153  unsigned char *__cil_tmp40 ;
35154  unsigned char *__cil_tmp41 ;
35155  unsigned char __cil_tmp42 ;
35156  unsigned int __cil_tmp43 ;
35157  unsigned char *__cil_tmp44 ;
35158  unsigned char *__cil_tmp45 ;
35159  int __cil_tmp46 ;
35160  int __cil_tmp47 ;
35161  int __cil_tmp48 ;
35162  int __cil_tmp49 ;
35163  int __cil_tmp50 ;
35164  int __cil_tmp51 ;
35165  int __cil_tmp52 ;
35166  u_long *__cil_tmp53 ;
35167  unsigned long const volatile   *__cil_tmp54 ;
35168  u_long *__cil_tmp55 ;
35169  unsigned long const volatile   *__cil_tmp56 ;
35170  unsigned int __cil_tmp57 ;
35171  unsigned char *__cil_tmp58 ;
35172  unsigned char *__cil_tmp59 ;
35173  struct list_head *__cil_tmp60 ;
35174  struct list_head *__cil_tmp61 ;
35175  struct teimgr *__cil_tmp62 ;
35176  u_int __cil_tmp63 ;
35177  unsigned char *__cil_tmp64 ;
35178  unsigned char *__cil_tmp65 ;
35179  unsigned int __cil_tmp66 ;
35180  unsigned int __cil_tmp67 ;
35181  int __cil_tmp68 ;
35182  struct list_head *__cil_tmp69 ;
35183  struct list_head *__cil_tmp70 ;
35184  unsigned long __cil_tmp71 ;
35185  struct list_head *__cil_tmp72 ;
35186  unsigned long __cil_tmp73 ;
35187
35188  {
35189#line 883
35190  ret = -22;
35191  {
35192#line 887
35193  __cil_tmp12 = skb->len;
35194#line 887
35195  if (__cil_tmp12 <= 7U) {
35196    {
35197#line 888
35198    __cil_tmp13 = *debug___5;
35199#line 888
35200    __cil_tmp14 = __cil_tmp13 & 1048576U;
35201#line 888
35202    if (__cil_tmp14 != 0U) {
35203      {
35204#line 889
35205      __cil_tmp15 = skb->len;
35206#line 889
35207      printk("<7>%s: short mgr frame %d/8\n", "ph_data_ind", __cil_tmp15);
35208      }
35209    } else {
35210
35211    }
35212    }
35213#line 891
35214    goto done;
35215  } else {
35216
35217  }
35218  }
35219  {
35220#line 894
35221  __cil_tmp16 = skb->data;
35222#line 894
35223  __cil_tmp17 = *__cil_tmp16;
35224#line 894
35225  __cil_tmp18 = (int )__cil_tmp17;
35226#line 894
35227  __cil_tmp19 = __cil_tmp18 >> 2;
35228#line 894
35229  __cil_tmp20 = (unsigned int )__cil_tmp19;
35230#line 894
35231  if (__cil_tmp20 != 63U) {
35232#line 895
35233    goto done;
35234  } else {
35235
35236  }
35237  }
35238  {
35239#line 896
35240  __cil_tmp21 = skb->data;
35241#line 896
35242  __cil_tmp22 = *__cil_tmp21;
35243#line 896
35244  __cil_tmp23 = (int )__cil_tmp22;
35245#line 896
35246  if (__cil_tmp23 & 1) {
35247#line 897
35248    goto done;
35249  } else {
35250
35251  }
35252  }
35253  {
35254#line 898
35255  __cil_tmp24 = skb->data;
35256#line 898
35257  __cil_tmp25 = __cil_tmp24 + 1UL;
35258#line 898
35259  __cil_tmp26 = *__cil_tmp25;
35260#line 898
35261  __cil_tmp27 = (int )__cil_tmp26;
35262#line 898
35263  __cil_tmp28 = __cil_tmp27 & 1;
35264#line 898
35265  if (__cil_tmp28 == 0) {
35266#line 899
35267    goto done;
35268  } else {
35269
35270  }
35271  }
35272  {
35273#line 900
35274  __cil_tmp29 = skb->data;
35275#line 900
35276  __cil_tmp30 = __cil_tmp29 + 1UL;
35277#line 900
35278  __cil_tmp31 = *__cil_tmp30;
35279#line 900
35280  __cil_tmp32 = (int )__cil_tmp31;
35281#line 900
35282  __cil_tmp33 = __cil_tmp32 >> 1;
35283#line 900
35284  __cil_tmp34 = (unsigned int )__cil_tmp33;
35285#line 900
35286  if (__cil_tmp34 != 127U) {
35287#line 901
35288    goto done;
35289  } else {
35290
35291  }
35292  }
35293  {
35294#line 902
35295  __cil_tmp35 = skb->data;
35296#line 902
35297  __cil_tmp36 = __cil_tmp35 + 2UL;
35298#line 902
35299  __cil_tmp37 = *__cil_tmp36;
35300#line 902
35301  __cil_tmp38 = (int )__cil_tmp37;
35302#line 902
35303  __cil_tmp39 = __cil_tmp38 & 239;
35304#line 902
35305  if (__cil_tmp39 != 3) {
35306#line 903
35307    goto done;
35308  } else {
35309
35310  }
35311  }
35312  {
35313#line 904
35314  __cil_tmp40 = skb->data;
35315#line 904
35316  __cil_tmp41 = __cil_tmp40 + 3UL;
35317#line 904
35318  __cil_tmp42 = *__cil_tmp41;
35319#line 904
35320  __cil_tmp43 = (unsigned int )__cil_tmp42;
35321#line 904
35322  if (__cil_tmp43 != 15U) {
35323#line 905
35324    goto done;
35325  } else {
35326
35327  }
35328  }
35329#line 906
35330  __cil_tmp44 = skb->data;
35331#line 906
35332  __cil_tmp45 = __cil_tmp44 + 6UL;
35333#line 906
35334  mt = *__cil_tmp45;
35335  {
35336#line 908
35337  __cil_tmp46 = (int )mt;
35338#line 908
35339  if (__cil_tmp46 == 1) {
35340#line 908
35341    goto case_1;
35342  } else {
35343    {
35344#line 909
35345    __cil_tmp47 = (int )mt;
35346#line 909
35347    if (__cil_tmp47 == 5) {
35348#line 909
35349      goto case_5;
35350    } else {
35351      {
35352#line 910
35353      __cil_tmp48 = (int )mt;
35354#line 910
35355      if (__cil_tmp48 == 7) {
35356#line 910
35357        goto case_7;
35358      } else {
35359        {
35360#line 914
35361        __cil_tmp49 = (int )mt;
35362#line 914
35363        if (__cil_tmp49 == 2) {
35364#line 914
35365          goto case_2;
35366        } else {
35367          {
35368#line 915
35369          __cil_tmp50 = (int )mt;
35370#line 915
35371          if (__cil_tmp50 == 3) {
35372#line 915
35373            goto case_3;
35374          } else {
35375            {
35376#line 916
35377            __cil_tmp51 = (int )mt;
35378#line 916
35379            if (__cil_tmp51 == 4) {
35380#line 916
35381              goto case_4;
35382            } else {
35383              {
35384#line 917
35385              __cil_tmp52 = (int )mt;
35386#line 917
35387              if (__cil_tmp52 == 6) {
35388#line 917
35389                goto case_6;
35390              } else {
35391#line 921
35392                goto switch_default;
35393#line 907
35394                if (0) {
35395                  case_1: ;
35396                  case_5: ;
35397                  case_7: 
35398                  {
35399#line 911
35400                  __cil_tmp53 = & mgr->options;
35401#line 911
35402                  __cil_tmp54 = (unsigned long const volatile   *)__cil_tmp53;
35403#line 911
35404                  tmp = constant_test_bit(25U, __cil_tmp54);
35405                  }
35406#line 911
35407                  if (tmp == 0) {
35408#line 912
35409                    goto done;
35410                  } else {
35411
35412                  }
35413#line 913
35414                  goto ldv_38877;
35415                  case_2: ;
35416                  case_3: ;
35417                  case_4: ;
35418                  case_6: 
35419                  {
35420#line 918
35421                  __cil_tmp55 = & mgr->options;
35422#line 918
35423                  __cil_tmp56 = (unsigned long const volatile   *)__cil_tmp55;
35424#line 918
35425                  tmp___0 = constant_test_bit(25U, __cil_tmp56);
35426                  }
35427#line 918
35428                  if (tmp___0 != 0) {
35429#line 919
35430                    goto done;
35431                  } else {
35432
35433                  }
35434#line 920
35435                  goto ldv_38877;
35436                  switch_default: ;
35437#line 922
35438                  goto done;
35439                } else {
35440
35441                }
35442              }
35443              }
35444            }
35445            }
35446          }
35447          }
35448        }
35449        }
35450      }
35451      }
35452    }
35453    }
35454  }
35455  }
35456  ldv_38877: 
35457#line 924
35458  ret = 0;
35459  {
35460#line 925
35461  __cil_tmp57 = (unsigned int )mt;
35462#line 925
35463  if (__cil_tmp57 == 1U) {
35464    {
35465#line 926
35466    __cil_tmp58 = skb->data;
35467#line 926
35468    __cil_tmp59 = __cil_tmp58 + 4U;
35469#line 926
35470    new_tei_req(mgr, __cil_tmp59);
35471    }
35472#line 927
35473    goto done;
35474  } else {
35475
35476  }
35477  }
35478#line 929
35479  __cil_tmp60 = mgr->layer2.next;
35480#line 929
35481  __mptr = (struct list_head  const  *)__cil_tmp60;
35482#line 929
35483  l2 = (struct layer2 *)__mptr;
35484#line 929
35485  __cil_tmp61 = l2->list.next;
35486#line 929
35487  __mptr___0 = (struct list_head  const  *)__cil_tmp61;
35488#line 929
35489  nl2 = (struct layer2 *)__mptr___0;
35490#line 929
35491  goto ldv_38890;
35492  ldv_38889: 
35493  {
35494#line 930
35495  __cil_tmp62 = l2->tm;
35496#line 930
35497  __cil_tmp63 = (u_int )mt;
35498#line 930
35499  __cil_tmp64 = skb->data;
35500#line 930
35501  __cil_tmp65 = __cil_tmp64 + 4U;
35502#line 930
35503  __cil_tmp66 = skb->len;
35504#line 930
35505  __cil_tmp67 = __cil_tmp66 - 4U;
35506#line 930
35507  __cil_tmp68 = (int )__cil_tmp67;
35508#line 930
35509  tei_ph_data_ind(__cil_tmp62, __cil_tmp63, __cil_tmp65, __cil_tmp68);
35510#line 929
35511  l2 = nl2;
35512#line 929
35513  __cil_tmp69 = nl2->list.next;
35514#line 929
35515  __mptr___1 = (struct list_head  const  *)__cil_tmp69;
35516#line 929
35517  nl2 = (struct layer2 *)__mptr___1;
35518  }
35519  ldv_38890: ;
35520  {
35521#line 929
35522  __cil_tmp70 = & mgr->layer2;
35523#line 929
35524  __cil_tmp71 = (unsigned long )__cil_tmp70;
35525#line 929
35526  __cil_tmp72 = & l2->list;
35527#line 929
35528  __cil_tmp73 = (unsigned long )__cil_tmp72;
35529#line 929
35530  if (__cil_tmp73 != __cil_tmp71) {
35531#line 930
35532    goto ldv_38889;
35533  } else {
35534#line 932
35535    goto ldv_38891;
35536  }
35537  }
35538  ldv_38891: ;
35539  done: ;
35540#line 933
35541  return (ret);
35542}
35543}
35544#line 937 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
35545int l2_tei(struct layer2 *l2 , u_int cmd , u_long arg ) 
35546{ struct teimgr *tm ;
35547  int tmp ;
35548  int tmp___0 ;
35549  int tmp___1 ;
35550  int tmp___2 ;
35551  int tmp___3 ;
35552  int tmp___4 ;
35553  u_long *__cil_tmp11 ;
35554  unsigned long const volatile   *__cil_tmp12 ;
35555  u_int __cil_tmp13 ;
35556  unsigned int __cil_tmp14 ;
35557  int __cil_tmp15 ;
35558  int __cil_tmp16 ;
35559  int __cil_tmp17 ;
35560  int __cil_tmp18 ;
35561  int __cil_tmp19 ;
35562  struct FsmInst *__cil_tmp20 ;
35563  void *__cil_tmp21 ;
35564  struct manager *__cil_tmp22 ;
35565  u_long *__cil_tmp23 ;
35566  unsigned long const volatile   *__cil_tmp24 ;
35567  struct FsmInst *__cil_tmp25 ;
35568  signed char *__cil_tmp26 ;
35569  void *__cil_tmp27 ;
35570  struct manager *__cil_tmp28 ;
35571  u_long *__cil_tmp29 ;
35572  unsigned long const volatile   *__cil_tmp30 ;
35573  struct FsmInst *__cil_tmp31 ;
35574  void *__cil_tmp32 ;
35575  struct manager *__cil_tmp33 ;
35576  u_long *__cil_tmp34 ;
35577  unsigned long const volatile   *__cil_tmp35 ;
35578  struct manager *__cil_tmp36 ;
35579  struct FsmInst *__cil_tmp37 ;
35580  void *__cil_tmp38 ;
35581  struct manager *__cil_tmp39 ;
35582  u_long *__cil_tmp40 ;
35583  unsigned long const volatile   *__cil_tmp41 ;
35584  struct manager *__cil_tmp42 ;
35585  struct FsmInst *__cil_tmp43 ;
35586  void *__cil_tmp44 ;
35587  struct manager *__cil_tmp45 ;
35588  u_long *__cil_tmp46 ;
35589  unsigned long const volatile   *__cil_tmp47 ;
35590  struct manager *__cil_tmp48 ;
35591  struct FsmInst *__cil_tmp49 ;
35592  void *__cil_tmp50 ;
35593
35594  {
35595  {
35596#line 939
35597  tm = l2->tm;
35598#line 941
35599  __cil_tmp11 = & l2->flag;
35600#line 941
35601  __cil_tmp12 = (unsigned long const volatile   *)__cil_tmp11;
35602#line 941
35603  tmp = constant_test_bit(15U, __cil_tmp12);
35604  }
35605#line 941
35606  if (tmp != 0) {
35607#line 942
35608    return (0);
35609  } else {
35610
35611  }
35612  {
35613#line 943
35614  __cil_tmp13 = *debug___5;
35615#line 943
35616  __cil_tmp14 = __cil_tmp13 & 1048576U;
35617#line 943
35618  if (__cil_tmp14 != 0U) {
35619    {
35620#line 944
35621    printk("<7>%s: cmd(%x)\n", "l2_tei", cmd);
35622    }
35623  } else {
35624
35625  }
35626  }
35627  {
35628#line 946
35629  __cil_tmp15 = (int )cmd;
35630#line 946
35631  if (__cil_tmp15 == 6404) {
35632#line 946
35633    goto case_6404;
35634  } else {
35635    {
35636#line 949
35637    __cil_tmp16 = (int )cmd;
35638#line 949
35639    if (__cil_tmp16 == 7940) {
35640#line 949
35641      goto case_7940;
35642    } else {
35643      {
35644#line 955
35645      __cil_tmp17 = (int )cmd;
35646#line 955
35647      if (__cil_tmp17 == 7172) {
35648#line 955
35649        goto case_7172;
35650      } else {
35651        {
35652#line 959
35653        __cil_tmp18 = (int )cmd;
35654#line 959
35655        if (__cil_tmp18 == 7428) {
35656#line 959
35657          goto case_7428;
35658        } else {
35659          {
35660#line 963
35661          __cil_tmp19 = (int )cmd;
35662#line 963
35663          if (__cil_tmp19 == 7684) {
35664#line 963
35665            goto case_7684;
35666          } else
35667#line 945
35668          if (0) {
35669            case_6404: 
35670            {
35671#line 947
35672            __cil_tmp20 = & tm->tei_m;
35673#line 947
35674            __cil_tmp21 = (void *)0;
35675#line 947
35676            mISDN_FsmEvent(__cil_tmp20, 0, __cil_tmp21);
35677            }
35678#line 948
35679            goto ldv_38900;
35680            case_7940: 
35681            {
35682#line 950
35683            __cil_tmp22 = tm->mgr;
35684#line 950
35685            __cil_tmp23 = & __cil_tmp22->options;
35686#line 950
35687            __cil_tmp24 = (unsigned long const volatile   *)__cil_tmp23;
35688#line 950
35689            tmp___0 = constant_test_bit(25U, __cil_tmp24);
35690            }
35691#line 950
35692            if (tmp___0 != 0) {
35693              {
35694#line 951
35695              __cil_tmp25 = & tm->tei_m;
35696#line 951
35697              __cil_tmp26 = & l2->tei;
35698#line 951
35699              __cil_tmp27 = (void *)__cil_tmp26;
35700#line 951
35701              mISDN_FsmEvent(__cil_tmp25, 4, __cil_tmp27);
35702              }
35703            } else {
35704
35705            }
35706            {
35707#line 952
35708            __cil_tmp28 = tm->mgr;
35709#line 952
35710            __cil_tmp29 = & __cil_tmp28->options;
35711#line 952
35712            __cil_tmp30 = (unsigned long const volatile   *)__cil_tmp29;
35713#line 952
35714            tmp___1 = constant_test_bit(24U, __cil_tmp30);
35715            }
35716#line 952
35717            if (tmp___1 != 0) {
35718              {
35719#line 953
35720              __cil_tmp31 = & tm->tei_m;
35721#line 953
35722              __cil_tmp32 = (void *)0;
35723#line 953
35724              mISDN_FsmEvent(__cil_tmp31, 7, __cil_tmp32);
35725              }
35726            } else {
35727
35728            }
35729#line 954
35730            goto ldv_38900;
35731            case_7172: 
35732            {
35733#line 956
35734            __cil_tmp33 = tm->mgr;
35735#line 956
35736            __cil_tmp34 = & __cil_tmp33->options;
35737#line 956
35738            __cil_tmp35 = (unsigned long const volatile   *)__cil_tmp34;
35739#line 956
35740            tmp___2 = constant_test_bit(25U, __cil_tmp35);
35741            }
35742#line 956
35743            if (tmp___2 != 0) {
35744              {
35745#line 957
35746              __cil_tmp36 = tm->mgr;
35747#line 957
35748              __cil_tmp37 = & __cil_tmp36->deact;
35749#line 957
35750              __cil_tmp38 = (void *)0;
35751#line 957
35752              mISDN_FsmEvent(__cil_tmp37, 0, __cil_tmp38);
35753              }
35754            } else {
35755
35756            }
35757#line 958
35758            goto ldv_38900;
35759            case_7428: 
35760            {
35761#line 960
35762            __cil_tmp39 = tm->mgr;
35763#line 960
35764            __cil_tmp40 = & __cil_tmp39->options;
35765#line 960
35766            __cil_tmp41 = (unsigned long const volatile   *)__cil_tmp40;
35767#line 960
35768            tmp___3 = constant_test_bit(25U, __cil_tmp41);
35769            }
35770#line 960
35771            if (tmp___3 != 0) {
35772              {
35773#line 961
35774              __cil_tmp42 = tm->mgr;
35775#line 961
35776              __cil_tmp43 = & __cil_tmp42->deact;
35777#line 961
35778              __cil_tmp44 = (void *)0;
35779#line 961
35780              mISDN_FsmEvent(__cil_tmp43, 2, __cil_tmp44);
35781              }
35782            } else {
35783
35784            }
35785#line 962
35786            goto ldv_38900;
35787            case_7684: 
35788            {
35789#line 964
35790            __cil_tmp45 = tm->mgr;
35791#line 964
35792            __cil_tmp46 = & __cil_tmp45->options;
35793#line 964
35794            __cil_tmp47 = (unsigned long const volatile   *)__cil_tmp46;
35795#line 964
35796            tmp___4 = constant_test_bit(25U, __cil_tmp47);
35797            }
35798#line 964
35799            if (tmp___4 != 0) {
35800              {
35801#line 965
35802              __cil_tmp48 = tm->mgr;
35803#line 965
35804              __cil_tmp49 = & __cil_tmp48->deact;
35805#line 965
35806              __cil_tmp50 = (void *)0;
35807#line 965
35808              mISDN_FsmEvent(__cil_tmp49, 4, __cil_tmp50);
35809              }
35810            } else {
35811
35812            }
35813#line 966
35814            goto ldv_38900;
35815          } else {
35816
35817          }
35818          }
35819        }
35820        }
35821      }
35822      }
35823    }
35824    }
35825  }
35826  }
35827  ldv_38900: ;
35828#line 968
35829  return (0);
35830}
35831}
35832#line 972 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
35833void TEIrelease(struct layer2 *l2 ) 
35834{ struct teimgr *tm ;
35835  u_long flags ;
35836  struct FsmTimer *__cil_tmp4 ;
35837  struct manager *__cil_tmp5 ;
35838  rwlock_t *__cil_tmp6 ;
35839  struct list_head *__cil_tmp7 ;
35840  struct manager *__cil_tmp8 ;
35841  rwlock_t *__cil_tmp9 ;
35842  void const   *__cil_tmp10 ;
35843
35844  {
35845  {
35846#line 974
35847  tm = l2->tm;
35848#line 977
35849  __cil_tmp4 = & tm->timer;
35850#line 977
35851  mISDN_FsmDelTimer(__cil_tmp4, 1);
35852#line 978
35853  __cil_tmp5 = tm->mgr;
35854#line 978
35855  __cil_tmp6 = & __cil_tmp5->lock;
35856#line 978
35857  flags = _raw_write_lock_irqsave(__cil_tmp6);
35858#line 979
35859  __cil_tmp7 = & l2->list;
35860#line 979
35861  list_del(__cil_tmp7);
35862#line 980
35863  __cil_tmp8 = tm->mgr;
35864#line 980
35865  __cil_tmp9 = & __cil_tmp8->lock;
35866#line 980
35867  _raw_write_unlock_irqrestore(__cil_tmp9, flags);
35868#line 981
35869  l2->tm = (struct teimgr *)0;
35870#line 982
35871  __cil_tmp10 = (void const   *)tm;
35872#line 982
35873  kfree(__cil_tmp10);
35874  }
35875#line 983
35876  return;
35877}
35878}
35879#line 986 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
35880static int create_teimgr(struct manager *mgr , struct channel_req *crq ) 
35881{ struct layer2 *l2 ;
35882  u_long opt ;
35883  u_long flags ;
35884  int id ;
35885  char const   *tmp ;
35886  int tmp___0 ;
35887  int tmp___1 ;
35888  struct list_head  const  *__mptr ;
35889  struct list_head  const  *__mptr___0 ;
35890  int tmp___2 ;
35891  void *tmp___3 ;
35892  u_int __cil_tmp14 ;
35893  unsigned int __cil_tmp15 ;
35894  struct mISDNstack *__cil_tmp16 ;
35895  struct mISDNdevice *__cil_tmp17 ;
35896  struct device *__cil_tmp18 ;
35897  struct device  const  *__cil_tmp19 ;
35898  u_int __cil_tmp20 ;
35899  unsigned char __cil_tmp21 ;
35900  int __cil_tmp22 ;
35901  unsigned char __cil_tmp23 ;
35902  int __cil_tmp24 ;
35903  unsigned char __cil_tmp25 ;
35904  int __cil_tmp26 ;
35905  unsigned char __cil_tmp27 ;
35906  int __cil_tmp28 ;
35907  unsigned char __cil_tmp29 ;
35908  signed char __cil_tmp30 ;
35909  int __cil_tmp31 ;
35910  unsigned char __cil_tmp32 ;
35911  unsigned int __cil_tmp33 ;
35912  unsigned long volatile   *__cil_tmp34 ;
35913  unsigned char __cil_tmp35 ;
35914  unsigned int __cil_tmp36 ;
35915  unsigned long volatile   *__cil_tmp37 ;
35916  u_long *__cil_tmp38 ;
35917  unsigned long const volatile   *__cil_tmp39 ;
35918  u_int __cil_tmp40 ;
35919  unsigned char __cil_tmp41 ;
35920  unsigned int __cil_tmp42 ;
35921  unsigned char __cil_tmp43 ;
35922  unsigned int __cil_tmp44 ;
35923  struct mISDNchannel *__cil_tmp45 ;
35924  unsigned long __cil_tmp46 ;
35925  struct mISDNchannel *__cil_tmp47 ;
35926  unsigned long __cil_tmp48 ;
35927  u_long *__cil_tmp49 ;
35928  unsigned long const volatile   *__cil_tmp50 ;
35929  u_int __cil_tmp51 ;
35930  unsigned char __cil_tmp52 ;
35931  unsigned int __cil_tmp53 ;
35932  unsigned char __cil_tmp54 ;
35933  unsigned int __cil_tmp55 ;
35934  u_int __cil_tmp56 ;
35935  u_long *__cil_tmp57 ;
35936  unsigned long volatile   *__cil_tmp58 ;
35937  u_int __cil_tmp59 ;
35938  u_long *__cil_tmp60 ;
35939  unsigned long volatile   *__cil_tmp61 ;
35940  struct mISDNstack *__cil_tmp62 ;
35941  struct mISDNdevice *__cil_tmp63 ;
35942  u_int __cil_tmp64 ;
35943  unsigned int __cil_tmp65 ;
35944  unsigned long volatile   *__cil_tmp66 ;
35945  u_int __cil_tmp67 ;
35946  unsigned char __cil_tmp68 ;
35947  unsigned int __cil_tmp69 ;
35948  void *__cil_tmp70 ;
35949  struct list_head *__cil_tmp71 ;
35950  struct list_head  const  *__cil_tmp72 ;
35951  rwlock_t *__cil_tmp73 ;
35952  struct list_head *__cil_tmp74 ;
35953  ctrl_func_t *__cil_tmp75 ;
35954  struct mISDNchannel *__cil_tmp76 ;
35955  void *__cil_tmp77 ;
35956  struct list_head *__cil_tmp78 ;
35957  struct list_head *__cil_tmp79 ;
35958  unsigned long __cil_tmp80 ;
35959  struct list_head *__cil_tmp81 ;
35960  unsigned long __cil_tmp82 ;
35961  rwlock_t *__cil_tmp83 ;
35962  struct mISDNchannel *__cil_tmp84 ;
35963  u_int __cil_tmp85 ;
35964  unsigned char __cil_tmp86 ;
35965  int __cil_tmp87 ;
35966  unsigned char __cil_tmp88 ;
35967  int __cil_tmp89 ;
35968  struct layer2 *__cil_tmp90 ;
35969  unsigned long __cil_tmp91 ;
35970  unsigned long __cil_tmp92 ;
35971  struct teimgr *__cil_tmp93 ;
35972  unsigned long __cil_tmp94 ;
35973  struct teimgr *__cil_tmp95 ;
35974  unsigned long __cil_tmp96 ;
35975  void const   *__cil_tmp97 ;
35976  struct teimgr *__cil_tmp98 ;
35977  struct teimgr *__cil_tmp99 ;
35978  struct teimgr *__cil_tmp100 ;
35979  u_int __cil_tmp101 ;
35980  int __cil_tmp102 ;
35981  struct teimgr *__cil_tmp103 ;
35982  struct teimgr *__cil_tmp104 ;
35983  struct teimgr *__cil_tmp105 ;
35984  u_int __cil_tmp106 ;
35985  struct teimgr *__cil_tmp107 ;
35986  struct teimgr *__cil_tmp108 ;
35987  struct teimgr *__cil_tmp109 ;
35988  struct teimgr *__cil_tmp110 ;
35989  struct teimgr *__cil_tmp111 ;
35990  struct teimgr *__cil_tmp112 ;
35991  struct teimgr *__cil_tmp113 ;
35992  struct FsmInst *__cil_tmp114 ;
35993  struct teimgr *__cil_tmp115 ;
35994  struct FsmTimer *__cil_tmp116 ;
35995  rwlock_t *__cil_tmp117 ;
35996  struct list_head *__cil_tmp118 ;
35997  struct list_head *__cil_tmp119 ;
35998  rwlock_t *__cil_tmp120 ;
35999  ctrl_func_t *__cil_tmp121 ;
36000  struct mISDNchannel *__cil_tmp122 ;
36001  void *__cil_tmp123 ;
36002  struct mISDNchannel *__cil_tmp124 ;
36003
36004  {
36005#line 989
36006  opt = 0UL;
36007  {
36008#line 993
36009  __cil_tmp14 = *debug___5;
36010#line 993
36011  __cil_tmp15 = __cil_tmp14 & 1048576U;
36012#line 993
36013  if (__cil_tmp15 != 0U) {
36014    {
36015#line 994
36016    __cil_tmp16 = mgr->ch.st;
36017#line 994
36018    __cil_tmp17 = __cil_tmp16->dev;
36019#line 994
36020    __cil_tmp18 = & __cil_tmp17->dev;
36021#line 994
36022    __cil_tmp19 = (struct device  const  *)__cil_tmp18;
36023#line 994
36024    tmp = dev_name(__cil_tmp19);
36025#line 994
36026    __cil_tmp20 = crq->protocol;
36027#line 994
36028    __cil_tmp21 = crq->adr.dev;
36029#line 994
36030    __cil_tmp22 = (int )__cil_tmp21;
36031#line 994
36032    __cil_tmp23 = crq->adr.channel;
36033#line 994
36034    __cil_tmp24 = (int )__cil_tmp23;
36035#line 994
36036    __cil_tmp25 = crq->adr.sapi;
36037#line 994
36038    __cil_tmp26 = (int )__cil_tmp25;
36039#line 994
36040    __cil_tmp27 = crq->adr.tei;
36041#line 994
36042    __cil_tmp28 = (int )__cil_tmp27;
36043#line 994
36044    printk("<7>%s: %s proto(%x) adr(%d %d %d %d)\n", "create_teimgr", tmp, __cil_tmp20,
36045           __cil_tmp22, __cil_tmp24, __cil_tmp26, __cil_tmp28);
36046    }
36047  } else {
36048
36049  }
36050  }
36051  {
36052#line 998
36053  __cil_tmp29 = crq->adr.tei;
36054#line 998
36055  __cil_tmp30 = (signed char )__cil_tmp29;
36056#line 998
36057  __cil_tmp31 = (int )__cil_tmp30;
36058#line 998
36059  if (__cil_tmp31 < 0) {
36060#line 999
36061    return (-22);
36062  } else {
36063
36064  }
36065  }
36066  {
36067#line 1000
36068  __cil_tmp32 = crq->adr.tei;
36069#line 1000
36070  __cil_tmp33 = (unsigned int )__cil_tmp32;
36071#line 1000
36072  if (__cil_tmp33 <= 63U) {
36073    {
36074#line 1001
36075    __cil_tmp34 = (unsigned long volatile   *)(& opt);
36076#line 1001
36077    test_and_set_bit(3, __cil_tmp34);
36078    }
36079  } else {
36080
36081  }
36082  }
36083  {
36084#line 1002
36085  __cil_tmp35 = crq->adr.tei;
36086#line 1002
36087  __cil_tmp36 = (unsigned int )__cil_tmp35;
36088#line 1002
36089  if (__cil_tmp36 == 0U) {
36090    {
36091#line 1003
36092    __cil_tmp37 = (unsigned long volatile   *)(& opt);
36093#line 1003
36094    test_and_set_bit(2, __cil_tmp37);
36095    }
36096  } else {
36097
36098  }
36099  }
36100  {
36101#line 1004
36102  __cil_tmp38 = & mgr->options;
36103#line 1004
36104  __cil_tmp39 = (unsigned long const volatile   *)__cil_tmp38;
36105#line 1004
36106  tmp___1 = constant_test_bit(25U, __cil_tmp39);
36107  }
36108#line 1004
36109  if (tmp___1 != 0) {
36110    {
36111#line 1005
36112    __cil_tmp40 = crq->protocol;
36113#line 1005
36114    if (__cil_tmp40 == 16U) {
36115#line 1006
36116      return (-93);
36117    } else {
36118
36119    }
36120    }
36121    {
36122#line 1007
36123    __cil_tmp41 = crq->adr.tei;
36124#line 1007
36125    __cil_tmp42 = (unsigned int )__cil_tmp41;
36126#line 1007
36127    if (__cil_tmp42 != 0U) {
36128      {
36129#line 1007
36130      __cil_tmp43 = crq->adr.tei;
36131#line 1007
36132      __cil_tmp44 = (unsigned int )__cil_tmp43;
36133#line 1007
36134      if (__cil_tmp44 != 127U) {
36135#line 1008
36136        return (-22);
36137      } else {
36138
36139      }
36140      }
36141    } else {
36142
36143    }
36144    }
36145    {
36146#line 1009
36147    __cil_tmp45 = (struct mISDNchannel *)0;
36148#line 1009
36149    __cil_tmp46 = (unsigned long )__cil_tmp45;
36150#line 1009
36151    __cil_tmp47 = mgr->up;
36152#line 1009
36153    __cil_tmp48 = (unsigned long )__cil_tmp47;
36154#line 1009
36155    if (__cil_tmp48 != __cil_tmp46) {
36156      {
36157#line 1010
36158      printk("<4>%s: only one network manager is allowed\n", "create_teimgr");
36159      }
36160#line 1013
36161      return (-16);
36162    } else {
36163
36164    }
36165    }
36166  } else {
36167    {
36168#line 1015
36169    __cil_tmp49 = & mgr->options;
36170#line 1015
36171    __cil_tmp50 = (unsigned long const volatile   *)__cil_tmp49;
36172#line 1015
36173    tmp___0 = constant_test_bit(24U, __cil_tmp50);
36174    }
36175#line 1015
36176    if (tmp___0 != 0) {
36177      {
36178#line 1016
36179      __cil_tmp51 = crq->protocol;
36180#line 1016
36181      if (__cil_tmp51 == 17U) {
36182#line 1017
36183        return (-93);
36184      } else {
36185
36186      }
36187      }
36188      {
36189#line 1018
36190      __cil_tmp52 = crq->adr.tei;
36191#line 1018
36192      __cil_tmp53 = (unsigned int )__cil_tmp52;
36193#line 1018
36194      if (__cil_tmp53 > 63U) {
36195        {
36196#line 1018
36197        __cil_tmp54 = crq->adr.tei;
36198#line 1018
36199        __cil_tmp55 = (unsigned int )__cil_tmp54;
36200#line 1018
36201        if (__cil_tmp55 <= 126U) {
36202#line 1019
36203          return (-22);
36204        } else {
36205
36206        }
36207        }
36208      } else {
36209
36210      }
36211      }
36212    } else {
36213      {
36214#line 1021
36215      __cil_tmp56 = crq->protocol;
36216#line 1021
36217      if (__cil_tmp56 == 17U) {
36218        {
36219#line 1022
36220        __cil_tmp57 = & mgr->options;
36221#line 1022
36222        __cil_tmp58 = (unsigned long volatile   *)__cil_tmp57;
36223#line 1022
36224        test_and_set_bit(25, __cil_tmp58);
36225        }
36226      } else {
36227
36228      }
36229      }
36230      {
36231#line 1023
36232      __cil_tmp59 = crq->protocol;
36233#line 1023
36234      if (__cil_tmp59 == 16U) {
36235        {
36236#line 1024
36237        __cil_tmp60 = & mgr->options;
36238#line 1024
36239        __cil_tmp61 = (unsigned long volatile   *)__cil_tmp60;
36240#line 1024
36241        test_and_set_bit(24, __cil_tmp61);
36242        }
36243      } else {
36244
36245      }
36246      }
36247    }
36248  }
36249  {
36250#line 1026
36251  __cil_tmp62 = mgr->ch.st;
36252#line 1026
36253  __cil_tmp63 = __cil_tmp62->dev;
36254#line 1026
36255  __cil_tmp64 = __cil_tmp63->Dprotocols;
36256#line 1026
36257  __cil_tmp65 = __cil_tmp64 & 24U;
36258#line 1026
36259  if (__cil_tmp65 != 0U) {
36260    {
36261#line 1028
36262    __cil_tmp66 = (unsigned long volatile   *)(& opt);
36263#line 1028
36264    test_and_set_bit(1, __cil_tmp66);
36265    }
36266  } else {
36267
36268  }
36269  }
36270  {
36271#line 1029
36272  __cil_tmp67 = crq->protocol;
36273#line 1029
36274  if (__cil_tmp67 == 17U) {
36275    {
36276#line 1029
36277    __cil_tmp68 = crq->adr.tei;
36278#line 1029
36279    __cil_tmp69 = (unsigned int )__cil_tmp68;
36280#line 1029
36281    if (__cil_tmp69 == 127U) {
36282      {
36283#line 1030
36284      mgr->up = crq->ch;
36285#line 1031
36286      id = 1;
36287#line 1032
36288      __cil_tmp70 = (void *)(& id);
36289#line 1032
36290      teiup_create(mgr, 8U, 4, __cil_tmp70);
36291#line 1033
36292      crq->ch = (struct mISDNchannel *)0;
36293#line 1034
36294      __cil_tmp71 = & mgr->layer2;
36295#line 1034
36296      __cil_tmp72 = (struct list_head  const  *)__cil_tmp71;
36297#line 1034
36298      tmp___2 = list_empty(__cil_tmp72);
36299      }
36300#line 1034
36301      if (tmp___2 == 0) {
36302        {
36303#line 1035
36304        __cil_tmp73 = & mgr->lock;
36305#line 1035
36306        flags = _raw_read_lock_irqsave(__cil_tmp73);
36307#line 1036
36308        __cil_tmp74 = mgr->layer2.next;
36309#line 1036
36310        __mptr = (struct list_head  const  *)__cil_tmp74;
36311#line 1036
36312        l2 = (struct layer2 *)__mptr;
36313        }
36314#line 1036
36315        goto ldv_38933;
36316        ldv_38932: 
36317        {
36318#line 1037
36319        l2->up = mgr->up;
36320#line 1038
36321        __cil_tmp75 = l2->ch.ctrl;
36322#line 1038
36323        __cil_tmp76 = & l2->ch;
36324#line 1038
36325        __cil_tmp77 = (void *)0;
36326#line 1038
36327        (*__cil_tmp75)(__cil_tmp76, 256U, __cil_tmp77);
36328#line 1036
36329        __cil_tmp78 = l2->list.next;
36330#line 1036
36331        __mptr___0 = (struct list_head  const  *)__cil_tmp78;
36332#line 1036
36333        l2 = (struct layer2 *)__mptr___0;
36334        }
36335        ldv_38933: ;
36336        {
36337#line 1036
36338        __cil_tmp79 = & mgr->layer2;
36339#line 1036
36340        __cil_tmp80 = (unsigned long )__cil_tmp79;
36341#line 1036
36342        __cil_tmp81 = & l2->list;
36343#line 1036
36344        __cil_tmp82 = (unsigned long )__cil_tmp81;
36345#line 1036
36346        if (__cil_tmp82 != __cil_tmp80) {
36347#line 1037
36348          goto ldv_38932;
36349        } else {
36350#line 1039
36351          goto ldv_38934;
36352        }
36353        }
36354        ldv_38934: 
36355        {
36356#line 1040
36357        __cil_tmp83 = & mgr->lock;
36358#line 1040
36359        _raw_read_unlock_irqrestore(__cil_tmp83, flags);
36360        }
36361      } else {
36362
36363      }
36364#line 1042
36365      return (0);
36366    } else {
36367
36368    }
36369    }
36370  } else {
36371
36372  }
36373  }
36374  {
36375#line 1044
36376  __cil_tmp84 = crq->ch;
36377#line 1044
36378  __cil_tmp85 = crq->protocol;
36379#line 1044
36380  __cil_tmp86 = crq->adr.tei;
36381#line 1044
36382  __cil_tmp87 = (int )__cil_tmp86;
36383#line 1044
36384  __cil_tmp88 = crq->adr.sapi;
36385#line 1044
36386  __cil_tmp89 = (int )__cil_tmp88;
36387#line 1044
36388  l2 = create_l2(__cil_tmp84, __cil_tmp85, opt, __cil_tmp87, __cil_tmp89);
36389  }
36390  {
36391#line 1046
36392  __cil_tmp90 = (struct layer2 *)0;
36393#line 1046
36394  __cil_tmp91 = (unsigned long )__cil_tmp90;
36395#line 1046
36396  __cil_tmp92 = (unsigned long )l2;
36397#line 1046
36398  if (__cil_tmp92 == __cil_tmp91) {
36399#line 1047
36400    return (-12);
36401  } else {
36402
36403  }
36404  }
36405  {
36406#line 1048
36407  tmp___3 = kzalloc(224UL, 208U);
36408#line 1048
36409  l2->tm = (struct teimgr *)tmp___3;
36410  }
36411  {
36412#line 1049
36413  __cil_tmp93 = (struct teimgr *)0;
36414#line 1049
36415  __cil_tmp94 = (unsigned long )__cil_tmp93;
36416#line 1049
36417  __cil_tmp95 = l2->tm;
36418#line 1049
36419  __cil_tmp96 = (unsigned long )__cil_tmp95;
36420#line 1049
36421  if (__cil_tmp96 == __cil_tmp94) {
36422    {
36423#line 1050
36424    __cil_tmp97 = (void const   *)l2;
36425#line 1050
36426    kfree(__cil_tmp97);
36427#line 1051
36428    printk("<3>kmalloc teimgr failed\n");
36429    }
36430#line 1052
36431    return (-12);
36432  } else {
36433
36434  }
36435  }
36436#line 1054
36437  __cil_tmp98 = l2->tm;
36438#line 1054
36439  __cil_tmp98->mgr = mgr;
36440#line 1055
36441  __cil_tmp99 = l2->tm;
36442#line 1055
36443  __cil_tmp99->l2 = l2;
36444#line 1056
36445  __cil_tmp100 = l2->tm;
36446#line 1056
36447  __cil_tmp101 = *debug___5;
36448#line 1056
36449  __cil_tmp102 = (int )__cil_tmp101;
36450#line 1056
36451  __cil_tmp100->tei_m.debug = __cil_tmp102 & 2097152;
36452#line 1057
36453  __cil_tmp103 = l2->tm;
36454#line 1057
36455  __cil_tmp104 = l2->tm;
36456#line 1057
36457  __cil_tmp103->tei_m.userdata = (void *)__cil_tmp104;
36458#line 1058
36459  __cil_tmp105 = l2->tm;
36460#line 1058
36461  __cil_tmp105->tei_m.printdebug = & tei_debug;
36462  {
36463#line 1059
36464  __cil_tmp106 = crq->protocol;
36465#line 1059
36466  if (__cil_tmp106 == 16U) {
36467#line 1060
36468    __cil_tmp107 = l2->tm;
36469#line 1060
36470    __cil_tmp107->tei_m.fsm = & teifsmu;
36471#line 1061
36472    __cil_tmp108 = l2->tm;
36473#line 1061
36474    __cil_tmp108->tei_m.state = 0;
36475#line 1062
36476    __cil_tmp109 = l2->tm;
36477#line 1062
36478    __cil_tmp109->tval = 1000;
36479  } else {
36480#line 1064
36481    __cil_tmp110 = l2->tm;
36482#line 1064
36483    __cil_tmp110->tei_m.fsm = & teifsmn;
36484#line 1065
36485    __cil_tmp111 = l2->tm;
36486#line 1065
36487    __cil_tmp111->tei_m.state = 0;
36488#line 1066
36489    __cil_tmp112 = l2->tm;
36490#line 1066
36491    __cil_tmp112->tval = 2000;
36492  }
36493  }
36494  {
36495#line 1068
36496  __cil_tmp113 = l2->tm;
36497#line 1068
36498  __cil_tmp114 = & __cil_tmp113->tei_m;
36499#line 1068
36500  __cil_tmp115 = l2->tm;
36501#line 1068
36502  __cil_tmp116 = & __cil_tmp115->timer;
36503#line 1068
36504  mISDN_FsmInitTimer(__cil_tmp114, __cil_tmp116);
36505#line 1069
36506  __cil_tmp117 = & mgr->lock;
36507#line 1069
36508  flags = _raw_write_lock_irqsave(__cil_tmp117);
36509#line 1070
36510  id = get_free_id(mgr);
36511#line 1071
36512  __cil_tmp118 = & l2->list;
36513#line 1071
36514  __cil_tmp119 = & mgr->layer2;
36515#line 1071
36516  list_add_tail(__cil_tmp118, __cil_tmp119);
36517#line 1072
36518  __cil_tmp120 = & mgr->lock;
36519#line 1072
36520  _raw_write_unlock_irqrestore(__cil_tmp120, flags);
36521  }
36522#line 1073
36523  if (id < 0) {
36524    {
36525#line 1074
36526    __cil_tmp121 = l2->ch.ctrl;
36527#line 1074
36528    __cil_tmp122 = & l2->ch;
36529#line 1074
36530    __cil_tmp123 = (void *)0;
36531#line 1074
36532    (*__cil_tmp121)(__cil_tmp122, 512U, __cil_tmp123);
36533    }
36534  } else {
36535#line 1076
36536    l2->ch.nr = (u_int )id;
36537#line 1077
36538    __cil_tmp124 = l2->up;
36539#line 1077
36540    __cil_tmp124->nr = (u_int )id;
36541#line 1078
36542    crq->ch = & l2->ch;
36543#line 1079
36544    id = 0;
36545  }
36546#line 1081
36547  return (id);
36548}
36549}
36550#line 1085 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
36551static int mgr_send(struct mISDNchannel *ch , struct sk_buff *skb ) 
36552{ struct manager *mgr ;
36553  struct mISDNhead *hh ;
36554  int ret ;
36555  struct mISDNchannel  const  *__mptr ;
36556  int tmp ;
36557  char (*__cil_tmp8)[48U] ;
36558  u_int __cil_tmp9 ;
36559  unsigned int __cil_tmp10 ;
36560  unsigned int __cil_tmp11 ;
36561  unsigned int __cil_tmp12 ;
36562  unsigned int __cil_tmp13 ;
36563  int __cil_tmp14 ;
36564  unsigned int __cil_tmp15 ;
36565  int __cil_tmp16 ;
36566  unsigned int __cil_tmp17 ;
36567  int __cil_tmp18 ;
36568  unsigned int __cil_tmp19 ;
36569  int __cil_tmp20 ;
36570  unsigned int __cil_tmp21 ;
36571  int __cil_tmp22 ;
36572  struct FsmInst *__cil_tmp23 ;
36573  void *__cil_tmp24 ;
36574  unsigned int __cil_tmp25 ;
36575  u_long *__cil_tmp26 ;
36576  unsigned long volatile   *__cil_tmp27 ;
36577  struct FsmInst *__cil_tmp28 ;
36578  void *__cil_tmp29 ;
36579  u_long *__cil_tmp30 ;
36580  unsigned long volatile   *__cil_tmp31 ;
36581  struct FsmInst *__cil_tmp32 ;
36582  void *__cil_tmp33 ;
36583
36584  {
36585#line 1088
36586  __cil_tmp8 = & skb->cb;
36587#line 1088
36588  hh = (struct mISDNhead *)__cil_tmp8;
36589#line 1089
36590  ret = -22;
36591#line 1091
36592  __mptr = (struct mISDNchannel  const  *)ch;
36593#line 1091
36594  mgr = (struct manager *)__mptr;
36595  {
36596#line 1092
36597  __cil_tmp9 = *debug___5;
36598#line 1092
36599  __cil_tmp10 = __cil_tmp9 & 524288U;
36600#line 1092
36601  if (__cil_tmp10 != 0U) {
36602    {
36603#line 1093
36604    __cil_tmp11 = hh->prim;
36605#line 1093
36606    __cil_tmp12 = hh->id;
36607#line 1093
36608    printk("<7>%s: prim(%x) id(%x)\n", "mgr_send", __cil_tmp11, __cil_tmp12);
36609    }
36610  } else {
36611
36612  }
36613  }
36614  {
36615#line 1096
36616  __cil_tmp13 = hh->prim;
36617#line 1096
36618  __cil_tmp14 = (int )__cil_tmp13;
36619#line 1096
36620  if (__cil_tmp14 == 8194) {
36621#line 1096
36622    goto case_8194;
36623  } else {
36624    {
36625#line 1100
36626    __cil_tmp15 = hh->prim;
36627#line 1100
36628    __cil_tmp16 = (int )__cil_tmp15;
36629#line 1100
36630    if (__cil_tmp16 == 24578) {
36631#line 1100
36632      goto case_24578;
36633    } else {
36634      {
36635#line 1104
36636      __cil_tmp17 = hh->prim;
36637#line 1104
36638      __cil_tmp18 = (int )__cil_tmp17;
36639#line 1104
36640      if (__cil_tmp18 == 258) {
36641#line 1104
36642        goto case_258;
36643      } else {
36644        {
36645#line 1110
36646        __cil_tmp19 = hh->prim;
36647#line 1110
36648        __cil_tmp20 = (int )__cil_tmp19;
36649#line 1110
36650        if (__cil_tmp20 == 514) {
36651#line 1110
36652          goto case_514;
36653        } else {
36654          {
36655#line 1115
36656          __cil_tmp21 = hh->prim;
36657#line 1115
36658          __cil_tmp22 = (int )__cil_tmp21;
36659#line 1115
36660          if (__cil_tmp22 == 12548) {
36661#line 1115
36662            goto case_12548;
36663          } else
36664#line 1095
36665          if (0) {
36666            case_8194: 
36667            {
36668#line 1097
36669            __cil_tmp23 = & mgr->deact;
36670#line 1097
36671            __cil_tmp24 = (void *)0;
36672#line 1097
36673            mISDN_FsmEvent(__cil_tmp23, 4, __cil_tmp24);
36674#line 1098
36675            ret = ph_data_ind(mgr, skb);
36676            }
36677#line 1099
36678            goto ldv_38955;
36679            case_24578: 
36680            {
36681#line 1101
36682            __cil_tmp25 = hh->id;
36683#line 1101
36684            do_ack(mgr, __cil_tmp25);
36685#line 1102
36686            ret = 0;
36687            }
36688#line 1103
36689            goto ldv_38955;
36690            case_258: 
36691            {
36692#line 1105
36693            __cil_tmp26 = & mgr->options;
36694#line 1105
36695            __cil_tmp27 = (unsigned long volatile   *)__cil_tmp26;
36696#line 1105
36697            test_and_set_bit(16, __cil_tmp27);
36698#line 1106
36699            __cil_tmp28 = & mgr->deact;
36700#line 1106
36701            __cil_tmp29 = (void *)0;
36702#line 1106
36703            mISDN_FsmEvent(__cil_tmp28, 1, __cil_tmp29);
36704#line 1107
36705            do_send(mgr);
36706#line 1108
36707            ret = 0;
36708            }
36709#line 1109
36710            goto ldv_38955;
36711            case_514: 
36712            {
36713#line 1111
36714            __cil_tmp30 = & mgr->options;
36715#line 1111
36716            __cil_tmp31 = (unsigned long volatile   *)__cil_tmp30;
36717#line 1111
36718            test_and_clear_bit(16, __cil_tmp31);
36719#line 1112
36720            __cil_tmp32 = & mgr->deact;
36721#line 1112
36722            __cil_tmp33 = (void *)0;
36723#line 1112
36724            mISDN_FsmEvent(__cil_tmp32, 3, __cil_tmp33);
36725#line 1113
36726            ret = 0;
36727            }
36728#line 1114
36729            goto ldv_38955;
36730            case_12548: 
36731            {
36732#line 1116
36733            tmp = dl_unit_data(mgr, skb);
36734            }
36735#line 1116
36736            return (tmp);
36737          } else {
36738
36739          }
36740          }
36741        }
36742        }
36743      }
36744      }
36745    }
36746    }
36747  }
36748  }
36749  ldv_38955: ;
36750#line 1118
36751  if (ret == 0) {
36752    {
36753#line 1119
36754    consume_skb(skb);
36755    }
36756  } else {
36757
36758  }
36759#line 1120
36760  return (ret);
36761}
36762}
36763#line 1124 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
36764static int free_teimanager(struct manager *mgr ) 
36765{ struct layer2 *l2 ;
36766  struct layer2 *nl2 ;
36767  struct list_head  const  *__mptr ;
36768  struct list_head  const  *__mptr___0 ;
36769  struct list_head  const  *__mptr___1 ;
36770  struct list_head  const  *__mptr___2 ;
36771  struct list_head  const  *__mptr___3 ;
36772  struct list_head  const  *__mptr___4 ;
36773  int tmp ;
36774  int tmp___0 ;
36775  int tmp___1 ;
36776  int tmp___2 ;
36777  u_long *__cil_tmp14 ;
36778  unsigned long volatile   *__cil_tmp15 ;
36779  u_long *__cil_tmp16 ;
36780  unsigned long const volatile   *__cil_tmp17 ;
36781  u_long *__cil_tmp18 ;
36782  unsigned long const volatile   *__cil_tmp19 ;
36783  struct list_head *__cil_tmp20 ;
36784  struct list_head *__cil_tmp21 ;
36785  u_char __cil_tmp22 ;
36786  signed char __cil_tmp23 ;
36787  int __cil_tmp24 ;
36788  struct mISDNstack *__cil_tmp25 ;
36789  struct mutex *__cil_tmp26 ;
36790  struct list_head *__cil_tmp27 ;
36791  struct mISDNstack *__cil_tmp28 ;
36792  struct mutex *__cil_tmp29 ;
36793  ctrl_func_t *__cil_tmp30 ;
36794  struct mISDNchannel *__cil_tmp31 ;
36795  void *__cil_tmp32 ;
36796  struct list_head *__cil_tmp33 ;
36797  struct list_head *__cil_tmp34 ;
36798  unsigned long __cil_tmp35 ;
36799  struct list_head *__cil_tmp36 ;
36800  unsigned long __cil_tmp37 ;
36801  u_long *__cil_tmp38 ;
36802  unsigned long volatile   *__cil_tmp39 ;
36803  struct list_head *__cil_tmp40 ;
36804  struct list_head *__cil_tmp41 ;
36805  struct list_head *__cil_tmp42 ;
36806  struct list_head *__cil_tmp43 ;
36807  unsigned long __cil_tmp44 ;
36808  struct list_head *__cil_tmp45 ;
36809  unsigned long __cil_tmp46 ;
36810  u_long *__cil_tmp47 ;
36811  unsigned long const volatile   *__cil_tmp48 ;
36812  struct list_head *__cil_tmp49 ;
36813  struct list_head  const  *__cil_tmp50 ;
36814  u_long *__cil_tmp51 ;
36815  unsigned long volatile   *__cil_tmp52 ;
36816  struct mISDNstack *__cil_tmp53 ;
36817  struct mISDNdevice *__cil_tmp54 ;
36818  ctrl_func_t *__cil_tmp55 ;
36819  struct mISDNstack *__cil_tmp56 ;
36820  struct mISDNdevice *__cil_tmp57 ;
36821  struct mISDNchannel *__cil_tmp58 ;
36822  void *__cil_tmp59 ;
36823
36824  {
36825  {
36826#line 1128
36827  __cil_tmp14 = & mgr->options;
36828#line 1128
36829  __cil_tmp15 = (unsigned long volatile   *)__cil_tmp14;
36830#line 1128
36831  test_and_clear_bit(5, __cil_tmp15);
36832#line 1129
36833  __cil_tmp16 = & mgr->options;
36834#line 1129
36835  __cil_tmp17 = (unsigned long const volatile   *)__cil_tmp16;
36836#line 1129
36837  tmp___0 = constant_test_bit(25U, __cil_tmp17);
36838  }
36839#line 1129
36840  if (tmp___0 != 0) {
36841    {
36842#line 1131
36843    mgr->up = (struct mISDNchannel *)0;
36844#line 1132
36845    __cil_tmp18 = & mgr->options;
36846#line 1132
36847    __cil_tmp19 = (unsigned long const volatile   *)__cil_tmp18;
36848#line 1132
36849    tmp = constant_test_bit(4U, __cil_tmp19);
36850    }
36851#line 1132
36852    if (tmp != 0) {
36853#line 1133
36854      __cil_tmp20 = mgr->layer2.next;
36855#line 1133
36856      __mptr = (struct list_head  const  *)__cil_tmp20;
36857#line 1133
36858      l2 = (struct layer2 *)__mptr;
36859#line 1133
36860      __cil_tmp21 = l2->list.next;
36861#line 1133
36862      __mptr___0 = (struct list_head  const  *)__cil_tmp21;
36863#line 1133
36864      nl2 = (struct layer2 *)__mptr___0;
36865#line 1133
36866      goto ldv_38972;
36867      ldv_38971: 
36868      {
36869#line 1134
36870      __cil_tmp22 = (u_char )6;
36871#line 1134
36872      __cil_tmp23 = l2->tei;
36873#line 1134
36874      __cil_tmp24 = (int )__cil_tmp23;
36875#line 1134
36876      put_tei_msg(mgr, __cil_tmp22, 0U, __cil_tmp24);
36877#line 1135
36878      __cil_tmp25 = mgr->ch.st;
36879#line 1135
36880      __cil_tmp26 = & __cil_tmp25->lmutex;
36881#line 1135
36882      mutex_lock_nested(__cil_tmp26, 0U);
36883#line 1136
36884      __cil_tmp27 = & l2->ch.list;
36885#line 1136
36886      list_del(__cil_tmp27);
36887#line 1137
36888      __cil_tmp28 = mgr->ch.st;
36889#line 1137
36890      __cil_tmp29 = & __cil_tmp28->lmutex;
36891#line 1137
36892      mutex_unlock(__cil_tmp29);
36893#line 1138
36894      __cil_tmp30 = l2->ch.ctrl;
36895#line 1138
36896      __cil_tmp31 = & l2->ch;
36897#line 1138
36898      __cil_tmp32 = (void *)0;
36899#line 1138
36900      (*__cil_tmp30)(__cil_tmp31, 512U, __cil_tmp32);
36901#line 1133
36902      l2 = nl2;
36903#line 1133
36904      __cil_tmp33 = nl2->list.next;
36905#line 1133
36906      __mptr___1 = (struct list_head  const  *)__cil_tmp33;
36907#line 1133
36908      nl2 = (struct layer2 *)__mptr___1;
36909      }
36910      ldv_38972: ;
36911      {
36912#line 1133
36913      __cil_tmp34 = & mgr->layer2;
36914#line 1133
36915      __cil_tmp35 = (unsigned long )__cil_tmp34;
36916#line 1133
36917      __cil_tmp36 = & l2->list;
36918#line 1133
36919      __cil_tmp37 = (unsigned long )__cil_tmp36;
36920#line 1133
36921      if (__cil_tmp37 != __cil_tmp35) {
36922#line 1134
36923        goto ldv_38971;
36924      } else {
36925#line 1136
36926        goto ldv_38973;
36927      }
36928      }
36929      ldv_38973: 
36930      {
36931#line 1140
36932      __cil_tmp38 = & mgr->options;
36933#line 1140
36934      __cil_tmp39 = (unsigned long volatile   *)__cil_tmp38;
36935#line 1140
36936      test_and_clear_bit(25, __cil_tmp39);
36937      }
36938    } else {
36939#line 1142
36940      __cil_tmp40 = mgr->layer2.next;
36941#line 1142
36942      __mptr___2 = (struct list_head  const  *)__cil_tmp40;
36943#line 1142
36944      l2 = (struct layer2 *)__mptr___2;
36945#line 1142
36946      __cil_tmp41 = l2->list.next;
36947#line 1142
36948      __mptr___3 = (struct list_head  const  *)__cil_tmp41;
36949#line 1142
36950      nl2 = (struct layer2 *)__mptr___3;
36951#line 1142
36952      goto ldv_38981;
36953      ldv_38980: 
36954#line 1143
36955      l2->up = (struct mISDNchannel *)0;
36956#line 1142
36957      l2 = nl2;
36958#line 1142
36959      __cil_tmp42 = nl2->list.next;
36960#line 1142
36961      __mptr___4 = (struct list_head  const  *)__cil_tmp42;
36962#line 1142
36963      nl2 = (struct layer2 *)__mptr___4;
36964      ldv_38981: ;
36965      {
36966#line 1142
36967      __cil_tmp43 = & mgr->layer2;
36968#line 1142
36969      __cil_tmp44 = (unsigned long )__cil_tmp43;
36970#line 1142
36971      __cil_tmp45 = & l2->list;
36972#line 1142
36973      __cil_tmp46 = (unsigned long )__cil_tmp45;
36974#line 1142
36975      if (__cil_tmp46 != __cil_tmp44) {
36976#line 1143
36977        goto ldv_38980;
36978      } else {
36979#line 1145
36980        goto ldv_38982;
36981      }
36982      }
36983      ldv_38982: ;
36984    }
36985  } else {
36986
36987  }
36988  {
36989#line 1147
36990  __cil_tmp47 = & mgr->options;
36991#line 1147
36992  __cil_tmp48 = (unsigned long const volatile   *)__cil_tmp47;
36993#line 1147
36994  tmp___2 = constant_test_bit(24U, __cil_tmp48);
36995  }
36996#line 1147
36997  if (tmp___2 != 0) {
36998    {
36999#line 1148
37000    __cil_tmp49 = & mgr->layer2;
37001#line 1148
37002    __cil_tmp50 = (struct list_head  const  *)__cil_tmp49;
37003#line 1148
37004    tmp___1 = list_empty(__cil_tmp50);
37005    }
37006#line 1148
37007    if (tmp___1 != 0) {
37008      {
37009#line 1149
37010      __cil_tmp51 = & mgr->options;
37011#line 1149
37012      __cil_tmp52 = (unsigned long volatile   *)__cil_tmp51;
37013#line 1149
37014      test_and_clear_bit(24, __cil_tmp52);
37015      }
37016    } else {
37017
37018    }
37019  } else {
37020
37021  }
37022  {
37023#line 1151
37024  __cil_tmp53 = mgr->ch.st;
37025#line 1151
37026  __cil_tmp54 = __cil_tmp53->dev;
37027#line 1151
37028  __cil_tmp55 = __cil_tmp54->D.ctrl;
37029#line 1151
37030  __cil_tmp56 = mgr->ch.st;
37031#line 1151
37032  __cil_tmp57 = __cil_tmp56->dev;
37033#line 1151
37034  __cil_tmp58 = & __cil_tmp57->D;
37035#line 1151
37036  __cil_tmp59 = (void *)0;
37037#line 1151
37038  (*__cil_tmp55)(__cil_tmp58, 512U, __cil_tmp59);
37039  }
37040#line 1152
37041  return (0);
37042}
37043}
37044#line 1156 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
37045static int ctrl_teimanager(struct manager *mgr , void *arg ) 
37046{ int *val ;
37047  int ret ;
37048  int __cil_tmp5 ;
37049  int __cil_tmp6 ;
37050  int *__cil_tmp7 ;
37051  int __cil_tmp8 ;
37052  u_long *__cil_tmp9 ;
37053  unsigned long volatile   *__cil_tmp10 ;
37054  u_long *__cil_tmp11 ;
37055  unsigned long volatile   *__cil_tmp12 ;
37056  int *__cil_tmp13 ;
37057  int __cil_tmp14 ;
37058  u_long *__cil_tmp15 ;
37059  unsigned long volatile   *__cil_tmp16 ;
37060  u_long *__cil_tmp17 ;
37061  unsigned long volatile   *__cil_tmp18 ;
37062
37063  {
37064#line 1159
37065  val = (int *)arg;
37066#line 1160
37067  ret = 0;
37068  {
37069#line 1163
37070  __cil_tmp5 = *val;
37071#line 1163
37072  if (__cil_tmp5 == -2147202746) {
37073#line 1163
37074    goto case_neg_2147202746;
37075  } else {
37076    {
37077#line 1169
37078    __cil_tmp6 = *val;
37079#line 1169
37080    if (__cil_tmp6 == -2147202744) {
37081#line 1169
37082      goto case_neg_2147202744;
37083    } else {
37084#line 1175
37085      goto switch_default;
37086#line 1162
37087      if (0) {
37088        case_neg_2147202746: ;
37089        {
37090#line 1164
37091        __cil_tmp7 = val + 1UL;
37092#line 1164
37093        __cil_tmp8 = *__cil_tmp7;
37094#line 1164
37095        if (__cil_tmp8 != 0) {
37096          {
37097#line 1165
37098          __cil_tmp9 = & mgr->options;
37099#line 1165
37100          __cil_tmp10 = (unsigned long volatile   *)__cil_tmp9;
37101#line 1165
37102          test_and_set_bit(4, __cil_tmp10);
37103          }
37104        } else {
37105          {
37106#line 1167
37107          __cil_tmp11 = & mgr->options;
37108#line 1167
37109          __cil_tmp12 = (unsigned long volatile   *)__cil_tmp11;
37110#line 1167
37111          test_and_clear_bit(4, __cil_tmp12);
37112          }
37113        }
37114        }
37115#line 1168
37116        goto ldv_38990;
37117        case_neg_2147202744: ;
37118        {
37119#line 1170
37120        __cil_tmp13 = val + 1UL;
37121#line 1170
37122        __cil_tmp14 = *__cil_tmp13;
37123#line 1170
37124        if (__cil_tmp14 != 0) {
37125          {
37126#line 1171
37127          __cil_tmp15 = & mgr->options;
37128#line 1171
37129          __cil_tmp16 = (unsigned long volatile   *)__cil_tmp15;
37130#line 1171
37131          test_and_set_bit(5, __cil_tmp16);
37132          }
37133        } else {
37134          {
37135#line 1173
37136          __cil_tmp17 = & mgr->options;
37137#line 1173
37138          __cil_tmp18 = (unsigned long volatile   *)__cil_tmp17;
37139#line 1173
37140          test_and_clear_bit(5, __cil_tmp18);
37141          }
37142        }
37143        }
37144#line 1174
37145        goto ldv_38990;
37146        switch_default: 
37147#line 1176
37148        ret = -22;
37149      } else {
37150
37151      }
37152    }
37153    }
37154  }
37155  }
37156  ldv_38990: ;
37157#line 1178
37158  return (ret);
37159}
37160}
37161#line 1183 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
37162static int check_data(struct manager *mgr , struct sk_buff *skb ) 
37163{ struct mISDNhead *hh ;
37164  int ret ;
37165  int tei ;
37166  int sapi ;
37167  struct layer2 *l2 ;
37168  int tmp ;
37169  char (*__cil_tmp9)[48U] ;
37170  u_int __cil_tmp10 ;
37171  unsigned int __cil_tmp11 ;
37172  unsigned int __cil_tmp12 ;
37173  unsigned int __cil_tmp13 ;
37174  u_long *__cil_tmp14 ;
37175  unsigned long const volatile   *__cil_tmp15 ;
37176  unsigned int __cil_tmp16 ;
37177  unsigned int __cil_tmp17 ;
37178  unsigned char *__cil_tmp18 ;
37179  unsigned char __cil_tmp19 ;
37180  int __cil_tmp20 ;
37181  int __cil_tmp21 ;
37182  unsigned char *__cil_tmp22 ;
37183  unsigned char __cil_tmp23 ;
37184  int __cil_tmp24 ;
37185  unsigned char *__cil_tmp25 ;
37186  unsigned char *__cil_tmp26 ;
37187  unsigned char __cil_tmp27 ;
37188  int __cil_tmp28 ;
37189  int __cil_tmp29 ;
37190  unsigned char *__cil_tmp30 ;
37191  unsigned char *__cil_tmp31 ;
37192  unsigned char __cil_tmp32 ;
37193  int __cil_tmp33 ;
37194  unsigned char *__cil_tmp34 ;
37195  unsigned char *__cil_tmp35 ;
37196  unsigned char __cil_tmp36 ;
37197  int __cil_tmp37 ;
37198  int __cil_tmp38 ;
37199  u_int __cil_tmp39 ;
37200  unsigned int __cil_tmp40 ;
37201  struct layer2 *__cil_tmp41 ;
37202  unsigned long __cil_tmp42 ;
37203  unsigned long __cil_tmp43 ;
37204  u_int __cil_tmp44 ;
37205  unsigned int __cil_tmp45 ;
37206  send_func_t *__cil_tmp46 ;
37207  struct mISDNchannel *__cil_tmp47 ;
37208
37209  {
37210#line 1185
37211  __cil_tmp9 = & skb->cb;
37212#line 1185
37213  hh = (struct mISDNhead *)__cil_tmp9;
37214  {
37215#line 1189
37216  __cil_tmp10 = *debug___5;
37217#line 1189
37218  __cil_tmp11 = __cil_tmp10 & 262144U;
37219#line 1189
37220  if (__cil_tmp11 != 0U) {
37221    {
37222#line 1190
37223    __cil_tmp12 = hh->prim;
37224#line 1190
37225    __cil_tmp13 = hh->id;
37226#line 1190
37227    printk("<7>%s: prim(%x) id(%x)\n", "check_data", __cil_tmp12, __cil_tmp13);
37228    }
37229  } else {
37230
37231  }
37232  }
37233  {
37234#line 1192
37235  __cil_tmp14 = & mgr->options;
37236#line 1192
37237  __cil_tmp15 = (unsigned long const volatile   *)__cil_tmp14;
37238#line 1192
37239  tmp = constant_test_bit(24U, __cil_tmp15);
37240  }
37241#line 1192
37242  if (tmp != 0) {
37243#line 1193
37244    return (-107);
37245  } else {
37246
37247  }
37248  {
37249#line 1194
37250  __cil_tmp16 = hh->prim;
37251#line 1194
37252  if (__cil_tmp16 != 8194U) {
37253#line 1195
37254    return (-107);
37255  } else {
37256
37257  }
37258  }
37259  {
37260#line 1196
37261  __cil_tmp17 = skb->len;
37262#line 1196
37263  if (__cil_tmp17 != 3U) {
37264#line 1197
37265    return (-107);
37266  } else {
37267
37268  }
37269  }
37270  {
37271#line 1198
37272  __cil_tmp18 = skb->data;
37273#line 1198
37274  __cil_tmp19 = *__cil_tmp18;
37275#line 1198
37276  __cil_tmp20 = (int )__cil_tmp19;
37277#line 1198
37278  __cil_tmp21 = __cil_tmp20 & 3;
37279#line 1198
37280  if (__cil_tmp21 != 0) {
37281#line 1199
37282    return (-22);
37283  } else {
37284
37285  }
37286  }
37287#line 1200
37288  __cil_tmp22 = skb->data;
37289#line 1200
37290  __cil_tmp23 = *__cil_tmp22;
37291#line 1200
37292  __cil_tmp24 = (int )__cil_tmp23;
37293#line 1200
37294  sapi = __cil_tmp24 >> 2;
37295  {
37296#line 1201
37297  __cil_tmp25 = skb->data;
37298#line 1201
37299  __cil_tmp26 = __cil_tmp25 + 1UL;
37300#line 1201
37301  __cil_tmp27 = *__cil_tmp26;
37302#line 1201
37303  __cil_tmp28 = (int )__cil_tmp27;
37304#line 1201
37305  __cil_tmp29 = __cil_tmp28 & 1;
37306#line 1201
37307  if (__cil_tmp29 == 0) {
37308#line 1202
37309    return (-22);
37310  } else {
37311
37312  }
37313  }
37314#line 1203
37315  __cil_tmp30 = skb->data;
37316#line 1203
37317  __cil_tmp31 = __cil_tmp30 + 1UL;
37318#line 1203
37319  __cil_tmp32 = *__cil_tmp31;
37320#line 1203
37321  __cil_tmp33 = (int )__cil_tmp32;
37322#line 1203
37323  tei = __cil_tmp33 >> 1;
37324#line 1204
37325  if (tei > 63) {
37326#line 1205
37327    return (-107);
37328  } else {
37329
37330  }
37331  {
37332#line 1206
37333  __cil_tmp34 = skb->data;
37334#line 1206
37335  __cil_tmp35 = __cil_tmp34 + 2UL;
37336#line 1206
37337  __cil_tmp36 = *__cil_tmp35;
37338#line 1206
37339  __cil_tmp37 = (int )__cil_tmp36;
37340#line 1206
37341  __cil_tmp38 = __cil_tmp37 & -17;
37342#line 1206
37343  if (__cil_tmp38 != 111) {
37344#line 1207
37345    return (-107);
37346  } else {
37347
37348  }
37349  }
37350  {
37351#line 1209
37352  __cil_tmp39 = *debug___5;
37353#line 1209
37354  __cil_tmp40 = __cil_tmp39 & 262144U;
37355#line 1209
37356  if (__cil_tmp40 != 0U) {
37357    {
37358#line 1210
37359    printk("<7>%s: SABME sapi(%d) tei(%d)\n", "check_data", sapi, tei);
37360    }
37361  } else {
37362
37363  }
37364  }
37365  {
37366#line 1212
37367  l2 = create_new_tei(mgr, tei, sapi);
37368  }
37369  {
37370#line 1213
37371  __cil_tmp41 = (struct layer2 *)0;
37372#line 1213
37373  __cil_tmp42 = (unsigned long )__cil_tmp41;
37374#line 1213
37375  __cil_tmp43 = (unsigned long )l2;
37376#line 1213
37377  if (__cil_tmp43 == __cil_tmp42) {
37378    {
37379#line 1214
37380    __cil_tmp44 = *debug___5;
37381#line 1214
37382    __cil_tmp45 = __cil_tmp44 & 262144U;
37383#line 1214
37384    if (__cil_tmp45 != 0U) {
37385      {
37386#line 1215
37387      printk("<7>%s: failed to create new tei\n", "check_data");
37388      }
37389    } else {
37390
37391    }
37392    }
37393#line 1217
37394    return (-12);
37395  } else {
37396
37397  }
37398  }
37399  {
37400#line 1219
37401  __cil_tmp46 = l2->ch.send;
37402#line 1219
37403  __cil_tmp47 = & l2->ch;
37404#line 1219
37405  ret = (*__cil_tmp46)(__cil_tmp47, skb);
37406  }
37407#line 1220
37408  return (ret);
37409}
37410}
37411#line 1224 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
37412void delete_teimanager(struct mISDNchannel *ch ) 
37413{ struct manager *mgr ;
37414  struct layer2 *l2 ;
37415  struct layer2 *nl2 ;
37416  struct mISDNchannel  const  *__mptr ;
37417  struct list_head  const  *__mptr___0 ;
37418  struct list_head  const  *__mptr___1 ;
37419  struct list_head  const  *__mptr___2 ;
37420  struct list_head *__cil_tmp9 ;
37421  struct list_head *__cil_tmp10 ;
37422  struct mISDNstack *__cil_tmp11 ;
37423  struct mutex *__cil_tmp12 ;
37424  struct list_head *__cil_tmp13 ;
37425  struct mISDNstack *__cil_tmp14 ;
37426  struct mutex *__cil_tmp15 ;
37427  ctrl_func_t *__cil_tmp16 ;
37428  struct mISDNchannel *__cil_tmp17 ;
37429  void *__cil_tmp18 ;
37430  struct list_head *__cil_tmp19 ;
37431  struct list_head *__cil_tmp20 ;
37432  unsigned long __cil_tmp21 ;
37433  struct list_head *__cil_tmp22 ;
37434  unsigned long __cil_tmp23 ;
37435  struct list_head *__cil_tmp24 ;
37436  struct list_head *__cil_tmp25 ;
37437  struct sk_buff_head *__cil_tmp26 ;
37438  void const   *__cil_tmp27 ;
37439
37440  {
37441#line 1229
37442  __mptr = (struct mISDNchannel  const  *)ch;
37443#line 1229
37444  mgr = (struct manager *)__mptr;
37445#line 1231
37446  __cil_tmp9 = mgr->layer2.next;
37447#line 1231
37448  __mptr___0 = (struct list_head  const  *)__cil_tmp9;
37449#line 1231
37450  l2 = (struct layer2 *)__mptr___0;
37451#line 1231
37452  __cil_tmp10 = l2->list.next;
37453#line 1231
37454  __mptr___1 = (struct list_head  const  *)__cil_tmp10;
37455#line 1231
37456  nl2 = (struct layer2 *)__mptr___1;
37457#line 1231
37458  goto ldv_39018;
37459  ldv_39017: 
37460  {
37461#line 1232
37462  __cil_tmp11 = mgr->ch.st;
37463#line 1232
37464  __cil_tmp12 = & __cil_tmp11->lmutex;
37465#line 1232
37466  mutex_lock_nested(__cil_tmp12, 0U);
37467#line 1233
37468  __cil_tmp13 = & l2->ch.list;
37469#line 1233
37470  list_del(__cil_tmp13);
37471#line 1234
37472  __cil_tmp14 = mgr->ch.st;
37473#line 1234
37474  __cil_tmp15 = & __cil_tmp14->lmutex;
37475#line 1234
37476  mutex_unlock(__cil_tmp15);
37477#line 1235
37478  __cil_tmp16 = l2->ch.ctrl;
37479#line 1235
37480  __cil_tmp17 = & l2->ch;
37481#line 1235
37482  __cil_tmp18 = (void *)0;
37483#line 1235
37484  (*__cil_tmp16)(__cil_tmp17, 512U, __cil_tmp18);
37485#line 1231
37486  l2 = nl2;
37487#line 1231
37488  __cil_tmp19 = nl2->list.next;
37489#line 1231
37490  __mptr___2 = (struct list_head  const  *)__cil_tmp19;
37491#line 1231
37492  nl2 = (struct layer2 *)__mptr___2;
37493  }
37494  ldv_39018: ;
37495  {
37496#line 1231
37497  __cil_tmp20 = & mgr->layer2;
37498#line 1231
37499  __cil_tmp21 = (unsigned long )__cil_tmp20;
37500#line 1231
37501  __cil_tmp22 = & l2->list;
37502#line 1231
37503  __cil_tmp23 = (unsigned long )__cil_tmp22;
37504#line 1231
37505  if (__cil_tmp23 != __cil_tmp21) {
37506#line 1232
37507    goto ldv_39017;
37508  } else {
37509#line 1234
37510    goto ldv_39019;
37511  }
37512  }
37513  ldv_39019: 
37514  {
37515#line 1237
37516  __cil_tmp24 = & mgr->ch.list;
37517#line 1237
37518  list_del(__cil_tmp24);
37519#line 1238
37520  __cil_tmp25 = & mgr->bcast.list;
37521#line 1238
37522  list_del(__cil_tmp25);
37523#line 1239
37524  __cil_tmp26 = & mgr->sendq;
37525#line 1239
37526  skb_queue_purge(__cil_tmp26);
37527#line 1240
37528  __cil_tmp27 = (void const   *)mgr;
37529#line 1240
37530  kfree(__cil_tmp27);
37531  }
37532#line 1241
37533  return;
37534}
37535}
37536#line 1244 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
37537static int mgr_ctrl(struct mISDNchannel *ch , u_int cmd , void *arg ) 
37538{ struct manager *mgr ;
37539  int ret ;
37540  struct mISDNchannel  const  *__mptr ;
37541  u_int __cil_tmp7 ;
37542  unsigned int __cil_tmp8 ;
37543  int __cil_tmp9 ;
37544  int __cil_tmp10 ;
37545  int __cil_tmp11 ;
37546  int __cil_tmp12 ;
37547  struct channel_req *__cil_tmp13 ;
37548  struct sk_buff *__cil_tmp14 ;
37549
37550  {
37551#line 1247
37552  ret = -22;
37553#line 1249
37554  __mptr = (struct mISDNchannel  const  *)ch;
37555#line 1249
37556  mgr = (struct manager *)__mptr;
37557  {
37558#line 1250
37559  __cil_tmp7 = *debug___5;
37560#line 1250
37561  __cil_tmp8 = __cil_tmp7 & 262144U;
37562#line 1250
37563  if (__cil_tmp8 != 0U) {
37564    {
37565#line 1251
37566    printk("<7>%s(%x, %p)\n", "mgr_ctrl", cmd, arg);
37567    }
37568  } else {
37569
37570  }
37571  }
37572  {
37573#line 1253
37574  __cil_tmp9 = (int )cmd;
37575#line 1253
37576  if (__cil_tmp9 == 256) {
37577#line 1253
37578    goto case_256;
37579  } else {
37580    {
37581#line 1256
37582    __cil_tmp10 = (int )cmd;
37583#line 1256
37584    if (__cil_tmp10 == 512) {
37585#line 1256
37586      goto case_512;
37587    } else {
37588      {
37589#line 1259
37590      __cil_tmp11 = (int )cmd;
37591#line 1259
37592      if (__cil_tmp11 == 768) {
37593#line 1259
37594        goto case_768;
37595      } else {
37596        {
37597#line 1262
37598        __cil_tmp12 = (int )cmd;
37599#line 1262
37600        if (__cil_tmp12 == 1024) {
37601#line 1262
37602          goto case_1024;
37603        } else
37604#line 1252
37605        if (0) {
37606          case_256: 
37607          {
37608#line 1254
37609          __cil_tmp13 = (struct channel_req *)arg;
37610#line 1254
37611          ret = create_teimgr(mgr, __cil_tmp13);
37612          }
37613#line 1255
37614          goto ldv_39031;
37615          case_512: 
37616          {
37617#line 1257
37618          ret = free_teimanager(mgr);
37619          }
37620#line 1258
37621          goto ldv_39031;
37622          case_768: 
37623          {
37624#line 1260
37625          ret = ctrl_teimanager(mgr, arg);
37626          }
37627#line 1261
37628          goto ldv_39031;
37629          case_1024: 
37630          {
37631#line 1263
37632          __cil_tmp14 = (struct sk_buff *)arg;
37633#line 1263
37634          ret = check_data(mgr, __cil_tmp14);
37635          }
37636#line 1264
37637          goto ldv_39031;
37638        } else {
37639
37640        }
37641        }
37642      }
37643      }
37644    }
37645    }
37646  }
37647  }
37648  ldv_39031: ;
37649#line 1266
37650  return (ret);
37651}
37652}
37653#line 1270 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
37654static int mgr_bcast(struct mISDNchannel *ch , struct sk_buff *skb ) 
37655{ struct manager *mgr ;
37656  struct mISDNchannel  const  *__mptr ;
37657  struct mISDNhead *hh ;
37658  struct sk_buff *cskb ;
37659  struct layer2 *l2 ;
37660  u_long flags ;
37661  int ret ;
37662  struct list_head  const  *__mptr___0 ;
37663  int tmp ;
37664  struct list_head  const  *__mptr___1 ;
37665  struct manager *__cil_tmp13 ;
37666  char (*__cil_tmp14)[48U] ;
37667  rwlock_t *__cil_tmp15 ;
37668  struct list_head *__cil_tmp16 ;
37669  u_int __cil_tmp17 ;
37670  unsigned int __cil_tmp18 ;
37671  unsigned int __cil_tmp19 ;
37672  unsigned int __cil_tmp20 ;
37673  struct list_head *__cil_tmp21 ;
37674  struct list_head  const  *__cil_tmp22 ;
37675  struct list_head *__cil_tmp23 ;
37676  struct list_head  const  *__cil_tmp24 ;
37677  struct sk_buff *__cil_tmp25 ;
37678  unsigned long __cil_tmp26 ;
37679  unsigned long __cil_tmp27 ;
37680  struct sk_buff  const  *__cil_tmp28 ;
37681  struct sk_buff *__cil_tmp29 ;
37682  unsigned long __cil_tmp30 ;
37683  unsigned long __cil_tmp31 ;
37684  send_func_t *__cil_tmp32 ;
37685  struct mISDNchannel *__cil_tmp33 ;
37686  u_int __cil_tmp34 ;
37687  unsigned int __cil_tmp35 ;
37688  u_int __cil_tmp36 ;
37689  unsigned int __cil_tmp37 ;
37690  u_int __cil_tmp38 ;
37691  u_int __cil_tmp39 ;
37692  u_int __cil_tmp40 ;
37693  struct list_head *__cil_tmp41 ;
37694  struct list_head *__cil_tmp42 ;
37695  unsigned long __cil_tmp43 ;
37696  struct list_head *__cil_tmp44 ;
37697  unsigned long __cil_tmp45 ;
37698  rwlock_t *__cil_tmp46 ;
37699  struct sk_buff *__cil_tmp47 ;
37700  unsigned long __cil_tmp48 ;
37701  unsigned long __cil_tmp49 ;
37702  struct sk_buff *__cil_tmp50 ;
37703  unsigned long __cil_tmp51 ;
37704  unsigned long __cil_tmp52 ;
37705
37706  {
37707  {
37708#line 1272
37709  __mptr = (struct mISDNchannel  const  *)ch;
37710#line 1272
37711  __cil_tmp13 = (struct manager *)__mptr;
37712#line 1272
37713  mgr = __cil_tmp13 + 1152921504606846896UL;
37714#line 1273
37715  __cil_tmp14 = & skb->cb;
37716#line 1273
37717  hh = (struct mISDNhead *)__cil_tmp14;
37718#line 1274
37719  cskb = (struct sk_buff *)0;
37720#line 1279
37721  __cil_tmp15 = & mgr->lock;
37722#line 1279
37723  flags = _raw_read_lock_irqsave(__cil_tmp15);
37724#line 1280
37725  __cil_tmp16 = mgr->layer2.next;
37726#line 1280
37727  __mptr___0 = (struct list_head  const  *)__cil_tmp16;
37728#line 1280
37729  l2 = (struct layer2 *)__mptr___0;
37730  }
37731#line 1280
37732  goto ldv_39057;
37733  ldv_39056: ;
37734  {
37735#line 1281
37736  __cil_tmp17 = l2->ch.addr;
37737#line 1281
37738  __cil_tmp18 = hh->id;
37739#line 1281
37740  __cil_tmp19 = __cil_tmp18 ^ __cil_tmp17;
37741#line 1281
37742  __cil_tmp20 = __cil_tmp19 & 255U;
37743#line 1281
37744  if (__cil_tmp20 == 0U) {
37745    {
37746#line 1283
37747    __cil_tmp21 = & l2->list;
37748#line 1283
37749    __cil_tmp22 = (struct list_head  const  *)__cil_tmp21;
37750#line 1283
37751    __cil_tmp23 = & mgr->layer2;
37752#line 1283
37753    __cil_tmp24 = (struct list_head  const  *)__cil_tmp23;
37754#line 1283
37755    tmp = list_is_last(__cil_tmp22, __cil_tmp24);
37756    }
37757#line 1283
37758    if (tmp != 0) {
37759#line 1284
37760      cskb = skb;
37761#line 1285
37762      skb = (struct sk_buff *)0;
37763    } else {
37764      {
37765#line 1287
37766      __cil_tmp25 = (struct sk_buff *)0;
37767#line 1287
37768      __cil_tmp26 = (unsigned long )__cil_tmp25;
37769#line 1287
37770      __cil_tmp27 = (unsigned long )cskb;
37771#line 1287
37772      if (__cil_tmp27 == __cil_tmp26) {
37773        {
37774#line 1288
37775        __cil_tmp28 = (struct sk_buff  const  *)skb;
37776#line 1288
37777        cskb = skb_copy(__cil_tmp28, 208U);
37778        }
37779      } else {
37780
37781      }
37782      }
37783    }
37784    {
37785#line 1290
37786    __cil_tmp29 = (struct sk_buff *)0;
37787#line 1290
37788    __cil_tmp30 = (unsigned long )__cil_tmp29;
37789#line 1290
37790    __cil_tmp31 = (unsigned long )cskb;
37791#line 1290
37792    if (__cil_tmp31 != __cil_tmp30) {
37793      {
37794#line 1291
37795      __cil_tmp32 = l2->ch.send;
37796#line 1291
37797      __cil_tmp33 = & l2->ch;
37798#line 1291
37799      ret = (*__cil_tmp32)(__cil_tmp33, cskb);
37800      }
37801#line 1292
37802      if (ret != 0) {
37803        {
37804#line 1293
37805        __cil_tmp34 = *debug___5;
37806#line 1293
37807        __cil_tmp35 = __cil_tmp34 & 16U;
37808#line 1293
37809        if (__cil_tmp35 != 0U) {
37810          {
37811#line 1294
37812          __cil_tmp36 = l2->ch.nr;
37813#line 1294
37814          __cil_tmp37 = hh->prim;
37815#line 1294
37816          __cil_tmp38 = l2->ch.addr;
37817#line 1294
37818          printk("<7>%s ch%d prim(%x) addr(%x) err %d\n", "mgr_bcast", __cil_tmp36,
37819                 __cil_tmp37, __cil_tmp38, ret);
37820          }
37821        } else {
37822#line 1300
37823          cskb = (struct sk_buff *)0;
37824        }
37825        }
37826      } else {
37827
37828      }
37829    } else {
37830      {
37831#line 1302
37832      __cil_tmp39 = ch->nr;
37833#line 1302
37834      __cil_tmp40 = ch->addr;
37835#line 1302
37836      printk("<4>%s ch%d addr %x no mem\n", "mgr_bcast", __cil_tmp39, __cil_tmp40);
37837      }
37838#line 1304
37839      goto out;
37840    }
37841    }
37842  } else {
37843
37844  }
37845  }
37846#line 1280
37847  __cil_tmp41 = l2->list.next;
37848#line 1280
37849  __mptr___1 = (struct list_head  const  *)__cil_tmp41;
37850#line 1280
37851  l2 = (struct layer2 *)__mptr___1;
37852  ldv_39057: ;
37853  {
37854#line 1280
37855  __cil_tmp42 = & mgr->layer2;
37856#line 1280
37857  __cil_tmp43 = (unsigned long )__cil_tmp42;
37858#line 1280
37859  __cil_tmp44 = & l2->list;
37860#line 1280
37861  __cil_tmp45 = (unsigned long )__cil_tmp44;
37862#line 1280
37863  if (__cil_tmp45 != __cil_tmp43) {
37864#line 1281
37865    goto ldv_39056;
37866  } else {
37867#line 1283
37868    goto ldv_39058;
37869  }
37870  }
37871  ldv_39058: ;
37872  out: 
37873  {
37874#line 1309
37875  __cil_tmp46 = & mgr->lock;
37876#line 1309
37877  _raw_read_unlock_irqrestore(__cil_tmp46, flags);
37878  }
37879  {
37880#line 1310
37881  __cil_tmp47 = (struct sk_buff *)0;
37882#line 1310
37883  __cil_tmp48 = (unsigned long )__cil_tmp47;
37884#line 1310
37885  __cil_tmp49 = (unsigned long )cskb;
37886#line 1310
37887  if (__cil_tmp49 != __cil_tmp48) {
37888    {
37889#line 1311
37890    consume_skb(cskb);
37891    }
37892  } else {
37893
37894  }
37895  }
37896  {
37897#line 1312
37898  __cil_tmp50 = (struct sk_buff *)0;
37899#line 1312
37900  __cil_tmp51 = (unsigned long )__cil_tmp50;
37901#line 1312
37902  __cil_tmp52 = (unsigned long )skb;
37903#line 1312
37904  if (__cil_tmp52 != __cil_tmp51) {
37905    {
37906#line 1313
37907    consume_skb(skb);
37908    }
37909  } else {
37910
37911  }
37912  }
37913#line 1314
37914  return (0);
37915}
37916}
37917#line 1318 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
37918static int mgr_bcast_ctrl(struct mISDNchannel *ch , u_int cmd , void *arg ) 
37919{ 
37920
37921  {
37922#line 1321
37923  return (-22);
37924}
37925}
37926#line 1325 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
37927int create_teimanager(struct mISDNdevice *dev ) 
37928{ struct manager *mgr ;
37929  void *tmp ;
37930  struct lock_class_key __key ;
37931  struct manager *__cil_tmp5 ;
37932  unsigned long __cil_tmp6 ;
37933  unsigned long __cil_tmp7 ;
37934  struct list_head *__cil_tmp8 ;
37935  rwlock_t *__cil_tmp9 ;
37936  struct sk_buff_head *__cil_tmp10 ;
37937  struct mISDNchannel *__cil_tmp11 ;
37938  struct mISDNchannel *__cil_tmp12 ;
37939  struct mISDNstack *__cil_tmp13 ;
37940  struct mISDNchannel *__cil_tmp14 ;
37941  struct mISDNchannel *__cil_tmp15 ;
37942  struct mISDNstack *__cil_tmp16 ;
37943  u_int __cil_tmp17 ;
37944  int __cil_tmp18 ;
37945  struct FsmInst *__cil_tmp19 ;
37946  struct FsmTimer *__cil_tmp20 ;
37947
37948  {
37949  {
37950#line 1329
37951  tmp = kzalloc(560UL, 208U);
37952#line 1329
37953  mgr = (struct manager *)tmp;
37954  }
37955  {
37956#line 1330
37957  __cil_tmp5 = (struct manager *)0;
37958#line 1330
37959  __cil_tmp6 = (unsigned long )__cil_tmp5;
37960#line 1330
37961  __cil_tmp7 = (unsigned long )mgr;
37962#line 1330
37963  if (__cil_tmp7 == __cil_tmp6) {
37964#line 1331
37965    return (-12);
37966  } else {
37967
37968  }
37969  }
37970  {
37971#line 1332
37972  __cil_tmp8 = & mgr->layer2;
37973#line 1332
37974  INIT_LIST_HEAD(__cil_tmp8);
37975#line 1333
37976  __cil_tmp9 = & mgr->lock;
37977#line 1333
37978  __rwlock_init(__cil_tmp9, "&mgr->lock", & __key);
37979#line 1334
37980  __cil_tmp10 = & mgr->sendq;
37981#line 1334
37982  skb_queue_head_init(__cil_tmp10);
37983#line 1335
37984  mgr->nextid = 1U;
37985#line 1336
37986  mgr->lastid = 65534U;
37987#line 1337
37988  mgr->ch.send = & mgr_send;
37989#line 1338
37990  mgr->ch.ctrl = & mgr_ctrl;
37991#line 1339
37992  mgr->ch.st = dev->D.st;
37993#line 1340
37994  __cil_tmp11 = & mgr->ch;
37995#line 1340
37996  set_channel_address(__cil_tmp11, 63U, 127U);
37997#line 1341
37998  __cil_tmp12 = & mgr->ch;
37999#line 1341
38000  __cil_tmp13 = dev->D.st;
38001#line 1341
38002  add_layer2(__cil_tmp12, __cil_tmp13);
38003#line 1342
38004  mgr->bcast.send = & mgr_bcast;
38005#line 1343
38006  mgr->bcast.ctrl = & mgr_bcast_ctrl;
38007#line 1344
38008  mgr->bcast.st = dev->D.st;
38009#line 1345
38010  __cil_tmp14 = & mgr->bcast;
38011#line 1345
38012  set_channel_address(__cil_tmp14, 0U, 127U);
38013#line 1346
38014  __cil_tmp15 = & mgr->bcast;
38015#line 1346
38016  __cil_tmp16 = dev->D.st;
38017#line 1346
38018  add_layer2(__cil_tmp15, __cil_tmp16);
38019#line 1347
38020  __cil_tmp17 = *debug___5;
38021#line 1347
38022  __cil_tmp18 = (int )__cil_tmp17;
38023#line 1347
38024  mgr->deact.debug = __cil_tmp18 & 8;
38025#line 1348
38026  mgr->deact.userdata = (void *)mgr;
38027#line 1349
38028  mgr->deact.printdebug = & da_debug;
38029#line 1350
38030  mgr->deact.fsm = & deactfsm;
38031#line 1351
38032  mgr->deact.state = 0;
38033#line 1352
38034  __cil_tmp19 = & mgr->deact;
38035#line 1352
38036  __cil_tmp20 = & mgr->datimer;
38037#line 1352
38038  mISDN_FsmInitTimer(__cil_tmp19, __cil_tmp20);
38039#line 1353
38040  dev->teimgr = & mgr->ch;
38041  }
38042#line 1354
38043  return (0);
38044}
38045}
38046#line 1357 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
38047int TEIInit(u_int *deb ) 
38048{ struct FsmNode *__cil_tmp2 ;
38049  struct FsmNode *__cil_tmp3 ;
38050  struct FsmNode *__cil_tmp4 ;
38051
38052  {
38053  {
38054#line 1359
38055  debug___5 = deb;
38056#line 1360
38057  teifsmu.state_count = 3;
38058#line 1361
38059  teifsmu.event_count = 9;
38060#line 1362
38061  teifsmu.strEvent = (char **)(& strTeiEvent);
38062#line 1363
38063  teifsmu.strState = (char **)(& strTeiState);
38064#line 1364
38065  __cil_tmp2 = (struct FsmNode *)(& TeiFnListUser);
38066#line 1364
38067  mISDN_FsmNew(& teifsmu, __cil_tmp2, 11);
38068#line 1365
38069  teifsmn.state_count = 3;
38070#line 1366
38071  teifsmn.event_count = 9;
38072#line 1367
38073  teifsmn.strEvent = (char **)(& strTeiEvent);
38074#line 1368
38075  teifsmn.strState = (char **)(& strTeiState);
38076#line 1369
38077  __cil_tmp3 = (struct FsmNode *)(& TeiFnListNet);
38078#line 1369
38079  mISDN_FsmNew(& teifsmn, __cil_tmp3, 5);
38080#line 1370
38081  deactfsm.state_count = 3;
38082#line 1371
38083  deactfsm.event_count = 6;
38084#line 1372
38085  deactfsm.strEvent = (char **)(& strDeactEvent);
38086#line 1373
38087  deactfsm.strState = (char **)(& strDeactState);
38088#line 1374
38089  __cil_tmp4 = (struct FsmNode *)(& DeactFnList);
38090#line 1374
38091  mISDN_FsmNew(& deactfsm, __cil_tmp4, 6);
38092  }
38093#line 1375
38094  return (0);
38095}
38096}
38097#line 1378 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/tei.c.p"
38098void TEIFree(void) 
38099{ 
38100
38101  {
38102  {
38103#line 1380
38104  mISDN_FsmFree(& teifsmu);
38105#line 1381
38106  mISDN_FsmFree(& teifsmn);
38107#line 1382
38108  mISDN_FsmFree(& deactfsm);
38109  }
38110#line 1383
38111  return;
38112}
38113}
38114#line 111 "include/linux/list.h"
38115extern void __list_del_entry(struct list_head * ) ;
38116#line 142 "include/linux/list.h"
38117__inline static void list_del_init(struct list_head *entry ) 
38118{ 
38119
38120  {
38121  {
38122#line 144
38123  __list_del_entry(entry);
38124#line 145
38125  INIT_LIST_HEAD(entry);
38126  }
38127#line 146
38128  return;
38129}
38130}
38131#line 164 "include/linux/list.h"
38132__inline static void list_move_tail(struct list_head *list , struct list_head *head ) 
38133{ 
38134
38135  {
38136  {
38137#line 167
38138  __list_del_entry(list);
38139#line 168
38140  list_add_tail(list, head);
38141  }
38142#line 169
38143  return;
38144}
38145}
38146#line 32 "include/linux/spinlock_api_smp.h"
38147extern unsigned long _raw_spin_lock_irqsave(raw_spinlock_t * ) ;
38148#line 43
38149extern void _raw_spin_unlock_irqrestore(raw_spinlock_t * , unsigned long  ) ;
38150#line 338 "include/linux/spinlock.h"
38151__inline static void spin_unlock_irqrestore(spinlock_t *lock , unsigned long flags ) 
38152{ struct raw_spinlock *__cil_tmp3 ;
38153
38154  {
38155  {
38156#line 340
38157  __cil_tmp3 = & lock->ldv_6060.rlock;
38158#line 340
38159  _raw_spin_unlock_irqrestore(__cil_tmp3, flags);
38160  }
38161#line 341
38162  return;
38163}
38164}
38165#line 543 "include/linux/module.h"
38166void ldv_module_put_3(struct module *ldv_func_arg1 ) ;
38167#line 2337 "include/linux/fs.h"
38168extern loff_t no_llseek(struct file * , loff_t  , int  ) ;
38169#line 2345
38170int ldv_nonseekable_open_2(struct inode *ldv_func_arg1 , struct file *ldv_func_arg2 ) ;
38171#line 40 "include/linux/poll.h"
38172__inline static void poll_wait(struct file *filp , wait_queue_head_t *wait_address ,
38173                               poll_table *p ) 
38174{ poll_table *__cil_tmp4 ;
38175  unsigned long __cil_tmp5 ;
38176  unsigned long __cil_tmp6 ;
38177  wait_queue_head_t *__cil_tmp7 ;
38178  unsigned long __cil_tmp8 ;
38179  unsigned long __cil_tmp9 ;
38180  void (*__cil_tmp10)(struct file * , wait_queue_head_t * , struct poll_table_struct * ) ;
38181
38182  {
38183  {
38184#line 42
38185  __cil_tmp4 = (poll_table *)0;
38186#line 42
38187  __cil_tmp5 = (unsigned long )__cil_tmp4;
38188#line 42
38189  __cil_tmp6 = (unsigned long )p;
38190#line 42
38191  if (__cil_tmp6 != __cil_tmp5) {
38192    {
38193#line 42
38194    __cil_tmp7 = (wait_queue_head_t *)0;
38195#line 42
38196    __cil_tmp8 = (unsigned long )__cil_tmp7;
38197#line 42
38198    __cil_tmp9 = (unsigned long )wait_address;
38199#line 42
38200    if (__cil_tmp9 != __cil_tmp8) {
38201      {
38202#line 43
38203      __cil_tmp10 = p->qproc;
38204#line 43
38205      (*__cil_tmp10)(filp, wait_address, p);
38206      }
38207    } else {
38208
38209    }
38210    }
38211  } else {
38212
38213  }
38214  }
38215#line 44
38216  return;
38217}
38218}
38219#line 58 "include/linux/miscdevice.h"
38220extern int misc_register(struct miscdevice * ) ;
38221#line 59
38222extern int misc_deregister(struct miscdevice * ) ;
38223#line 38 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38224static struct mutex mISDN_mutex  =    {{1}, {{{{0U}, 3735899821U, 4294967295U, (void *)1152921504606846975UL, {(struct lock_class_key *)0,
38225                                                                            {(struct lock_class *)0,
38226                                                                             (struct lock_class *)0},
38227                                                                            "mISDN_mutex.wait_lock",
38228                                                                            0, 0UL}}}},
38229    {& mISDN_mutex.wait_list, & mISDN_mutex.wait_list}, (struct task_struct *)0, (char const   *)0,
38230    (void *)(& mISDN_mutex), {(struct lock_class_key *)0, {(struct lock_class *)0,
38231                                                           (struct lock_class *)0},
38232                              "mISDN_mutex", 0, 0UL}};
38233#line 39 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38234static u_int *debug___6  ;
38235#line 59 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38236static int mISDN_open(struct inode *ino , struct file *filep ) 
38237{ struct mISDNtimerdev *dev ;
38238  void *tmp ;
38239  struct lock_class_key __key ;
38240  struct lock_class_key __key___0 ;
38241  int tmp___0 ;
38242  u_int __cil_tmp8 ;
38243  unsigned int __cil_tmp9 ;
38244  struct mISDNtimerdev *__cil_tmp10 ;
38245  unsigned long __cil_tmp11 ;
38246  unsigned long __cil_tmp12 ;
38247  struct list_head *__cil_tmp13 ;
38248  struct list_head *__cil_tmp14 ;
38249  spinlock_t *__cil_tmp15 ;
38250  struct raw_spinlock *__cil_tmp16 ;
38251  wait_queue_head_t *__cil_tmp17 ;
38252
38253  {
38254  {
38255#line 63
38256  __cil_tmp8 = *debug___6;
38257#line 63
38258  __cil_tmp9 = __cil_tmp8 & 16777216U;
38259#line 63
38260  if (__cil_tmp9 != 0U) {
38261    {
38262#line 64
38263    printk("<7>%s(%p,%p)\n", "mISDN_open", ino, filep);
38264    }
38265  } else {
38266
38267  }
38268  }
38269  {
38270#line 65
38271  tmp = kmalloc(208UL, 208U);
38272#line 65
38273  dev = (struct mISDNtimerdev *)tmp;
38274  }
38275  {
38276#line 66
38277  __cil_tmp10 = (struct mISDNtimerdev *)0;
38278#line 66
38279  __cil_tmp11 = (unsigned long )__cil_tmp10;
38280#line 66
38281  __cil_tmp12 = (unsigned long )dev;
38282#line 66
38283  if (__cil_tmp12 == __cil_tmp11) {
38284#line 67
38285    return (-12);
38286  } else {
38287
38288  }
38289  }
38290  {
38291#line 68
38292  dev->next_id = 1;
38293#line 69
38294  __cil_tmp13 = & dev->pending;
38295#line 69
38296  INIT_LIST_HEAD(__cil_tmp13);
38297#line 70
38298  __cil_tmp14 = & dev->expired;
38299#line 70
38300  INIT_LIST_HEAD(__cil_tmp14);
38301#line 71
38302  __cil_tmp15 = & dev->lock;
38303#line 71
38304  spinlock_check(__cil_tmp15);
38305#line 71
38306  __cil_tmp16 = & dev->lock.ldv_6060.rlock;
38307#line 71
38308  __raw_spin_lock_init(__cil_tmp16, "&(&dev->lock)->rlock", & __key);
38309#line 72
38310  dev->work = 0U;
38311#line 73
38312  __cil_tmp17 = & dev->wait;
38313#line 73
38314  __init_waitqueue_head(__cil_tmp17, & __key___0);
38315#line 74
38316  filep->private_data = (void *)dev;
38317#line 75
38318  ldv___module_get_2(& __this_module);
38319#line 76
38320  tmp___0 = ldv_nonseekable_open_2(ino, filep);
38321  }
38322#line 76
38323  return (tmp___0);
38324}
38325}
38326#line 80 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38327static int mISDN_close(struct inode *ino , struct file *filep ) 
38328{ struct mISDNtimerdev *dev ;
38329  struct mISDNtimer *timer ;
38330  struct mISDNtimer *next ;
38331  struct list_head  const  *__mptr ;
38332  struct list_head  const  *__mptr___0 ;
38333  struct list_head  const  *__mptr___1 ;
38334  struct list_head  const  *__mptr___2 ;
38335  struct list_head  const  *__mptr___3 ;
38336  struct list_head  const  *__mptr___4 ;
38337  void *__cil_tmp12 ;
38338  u_int __cil_tmp13 ;
38339  unsigned int __cil_tmp14 ;
38340  struct list_head *__cil_tmp15 ;
38341  struct list_head *__cil_tmp16 ;
38342  struct timer_list *__cil_tmp17 ;
38343  void const   *__cil_tmp18 ;
38344  struct list_head *__cil_tmp19 ;
38345  struct list_head *__cil_tmp20 ;
38346  unsigned long __cil_tmp21 ;
38347  struct list_head *__cil_tmp22 ;
38348  unsigned long __cil_tmp23 ;
38349  struct list_head *__cil_tmp24 ;
38350  struct list_head *__cil_tmp25 ;
38351  void const   *__cil_tmp26 ;
38352  struct list_head *__cil_tmp27 ;
38353  struct list_head *__cil_tmp28 ;
38354  unsigned long __cil_tmp29 ;
38355  struct list_head *__cil_tmp30 ;
38356  unsigned long __cil_tmp31 ;
38357  void const   *__cil_tmp32 ;
38358
38359  {
38360#line 82
38361  __cil_tmp12 = filep->private_data;
38362#line 82
38363  dev = (struct mISDNtimerdev *)__cil_tmp12;
38364  {
38365#line 85
38366  __cil_tmp13 = *debug___6;
38367#line 85
38368  __cil_tmp14 = __cil_tmp13 & 16777216U;
38369#line 85
38370  if (__cil_tmp14 != 0U) {
38371    {
38372#line 86
38373    printk("<7>%s(%p,%p)\n", "mISDN_close", ino, filep);
38374    }
38375  } else {
38376
38377  }
38378  }
38379#line 87
38380  __cil_tmp15 = dev->pending.next;
38381#line 87
38382  __mptr = (struct list_head  const  *)__cil_tmp15;
38383#line 87
38384  timer = (struct mISDNtimer *)__mptr;
38385#line 87
38386  __cil_tmp16 = timer->list.next;
38387#line 87
38388  __mptr___0 = (struct list_head  const  *)__cil_tmp16;
38389#line 87
38390  next = (struct mISDNtimer *)__mptr___0;
38391#line 87
38392  goto ldv_38417;
38393  ldv_38416: 
38394  {
38395#line 88
38396  __cil_tmp17 = & timer->tl;
38397#line 88
38398  del_timer(__cil_tmp17);
38399#line 89
38400  __cil_tmp18 = (void const   *)timer;
38401#line 89
38402  kfree(__cil_tmp18);
38403#line 87
38404  timer = next;
38405#line 87
38406  __cil_tmp19 = next->list.next;
38407#line 87
38408  __mptr___1 = (struct list_head  const  *)__cil_tmp19;
38409#line 87
38410  next = (struct mISDNtimer *)__mptr___1;
38411  }
38412  ldv_38417: ;
38413  {
38414#line 87
38415  __cil_tmp20 = & dev->pending;
38416#line 87
38417  __cil_tmp21 = (unsigned long )__cil_tmp20;
38418#line 87
38419  __cil_tmp22 = & timer->list;
38420#line 87
38421  __cil_tmp23 = (unsigned long )__cil_tmp22;
38422#line 87
38423  if (__cil_tmp23 != __cil_tmp21) {
38424#line 88
38425    goto ldv_38416;
38426  } else {
38427#line 90
38428    goto ldv_38418;
38429  }
38430  }
38431  ldv_38418: 
38432#line 91
38433  __cil_tmp24 = dev->expired.next;
38434#line 91
38435  __mptr___2 = (struct list_head  const  *)__cil_tmp24;
38436#line 91
38437  timer = (struct mISDNtimer *)__mptr___2;
38438#line 91
38439  __cil_tmp25 = timer->list.next;
38440#line 91
38441  __mptr___3 = (struct list_head  const  *)__cil_tmp25;
38442#line 91
38443  next = (struct mISDNtimer *)__mptr___3;
38444#line 91
38445  goto ldv_38426;
38446  ldv_38425: 
38447  {
38448#line 92
38449  __cil_tmp26 = (void const   *)timer;
38450#line 92
38451  kfree(__cil_tmp26);
38452#line 91
38453  timer = next;
38454#line 91
38455  __cil_tmp27 = next->list.next;
38456#line 91
38457  __mptr___4 = (struct list_head  const  *)__cil_tmp27;
38458#line 91
38459  next = (struct mISDNtimer *)__mptr___4;
38460  }
38461  ldv_38426: ;
38462  {
38463#line 91
38464  __cil_tmp28 = & dev->expired;
38465#line 91
38466  __cil_tmp29 = (unsigned long )__cil_tmp28;
38467#line 91
38468  __cil_tmp30 = & timer->list;
38469#line 91
38470  __cil_tmp31 = (unsigned long )__cil_tmp30;
38471#line 91
38472  if (__cil_tmp31 != __cil_tmp29) {
38473#line 92
38474    goto ldv_38425;
38475  } else {
38476#line 94
38477    goto ldv_38427;
38478  }
38479  }
38480  ldv_38427: 
38481  {
38482#line 94
38483  __cil_tmp32 = (void const   *)dev;
38484#line 94
38485  kfree(__cil_tmp32);
38486#line 95
38487  ldv_module_put_3(& __this_module);
38488  }
38489#line 96
38490  return (0);
38491}
38492}
38493#line 100 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38494static ssize_t mISDN_read(struct file *filep , char *buf , size_t count , loff_t *off ) 
38495{ struct mISDNtimerdev *dev ;
38496  struct mISDNtimer *timer ;
38497  u_long flags ;
38498  int ret ;
38499  int __ret ;
38500  wait_queue_t __wait ;
38501  struct task_struct *tmp ;
38502  int tmp___0 ;
38503  struct task_struct *tmp___1 ;
38504  int tmp___2 ;
38505  int tmp___3 ;
38506  struct task_struct *tmp___4 ;
38507  int tmp___5 ;
38508  int tmp___6 ;
38509  raw_spinlock_t *tmp___7 ;
38510  int __ret_pu ;
38511  int __pu_val ;
38512  int tmp___8 ;
38513  void *__cil_tmp23 ;
38514  u_int __cil_tmp24 ;
38515  unsigned int __cil_tmp25 ;
38516  int __cil_tmp26 ;
38517  struct list_head *__cil_tmp27 ;
38518  struct list_head  const  *__cil_tmp28 ;
38519  u_int __cil_tmp29 ;
38520  unsigned int __cil_tmp30 ;
38521  unsigned int __cil_tmp31 ;
38522  u_int __cil_tmp32 ;
38523  struct list_head *__cil_tmp33 ;
38524  struct list_head  const  *__cil_tmp34 ;
38525  wait_queue_head_t *__cil_tmp35 ;
38526  u_int __cil_tmp36 ;
38527  struct list_head *__cil_tmp37 ;
38528  struct list_head  const  *__cil_tmp38 ;
38529  wait_queue_head_t *__cil_tmp39 ;
38530  u_int __cil_tmp40 ;
38531  struct list_head *__cil_tmp41 ;
38532  struct list_head  const  *__cil_tmp42 ;
38533  spinlock_t *__cil_tmp43 ;
38534  struct list_head *__cil_tmp44 ;
38535  struct list_head *__cil_tmp45 ;
38536  spinlock_t *__cil_tmp46 ;
38537  void const   *__cil_tmp47 ;
38538
38539  {
38540#line 102
38541  __cil_tmp23 = filep->private_data;
38542#line 102
38543  dev = (struct mISDNtimerdev *)__cil_tmp23;
38544#line 105
38545  ret = 0;
38546  {
38547#line 107
38548  __cil_tmp24 = *debug___6;
38549#line 107
38550  __cil_tmp25 = __cil_tmp24 & 16777216U;
38551#line 107
38552  if (__cil_tmp25 != 0U) {
38553    {
38554#line 108
38555    __cil_tmp26 = (int )count;
38556#line 108
38557    printk("<7>%s(%p, %p, %d, %p)\n", "mISDN_read", filep, buf, __cil_tmp26, off);
38558    }
38559  } else {
38560
38561  }
38562  }
38563  {
38564#line 111
38565  __cil_tmp27 = & dev->expired;
38566#line 111
38567  __cil_tmp28 = (struct list_head  const  *)__cil_tmp27;
38568#line 111
38569  tmp___6 = list_empty(__cil_tmp28);
38570  }
38571#line 111
38572  if (tmp___6 != 0) {
38573    {
38574#line 111
38575    __cil_tmp29 = dev->work;
38576#line 111
38577    if (__cil_tmp29 == 0U) {
38578      {
38579#line 112
38580      __cil_tmp30 = filep->f_flags;
38581#line 112
38582      __cil_tmp31 = __cil_tmp30 & 2048U;
38583#line 112
38584      if (__cil_tmp31 != 0U) {
38585#line 113
38586        return (-11L);
38587      } else {
38588
38589      }
38590      }
38591#line 114
38592      __ret = 0;
38593      {
38594#line 114
38595      __cil_tmp32 = dev->work;
38596#line 114
38597      if (__cil_tmp32 == 0U) {
38598        {
38599#line 114
38600        __cil_tmp33 = & dev->expired;
38601#line 114
38602        __cil_tmp34 = (struct list_head  const  *)__cil_tmp33;
38603#line 114
38604        tmp___3 = list_empty(__cil_tmp34);
38605        }
38606#line 114
38607        if (tmp___3 != 0) {
38608          {
38609#line 114
38610          tmp = get_current();
38611#line 114
38612          __wait.flags = 0U;
38613#line 114
38614          __wait.private = (void *)tmp;
38615#line 114
38616          __wait.func = & autoremove_wake_function;
38617#line 114
38618          __wait.task_list.next = & __wait.task_list;
38619#line 114
38620          __wait.task_list.prev = & __wait.task_list;
38621          }
38622          ldv_38443: 
38623          {
38624#line 114
38625          __cil_tmp35 = & dev->wait;
38626#line 114
38627          prepare_to_wait(__cil_tmp35, & __wait, 1);
38628          }
38629          {
38630#line 114
38631          __cil_tmp36 = dev->work;
38632#line 114
38633          if (__cil_tmp36 != 0U) {
38634#line 114
38635            goto ldv_38441;
38636          } else {
38637            {
38638#line 114
38639            __cil_tmp37 = & dev->expired;
38640#line 114
38641            __cil_tmp38 = (struct list_head  const  *)__cil_tmp37;
38642#line 114
38643            tmp___0 = list_empty(__cil_tmp38);
38644            }
38645#line 114
38646            if (tmp___0 == 0) {
38647#line 114
38648              goto ldv_38441;
38649            } else {
38650
38651            }
38652          }
38653          }
38654          {
38655#line 114
38656          tmp___1 = get_current();
38657#line 114
38658          tmp___2 = signal_pending(tmp___1);
38659          }
38660#line 114
38661          if (tmp___2 == 0) {
38662            {
38663#line 114
38664            schedule();
38665            }
38666#line 114
38667            goto ldv_38442;
38668          } else {
38669
38670          }
38671#line 114
38672          __ret = -512;
38673#line 114
38674          goto ldv_38441;
38675          ldv_38442: ;
38676#line 114
38677          goto ldv_38443;
38678          ldv_38441: 
38679          {
38680#line 114
38681          __cil_tmp39 = & dev->wait;
38682#line 114
38683          finish_wait(__cil_tmp39, & __wait);
38684          }
38685        } else {
38686
38687        }
38688      } else {
38689
38690      }
38691      }
38692      {
38693#line 116
38694      tmp___4 = get_current();
38695#line 116
38696      tmp___5 = signal_pending(tmp___4);
38697      }
38698#line 116
38699      if (tmp___5 != 0) {
38700#line 117
38701        return (-512L);
38702      } else {
38703
38704      }
38705    } else {
38706
38707    }
38708    }
38709  } else {
38710
38711  }
38712#line 119
38713  if (count <= 3UL) {
38714#line 120
38715    return (-28L);
38716  } else {
38717
38718  }
38719  {
38720#line 121
38721  __cil_tmp40 = dev->work;
38722#line 121
38723  if (__cil_tmp40 != 0U) {
38724#line 122
38725    dev->work = 0U;
38726  } else {
38727
38728  }
38729  }
38730  {
38731#line 123
38732  __cil_tmp41 = & dev->expired;
38733#line 123
38734  __cil_tmp42 = (struct list_head  const  *)__cil_tmp41;
38735#line 123
38736  tmp___8 = list_empty(__cil_tmp42);
38737  }
38738#line 123
38739  if (tmp___8 == 0) {
38740    {
38741#line 124
38742    __cil_tmp43 = & dev->lock;
38743#line 124
38744    tmp___7 = spinlock_check(__cil_tmp43);
38745#line 124
38746    flags = _raw_spin_lock_irqsave(tmp___7);
38747#line 125
38748    __cil_tmp44 = dev->expired.next;
38749#line 125
38750    timer = (struct mISDNtimer *)__cil_tmp44;
38751#line 126
38752    __cil_tmp45 = & timer->list;
38753#line 126
38754    list_del(__cil_tmp45);
38755#line 127
38756    __cil_tmp46 = & dev->lock;
38757#line 127
38758    spin_unlock_irqrestore(__cil_tmp46, flags);
38759#line 128
38760    might_fault();
38761#line 128
38762    __pu_val = timer->id;
38763    }
38764#line 128
38765    if (1) {
38766#line 128
38767      goto case_4;
38768    } else {
38769#line 128
38770      goto switch_default;
38771#line 128
38772      if (0) {
38773#line 128
38774        __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
38775                             "c" ((int *)buf): "ebx");
38776#line 128
38777        goto ldv_38451;
38778#line 128
38779        __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
38780                             "c" ((int *)buf): "ebx");
38781#line 128
38782        goto ldv_38451;
38783        case_4: 
38784#line 128
38785        __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
38786                             "c" ((int *)buf): "ebx");
38787#line 128
38788        goto ldv_38451;
38789#line 128
38790        __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
38791                             "c" ((int *)buf): "ebx");
38792#line 128
38793        goto ldv_38451;
38794        switch_default: 
38795#line 128
38796        __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
38797                             "c" ((int *)buf): "ebx");
38798#line 128
38799        goto ldv_38451;
38800      } else {
38801
38802      }
38803    }
38804    ldv_38451: ;
38805#line 128
38806    if (__ret_pu != 0) {
38807#line 129
38808      ret = -14;
38809    } else {
38810#line 131
38811      ret = 4;
38812    }
38813    {
38814#line 132
38815    __cil_tmp47 = (void const   *)timer;
38816#line 132
38817    kfree(__cil_tmp47);
38818    }
38819  } else {
38820
38821  }
38822#line 134
38823  return ((ssize_t )ret);
38824}
38825}
38826#line 138 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38827static unsigned int mISDN_poll(struct file *filep , poll_table *wait ) 
38828{ struct mISDNtimerdev *dev ;
38829  unsigned int mask ;
38830  int tmp ;
38831  int tmp___0 ;
38832  void *__cil_tmp7 ;
38833  u_int __cil_tmp8 ;
38834  unsigned int __cil_tmp9 ;
38835  struct mISDNtimerdev *__cil_tmp10 ;
38836  unsigned long __cil_tmp11 ;
38837  unsigned long __cil_tmp12 ;
38838  wait_queue_head_t *__cil_tmp13 ;
38839  u_int __cil_tmp14 ;
38840  struct list_head *__cil_tmp15 ;
38841  struct list_head  const  *__cil_tmp16 ;
38842  u_int __cil_tmp17 ;
38843  unsigned int __cil_tmp18 ;
38844  struct list_head *__cil_tmp19 ;
38845  struct list_head  const  *__cil_tmp20 ;
38846  u_int __cil_tmp21 ;
38847
38848  {
38849#line 140
38850  __cil_tmp7 = filep->private_data;
38851#line 140
38852  dev = (struct mISDNtimerdev *)__cil_tmp7;
38853#line 141
38854  mask = 8U;
38855  {
38856#line 143
38857  __cil_tmp8 = *debug___6;
38858#line 143
38859  __cil_tmp9 = __cil_tmp8 & 16777216U;
38860#line 143
38861  if (__cil_tmp9 != 0U) {
38862    {
38863#line 144
38864    printk("<7>%s(%p, %p)\n", "mISDN_poll", filep, wait);
38865    }
38866  } else {
38867
38868  }
38869  }
38870  {
38871#line 145
38872  __cil_tmp10 = (struct mISDNtimerdev *)0;
38873#line 145
38874  __cil_tmp11 = (unsigned long )__cil_tmp10;
38875#line 145
38876  __cil_tmp12 = (unsigned long )dev;
38877#line 145
38878  if (__cil_tmp12 != __cil_tmp11) {
38879    {
38880#line 146
38881    __cil_tmp13 = & dev->wait;
38882#line 146
38883    poll_wait(filep, __cil_tmp13, wait);
38884#line 147
38885    mask = 0U;
38886    }
38887    {
38888#line 148
38889    __cil_tmp14 = dev->work;
38890#line 148
38891    if (__cil_tmp14 != 0U) {
38892#line 149
38893      mask = mask | 65U;
38894    } else {
38895      {
38896#line 148
38897      __cil_tmp15 = & dev->expired;
38898#line 148
38899      __cil_tmp16 = (struct list_head  const  *)__cil_tmp15;
38900#line 148
38901      tmp = list_empty(__cil_tmp16);
38902      }
38903#line 148
38904      if (tmp == 0) {
38905#line 149
38906        mask = mask | 65U;
38907      } else {
38908
38909      }
38910    }
38911    }
38912    {
38913#line 150
38914    __cil_tmp17 = *debug___6;
38915#line 150
38916    __cil_tmp18 = __cil_tmp17 & 16777216U;
38917#line 150
38918    if (__cil_tmp18 != 0U) {
38919      {
38920#line 151
38921      __cil_tmp19 = & dev->expired;
38922#line 151
38923      __cil_tmp20 = (struct list_head  const  *)__cil_tmp19;
38924#line 151
38925      tmp___0 = list_empty(__cil_tmp20);
38926#line 151
38927      __cil_tmp21 = dev->work;
38928#line 151
38929      printk("<7>%s work(%d) empty(%d)\n", "mISDN_poll", __cil_tmp21, tmp___0);
38930      }
38931    } else {
38932
38933    }
38934    }
38935  } else {
38936
38937  }
38938  }
38939#line 154
38940  return (mask);
38941}
38942}
38943#line 158 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38944static void dev_expire_timer(unsigned long data ) 
38945{ struct mISDNtimer *timer ;
38946  u_long flags ;
38947  raw_spinlock_t *tmp ;
38948  struct mISDNtimerdev *__cil_tmp5 ;
38949  spinlock_t *__cil_tmp6 ;
38950  struct list_head *__cil_tmp7 ;
38951  struct mISDNtimerdev *__cil_tmp8 ;
38952  struct list_head *__cil_tmp9 ;
38953  struct mISDNtimerdev *__cil_tmp10 ;
38954  spinlock_t *__cil_tmp11 ;
38955  struct mISDNtimerdev *__cil_tmp12 ;
38956  wait_queue_head_t *__cil_tmp13 ;
38957  void *__cil_tmp14 ;
38958
38959  {
38960  {
38961#line 160
38962  timer = (struct mISDNtimer *)data;
38963#line 163
38964  __cil_tmp5 = timer->dev;
38965#line 163
38966  __cil_tmp6 = & __cil_tmp5->lock;
38967#line 163
38968  tmp = spinlock_check(__cil_tmp6);
38969#line 163
38970  flags = _raw_spin_lock_irqsave(tmp);
38971#line 164
38972  __cil_tmp7 = & timer->list;
38973#line 164
38974  __cil_tmp8 = timer->dev;
38975#line 164
38976  __cil_tmp9 = & __cil_tmp8->expired;
38977#line 164
38978  list_move_tail(__cil_tmp7, __cil_tmp9);
38979#line 165
38980  __cil_tmp10 = timer->dev;
38981#line 165
38982  __cil_tmp11 = & __cil_tmp10->lock;
38983#line 165
38984  spin_unlock_irqrestore(__cil_tmp11, flags);
38985#line 166
38986  __cil_tmp12 = timer->dev;
38987#line 166
38988  __cil_tmp13 = & __cil_tmp12->wait;
38989#line 166
38990  __cil_tmp14 = (void *)0;
38991#line 166
38992  __wake_up(__cil_tmp13, 1U, 1, __cil_tmp14);
38993  }
38994#line 167
38995  return;
38996}
38997}
38998#line 170 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
38999static int misdn_add_timer(struct mISDNtimerdev *dev , int timeout ) 
39000{ int id ;
39001  u_long flags ;
39002  struct mISDNtimer *timer ;
39003  void *tmp ;
39004  raw_spinlock_t *tmp___0 ;
39005  int tmp___1 ;
39006  struct lock_class_key __key ;
39007  wait_queue_head_t *__cil_tmp10 ;
39008  void *__cil_tmp11 ;
39009  struct mISDNtimer *__cil_tmp12 ;
39010  unsigned long __cil_tmp13 ;
39011  unsigned long __cil_tmp14 ;
39012  spinlock_t *__cil_tmp15 ;
39013  int __cil_tmp16 ;
39014  int __cil_tmp17 ;
39015  struct list_head *__cil_tmp18 ;
39016  struct list_head *__cil_tmp19 ;
39017  spinlock_t *__cil_tmp20 ;
39018  struct timer_list *__cil_tmp21 ;
39019  unsigned long __cil_tmp22 ;
39020  unsigned long __cil_tmp23 ;
39021  unsigned long __cil_tmp24 ;
39022  unsigned long __cil_tmp25 ;
39023  struct timer_list *__cil_tmp26 ;
39024
39025  {
39026#line 176
39027  if (timeout == 0) {
39028    {
39029#line 177
39030    dev->work = 1U;
39031#line 178
39032    __cil_tmp10 = & dev->wait;
39033#line 178
39034    __cil_tmp11 = (void *)0;
39035#line 178
39036    __wake_up(__cil_tmp10, 1U, 1, __cil_tmp11);
39037#line 179
39038    id = 0;
39039    }
39040  } else {
39041    {
39042#line 181
39043    tmp = kzalloc(160UL, 208U);
39044#line 181
39045    timer = (struct mISDNtimer *)tmp;
39046    }
39047    {
39048#line 182
39049    __cil_tmp12 = (struct mISDNtimer *)0;
39050#line 182
39051    __cil_tmp13 = (unsigned long )__cil_tmp12;
39052#line 182
39053    __cil_tmp14 = (unsigned long )timer;
39054#line 182
39055    if (__cil_tmp14 == __cil_tmp13) {
39056#line 183
39057      return (-12);
39058    } else {
39059
39060    }
39061    }
39062    {
39063#line 184
39064    __cil_tmp15 = & dev->lock;
39065#line 184
39066    tmp___0 = spinlock_check(__cil_tmp15);
39067#line 184
39068    flags = _raw_spin_lock_irqsave(tmp___0);
39069#line 185
39070    tmp___1 = dev->next_id;
39071#line 185
39072    __cil_tmp16 = dev->next_id;
39073#line 185
39074    dev->next_id = __cil_tmp16 + 1;
39075#line 185
39076    timer->id = tmp___1;
39077    }
39078    {
39079#line 186
39080    __cil_tmp17 = dev->next_id;
39081#line 186
39082    if (__cil_tmp17 < 0) {
39083#line 187
39084      dev->next_id = 1;
39085    } else {
39086
39087    }
39088    }
39089    {
39090#line 188
39091    __cil_tmp18 = & timer->list;
39092#line 188
39093    __cil_tmp19 = & dev->pending;
39094#line 188
39095    list_add_tail(__cil_tmp18, __cil_tmp19);
39096#line 189
39097    __cil_tmp20 = & dev->lock;
39098#line 189
39099    spin_unlock_irqrestore(__cil_tmp20, flags);
39100#line 190
39101    timer->dev = dev;
39102#line 191
39103    timer->tl.data = (unsigned long )timer;
39104#line 192
39105    timer->tl.function = & dev_expire_timer;
39106#line 193
39107    __cil_tmp21 = & timer->tl;
39108#line 193
39109    init_timer_key(__cil_tmp21, "&timer->tl", & __key);
39110#line 194
39111    __cil_tmp22 = (unsigned long )jiffies;
39112#line 194
39113    __cil_tmp23 = (unsigned long )timeout;
39114#line 194
39115    __cil_tmp24 = __cil_tmp23 * 250UL;
39116#line 194
39117    __cil_tmp25 = __cil_tmp24 / 1000UL;
39118#line 194
39119    timer->tl.expires = __cil_tmp25 + __cil_tmp22;
39120#line 195
39121    __cil_tmp26 = & timer->tl;
39122#line 195
39123    add_timer(__cil_tmp26);
39124#line 196
39125    id = timer->id;
39126    }
39127  }
39128#line 198
39129  return (id);
39130}
39131}
39132#line 202 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39133static int misdn_del_timer(struct mISDNtimerdev *dev , int id ) 
39134{ u_long flags ;
39135  struct mISDNtimer *timer ;
39136  int ret ;
39137  raw_spinlock_t *tmp ;
39138  struct list_head  const  *__mptr ;
39139  struct list_head  const  *__mptr___0 ;
39140  spinlock_t *__cil_tmp9 ;
39141  struct list_head *__cil_tmp10 ;
39142  int __cil_tmp11 ;
39143  struct list_head *__cil_tmp12 ;
39144  struct timer_list *__cil_tmp13 ;
39145  void const   *__cil_tmp14 ;
39146  struct list_head *__cil_tmp15 ;
39147  struct list_head *__cil_tmp16 ;
39148  unsigned long __cil_tmp17 ;
39149  struct list_head *__cil_tmp18 ;
39150  unsigned long __cil_tmp19 ;
39151  spinlock_t *__cil_tmp20 ;
39152
39153  {
39154  {
39155#line 206
39156  ret = 0;
39157#line 208
39158  __cil_tmp9 = & dev->lock;
39159#line 208
39160  tmp = spinlock_check(__cil_tmp9);
39161#line 208
39162  flags = _raw_spin_lock_irqsave(tmp);
39163#line 209
39164  __cil_tmp10 = dev->pending.next;
39165#line 209
39166  __mptr = (struct list_head  const  *)__cil_tmp10;
39167#line 209
39168  timer = (struct mISDNtimer *)__mptr;
39169  }
39170#line 209
39171  goto ldv_38499;
39172  ldv_38498: ;
39173  {
39174#line 210
39175  __cil_tmp11 = timer->id;
39176#line 210
39177  if (__cil_tmp11 == id) {
39178    {
39179#line 211
39180    __cil_tmp12 = & timer->list;
39181#line 211
39182    list_del_init(__cil_tmp12);
39183#line 215
39184    __cil_tmp13 = & timer->tl;
39185#line 215
39186    del_timer(__cil_tmp13);
39187#line 216
39188    ret = timer->id;
39189#line 217
39190    __cil_tmp14 = (void const   *)timer;
39191#line 217
39192    kfree(__cil_tmp14);
39193    }
39194#line 218
39195    goto unlock;
39196  } else {
39197
39198  }
39199  }
39200#line 209
39201  __cil_tmp15 = timer->list.next;
39202#line 209
39203  __mptr___0 = (struct list_head  const  *)__cil_tmp15;
39204#line 209
39205  timer = (struct mISDNtimer *)__mptr___0;
39206  ldv_38499: ;
39207  {
39208#line 209
39209  __cil_tmp16 = & dev->pending;
39210#line 209
39211  __cil_tmp17 = (unsigned long )__cil_tmp16;
39212#line 209
39213  __cil_tmp18 = & timer->list;
39214#line 209
39215  __cil_tmp19 = (unsigned long )__cil_tmp18;
39216#line 209
39217  if (__cil_tmp19 != __cil_tmp17) {
39218#line 210
39219    goto ldv_38498;
39220  } else {
39221#line 212
39222    goto ldv_38500;
39223  }
39224  }
39225  ldv_38500: ;
39226  unlock: 
39227  {
39228#line 222
39229  __cil_tmp20 = & dev->lock;
39230#line 222
39231  spin_unlock_irqrestore(__cil_tmp20, flags);
39232  }
39233#line 223
39234  return (ret);
39235}
39236}
39237#line 227 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39238static long mISDN_ioctl(struct file *filep , unsigned int cmd , unsigned long arg ) 
39239{ struct mISDNtimerdev *dev ;
39240  int id ;
39241  int tout ;
39242  int ret ;
39243  int __ret_gu ;
39244  unsigned long __val_gu ;
39245  int __ret_pu ;
39246  int __pu_val ;
39247  int __ret_gu___0 ;
39248  unsigned long __val_gu___0 ;
39249  int __ret_pu___0 ;
39250  int __pu_val___0 ;
39251  void *__cil_tmp16 ;
39252  u_int __cil_tmp17 ;
39253  unsigned int __cil_tmp18 ;
39254  int __cil_tmp19 ;
39255  int __cil_tmp20 ;
39256  u_int __cil_tmp21 ;
39257  unsigned int __cil_tmp22 ;
39258  u_int __cil_tmp23 ;
39259  unsigned int __cil_tmp24 ;
39260
39261  {
39262#line 229
39263  __cil_tmp16 = filep->private_data;
39264#line 229
39265  dev = (struct mISDNtimerdev *)__cil_tmp16;
39266#line 230
39267  ret = 0;
39268  {
39269#line 233
39270  __cil_tmp17 = *debug___6;
39271#line 233
39272  __cil_tmp18 = __cil_tmp17 & 16777216U;
39273#line 233
39274  if (__cil_tmp18 != 0U) {
39275    {
39276#line 234
39277    printk("<7>%s(%p, %x, %lx)\n", "mISDN_ioctl", filep, cmd, arg);
39278    }
39279  } else {
39280
39281  }
39282  }
39283  {
39284#line 236
39285  mutex_lock_nested(& mISDN_mutex, 0U);
39286  }
39287  {
39288#line 238
39289  __cil_tmp19 = (int )cmd;
39290#line 238
39291  if (__cil_tmp19 == -2147202752) {
39292#line 238
39293    goto case_neg_2147202752;
39294  } else {
39295    {
39296#line 254
39297    __cil_tmp20 = (int )cmd;
39298#line 254
39299    if (__cil_tmp20 == -2147202751) {
39300#line 254
39301      goto case_neg_2147202751;
39302    } else {
39303#line 265
39304      goto switch_default___3;
39305#line 237
39306      if (0) {
39307        case_neg_2147202752: 
39308        {
39309#line 239
39310        might_fault();
39311        }
39312#line 239
39313        if (1) {
39314#line 239
39315          goto case_4;
39316        } else {
39317#line 239
39318          goto switch_default;
39319#line 239
39320          if (0) {
39321#line 239
39322            __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
39323#line 239
39324            goto ldv_38515;
39325#line 239
39326            __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
39327#line 239
39328            goto ldv_38515;
39329            case_4: 
39330#line 239
39331            __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
39332#line 239
39333            goto ldv_38515;
39334#line 239
39335            __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
39336#line 239
39337            goto ldv_38515;
39338            switch_default: 
39339#line 239
39340            __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu), "=d" (__val_gu): "0" ((int *)arg));
39341#line 239
39342            goto ldv_38515;
39343          } else {
39344
39345          }
39346        }
39347        ldv_38515: 
39348#line 239
39349        tout = (int )__val_gu;
39350#line 239
39351        if (__ret_gu != 0) {
39352#line 240
39353          ret = -14;
39354#line 241
39355          goto ldv_38521;
39356        } else {
39357
39358        }
39359        {
39360#line 243
39361        id = misdn_add_timer(dev, tout);
39362        }
39363        {
39364#line 244
39365        __cil_tmp21 = *debug___6;
39366#line 244
39367        __cil_tmp22 = __cil_tmp21 & 16777216U;
39368#line 244
39369        if (__cil_tmp22 != 0U) {
39370          {
39371#line 245
39372          printk("<7>%s add %d id %d\n", "mISDN_ioctl", tout, id);
39373          }
39374        } else {
39375
39376        }
39377        }
39378#line 247
39379        if (id < 0) {
39380#line 248
39381          ret = id;
39382#line 249
39383          goto ldv_38521;
39384        } else {
39385
39386        }
39387        {
39388#line 251
39389        might_fault();
39390#line 251
39391        __pu_val = id;
39392        }
39393#line 251
39394        if (1) {
39395#line 251
39396          goto case_4___0;
39397        } else {
39398#line 251
39399          goto switch_default___0;
39400#line 251
39401          if (0) {
39402#line 251
39403            __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu): "0" (__pu_val),
39404                                 "c" ((int *)arg): "ebx");
39405#line 251
39406            goto ldv_38525;
39407#line 251
39408            __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu): "0" (__pu_val),
39409                                 "c" ((int *)arg): "ebx");
39410#line 251
39411            goto ldv_38525;
39412            case_4___0: 
39413#line 251
39414            __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu): "0" (__pu_val),
39415                                 "c" ((int *)arg): "ebx");
39416#line 251
39417            goto ldv_38525;
39418#line 251
39419            __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu): "0" (__pu_val),
39420                                 "c" ((int *)arg): "ebx");
39421#line 251
39422            goto ldv_38525;
39423            switch_default___0: 
39424#line 251
39425            __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu): "0" (__pu_val),
39426                                 "c" ((int *)arg): "ebx");
39427#line 251
39428            goto ldv_38525;
39429          } else {
39430
39431          }
39432        }
39433        ldv_38525: ;
39434#line 251
39435        if (__ret_pu != 0) {
39436#line 252
39437          ret = -14;
39438        } else {
39439
39440        }
39441#line 253
39442        goto ldv_38521;
39443        case_neg_2147202751: 
39444        {
39445#line 255
39446        might_fault();
39447        }
39448#line 255
39449        if (1) {
39450#line 255
39451          goto case_4___1;
39452        } else {
39453#line 255
39454          goto switch_default___1;
39455#line 255
39456          if (0) {
39457#line 255
39458            __asm__  volatile   ("call __get_user_1": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)arg));
39459#line 255
39460            goto ldv_38535;
39461#line 255
39462            __asm__  volatile   ("call __get_user_2": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)arg));
39463#line 255
39464            goto ldv_38535;
39465            case_4___1: 
39466#line 255
39467            __asm__  volatile   ("call __get_user_4": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)arg));
39468#line 255
39469            goto ldv_38535;
39470#line 255
39471            __asm__  volatile   ("call __get_user_8": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)arg));
39472#line 255
39473            goto ldv_38535;
39474            switch_default___1: 
39475#line 255
39476            __asm__  volatile   ("call __get_user_X": "=a" (__ret_gu___0), "=d" (__val_gu___0): "0" ((int *)arg));
39477#line 255
39478            goto ldv_38535;
39479          } else {
39480
39481          }
39482        }
39483        ldv_38535: 
39484#line 255
39485        id = (int )__val_gu___0;
39486#line 255
39487        if (__ret_gu___0 != 0) {
39488#line 256
39489          ret = -14;
39490#line 257
39491          goto ldv_38521;
39492        } else {
39493
39494        }
39495        {
39496#line 259
39497        __cil_tmp23 = *debug___6;
39498#line 259
39499        __cil_tmp24 = __cil_tmp23 & 16777216U;
39500#line 259
39501        if (__cil_tmp24 != 0U) {
39502          {
39503#line 260
39504          printk("<7>%s del id %d\n", "mISDN_ioctl", id);
39505          }
39506        } else {
39507
39508        }
39509        }
39510        {
39511#line 261
39512        id = misdn_del_timer(dev, id);
39513#line 262
39514        might_fault();
39515#line 262
39516        __pu_val___0 = id;
39517        }
39518#line 262
39519        if (1) {
39520#line 262
39521          goto case_4___2;
39522        } else {
39523#line 262
39524          goto switch_default___2;
39525#line 262
39526          if (0) {
39527#line 262
39528            __asm__  volatile   ("call __put_user_1": "=a" (__ret_pu___0): "0" (__pu_val___0),
39529                                 "c" ((int *)arg): "ebx");
39530#line 262
39531            goto ldv_38544;
39532#line 262
39533            __asm__  volatile   ("call __put_user_2": "=a" (__ret_pu___0): "0" (__pu_val___0),
39534                                 "c" ((int *)arg): "ebx");
39535#line 262
39536            goto ldv_38544;
39537            case_4___2: 
39538#line 262
39539            __asm__  volatile   ("call __put_user_4": "=a" (__ret_pu___0): "0" (__pu_val___0),
39540                                 "c" ((int *)arg): "ebx");
39541#line 262
39542            goto ldv_38544;
39543#line 262
39544            __asm__  volatile   ("call __put_user_8": "=a" (__ret_pu___0): "0" (__pu_val___0),
39545                                 "c" ((int *)arg): "ebx");
39546#line 262
39547            goto ldv_38544;
39548            switch_default___2: 
39549#line 262
39550            __asm__  volatile   ("call __put_user_X": "=a" (__ret_pu___0): "0" (__pu_val___0),
39551                                 "c" ((int *)arg): "ebx");
39552#line 262
39553            goto ldv_38544;
39554          } else {
39555
39556          }
39557        }
39558        ldv_38544: ;
39559#line 262
39560        if (__ret_pu___0 != 0) {
39561#line 263
39562          ret = -14;
39563        } else {
39564
39565        }
39566#line 264
39567        goto ldv_38521;
39568        switch_default___3: 
39569#line 266
39570        ret = -22;
39571      } else {
39572
39573      }
39574    }
39575    }
39576  }
39577  }
39578  ldv_38521: 
39579  {
39580#line 268
39581  mutex_unlock(& mISDN_mutex);
39582  }
39583#line 269
39584  return ((long )ret);
39585}
39586}
39587#line 272 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39588static struct file_operations  const  mISDN_fops  = 
39589#line 272
39590     {(struct module *)0, & no_llseek, & mISDN_read, (ssize_t (*)(struct file * , char const   * ,
39591                                                                size_t  , loff_t * ))0,
39592    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
39593    (ssize_t (*)(struct kiocb * , struct iovec  const  * , unsigned long  , loff_t  ))0,
39594    (int (*)(struct file * , void * , int (*)(void * , char const   * , int  , loff_t  ,
39595                                              u64  , unsigned int  ) ))0, & mISDN_poll,
39596    & mISDN_ioctl, (long (*)(struct file * , unsigned int  , unsigned long  ))0, (int (*)(struct file * ,
39597                                                                                          struct vm_area_struct * ))0,
39598    & mISDN_open, (int (*)(struct file * , fl_owner_t  ))0, & mISDN_close, (int (*)(struct file * ,
39599                                                                                    int  ))0,
39600    (int (*)(struct kiocb * , int  ))0, (int (*)(int  , struct file * , int  ))0,
39601    (int (*)(struct file * , int  , struct file_lock * ))0, (ssize_t (*)(struct file * ,
39602                                                                         struct page * ,
39603                                                                         int  , size_t  ,
39604                                                                         loff_t * ,
39605                                                                         int  ))0,
39606    (unsigned long (*)(struct file * , unsigned long  , unsigned long  , unsigned long  ,
39607                       unsigned long  ))0, (int (*)(int  ))0, (int (*)(struct file * ,
39608                                                                       int  , struct file_lock * ))0,
39609    (ssize_t (*)(struct pipe_inode_info * , struct file * , loff_t * , size_t  , unsigned int  ))0,
39610    (ssize_t (*)(struct file * , loff_t * , struct pipe_inode_info * , size_t  , unsigned int  ))0,
39611    (int (*)(struct file * , long  , struct file_lock ** ))0, (long (*)(struct file * ,
39612                                                                        int  , loff_t  ,
39613                                                                        loff_t  ))0};
39614#line 281 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39615static struct miscdevice mISDNtimer  = 
39616#line 281
39617     {255, "mISDNtimer", & mISDN_fops, {(struct list_head *)0, (struct list_head *)0},
39618    (struct device *)0, (struct device *)0, (char const   *)0, 0U};
39619#line 288 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39620int mISDN_inittimer(u_int *deb ) 
39621{ int err ;
39622
39623  {
39624  {
39625#line 292
39626  debug___6 = deb;
39627#line 293
39628  err = misc_register(& mISDNtimer);
39629  }
39630#line 294
39631  if (err != 0) {
39632    {
39633#line 295
39634    printk("<4>mISDN: Could not register timer device\n");
39635    }
39636  } else {
39637
39638  }
39639#line 296
39640  return (err);
39641}
39642}
39643#line 299 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39644void mISDN_timer_cleanup(void) 
39645{ 
39646
39647  {
39648  {
39649#line 301
39650  misc_deregister(& mISDNtimer);
39651  }
39652#line 302
39653  return;
39654}
39655}
39656#line 323
39657extern void ldv_check_return_value(int  ) ;
39658#line 335 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39659void main(void) 
39660{ struct file *var_group1 ;
39661  char *var_mISDN_read_2_p1 ;
39662  size_t var_mISDN_read_2_p2 ;
39663  loff_t *var_mISDN_read_2_p3 ;
39664  ssize_t res_mISDN_read_2 ;
39665  poll_table *var_mISDN_poll_3_p1 ;
39666  unsigned int var_mISDN_ioctl_7_p1 ;
39667  unsigned long var_mISDN_ioctl_7_p2 ;
39668  struct inode *var_group2 ;
39669  int res_mISDN_open_0 ;
39670  unsigned long var_dev_expire_timer_4_p0 ;
39671  int ldv_s_mISDN_fops_file_operations ;
39672  int tmp ;
39673  int tmp___0 ;
39674  int __cil_tmp15 ;
39675
39676  {
39677  {
39678#line 395
39679  ldv_s_mISDN_fops_file_operations = 0;
39680#line 385
39681  LDV_IN_INTERRUPT = 1;
39682#line 394
39683  ldv_initialize();
39684  }
39685#line 401
39686  goto ldv_38594;
39687  ldv_38593: 
39688  {
39689#line 405
39690  tmp = nondet_int();
39691  }
39692#line 407
39693  if (tmp == 0) {
39694#line 407
39695    goto case_0;
39696  } else
39697#line 426
39698  if (tmp == 1) {
39699#line 426
39700    goto case_1;
39701  } else
39702#line 445
39703  if (tmp == 2) {
39704#line 445
39705    goto case_2;
39706  } else
39707#line 461
39708  if (tmp == 3) {
39709#line 461
39710    goto case_3;
39711  } else
39712#line 477
39713  if (tmp == 4) {
39714#line 477
39715    goto case_4;
39716  } else
39717#line 493
39718  if (tmp == 5) {
39719#line 493
39720    goto case_5;
39721  } else {
39722#line 509
39723    goto switch_default;
39724#line 405
39725    if (0) {
39726      case_0: ;
39727#line 410
39728      if (ldv_s_mISDN_fops_file_operations == 0) {
39729        {
39730#line 415
39731        res_mISDN_open_0 = mISDN_open(var_group2, var_group1);
39732#line 416
39733        ldv_check_return_value(res_mISDN_open_0);
39734        }
39735#line 417
39736        if (res_mISDN_open_0 != 0) {
39737#line 418
39738          goto ldv_module_exit;
39739        } else {
39740
39741        }
39742#line 419
39743        ldv_s_mISDN_fops_file_operations = ldv_s_mISDN_fops_file_operations + 1;
39744      } else {
39745
39746      }
39747#line 425
39748      goto ldv_38586;
39749      case_1: ;
39750#line 429
39751      if (ldv_s_mISDN_fops_file_operations == 1) {
39752        {
39753#line 434
39754        res_mISDN_read_2 = mISDN_read(var_group1, var_mISDN_read_2_p1, var_mISDN_read_2_p2,
39755                                      var_mISDN_read_2_p3);
39756#line 435
39757        __cil_tmp15 = (int )res_mISDN_read_2;
39758#line 435
39759        ldv_check_return_value(__cil_tmp15);
39760        }
39761#line 436
39762        if (res_mISDN_read_2 < 0L) {
39763#line 437
39764          goto ldv_module_exit;
39765        } else {
39766
39767        }
39768#line 438
39769        ldv_s_mISDN_fops_file_operations = ldv_s_mISDN_fops_file_operations + 1;
39770      } else {
39771
39772      }
39773#line 444
39774      goto ldv_38586;
39775      case_2: ;
39776#line 448
39777      if (ldv_s_mISDN_fops_file_operations == 2) {
39778        {
39779#line 453
39780        mISDN_close(var_group2, var_group1);
39781#line 454
39782        ldv_s_mISDN_fops_file_operations = 0;
39783        }
39784      } else {
39785
39786      }
39787#line 460
39788      goto ldv_38586;
39789      case_3: 
39790      {
39791#line 469
39792      mISDN_poll(var_group1, var_mISDN_poll_3_p1);
39793      }
39794#line 476
39795      goto ldv_38586;
39796      case_4: 
39797      {
39798#line 485
39799      mISDN_ioctl(var_group1, var_mISDN_ioctl_7_p1, var_mISDN_ioctl_7_p2);
39800      }
39801#line 492
39802      goto ldv_38586;
39803      case_5: 
39804      {
39805#line 501
39806      dev_expire_timer(var_dev_expire_timer_4_p0);
39807      }
39808#line 508
39809      goto ldv_38586;
39810      switch_default: ;
39811#line 509
39812      goto ldv_38586;
39813    } else {
39814
39815    }
39816  }
39817  ldv_38586: ;
39818  ldv_38594: 
39819  {
39820#line 401
39821  tmp___0 = nondet_int();
39822  }
39823#line 401
39824  if (tmp___0 != 0) {
39825#line 403
39826    goto ldv_38593;
39827  } else
39828#line 401
39829  if (ldv_s_mISDN_fops_file_operations != 0) {
39830#line 403
39831    goto ldv_38593;
39832  } else {
39833#line 405
39834    goto ldv_38595;
39835  }
39836  ldv_38595: ;
39837  ldv_module_exit: 
39838  {
39839#line 518
39840  ldv_check_final_state();
39841  }
39842#line 521
39843  return;
39844}
39845}
39846#line 533 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39847int ldv_nonseekable_open_2(struct inode *ldv_func_arg1 , struct file *ldv_func_arg2 ) 
39848{ 
39849
39850  {
39851#line 539
39852  return (0);
39853}
39854}
39855#line 542 "/anthill/stuff/tacas-comp/work/current--X--drivers/isdn/mISDN/mISDN_core.ko--X--bulklinux-3.0.1--X--08_1/linux-3.0.1/csd_deg_dscv/30/dscv_tempdir/dscv/ri/08_1/drivers/isdn/mISDN/timerdev.c.p"
39856void ldv_module_put_3(struct module *ldv_func_arg1 ) 
39857{ 
39858
39859  {
39860  {
39861#line 547
39862  ldv_module_put(ldv_func_arg1);
39863  }
39864#line 548
39865  return;
39866}
39867}