c/4585: ICE on compiling recent Linux kernel

afranck@gmx.de afranck@gmx.de
Tue Oct 16 14:46:00 GMT 2001


>Number:         4585
>Category:       c
>Synopsis:       GCC exitss with an Internal Compiler error when compiling the included code with -O2 -fomit-frame-pointer.
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 16 14:46:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Andreas Franck
>Release:        3.0.2 20011015 (prerelease)
>Organization:
none	
>Environment:
System: Linux dg1kfa 2.4.12-ac2 #1 Mon Oct 15 02:08:41 CEST 2001 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-3.0.2/configure --prefix=/usr/local/gcc-3.0 --enable-haifa --program-suffix=-3.0 --enable-languages=c,c++,objc,f77,java,gcov --enable-java-gc=boehm --enable-threads=posix --enable-nls --enable-shared
>Description:
	
	When compiling the following code in the Linux kernel 2.4.12-ac3 (others not tried), gcc exits
	with an Internal Compiler Error. This only happens when the -fomit-frame-pointer and -O2 options
	are both used in the compilation, the other options have no effect on this error. 

	The error message is shown here:

gcc-3.0 -D__KERNEL__ -I/usr/src/linux-2.4.12-ac3/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.12-ac2/include/linux/modversions.h   -c -o capi.o capi.c
capi.c: In function `capi_ioctl':
capi.c:1035: Unrecognizable insn:
(insn/i 1216 3325 3322 (parallel[
            (set (reg:SI 6 ebp)
                (asm_operands:SI ("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0") ("=&r") 0[
                        (reg/v:SI 1 edx [280])
                        (mem:SI (plus:SI (reg/f:SI 6 ebp)
                                (const_int -116 [0xffffff8c])) 0)
                        (mem/s:SI (plus:SI (reg:SI 0 eax [288])
                                (const_int 12 [0xc])) 0)
                    ]
                    [
                        (asm_input:SI ("1"))
                        (asm_input:SI ("g"))
                        (asm_input:SI ("g"))
                    ]  ("/usr/src/linux-2.4.12-ac3/include/asm/uaccess.h") 558))
            (set (reg/v:SI 1 edx [280])
                (asm_operands:SI ("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0") ("=r") 1[
                        (reg/v:SI 1 edx [280])
                        (mem:SI (plus:SI (reg/f:SI 6 ebp)
                                (const_int -116 [0xffffff8c])) 0)
                        (mem/s:SI (plus:SI (reg:SI 0 eax [288])
                                (const_int 12 [0xc])) 0)
                    ]
                    [
                        (asm_input:SI ("1"))
                        (asm_input:SI ("g"))
                        (asm_input:SI ("g"))
                    ]  ("/usr/src/linux-2.4.12-ac3/include/asm/uaccess.h") 558))
            (clobber (reg:QI 19 dirflag))
            (clobber (reg:QI 18 fpsr))
            (clobber (reg:QI 17 flags))
        ] ) -1 (insn_list 1202 (insn_list 1209 (nil)))
    (nil))
capi.c:1035: Internal compiler error in reload_cse_simplify_operands, at reload1.c:8364
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.

>How-To-Repeat:

	Compile the following preprocessed code with -O2 -fomit-frame-pointer:

	
----------------snip----------------

# 1 "capi.c"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 1


# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modsetver.h" 1
# 4 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/53c700.ver" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/8390.ver" 1
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/DAC960.ver" 1
# 7 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/Divas_mod.ver" 1
# 8 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ac97.ver" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ac97_codec.ver" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/aci.ver" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/acpi_ksyms.ver" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ad1848.ver" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/adb.ver" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/af_ax25.ver" 1
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/af_ipx.ver" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/af_netlink.ver" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/af_spx.ver" 1
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/afs.ver" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/agpgart_be.ver" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/airo.ver" 1
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/aironet4500_card.ver" 1
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/aironet4500_core.ver" 1
# 23 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/amd7930.ver" 1
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/arcnet.ver" 1
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/arlan.ver" 1
# 26 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ataraid.ver" 1
# 27 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/atm_misc.ver" 1
# 28 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/atyfb_base.ver" 1
# 29 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/audio.ver" 1
# 30 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/audio_syms.ver" 1
# 31 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/auto_irq.ver" 1
# 32 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/b1.ver" 1
# 33 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/b1dma.ver" 1
# 34 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/b1pcmcia.ver" 1
# 35 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/base.ver" 1
# 36 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/bbc_i2c.ver" 1
# 37 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/blkpg.ver" 1
# 38 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/bm_osl.ver" 1
# 39 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/bootldr.ver" 1
# 40 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/bpck6.ver" 1
# 41 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/bttv-if.ver" 1
# 42 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/buffer.ver" 1
# 43 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/busmouse.ver" 1
# 44 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/capifs.ver" 1
# 45 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/capiutil.ver" 1
# 46 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cb_enabler.ver" 1
# 47 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cdrom.ver" 1
# 48 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/check.ver" 1
# 49 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/chipreg.ver" 1
# 50 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cmdline.ver" 1
# 51 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/com20020.ver" 1
# 52 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/common.ver" 1
# 53 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/comx.ver" 1
# 54 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/config.ver" 1
# 55 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/console.ver" 1
# 56 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/context.ver" 1
# 57 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cpia.ver" 1
# 58 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cpuid.ver" 1
# 59 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cs.ver" 1
# 60 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cyber2000fb.ver" 1
# 61 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/cycx_drv.ver" 1
# 62 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/dbri.ver" 1
# 63 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/dcache.ver" 1
# 64 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ddp.ver" 1
# 65 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/dec_and_lock.ver" 1
# 66 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/dmasound_core.ver" 1
# 67 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ds.ver" 1
# 68 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/eicon_mod.ver" 1
# 69 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/elevator.ver" 1
# 70 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/exec_domain.ver" 1
# 71 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fas216.ver" 1
# 72 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fatfs_syms.ver" 1
# 73 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcmap.ver" 1
# 74 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-afb.ver" 1
# 75 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-cfb16.ver" 1
# 76 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-cfb2.ver" 1
# 77 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-cfb24.ver" 1
# 78 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-cfb32.ver" 1
# 79 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-cfb4.ver" 1
# 80 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-cfb8.ver" 1
# 81 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-hga.ver" 1
# 82 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-ilbm.ver" 1
# 83 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-iplan2p2.ver" 1
# 84 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-iplan2p4.ver" 1
# 85 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-iplan2p8.ver" 1
# 86 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-mac.ver" 1
# 87 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-mfb.ver" 1
# 88 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-vga-planes.ver" 1
# 89 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon-vga.ver" 1
# 90 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbcon.ver" 1
# 91 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbmem.ver" 1
# 92 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fbmon.ver" 1
# 93 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fc_syms.ver" 1
# 94 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ffb_drv.ver" 1
# 95 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/filemap.ver" 1
# 96 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/filesystems.ver" 1
# 97 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fork.ver" 1
# 98 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/fsm.ver" 1
# 99 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ftape_syms.ver" 1
# 100 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/gameport.ver" 1
# 101 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/gamma_drv.ver" 1
# 102 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/gen_probe.ver" 1
# 103 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/generic_serial.ver" 1
# 104 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/genhd.ver" 1
# 105 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/hdlc.ver" 1
# 106 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/hdlcdrv.ver" 1
# 107 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/hermes.ver" 1
# 108 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2c-algo-bit.ver" 1
# 109 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2c-algo-ite.ver" 1
# 110 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2c-algo-pcf.ver" 1
# 111 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2c-core.ver" 1
# 112 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2c-old.ver" 1
# 113 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2c-proc.ver" 1
# 114 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2o_block.ver" 1
# 115 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2o_config.ver" 1
# 116 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2o_core.ver" 1
# 117 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2o_lan.ver" 1
# 118 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2o_pci.ver" 1
# 119 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2o_proc.ver" 1
# 120 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i2o_scsi.ver" 1
# 121 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i386_ksyms.ver" 1
# 122 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/i810_drv.ver" 1
# 123 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ide-features.ver" 1
# 124 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ide.ver" 1
# 125 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/idt77105.ver" 1
# 126 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ieee1394_syms.ver" 1
# 127 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/inflate_syms.ver" 1
# 128 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/init.ver" 1
# 129 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/input.ver" 1
# 130 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ip6_tables.ver" 1
# 131 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ip_conntrack_ftp.ver" 1
# 132 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ip_conntrack_standalone.ver" 1
# 133 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ip_fw_compat.ver" 1
# 134 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ip_gre.ver" 1
# 135 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ip_nat_standalone.ver" 1
# 136 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ip_tables.ver" 1
# 137 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ipcommon.ver" 1
# 138 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ipip.ver" 1
# 139 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/irport.ver" 1
# 140 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/irsyms.ver" 1
# 141 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/isapnp.ver" 1
# 142 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/isdn_common.ver" 1
# 143 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/isense.ver" 1
# 144 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ixj.ver" 1
# 145 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/jbd-kernel.ver" 1
# 146 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/journal.ver" 1
# 147 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/kcapi.ver" 1
# 148 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/keyboard.ver" 1
# 149 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/kmod.ver" 1
# 150 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ksyms.ver" 1
# 151 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/lapb_iface.ver" 1
# 152 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ll_rw_blk.ver" 1
# 153 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/llc_macinit.ver" 1
# 154 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/lockd_syms.ver" 1
# 155 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/loop.ver" 1
# 156 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mac_hid.ver" 1
# 157 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mach64_accel.ver" 1
# 158 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/matroxfb_DAC1064.ver" 1
# 159 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/matroxfb_Ti3026.ver" 1
# 160 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/matroxfb_accel.ver" 1
# 161 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/matroxfb_base.ver" 1
# 162 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/matroxfb_misc.ver" 1
# 163 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mca.ver" 1
# 164 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/md.ver" 1
# 165 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mga_drv.ver" 1
# 166 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/microcode.ver" 1
# 167 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/midi_syms.ver" 1
# 168 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/miropcm20-rds-core.ver" 1
# 169 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/misc.ver" 1
# 170 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/modedb.ver" 1
# 171 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mptbase.ver" 1
# 172 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mptctl.ver" 1
# 173 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mptlan.ver" 1
# 174 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mptscsih.ver" 1
# 175 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mpu401.ver" 1
# 176 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/msdosfs_syms.ver" 1
# 177 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/msgqueue.ver" 1
# 178 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/msnd.ver" 1
# 179 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/msr.ver" 1
# 180 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mtdcore.ver" 1
# 181 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mtdpart.ver" 1
# 182 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/mtrr.ver" 1
# 183 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/nand.ver" 1
# 184 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/nand_ecc.ver" 1
# 185 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/net_init.ver" 1
# 186 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/netfilter.ver" 1
# 187 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/netsyms.ver" 1
# 188 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/newport.ver" 1
# 189 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/nls_base.ver" 1
# 190 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/nm256_audio.ver" 1
# 191 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/nubus_syms.ver" 1
# 192 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ohci1394.ver" 1
# 193 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/open.ver" 1
# 194 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/opl3.ver" 1
# 195 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/orinoco.ver" 1
# 196 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/p8022.ver" 1
# 197 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/parport_pc.ver" 1
# 198 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/pci.ver" 1
# 199 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/pci_socket.ver" 1
# 200 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/phonedev.ver" 1
# 201 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/pm.ver" 1
# 202 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/pnp_bios.ver" 1
# 203 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ppp_async.ver" 1
# 204 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ppp_generic.ver" 1
# 205 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/pppox.ver" 1
# 206 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/printk.ver" 1
# 207 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/proc.ver" 1
# 208 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/profile.ver" 1
# 209 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/psnap.ver" 1
# 210 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/pty.ver" 1
# 211 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/pwc-uncompress.ver" 1
# 212 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/queue.ver" 1
# 213 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/r128_drv.ver" 1
# 214 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/random.ver" 1
# 215 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/raw.ver" 1
# 216 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/ray_cs.ver" 1
# 217 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/redboot.ver" 1
# 218 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/resources.ver" 1
# 219 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/root.ver" 1
# 220 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/rtc.ver" 1
# 221 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/rwsem-spinlock.ver" 1
# 222 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/rwsem.ver" 1
# 223 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sa1100fb.ver" 1
# 224 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sb_common.ver" 1
# 225 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/scsi_syms.ver" 1
# 226 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sdladrv.ver" 1
# 227 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/selection.ver" 1
# 228 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sequencer_syms.ver" 1
# 229 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/serial.ver" 1
# 230 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/serio.ver" 1
# 231 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sgicons.ver" 1
# 232 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/shmem.ver" 1
# 233 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/shmiq.ver" 1
# 234 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/signal.ver" 1
# 235 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sis_main.ver" 1
# 236 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/slhc.ver" 1
# 237 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sonypi.ver" 1
# 238 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sound_core.ver" 1
# 239 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sound_syms.ver" 1
# 240 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/su.ver" 1
# 241 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/suni.ver" 1
# 242 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sunrpc_syms.ver" 1
# 243 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/syms.ver" 1
# 244 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/syncppp.ver" 1
# 245 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sys.ver" 1
# 246 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/sysrq.ver" 1
# 247 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/tc.ver" 1
# 248 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/tdfx_drv.ver" 1
# 249 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/tms380tr.ver" 1
# 250 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/tty_io.ver" 1
# 251 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/tty_ioctl.ver" 1
# 252 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/uPD98402.ver" 1
# 253 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/uart401.ver" 1
# 254 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/usb.ver" 1
# 255 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/usbserial.ver" 1
# 256 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/usema.ver" 1
# 257 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/util.ver" 1
# 258 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/vfatfs_syms.ver" 1
# 259 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/via-pmu.ver" 1
# 260 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/videodev.ver" 1
# 261 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/wanmain.ver" 1
# 262 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/xor.ver" 1
# 263 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/yenta.ver" 1
# 264 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/z85230.ver" 1
# 265 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/zftape_syms.ver" 1
# 266 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/modules/zorro.ver" 1
# 267 "/usr/src/linux-2.4.12-ac2/include/linux/modversions.h" 2
# 2 "capi.c" 2
# 12 "capi.c"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/autoconf.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 2
# 13 "capi.c" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/module.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/module.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/module.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 2
# 57 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h"
  typedef struct { } spinlock_t;
# 120 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h"
  typedef struct { } rwlock_t;
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/module.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1





# 1 "/usr/src/linux-2.4.12-ac2/include/linux/prefetch.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/prefetch.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/vm86.h" 1
# 68 "/usr/src/linux-2.4.12-ac2/include/asm/vm86.h"
struct vm86_regs {



        long ebx;
        long ecx;
        long edx;
        long esi;
        long edi;
        long ebp;
        long eax;
        long __null_ds;
        long __null_es;
        long __null_fs;
        long __null_gs;
        long orig_eax;
        long eip;
        unsigned short cs, __csh;
        long eflags;
        long esp;
        unsigned short ss, __ssh;



        unsigned short es, __esh;
        unsigned short ds, __dsh;
        unsigned short fs, __fsh;
        unsigned short gs, __gsh;
};

struct revectored_struct {
        unsigned long __map[8];
};

struct vm86_struct {
        struct vm86_regs regs;
        unsigned long flags;
        unsigned long screen_bitmap;
        unsigned long cpu_type;
        struct revectored_struct int_revectored;
        struct revectored_struct int21_revectored;
};






struct vm86plus_info_struct {
        unsigned long force_return_for_pic:1;
        unsigned long vm86dbg_active:1;
        unsigned long vm86dbg_TFpendig:1;
        unsigned long unused:28;
        unsigned long is_vm86pus:1;
        unsigned char vm86dbg_intxxtab[32];
};

struct vm86plus_struct {
        struct vm86_regs regs;
        unsigned long flags;
        unsigned long screen_bitmap;
        unsigned long cpu_type;
        struct revectored_struct int_revectored;
        struct revectored_struct int21_revectored;
        struct vm86plus_info_struct vm86plus;
};
# 145 "/usr/src/linux-2.4.12-ac2/include/asm/vm86.h"
struct kernel_vm86_regs {



        long ebx;
        long ecx;
        long edx;
        long esi;
        long edi;
        long ebp;
        long eax;
        long __null_ds;
        long __null_es;
        long orig_eax;
        long eip;
        unsigned short cs, __csh;
        long eflags;
        long esp;
        unsigned short ss, __ssh;



        unsigned short es, __esh;
        unsigned short ds, __dsh;
        unsigned short fs, __fsh;
        unsigned short gs, __gsh;
};

struct kernel_vm86_struct {
        struct kernel_vm86_regs regs;
# 184 "/usr/src/linux-2.4.12-ac2/include/asm/vm86.h"
        unsigned long flags;
        unsigned long screen_bitmap;
        unsigned long cpu_type;
        struct revectored_struct int_revectored;
        struct revectored_struct int21_revectored;
        struct vm86plus_info_struct vm86plus;
        struct pt_regs *regs32;
# 201 "/usr/src/linux-2.4.12-ac2/include/asm/vm86.h"
};

void handle_vm86_fault(struct kernel_vm86_regs *, long);
int handle_vm86_trap(struct kernel_vm86_regs *, long, int);
# 11 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/math_emu.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/sigcontext.h" 1
# 18 "/usr/src/linux-2.4.12-ac2/include/asm/sigcontext.h"
struct _fpreg {
        unsigned short significand[4];
        unsigned short exponent;
};

struct _fpxreg {
        unsigned short significand[4];
        unsigned short exponent;
        unsigned short padding[3];
};

struct _xmmreg {
        unsigned long element[4];
};

struct _fpstate {

        unsigned long cw;
        unsigned long sw;
        unsigned long tag;
        unsigned long ipoff;
        unsigned long cssel;
        unsigned long dataoff;
        unsigned long datasel;
        struct _fpreg _st[8];
        unsigned short status;
        unsigned short magic;


        unsigned long _fxsr_env[6];
        unsigned long mxcsr;
        unsigned long reserved;
        struct _fpxreg _fxsr_st[8];
        struct _xmmreg _xmm[8];
        unsigned long padding[56];
};



struct sigcontext {
        unsigned short gs, __gsh;
        unsigned short fs, __fsh;
        unsigned short es, __esh;
        unsigned short ds, __dsh;
        unsigned long edi;
        unsigned long esi;
        unsigned long ebp;
        unsigned long esp;
        unsigned long ebx;
        unsigned long edx;
        unsigned long ecx;
        unsigned long eax;
        unsigned long trapno;
        unsigned long err;
        unsigned long eip;
        unsigned short cs, __csh;
        unsigned long eflags;
        unsigned long esp_at_signal;
        unsigned short ss, __ssh;
        struct _fpstate * fpstate;
        unsigned long oldmask;
        unsigned long cr2;
};
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/math_emu.h" 2

int restore_i387_soft(void *s387, struct _fpstate *buf);
int save_i387_soft(void *s387, struct _fpstate * buf);





struct info {
        long ___orig_eip;
        long ___ebx;
        long ___ecx;
        long ___edx;
        long ___esi;
        long ___edi;
        long ___ebp;
        long ___eax;
        long ___ds;
        long ___es;
        long ___orig_eax;
        long ___eip;
        long ___cs;
        long ___eflags;
        long ___esp;
        long ___ss;
        long ___vm86_es;
        long ___vm86_ds;
        long ___vm86_fs;
        long ___vm86_gs;
};
# 12 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/segment.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/asm/page.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 2
# 45 "/usr/src/linux-2.4.12-ac2/include/asm/page.h"
typedef struct { unsigned long pte_low; } pte_t;
typedef struct { unsigned long pmd; } pmd_t;
typedef struct { unsigned long pgd; } pgd_t;




typedef struct { unsigned long pgprot; } pgprot_t;
# 91 "/usr/src/linux-2.4.12-ac2/include/asm/page.h"
extern void do_BUG_R577f4bff(const char *file, int line);
# 105 "/usr/src/linux-2.4.12-ac2/include/asm/page.h"
static __inline__ int get_order(unsigned long size)
{
        int order;

        size = (size-1) >> (12 -1);
        order = -1;
        do {
                size >>= 1;
                order++;
        } while (size);
        return order;
}
# 14 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/types.h" 1



typedef unsigned short umode_t;






typedef __signed__ char __s8;
typedef unsigned char __u8;

typedef __signed__ short __s16;
typedef unsigned short __u16;

typedef __signed__ int __s32;
typedef unsigned int __u32;


typedef __signed__ long long __s64;
typedef unsigned long long __u64;







typedef signed char s8;
typedef unsigned char u8;

typedef signed short s16;
typedef unsigned short u16;

typedef signed int s32;
typedef unsigned int u32;

typedef signed long long s64;
typedef unsigned long long u64;





typedef u32 dma_addr_t;
# 15 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/sigcontext.h" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/cpufeature.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/cache.h" 1






# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 8 "/usr/src/linux-2.4.12-ac2/include/asm/cache.h" 2
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 2
# 18 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/threads.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/threads.h" 2
# 20 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 2
# 33 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
struct cpuinfo_x86 {
        __u8 x86;
        __u8 x86_vendor;
        __u8 x86_model;
        __u8 x86_mask;
        char wp_works_ok;
        char hlt_works_ok;
        char hard_math;
        char rfu;
        int cpuid_level;
        __u32 x86_capability[4];
        char x86_vendor_id[16];
        char x86_model_id[64];
        int x86_cache_size;

        __u16 clockmul;
        int fdiv_bug;
        int f00f_bug;
        int coma_bug;
        unsigned long loops_per_jiffy_Rba497f13;
        unsigned long *pgd_quick;
        unsigned long *pmd_quick;
        unsigned long *pte_quick;
        unsigned long pgtable_cache_sz;
} __attribute__((__aligned__((1 << ((5))))));
# 73 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
extern struct cpuinfo_x86 boot_cpu_data_R65dda927;
extern struct tss_struct init_tss[1];
# 95 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
extern char ignore_irq13;

extern void identify_cpu(struct cpuinfo_x86 *);
extern void print_cpu_info(struct cpuinfo_x86 *);
extern void dodgy_tsc(void);
# 125 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
static inline void cpuid(int op, int *eax, int *ebx, int *ecx, int *edx)
{
        __asm__("cpuid"
                : "=a" (*eax),
                  "=b" (*ebx),
                  "=c" (*ecx),
                  "=d" (*edx)
                : "0" (op));
}




static inline unsigned int cpuid_eax(unsigned int op)
{
        unsigned int eax;

        __asm__("cpuid"
                : "=a" (eax)
                : "0" (op)
                : "bx", "cx", "dx");
        return eax;
}
static inline unsigned int cpuid_ebx(unsigned int op)
{
        unsigned int eax, ebx;

        __asm__("cpuid"
                : "=a" (eax), "=b" (ebx)
                : "0" (op)
                : "cx", "dx" );
        return ebx;
}
static inline unsigned int cpuid_ecx(unsigned int op)
{
        unsigned int eax, ecx;

        __asm__("cpuid"
                : "=a" (eax), "=c" (ecx)
                : "0" (op)
                : "bx", "dx" );
        return ecx;
}
static inline unsigned int cpuid_edx(unsigned int op)
{
        unsigned int eax, edx;

        __asm__("cpuid"
                : "=a" (eax), "=d" (edx)
                : "0" (op)
                : "bx", "cx");
        return edx;
}
# 200 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
extern unsigned long mmu_cr4_features;

static inline void set_in_cr4 (unsigned long mask)
{
        mmu_cr4_features |= mask;
        __asm__("movl %%cr4,%%eax\n\t"
                "orl %0,%%eax\n\t"
                "movl %%eax,%%cr4\n"
                : : "irg" (mask)
                :"ax");
}

static inline void clear_in_cr4 (unsigned long mask)
{
        mmu_cr4_features &= ~mask;
        __asm__("movl %%cr4,%%eax\n\t"
                "andl %0,%%eax\n\t"
                "movl %%eax,%%cr4\n"
                : : "irg" (~mask)
                :"ax");
}
# 257 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
extern int MCA_bus_Rf48a2c4c;



extern unsigned int machine_id;
extern unsigned int machine_submodel_id;
extern unsigned int BIOS_revision;
extern unsigned int mca_pentium_flag;
# 283 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
struct i387_fsave_struct {
        long cwd;
        long swd;
        long twd;
        long fip;
        long fcs;
        long foo;
        long fos;
        long st_space[20];
        long status;
};

struct i387_fxsave_struct {
        unsigned short cwd;
        unsigned short swd;
        unsigned short twd;
        unsigned short fop;
        long fip;
        long fcs;
        long foo;
        long fos;
        long mxcsr;
        long reserved;
        long st_space[32];
        long xmm_space[32];
        long padding[56];
} __attribute__ ((aligned (16)));

struct i387_soft_struct {
        long cwd;
        long swd;
        long twd;
        long fip;
        long fcs;
        long foo;
        long fos;
        long st_space[20];
        unsigned char ftop, changed, lookahead, no_update, rm, alimit;
        struct info *info;
        unsigned long entry_eip;
};

union i387_union {
        struct i387_fsave_struct fsave;
        struct i387_fxsave_struct fxsave;
        struct i387_soft_struct soft;
};

typedef struct {
        unsigned long seg;
} mm_segment_t;

struct tss_struct {
        unsigned short back_link,__blh;
        unsigned long esp0;
        unsigned short ss0,__ss0h;
        unsigned long esp1;
        unsigned short ss1,__ss1h;
        unsigned long esp2;
        unsigned short ss2,__ss2h;
        unsigned long __cr3;
        unsigned long eip;
        unsigned long eflags;
        unsigned long eax,ecx,edx,ebx;
        unsigned long esp;
        unsigned long ebp;
        unsigned long esi;
        unsigned long edi;
        unsigned short es, __esh;
        unsigned short cs, __csh;
        unsigned short ss, __ssh;
        unsigned short ds, __dsh;
        unsigned short fs, __fsh;
        unsigned short gs, __gsh;
        unsigned short ldt, __ldth;
        unsigned short trace, bitmap;
        unsigned long io_bitmap[32 +1];



        unsigned long __cacheline_filler[5];
};

struct thread_struct {
        unsigned long esp0;
        unsigned long eip;
        unsigned long esp;
        unsigned long fs;
        unsigned long gs;

        unsigned long debugreg[8];

        unsigned long cr2, trap_no, error_code;

        union i387_union i387;

        struct vm86_struct * vm86_info;
        unsigned long screen_bitmap;
        unsigned long v86flags, v86mask, v86mode, saved_esp0;

        int ioperm;
        unsigned long io_bitmap[32 +1];
};
# 428 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
struct task_struct;
struct mm_struct;


extern void release_thread(struct task_struct *);



extern int kernel_thread_R7e9ebb05(int (*fn)(void *), void * arg, unsigned long flags);


extern void copy_segments(struct task_struct *p, struct mm_struct * mm);
extern void release_segments(struct mm_struct * mm);




static inline unsigned long thread_saved_pc(struct thread_struct *t)
{
        return ((unsigned long *)t->esp)[3];
}

unsigned long get_wchan_R08274fad(struct task_struct *p);
# 462 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h"
struct microcode {
        unsigned int hdrver;
        unsigned int rev;
        unsigned int date;
        unsigned int sig;
        unsigned int cksum;
        unsigned int ldrver;
        unsigned int pf;
        unsigned int reserved[5];
        unsigned int bits[500];
};





static inline void rep_nop(void)
{
        __asm__ __volatile__("rep;nop");
}
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/prefetch.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/cache.h" 1
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/prefetch.h" 2
# 43 "/usr/src/linux-2.4.12-ac2/include/linux/prefetch.h"
static inline void prefetch(const void *x) {;}




static inline void prefetchw(const void *x) {;}
# 7 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 2
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/list.h"
struct list_head {
        struct list_head *next, *prev;
};
# 37 "/usr/src/linux-2.4.12-ac2/include/linux/list.h"
static __inline__ void __list_add(struct list_head * new,
        struct list_head * prev,
        struct list_head * next)
{
        next->prev = new;
        new->next = next;
        new->prev = prev;
        prev->next = new;
}
# 55 "/usr/src/linux-2.4.12-ac2/include/linux/list.h"
static __inline__ void list_add(struct list_head *new, struct list_head *head)
{
        __list_add(new, head, head->next);
}
# 68 "/usr/src/linux-2.4.12-ac2/include/linux/list.h"
static __inline__ void list_add_tail(struct list_head *new, struct list_head *head)
{
        __list_add(new, head->prev, head);
}
# 80 "/usr/src/linux-2.4.12-ac2/include/linux/list.h"
static __inline__ void __list_del(struct list_head * prev,
                                  struct list_head * next)
{
        next->prev = prev;
        prev->next = next;
}






static __inline__ void list_del(struct list_head *entry)
{
        __list_del(entry->prev, entry->next);
}





static __inline__ void list_del_init(struct list_head *entry)
{
        __list_del(entry->prev, entry->next);
        do { (entry)->next = (entry); (entry)->prev = (entry); } while (0);
}





static __inline__ int list_empty(struct list_head *head)
{
        return head->next == head;
}






static __inline__ void list_splice(struct list_head *list, struct list_head *head)
{
        struct list_head *first = list->next;

        if (first != list) {
                struct list_head *last = list->prev;
                struct list_head *at = head->next;

                first->prev = head;
                head->next = first;

                last->next = at;
                at->prev = last;
        }
}
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/module.h" 2
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/module.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 2
# 22 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
typedef struct { volatile int counter; } atomic_t;
# 53 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ void atomic_add(int i, atomic_t *v)
{
        __asm__ __volatile__(
                "" "addl %1,%0"
                :"=m" (v->counter)
                :"ir" (i), "m" (v->counter));
}
# 69 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ void atomic_sub(int i, atomic_t *v)
{
        __asm__ __volatile__(
                "" "subl %1,%0"
                :"=m" (v->counter)
                :"ir" (i), "m" (v->counter));
}
# 87 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ int atomic_sub_and_test(int i, atomic_t *v)
{
        unsigned char c;

        __asm__ __volatile__(
                "" "subl %2,%0; sete %1"
                :"=m" (v->counter), "=qm" (c)
                :"ir" (i), "m" (v->counter) : "memory");
        return c;
}
# 105 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ void atomic_inc(atomic_t *v)
{
        __asm__ __volatile__(
                "" "incl %0"
                :"=m" (v->counter)
                :"m" (v->counter));
}
# 120 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ void atomic_dec(atomic_t *v)
{
        __asm__ __volatile__(
                "" "decl %0"
                :"=m" (v->counter)
                :"m" (v->counter));
}
# 137 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ int atomic_dec_and_test(atomic_t *v)
{
        unsigned char c;

        __asm__ __volatile__(
                "" "decl %0; sete %1"
                :"=m" (v->counter), "=qm" (c)
                :"m" (v->counter) : "memory");
        return c != 0;
}
# 157 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ int atomic_inc_and_test(atomic_t *v)
{
        unsigned char c;

        __asm__ __volatile__(
                "" "incl %0; sete %1"
                :"=m" (v->counter), "=qm" (c)
                :"m" (v->counter) : "memory");
        return c != 0;
}
# 178 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h"
static __inline__ int atomic_add_negative(int i, atomic_t *v)
{
        unsigned char c;

        __asm__ __volatile__(
                "" "addl %2,%0; sets %1"
                :"=m" (v->counter), "=qm" (c)
                :"ir" (i), "m" (v->counter) : "memory");
        return c;
}
# 26 "/usr/src/linux-2.4.12-ac2/include/linux/module.h" 2


struct exception_table_entry;


struct kernel_sym
{
        unsigned long value;
        char name[60];
};

struct module_symbol
{
        unsigned long value;
        const char *name;
};

struct module_ref
{
        struct module *dep;
        struct module *ref;
        struct module_ref *next_ref;
};


struct module_persist;

struct module
{
        unsigned long size_of_struct;
        struct module *next;
        const char *name;
        unsigned long size;

        union
        {
                atomic_t usecount;
                long pad;
        } uc;

        unsigned long flags;

        unsigned nsyms;
        unsigned ndeps;

        struct module_symbol *syms;
        struct module_ref *deps;
        struct module_ref *refs;
        int (*init)(void);
        void (*cleanup)(void);
        const struct exception_table_entry *ex_table_start;
        const struct exception_table_entry *ex_table_end;






        const struct module_persist *persist_start;
        const struct module_persist *persist_end;
        int (*can_unload)(void);
        int runsize;
        const char *kallsyms_start;
        const char *kallsyms_end;
        const char *archdata_start;
        const char *archdata_end;
        const char *kernel_data;
};

struct module_info
{
        unsigned long addr;
        unsigned long size;
        unsigned long flags;
        long usecount;
};
# 183 "/usr/src/linux-2.4.12-ac2/include/linux/module.h"
extern void inter_module_register_R62dada05(const char *, struct module *, const void *);
extern void inter_module_unregister_R7a9e845e(const char *);
extern const void *inter_module_get_Rf6a0ce24(const char *);
extern const void *inter_module_get_request_Rb69f826b(const char *, const char *);
extern void inter_module_put_R6b99f7d8(const char *);

struct inter_module_entry {
        struct list_head list;
        const char *im_name;
        struct module *owner;
        const void *userdata;
};

extern int try_inc_mod_count_Re6105b23(struct module *mod);
# 292 "/usr/src/linux-2.4.12-ac2/include/linux/module.h"
extern struct module __this_module;






# 1 "/usr/src/linux-2.4.12-ac2/include/linux/version.h" 1
# 300 "/usr/src/linux-2.4.12-ac2/include/linux/module.h" 2
static const char __module_kernel_version[] __attribute__((section(".modinfo"))) =
"kernel_version=" "2.4.12-ac3";

static const char __module_using_checksums[] __attribute__((section(".modinfo"))) =
"using_checksums=1";
# 14 "capi.c" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/errno.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/errno.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/errno.h" 2
# 15 "capi.c" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h"
# 1 "/usr/local/gcc-3.0/lib/gcc-lib/i686-pc-linux-gnu/3.0.2/include/stdarg.h" 1 3
# 43 "/usr/local/gcc-3.0/lib/gcc-lib/i686-pc-linux-gnu/3.0.2/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 110 "/usr/local/gcc-3.0/lib/gcc-lib/i686-pc-linux-gnu/3.0.2/include/stdarg.h" 3
typedef __gnuc_va_list va_list;
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/linkage.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/linkage.h" 2
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/stddef.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1




# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 2


# 1 "/usr/src/linux-2.4.12-ac2/include/linux/posix_types.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/stddef.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/posix_types.h" 2
# 36 "/usr/src/linux-2.4.12-ac2/include/linux/posix_types.h"
typedef struct {
        unsigned long fds_bits [(1024/(8 * sizeof(unsigned long)))];
} __kernel_fd_set;


typedef void (*__kernel_sighandler_t)(int);


typedef int __kernel_key_t;

# 1 "/usr/src/linux-2.4.12-ac2/include/asm/posix_types.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/asm/posix_types.h"
typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
typedef long __kernel_off_t;
typedef int __kernel_pid_t;
typedef unsigned short __kernel_ipc_pid_t;
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
typedef unsigned int __kernel_size_t;
typedef int __kernel_ssize_t;
typedef int __kernel_ptrdiff_t;
typedef long __kernel_time_t;
typedef long __kernel_suseconds_t;
typedef long __kernel_clock_t;
typedef int __kernel_daddr_t;
typedef char * __kernel_caddr_t;
typedef unsigned short __kernel_uid16_t;
typedef unsigned short __kernel_gid16_t;
typedef unsigned int __kernel_uid32_t;
typedef unsigned int __kernel_gid32_t;

typedef unsigned short __kernel_old_uid_t;
typedef unsigned short __kernel_old_gid_t;


typedef long long __kernel_loff_t;


typedef struct {

        int val[2];



} __kernel_fsid_t;
# 47 "/usr/src/linux-2.4.12-ac2/include/linux/posix_types.h" 2
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/types.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 2



typedef __kernel_fd_set fd_set;
typedef __kernel_dev_t dev_t;
typedef __kernel_ino_t ino_t;
typedef __kernel_mode_t mode_t;
typedef __kernel_nlink_t nlink_t;
typedef __kernel_off_t off_t;
typedef __kernel_pid_t pid_t;
typedef __kernel_daddr_t daddr_t;
typedef __kernel_key_t key_t;
typedef __kernel_suseconds_t suseconds_t;


typedef __kernel_uid32_t uid_t;
typedef __kernel_gid32_t gid_t;
typedef __kernel_uid16_t uid16_t;
typedef __kernel_gid16_t gid16_t;



typedef __kernel_old_uid_t old_uid_t;
typedef __kernel_old_gid_t old_gid_t;
# 45 "/usr/src/linux-2.4.12-ac2/include/linux/types.h"
typedef __kernel_loff_t loff_t;
# 54 "/usr/src/linux-2.4.12-ac2/include/linux/types.h"
typedef __kernel_size_t size_t;




typedef __kernel_ssize_t ssize_t;




typedef __kernel_ptrdiff_t ptrdiff_t;




typedef __kernel_time_t time_t;




typedef __kernel_clock_t clock_t;




typedef __kernel_caddr_t caddr_t;



typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;


typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;




typedef __u8 u_int8_t;
typedef __s8 int8_t;
typedef __u16 u_int16_t;
typedef __s16 int16_t;
typedef __u32 u_int32_t;
typedef __s32 int32_t;



typedef __u8 uint8_t;
typedef __u16 uint16_t;
typedef __u32 uint32_t;


typedef __u64 uint64_t;
typedef __u64 u_int64_t;
typedef __s64 int64_t;
# 123 "/usr/src/linux-2.4.12-ac2/include/linux/types.h"
struct ustat {
        __kernel_daddr_t f_tfree;
        __kernel_ino_t f_tinode;
        char f_fname[6];
        char f_fpack[6];
};
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 2
# 49 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h"
struct completion;

extern struct notifier_block *panic_notifier_list;
           void panic_R01075bf0(const char * fmt, ...)
        __attribute__ ((noreturn, format (printf, 1, 2)));
           void do_exit(long error_code)
        __attribute__((noreturn));
           void complete_and_exit_R95deffb7(struct completion *, long)
        __attribute__((noreturn));
extern int abs(int);
extern unsigned long simple_strtoul_R20000329(const char *,char **,unsigned int);
extern long simple_strtol_R0b742fd7(const char *,char **,unsigned int);
extern unsigned long long simple_strtoull_R61b7b126(const char *,char **,unsigned int);
extern long long simple_strtoll(const char *,char **,unsigned int);
extern int sprintf_R3c2c5af5(char * buf, const char * fmt, ...);
extern int vsprintf_R954cbb26(char *buf, const char *, va_list);
extern int snprintf_R701d0ebd(char * buf, size_t size, const char *fmt, ...);
extern int vsnprintf_R57a6504e(char *buf, size_t size, const char *fmt, va_list args);

extern int sscanf_R859204af(const char *, const char *, ...)
        __attribute__ ((format (scanf,2,3)));
extern int vsscanf_Rb5044271(const char *, const char *, va_list);

extern int get_option_Rb0e10781(char **str, int *pint);
extern char *get_options_R0fbff9b9(char *str, int nints, int *ints);
extern unsigned long long memparse_R23f2d36f(char *ptr, char **retptr);
extern void dev_probe_lock(void);
extern void dev_probe_unlock(void);

extern int session_of_pgrp(int pgrp);

 __attribute__((regparm(0))) int printk_R1b7d4074(const char * fmt, ...)
        __attribute__ ((format (printf, 1, 2)));

extern int console_loglevel;

static inline void console_silent(void)
{
        console_loglevel = 0;
}

static inline void console_verbose(void)
{
        if (console_loglevel)
                console_loglevel = 15;
}

extern void bust_spinlocks(int yes);
extern int oops_in_progress;

extern int tainted;
extern const char *print_tainted(void);
# 160 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h"
struct sysinfo {
        long uptime;
        unsigned long loads[3];
        unsigned long totalram;
        unsigned long freeram;
        unsigned long sharedram;
        unsigned long bufferram;
        unsigned long totalswap;
        unsigned long freeswap;
        unsigned short procs;
        unsigned short pad;
        unsigned long totalhigh;
        unsigned long freehigh;
        unsigned int mem_unit;
        char _f[20-2*sizeof(long)-sizeof(int)];
};
# 16 "capi.c" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/major.h" 1
# 177 "/usr/src/linux-2.4.12-ac2/include/linux/major.h"
static __inline__ int scsi_blk_major(int m) {
        return (((m) == 8 || ((m) >= 65 && (m) <= 71)) || (m) == 11);
}
# 190 "/usr/src/linux-2.4.12-ac2/include/linux/major.h"
static __inline__ int ide_blk_major(int m)
{
        return ((m) == 3 || (m) == 22 || (m) == 33 || (m) == 34 || (m) == 56 || (m) == 57 || (m) == 88 || (m) == 89 || (m) == 90 || (m) == 91);
}
# 17 "capi.c" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/param.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2

extern unsigned long event_R7b16c344;

# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/binfmts.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ptrace.h" 1
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/ptrace.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/ptrace.h" 1
# 26 "/usr/src/linux-2.4.12-ac2/include/asm/ptrace.h"
struct pt_regs {
        long ebx;
        long ecx;
        long edx;
        long esi;
        long edi;
        long ebp;
        long eax;
        int xds;
        int xes;
        long orig_eax;
        long eip;
        int xcs;
        long eflags;
        long esp;
        int xss;
};
# 60 "/usr/src/linux-2.4.12-ac2/include/asm/ptrace.h"
extern void show_regs(struct pt_regs *);
extern void show_registers(struct pt_regs *regs);
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/ptrace.h" 2
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/binfmts.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/linkage.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/limits.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/stddef.h" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 2

# 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 1
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 2
# 31 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h"
struct __wait_queue {
        unsigned int flags;

        struct task_struct * task;
        struct list_head task_list;




};
typedef struct __wait_queue wait_queue_t;
# 77 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h"
struct __wait_queue_head {
        spinlock_t lock;
        struct list_head task_list;




};
typedef struct __wait_queue_head wait_queue_head_t;
# 155 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h"
static inline void init_waitqueue_head(wait_queue_head_t *q)
{




        q->lock = (spinlock_t) { };
        do { (&q->task_list)->next = (&q->task_list); (&q->task_list)->prev = (&q->task_list); } while (0);




}

static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct *p)
{




        q->flags = 0;
        q->task = p;



}

static inline int waitqueue_active(wait_queue_head_t *q)
{






        return !list_empty(&q->task_list);
}

static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t *new)
{
# 203 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h"
        list_add(&new->task_list, &head->task_list);
}




static inline void __add_wait_queue_tail(wait_queue_head_t *head,
                                                wait_queue_t *new)
{
# 220 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h"
        list_add_tail(&new->task_list, &head->task_list);
}

static inline void __remove_wait_queue(wait_queue_head_t *head,
                                                        wait_queue_t *old)
{





        list_del(&old->task_list);
}
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/vfs.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/statfs.h" 1





# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 7 "/usr/src/linux-2.4.12-ac2/include/asm/statfs.h" 2

typedef __kernel_fsid_t fsid_t;



struct statfs {
        long f_type;
        long f_bsize;
        long f_blocks;
        long f_bfree;
        long f_bavail;
        long f_files;
        long f_ffree;
        __kernel_fsid_t f_fsid;
        long f_namelen;
        long f_spare[6];
};
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/vfs.h" 2
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/net.h" 1
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/net.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/net.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/socket.h" 1





# 1 "/usr/src/linux-2.4.12-ac2/include/asm/socket.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/sockios.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/socket.h" 2
# 7 "/usr/src/linux-2.4.12-ac2/include/linux/socket.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/sockios.h" 1
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/sockios.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/sockios.h" 1
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/sockios.h" 2
# 8 "/usr/src/linux-2.4.12-ac2/include/linux/socket.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/uio.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/uio.h" 2
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/uio.h"
struct iovec
{
        void *iov_base;
        __kernel_size_t iov_len;
};
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/socket.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/socket.h" 2

typedef unsigned short sa_family_t;





struct sockaddr {
        sa_family_t sa_family;
        char sa_data[14];
};

struct linger {
        int l_onoff;
        int l_linger;
};







struct msghdr {
        void * msg_name;
        int msg_namelen;
        struct iovec * msg_iov;
        __kernel_size_t msg_iovlen;
        void * msg_control;
        __kernel_size_t msg_controllen;
        unsigned msg_flags;
};







struct cmsghdr {
        __kernel_size_t cmsg_len;
        int cmsg_level;
        int cmsg_type;
};
# 102 "/usr/src/linux-2.4.12-ac2/include/linux/socket.h"
static inline struct cmsghdr * __cmsg_nxthdr(void *__ctl, __kernel_size_t __size,
                                               struct cmsghdr *__cmsg)
{
        struct cmsghdr * __ptr;

        __ptr = (struct cmsghdr*)(((unsigned char *) __cmsg) + ( ((__cmsg->cmsg_len)+sizeof(long)-1) & ~(sizeof(long)-1) ));
        if ((unsigned long)((char*)(__ptr+1) - (char *) __ctl) > __size)
                return (struct cmsghdr *)0;

        return __ptr;
}

static inline struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__cmsg)
{
        return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);
}







struct ucred {
        __u32 pid;
        __u32 uid;
        __u32 gid;
};
# 245 "/usr/src/linux-2.4.12-ac2/include/linux/socket.h"
extern int memcpy_fromiovec_R9fb3dd30(unsigned char *kdata, struct iovec *iov, int len);
extern int memcpy_fromiovecend_R6e440b58(unsigned char *kdata, struct iovec *iov,
                                int offset, int len);
extern int csum_partial_copy_fromiovecend_R02876657(unsigned char *kdata,
                                          struct iovec *iov,
                                          int offset,
                                          unsigned int len, int *csump);

extern int verify_iovec(struct msghdr *m, struct iovec *iov, char *address, int mode);
extern int memcpy_toiovec_R9ceb163c(struct iovec *v, unsigned char *kdata, int len);
extern void memcpy_tokerneliovec_Rc125e088(struct iovec *iov, unsigned char *kdata, int len);
extern int move_addr_to_user(void *kaddr, int klen, void *uaddr, int *ulen);
extern int move_addr_to_kernel(void *uaddr, int ulen, void *kaddr);
extern int put_cmsg_Rf39bf4d9(struct msghdr*, int level, int type, int len, void *data);
# 23 "/usr/src/linux-2.4.12-ac2/include/linux/net.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/net.h" 2

struct poll_table_struct;
# 49 "/usr/src/linux-2.4.12-ac2/include/linux/net.h"
typedef enum {
  SS_FREE = 0,
  SS_UNCONNECTED,
  SS_CONNECTING,
  SS_CONNECTED,
  SS_DISCONNECTING
} socket_state;
# 65 "/usr/src/linux-2.4.12-ac2/include/linux/net.h"
struct socket
{
        socket_state state;

        unsigned long flags;
        struct proto_ops *ops;
        struct inode *inode;
        struct fasync_struct *fasync_list;
        struct file *file;
        struct sock *sk;
        wait_queue_head_t wait;

        short type;
        unsigned char passcred;
};



struct scm_cookie;
struct vm_area_struct;
struct page;

struct proto_ops {
  int family;

  int (*release) (struct socket *sock);
  int (*bind) (struct socket *sock, struct sockaddr *umyaddr,
                         int sockaddr_len);
  int (*connect) (struct socket *sock, struct sockaddr *uservaddr,
                         int sockaddr_len, int flags);
  int (*socketpair) (struct socket *sock1, struct socket *sock2);
  int (*accept) (struct socket *sock, struct socket *newsock,
                         int flags);
  int (*getname_R7c60d66e) (struct socket *sock, struct sockaddr *uaddr,
                         int *usockaddr_len, int peer);
  unsigned int (*poll) (struct file *file, struct socket *sock, struct poll_table_struct *wait);
  int (*ioctl) (struct socket *sock, unsigned int cmd,
                         unsigned long arg);
  int (*listen) (struct socket *sock, int len);
  int (*shutdown) (struct socket *sock, int flags);
  int (*setsockopt) (struct socket *sock, int level, int optname,
                         char *optval, int optlen);
  int (*getsockopt) (struct socket *sock, int level, int optname,
                         char *optval, int *optlen);
  int (*sendmsg) (struct socket *sock, struct msghdr *m, int total_len, struct scm_cookie *scm);
  int (*recvmsg) (struct socket *sock, struct msghdr *m, int total_len, int flags, struct scm_cookie *scm);
  int (*mmap) (struct file *file, struct socket *sock, struct vm_area_struct * vma);
  ssize_t (*sendpage) (struct socket *sock, struct page *page, int offset, size_t size, int flags);
};

struct net_proto_family
{
        int family;
        int (*create)(struct socket *sock, int protocol);


        short authentication;
        short encryption;
        short encrypt_net;
};

struct net_proto
{
        const char *name;
        void (*init_func)(struct net_proto *);
};

extern int sock_wake_async_R53f7f5c1(struct socket *sk, int how, int band);
extern int sock_register_R7edef990(struct net_proto_family *fam);
extern int sock_unregister_R2394a062(int family);
extern struct socket *sock_alloc_R25e180e7(void);
extern int sock_create_Ra689c974(int family, int type, int proto, struct socket **);
extern void sock_release_R45ee7614(struct socket *);
extern int sock_sendmsg_Rdfc56557(struct socket *, struct msghdr *m, int len);
extern int sock_recvmsg_R699949ba(struct socket *, struct msghdr *m, int len, int flags);
extern int sock_readv_writev(int type, struct inode * inode, struct file * file,
                                  const struct iovec * iov, long count, long size);

extern int net_ratelimit_Rf6ebc03b(void);
extern unsigned long net_random_R1c66f64c(void);
extern void net_srandom_Rff963ed8(unsigned long);
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/kdev_t.h" 1
# 67 "/usr/src/linux-2.4.12-ac2/include/linux/kdev_t.h"
typedef unsigned short kdev_t;
# 76 "/usr/src/linux-2.4.12-ac2/include/linux/kdev_t.h"
extern const char * kdevname_Rc258c906(kdev_t);






static inline unsigned int kdev_t_to_nr(kdev_t dev) {
        return (((unsigned int) ((dev) >> 8))<<8) | ((unsigned int) ((dev) & ((1U << 8) - 1)));
}

static inline kdev_t to_kdev_t(int dev)
{
        int major, minor;
# 98 "/usr/src/linux-2.4.12-ac2/include/linux/kdev_t.h"
        major = (dev >> 8);
        minor = (dev & 0xff);

        return (((major) << 8) | (minor));
}
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ioctl.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/ioctl.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/ioctl.h" 2
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h" 1





# 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
# 7 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/mount.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/mount.h"
struct vfsmount
{
        struct list_head mnt_hash;
        struct vfsmount *mnt_parent;
        struct dentry *mnt_mountpoint;
        struct dentry *mnt_root;
        struct super_block *mnt_sb;
        struct list_head mnt_mounts;
        struct list_head mnt_child;
        atomic_t mnt_count;
        int mnt_flags;
        char *mnt_devname;
        struct list_head mnt_list;
};

static inline struct vfsmount *mntget(struct vfsmount *mnt)
{
        if (mnt)
                atomic_inc(&mnt->mnt_count);
        return mnt;
}

extern void __mntput_R73b614ba(struct vfsmount *mnt);

static inline void mntput(struct vfsmount *mnt)
{
        if (mnt) {
                if (atomic_dec_and_test(&mnt->mnt_count))
                        __mntput_R73b614ba(mnt);
        }
}
# 8 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h" 2
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h"
struct qstr {
        const unsigned char * name;
        unsigned int len;
        unsigned int hash;
};

struct dentry_stat_t {
        int nr_dentry;
        int nr_unused;
        int age_limit;
        int want_pages;
        int dummy[2];
};
extern struct dentry_stat_t dentry_stat;






static __inline__ unsigned long partial_name_hash(unsigned long c, unsigned long prevhash)
{
        return (prevhash + (c << 4) + (c >> 4)) * 11;
}


static __inline__ unsigned long end_name_hash(unsigned long hash)
{
        return (unsigned int) hash;
}


static __inline__ unsigned int full_name_hash(const unsigned char * name, unsigned int len)
{
        unsigned long hash = 0;
        while (len--)
                hash = partial_name_hash(*name++, hash);
        return end_name_hash(hash);
}



struct dentry {
        atomic_t d_count;
        unsigned int d_flags;
        struct inode * d_inode;
        struct dentry * d_parent;
        struct list_head d_hash;
        struct list_head d_lru;
        struct list_head d_child;
        struct list_head d_subdirs;
        struct list_head d_alias;
        int d_mounted;
        struct qstr d_name;
        unsigned long d_time;
        struct dentry_operations *d_op;
        struct super_block * d_sb;
        unsigned long d_vfs_flags;
        void * d_fsdata;
        unsigned char d_iname[16];
};

struct dentry_operations {
        int (*d_revalidate)(struct dentry *, int);
        int (*d_hash) (struct dentry *, struct qstr *);
        int (*d_compare) (struct dentry *, struct qstr *, struct qstr *);
        int (*d_delete_R64a26b23)(struct dentry *);
        void (*d_release)(struct dentry *);
        void (*d_iput)(struct dentry *, struct inode *);
};
# 127 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h"
extern spinlock_t dcache_lock_R73463cef;
# 146 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h"
static __inline__ void d_drop(struct dentry * dentry)
{
        (void)(&dcache_lock_R73463cef);
        list_del(&dentry->d_hash);
        do { (&dentry->d_hash)->next = (&dentry->d_hash); (&dentry->d_hash)->prev = (&dentry->d_hash); } while (0);
        do { } while(0);
}

static __inline__ int dname_external(struct dentry *d)
{
        return d->d_name.name != d->d_iname;
}




extern void d_instantiate_R73e277f2(struct dentry *, struct inode *);
extern void d_delete_R64a26b23(struct dentry *);


extern struct dentry * d_alloc_R2631e908(struct dentry *, const struct qstr *);
extern void shrink_dcache_sb_R8a21af2a(struct super_block *);
extern void shrink_dcache_parent_R01616a86(struct dentry *);
extern int d_invalidate_R3fcc4178(struct dentry *);


struct zone_struct;

extern void shrink_dcache_memory(int, unsigned int);
extern void prune_dcache_R6cf28f77(int);


extern void shrink_icache_memory(int, int);
extern void prune_icache(int);


extern void shrink_dqcache_memory(int, unsigned int);


extern struct dentry * d_alloc_root_R1a27c0bf(struct inode *);


extern void d_genocide(struct dentry *);

extern struct dentry *d_find_alias_R4e068c78(struct inode *);
extern void d_prune_aliases_R2851d3b9(struct inode *);


extern int have_submounts_Ra25b463a(struct dentry *);




extern void d_rehash_Recf0ff70(struct dentry *);
# 210 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h"
static __inline__ void d_add(struct dentry * entry, struct inode * inode)
{
        d_instantiate_R73e277f2(entry, inode);
        d_rehash_Recf0ff70(entry);
}


extern void d_move_R8d69d412(struct dentry *, struct dentry *);


extern struct dentry * d_lookup_Rf011e850(struct dentry *, struct qstr *);


extern int d_validate_R011baf67(struct dentry *, struct dentry *);

extern char * __d_path_R6e7576c0(struct dentry *, struct vfsmount *, struct dentry *,
        struct vfsmount *, char *, int);
# 243 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h"
static __inline__ struct dentry * dget(struct dentry *dentry)
{
        if (dentry) {
                if (!((&dentry->d_count)->counter))
                        do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/dcache.h", 247); __asm__ __volatile__("ud2"); } while (0);
                atomic_inc(&dentry->d_count);
        }
        return dentry;
}

extern struct dentry * dget_locked_R2a81bc7d(struct dentry *);
# 262 "/usr/src/linux-2.4.12-ac2/include/linux/dcache.h"
static __inline__ int d_unhashed(struct dentry *dentry)
{
        return list_empty(&dentry->d_hash);
}

extern void dput_R343a12f6(struct dentry *);

static __inline__ int d_mountpoint(struct dentry *dentry)
{
        return dentry->d_mounted;
}

extern struct vfsmount *lookup_mnt_R23ae3450(struct vfsmount *, struct dentry *);
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/stat.h" 1





# 1 "/usr/src/linux-2.4.12-ac2/include/asm/stat.h" 1



struct __old_kernel_stat {
        unsigned short st_dev;
        unsigned short st_ino;
        unsigned short st_mode;
        unsigned short st_nlink;
        unsigned short st_uid;
        unsigned short st_gid;
        unsigned short st_rdev;
        unsigned long st_size;
        unsigned long st_atime;
        unsigned long st_mtime;
        unsigned long st_ctime;
};

struct stat {
        unsigned short st_dev;
        unsigned short __pad1;
        unsigned long st_ino;
        unsigned short st_mode;
        unsigned short st_nlink;
        unsigned short st_uid;
        unsigned short st_gid;
        unsigned short st_rdev;
        unsigned short __pad2;
        unsigned long st_size;
        unsigned long st_blksize;
        unsigned long st_blocks;
        unsigned long st_atime;
        unsigned long __unused1;
        unsigned long st_mtime;
        unsigned long __unused2;
        unsigned long st_ctime;
        unsigned long __unused3;
        unsigned long __unused4;
        unsigned long __unused5;
};




struct stat64 {
        unsigned short st_dev;
        unsigned char __pad0[10];


        unsigned long __st_ino;

        unsigned int st_mode;
        unsigned int st_nlink;

        unsigned long st_uid;
        unsigned long st_gid;

        unsigned short st_rdev;
        unsigned char __pad3[10];

        long long st_size;
        unsigned long st_blksize;

        unsigned long st_blocks;
        unsigned long __pad4;

        unsigned long st_atime;
        unsigned long __pad5;

        unsigned long st_mtime;
        unsigned long __pad6;

        unsigned long st_ctime;
        unsigned long __pad7;

        unsigned long long st_ino;
};
# 7 "/usr/src/linux-2.4.12-ac2/include/linux/stat.h" 2
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 1
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/stddef.h" 1
# 23 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 1







# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/stddef.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 2





extern char * ___strtok_R29805c13;
extern char * strpbrk_R9a1dfd65(const char *,const char *);
extern char * strtok_Ree9c1bd4(char *,const char *);
extern char * strsep_R85df9b6c(char **,const char *);
extern __kernel_size_t strspn_Rc7ec6c27(const char *,const char *);





# 1 "/usr/src/linux-2.4.12-ac2/include/asm/string.h" 1




# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 6 "/usr/src/linux-2.4.12-ac2/include/asm/string.h" 2
# 33 "/usr/src/linux-2.4.12-ac2/include/asm/string.h"
static inline char * strcpy(char * dest,const char *src)
{
int d0, d1, d2;
__asm__ __volatile__(
        "1:\tlodsb\n\t"
        "stosb\n\t"
        "testb %%al,%%al\n\t"
        "jne 1b"
        : "=&S" (d0), "=&D" (d1), "=&a" (d2)
        :"0" (src),"1" (dest) : "memory");
return dest;
}


static inline char * strncpy(char * dest,const char *src,size_t count)
{
int d0, d1, d2, d3;
__asm__ __volatile__(
        "1:\tdecl %2\n\t"
        "js 2f\n\t"
        "lodsb\n\t"
        "stosb\n\t"
        "testb %%al,%%al\n\t"
        "jne 1b\n\t"
        "rep\n\t"
        "stosb\n"
        "2:"
        : "=&S" (d0), "=&D" (d1), "=&c" (d2), "=&a" (d3)
        :"0" (src),"1" (dest),"2" (count) : "memory");
return dest;
}


static inline char * strcat(char * dest,const char * src)
{
int d0, d1, d2, d3;
__asm__ __volatile__(
        "repne\n\t"
        "scasb\n\t"
        "decl %1\n"
        "1:\tlodsb\n\t"
        "stosb\n\t"
        "testb %%al,%%al\n\t"
        "jne 1b"
        : "=&S" (d0), "=&D" (d1), "=&a" (d2), "=&c" (d3)
        : "0" (src), "1" (dest), "2" (0), "3" (0xffffffff):"memory");
return dest;
}


static inline char * strncat(char * dest,const char * src,size_t count)
{
int d0, d1, d2, d3;
__asm__ __volatile__(
        "repne\n\t"
        "scasb\n\t"
        "decl %1\n\t"
        "movl %8,%3\n"
        "1:\tdecl %3\n\t"
        "js 2f\n\t"
        "lodsb\n\t"
        "stosb\n\t"
        "testb %%al,%%al\n\t"
        "jne 1b\n"
        "2:\txorl %2,%2\n\t"
        "stosb"
        : "=&S" (d0), "=&D" (d1), "=&a" (d2), "=&c" (d3)
        : "0" (src),"1" (dest),"2" (0),"3" (0xffffffff), "g" (count)
        : "memory");
return dest;
}


static inline int strcmp(const char * cs,const char * ct)
{
int d0, d1;
register int __res;
__asm__ __volatile__(
        "1:\tlodsb\n\t"
        "scasb\n\t"
        "jne 2f\n\t"
        "testb %%al,%%al\n\t"
        "jne 1b\n\t"
        "xorl %%eax,%%eax\n\t"
        "jmp 3f\n"
        "2:\tsbbl %%eax,%%eax\n\t"
        "orb $1,%%al\n"
        "3:"
        :"=a" (__res), "=&S" (d0), "=&D" (d1)
                     :"1" (cs),"2" (ct));
return __res;
}


static inline int strncmp(const char * cs,const char * ct,size_t count)
{
register int __res;
int d0, d1, d2;
__asm__ __volatile__(
        "1:\tdecl %3\n\t"
        "js 2f\n\t"
        "lodsb\n\t"
        "scasb\n\t"
        "jne 3f\n\t"
        "testb %%al,%%al\n\t"
        "jne 1b\n"
        "2:\txorl %%eax,%%eax\n\t"
        "jmp 4f\n"
        "3:\tsbbl %%eax,%%eax\n\t"
        "orb $1,%%al\n"
        "4:"
                     :"=a" (__res), "=&S" (d0), "=&D" (d1), "=&c" (d2)
                     :"1" (cs),"2" (ct),"3" (count));
return __res;
}


static inline char * strchr(const char * s, int c)
{
int d0;
register char * __res;
__asm__ __volatile__(
        "movb %%al,%%ah\n"
        "1:\tlodsb\n\t"
        "cmpb %%ah,%%al\n\t"
        "je 2f\n\t"
        "testb %%al,%%al\n\t"
        "jne 1b\n\t"
        "movl $1,%1\n"
        "2:\tmovl %1,%0\n\t"
        "decl %0"
        :"=a" (__res), "=&S" (d0) : "1" (s),"0" (c));
return __res;
}


static inline char * strrchr(const char * s, int c)
{
int d0, d1;
register char * __res;
__asm__ __volatile__(
        "movb %%al,%%ah\n"
        "1:\tlodsb\n\t"
        "cmpb %%ah,%%al\n\t"
        "jne 2f\n\t"
        "leal -1(%%esi),%0\n"
        "2:\ttestb %%al,%%al\n\t"
        "jne 1b"
        :"=g" (__res), "=&S" (d0), "=&a" (d1) :"0" (0),"1" (s),"2" (c));
return __res;
}


static inline size_t strlen(const char * s)
{
int d0;
register int __res;
__asm__ __volatile__(
        "repne\n\t"
        "scasb\n\t"
        "notl %0\n\t"
        "decl %0"
        :"=c" (__res), "=&D" (d0) :"1" (s),"a" (0), "0" (0xffffffff));
return __res;
}

static inline void * __memcpy(void * to, const void * from, size_t n)
{
int d0, d1, d2;
__asm__ __volatile__(
        "rep ; movsl\n\t"
        "testb $2,%b4\n\t"
        "je 1f\n\t"
        "movsw\n"
        "1:\ttestb $1,%b4\n\t"
        "je 2f\n\t"
        "movsb\n"
        "2:"
        : "=&c" (d0), "=&D" (d1), "=&S" (d2)
        :"0" (n/4), "q" (n),"1" ((long) to),"2" ((long) from)
        : "memory");
return (to);
}





static inline void * __constant_memcpy(void * to, const void * from, size_t n)
{
        switch (n) {
                case 0:
                        return to;
                case 1:
                        *(unsigned char *)to = *(const unsigned char *)from;
                        return to;
                case 2:
                        *(unsigned short *)to = *(const unsigned short *)from;
                        return to;
                case 3:
                        *(unsigned short *)to = *(const unsigned short *)from;
                        *(2+(unsigned char *)to) = *(2+(const unsigned char *)from);
                        return to;
                case 4:
                        *(unsigned long *)to = *(const unsigned long *)from;
                        return to;
                case 6:
                        *(unsigned long *)to = *(const unsigned long *)from;
                        *(2+(unsigned short *)to) = *(2+(const unsigned short *)from);
                        return to;
                case 8:
                        *(unsigned long *)to = *(const unsigned long *)from;
                        *(1+(unsigned long *)to) = *(1+(const unsigned long *)from);
                        return to;
                case 12:
                        *(unsigned long *)to = *(const unsigned long *)from;
                        *(1+(unsigned long *)to) = *(1+(const unsigned long *)from);
                        *(2+(unsigned long *)to) = *(2+(const unsigned long *)from);
                        return to;
                case 16:
                        *(unsigned long *)to = *(const unsigned long *)from;
                        *(1+(unsigned long *)to) = *(1+(const unsigned long *)from);
                        *(2+(unsigned long *)to) = *(2+(const unsigned long *)from);
                        *(3+(unsigned long *)to) = *(3+(const unsigned long *)from);
                        return to;
                case 20:
                        *(unsigned long *)to = *(const unsigned long *)from;
                        *(1+(unsigned long *)to) = *(1+(const unsigned long *)from);
                        *(2+(unsigned long *)to) = *(2+(const unsigned long *)from);
                        *(3+(unsigned long *)to) = *(3+(const unsigned long *)from);
                        *(4+(unsigned long *)to) = *(4+(const unsigned long *)from);
                        return to;
        }







{
        int d0, d1, d2;
        switch (n % 4) {
                case 0: __asm__ __volatile__( "rep ; movsl" "" : "=&c" (d0), "=&D" (d1), "=&S" (d2) : "0" (n/4),"1" ((long) to),"2" ((long) from) : "memory");; return to;
                case 1: __asm__ __volatile__( "rep ; movsl" "\n\tmovsb" : "=&c" (d0), "=&D" (d1), "=&S" (d2) : "0" (n/4),"1" ((long) to),"2" ((long) from) : "memory");; return to;
                case 2: __asm__ __volatile__( "rep ; movsl" "\n\tmovsw" : "=&c" (d0), "=&D" (d1), "=&S" (d2) : "0" (n/4),"1" ((long) to),"2" ((long) from) : "memory");; return to;
                default: __asm__ __volatile__( "rep ; movsl" "\n\tmovsw\n\tmovsb" : "=&c" (d0), "=&D" (d1), "=&S" (d2) : "0" (n/4),"1" ((long) to),"2" ((long) from) : "memory");; return to;
        }
}


}
# 335 "/usr/src/linux-2.4.12-ac2/include/asm/string.h"
extern void __struct_cpy_bug (void);
# 345 "/usr/src/linux-2.4.12-ac2/include/asm/string.h"
static inline void * memmove(void * dest,const void * src, size_t n)
{
int d0, d1, d2;
if (dest<src)
__asm__ __volatile__(
        "rep\n\t"
        "movsb"
        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
        :"0" (n),"1" (src),"2" (dest)
        : "memory");
else
__asm__ __volatile__(
        "std\n\t"
        "rep\n\t"
        "movsb\n\t"
        "cld"
        : "=&c" (d0), "=&S" (d1), "=&D" (d2)
        :"0" (n),
         "1" (n-1+(const char *)src),
         "2" (n-1+(char *)dest)
        :"memory");
return dest;
}




static inline void * memchr(const void * cs,int c,size_t count)
{
int d0;
register void * __res;
if (!count)
        return ((void *)0);
__asm__ __volatile__(
        "repne\n\t"
        "scasb\n\t"
        "je 1f\n\t"
        "movl $1,%0\n"
        "1:\tdecl %0"
        :"=D" (__res), "=&c" (d0) : "a" (c),"0" (cs),"1" (count));
return __res;
}

static inline void * __memset_generic(void * s, char c,size_t count)
{
int d0, d1;
__asm__ __volatile__(
        "rep\n\t"
        "stosb"
        : "=&c" (d0), "=&D" (d1)
        :"a" (c),"1" (s),"0" (count)
        :"memory");
return s;
}
# 408 "/usr/src/linux-2.4.12-ac2/include/asm/string.h"
static inline void * __constant_c_memset(void * s, unsigned long c, size_t count)
{
int d0, d1;
__asm__ __volatile__(
        "rep ; stosl\n\t"
        "testb $2,%b3\n\t"
        "je 1f\n\t"
        "stosw\n"
        "1:\ttestb $1,%b3\n\t"
        "je 2f\n\t"
        "stosb\n"
        "2:"
        : "=&c" (d0), "=&D" (d1)
        :"a" (c), "q" (count), "0" (count/4), "1" ((long) s)
        :"memory");
return (s);
}



static inline size_t strnlen(const char * s, size_t count)
{
int d0;
register int __res;
__asm__ __volatile__(
        "movl %2,%0\n\t"
        "jmp 2f\n"
        "1:\tcmpb $0,(%0)\n\t"
        "je 3f\n\t"
        "incl %0\n"
        "2:\tdecl %1\n\t"
        "cmpl $-1,%1\n\t"
        "jne 1b\n"
        "3:\tsubl %2,%0"
        :"=a" (__res), "=&d" (d0)
        :"c" (s),"1" (count));
return __res;
}




extern char *strstr_R1e6d26a8(const char *cs, const char *ct);





static inline void * __constant_c_and_count_memset(void * s, unsigned long pattern, size_t count)
{
        switch (count) {
                case 0:
                        return s;
                case 1:
                        *(unsigned char *)s = pattern;
                        return s;
                case 2:
                        *(unsigned short *)s = pattern;
                        return s;
                case 3:
                        *(unsigned short *)s = pattern;
                        *(2+(unsigned char *)s) = pattern;
                        return s;
                case 4:
                        *(unsigned long *)s = pattern;
                        return s;
        }







{
        int d0, d1;
        switch (count % 4) {
                case 0: __asm__ __volatile__( "rep ; stosl" "" : "=&c" (d0), "=&D" (d1) : "a" (pattern),"0" (count/4),"1" ((long) s) : "memory"); return s;
                case 1: __asm__ __volatile__( "rep ; stosl" "\n\tstosb" : "=&c" (d0), "=&D" (d1) : "a" (pattern),"0" (count/4),"1" ((long) s) : "memory"); return s;
                case 2: __asm__ __volatile__( "rep ; stosl" "\n\tstosw" : "=&c" (d0), "=&D" (d1) : "a" (pattern),"0" (count/4),"1" ((long) s) : "memory"); return s;
                default: __asm__ __volatile__( "rep ; stosl" "\n\tstosw\n\tstosb" : "=&c" (d0), "=&D" (d1) : "a" (pattern),"0" (count/4),"1" ((long) s) : "memory"); return s;
        }
}


}
# 515 "/usr/src/linux-2.4.12-ac2/include/asm/string.h"
static inline void * memscan(void * addr, int c, size_t size)
{
        if (!size)
                return addr;
        __asm__("repnz; scasb\n\t"
                "jnz 1f\n\t"
                "dec %%edi\n"
                "1:"
                : "=D" (addr), "=c" (size)
                : "0" (addr), "1" (size), "a" (c));
        return addr;
}
# 26 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 2
# 46 "/usr/src/linux-2.4.12-ac2/include/linux/string.h"
extern int strnicmp_R4e830a3e(const char *, const char *, __kernel_size_t);
# 77 "/usr/src/linux-2.4.12-ac2/include/linux/string.h"
extern int __builtin_memcmp(const void *,const void *,__kernel_size_t);
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2

# 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
# 26 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h" 1







# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h" 2
# 36 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ void set_bit(int nr, volatile void * addr)
{
        __asm__ __volatile__( ""
                "btsl %1,%0"
                :"=m" ((*(volatile long *) addr))
                :"Ir" (nr));
}
# 53 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ void __set_bit(int nr, volatile void * addr)
{
        __asm__(
                "btsl %1,%0"
                :"=m" ((*(volatile long *) addr))
                :"Ir" (nr));
}
# 71 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ void clear_bit(int nr, volatile void * addr)
{
        __asm__ __volatile__( ""
                "btrl %1,%0"
                :"=m" ((*(volatile long *) addr))
                :"Ir" (nr));
}
# 90 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ void __change_bit(int nr, volatile void * addr)
{
        __asm__ __volatile__(
                "btcl %1,%0"
                :"=m" ((*(volatile long *) addr))
                :"Ir" (nr));
}
# 107 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ void change_bit(int nr, volatile void * addr)
{
        __asm__ __volatile__( ""
                "btcl %1,%0"
                :"=m" ((*(volatile long *) addr))
                :"Ir" (nr));
}
# 123 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int test_and_set_bit(int nr, volatile void * addr)
{
        int oldbit;

        __asm__ __volatile__( ""
                "btsl %2,%1\n\tsbbl %0,%0"
                :"=r" (oldbit),"=m" ((*(volatile long *) addr))
                :"Ir" (nr) : "memory");
        return oldbit;
}
# 143 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int __test_and_set_bit(int nr, volatile void * addr)
{
        int oldbit;

        __asm__(
                "btsl %2,%1\n\tsbbl %0,%0"
                :"=r" (oldbit),"=m" ((*(volatile long *) addr))
                :"Ir" (nr));
        return oldbit;
}
# 162 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int test_and_clear_bit(int nr, volatile void * addr)
{
        int oldbit;

        __asm__ __volatile__( ""
                "btrl %2,%1\n\tsbbl %0,%0"
                :"=r" (oldbit),"=m" ((*(volatile long *) addr))
                :"Ir" (nr) : "memory");
        return oldbit;
}
# 182 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int __test_and_clear_bit(int nr, volatile void * addr)
{
        int oldbit;

        __asm__(
                "btrl %2,%1\n\tsbbl %0,%0"
                :"=r" (oldbit),"=m" ((*(volatile long *) addr))
                :"Ir" (nr));
        return oldbit;
}


static __inline__ int __test_and_change_bit(int nr, volatile void * addr)
{
        int oldbit;

        __asm__ __volatile__(
                "btcl %2,%1\n\tsbbl %0,%0"
                :"=r" (oldbit),"=m" ((*(volatile long *) addr))
                :"Ir" (nr) : "memory");
        return oldbit;
}
# 213 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int test_and_change_bit(int nr, volatile void * addr)
{
        int oldbit;

        __asm__ __volatile__( ""
                "btcl %2,%1\n\tsbbl %0,%0"
                :"=r" (oldbit),"=m" ((*(volatile long *) addr))
                :"Ir" (nr) : "memory");
        return oldbit;
}
# 233 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int constant_test_bit(int nr, const volatile void * addr)
{
        return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0;
}

static __inline__ int variable_test_bit(int nr, volatile void * addr)
{
        int oldbit;

        __asm__ __volatile__(
                "btl %2,%1\n\tsbbl %0,%0"
                :"=r" (oldbit)
                :"m" ((*(volatile long *) addr)),"Ir" (nr));
        return oldbit;
}
# 262 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int find_first_zero_bit(void * addr, unsigned size)
{
        int d0, d1, d2;
        int res;

        if (!size)
                return 0;

        __asm__ __volatile__(
                "movl $-1,%%eax\n\t"
                "xorl %%edx,%%edx\n\t"
                "repe; scasl\n\t"
                "je 1f\n\t"
                "xorl -4(%%edi),%%eax\n\t"
                "subl $4,%%edi\n\t"
                "bsfl %%eax,%%edx\n"
                "1:\tsubl %%ebx,%%edi\n\t"
                "shll $3,%%edi\n\t"
                "addl %%edi,%%edx"
                :"=d" (res), "=&c" (d0), "=&D" (d1), "=&a" (d2)
                :"1" ((size + 31) >> 5), "2" (addr), "b" (addr));
        return res;
}







static __inline__ int find_next_zero_bit (void * addr, int size, int offset)
{
        unsigned long * p = ((unsigned long *) addr) + (offset >> 5);
        int set = 0, bit = offset & 31, res;

        if (bit) {



                __asm__("bsfl %1,%0\n\t"
                        "jne 1f\n\t"
                        "movl $32, %0\n"
                        "1:"
                        : "=r" (set)
                        : "r" (~(*p >> bit)));
                if (set < (32 - bit))
                        return set + offset;
                set = 32 - bit;
                p++;
        }



        res = find_first_zero_bit (p, size - 32 * (p - (unsigned long *) addr));
        return (offset + set + res);
}







static __inline__ unsigned long ffz(unsigned long word)
{
        __asm__("bsfl %1,%0"
                :"=r" (word)
                :"r" (~word));
        return word;
}
# 343 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h"
static __inline__ int ffs(int x)
{
        int r;

        __asm__("bsfl %1,%0\n\t"
                "jnz 1f\n\t"
                "movl $-1,%0\n"
                "1:" : "=r" (r) : "g" (x));
        return r+1;
}
# 27 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2

struct poll_table_struct;
# 50 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
struct files_stat_struct {
        int nr_files;
        int nr_free_files;
        int max_files;
};
extern struct files_stat_struct files_stat_R03cada27;

struct inodes_stat_t {
        int nr_inodes;
        int nr_unused;
        int dummy[5];
};
extern struct inodes_stat_t inodes_stat;

extern int leases_enable, dir_notify_enable, lease_break_time;
# 198 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/linkage.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 2
# 39 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
# 6 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/init.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/init.h" 2
# 131 "/usr/src/linux-2.4.12-ac2/include/linux/init.h"
typedef int (*__init_module_func_t)(void);
typedef void (*__cleanup_module_func_t)(void);
# 7 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/segment.h" 1
# 8 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/bitops.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/bitops.h"
static inline int generic_ffs(int x)
{
        int r = 1;

        if (!x)
                return 0;
        if (!(x & 0xffff)) {
                x >>= 16;
                r += 16;
        }
        if (!(x & 0xff)) {
                x >>= 8;
                r += 8;
        }
        if (!(x & 0xf)) {
                x >>= 4;
                r += 4;
        }
        if (!(x & 3)) {
                x >>= 2;
                r += 2;
        }
        if (!(x & 1)) {
                x >>= 1;
                r += 1;
        }
        return r;
}






static inline unsigned int generic_hweight32(unsigned int w)
{
        unsigned int res = (w & 0x55555555) + ((w >> 1) & 0x55555555);
        res = (res & 0x33333333) + ((res >> 2) & 0x33333333);
        res = (res & 0x0F0F0F0F) + ((res >> 4) & 0x0F0F0F0F);
        res = (res & 0x00FF00FF) + ((res >> 8) & 0x00FF00FF);
        return (res & 0x0000FFFF) + ((res >> 16) & 0x0000FFFF);
}

static inline unsigned int generic_hweight16(unsigned int w)
{
        unsigned int res = (w & 0x5555) + ((w >> 1) & 0x5555);
        res = (res & 0x3333) + ((res >> 2) & 0x3333);
        res = (res & 0x0F0F) + ((res >> 4) & 0x0F0F);
        return (res & 0x00FF) + ((res >> 8) & 0x00FF);
}

static inline unsigned int generic_hweight8(unsigned int w)
{
        unsigned int res = (w & 0x55) + ((w >> 1) & 0x55);
        res = (res & 0x33) + ((res >> 2) & 0x33);
        return (res & 0x0F) + ((res >> 4) & 0x0F);
}

# 1 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h" 1
# 70 "/usr/src/linux-2.4.12-ac2/include/linux/bitops.h" 2
# 9 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 2



struct task_struct;
extern void __switch_to(struct task_struct *prev, struct task_struct *next) __attribute__((regparm(3)));
# 64 "/usr/src/linux-2.4.12-ac2/include/asm/system.h"
static inline unsigned long _get_base(char * addr)
{
        unsigned long __base;
        __asm__("movb %3,%%dh\n\t"
                "movb %2,%%dl\n\t"
                "shll $16,%%edx\n\t"
                "movw %1,%%dx"
                :"=&d" (__base)
                :"m" (*((addr)+2)),
                 "m" (*((addr)+4)),
                 "m" (*((addr)+7)));
        return __base;
}
# 131 "/usr/src/linux-2.4.12-ac2/include/asm/system.h"
static inline unsigned long get_limit(unsigned long segment)
{
        unsigned long __limit;
        __asm__("lsll %1,%0"
                :"=r" (__limit):"r" (segment));
        return __limit+1;
}







struct __xchg_dummy { unsigned long a[100]; };
# 158 "/usr/src/linux-2.4.12-ac2/include/asm/system.h"
static inline void __set_64bit (unsigned long long * ptr,
                unsigned int low, unsigned int high)
{
        __asm__ __volatile__ (
                "\n1:\t"
                "movl (%0), %%eax\n\t"
                "movl 4(%0), %%edx\n\t"
                "cmpxchg8b (%0)\n\t"
                "jnz 1b"
                :
                : "D"(ptr),
                        "b"(low),
                        "c"(high)
                : "ax","dx","memory");
}

static inline void __set_64bit_constant (unsigned long long *ptr,
                                                 unsigned long long value)
{
        __set_64bit(ptr,(unsigned int)(value), (unsigned int)((value)>>32ULL));
}



static inline void __set_64bit_var (unsigned long long *ptr,
                         unsigned long long value)
{
        __set_64bit(ptr,*(((unsigned int*)&(value))+0), *(((unsigned int*)&(value))+1));
}
# 203 "/usr/src/linux-2.4.12-ac2/include/asm/system.h"
static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int size)
{
        switch (size) {
                case 1:
                        __asm__ __volatile__("xchgb %b0,%1"
                                :"=q" (x)
                                :"m" (*((struct __xchg_dummy *)(ptr))), "0" (x)
                                :"memory");
                        break;
                case 2:
                        __asm__ __volatile__("xchgw %w0,%1"
                                :"=r" (x)
                                :"m" (*((struct __xchg_dummy *)(ptr))), "0" (x)
                                :"memory");
                        break;
                case 4:
                        __asm__ __volatile__("xchgl %0,%1"
                                :"=r" (x)
                                :"m" (*((struct __xchg_dummy *)(ptr))), "0" (x)
                                :"memory");
                        break;
        }
        return x;
}
# 237 "/usr/src/linux-2.4.12-ac2/include/asm/system.h"
static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
                                      unsigned long new, int size)
{
        unsigned long prev;
        switch (size) {
        case 1:
                __asm__ __volatile__("" "cmpxchgb %b1,%2"
                                     : "=a"(prev)
                                     : "q"(new), "m"(*((struct __xchg_dummy *)(ptr))), "0"(old)
                                     : "memory");
                return prev;
        case 2:
                __asm__ __volatile__("" "cmpxchgw %w1,%2"
                                     : "=a"(prev)
                                     : "q"(new), "m"(*((struct __xchg_dummy *)(ptr))), "0"(old)
                                     : "memory");
                return prev;
        case 4:
                __asm__ __volatile__("" "cmpxchgl %1,%2"
                                     : "=a"(prev)
                                     : "q"(new), "m"(*((struct __xchg_dummy *)(ptr))), "0"(old)
                                     : "memory");
                return prev;
        }
        return old;
}
# 350 "/usr/src/linux-2.4.12-ac2/include/asm/system.h"
void disable_hlt_R794487ee(void);
void enable_hlt_R9c7077bd(void);

int dmi_scan_machine(void);
extern unsigned long dmi_broken;
extern int is_sony_vaio_laptop_R7462d5e4;
# 40 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
# 41 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
# 42 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/linkage.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 2





# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 2

struct rw_semaphore;




# 1 "/usr/src/linux-2.4.12-ac2/include/asm/rwsem.h" 1
# 41 "/usr/src/linux-2.4.12-ac2/include/asm/rwsem.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 42 "/usr/src/linux-2.4.12-ac2/include/asm/rwsem.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
# 43 "/usr/src/linux-2.4.12-ac2/include/asm/rwsem.h" 2

struct rwsem_waiter;

extern struct rw_semaphore *rwsem_down_read_failed(struct rw_semaphore *sem) __attribute__((regparm(3)));
extern struct rw_semaphore *rwsem_down_write_failed(struct rw_semaphore *sem) __attribute__((regparm(3)));
extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *) __attribute__((regparm(3)));




struct rw_semaphore {
        signed long count;






        spinlock_t wait_lock;
        struct list_head wait_list;



};
# 84 "/usr/src/linux-2.4.12-ac2/include/asm/rwsem.h"
static inline void init_rwsem_Rac458375(struct rw_semaphore *sem)
{
        sem->count = 0x00000000;
        do { } while(0);
        do { (&sem->wait_list)->next = (&sem->wait_list); (&sem->wait_list)->prev = (&sem->wait_list); } while (0);



}




static inline void __down_read_R6ebd46a5(struct rw_semaphore *sem)
{
        __asm__ __volatile__(
                "# beginning down_read\n\t"
"" "  incl      (%%eax)\n\t"
                "  js        2f\n\t"
                "1:\n\t"
                ".section .text.lock,\"ax\"\n"
                "2:\n\t"
                "  pushl     %%ecx\n\t"
                "  pushl     %%edx\n\t"
                "  call      rwsem_down_read_failed\n\t"
                "  popl      %%edx\n\t"
                "  popl      %%ecx\n\t"
                "  jmp       1b\n"
                ".previous"
                "# ending down_read\n\t"
                : "+m"(sem->count)
                : "a"(sem)
                : "memory", "cc");
}




static inline void __down_write_R7fd54c5c(struct rw_semaphore *sem)
{
        int tmp;

        tmp = ((-0x00010000) + 0x00000001);
        __asm__ __volatile__(
                "# beginning down_write\n\t"
"" "  xadd      %0,(%%eax)\n\t"
                "  testl     %0,%0\n\t"
                "  jnz       2f\n\t"
                "1:\n\t"
                ".section .text.lock,\"ax\"\n"
                "2:\n\t"
                "  pushl     %%ecx\n\t"
                "  call      rwsem_down_write_failed\n\t"
                "  popl      %%ecx\n\t"
                "  jmp       1b\n"
                ".previous\n"
                "# ending down_write"
                : "+d"(tmp), "+m"(sem->count)
                : "a"(sem)
                : "memory", "cc");
}




static inline void __up_read_R5783e8ec(struct rw_semaphore *sem)
{
        __s32 tmp = -0x00000001;
        __asm__ __volatile__(
                "# beginning __up_read\n\t"
"" "  xadd      %%edx,(%%eax)\n\t"
                "  js        2f\n\t"
                "1:\n\t"
                ".section .text.lock,\"ax\"\n"
                "2:\n\t"
                "  decw      %%dx\n\t"
                "  jnz       1b\n\t"
                "  pushl     %%ecx\n\t"
                "  call      rwsem_wake\n\t"
                "  popl      %%ecx\n\t"
                "  jmp       1b\n"
                ".previous\n"
                "# ending __up_read\n"
                : "+m"(sem->count), "+d"(tmp)
                : "a"(sem)
                : "memory", "cc");
}




static inline void __up_write_R70ec8bc6(struct rw_semaphore *sem)
{
        __asm__ __volatile__(
                "# beginning __up_write\n\t"
                "  movl      %2,%%edx\n\t"
"" "  xaddl     %%edx,(%%eax)\n\t"
                "  jnz       2f\n\t"
                "1:\n\t"
                ".section .text.lock,\"ax\"\n"
                "2:\n\t"
                "  decw      %%dx\n\t"
                "  jnz       1b\n\t"
                "  pushl     %%ecx\n\t"
                "  call      rwsem_wake\n\t"
                "  popl      %%ecx\n\t"
                "  jmp       1b\n"
                ".previous\n"
                "# ending __up_write\n"
                : "+m"(sem->count)
                : "a"(sem), "i"(-((-0x00010000) + 0x00000001))
                : "memory", "cc", "edx");
}




static inline void rwsem_atomic_add(int delta, struct rw_semaphore *sem)
{
        __asm__ __volatile__(
"" "addl %1,%0"
                :"=m"(sem->count)
                :"ir"(delta), "m"(sem->count));
}




static inline int rwsem_atomic_update(int delta, struct rw_semaphore *sem)
{
        int tmp = delta;

        __asm__ __volatile__(
"" "xadd %0,(%2)"
                : "+r"(tmp), "=m"(sem->count)
                : "r"(sem), "m"(sem->count)
                : "memory");

        return tmp+delta;
}
# 28 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 2
# 41 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h"
static inline void down_read(struct rw_semaphore *sem)
{
                                            ;
        __down_read_R6ebd46a5(sem);
                                           ;
}




static inline void down_write(struct rw_semaphore *sem)
{
                                             ;
        __down_write_R7fd54c5c(sem);
                                            ;
}




static inline void up_read(struct rw_semaphore *sem)
{
                                          ;
        __up_read_R5783e8ec(sem);
                                         ;
}




static inline void up_write(struct rw_semaphore *sem)
{
                                           ;
        __up_write_R70ec8bc6(sem);
                                          ;
}
# 43 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 2

struct semaphore {
        atomic_t count;
        int sleepers;
        wait_queue_head_t wait;



};
# 73 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h"
static inline void sema_init (struct semaphore *sem, int val)
{






        (((&sem->count)->counter) = (val));
        sem->sleepers = 0;
        init_waitqueue_head(&sem->wait);



}

static inline void init_MUTEX (struct semaphore *sem)
{
        sema_init(sem, 1);
}

static inline void init_MUTEX_LOCKED (struct semaphore *sem)
{
        sema_init(sem, 0);
}

 __attribute__((regparm(0))) void __down_failed(void );
 __attribute__((regparm(0))) int __down_failed_interruptible(void );
 __attribute__((regparm(0))) int __down_failed_trylock(void );
 __attribute__((regparm(0))) void __up_wakeup(void );

 __attribute__((regparm(0))) void __down(struct semaphore * sem);
 __attribute__((regparm(0))) int __down_interruptible(struct semaphore * sem);
 __attribute__((regparm(0))) int __down_trylock(struct semaphore * sem);
 __attribute__((regparm(0))) void __up(struct semaphore * sem);






static inline void down(struct semaphore * sem)
{




        __asm__ __volatile__(
                "# atomic down operation\n\t"
                "" "decl %0\n\t"
                "js 2f\n"
                "1:\n"
                ".section .text.lock,\"ax\"\n"
                "2:\tcall __down_failed\n\t"
                "jmp 1b\n"
                ".previous"
                :"=m" (sem->count)
                :"c" (sem)
                :"memory");
}





static inline int down_interruptible(struct semaphore * sem)
{
        int result;





        __asm__ __volatile__(
                "# atomic interruptible down operation\n\t"
                "" "decl %1\n\t"
                "js 2f\n\t"
                "xorl %0,%0\n"
                "1:\n"
                ".section .text.lock,\"ax\"\n"
                "2:\tcall __down_failed_interruptible\n\t"
                "jmp 1b\n"
                ".previous"
                :"=a" (result), "=m" (sem->count)
                :"c" (sem)
                :"memory");
        return result;
}





static inline int down_trylock(struct semaphore * sem)
{
        int result;





        __asm__ __volatile__(
                "# atomic interruptible down operation\n\t"
                "" "decl %1\n\t"
                "js 2f\n\t"
                "xorl %0,%0\n"
                "1:\n"
                ".section .text.lock,\"ax\"\n"
                "2:\tcall __down_failed_trylock\n\t"
                "jmp 1b\n"
                ".previous"
                :"=a" (result), "=m" (sem->count)
                :"c" (sem)
                :"memory");
        return result;
}







static inline void up(struct semaphore * sem)
{



        __asm__ __volatile__(
                "# atomic up operation\n\t"
                "" "incl %0\n\t"
                "jle 2f\n"
                "1:\n"
                ".section .text.lock,\"ax\"\n"
                "2:\tcall __up_wakeup\n\t"
                "jmp 1b\n"
                ".previous"
                :"=m" (sem->count)
                :"c" (sem)
                :"memory");
}
# 199 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/byteorder.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/byteorder.h" 2





# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/asm/byteorder.h" 2


static __inline__ __const__ __u32 ___arch__swab32(__u32 x)
{

        __asm__("bswap %0" : "=r" (x) : "0" (x));







        return x;
}

static __inline__ __const__ __u16 ___arch__swab16(__u16 x)
{
        __asm__("xchgb %b0,%h0" : "=q" (x) : "0" (x)); return x;



}
# 45 "/usr/src/linux-2.4.12-ac2/include/asm/byteorder.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/little_endian.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/little_endian.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/swab.h" 1
# 131 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/swab.h"
static __inline__ __const__ __u16 __fswab16(__u16 x)
{
        return ___arch__swab16(x);
}
static __inline__ __u16 __swab16p(__u16 *x)
{
        return ___arch__swab16(*(x));
}
static __inline__ void __swab16s(__u16 *addr)
{
        do { *(addr) = ___arch__swab16(*((addr))); } while (0);
}

static __inline__ __const__ __u32 __fswab32(__u32 x)
{
        return ___arch__swab32(x);
}
static __inline__ __u32 __swab32p(__u32 *x)
{
        return ___arch__swab32(*(x));
}
static __inline__ void __swab32s(__u32 *addr)
{
        do { *(addr) = ___arch__swab32(*((addr))); } while (0);
}


static __inline__ __const__ __u64 __fswab64(__u64 x)
{

        __u32 h = x >> 32;
        __u32 l = x & ((1ULL<<32)-1);
        return (((__u64)(__builtin_constant_p((__u32)(l)) ? ({ __u32 __x = ((l)); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32((l)))) << 32) | ((__u64)((__builtin_constant_p((__u32)(h)) ? ({ __u32 __x = ((h)); ((__u32)( (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); }) : __fswab32((h)))));



}
static __inline__ __u64 __swab64p(__u64 *x)
{
        return ({ __u64 __tmp = (*(x)) ; ({ __u64 __x = (__tmp); ((__u64)( (__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) | (__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) | (__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) | (__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) << 8) | (__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >> 8) | (__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) | (__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) | (__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); }); });
}
static __inline__ void __swab64s(__u64 *addr)
{
        do { *(addr) = ({ __u64 __tmp = (*((addr))) ; ({ __u64 __x = (__tmp); ((__u64)( (__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) | (__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) | (__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) | (__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) << 8) | (__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >> 8) | (__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) | (__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) | (__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); }); }); } while (0);
}
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/little_endian.h" 2
# 66 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/little_endian.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/generic.h" 1
# 150 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/generic.h"
extern __u32 ntohl(__u32);
extern __u32 htonl(__u32);




extern unsigned short int ntohs(unsigned short int);
extern unsigned short int htons(unsigned short int);
# 67 "/usr/src/linux-2.4.12-ac2/include/linux/byteorder/little_endian.h" 2
# 46 "/usr/src/linux-2.4.12-ac2/include/asm/byteorder.h" 2
# 200 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2

extern void update_atime_R18057d0b (struct inode *);


extern void buffer_init(unsigned long);
extern void inode_init(unsigned long);
extern void mnt_init(unsigned long);
# 221 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
enum bh_state_bits {
        BH_Uptodate,
        BH_Dirty,
        BH_Lock,
        BH_Req,
        BH_Mapped,
        BH_New,
        BH_Protected,
        BH_JBD,
        BH_Async,

        BH_PrivateStart,


};
# 248 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
struct buffer_head {

        struct buffer_head *b_next;
        unsigned long b_blocknr;
        unsigned short b_size;
        unsigned short b_list;
        kdev_t b_dev;

        atomic_t b_count;
        kdev_t b_rdev;
        unsigned long b_state;
        unsigned long b_flushtime;

        struct buffer_head *b_next_free;
        struct buffer_head *b_prev_free;
        struct buffer_head *b_this_page;
        struct buffer_head *b_reqnext;

        struct buffer_head **b_pprev;
        char * b_data;
        struct page *b_page;
        void (*b_end_io)(struct buffer_head *bh, int uptodate);
        void *b_private;

        unsigned long b_rsector;
        wait_queue_head_t b_wait;

        struct inode * b_inode;
        struct list_head b_inode_buffers;
};

typedef void (bh_end_io_t)(struct buffer_head *bh, int uptodate);
void init_buffer_R33cfa956(struct buffer_head *, bh_end_io_t *, void *);
# 295 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
extern void set_bh_page_Rc2c294fb(struct buffer_head *bh, struct page *page, unsigned long offset);




# 1 "/usr/src/linux-2.4.12-ac2/include/linux/pipe_fs_i.h" 1




struct pipe_inode_info {
        wait_queue_head_t wait;
        char *base;
        unsigned int len;
        unsigned int start;
        unsigned int readers;
        unsigned int writers;
        unsigned int waiting_readers;
        unsigned int waiting_writers;
        unsigned int r_counter;
        unsigned int w_counter;
};
# 42 "/usr/src/linux-2.4.12-ac2/include/linux/pipe_fs_i.h"
void pipe_wait(struct inode * inode);

struct inode* pipe_new(struct inode* inode);
# 301 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/minix_fs_i.h" 1






struct minix_inode_info {
        union {
                __u16 i1_data[16];
                __u32 i2_data[16];
        } u;
};
# 302 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ext2_fs_i.h" 1
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/ext2_fs_i.h"
struct ext2_inode_info {
        __u32 i_data[15];
        __u32 i_flags;
        __u32 i_faddr;
        __u8 i_frag_no;
        __u8 i_frag_size;
        __u16 i_osync;
        __u32 i_file_acl;
        __u32 i_dir_acl;
        __u32 i_dtime;
        __u32 i_block_group;
        __u32 i_next_alloc_block;
        __u32 i_next_alloc_goal;
        __u32 i_prealloc_block;
        __u32 i_prealloc_count;
        __u32 i_dir_start_lookup;
        int i_new_inode:1;
};
# 303 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_i.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_i.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/rwsem.h" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_i.h" 2




struct ext3_inode_info {
        __u32 i_data[15];
        __u32 i_flags;






        __u32 i_file_acl;
        __u32 i_dir_acl;
        __u32 i_dtime;
        __u32 i_block_group;
        __u32 i_state;
        __u32 i_next_alloc_block;
        __u32 i_next_alloc_goal;




        __u32 i_dir_start_lookup;

        struct list_head i_orphan;
# 63 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_i.h"
        loff_t i_disksize;
# 75 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_i.h"
        struct rw_semaphore truncate_sem;
};
# 304 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/hpfs_fs_i.h" 1



struct hpfs_inode_info {
        unsigned long mmu_private;
        ino_t i_parent_dir;
        unsigned i_dno;
        unsigned i_dpos;
        unsigned i_dsubdno;
        unsigned i_file_sec;
        unsigned i_disk_sec;
        unsigned i_n_secs;
        unsigned i_ea_size;
        unsigned i_conv : 2;
        unsigned i_ea_mode : 1;
        unsigned i_ea_uid : 1;
        unsigned i_ea_gid : 1;
        unsigned i_dirty : 1;
        struct semaphore i_sem;
        loff_t **i_rddir_off;
};
# 305 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ntfs_fs_i.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/ntfs_fs_i.h" 2


struct ntfs_attribute;
struct ntfs_sb_info;




typedef u8 ntfs_u8;
typedef u16 ntfs_u16;
typedef u32 ntfs_u32;
typedef u64 ntfs_u64;
typedef s8 ntfs_s8;
typedef s16 ntfs_s16;
typedef s32 ntfs_s32;
typedef s64 ntfs_s64;




typedef __kernel_mode_t ntmode_t;



typedef uid_t ntfs_uid_t;



typedef gid_t ntfs_gid_t;



typedef __kernel_size_t ntfs_size_t;



typedef __kernel_time_t ntfs_time_t;





typedef u16 ntfs_wchar_t;




typedef s64 ntfs_offset_t;




typedef u64 ntfs_time64_t;
# 69 "/usr/src/linux-2.4.12-ac2/include/linux/ntfs_fs_i.h"
typedef s32 ntfs_cluster_t;



struct ntfs_inode_info {
        struct ntfs_sb_info *vol;
        unsigned long i_number;
        __u16 sequence_number;
        unsigned char *attr;
        int attr_count;
        struct ntfs_attribute *attrs;
        int record_count;
        int *records;

        union {
                struct {
                        int recordsize;
                        int clusters_per_record;
                } index;
        } u;
};
# 306 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/msdos_fs_i.h" 1







struct msdos_inode_info {
        unsigned long mmu_private;
        int i_start;
        int i_logstart;
        int i_attrs;
        int i_ctime_ms;
        int i_location;
        struct inode *i_fat_inode;
        struct list_head i_fat_hash;
};
# 307 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/umsdos_fs_i.h" 1







# 1 "/usr/src/linux-2.4.12-ac2/include/linux/msdos_fs_i.h" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/umsdos_fs_i.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/pipe_fs_i.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/umsdos_fs_i.h" 2
# 39 "/usr/src/linux-2.4.12-ac2/include/linux/umsdos_fs_i.h"
struct dir_locking_info {
        wait_queue_head_t p;
        short int looking;
        short int creating;



        long pid;

};

struct umsdos_inode_info {
        struct msdos_inode_info msdos_info;
        struct dir_locking_info dir_info;
        int i_patched;
        int i_is_hlink;
        off_t pos;
};
# 308 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/iso_fs_i.h" 1



enum isofs_file_format {
        isofs_file_normal = 0,
        isofs_file_sparse = 1,
        isofs_file_compressed = 2,
};




struct iso_inode_info {
        unsigned int i_first_extent;
        unsigned char i_file_format;
        unsigned char i_format_parm[3];
        unsigned long i_next_section_ino;
        off_t i_section_size;
};
# 309 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/nfs_fs_i.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/nfs_fs_i.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/nfs_fs_i.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/nfs.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/nfs.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/sunrpc/msg_prot.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/sunrpc/msg_prot.h"
enum rpc_auth_flavor {
        RPC_AUTH_NULL = 0,
        RPC_AUTH_UNIX = 1,
        RPC_AUTH_SHORT = 2,
        RPC_AUTH_DES = 3,
        RPC_AUTH_KRB = 4,
};

enum rpc_msg_type {
        RPC_CALL = 0,
        RPC_REPLY = 1
};

enum rpc_reply_stat {
        RPC_MSG_ACCEPTED = 0,
        RPC_MSG_DENIED = 1
};

enum rpc_accept_stat {
        RPC_SUCCESS = 0,
        RPC_PROG_UNAVAIL = 1,
        RPC_PROG_MISMATCH = 2,
        RPC_PROC_UNAVAIL = 3,
        RPC_GARBAGE_ARGS = 4,
        RPC_SYSTEM_ERR = 5
};

enum rpc_reject_stat {
        RPC_MISMATCH = 0,
        RPC_AUTH_ERROR = 1
};

enum rpc_auth_stat {
        RPC_AUTH_OK = 0,
        RPC_AUTH_BADCRED = 1,
        RPC_AUTH_REJECTEDCRED = 2,
        RPC_AUTH_BADVERF = 3,
        RPC_AUTH_REJECTEDVERF = 4,
        RPC_AUTH_TOOWEAK = 5
};
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/nfs.h" 2
# 41 "/usr/src/linux-2.4.12-ac2/include/linux/nfs.h"
 enum nfs_stat {
        NFS_OK = 0,
        NFSERR_PERM = 1,
        NFSERR_NOENT = 2,
        NFSERR_IO = 5,
        NFSERR_NXIO = 6,
        NFSERR_EAGAIN = 11,
        NFSERR_ACCES = 13,
        NFSERR_EXIST = 17,
        NFSERR_XDEV = 18,
        NFSERR_NODEV = 19,
        NFSERR_NOTDIR = 20,
        NFSERR_ISDIR = 21,
        NFSERR_INVAL = 22,
        NFSERR_FBIG = 27,
        NFSERR_NOSPC = 28,
        NFSERR_ROFS = 30,
        NFSERR_MLINK = 31,
        NFSERR_OPNOTSUPP = 45,
        NFSERR_NAMETOOLONG = 63,
        NFSERR_NOTEMPTY = 66,
        NFSERR_DQUOT = 69,
        NFSERR_STALE = 70,
        NFSERR_REMOTE = 71,
        NFSERR_WFLUSH = 99,
        NFSERR_BADHANDLE = 10001,
        NFSERR_NOT_SYNC = 10002,
        NFSERR_BAD_COOKIE = 10003,
        NFSERR_NOTSUPP = 10004,
        NFSERR_TOOSMALL = 10005,
        NFSERR_SERVERFAULT = 10006,
        NFSERR_BADTYPE = 10007,
        NFSERR_JUKEBOX = 10008
 };



enum nfs_ftype {
        NFNON = 0,
        NFREG = 1,
        NFDIR = 2,
        NFBLK = 3,
        NFCHR = 4,
        NFLNK = 5,
        NFSOCK = 6,
        NFBAD = 7,
        NFFIFO = 8
};






struct nfs_fh {
        unsigned int size;
        unsigned int data[64 / sizeof(int)];
};
# 107 "/usr/src/linux-2.4.12-ac2/include/linux/nfs.h"
enum nfs3_stable_how {
        NFS_UNSTABLE = 0,
        NFS_DATA_SYNC = 1,
        NFS_FILE_SYNC = 2
};
# 7 "/usr/src/linux-2.4.12-ac2/include/linux/nfs_fs_i.h" 2




struct nfs_inode_info {



        __u64 fsid;
        __u64 fileid;




        struct nfs_fh fh;




        unsigned short flags;
# 45 "/usr/src/linux-2.4.12-ac2/include/linux/nfs_fs_i.h"
        unsigned long read_cache_jiffies;
        __u64 read_cache_ctime;
        __u64 read_cache_mtime;
        __u64 read_cache_isize;
        unsigned long attrtimeo;
        unsigned long attrtimeo_timestamp;





        __u32 cookieverf[2];




        struct list_head read;
        struct list_head dirty;
        struct list_head commit;
        struct list_head writeback;

        unsigned int nread,
                                ndirty,
                                ncommit,
                                npages;


        struct inode *hash_next,
                                *hash_prev;
        unsigned long nextscan;


        struct rpc_cred *mm_cred;
};
# 92 "/usr/src/linux-2.4.12-ac2/include/linux/nfs_fs_i.h"
struct nfs_lock_info {
        u32 state;
        u32 flags;
        struct nlm_host *host;
};
# 310 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/sysv_fs_i.h" 1






struct sysv_inode_info {
        u32 i_data[10+1+1+1];




};
# 311 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/affs_fs_i.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/a.out.h" 1







# 1 "/usr/src/linux-2.4.12-ac2/include/asm/a.out.h" 1



struct exec
{
  unsigned long a_info;
  unsigned a_text;
  unsigned a_data;
  unsigned a_bss;
  unsigned a_syms;
  unsigned a_entry;
  unsigned a_trsize;
  unsigned a_drsize;
};
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/a.out.h" 2




enum machine_type {



  M_OLDSUN2 = 0,




  M_68010 = 1,




  M_68020 = 2,




  M_SPARC = 3,


  M_386 = 100,
  M_MIPS1 = 151,
  M_MIPS2 = 152
};
# 131 "/usr/src/linux-2.4.12-ac2/include/linux/a.out.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
# 132 "/usr/src/linux-2.4.12-ac2/include/linux/a.out.h" 2
# 157 "/usr/src/linux-2.4.12-ac2/include/linux/a.out.h"
struct nlist {
  union {
    char *n_name;
    struct nlist *n_next;
    long n_strx;
  } n_un;
  unsigned char n_type;
  char n_other;
  short n_desc;
  unsigned long n_value;
};
# 235 "/usr/src/linux-2.4.12-ac2/include/linux/a.out.h"
struct relocation_info
{

  int r_address;

  unsigned int r_symbolnum:24;



  unsigned int r_pcrel:1;


  unsigned int r_length:2;






  unsigned int r_extern:1;







  unsigned int r_pad:4;

};
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/affs_fs_i.h" 2


# 1 "/usr/src/linux-2.4.12-ac2/include/linux/time.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/param.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/time.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/time.h" 2



struct timespec {
        time_t tv_sec;
        long tv_nsec;
};
# 31 "/usr/src/linux-2.4.12-ac2/include/linux/time.h"
static __inline__ unsigned long
timespec_to_jiffies(struct timespec *value)
{
        unsigned long sec = value->tv_sec;
        long nsec = value->tv_nsec;

        if (sec >= (((~0UL >> 1)-1) / 100))
                return ((~0UL >> 1)-1);
        nsec += 1000000000L / 100 - 1;
        nsec /= 1000000000L / 100;
        return 100 * sec + nsec;
}

static __inline__ void
jiffies_to_timespec(unsigned long jiffies_R0da02d67, struct timespec *value)
{
        value->tv_nsec = (jiffies_R0da02d67 % 100) * (1000000000L / 100);
        value->tv_sec = jiffies_R0da02d67 / 100;
}
# 67 "/usr/src/linux-2.4.12-ac2/include/linux/time.h"
static inline unsigned long
mktime (unsigned int year, unsigned int mon,
        unsigned int day, unsigned int hour,
        unsigned int min, unsigned int sec)
{
        if (0 >= (int) (mon -= 2)) {
                mon += 12;
                year -= 1;
        }

        return (((
                (unsigned long) (year/4 - year/100 + year/400 + 367*mon/12 + day) +
                        year*365 - 719499
            )*24 + hour
          )*60 + min
        )*60 + sec;
}




struct timeval {
        time_t tv_sec;
        suseconds_t tv_usec;
};

struct timezone {
        int tz_minuteswest;
        int tz_dsttime;
};




extern void do_gettimeofday_R72270e35(struct timeval *tv);
extern void do_settimeofday_R19d7b1ff(struct timeval *tv);
extern void get_fast_time_R60743022(struct timeval *tv);
extern void (*do_get_fast_time)(struct timeval *);
# 121 "/usr/src/linux-2.4.12-ac2/include/linux/time.h"
struct itimerspec {
        struct timespec it_interval;
        struct timespec it_value;
};

struct itimerval {
        struct timeval it_interval;
        struct timeval it_value;
};
# 8 "/usr/src/linux-2.4.12-ac2/include/linux/affs_fs_i.h" 2
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/affs_fs_i.h"
struct affs_ext_key {
        u32 ext;
        u32 key;
};




struct affs_inode_info {
        u32 i_opencnt;
        struct semaphore i_link_lock;
        struct semaphore i_ext_lock;

        u32 i_blkcnt;
        u32 i_extcnt;
        u32 *i_lc;
        u32 i_lc_size;
        u32 i_lc_shift;
        u32 i_lc_mask;
        struct affs_ext_key *i_ac;
        u32 i_ext_last;
        struct buffer_head *i_ext_bh;
        unsigned long mmu_private;
        u32 i_protect;
        u32 i_lastalloc;
        int i_pa_cnt;
# 51 "/usr/src/linux-2.4.12-ac2/include/linux/affs_fs_i.h"
};
# 312 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs_i.h" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs_i.h"
struct ufs_inode_info {
        union {
                __u32 i_data[15];
                __u8 i_symlink[4*15];
        } i_u1;
        __u32 i_flags;
        __u32 i_gen;
        __u32 i_shadow;
        __u32 i_unused1;
        __u32 i_unused2;
        __u32 i_oeftflag;
        __u16 i_osync;
        __u32 i_lastfrag;
};
# 313 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/efs_fs_i.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/efs_fs_i.h"
typedef int32_t efs_block_t;
typedef uint32_t efs_ino_t;






typedef union extent_u {
        unsigned char raw[8];
        struct extent_s {
                unsigned int ex_magic:8;
                unsigned int ex_bn:24;
                unsigned int ex_length:8;
                unsigned int ex_offset:24;
        } cooked;
} efs_extent;

typedef struct edevs {
        short odev;
        unsigned int ndev;
} efs_devs;





struct efs_dinode {
        u_short di_mode;
        short di_nlink;
        u_short di_uid;
        u_short di_gid;
        int32_t di_size;
        int32_t di_atime;
        int32_t di_mtime;
        int32_t di_ctime;
        uint32_t di_gen;
        short di_numextents;
        u_char di_version;
        u_char di_spare;
        union di_addr {
                efs_extent di_extents[12];
                efs_devs di_dev;
        } di_u;
};


struct efs_inode_info {
        int numextents;
        int lastextent;

        efs_extent extents[12];
};
# 314 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/coda_fs_i.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/coda_fs_i.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/coda_fs_i.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/coda_fs_i.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h" 1
# 109 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
typedef unsigned long long u_quad_t;
# 164 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
struct venus_dirent {
        unsigned long d_fileno;
        unsigned short d_reclen;
        unsigned char d_type;
        unsigned char d_namlen;
        char d_name[255 + 1];
};
# 198 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
typedef u_long VolumeId;
typedef u_long VnodeId;
typedef u_long Unique_t;
typedef u_long FileVersion;




typedef struct ViceFid {
    VolumeId Volume;
    VnodeId Vnode;
    Unique_t Unique;
} ViceFid;




static __inline__ ino_t coda_f2i(struct ViceFid *fid)
{
        if ( ! fid )
                return 0;
        if (fid->Vnode == 0xfffffffe || fid->Vnode == 0xffffffff)
                return ((fid->Volume << 20) | (fid->Unique & 0xfffff));
        else
                return (fid->Unique + (fid->Vnode<<10) + (fid->Volume<<20));
}
# 233 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
typedef u_int32_t vuid_t;
typedef u_int32_t vgid_t;




struct coda_cred {
    vuid_t cr_uid, cr_euid, cr_suid, cr_fsuid;
    vgid_t cr_groupid, cr_egid, cr_sgid, cr_fsgid;
};







enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD };

struct coda_vattr {
        long va_type;
        u_short va_mode;
        short va_nlink;
        vuid_t va_uid;
        vgid_t va_gid;
        long va_fileid;
        u_quad_t va_size;
        long va_blocksize;
        struct timespec va_atime;
        struct timespec va_mtime;
        struct timespec va_ctime;
        u_long va_gen;
        u_long va_flags;
        u_quad_t va_rdev;
        u_quad_t va_bytes;
        u_quad_t va_filerev;
};




struct coda_statfs {
    int32_t f_blocks;
    int32_t f_bfree;
    int32_t f_bavail;
    int32_t f_files;
    int32_t f_ffree;
};
# 337 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
struct coda_in_hdr {
    unsigned long opcode;
    unsigned long unique;
    u_short pid;
    u_short pgid;
    u_short sid;
    struct coda_cred cred;
};


struct coda_out_hdr {
    unsigned long opcode;
    unsigned long unique;
    unsigned long result;
};


struct coda_root_out {
    struct coda_out_hdr oh;
    ViceFid VFid;
};

struct coda_root_in {
    struct coda_in_hdr in;
};


struct coda_open_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int flags;
};

struct coda_open_out {
    struct coda_out_hdr oh;
    u_quad_t dev;
    ino_t inode;
};



struct coda_store_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int flags;
};

struct coda_store_out {
    struct coda_out_hdr out;
};


struct coda_release_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int flags;
};

struct coda_release_out {
    struct coda_out_hdr out;
};


struct coda_close_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int flags;
};

struct coda_close_out {
    struct coda_out_hdr out;
};


struct coda_ioctl_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int cmd;
    int len;
    int rwflag;
    char *data;
};

struct coda_ioctl_out {
    struct coda_out_hdr oh;
    int len;
    caddr_t data;
};



struct coda_getattr_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
};

struct coda_getattr_out {
    struct coda_out_hdr oh;
    struct coda_vattr attr;
};



struct coda_setattr_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    struct coda_vattr attr;
};

struct coda_setattr_out {
    struct coda_out_hdr out;
};


struct coda_access_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int flags;
};

struct coda_access_out {
    struct coda_out_hdr out;
};







struct coda_lookup_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int name;
    int flags;
};

struct coda_lookup_out {
    struct coda_out_hdr oh;
    ViceFid VFid;
    int vtype;
};



struct coda_create_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    struct coda_vattr attr;
    int excl;
    int mode;
    int name;
};

struct coda_create_out {
    struct coda_out_hdr oh;
    ViceFid VFid;
    struct coda_vattr attr;
};



struct coda_remove_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int name;
};

struct coda_remove_out {
    struct coda_out_hdr out;
};


struct coda_link_in {
    struct coda_in_hdr ih;
    ViceFid sourceFid;
    ViceFid destFid;
    int tname;
};

struct coda_link_out {
    struct coda_out_hdr out;
};



struct coda_rename_in {
    struct coda_in_hdr ih;
    ViceFid sourceFid;
    int srcname;
    ViceFid destFid;
    int destname;
};

struct coda_rename_out {
    struct coda_out_hdr out;
};


struct coda_mkdir_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    struct coda_vattr attr;
    int name;
};

struct coda_mkdir_out {
    struct coda_out_hdr oh;
    ViceFid VFid;
    struct coda_vattr attr;
};



struct coda_rmdir_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int name;
};

struct coda_rmdir_out {
    struct coda_out_hdr out;
};


struct coda_symlink_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int srcname;
    struct coda_vattr attr;
    int tname;
};

struct coda_symlink_out {
    struct coda_out_hdr out;
};


struct coda_readlink_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
};

struct coda_readlink_out {
    struct coda_out_hdr oh;
    int count;
    caddr_t data;
};



struct coda_fsync_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
};

struct coda_fsync_out {
    struct coda_out_hdr out;
};


struct coda_vget_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
};

struct coda_vget_out {
    struct coda_out_hdr oh;
    ViceFid VFid;
    int vtype;
};
# 616 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
struct coda_purgeuser_out {
    struct coda_out_hdr oh;
    struct coda_cred cred;
};



struct coda_zapfile_out {
    struct coda_out_hdr oh;
    ViceFid CodaFid;
};



struct coda_zapdir_out {
    struct coda_out_hdr oh;
    ViceFid CodaFid;
};



struct coda_zapvnode_out {
    struct coda_out_hdr oh;
    struct coda_cred cred;
    ViceFid VFid;
};



struct coda_purgefid_out {
    struct coda_out_hdr oh;
    ViceFid CodaFid;
};



struct coda_replace_out {
    struct coda_out_hdr oh;
    ViceFid NewFid;
    ViceFid OldFid;
};


struct coda_open_by_fd_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int flags;
};

struct coda_open_by_fd_out {
    struct coda_out_hdr oh;
    int fd;


    struct file *fh;

};


struct coda_open_by_path_in {
    struct coda_in_hdr ih;
    ViceFid VFid;
    int flags;
};

struct coda_open_by_path_out {
    struct coda_out_hdr oh;
        int path;
};


struct coda_statfs_in {
    struct coda_in_hdr in;
};

struct coda_statfs_out {
    struct coda_out_hdr oh;
    struct coda_statfs stat;
};
# 703 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
union inputArgs {
    struct coda_in_hdr ih;
    struct coda_open_in coda_open;
    struct coda_store_in coda_store;
    struct coda_release_in coda_release;
    struct coda_close_in coda_close;
    struct coda_ioctl_in coda_ioctl;
    struct coda_getattr_in coda_getattr;
    struct coda_setattr_in coda_setattr;
    struct coda_access_in coda_access;
    struct coda_lookup_in coda_lookup;
    struct coda_create_in coda_create;
    struct coda_remove_in coda_remove;
    struct coda_link_in coda_link;
    struct coda_rename_in coda_rename;
    struct coda_mkdir_in coda_mkdir;
    struct coda_rmdir_in coda_rmdir;
    struct coda_symlink_in coda_symlink;
    struct coda_readlink_in coda_readlink;
    struct coda_fsync_in coda_fsync;
    struct coda_vget_in coda_vget;
    struct coda_open_by_fd_in coda_open_by_fd;
    struct coda_open_by_path_in coda_open_by_path;
    struct coda_statfs_in coda_statfs;
};

union outputArgs {
    struct coda_out_hdr oh;
    struct coda_root_out coda_root;
    struct coda_open_out coda_open;
    struct coda_ioctl_out coda_ioctl;
    struct coda_getattr_out coda_getattr;
    struct coda_lookup_out coda_lookup;
    struct coda_create_out coda_create;
    struct coda_mkdir_out coda_mkdir;
    struct coda_readlink_out coda_readlink;
    struct coda_vget_out coda_vget;
    struct coda_purgeuser_out coda_purgeuser;
    struct coda_zapfile_out coda_zapfile;
    struct coda_zapdir_out coda_zapdir;
    struct coda_zapvnode_out coda_zapvnode;
    struct coda_purgefid_out coda_purgefid;
    struct coda_replace_out coda_replace;
    struct coda_open_by_fd_out coda_open_by_fd;
    struct coda_open_by_path_out coda_open_by_path;
    struct coda_statfs_out coda_statfs;
};

union coda_downcalls {


    struct coda_purgeuser_out purgeuser;
    struct coda_zapfile_out zapfile;
    struct coda_zapdir_out zapdir;
    struct coda_zapvnode_out zapvnode;
    struct coda_purgefid_out purgefid;
    struct coda_replace_out replace;
};







struct ViceIoctl {
        caddr_t in, out;
        short in_size;
        short out_size;
};

struct PioctlData {
        const char *path;
        int follow;
        struct ViceIoctl vi;
};
# 797 "/usr/src/linux-2.4.12-ac2/include/linux/coda.h"
struct coda_mount_data {
        int version;
        int fd;
};
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/coda_fs_i.h" 2




struct coda_inode_info {
        struct ViceFid c_fid;
        u_short c_flags;
        struct list_head c_cilist;
        struct file *c_container;
        unsigned int c_contcount;
        struct coda_cred c_cached_cred;
        unsigned int c_cached_perm;
};







int coda_cnode_make(struct inode **, struct ViceFid *, struct super_block *);
int coda_cnode_makectl(struct inode **inode, struct super_block *sb);
struct inode *coda_fid_to_inode(ViceFid *fid, struct super_block *sb);
void coda_replace_fid(struct inode *, ViceFid *, ViceFid *);
# 315 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/romfs_fs_i.h" 1





struct romfs_inode_info {
        unsigned long i_metasize;
        unsigned long i_dataoffset;
};
# 316 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/shmem_fs.h" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/shmem_fs.h"
typedef struct {
        unsigned long val;
} swp_entry_t;

extern atomic_t shmem_nrpages;

struct shmem_inode_info {
        spinlock_t lock;
        struct semaphore sem;
        unsigned long next_index;
        swp_entry_t i_direct[16];
        void **i_indirect;
        unsigned long swapped;
        int locked;
        struct list_head list;
        struct inode *inode;
};

struct shmem_sb_info {
        unsigned long max_blocks;
        unsigned long free_blocks;
        unsigned long max_inodes;
        unsigned long free_inodes;
        spinlock_t stat_lock;
};
# 317 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/smb_fs_i.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/smb_fs_i.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/smb_fs_i.h" 2




struct smb_inode_info {





        unsigned int open;
        __u16 fileid;
        __u16 attr;

        __u16 access;
        __u16 flags;
        unsigned long oldmtime;
        unsigned long closed;
        unsigned openers;
};
# 318 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/hfs_fs_i.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/hfs_fs_i.h"
struct hfs_inode_info {
        int magic;

        unsigned long mmu_private;
        struct hfs_cat_entry *entry;


        struct hfs_fork *fork;
        int convert;


        ino_t file_type;
        char dir_size;


        const struct hfs_hdr_layout *default_layout;
        struct hfs_hdr_layout *layout;


        int tz_secondswest;


        void (*d_drop_op)(struct dentry *, const ino_t);
};
# 319 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/adfs_fs_i.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/adfs_fs_i.h"
struct adfs_inode_info {
        unsigned long mmu_private;
        unsigned long parent_id;
        __u32 loadaddr;
        __u32 execaddr;
        unsigned int filetype;
        unsigned int attr;
        int stamped:1;
};
# 320 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs_i.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs_i.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/qnxtypes.h" 1
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/qnxtypes.h"
typedef __u16 qnx4_nxtnt_t;
typedef __u8 qnx4_ftype_t;

typedef struct {
        __u32 xtnt_blk;
        __u32 xtnt_size;
} qnx4_xtnt_t;

typedef __u16 qnx4_mode_t;
typedef __u16 qnx4_muid_t;
typedef __u16 qnx4_mgid_t;
typedef __u32 qnx4_off_t;
typedef __u16 qnx4_nlink_t;
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs_i.h" 2




struct qnx4_inode_info {
        char i_reserved[16];
        qnx4_off_t i_size;
        qnx4_xtnt_t i_first_xtnt;
        __u32 i_xblk;
        __s32 i_ftime;
        __s32 i_mtime;
        __s32 i_atime;
        __s32 i_ctime;
        qnx4_nxtnt_t i_num_xtnts;
        qnx4_mode_t i_mode;
        qnx4_muid_t i_uid;
        qnx4_mgid_t i_gid;
        qnx4_nlink_t i_nlink;
        __u8 i_zero[4];
        qnx4_ftype_t i_type;
        __u8 i_status;
        unsigned long mmu_private;
};
# 321 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_i.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_i.h" 2

struct reiserfs_inode_info {
  __u32 i_key [4];






  int i_version;

  int i_pack_on_close ;

  __u32 i_first_direct_byte;
# 35 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_i.h"
  int i_prealloc_block;
  int i_prealloc_count;
  struct list_head i_prealloc_list;




  int nopack;
};
# 322 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/bfs_fs_i.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/bfs_fs_i.h"
struct bfs_inode_info {
        unsigned long i_dsk_ino;
        unsigned long i_sblock;
        unsigned long i_eblock;
};
# 323 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/udf_fs_i.h" 1
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/udf_fs_i.h"
typedef struct
{
        __u32 logicalBlockNum;
        __u16 partitionReferenceNum;
} lb_addr;


struct udf_inode_info
{
        long i_umtime;
        long i_uctime;
        long i_crtime;
        long i_ucrtime;

        lb_addr i_location;
        __u64 i_unique;
        __u32 i_lenEAttr;
        __u32 i_lenAlloc;
        __u64 i_lenExtents;
        __u32 i_next_alloc_block;
        __u32 i_next_alloc_goal;
        unsigned i_alloc_type : 3;
        unsigned i_extended_fe : 1;
        unsigned i_strat_4096 : 1;
        unsigned i_new_inode : 1;
        unsigned reserved : 26;
};
# 324 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_fs_i.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_fs_i.h"
struct ncp_inode_info {
        __u32 dirEntNum __attribute__((packed));
        __u32 DosDirNum __attribute__((packed));
        __u32 volNumber __attribute__((packed));
        __u32 nwattr;
        struct semaphore open_sem;
        atomic_t opened;
        int access;
        __u32 server_file_handle __attribute__((packed));
        __u8 open_create_action __attribute__((packed));
        __u8 file_handle[6] __attribute__((packed));
};
# 325 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/proc_fs_i.h" 1
struct proc_inode_info {
        struct task_struct *task;
        int type;
        union {
                int (*proc_get_link)(struct inode *, struct dentry **, struct vfsmount **);
                int (*proc_read)(struct task_struct *task, char *page);
        } op;
        struct file *file;
};
# 326 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/usbdev_fs_i.h" 1
struct usb_device;
struct usb_bus;

struct usbdev_inode_info {
        struct list_head dlist;
        struct list_head slist;
        union {
                struct usb_device *dev;
                struct usb_bus *bus;
        } p;
};
# 327 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_i.h" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_i.h"
struct jffs2_inode_info {
# 26 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_i.h"
        struct semaphore sem;


        __u32 highest_version;


        struct jffs2_node_frag *fraglist;






        struct jffs2_full_dnode *metadata;


        struct jffs2_full_dirent *dents;


        struct jffs2_inode_cache *inocache;





        __u16 flags;
        __u8 usercompr;
};
# 328 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/cramfs_fs_sb.h" 1






struct cramfs_sb_info {
                        unsigned long magic;
                        unsigned long size;
                        unsigned long blocks;
                        unsigned long files;
                        unsigned long flags;
};
# 329 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/hostfs_fs_i.h" 1



struct hostfs_inode_info {
        char *host_filename;
        int fd;
        int mode;
};
# 330 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 356 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
struct iattr {
        unsigned int ia_valid;
        umode_t ia_mode;
        uid_t ia_uid;
        gid_t ia_gid;
        loff_t ia_size;
        time_t ia_atime;
        time_t ia_mtime;
        time_t ia_ctime;
        unsigned int ia_attr_flags;
};
# 380 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h" 1
# 42 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/errno.h" 1
# 43 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 44 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h" 2

typedef __kernel_uid32_t qid_t;
typedef __u64 qsize_t;
# 117 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h"
struct disk_dqblk {
        __u32 dqb_id;
        __u32 dqb_ihardlimit;
        __u32 dqb_isoftlimit;
        __u32 dqb_curinodes;
        __u32 dqb_bhardlimit;
        __u32 dqb_bsoftlimit;
        __u64 dqb_curspace;
        __u64 dqb_btime;
        __u64 dqb_itime;
};


struct mem_dqblk {
        unsigned int dqb_ihardlimit;
        unsigned int dqb_isoftlimit;
        unsigned int dqb_curinodes;
        unsigned int dqb_bhardlimit;
        unsigned int dqb_bsoftlimit;
        qsize_t dqb_curspace;
        __kernel_time_t dqb_btime;
        __kernel_time_t dqb_itime;
};





struct disk_dqheader {
        __u32 dqh_magic;
        __u32 dqh_version;
};


struct disk_dqinfo {
        __u32 dqi_bgrace;
        __u32 dqi_igrace;
        __u32 dqi_flags;
        __u32 dqi_blocks;
        __u32 dqi_free_blk;
        __u32 dqi_free_entry;
};


struct mem_dqinfo {
        unsigned int dqi_bgrace;
        unsigned int dqi_igrace;
        unsigned int dqi_flags;
        unsigned int dqi_blocks;
        unsigned int dqi_free_blk;
        unsigned int dqi_free_entry;
};






extern inline void mark_info_dirty(struct mem_dqinfo *info)
{
        info->dqi_flags |= 0x0010;
}






struct disk_dqdbheader {
        __u32 dqdh_next_free;
        __u32 dqdh_prev_free;
        __u16 dqdh_entries;
        __u16 dqdh_pad1;
        __u32 dqdh_pad2;
};
# 200 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h"
struct dqstats {
        __u32 lookups;
        __u32 drops;
        __u32 reads;
        __u32 writes;
        __u32 cache_hits;
        __u32 allocated_dquots;
        __u32 free_dquots;
        __u32 syncs;
        __u32 version;
};



extern int nr_dquots, nr_free_dquots;
# 225 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h"
struct dquot {
        struct list_head dq_hash;
        struct list_head dq_inuse;
        struct list_head dq_free;
        wait_queue_head_t dq_wait_lock;
        wait_queue_head_t dq_wait_free;
        int dq_count;
        int dq_dup_ref;


        struct super_block *dq_sb;
        qid_t dq_id;
        kdev_t dq_dev;
        short dq_type;
        short dq_flags;
        loff_t dq_off;
        unsigned long dq_referenced;

        struct mem_dqblk dq_dqb;
};
# 274 "/usr/src/linux-2.4.12-ac2/include/linux/quota.h"
typedef char *dqbuf_t;
# 381 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/mount.h" 1
# 382 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2




struct page;
struct address_space;

struct address_space_operations {
        int (*writepage)(struct page *);
        int (*readpage)(struct file *, struct page *);
        int (*sync_page)(struct page *);
        int (*prepare_write)(struct file *, struct page *, unsigned, unsigned);
        int (*commit_write)(struct file *, struct page *, unsigned, unsigned);
        void (*removepage)(struct page *);

        int (*bmap_R7f178969)(struct address_space *, long);
        int (*flushpage) (struct page *, unsigned long);
        int (*releasepage) (struct page *, int);
};

struct address_space {
        struct list_head clean_pages;
        struct list_head dirty_pages;
        struct list_head locked_pages;
        unsigned long nrpages;
        struct address_space_operations *a_ops;
        struct inode *host;
        struct vm_area_struct *i_mmap;
        struct vm_area_struct *i_mmap_shared;
        spinlock_t i_shared_lock;
        int gfp_mask;
};

struct char_device {
        struct list_head hash;
        atomic_t count;
        dev_t dev;
        atomic_t openers;
        struct semaphore sem;
};

struct block_device {
        struct list_head bd_hash;
        atomic_t bd_count;

        dev_t bd_dev;
        atomic_t bd_openers;
        const struct block_device_operations *bd_op;
        struct semaphore bd_sem;
        struct list_head bd_inodes;
};

struct inode {
        struct list_head i_hash;
        struct list_head i_list;
        struct list_head i_dentry;

        struct list_head i_dirty_buffers;

        unsigned long i_ino;
        atomic_t i_count;
        kdev_t i_dev;
        umode_t i_mode;
        nlink_t i_nlink;
        uid_t i_uid;
        gid_t i_gid;
        kdev_t i_rdev;
        loff_t i_size;
        time_t i_atime;
        time_t i_mtime;
        time_t i_ctime;
        unsigned int i_blkbits;
        unsigned long i_blksize;
        unsigned long i_blocks;
        unsigned long i_version;
        unsigned short i_bytes;
        struct semaphore i_sem;
        struct rw_semaphore i_truncate_sem;
        struct semaphore i_zombie;
        struct inode_operations *i_op;
        struct file_operations *i_fop;
        struct super_block *i_sb;
        wait_queue_head_t i_wait;
        struct file_lock *i_flock;
        struct address_space *i_mapping;
        struct address_space i_data;
        struct dquot *i_dquot[2];

        struct list_head i_devices;
        struct pipe_inode_info *i_pipe;
        struct block_device *i_bdev;
        struct char_device *i_cdev;

        unsigned long i_dnotify_mask;
        struct dnotify_struct *i_dnotify;

        unsigned long i_state;

        unsigned int i_flags;
        unsigned char i_sock;

        atomic_t i_writecount;
        unsigned int i_attr_flags;
        __u32 i_generation;
        union {
                struct minix_inode_info minix_i;
                struct ext2_inode_info ext2_i;
                struct ext3_inode_info ext3_i;
                struct hpfs_inode_info hpfs_i;
                struct ntfs_inode_info ntfs_i;
                struct msdos_inode_info msdos_i;
                struct umsdos_inode_info umsdos_i;
                struct iso_inode_info isofs_i;
                struct sysv_inode_info sysv_i;
                struct affs_inode_info affs_i;
                struct ufs_inode_info ufs_i;
                struct efs_inode_info efs_i;
                struct romfs_inode_info romfs_i;
                struct shmem_inode_info shmem_i;
                struct coda_inode_info coda_i;
                struct smb_inode_info smbfs_i;
                struct hfs_inode_info hfs_i;
                struct adfs_inode_info adfs_i;
                struct qnx4_inode_info qnx4_i;
                struct reiserfs_inode_info reiserfs_i;
                struct bfs_inode_info bfs_i;
                struct udf_inode_info udf_i;
                struct ncp_inode_info ncpfs_i;
                struct proc_inode_info proc_i;
                struct socket socket_i;
                struct usbdev_inode_info usbdev_i;
                struct jffs2_inode_info jffs2_i;
                struct hostfs_inode_info hostfs_i;
                void *generic_ip;
        } u;
};

struct fown_struct {
        int pid;
        uid_t uid, euid;
        int signum;
};

struct file {
        struct list_head f_list;
        struct dentry *f_dentry;
        struct vfsmount *f_vfsmnt;
        struct file_operations *f_op;
        atomic_t f_count;
        unsigned int f_flags;
        mode_t f_mode;
        loff_t f_pos;
        unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;
        struct fown_struct f_owner;
        unsigned int f_uid, f_gid;
        int f_error;

        unsigned long f_version;


        void *private_data;
};
extern spinlock_t files_lock_Rf9efb16a;






extern int init_private_file_R37a597ca(struct file *, struct dentry *, int);
# 569 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
typedef struct files_struct *fl_owner_t;

struct file_lock {
        struct file_lock *fl_next;
        struct list_head fl_link;
        struct list_head fl_block;
        fl_owner_t fl_owner;
        unsigned int fl_pid;
        wait_queue_head_t fl_wait;
        struct file *fl_file;
        unsigned char fl_flags;
        unsigned char fl_type;
        loff_t fl_start;
        loff_t fl_end;

        void (*fl_notify)(struct file_lock *);
        void (*fl_insert)(struct file_lock *);
        void (*fl_remove)(struct file_lock *);

        struct fasync_struct * fl_fasync;

        union {
                struct nfs_lock_info nfs_fl;
        } fl_u;
};
# 602 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
extern struct list_head file_lock_list_R6e85119d;

# 1 "/usr/src/linux-2.4.12-ac2/include/linux/fcntl.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/fcntl.h" 1
# 69 "/usr/src/linux-2.4.12-ac2/include/asm/fcntl.h"
struct flock {
        short l_type;
        short l_whence;
        off_t l_start;
        off_t l_len;
        pid_t l_pid;
};

struct flock64 {
        short l_type;
        short l_whence;
        loff_t l_start;
        loff_t l_len;
        pid_t l_pid;
};
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/fcntl.h" 2
# 605 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2

extern int fcntl_getlk(unsigned int, struct flock *);
extern int fcntl_setlk(unsigned int, unsigned int, struct flock *);

extern int fcntl_getlk64(unsigned int, struct flock64 *);
extern int fcntl_setlk64(unsigned int, unsigned int, struct flock64 *);


extern void locks_init_lock_R3eeb299d(struct file_lock *);
extern void locks_copy_lock_R11a08b08(struct file_lock *, struct file_lock *);
extern void locks_remove_posix(struct file *, fl_owner_t);
extern void locks_remove_flock(struct file *);
extern struct file_lock *posix_test_lock_R5e293d81(struct file *, struct file_lock *);
extern int posix_lock_file_R52210222(struct file *, struct file_lock *, unsigned int);
extern void posix_block_lock_R0a3df0bb(struct file_lock *, struct file_lock *);
extern int posix_locks_deadlock(struct file_lock *, struct file_lock *);
extern void posix_unblock_lock_R53599c4d(struct file_lock *);
extern int __get_lease_R7e4abfbc(struct inode *inode, unsigned int flags);
extern time_t lease_get_mtime_Ra260b53e(struct inode *);
extern int lock_may_read_R20fd907c(struct inode *, loff_t start, unsigned long count);
extern int lock_may_write_Rba9d0083(struct inode *, loff_t start, unsigned long count);

struct fasync_struct {
        int magic;
        int fa_fd;
        struct fasync_struct *fa_next;
        struct file *fa_file;
};




extern int fasync_helper_R45b2e041(int, struct file *, int, struct fasync_struct **);

extern void kill_fasync_Rbaa32baa(struct fasync_struct **, int, int);

extern void __kill_fasync_R6f09b310(struct fasync_struct *, int, int);

struct nameidata {
        struct dentry *dentry;
        struct vfsmount *mnt;
        struct qstr last;
        unsigned int flags;
        int last_type;
};




struct quota_info
{
        unsigned int flags;
        struct semaphore dqio_sem;
        struct semaphore dqoff_sem;
        struct file *files[2];
        struct mem_dqinfo info[2];
};
# 670 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/minix_fs_sb.h" 1






struct minix_sb_info {
                        unsigned long s_ninodes;
                        unsigned long s_nzones;
                        unsigned long s_imap_blocks;
                        unsigned long s_zmap_blocks;
                        unsigned long s_firstdatazone;
                        unsigned long s_log_zone_size;
                        unsigned long s_max_size;
                        int s_dirsize;
                        int s_namelen;
                        int s_link_max;
                        struct buffer_head ** s_imap;
                        struct buffer_head ** s_zmap;
                        struct buffer_head * s_sbh;
                        struct minix_super_block * s_ms;
                        unsigned short s_mount_state;
                        unsigned short s_version;
};
# 671 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ext2_fs_sb.h" 1
# 30 "/usr/src/linux-2.4.12-ac2/include/linux/ext2_fs_sb.h"
struct ext2_sb_info {
        unsigned long s_frag_size;
        unsigned long s_frags_per_block;
        unsigned long s_inodes_per_block;
        unsigned long s_frags_per_group;
        unsigned long s_blocks_per_group;
        unsigned long s_inodes_per_group;
        unsigned long s_itb_per_group;
        unsigned long s_gdb_count;
        unsigned long s_desc_per_block;
        unsigned long s_groups_count;
        struct buffer_head * s_sbh;
        struct ext2_super_block * s_es;
        struct buffer_head ** s_group_desc;
        unsigned short s_loaded_inode_bitmaps;
        unsigned short s_loaded_block_bitmaps;
        unsigned long s_inode_bitmap_number[8];
        struct buffer_head * s_inode_bitmap[8];
        unsigned long s_block_bitmap_number[8];
        struct buffer_head * s_block_bitmap[8];
        unsigned long s_mount_opt;
        uid_t s_resuid;
        gid_t s_resgid;
        unsigned short s_mount_state;
        unsigned short s_pad;
        int s_addr_per_block_bits;
        int s_desc_per_block_bits;
        int s_inode_size;
        int s_first_ino;
};
# 672 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_sb.h" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_sb.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/timer.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/timer.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/timer.h" 2
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/timer.h"
struct timer_list {
        struct list_head list;
        unsigned long expires;
        unsigned long data;
        void (*function)(unsigned long);
};

extern void add_timer_Ra19eacf8(struct timer_list * timer);
extern int del_timer_Rfc62f16d(struct timer_list * timer);
# 41 "/usr/src/linux-2.4.12-ac2/include/linux/timer.h"
int mod_timer_R1f13d309(struct timer_list *timer, unsigned long expires);

extern void it_real_fn(unsigned long);

static inline void init_timer(struct timer_list * timer)
{
        timer->list.next = timer->list.prev = ((void *)0);
}

static inline int timer_pending (const struct timer_list * timer)
{
        return timer->list.next != ((void *)0);
}
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_sb.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_sb.h" 2
# 35 "/usr/src/linux-2.4.12-ac2/include/linux/ext3_fs_sb.h"
struct ext3_sb_info {
        unsigned long s_frag_size;
        unsigned long s_frags_per_block;
        unsigned long s_inodes_per_block;
        unsigned long s_frags_per_group;
        unsigned long s_blocks_per_group;
        unsigned long s_inodes_per_group;
        unsigned long s_itb_per_group;
        unsigned long s_gdb_count;
        unsigned long s_desc_per_block;
        unsigned long s_groups_count;
        struct buffer_head * s_sbh;
        struct ext3_super_block * s_es;
        struct buffer_head ** s_group_desc;
        unsigned short s_loaded_inode_bitmaps;
        unsigned short s_loaded_block_bitmaps;
        unsigned long s_inode_bitmap_number[8];
        struct buffer_head * s_inode_bitmap[8];
        unsigned long s_block_bitmap_number[8];
        struct buffer_head * s_block_bitmap[8];
        unsigned long s_mount_opt;
        uid_t s_resuid;
        gid_t s_resgid;
        unsigned short s_mount_state;
        unsigned short s_pad;
        int s_addr_per_block_bits;
        int s_desc_per_block_bits;
        int s_inode_size;
        int s_first_ino;


        struct inode * s_journal_inode;
        struct journal_s * s_journal;
        struct list_head s_orphan;
        unsigned long s_commit_interval;
        struct block_device *journal_bdev;




};
# 673 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/hpfs_fs_sb.h" 1



struct hpfs_sb_info {
        ino_t sb_root;
        unsigned sb_fs_size;
        unsigned sb_bitmaps;
        unsigned sb_dirband_start;
        unsigned sb_dirband_size;
        unsigned sb_dmap;
        unsigned sb_n_free;
        unsigned sb_n_free_dnodes;
        uid_t sb_uid;
        gid_t sb_gid;
        umode_t sb_mode;
        unsigned sb_conv : 2;
        unsigned sb_eas : 2;
        unsigned sb_err : 2;
        unsigned sb_chk : 2;
        unsigned sb_lowercase : 1;
        unsigned sb_was_error : 1;
        unsigned sb_chkdsk : 2;
        unsigned sb_rd_fnode : 2;
        unsigned sb_rd_inode : 2;


        wait_queue_head_t sb_iget_q;
        unsigned char *sb_cp_table;


        unsigned *sb_bmp_dir;
        unsigned sb_c_bitmap;
        wait_queue_head_t sb_creation_de;

        unsigned sb_creation_de_lock : 1;

        int sb_timeshift;
};
# 674 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ntfs_fs_sb.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ntfs_fs_i.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/ntfs_fs_sb.h" 2

struct ntfs_sb_info{

        ntfs_uid_t uid;
        ntfs_gid_t gid;
        ntmode_t umask;
        void *nls_map;
        unsigned int ngt;
        char mft_zone_multiplier;
        unsigned long mft_data_pos;
        ntfs_cluster_t mft_zone_pos;
        ntfs_cluster_t mft_zone_start;
        ntfs_cluster_t mft_zone_end;
        ntfs_cluster_t data1_zone_pos;
        ntfs_cluster_t data2_zone_pos;


        ntfs_size_t partition_bias;

        ntfs_u32 at_standard_information;
        ntfs_u32 at_attribute_list;
        ntfs_u32 at_file_name;
        ntfs_u32 at_volume_version;
        ntfs_u32 at_security_descriptor;
        ntfs_u32 at_volume_name;
        ntfs_u32 at_volume_information;
        ntfs_u32 at_data;
        ntfs_u32 at_index_root;
        ntfs_u32 at_index_allocation;
        ntfs_u32 at_bitmap;
        ntfs_u32 at_symlink;

        int sector_size;
        int cluster_size;
        int cluster_size_bits;
        int mft_clusters_per_record;
        int mft_record_size;
        int mft_record_size_bits;
        int index_clusters_per_record;
        int index_record_size;
        int index_record_size_bits;
        ntfs_cluster_t nr_clusters;
        ntfs_cluster_t mft_lcn;
        ntfs_cluster_t mft_mirr_lcn;

        unsigned char *mft;
        unsigned short *upcase;
        unsigned int upcase_length;

        struct ntfs_inode_info *mft_ino;
        struct ntfs_inode_info *mftmirr;
        struct ntfs_inode_info *bitmap;
        struct super_block *sb;
        unsigned char ino_flags;
};
# 675 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/msdos_fs_sb.h" 1


# 1 "/usr/src/linux-2.4.12-ac2/include/linux/fat_cvf.h" 1





struct cvf_format
{ int cvf_version;
  char* cvf_version_text;
  unsigned long flags;
  int (*detect_cvf) (struct super_block*sb);
  int (*mount_cvf) (struct super_block*sb,char*options);
  int (*unmount_cvf) (struct super_block*sb);
  struct buffer_head* (*cvf_bread) (struct super_block*sb,int block);
  struct buffer_head* (*cvf_getblk) (struct super_block*sb,int block);
  void (*cvf_brelse) (struct super_block *sb,struct buffer_head *bh);
  void (*cvf_mark_buffer_dirty) (struct super_block *sb,
                              struct buffer_head *bh);
  void (*cvf_set_uptodate) (struct super_block *sb,
                         struct buffer_head *bh,
                         int val);
  int (*cvf_is_uptodate) (struct super_block *sb,struct buffer_head *bh);
  void (*cvf_ll_rw_block) (struct super_block *sb,
                        int opr,
                        int nbreq,
                        struct buffer_head *bh[32]);
  int (*fat_access) (struct super_block *sb,int nr,int new_value);
  int (*cvf_statfs) (struct super_block *sb,struct statfs *buf, int bufsiz);
  int (*cvf_bmap) (struct inode *inode,int block);
  ssize_t (*cvf_file_read) ( struct file *, char *, size_t, loff_t *);
  ssize_t (*cvf_file_write) ( struct file *, const char *, size_t, loff_t *);
  int (*cvf_mmap) (struct file *, struct vm_area_struct *);
  int (*cvf_readpage) (struct inode *, struct page *);
  int (*cvf_writepage) (struct inode *, struct page *);
  int (*cvf_dir_ioctl) (struct inode * inode, struct file * filp,
                        unsigned int cmd, unsigned long arg);
  void (*zero_out_cluster) (struct inode*, int clusternr);
};

int register_cvf_format_R16d860e9(struct cvf_format*cvf_format);
int unregister_cvf_format_R20d4e855(struct cvf_format*cvf_format);
void dec_cvf_format_use_count_by_version(int version);
int detect_cvf(struct super_block*sb,char*force);

extern struct cvf_format *cvf_formats[];
extern int cvf_format_use_count[];
# 4 "/usr/src/linux-2.4.12-ac2/include/linux/msdos_fs_sb.h" 2





struct fat_mount_options {
        uid_t fs_uid;
        gid_t fs_gid;
        unsigned short fs_umask;
        unsigned short codepage;
        char *iocharset;
        unsigned short shortname;
        unsigned char name_check;
        unsigned char conversion;
        unsigned quiet:1,
                 showexec:1,
                 sys_immutable:1,
                 dotsOK:1,
                 isvfat:1,
                 utf8:1,
                 unicode_xlate:1,
                 posixfs:1,
                 numtail:1,
                 atari:1,
                 fat32:1,
                 nocase:1;
};

struct msdos_sb_info {
        unsigned short cluster_size;
        unsigned short cluster_bits;
        unsigned char fats,fat_bits;
        unsigned short fat_start;
        unsigned long fat_length;
        unsigned long dir_start;
        unsigned short dir_entries;
        unsigned long data_start;
        unsigned long clusters;
        unsigned long root_cluster;
        unsigned long fsinfo_sector;
        struct semaphore fat_lock;
        int prev_free;
        int free_clusters;
        struct fat_mount_options options;
        struct nls_table *nls_disk;
        struct nls_table *nls_io;
        struct cvf_format* cvf_format;
        void *dir_ops;
        void *private_data;
        int dir_per_block;
        int dir_per_block_bits;
};
# 676 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/iso_fs_sb.h" 1






struct isofs_sb_info {
        unsigned long s_ninodes;
        unsigned long s_nzones;
        unsigned long s_firstdatazone;
        unsigned long s_log_zone_size;
        unsigned long s_max_size;

        unsigned char s_high_sierra;
        unsigned char s_mapping;
        int s_rock_offset;
        unsigned char s_rock;
        unsigned char s_joliet_level;
        unsigned char s_utf8;
        unsigned char s_cruft;


        unsigned char s_unhide;
        unsigned char s_nosuid;
        unsigned char s_nodev;
        unsigned char s_nocompress;

        mode_t s_mode;
        gid_t s_gid;
        uid_t s_uid;
        struct nls_table *s_nls_iocharset;
};
# 677 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/nfs_fs_sb.h" 1






struct nfs_server {
        struct rpc_clnt * client;
        struct nfs_rpc_ops * rpc_ops;
        int flags;
        unsigned int rsize;
        unsigned int rpages;
        unsigned int wsize;
        unsigned int wpages;
        unsigned int dtsize;
        unsigned int bsize;
        unsigned int acregmin;
        unsigned int acregmax;
        unsigned int acdirmin;
        unsigned int acdirmax;
        unsigned int namelen;
        char * hostname;
        struct nfs_reqlist * rw_requests;
};




struct nfs_sb_info {
        struct nfs_server s_server;
};
# 678 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/sysv_fs_sb.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/sysv_fs_sb.h"
struct sysv_sb_info {
        int s_type;
        char s_bytesex;
        char s_truncate;

        nlink_t s_link_max;
        unsigned int s_inodes_per_block;
        unsigned int s_inodes_per_block_1;
        unsigned int s_inodes_per_block_bits;
        unsigned int s_ind_per_block;
        unsigned int s_ind_per_block_bits;
        unsigned int s_ind_per_block_2;
        unsigned int s_toobig_block;
        unsigned int s_block_base;
        unsigned short s_fic_size;
        unsigned short s_flc_size;

        struct buffer_head *s_bh1;
        struct buffer_head *s_bh2;


        char * s_sbd1;
        char * s_sbd2;
        u16 *s_sb_fic_count;
        u16 *s_sb_fic_inodes;
        u16 *s_sb_total_free_inodes;
        u16 *s_bcache_count;
        u32 *s_bcache;
        u32 *s_free_blocks;
        u32 *s_sb_time;
        u32 *s_sb_state;


        u32 s_firstinodezone;
        u32 s_firstdatazone;
        u32 s_ninodes;
        u32 s_ndatazones;
        u32 s_nzones;
        u16 s_namelen;
};
# 679 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/affs_fs_sb.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/affs_fs_sb.h"
struct affs_bm_info {
        u32 bm_key;
        u32 bm_free;
};

struct affs_sb_info {
        int s_partition_size;
        int s_reserved;

        u32 s_data_blksize;
        u32 s_root_block;
        int s_hashsize;
        unsigned long s_flags;
        uid_t s_uid;
        gid_t s_gid;
        umode_t s_mode;
        struct buffer_head *s_root_bh;
        struct semaphore s_bmlock;
        struct affs_bm_info *s_bitmap;
        u32 s_bmap_count;
        u32 s_bmap_bits;
        u32 s_last_bmap;
        struct buffer_head *s_bmap_bh;
        char *s_prefix;
        int s_prefix_len;
        char s_volume[32];
};
# 680 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs_sb.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs_sb.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h" 1
# 30 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 31 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
# 32 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/time.h" 1
# 33 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/stat.h" 1
# 34 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h" 2
# 237 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h"
struct ufs_timeval {
        __s32 tv_sec;
        __s32 tv_usec;
};

struct ufs_dir_entry {
        __u32 d_ino;
        __u16 d_reclen;
        union {
                __u16 d_namlen;
                struct {
                        __u8 d_type;
                        __u8 d_namlen;
                } d_44;
        } d_u;
        __u8 d_name[255 + 1];
};

struct ufs_csum {
        __u32 cs_ndir;
        __u32 cs_nbfree;
        __u32 cs_nifree;
        __u32 cs_nffree;
};




struct ufs_super_block {
        __u32 fs_link;
        __u32 fs_rlink;
        __u32 fs_sblkno;
        __u32 fs_cblkno;
        __u32 fs_iblkno;
        __u32 fs_dblkno;
        __u32 fs_cgoffset;
        __u32 fs_cgmask;
        __u32 fs_time;
        __u32 fs_size;
        __u32 fs_dsize;
        __u32 fs_ncg;
        __u32 fs_bsize;
        __u32 fs_fsize;
        __u32 fs_frag;

        __u32 fs_minfree;
        __u32 fs_rotdelay;
        __u32 fs_rps;

        __u32 fs_bmask;
        __u32 fs_fmask;
        __u32 fs_bshift;
        __u32 fs_fshift;

        __u32 fs_maxcontig;
        __u32 fs_maxbpg;

        __u32 fs_fragshift;
        __u32 fs_fsbtodb;
        __u32 fs_sbsize;
        __u32 fs_csmask;
        __u32 fs_csshift;
        __u32 fs_nindir;
        __u32 fs_inopb;
        __u32 fs_nspf;

        __u32 fs_optim;

        union {
                struct {
                        __u32 fs_npsect;
                } fs_sun;
                struct {
                        __s32 fs_state;
                } fs_sunx86;
        } fs_u1;
        __u32 fs_interleave;
        __u32 fs_trackskew;




        __u32 fs_id[2];

        __u32 fs_csaddr;
        __u32 fs_cssize;
        __u32 fs_cgsize;

        __u32 fs_ntrak;
        __u32 fs_nsect;
        __u32 fs_spc;

        __u32 fs_ncyl;

        __u32 fs_cpg;
        __u32 fs_ipg;
        __u32 fs_fpg;

        struct ufs_csum fs_cstotal;

        __s8 fs_fmod;
        __s8 fs_clean;
        __s8 fs_ronly;
        __s8 fs_flags;
        __s8 fs_fsmnt[512];

        __u32 fs_cgrotor;
        __u32 fs_csp[31];
        __u32 fs_maxcluster;
        __u32 fs_cpc;
        __u16 fs_opostbl[16][8];
        union {
                struct {
                        __s32 fs_sparecon[53];
                        __s32 fs_reclaim;
                        __s32 fs_sparecon2[1];
                        __s32 fs_state;
                        __u32 fs_qbmask[2];
                        __u32 fs_qfmask[2];
                } fs_sun;
                struct {
                        __s32 fs_sparecon[53];
                        __s32 fs_reclaim;
                        __s32 fs_sparecon2[1];
                        __u32 fs_npsect;
                        __u32 fs_qbmask[2];
                        __u32 fs_qfmask[2];
                } fs_sunx86;
                struct {
                        __s32 fs_sparecon[50];
                        __s32 fs_contigsumsize;
                        __s32 fs_maxsymlinklen;
                        __s32 fs_inodefmt;
                        __u32 fs_maxfilesize[2];
                        __u32 fs_qbmask[2];
                        __u32 fs_qfmask[2];
                        __s32 fs_state;
                } fs_44;
        } fs_u2;
        __s32 fs_postblformat;
        __s32 fs_nrpos;
        __s32 fs_postbloff;
        __s32 fs_rotbloff;
        __s32 fs_magic;
        __u8 fs_space[1];
};
# 415 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h"
struct ufs_cylinder_group {
        __u32 cg_link;
        __u32 cg_magic;
        __u32 cg_time;
        __u32 cg_cgx;
        __u16 cg_ncyl;
        __u16 cg_niblk;
        __u32 cg_ndblk;
        struct ufs_csum cg_cs;
        __u32 cg_rotor;
        __u32 cg_frotor;
        __u32 cg_irotor;
        __u32 cg_frsum[(8192 / 1024)];
        __u32 cg_btotoff;
        __u32 cg_boff;
        __u32 cg_iusedoff;
        __u32 cg_freeoff;
        __u32 cg_nextfreeoff;
        union {
                struct {
                        __u32 cg_clustersumoff;
                        __u32 cg_clusteroff;
                        __u32 cg_nclusterblks;
                        __u32 cg_sparecon[13];
                } cg_44;
                __u32 cg_sparecon[16];
        } cg_u;
        __u8 cg_space[1];

};




struct ufs_inode {
        __u16 ui_mode;
        __u16 ui_nlink;
        union {
                struct {
                        __u16 ui_suid;
                        __u16 ui_sgid;
                } oldids;
                __u32 ui_inumber;
                __u32 ui_author;
        } ui_u1;
        __u64 ui_size;
        struct ufs_timeval ui_atime;
        struct ufs_timeval ui_mtime;
        struct ufs_timeval ui_ctime;
        union {
                struct {
                        __u32 ui_db[12];
                        __u32 ui_ib[3];
                } ui_addr;
                __u8 ui_symlink[4*(12 +3)];
        } ui_u2;
        __u32 ui_flags;
        __u32 ui_blocks;
        __u32 ui_gen;
        union {
                struct {
                        __u32 ui_shadow;
                        __u32 ui_uid;
                        __u32 ui_gid;
                        __u32 ui_oeftflag;
                } ui_sun;
                struct {
                        __u32 ui_uid;
                        __u32 ui_gid;
                        __s32 ui_spare[2];
                } ui_44;
                struct {
                        __u32 ui_uid;
                        __u32 ui_gid;
                        __u16 ui_modeh;
                        __u16 ui_spare;
                        __u32 ui_trans;
                } ui_hurd;
        } ui_u3;
};
# 514 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs.h"
extern void ufs_free_fragments (struct inode *, unsigned, unsigned);
extern void ufs_free_blocks (struct inode *, unsigned, unsigned);
extern unsigned ufs_new_fragments (struct inode *, u32 *, unsigned, unsigned, unsigned, int *);


extern struct ufs_cg_private_info * ufs_load_cylinder (struct super_block *, unsigned);
extern void ufs_put_cylinder (struct super_block *, unsigned);


extern struct inode_operations ufs_dir_inode_operations;
extern int ufs_check_dir_entry (const char *, struct inode *, struct ufs_dir_entry *, struct buffer_head *, unsigned long);
extern int ufs_add_link (struct dentry *, struct inode *);
extern ino_t ufs_inode_by_name(struct inode *, struct dentry *);
extern int ufs_make_empty(struct inode *, struct inode *);
extern struct ufs_dir_entry * ufs_find_entry (struct dentry *, struct buffer_head **);
extern int ufs_delete_entry (struct inode *, struct ufs_dir_entry *, struct buffer_head *);
extern int ufs_empty_dir (struct inode *);
extern struct ufs_dir_entry * ufs_dotdot (struct inode *, struct buffer_head **);
extern void ufs_set_link(struct inode *, struct ufs_dir_entry *, struct buffer_head *, struct inode *);


extern struct inode_operations ufs_file_inode_operations;
extern struct file_operations ufs_file_operations;

extern struct address_space_operations ufs_aops;


extern void ufs_free_inode (struct inode *inode);
extern struct inode * ufs_new_inode (const struct inode *, int);


extern int ufs_frag_map (struct inode *, int);
extern void ufs_read_inode (struct inode *);
extern void ufs_put_inode (struct inode *);
extern void ufs_write_inode (struct inode *, int);
extern int ufs_sync_inode (struct inode *);
extern void ufs_delete_inode (struct inode *);
extern struct buffer_head * ufs_getfrag (struct inode *, unsigned, int, int *);
extern struct buffer_head * ufs_bread (struct inode *, unsigned, int, int *);


extern struct file_operations ufs_dir_operations;


extern struct file_system_type ufs_fs_type;
extern void ufs_warning (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
extern void ufs_error (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
extern void ufs_panic (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4)));
extern void ufs_write_super (struct super_block *);


extern struct inode_operations ufs_fast_symlink_inode_operations;


extern void ufs_truncate (struct inode *);
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/ufs_fs_sb.h" 2





struct ufs_buffer_head {
        unsigned fragment;
        unsigned count;
        struct buffer_head * bh[(8192 / 1024)];
};

struct ufs_cg_private_info {
        struct ufs_cylinder_group ucg;
        __u32 c_cgx;
        __u16 c_ncyl;
        __u16 c_niblk;
        __u32 c_ndblk;
        __u32 c_rotor;
        __u32 c_frotor;
        __u32 c_irotor;
        __u32 c_btotoff;
        __u32 c_boff;
        __u32 c_iusedoff;
        __u32 c_freeoff;
        __u32 c_nextfreeoff;
        __u32 c_clustersumoff;
        __u32 c_clusteroff;
        __u32 c_nclusterblks;
};

struct ufs_sb_private_info {
        struct ufs_buffer_head s_ubh;
        __u32 s_sblkno;
        __u32 s_cblkno;
        __u32 s_iblkno;
        __u32 s_dblkno;
        __u32 s_cgoffset;
        __u32 s_cgmask;
        __u32 s_size;
        __u32 s_dsize;
        __u32 s_ncg;
        __u32 s_bsize;
        __u32 s_fsize;
        __u32 s_fpb;
        __u32 s_minfree;
        __u32 s_bmask;
        __u32 s_fmask;
        __u32 s_bshift;
        __u32 s_fshift;
        __u32 s_fpbshift;
        __u32 s_fsbtodb;
        __u32 s_sbsize;
        __u32 s_csmask;
        __u32 s_csshift;
        __u32 s_nindir;
        __u32 s_inopb;
        __u32 s_nspf;
        __u32 s_npsect;
        __u32 s_interleave;
        __u32 s_trackskew;
        __u32 s_csaddr;
        __u32 s_cssize;
        __u32 s_cgsize;
        __u32 s_ntrak;
        __u32 s_nsect;
        __u32 s_spc;
        __u32 s_ipg;
        __u32 s_fpg;
        __u32 s_cpc;
        __s32 s_contigsumsize;
        __s64 s_qbmask;
        __s64 s_qfmask;
        __s32 s_postblformat;
        __s32 s_nrpos;
        __s32 s_postbloff;
        __s32 s_rotbloff;

        __u32 s_fpbmask;
        __u32 s_apb;
        __u32 s_2apb;
        __u32 s_3apb;
        __u32 s_apbmask;
        __u32 s_apbshift;
        __u32 s_2apbshift;
        __u32 s_3apbshift;
        __u32 s_nspfshift;
        __u32 s_nspb;
        __u32 s_inopf;
        __u32 s_sbbase;
        __u32 s_bpf;
        __u32 s_bpfshift;
        __u32 s_bpfmask;

        __u32 s_maxsymlinklen;
};





struct ufs_sb_info {
        struct ufs_sb_private_info * s_uspi;
        struct ufs_csum * s_csp[31];
        char s_bytesex;
        unsigned s_flags;
        struct buffer_head ** s_ucg;
        struct ufs_cg_private_info * s_ucpi[8];
        unsigned s_cgno[8];
        unsigned short s_cg_loaded;
        unsigned s_mount_opt;
};







struct ufs_super_block_first {
        __u32 fs_link;
        __u32 fs_rlink;
        __u32 fs_sblkno;
        __u32 fs_cblkno;
        __u32 fs_iblkno;
        __u32 fs_dblkno;
        __u32 fs_cgoffset;
        __u32 fs_cgmask;
        __u32 fs_time;
        __u32 fs_size;
        __u32 fs_dsize;
        __u32 fs_ncg;
        __u32 fs_bsize;
        __u32 fs_fsize;
        __u32 fs_frag;
        __u32 fs_minfree;
        __u32 fs_rotdelay;
        __u32 fs_rps;
        __u32 fs_bmask;
        __u32 fs_fmask;
        __u32 fs_bshift;
        __u32 fs_fshift;
        __u32 fs_maxcontig;
        __u32 fs_maxbpg;
        __u32 fs_fragshift;
        __u32 fs_fsbtodb;
        __u32 fs_sbsize;
        __u32 fs_csmask;
        __u32 fs_csshift;
        __u32 fs_nindir;
        __u32 fs_inopb;
        __u32 fs_nspf;
        __u32 fs_optim;
        union {
                struct {
                        __u32 fs_npsect;
                } fs_sun;
                struct {
                        __s32 fs_state;
                } fs_sunx86;
        } fs_u1;
        __u32 fs_interleave;
        __u32 fs_trackskew;
        __u32 fs_id[2];
        __u32 fs_csaddr;
        __u32 fs_cssize;
        __u32 fs_cgsize;
        __u32 fs_ntrak;
        __u32 fs_nsect;
        __u32 fs_spc;
        __u32 fs_ncyl;
        __u32 fs_cpg;
        __u32 fs_ipg;
        __u32 fs_fpg;
        struct ufs_csum fs_cstotal;
        __s8 fs_fmod;
        __s8 fs_clean;
        __s8 fs_ronly;
        __s8 fs_flags;
        __s8 fs_fsmnt[512 - 212];

};

struct ufs_super_block_second {
        __s8 fs_fsmnt[212];
        __u32 fs_cgrotor;
        __u32 fs_csp[31];
        __u32 fs_maxcluster;
        __u32 fs_cpc;
        __u16 fs_opostbl[82];
};

struct ufs_super_block_third {
        __u16 fs_opostbl[46];
        union {
                struct {
                        __s32 fs_sparecon[53];
                        __s32 fs_reclaim;
                        __s32 fs_sparecon2[1];
                        __s32 fs_state;
                        __u32 fs_qbmask[2];
                        __u32 fs_qfmask[2];
                } fs_sun;
                struct {
                        __s32 fs_sparecon[53];
                        __s32 fs_reclaim;
                        __s32 fs_sparecon2[1];
                        __u32 fs_npsect;
                        __u32 fs_qbmask[2];
                        __u32 fs_qfmask[2];
                } fs_sunx86;
                struct {
                        __s32 fs_sparecon[50];
                        __s32 fs_contigsumsize;
                        __s32 fs_maxsymlinklen;
                        __s32 fs_inodefmt;
                        __u32 fs_maxfilesize[2];
                        __u32 fs_qbmask[2];
                        __u32 fs_qfmask[2];
                        __s32 fs_state;
                } fs_44;
        } fs_u2;
        __s32 fs_postblformat;
        __s32 fs_nrpos;
        __s32 fs_postbloff;
        __s32 fs_rotbloff;
        __s32 fs_magic;
        __u8 fs_space[1];
};
# 681 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/efs_fs_sb.h" 1
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/efs_fs_sb.h"
struct efs_super {
        int32_t fs_size;
        int32_t fs_firstcg;
        int32_t fs_cgfsize;
        short fs_cgisize;
        short fs_sectors;
        short fs_heads;
        short fs_ncg;
        short fs_dirty;
        int32_t fs_time;
        int32_t fs_magic;
        char fs_fname[6];
        char fs_fpack[6];
        int32_t fs_bmsize;
        int32_t fs_tfree;
        int32_t fs_tinode;
        int32_t fs_bmblock;
        int32_t fs_replsb;
        int32_t fs_lastialloc;
        char fs_spare[20];
        int32_t fs_checksum;
};


struct efs_sb_info {
        int32_t fs_magic;
        int32_t fs_start;
        int32_t first_block;
        int32_t total_blocks;
        int32_t group_size;
        int32_t data_free;
        int32_t inode_free;
        short inode_blocks;
        short total_groups;
};
# 682 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/romfs_fs_sb.h" 1





struct romfs_sb_info {
        unsigned long s_maxsize;
};
# 683 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/smb_fs_sb.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/smb_fs_sb.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/smb_fs_sb.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/smb.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/smb.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/smb.h" 2

enum smb_protocol {
        SMB_PROTOCOL_NONE,
        SMB_PROTOCOL_CORE,
        SMB_PROTOCOL_COREPLUS,
        SMB_PROTOCOL_LANMAN1,
        SMB_PROTOCOL_LANMAN2,
        SMB_PROTOCOL_NT1
};

enum smb_case_hndl {
        SMB_CASE_DEFAULT,
        SMB_CASE_LOWER,
        SMB_CASE_UPPER
};

struct smb_dskattr {
        __u16 total;
        __u16 allocblocks;
        __u16 blocksize;
        __u16 free;
};

struct smb_conn_opt {


        unsigned int fd;

        enum smb_protocol protocol;
        enum smb_case_hndl case_handling;



        __u32 max_xmit;
        __u16 server_uid;
        __u16 tid;


        __u16 secmode;
        __u16 maxmux;
        __u16 maxvcs;
        __u16 rawmode;
        __u32 sesskey;


        __u32 maxraw;
        __u32 capabilities;
        __s16 serverzone;
};




struct smb_nls_codepage {
        char local_name[20];
        char remote_name[20];
};
# 78 "/usr/src/linux-2.4.12-ac2/include/linux/smb.h"
struct smb_fattr {

        __u16 attr;

        unsigned long f_ino;
        umode_t f_mode;
        nlink_t f_nlink;
        uid_t f_uid;
        gid_t f_gid;
        kdev_t f_rdev;
        off_t f_size;
        time_t f_atime;
        time_t f_mtime;
        time_t f_ctime;
        unsigned long f_blksize;
        unsigned long f_blocks;
};

enum smb_conn_state {
        CONN_VALID,
        CONN_INVALID,

        CONN_RETRIED,
        CONN_RETRYING
};
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/smb_fs_sb.h" 2







struct smb_sb_info {
        enum smb_conn_state state;
        struct file * sock_file;

        struct smb_mount_data_kernel *mnt;
        unsigned char *temp_buf;




        unsigned int generation;
        pid_t conn_pid;
        struct smb_conn_opt opt;

        struct semaphore sem;
        wait_queue_head_t wait;

        __u32 packet_size;
        unsigned char * packet;
        unsigned short rcls;
        unsigned short err;


        void *data_ready;


        struct nls_table *remote_nls;
        struct nls_table *local_nls;




        char *name_buf;

        int (*convert)(char *, int, const char *, int,
                       struct nls_table *, struct nls_table *);
};


static inline void
smb_lock_server(struct smb_sb_info *server)
{
        down(&(server->sem));
}

static inline void
smb_unlock_server(struct smb_sb_info *server)
{
        up(&(server->sem));
}
# 684 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/hfs_fs_sb.h" 1
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/hfs_fs_sb.h"
struct hfs_name;

typedef int (*hfs_namein_fn) (char *, const struct hfs_name *);
typedef void (*hfs_nameout_fn) (struct hfs_name *, const char *, int);
typedef void (*hfs_ifill_fn) (struct inode *, ino_t, const int);






struct hfs_sb_info {
        int magic;
        struct hfs_mdb *s_mdb;
        int s_quiet;

        int s_lowercase;
        int s_afpd;
        int s_version;
        hfs_namein_fn s_namein;


        hfs_nameout_fn s_nameout;


        hfs_ifill_fn s_ifill;

        const struct hfs_name *s_reserved1;
        const struct hfs_name *s_reserved2;
        __u32 s_type;
        __u32 s_creator;
        umode_t s_umask;

        uid_t s_uid;
        gid_t s_gid;
        char s_conv;
};
# 685 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/adfs_fs_sb.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/adfs_fs_sb.h"
struct adfs_discmap;
struct adfs_dir_ops;




struct adfs_sb_info {
        struct adfs_discmap *s_map;
        struct adfs_dir_ops *s_dir;

        uid_t s_uid;
        gid_t s_gid;
        umode_t s_owner_mask;
        umode_t s_other_mask;

        __u32 s_ids_per_zone;
        __u32 s_idlen;
        __u32 s_map_size;
        unsigned long s_size;
        signed int s_map2blk;
        unsigned int s_log2sharesize;
        unsigned int s_version;
        unsigned int s_namelen;
};
# 686 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs_sb.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs_sb.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/qnxtypes.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs.h" 2
# 45 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs.h"
struct qnx4_inode_entry {
        char di_fname[16];
        qnx4_off_t di_size;
        qnx4_xtnt_t di_first_xtnt;
        __u32 di_xblk;
        __s32 di_ftime;
        __s32 di_mtime;
        __s32 di_atime;
        __s32 di_ctime;
        qnx4_nxtnt_t di_num_xtnts;
        qnx4_mode_t di_mode;
        qnx4_muid_t di_uid;
        qnx4_mgid_t di_gid;
        qnx4_nlink_t di_nlink;
        __u8 di_zero[4];
        qnx4_ftype_t di_type;
        __u8 di_status;
};

struct qnx4_link_info {
        char dl_fname[48];
        __u32 dl_inode_blk;
        __u8 dl_inode_ndx;
        __u8 dl_spare[10];
        __u8 dl_status;
};

struct qnx4_xblk {
        __u32 xblk_next_xblk;
        __u32 xblk_prev_xblk;
        __u8 xblk_num_xtnts;
        __u8 xblk_spare[3];
        __s32 xblk_num_blocks;
        qnx4_xtnt_t xblk_xtnts[60];
        char xblk_signature[8];
        qnx4_xtnt_t xblk_first_xtnt;
};

struct qnx4_super_block {
        struct qnx4_inode_entry RootDir;
        struct qnx4_inode_entry Inode;
        struct qnx4_inode_entry Boot;
        struct qnx4_inode_entry AltBoot;
};
# 100 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs.h"
extern struct dentry *qnx4_lookup(struct inode *dir, struct dentry *dentry);
extern unsigned long qnx4_count_free_blocks(struct super_block *sb);
extern unsigned long qnx4_block_map(struct inode *inode, long iblock);

extern struct buffer_head *qnx4_getblk(struct inode *, int, int);
extern struct buffer_head *qnx4_bread(struct inode *, int, int);

extern int qnx4_create(struct inode *dir, struct dentry *dentry, int mode);
extern struct inode_operations qnx4_file_inode_operations;
extern struct inode_operations qnx4_dir_inode_operations;
extern struct file_operations qnx4_file_operations;
extern struct file_operations qnx4_dir_operations;
extern int qnx4_is_free(struct super_block *sb, long block);
extern int qnx4_set_bitmap(struct super_block *sb, long block, int busy);
extern int qnx4_create(struct inode *inode, struct dentry *dentry, int mode);
extern void qnx4_truncate(struct inode *inode);
extern void qnx4_free_inode(struct inode *inode);
extern int qnx4_unlink(struct inode *dir, struct dentry *dentry);
extern int qnx4_rmdir(struct inode *dir, struct dentry *dentry);
extern int qnx4_sync_file(struct file *file, struct dentry *dentry, int);
extern int qnx4_sync_inode(struct inode *inode);
extern int qnx4_get_block(struct inode *inode, long iblock, struct buffer_head *bh, int create);
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/qnx4_fs_sb.h" 2





struct qnx4_sb_info {
        struct buffer_head *sb_buf;
        struct qnx4_super_block *sb;
        unsigned int Version;
        struct qnx4_inode_entry *BitMap;
};
# 687 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_sb.h" 1







# 1 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h" 1
# 16 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h" 2
# 38 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h"
struct tq_struct {
        struct list_head list;
        unsigned long sync;
        void (*routine)(void *);
        void *data;
};
# 64 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h"
typedef struct list_head task_queue;




extern task_queue tq_timer_Rfa3e9acc, tq_immediate_R0da0dcd1, tq_disk_R5373dbb6;
# 94 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h"
extern spinlock_t tqueue_lock;





static inline int queue_task(struct tq_struct *bh_pointer, task_queue *bh_list)
{
        int ret = 0;
        if (!test_and_set_bit(0,&bh_pointer->sync)) {
                unsigned long flags;
                do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&tqueue_lock); } while (0);
                list_add_tail(&bh_pointer->list, bh_list);
                do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
                ret = 1;
        }
        return ret;
}





extern void __run_task_queue_R3889b11c(task_queue *list);

static inline void run_task_queue(task_queue *list)
{
        if ((!list_empty(&*list)))
                __run_task_queue_R3889b11c(list);
}
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_sb.h" 2
# 26 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_sb.h"
struct reiserfs_super_block
{
  __u32 s_block_count;
  __u32 s_free_blocks;
  __u32 s_root_block;
  __u32 s_journal_block;
  __u32 s_journal_dev;
# 43 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_sb.h"
  __u32 s_orig_journal_size;
  __u32 s_journal_trans_max ;
  __u32 s_journal_block_count ;
  __u32 s_journal_max_batch ;
  __u32 s_journal_max_commit_age ;
  __u32 s_journal_max_trans_age ;
  __u16 s_blocksize;
  __u16 s_oid_maxsize;
  __u16 s_oid_cursize;
  __u16 s_state;
  char s_magic[12];
  __u32 s_hash_function_code;
  __u16 s_tree_height;
  __u16 s_bmap_nr;
  __u16 s_version;




  __u16 s_reserved;
  __u32 s_inode_generation;
  char s_unused[124] ;
} __attribute__ ((__packed__));
# 121 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_sb.h"
struct reiserfs_super_block_v1
{
  __u32 s_block_count;
  __u32 s_free_blocks;
  __u32 s_root_block;
  __u32 s_journal_block;
  __u32 s_journal_dev;
  __u32 s_orig_journal_size;
  __u32 s_journal_trans_max ;
  __u32 s_journal_block_count ;
  __u32 s_journal_max_batch ;
  __u32 s_journal_max_commit_age ;
  __u32 s_journal_max_trans_age ;
  __u16 s_blocksize;
  __u16 s_oid_maxsize;
  __u16 s_oid_cursize;
  __u16 s_state;
  char s_magic[16];
  __u16 s_tree_height;
  __u16 s_bmap_nr;
  __u32 s_reserved;
} __attribute__ ((__packed__));
# 200 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_sb.h"
struct reiserfs_journal_cnode {
  struct buffer_head *bh ;
  kdev_t dev ;
  unsigned long blocknr ;
  int state ;
  struct reiserfs_journal_list *jlist ;
  struct reiserfs_journal_cnode *next ;
  struct reiserfs_journal_cnode *prev ;
  struct reiserfs_journal_cnode *hprev ;
  struct reiserfs_journal_cnode *hnext ;
};

struct reiserfs_bitmap_node {
  int id ;
  char *data ;
  struct list_head list ;
} ;

struct reiserfs_list_bitmap {
  struct reiserfs_journal_list *journal_list ;
  struct reiserfs_bitmap_node **bitmaps ;
} ;




struct reiserfs_transaction_handle {

  char *t_caller ;
  int t_blocks_logged ;
  int t_blocks_allocated ;
  unsigned long t_trans_id ;
  struct super_block *t_super ;

} ;







struct reiserfs_journal_list {
  unsigned long j_start ;
  unsigned long j_len ;
  atomic_t j_nonzerolen ;
  atomic_t j_commit_left ;
  atomic_t j_flushing ;
  atomic_t j_commit_flushing ;
  atomic_t j_older_commits_done ;
  unsigned long j_trans_id ;
  time_t j_timestamp ;
  struct reiserfs_list_bitmap *j_list_bitmap ;
  struct buffer_head *j_commit_bh ;
  struct reiserfs_journal_cnode *j_realblock ;
  struct reiserfs_journal_cnode *j_freedlist ;
  wait_queue_head_t j_commit_wait ;
  wait_queue_head_t j_flush_wait ;
} ;

struct reiserfs_page_list ;

struct reiserfs_journal {
  struct buffer_head ** j_ap_blocks ;
  struct reiserfs_journal_cnode *j_last ;
  struct reiserfs_journal_cnode *j_first ;

  int j_state ;
  unsigned long j_trans_id ;
  unsigned long j_mount_id ;
  unsigned long j_start ;
  unsigned long j_len ;
  unsigned long j_len_alloc ;
  atomic_t j_wcount ;
  unsigned long j_bcount ;
  unsigned long j_first_unflushed_offset ;
  unsigned long j_last_flush_trans_id ;
  struct buffer_head *j_header_bh ;




  struct reiserfs_page_list *j_flush_pages ;
  time_t j_trans_start_time ;
  wait_queue_head_t j_wait ;
  atomic_t j_wlock ;
  wait_queue_head_t j_join_wait ;
  atomic_t j_jlock ;
  int j_journal_list_index ;
  int j_list_bitmap_index ;
  int j_must_wait ;
  int j_next_full_flush ;
  int j_next_async_flush ;

  int j_cnode_used ;
  int j_cnode_free ;

  struct reiserfs_journal_cnode *j_cnode_free_list ;
  struct reiserfs_journal_cnode *j_cnode_free_orig ;

  int j_free_bitmap_nodes ;
  int j_used_bitmap_nodes ;
  struct list_head j_bitmap_nodes ;
  struct inode j_dummy_inode ;
  struct reiserfs_list_bitmap j_list_bitmap[5] ;
  struct reiserfs_journal_list j_journal_list[64] ;
  struct reiserfs_journal_cnode *j_hash_table[8192] ;
  struct reiserfs_journal_cnode *j_list_hash_table[8192] ;

  struct list_head j_prealloc_list;
};




typedef __u32 (*hashf_t) (const signed char *, int);


struct reiserfs_sb_info
{
    struct buffer_head * s_sbh;


    struct reiserfs_super_block * s_rs;
    struct buffer_head ** s_ap_bitmap;
    struct reiserfs_journal *s_journal ;
    unsigned short s_mount_state;


    void (*end_io_handler)(struct buffer_head *, int);
    hashf_t s_hash_function;


    unsigned long s_mount_opt;




    wait_queue_head_t s_wait;

    atomic_t s_generation_counter;



    int s_kmallocs;
    int s_disk_reads;
    int s_disk_writes;
    int s_fix_nodes;
    int s_do_balance;
    int s_unneeded_left_neighbor;
    int s_good_search_by_key_reada;
    int s_bmaps;
    int s_bmaps_without_search;
    int s_direct2indirect;
    int s_indirect2direct;
};
# 410 "/usr/src/linux-2.4.12-ac2/include/linux/reiserfs_fs_sb.h"
void reiserfs_file_buffer (struct buffer_head * bh, int list);
int reiserfs_is_super(struct super_block *s) ;
int journal_mark_dirty(struct reiserfs_transaction_handle *, struct super_block *, struct buffer_head *bh) ;
int flush_old_commits(struct super_block *s, int) ;
int show_reiserfs_locks(void) ;
int reiserfs_resize(struct super_block *, unsigned long) ;
# 688 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/bfs_fs_sb.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/bfs_fs_sb.h"
struct bfs_sb_info {
        unsigned long si_blocks;
        unsigned long si_freeb;
        unsigned long si_freei;
        unsigned long si_lf_ioff;
        unsigned long si_lf_sblk;
        unsigned long si_lf_eblk;
        unsigned long si_lasti;
        char * si_imap;
        struct buffer_head * si_sbh;
        struct bfs_super_block * si_bfs_sb;
};
# 689 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/udf_fs_sb.h" 1
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/udf_fs_sb.h"
#pragma pack(1)
# 34 "/usr/src/linux-2.4.12-ac2/include/linux/udf_fs_sb.h"
struct udf_sparing_data
{
        __u16 s_packet_len;
        struct buffer_head *s_spar_map[4];
};

struct udf_virtual_data
{
        __u32 s_num_entries;
        __u16 s_start_offset;
};

struct udf_bitmap
{
        __u32 s_extLength;
        __u32 s_extPosition;
        __u16 s_nr_groups;
        struct buffer_head **s_block_bitmap;
};

struct udf_part_map
{
        union
        {
                struct udf_bitmap *s_bitmap;
                struct inode *s_table;
        } s_uspace;
        union
        {
                struct udf_bitmap *s_bitmap;
                struct inode *s_table;
        } s_fspace;
        __u32 s_partition_root;
        __u32 s_partition_len;
        __u16 s_partition_type;
        __u16 s_partition_num;
        union
        {
                struct udf_sparing_data s_sparing;
                struct udf_virtual_data s_virtual;
        } s_type_specific;
        __u32 (*s_partition_func)(struct super_block *, __u32, __u16, __u32);
        __u16 s_volumeseqnum;
        __u16 s_partition_flags;
};

#pragma pack()

struct udf_sb_info
{
        struct udf_part_map *s_partmaps;
        __u8 s_volident[32];


        __u16 s_partitions;
        __u16 s_partition;


        __u32 s_session;
        __u32 s_anchor[4];
        __u32 s_lastblock;

        struct buffer_head *s_lvidbh;


        mode_t s_umask;
        gid_t s_gid;
        uid_t s_uid;


        time_t s_recordtime;


        __u16 s_serialnum;


        __u16 s_udfrev;


        __u32 s_flags;


        struct nls_table *s_nls_map;


        struct inode *s_vat;
};
# 690 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_fs_sb.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_fs_sb.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_fs_sb.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_mount.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_mount.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_mount.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ncp.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/ncp.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/ncp.h" 2
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/ncp.h"
struct ncp_request_header {
        __u16 type __attribute__((packed));
        __u8 sequence __attribute__((packed));
        __u8 conn_low __attribute__((packed));
        __u8 task __attribute__((packed));
        __u8 conn_high __attribute__((packed));
        __u8 function __attribute__((packed));
        __u8 data[0] __attribute__((packed));
};




struct ncp_reply_header {
        __u16 type __attribute__((packed));
        __u8 sequence __attribute__((packed));
        __u8 conn_low __attribute__((packed));
        __u8 task __attribute__((packed));
        __u8 conn_high __attribute__((packed));
        __u8 completion_code __attribute__((packed));
        __u8 connection_state __attribute__((packed));
        __u8 data[0] __attribute__((packed));
};



struct ncp_volume_info {
        __u32 total_blocks;
        __u32 free_blocks;
        __u32 purgeable_blocks;
        __u32 not_yet_purgeable_blocks;
        __u32 total_dir_entries;
        __u32 available_dir_entries;
        __u8 sectors_per_block;
        char volume_name[(16) + 1];
};
# 112 "/usr/src/linux-2.4.12-ac2/include/linux/ncp.h"
struct nw_info_struct {
        __u32 spaceAlloc __attribute__((packed));
        __u32 attributes __attribute__((packed));
        __u16 flags __attribute__((packed));
        __u32 dataStreamSize __attribute__((packed));
        __u32 totalStreamSize __attribute__((packed));
        __u16 numberOfStreams __attribute__((packed));
        __u16 creationTime __attribute__((packed));
        __u16 creationDate __attribute__((packed));
        __u32 creatorID __attribute__((packed));
        __u16 modifyTime __attribute__((packed));
        __u16 modifyDate __attribute__((packed));
        __u32 modifierID __attribute__((packed));
        __u16 lastAccessDate __attribute__((packed));
        __u16 archiveTime __attribute__((packed));
        __u16 archiveDate __attribute__((packed));
        __u32 archiverID __attribute__((packed));
        __u16 inheritedRightsMask __attribute__((packed));
        __u32 dirEntNum __attribute__((packed));
        __u32 DosDirNum __attribute__((packed));
        __u32 volNumber __attribute__((packed));
        __u32 EADataSize __attribute__((packed));
        __u32 EAKeyCount __attribute__((packed));
        __u32 EAKeySize __attribute__((packed));
        __u32 NSCreator __attribute__((packed));
        __u8 nameLen __attribute__((packed));
        __u8 entryName[256] __attribute__((packed));
};
# 156 "/usr/src/linux-2.4.12-ac2/include/linux/ncp.h"
struct nw_modify_dos_info {
        __u32 attributes __attribute__((packed));
        __u16 creationDate __attribute__((packed));
        __u16 creationTime __attribute__((packed));
        __u32 creatorID __attribute__((packed));
        __u16 modifyDate __attribute__((packed));
        __u16 modifyTime __attribute__((packed));
        __u32 modifierID __attribute__((packed));
        __u16 archiveDate __attribute__((packed));
        __u16 archiveTime __attribute__((packed));
        __u32 archiverID __attribute__((packed));
        __u16 lastAccessDate __attribute__((packed));
        __u16 inheritanceGrantMask __attribute__((packed));
        __u16 inheritanceRevokeMask __attribute__((packed));
        __u32 maximumSpace __attribute__((packed));
};

struct nw_search_sequence {
        __u8 volNumber __attribute__((packed));
        __u32 dirBase __attribute__((packed));
        __u32 sequence __attribute__((packed));
};
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_mount.h" 2
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_mount.h"
struct ncp_mount_data {
        int version;
        unsigned int ncp_fd;
        __kernel_uid_t mounted_uid;
        __kernel_pid_t wdog_pid;

        unsigned char mounted_vol[(16) + 1];
        unsigned int time_out;

        unsigned int retry_count;
        unsigned int flags;

        __kernel_uid_t uid;
        __kernel_gid_t gid;
        __kernel_mode_t file_mode;
        __kernel_mode_t dir_mode;
};



struct ncp_mount_data_v4 {
        int version;
        unsigned long flags;


        unsigned long mounted_uid;

        long wdog_pid;

        unsigned int ncp_fd;
        unsigned int time_out;

        unsigned int retry_count;



        unsigned long uid;
        unsigned long gid;

        unsigned long file_mode;
        unsigned long dir_mode;
};



struct ncp_mount_data_kernel {
        unsigned long flags;
        unsigned int int_flags;

        __kernel_uid32_t mounted_uid;
        __kernel_pid_t wdog_pid;
        unsigned int ncp_fd;
        unsigned int time_out;

        unsigned int retry_count;
        unsigned char mounted_vol[(16) + 1];
        __kernel_uid32_t uid;
        __kernel_gid32_t gid;
        __kernel_mode_t file_mode;
        __kernel_mode_t dir_mode;
};
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_fs_sb.h" 2





struct ncp_server {

        struct ncp_mount_data_kernel m;



        __u8 name_space[(64) + 2];

        struct file *ncp_filp;

        u8 sequence;
        u8 task;
        u16 connection;

        u8 completion;
        u8 conn_status;



        int buffer_size;

        int reply_size;

        int packet_size;
        unsigned char *packet;


        int lock;
        struct semaphore sem;

        int current_size;
        int has_subfunction;
        int ncp_reply_size;

        int root_setuped;


        int sign_wanted;
        int sign_active;
        char sign_root[8];
        char sign_last[16];


        struct {
                int auth_type;
                size_t object_name_len;
                void* object_name;
                int object_type;
        } auth;

        struct {
                size_t len;
                void* data;
        } priv;


        struct nls_table *nls_vol;
        struct nls_table *nls_io;


        int dentry_ttl;


        unsigned int flags;
};
# 92 "/usr/src/linux-2.4.12-ac2/include/linux/ncp_fs_sb.h"
static inline int ncp_conn_valid(struct ncp_server *server)
{
        return ((server->conn_status & 0x11) == 0);
}

static inline void ncp_invalidate_conn(struct ncp_server *server)
{
        server->conn_status |= 0x01;
}
# 691 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/usbdev_fs_sb.h" 1
struct usbdev_sb_info {
        struct list_head slist;
        struct list_head ilist;
        uid_t devuid;
        gid_t devgid;
        umode_t devmode;
        uid_t busuid;
        gid_t busgid;
        umode_t busmode;
        uid_t listuid;
        gid_t listgid;
        umode_t listmode;
};
# 692 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_sb.h" 1





# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 7 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_sb.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
# 8 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_sb.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/completion.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/completion.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/completion.h" 2

struct completion {
        unsigned int done;
        wait_queue_head_t wait;
};







static inline void init_completion(struct completion *x)
{
        x->done = 0;
        init_waitqueue_head(&x->wait);
}

extern void wait_for_completion_Rdc016488(struct completion *) __attribute__((regparm(3)));
extern void complete_R942613ad(struct completion *) __attribute__((regparm(3)));
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_sb.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_sb.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_sb.h" 2
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/jffs2_fs_sb.h"
struct jffs2_sb_info {
        struct mtd_info *mtd;

        __u32 highest_ino;
        unsigned int flags;
        spinlock_t nodelist_lock;


        struct task_struct *gc_task;
        struct semaphore gc_thread_start;
        struct completion gc_thread_exit;



        struct semaphore alloc_sem;




        __u32 flash_size;
        __u32 used_size;
        __u32 dirty_size;
        __u32 free_size;
        __u32 erasing_size;
        __u32 bad_size;
        __u32 sector_size;



        __u32 nr_free_blocks;
        __u32 nr_erasing_blocks;

        __u32 nr_blocks;
        struct jffs2_eraseblock *blocks;

        struct jffs2_eraseblock *nextblock;

        struct jffs2_eraseblock *gcblock;

        struct list_head clean_list;
        struct list_head dirty_list;
        struct list_head erasing_list;
        struct list_head erase_pending_list;
        struct list_head erase_complete_list;
        struct list_head free_list;
        struct list_head bad_list;
        struct list_head bad_used_list;

        spinlock_t erase_completion_lock;

        wait_queue_head_t erase_wait;
        struct jffs2_inode_cache *inocache_list[1];
        spinlock_t inocache_lock;
};
# 693 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 2

extern struct list_head super_blocks;
extern spinlock_t sb_lock;



struct super_block {
        struct list_head s_list;
        kdev_t s_dev;
        unsigned long s_blocksize;
        unsigned char s_blocksize_bits;
        unsigned char s_dirt;
        unsigned long long s_maxbytes;
        struct file_system_type *s_type;
        struct super_operations *s_op;
        struct dquot_operations *dq_op;
        unsigned long s_flags;
        unsigned long s_magic;
        struct dentry *s_root;
        struct rw_semaphore s_umount;
        struct semaphore s_lock;
        int s_count;
        atomic_t s_active;

        struct list_head s_dirty;
        struct list_head s_locked_inodes;
        struct list_head s_files;

        struct block_device *s_bdev;
        struct list_head s_instances;
        struct quota_info s_dquot;

        union {
                struct minix_sb_info minix_sb;
                struct ext2_sb_info ext2_sb;
                struct ext3_sb_info ext3_sb;
                struct hpfs_sb_info hpfs_sb;
                struct ntfs_sb_info ntfs_sb;
                struct msdos_sb_info msdos_sb;
                struct isofs_sb_info isofs_sb;
                struct nfs_sb_info nfs_sb;
                struct sysv_sb_info sysv_sb;
                struct affs_sb_info affs_sb;
                struct ufs_sb_info ufs_sb;
                struct efs_sb_info efs_sb;
                struct shmem_sb_info shmem_sb;
                struct romfs_sb_info romfs_sb;
                struct smb_sb_info smbfs_sb;
                struct hfs_sb_info hfs_sb;
                struct adfs_sb_info adfs_sb;
                struct qnx4_sb_info qnx4_sb;
                struct reiserfs_sb_info reiserfs_sb;
                struct bfs_sb_info bfs_sb;
                struct udf_sb_info udf_sb;
                struct ncp_server ncpfs_sb;
                struct usbdev_sb_info usbdevfs_sb;
                struct jffs2_sb_info jffs2_sb;
                struct cramfs_sb_info cramfs_sb;
                void *generic_sbp;
        } u;




        struct semaphore s_vfs_rename_sem;
# 766 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
        struct semaphore s_nfsd_free_path_sem;
};




extern int vfs_create_R62073db8(struct inode *, struct dentry *, int);
extern int vfs_mkdir_R33ebf37f(struct inode *, struct dentry *, int);
extern int vfs_mknod_R6e7465db(struct inode *, struct dentry *, int, dev_t);
extern int vfs_symlink_R00fe0817(struct inode *, struct dentry *, const char *);
extern int vfs_link_Rf4cc1214(struct dentry *, struct inode *, struct dentry *);
extern int vfs_rmdir_R65fe7851(struct inode *, struct dentry *);
extern int vfs_unlink_R951772ec(struct inode *, struct dentry *);
extern int vfs_rename_R7f84dfa8(struct inode *, struct dentry *, struct inode *, struct dentry *);
# 800 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
typedef int (*filldir_t)(void *, const char *, int, loff_t, ino_t, unsigned);

struct block_device_operations {
        int (*open) (struct inode *, struct file *);
        int (*release) (struct inode *, struct file *);
        int (*ioctl) (struct inode *, struct file *, unsigned, unsigned long);
        int (*check_media_change) (kdev_t);
        int (*revalidate) (kdev_t);
};






struct file_operations {
        struct module *owner;
        loff_t (*llseek) (struct file *, loff_t, int);
        ssize_t (*read) (struct file *, char *, size_t, loff_t *);
        ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
        int (*readdir) (struct file *, void *, filldir_t);
        unsigned int (*poll) (struct file *, struct poll_table_struct *);
        int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
        int (*mmap) (struct file *, struct vm_area_struct *);
        int (*open) (struct inode *, struct file *);
        int (*flush) (struct file *);
        int (*release) (struct inode *, struct file *);
        int (*fsync) (struct file *, struct dentry *, int datasync);
        int (*fasync) (int, struct file *, int);
        int (*lock) (struct file *, int, struct file_lock *);
        ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
        ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);
        ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
        unsigned long (*get_unmapped_area_Rc7f7ef0c)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
};

struct inode_operations {
        int (*create) (struct inode *,struct dentry *,int);
        struct dentry * (*lookup) (struct inode *,struct dentry *);
        int (*link) (struct dentry *,struct inode *,struct dentry *);
        int (*unlink) (struct inode *,struct dentry *);
        int (*symlink) (struct inode *,struct dentry *,const char *);
        int (*mkdir) (struct inode *,struct dentry *,int);
        int (*rmdir) (struct inode *,struct dentry *);
        int (*mknod) (struct inode *,struct dentry *,int,int);
        int (*rename) (struct inode *, struct dentry *,
                        struct inode *, struct dentry *);
        int (*readlink) (struct dentry *, char *,int);
        int (*follow_link) (struct dentry *, struct nameidata *);
        void (*truncate) (struct inode *);
        int (*permission_R6a38d78e) (struct inode *, int);
        int (*revalidate) (struct dentry *);
        int (*setattr) (struct dentry *, struct iattr *);
        int (*getattr) (struct dentry *, struct iattr *);
};





struct super_operations {
        void (*read_inode) (struct inode *);







        void (*read_inode2) (struct inode *, void *) ;
        void (*dirty_inode) (struct inode *);
        void (*write_inode) (struct inode *, int);
        void (*put_inode) (struct inode *);
        void (*delete_inode) (struct inode *);
        void (*put_super) (struct super_block *);
        void (*write_super) (struct super_block *);
        void (*write_super_lockfs) (struct super_block *);
        void (*unlockfs) (struct super_block *);
        int (*statfs) (struct super_block *, struct statfs *);
        int (*remount_fs) (struct super_block *, int *, char *);
        void (*clear_inode_R0d77bce4) (struct inode *);
        void (*umount_begin) (struct super_block *);
# 905 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
        struct dentry * (*fh_to_dentry)(struct super_block *sb, __u32 *fh, int len, int fhtype, int parent);
        int (*dentry_to_fh)(struct dentry *, __u32 *fh, int *lenp, int need_parent);
};
# 919 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
extern void __mark_inode_dirty_R8475f1c1(struct inode *, int);
static inline void mark_inode_dirty(struct inode *inode)
{
        __mark_inode_dirty_R8475f1c1(inode, (1 | 2 | 4));
}

static inline void mark_inode_dirty_sync(struct inode *inode)
{
        __mark_inode_dirty_R8475f1c1(inode, 1);
}

static inline void inode_add_bytes(struct inode *inode, loff_t bytes)
{
        inode->i_blocks += bytes >> 9;
        bytes &= 511;
        inode->i_bytes += bytes;
        if (inode->i_bytes >= 512) {
                inode->i_blocks++;
                inode->i_bytes -= 512;
        }
}

static inline void inode_sub_bytes(struct inode *inode, loff_t bytes)
{
        inode->i_blocks -= bytes >> 9;
        bytes &= 511;
        if (inode->i_bytes < bytes) {
                inode->i_blocks--;
                inode->i_bytes += 512;
        }
        inode->i_bytes -= bytes;
}

static inline loff_t inode_get_bytes(struct inode *inode)
{
        return (((loff_t)inode->i_blocks) << 9) + inode->i_bytes;
}

static inline void inode_set_bytes(struct inode *inode, loff_t bytes)
{
        inode->i_blocks = bytes >> 9;
        inode->i_bytes = bytes & 511;
}

static inline void mark_inode_dirty_pages(struct inode *inode)
{
        __mark_inode_dirty_R8475f1c1(inode, 4);
}

struct dquot_operations {
        void (*initialize) (struct inode *, short);
        void (*drop) (struct inode *);
        int (*alloc_space) (struct inode *, qsize_t, char);
        int (*alloc_inode) (const struct inode *, unsigned long);
        void (*free_space) (struct inode *, qsize_t);
        void (*free_inode) (const struct inode *, unsigned long);
        int (*transfer) (struct inode *, struct iattr *);
};

struct file_system_type {
        const char *name;
        int fs_flags;
        struct super_block *(*read_super) (struct super_block *, void *, int);
        struct module *owner;
        struct file_system_type * next;
        struct list_head fs_supers;
};
# 1010 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
extern int register_filesystem_Rb6b2d751(struct file_system_type *);
extern int unregister_filesystem_R6086fb11(struct file_system_type *);
extern struct vfsmount *kern_mount_R09c520ed(struct file_system_type *);
extern int may_umount_R9f7bcf89(struct vfsmount *);
extern long do_mount(char *, char *, char *, unsigned long, void *);



extern int vfs_statfs_R74495592(struct super_block *, struct statfs *);
# 1028 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
extern int locks_mandatory_locked(struct inode *);
extern int locks_mandatory_area_Re87d7db5(int, struct inode *, struct file *, loff_t, size_t);
# 1038 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
static inline int locks_verify_locked(struct inode *inode)
{
        if ((((inode)->i_sb->s_flags & (64)) && ((inode)->i_mode & (0002000 | 00010)) == 0002000))
                return locks_mandatory_locked(inode);
        return 0;
}

static inline int locks_verify_area(int read_write, struct inode *inode,
                                    struct file *filp, loff_t offset,
                                    size_t count)
{
        if (inode->i_flock && (((inode)->i_sb->s_flags & (64)) && ((inode)->i_mode & (0002000 | 00010)) == 0002000))
                return locks_mandatory_area_Re87d7db5(read_write, inode, filp, offset, count);
        return 0;
}

static inline int locks_verify_truncate(struct inode *inode,
                                    struct file *filp,
                                    loff_t size)
{
        if (inode->i_flock && (((inode)->i_sb->s_flags & (64)) && ((inode)->i_mode & (0002000 | 00010)) == 0002000))
                return locks_mandatory_area_Re87d7db5(
                        2, inode, filp,
                        size < inode->i_size ? size : inode->i_size,
                        (size < inode->i_size ? inode->i_size - size
                         : size - inode->i_size)
                );
        return 0;
}

static inline int get_lease(struct inode *inode, unsigned int mode)
{
        if (inode->i_flock && (inode->i_flock->fl_flags & 32))
                return __get_lease_R7e4abfbc(inode, mode);
        return 0;
}



 __attribute__((regparm(0))) long sys_open(const char *, int, int);
 __attribute__((regparm(0))) long sys_close_R268cc6a2(unsigned int);
extern int do_truncate(struct dentry *, loff_t start);

extern struct file *filp_open_Re636b6c0(const char *, int, int);
extern struct file * dentry_open_R8d5fb82e(struct dentry *, struct vfsmount *, int);
extern int filp_close_R4565c23d(struct file *, fl_owner_t id);
extern char * getname_R7c60d66e(const char *);


extern void vfs_caches_init(unsigned long);




enum {BDEV_FILE, BDEV_SWAP, BDEV_FS, BDEV_RAW};
extern int register_blkdev_R8d54a314(unsigned int, const char *, struct block_device_operations *);
extern int unregister_blkdev_Reac1c4af(unsigned int, const char *);
extern struct block_device *bdget_R0cfc2bdf(dev_t);
extern int bd_acquire(struct inode *inode);
extern void bd_forget(struct inode *inode);
extern void bdput_R09bdf356(struct block_device *);
extern struct char_device *cdget_Rdee70f3e(dev_t);
extern void cdput_Rd7ab4f1d(struct char_device *);
extern int blkdev_open_R029998cf(struct inode *, struct file *);
extern struct file_operations def_blk_fops_R737af11c;
extern struct file_operations def_fifo_fops;
extern int ioctl_by_bdev_R6adc0cad(struct block_device *, unsigned, unsigned long);
extern int blkdev_get_Rb8e9669e(struct block_device *, mode_t, unsigned, int);
extern int blkdev_put_R9b0eefff(struct block_device *, int);


extern const struct block_device_operations *get_blkfops(unsigned int);
extern int register_chrdev_R8882b7b5(unsigned int, const char *, struct file_operations *);
extern int unregister_chrdev_Rc192d491(unsigned int, const char *);
extern int chrdev_open(struct inode *, struct file *);
extern const char * bdevname_Rd04782e6(kdev_t);
extern const char * cdevname_R9754741d(kdev_t);
extern const char * kdevname_Rc258c906(kdev_t);
extern void init_special_inode_R822d2391(struct inode *, umode_t, int);


extern void make_bad_inode_R323f4687(struct inode *);
extern int is_bad_inode_Rf23b3ad2(struct inode *);

extern struct file_operations read_fifo_fops;
extern struct file_operations write_fifo_fops;
extern struct file_operations rdwr_fifo_fops;
extern struct file_operations read_pipe_fops;
extern struct file_operations write_pipe_fops;
extern struct file_operations rdwr_pipe_fops;

extern int fs_may_remount_ro(struct super_block *);

extern int try_to_free_buffers_Rcc0fc765(struct page *, unsigned int);
extern void refile_buffer_R04117252(struct buffer_head * buf);
extern void create_empty_buffers_R87b4bcdb(struct page *, kdev_t, unsigned long);
extern void end_buffer_io_sync(struct buffer_head *bh, int uptodate);


extern void set_buffer_async_io_R4bff6989(struct buffer_head *bh) ;







static inline void get_bh(struct buffer_head * bh)
{
        atomic_inc(&(bh)->b_count);
}

static inline void put_bh(struct buffer_head *bh)
{
        __asm__ __volatile__("": : :"memory");
        atomic_dec(&bh->b_count);
}




static inline void mark_buffer_uptodate(struct buffer_head * bh, int on)
{
        if (on)
                set_bit(BH_Uptodate, &bh->b_state);
        else
                clear_bit(BH_Uptodate, &bh->b_state);
}



static inline void __mark_buffer_clean(struct buffer_head *bh)
{
        refile_buffer_R04117252(bh);
}

static inline void mark_buffer_clean(struct buffer_head * bh)
{




        if (test_and_clear_bit(BH_Dirty, &(bh)->b_state))
                __mark_buffer_clean(bh);
}



static inline void __mark_buffer_protected(struct buffer_head *bh)
{
        refile_buffer_R04117252(bh);
}

static inline void mark_buffer_protected(struct buffer_head * bh)
{
        if (!test_and_set_bit(BH_Protected, &(bh)->b_state))
                __mark_buffer_protected(bh);
}

extern void __mark_buffer_dirty_Re38543ec(struct buffer_head *bh) __attribute__((regparm(3)));
extern void mark_buffer_dirty_Rcbed53c3(struct buffer_head *bh) __attribute__((regparm(3)));



static inline void mark_buffer_async(struct buffer_head * bh, int on)
{
        if (on)
                set_bit(BH_Async, &bh->b_state);
        else
                clear_bit(BH_Async, &bh->b_state);
}







static inline void buffer_IO_error(struct buffer_head * bh)
{
        mark_buffer_clean(bh);



        bh->b_end_io(bh, 0);
}

extern void buffer_insert_inode_queue_R1764b41b(struct buffer_head *, struct inode *);
static inline void mark_buffer_dirty_inode(struct buffer_head *bh, struct inode *inode)
{
        mark_buffer_dirty_Rcbed53c3(bh);
        buffer_insert_inode_queue_R1764b41b(bh, inode);
}

extern void set_buffer_flushtime_R6d874527(struct buffer_head *);
extern void balance_dirty(kdev_t);
extern int check_disk_change_R11d4076d(kdev_t);
extern int invalidate_inodes_Rcea5c2da(struct super_block *);
extern int invalidate_device_R25a4b0b2(kdev_t, int);
extern void invalidate_inode_pages_R24574764(struct inode *);
extern void invalidate_inode_buffers(struct inode *);


extern void __invalidate_buffers_R98f51538(kdev_t dev, int);
extern void sync_inodes(kdev_t);
extern void sync_unlocked_inodes(void);
extern void write_inode_now_R91c605c9(struct inode *, int);
extern void sync_dev_Rfc0b0f49(kdev_t);
extern int fsync_dev_R8ea128e2(kdev_t);
extern int fsync_super(struct super_block *);
extern int fsync_no_super_R57520644(kdev_t);
extern void sync_inodes_sb(struct super_block *);
extern int fsync_inode_buffers_Rd93f7f4d(struct inode *);
extern int osync_inode_buffers(struct inode *);
extern int inode_has_buffers(struct inode *);
extern void filemap_fdatasync_Rcc3c4fe9(struct address_space *);
extern void filemap_fdatawait_R468226be(struct address_space *);
extern void sync_supers(kdev_t);
extern int bmap_R7f178969(struct inode *, int);
extern int notify_change_Rb548fdca(struct dentry *, struct iattr *);
extern int permission_R6a38d78e(struct inode *, int);
extern int vfs_permission_Rbb0d9815(struct inode *, int);
extern int get_write_access_Re93888b7(struct inode *);
extern int deny_write_access(struct file *);
static inline void put_write_access(struct inode * inode)
{
        atomic_dec(&inode->i_writecount);
}
static inline void allow_write_access(struct file *file)
{
        if (file)
                atomic_inc(&file->f_dentry->d_inode->i_writecount);
}
extern int do_pipe(int *);

extern int open_namei(const char *, int, int, struct nameidata *);

extern int kernel_read_R645df863(struct file *, unsigned long, char *, unsigned long);
extern struct file * open_exec_Rb4cb06cb(const char *);


extern int is_subdir_R3abb5ce4(struct dentry *, struct dentry *);
extern ino_t find_inode_number_Rf8d80066(struct dentry *, struct qstr *);
# 1290 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
static inline void *ERR_PTR(long error)
{
        return (void *) error;
}

static inline long PTR_ERR(const void *ptr)
{
        return (long) ptr;
}

static inline long IS_ERR(const void *ptr)
{
        return (unsigned long)ptr > (unsigned long)-1000L;
}
# 1321 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
# 1332 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
typedef struct {
        size_t written;
        size_t count;
        char * buf;
        int error;
} read_descriptor_t;

typedef int (*read_actor_t)(read_descriptor_t *, struct page *, unsigned long, unsigned long);


extern loff_t default_llseek_R5db764bf(struct file *file, loff_t offset, int origin);
extern loff_t no_llseek_R84179756(struct file *, loff_t, int);

extern int __user_walk_R2b9831b2(const char *, unsigned, struct nameidata *);
extern int path_init_R2f8b9feb(const char *, unsigned, struct nameidata *);
extern int path_walk_R28890d66(const char *, struct nameidata *);
extern void path_release_Rb02e032c(struct nameidata *);
extern int follow_down_R5e9cad60(struct vfsmount **, struct dentry **);
extern int follow_up_Rdaa99600(struct vfsmount **, struct dentry **);
extern struct dentry * lookup_one_len_R0afabb5d(const char *, struct dentry *, int);
extern struct dentry * lookup_hash_R795946dc(struct qstr *, struct dentry *);



extern void iput_Rdac2a0ff(struct inode *);
extern void force_delete_R64a7844b(struct inode *);
extern struct inode * igrab_R169f9396(struct inode *);
extern ino_t iunique_Rdbb85e65(struct super_block *, ino_t);

typedef int (*find_inode_t)(struct inode *, unsigned long, void *);
extern struct inode * iget4_R6be5f73c(struct super_block *, unsigned long, find_inode_t, void *);
static inline struct inode *iget(struct super_block *sb, unsigned long ino)
{
        return iget4_R6be5f73c(sb, ino, ((void *)0), ((void *)0));
}

extern void clear_inode_R0d77bce4(struct inode *);
extern struct inode * get_empty_inode_R10460ad8(void);
static inline struct inode * new_inode(struct super_block *sb)
{
        struct inode *inode = get_empty_inode_R10460ad8();
        if (inode) {
                inode->i_sb = sb;
                inode->i_dev = sb->s_dev;
                inode->i_blkbits = sb->s_blocksize_bits;
        }
        return inode;
}
extern void remove_suid(struct inode *inode);

extern void insert_inode_hash_Ra47cbbf3(struct inode *);
extern void remove_inode_hash_Ra62f99c8(struct inode *);
extern struct file * get_empty_filp_R4acc2710(void);
extern void file_move(struct file *f, struct list_head *list);
extern struct buffer_head * get_hash_table_R8e5376a7(kdev_t, int, int);
extern struct buffer_head * getblk_R08e562c2(kdev_t, int, int);
extern void ll_rw_block_R7c59e8e4(int, int, struct buffer_head * bh[]);
extern void submit_bh_R023493b1(int, struct buffer_head *);
extern int is_read_only_R740274ca(kdev_t);
extern void __brelse_Re1a12f4f(struct buffer_head *);
static inline void brelse(struct buffer_head *buf)
{
        if (buf)
                __brelse_Re1a12f4f(buf);
}
extern void __bforget_Ref183890(struct buffer_head *);
static inline void bforget(struct buffer_head *buf)
{
        if (buf)
                __bforget_Ref183890(buf);
}
extern int set_blocksize_Rc75d857c(kdev_t, int);
extern struct buffer_head * bread_R49216928(kdev_t, int, int);
extern void wakeup_bdflush(int wait);
extern void put_unused_buffer_head_R67030bc8(struct buffer_head * bh);
extern struct buffer_head * get_unused_buffer_head_Rd7d188a4(int async);

extern int brw_page_R9eb4b5fe(int, struct page *, kdev_t, int [], int);

typedef int (get_block_t)(struct inode*,long,struct buffer_head*,int);


extern int block_flushpage(struct page *, unsigned long);
extern int try_to_release_page(struct page * page, int gfp_mask);
extern int block_symlink_R4b784c8b(struct inode *, const char *, int);
extern int block_write_full_page_Re6922438(struct page*, get_block_t*);
extern int block_read_full_page_R57749ff8(struct page*, get_block_t*);
extern int block_prepare_write_R06f4ec48(struct page*, unsigned, unsigned, get_block_t*);
extern int cont_prepare_write_R89683c05(struct page*, unsigned, unsigned, get_block_t*,
                                unsigned long *);
extern int block_sync_page_Rc53c3601(struct page *);

int generic_block_bmap_R69a3e63e(struct address_space *, long, get_block_t *);
int generic_commit_write_Rdcf48696(struct file *, struct page *, unsigned, unsigned);
int block_truncate_page_Rb3f6cbaf(struct address_space *, loff_t, get_block_t *);

extern int waitfor_one_page_R8c87e67b(struct page*);
extern int generic_file_mmap_Rd803c307(struct file *, struct vm_area_struct *);
extern int file_read_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size);
extern ssize_t generic_file_read_R013b5ed0(struct file *, char *, size_t, loff_t *);
extern ssize_t generic_file_write_Reec28b4e(struct file *, const char *, size_t, loff_t *);
extern void do_generic_file_read_Raad1964b(struct file *, loff_t *, read_descriptor_t *, read_actor_t);

extern ssize_t generic_read_dir_R77515ba5(struct file *, char *, size_t, loff_t *);
extern loff_t generic_file_llseek_R488f86ef(struct file *, loff_t, int);
extern int generic_file_open_R5001d264(struct inode *, struct file *);

extern struct file_operations generic_ro_fops_R10d4512a;

extern int vfs_readlink_R146c83d9(struct dentry *, char *, int, const char *);
extern int vfs_follow_link_Rdef7e23f(struct nameidata *, const char *);
extern int page_readlink_R4f939710(struct dentry *, char *, int);
extern int page_follow_link_R54ec47b9(struct dentry *, struct nameidata *);
extern struct inode_operations page_symlink_inode_operations_R90f98a44;

extern int vfs_readdir_R0e6ff161(struct file *, filldir_t, void *);
extern int dcache_readdir_Rdfbe486a(struct file *, void *, filldir_t);

extern struct file_system_type *get_fs_type_Rc851791c(const char *name);
extern struct super_block *get_super_R825e97ab(kdev_t);
extern void drop_super_R355dc713(struct super_block *sb);
static inline int is_mounted(kdev_t dev)
{
        struct super_block *sb = get_super_R825e97ab(dev);
        if (sb) {
                drop_super_R355dc713(sb);
                return 1;
        }
        return 0;
}
extern kdev_t ROOT_DEV_Rb32496e8;
extern char root_device_name[];


extern void show_buffers(void);
extern void mount_root(void);


extern kdev_t real_root_dev;
extern int change_root(kdev_t, const char *);


extern ssize_t char_read(struct file *, char *, size_t, loff_t *);
extern ssize_t block_read_R62c32c45(struct file *, char *, size_t, loff_t *);
extern int read_ahead_R0abb7b07[];

extern ssize_t char_write(struct file *, const char *, size_t, loff_t *);
extern ssize_t block_write_R440f3d6e(struct file *, const char *, size_t, loff_t *);

extern int file_fsync_Re96feba2(struct file *, struct dentry *, int);
extern int generic_buffer_fdatasync_Rc25fec3c(struct inode *inode, unsigned long start_idx, unsigned long end_idx);
extern int generic_osync_inode(struct inode *, int);

extern int inode_change_ok_R3c0d822b(struct inode *, struct iattr *);
extern int inode_setattr_R2da36a54(struct inode *, struct iattr *);
# 1507 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
static inline struct dentry *lock_parent(struct dentry *dentry)
{
        struct dentry *dir = dget(dentry->d_parent);

        down(&dir->d_inode->i_sem);
        return dir;
}

static inline struct dentry *get_parent(struct dentry *dentry)
{
        return dget(dentry->d_parent);
}

static inline void unlock_dir(struct dentry *dir)
{
        up(&dir->d_inode->i_sem);
        dput_R343a12f6(dir);
}





static inline void double_down(struct semaphore *s1, struct semaphore *s2)
{
        if (s1 != s2) {
                if ((unsigned long) s1 < (unsigned long) s2) {
                        struct semaphore *tmp = s2;
                        s2 = s1; s1 = tmp;
                }
                down(s1);
        }
        down(s2);
}
# 1551 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h"
static inline void triple_down(struct semaphore *s1,
                               struct semaphore *s2,
                               struct semaphore *s3)
{
        if (s1 != s2) {
                if ((unsigned long) s1 < (unsigned long) s2) {
                        if ((unsigned long) s1 < (unsigned long) s3) {
                                struct semaphore *tmp = s3;
                                s3 = s1; s1 = tmp;
                        }
                        if ((unsigned long) s1 < (unsigned long) s2) {
                                struct semaphore *tmp = s2;
                                s2 = s1; s1 = tmp;
                        }
                } else {
                        if ((unsigned long) s1 < (unsigned long) s3) {
                                struct semaphore *tmp = s3;
                                s3 = s1; s1 = tmp;
                        }
                        if ((unsigned long) s2 < (unsigned long) s3) {
                                struct semaphore *tmp = s3;
                                s3 = s2; s2 = tmp;
                        }
                }
                down(s1);
        } else if ((unsigned long) s2 < (unsigned long) s3) {
                struct semaphore *tmp = s3;
                s3 = s2; s2 = tmp;
        }
        down(s2);
        down(s3);
}

static inline void double_up(struct semaphore *s1, struct semaphore *s2)
{
        up(s1);
        if (s1 != s2)
                up(s2);
}

static inline void triple_up(struct semaphore *s1,
                             struct semaphore *s2,
                             struct semaphore *s3)
{
        up(s1);
        if (s1 != s2)
                up(s2);
        up(s3);
}

static inline void double_lock(struct dentry *d1, struct dentry *d2)
{
        double_down(&d1->d_inode->i_sem, &d2->d_inode->i_sem);
}

static inline void double_unlock(struct dentry *d1, struct dentry *d2)
{
        double_up(&d1->d_inode->i_sem,&d2->d_inode->i_sem);
        dput_R343a12f6(d1);
        dput_R343a12f6(d2);
}
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h" 2
# 32 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h"
typedef struct __user_cap_header_struct {
        __u32 version;
        int pid;
} *cap_user_header_t;

typedef struct __user_cap_data_struct {
        __u32 effective;
        __u32 permitted;
        __u32 inheritable;
} *cap_user_data_t;
# 55 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h"
typedef __u32 kernel_cap_t;
# 286 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h"
extern kernel_cap_t cap_bset_R59ab4080;
# 314 "/usr/src/linux-2.4.12-ac2/include/linux/capability.h"
static inline kernel_cap_t cap_combine(kernel_cap_t a, kernel_cap_t b)
{
     kernel_cap_t dest;
     (dest) = (a) | (b);
     return dest;
}

static inline kernel_cap_t cap_intersect(kernel_cap_t a, kernel_cap_t b)
{
     kernel_cap_t dest;
     (dest) = (a) & (b);
     return dest;
}

static inline kernel_cap_t cap_drop(kernel_cap_t a, kernel_cap_t drop)
{
     kernel_cap_t dest;
     (dest) = (a) & ~(drop);
     return dest;
}

static inline kernel_cap_t cap_invert(kernel_cap_t c)
{
     kernel_cap_t dest;
     (dest) = ~(c);
     return dest;
}
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/binfmts.h" 2
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/binfmts.h"
struct linux_binprm{
        char buf[128];
        struct page *page[32];
        unsigned long p;
        int sh_bang;
        struct file * file;
        int e_uid, e_gid;
        kernel_cap_t cap_inheritable, cap_permitted, cap_effective;
        int argc, envc;
        char * filename;
        unsigned long loader, exec;
};





struct linux_binfmt {
        struct linux_binfmt * next;
        struct module *module;
        int (*load_binary)(struct linux_binprm *, struct pt_regs * regs);
        int (*load_shlib)(struct file *);
        int (*core_dump)(long signr, struct pt_regs * regs, struct file * file);
        unsigned long min_coredump;
};

extern int register_binfmt_Ra3a0d533(struct linux_binfmt *);
extern int unregister_binfmt_Raf5082ca(struct linux_binfmt *);

extern int prepare_binprm_R6aa45e03(struct linux_binprm *);
extern void remove_arg_zero_R4db98062(struct linux_binprm *);
extern int search_binary_handler_Ra2845200(struct linux_binprm *,struct pt_regs *);
extern int flush_old_exec_R9210a92e(struct linux_binprm * bprm);
extern int setup_arg_pages_R43570b24(struct linux_binprm * bprm);
extern int copy_strings(int argc,char ** argv,struct linux_binprm *bprm);
extern int copy_strings_kernel_R0a0c5d05(int argc,char ** argv,struct linux_binprm *bprm);
extern void compute_creds_Rd0c07eb9(struct linux_binprm *binprm);
extern int do_coredump(long signr, struct pt_regs * regs);
extern void set_binfmt_Rcbd16b28(struct linux_binfmt *new);
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/threads.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
# 12 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 13 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/times.h" 1



struct tms {
        clock_t tms_utime;
        clock_t tms_stime;
        clock_t tms_cutime;
        clock_t tms_cstime;
};
# 14 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/timex.h" 1
# 54 "/usr/src/linux-2.4.12-ac2/include/linux/timex.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/param.h" 1
# 55 "/usr/src/linux-2.4.12-ac2/include/linux/timex.h" 2
# 152 "/usr/src/linux-2.4.12-ac2/include/linux/timex.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/timex.h" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/asm/timex.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/asm/timex.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/msr.h" 1
# 11 "/usr/src/linux-2.4.12-ac2/include/asm/timex.h" 2
# 32 "/usr/src/linux-2.4.12-ac2/include/asm/timex.h"
typedef unsigned long long cycles_t;

extern cycles_t cacheflush_time;

static inline cycles_t get_cycles (void)
{



        unsigned long long ret;

        __asm__ __volatile__("rdtsc" : "=A" (ret));
        return ret;

}

extern unsigned long cpu_khz;
# 153 "/usr/src/linux-2.4.12-ac2/include/linux/timex.h" 2
# 161 "/usr/src/linux-2.4.12-ac2/include/linux/timex.h"
struct timex {
        unsigned int modes;
        long offset;
        long freq;
        long maxerror;
        long esterror;
        int status;
        long constant;
        long precision;
        long tolerance;


        struct timeval time;
        long tick;

        long ppsfreq;
        long jitter;
        int shift;
        long stabil;
        long jitcnt;
        long calcnt;
        long errcnt;
        long stbcnt;

        int :32; int :32; int :32; int :32;
        int :32; int :32; int :32; int :32;
        int :32; int :32; int :32; int :32;
};
# 253 "/usr/src/linux-2.4.12-ac2/include/linux/timex.h"
extern long tick;
extern int tickadj;




extern int time_state;
extern int time_status;
extern long time_offset;
extern long time_constant;
extern long time_tolerance;
extern long time_precision;
extern long time_maxerror;
extern long time_esterror;

extern long time_phase;
extern long time_freq;
extern long time_adj;
extern long time_reftime;

extern long time_adjust;


extern long pps_offset;
extern long pps_jitter;
extern long pps_freq;
extern long pps_stabil;
extern long pps_valid;


extern int pps_shift;
extern long pps_jitcnt;
extern long pps_calcnt;
extern long pps_errcnt;
extern long pps_stbcnt;
# 15 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2

# 1 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 1
# 17 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 1
# 18 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/ptrace.h" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/mmu.h" 1







typedef struct {
        void *segments;
        unsigned long cpuvalid;
} mm_context_t;
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2

# 1 "/usr/src/linux-2.4.12-ac2/include/linux/smp.h" 1
# 9 "/usr/src/linux-2.4.12-ac2/include/linux/smp.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 10 "/usr/src/linux-2.4.12-ac2/include/linux/smp.h" 2
# 23 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 1
# 19 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
# 20 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
# 21 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/major.h" 1
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/termios.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/termios.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/termios.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/termbits.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/posix_types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/termbits.h" 2

typedef unsigned char cc_t;
typedef unsigned int speed_t;
typedef unsigned int tcflag_t;


struct termios {
        tcflag_t c_iflag;
        tcflag_t c_oflag;
        tcflag_t c_cflag;
        tcflag_t c_lflag;
        cc_t c_line;
        cc_t c_cc[19];
};
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/termios.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/ioctls.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/ioctl.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/ioctls.h" 2
# 6 "/usr/src/linux-2.4.12-ac2/include/asm/termios.h" 2

struct winsize {
        unsigned short ws_row;
        unsigned short ws_col;
        unsigned short ws_xpixel;
        unsigned short ws_ypixel;
};


struct termio {
        unsigned short c_iflag;
        unsigned short c_oflag;
        unsigned short c_cflag;
        unsigned short c_lflag;
        unsigned char c_line;
        unsigned char c_cc[8];
};
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/termios.h" 2
# 23 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/tqueue.h" 1
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/tty_driver.h" 1
# 118 "/usr/src/linux-2.4.12-ac2/include/linux/tty_driver.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
# 119 "/usr/src/linux-2.4.12-ac2/include/linux/tty_driver.h" 2

struct tty_driver {
        int magic;
        const char *driver_name;
        const char *name;
        int name_base;
        short major;
        short minor_start;
        short num;
        short type;
        short subtype;
        struct termios init_termios;
        int flags;
        int *refcount;
        struct proc_dir_entry *proc_entry;
        struct tty_driver *other;




        struct tty_struct **table;
        struct termios **termios;
        struct termios **termios_locked;
        void *driver_state;





        int (*open)(struct tty_struct * tty, struct file * filp);
        void (*close)(struct tty_struct * tty, struct file * filp);
        int (*write)(struct tty_struct * tty, int from_user,
                      const unsigned char *buf, int count);
        void (*put_char)(struct tty_struct *tty, unsigned char ch);
        void (*flush_chars)(struct tty_struct *tty);
        int (*write_room)(struct tty_struct *tty);
        int (*chars_in_buffer)(struct tty_struct *tty);
        int (*ioctl)(struct tty_struct *tty, struct file * file,
                    unsigned int cmd, unsigned long arg);
        void (*set_termios)(struct tty_struct *tty, struct termios * old);
        void (*throttle)(struct tty_struct * tty);
        void (*unthrottle)(struct tty_struct * tty);
        void (*stop)(struct tty_struct *tty);
        void (*start)(struct tty_struct *tty);
        void (*hangup)(struct tty_struct *tty);
        void (*break_ctl)(struct tty_struct *tty, int state);
        void (*flush_buffer)(struct tty_struct *tty);
        void (*set_ldisc)(struct tty_struct *tty);
        void (*wait_until_sent)(struct tty_struct *tty, int timeout);
        void (*send_xchar)(struct tty_struct *tty, char ch);
        int (*read_proc)(char *page, char **start, off_t off,
                          int count, int *eof, void *data);
        int (*write_proc)(struct file *file, const char *buffer,
                          unsigned long count, void *data);




        struct tty_driver *next;
        struct tty_driver *prev;
};
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/tty_ldisc.h" 1
# 100 "/usr/src/linux-2.4.12-ac2/include/linux/tty_ldisc.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
# 101 "/usr/src/linux-2.4.12-ac2/include/linux/tty_ldisc.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
# 102 "/usr/src/linux-2.4.12-ac2/include/linux/tty_ldisc.h" 2

struct tty_ldisc {
        int magic;
        char *name;
        int num;
        int flags;



        int (*open)(struct tty_struct *);
        void (*close)(struct tty_struct *);
        void (*flush_buffer)(struct tty_struct *tty);
        ssize_t (*chars_in_buffer)(struct tty_struct *tty);
        ssize_t (*read)(struct tty_struct * tty, struct file * file,
                        unsigned char * buf, size_t nr);
        ssize_t (*write)(struct tty_struct * tty, struct file * file,
                         const unsigned char * buf, size_t nr);
        int (*ioctl)(struct tty_struct * tty, struct file * file,
                         unsigned int cmd, unsigned long arg);
        void (*set_termios)(struct tty_struct *tty, struct termios * old);
        unsigned int (*poll)(struct tty_struct *, struct file *,
                             struct poll_table_struct *);




        void (*receive_buf)(struct tty_struct *, const unsigned char *cp,
                               char *fp, int count);
        int (*receive_room)(struct tty_struct *);
        void (*write_wakeup)(struct tty_struct *);
};
# 26 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2

# 1 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 1
# 28 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 2
# 58 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h"
struct screen_info_Rc7d8d4d6 {
        unsigned char orig_x;
        unsigned char orig_y;
        unsigned short dontuse1;
        unsigned short orig_video_page;
        unsigned char orig_video_mode;
        unsigned char orig_video_cols;
        unsigned short unused2;
        unsigned short orig_video_ega_bx;
        unsigned short unused3;
        unsigned char orig_video_lines;
        unsigned char orig_video_isVGA;
        unsigned short orig_video_points;


        unsigned short lfb_width;
        unsigned short lfb_height;
        unsigned short lfb_depth;
        unsigned long lfb_base;
        unsigned long lfb_size;
        unsigned short dontuse2, dontuse3;
        unsigned short lfb_linelength;
        unsigned char red_size;
        unsigned char red_pos;
        unsigned char green_size;
        unsigned char green_pos;
        unsigned char blue_size;
        unsigned char blue_pos;
        unsigned char rsvd_size;
        unsigned char rsvd_pos;
        unsigned short vesapm_seg;
        unsigned short vesapm_off;
        unsigned short pages;

};

extern struct screen_info_Rc7d8d4d6 screen_info_Rc7d8d4d6;
# 138 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h"
struct tty_flip_buffer {
        struct tq_struct tqueue;
        struct semaphore pty_sem;
        char *char_buf_ptr;
        unsigned char *flag_buf_ptr;
        int count;
        int buf_num;
        unsigned char char_buf[2*512];
        char flag_buf[2*512];
        unsigned char slop[4];
};
# 258 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h"
struct tty_struct {
        int magic;
        struct tty_driver driver;
        struct tty_ldisc ldisc;
        struct termios *termios, *termios_locked;
        int pgrp;
        int session;
        kdev_t device;
        unsigned long flags;
        int count;
        struct winsize winsize;
        unsigned char stopped:1, hw_stopped:1, flow_stopped:1, packet:1;
        unsigned char low_latency:1, warned:1;
        unsigned char ctrl_status;

        struct tty_struct *link;
        struct fasync_struct *fasync;
        struct tty_flip_buffer flip;
        int max_flip_cnt;
        int alt_speed;
        wait_queue_head_t write_wait;
        wait_queue_head_t read_wait;
        struct tq_struct tq_hangup;
        void *disc_data;
        void *driver_data;
        struct list_head tty_files;







        unsigned int column;
        unsigned char lnext:1, erasing:1, raw:1, real_raw:1, icanon:1;
        unsigned char closing:1;
        unsigned short minimum_to_wake;
        unsigned overrun_time;
        int num_overrun;
        unsigned long process_char_map[256/(8*sizeof(unsigned long))];
        char *read_buf;
        int read_head;
        int read_tail;
        int read_cnt;
        unsigned long read_flags[4096/(8*sizeof(unsigned long))];
        int canon_data;
        unsigned long canon_head;
        unsigned int canon_column;
        struct semaphore atomic_read;
        struct semaphore atomic_write;
        spinlock_t read_lock;

        struct tq_struct SAK_tq;
};
# 340 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h"
extern void tty_write_flush(struct tty_struct *);

extern struct termios tty_std_termios_R89ac5254;
extern struct tty_struct * redirect;
extern struct tty_ldisc ldiscs[];
extern int fg_console_R4e6e8ea7, last_console, want_console;

extern int kmsg_redirect;

extern void con_init(void);
extern void console_init(void);

extern int lp_init(void);
extern int pty_init(void);
extern void tty_init(void);
extern int mxser_init(void);
extern int moxa_init(void);
extern int ip2_init(void);
extern int pcxe_init(void);
extern int pc_init(void);
extern int vcs_init(void);
extern int rp_init(void);
extern int cy_init(void);
extern int stl_init(void);
extern int stli_init(void);
extern int specialix_init(void);
extern int espserial_init(void);
extern int macserial_init(void);
extern int a2232board_init(void);
extern int stdio_init(void);

extern int tty_paranoia_check(struct tty_struct *tty, kdev_t device,
                              const char *routine);
extern char *tty_name(struct tty_struct *tty, char *buf);
extern void tty_wait_until_sent_R52e81f19(struct tty_struct * tty, long timeout);
extern int tty_check_change_Rb4e69b75(struct tty_struct * tty);
extern void stop_tty(struct tty_struct * tty);
extern void start_tty(struct tty_struct * tty);
extern int tty_register_ldisc_Racbae6c2(int disc, struct tty_ldisc *new_ldisc);
extern int tty_register_driver_R483204b1(struct tty_driver *driver);
extern int tty_unregister_driver_R361f926b(struct tty_driver *driver);
extern void tty_register_devfs_Rbfb69268 (struct tty_driver *driver, unsigned int flags,
                                unsigned minor);
extern void tty_unregister_devfs_Rdeb7b1cd (struct tty_driver *driver, unsigned minor);
struct devfs_entry;
extern void tty_register_devfs_name_R66f3353e (struct tty_driver *driver,
                                     unsigned int flags, unsigned minor,
                                     struct devfs_entry *dir, const char *name);
extern void tty_unregister_devfs_name_Rea9f4b39 (struct tty_driver *driver,
                                       unsigned minor, struct devfs_entry *dir,
                                       const char *name);
extern int tty_read_raw_data(struct tty_struct *tty, unsigned char *bufp,
                             int buflen);
extern void tty_write_message(struct tty_struct *tty, char *msg);

extern int is_orphaned_pgrp(int pgrp);
extern int is_ignored(int sig);
extern int tty_signal(int sig, struct tty_struct *tty);
extern void tty_hangup_R128aa009(struct tty_struct * tty);
extern void tty_vhangup(struct tty_struct * tty);
extern void tty_unhangup(struct file *filp);
extern int tty_hung_up_p_R0f417202(struct file * filp);
extern void do_SAK_R6f39e739(struct tty_struct *tty);
extern void disassociate_ctty(int priv);
extern void tty_flip_buffer_push_R8a8fa8a5(struct tty_struct *tty);
extern int tty_get_baud_rate_Raab1147e(struct tty_struct *tty);


extern struct tty_ldisc tty_ldisc_N_TTY;


extern int n_tty_ioctl_R16efe42f(struct tty_struct * tty, struct file * file,
                       unsigned int cmd, unsigned long arg);



extern void serial_console_init(void);



extern int pcxe_open(struct tty_struct *tty, struct file *filp);



extern void console_print_Rb714a981(const char *);



extern int vt_ioctl(struct tty_struct *tty, struct file * file,
                    unsigned int cmd, unsigned long arg);

extern void stdio_console_init(void);
# 24 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/sem.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/ipc.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/ipc.h" 2




struct ipc_perm
{
        __kernel_key_t key;
        __kernel_uid_t uid;
        __kernel_gid_t gid;
        __kernel_uid_t cuid;
        __kernel_gid_t cgid;
        __kernel_mode_t mode;
        unsigned short seq;
};


# 1 "/usr/src/linux-2.4.12-ac2/include/asm/ipcbuf.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/asm/ipcbuf.h"
struct ipc64_perm
{
        __kernel_key_t key;
        __kernel_uid32_t uid;
        __kernel_gid32_t gid;
        __kernel_uid32_t cuid;
        __kernel_gid32_t cgid;
        __kernel_mode_t mode;
        unsigned short __pad1;
        unsigned short seq;
        unsigned short __pad2;
        unsigned long __unused1;
        unsigned long __unused2;
};
# 22 "/usr/src/linux-2.4.12-ac2/include/linux/ipc.h" 2
# 57 "/usr/src/linux-2.4.12-ac2/include/linux/ipc.h"
struct kern_ipc_perm
{
        key_t key;
        uid_t uid;
        gid_t gid;
        uid_t cuid;
        gid_t cgid;
        mode_t mode;
        unsigned long seq;
};
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/sem.h" 2
# 23 "/usr/src/linux-2.4.12-ac2/include/linux/sem.h"
struct semid_ds {
        struct ipc_perm sem_perm;
        __kernel_time_t sem_otime;
        __kernel_time_t sem_ctime;
        struct sem *sem_base;
        struct sem_queue *sem_pending;
        struct sem_queue **sem_pending_last;
        struct sem_undo *undo;
        unsigned short sem_nsems;
};


# 1 "/usr/src/linux-2.4.12-ac2/include/asm/sembuf.h" 1
# 14 "/usr/src/linux-2.4.12-ac2/include/asm/sembuf.h"
struct semid64_ds {
        struct ipc64_perm sem_perm;
        __kernel_time_t sem_otime;
        unsigned long __unused1;
        __kernel_time_t sem_ctime;
        unsigned long __unused2;
        unsigned long sem_nsems;
        unsigned long __unused3;
        unsigned long __unused4;
};
# 36 "/usr/src/linux-2.4.12-ac2/include/linux/sem.h" 2


struct sembuf {
        unsigned short sem_num;
        short sem_op;
        short sem_flg;
};


union semun {
        int val;
        struct semid_ds *buf;
        unsigned short *array;
        struct seminfo *__buf;
        void *__pad;
};

struct seminfo {
        int semmap;
        int semmni;
        int semmns;
        int semmnu;
        int semmsl;
        int semopm;
        int semume;
        int semusz;
        int semvmx;
        int semaem;
};
# 82 "/usr/src/linux-2.4.12-ac2/include/linux/sem.h"
struct sem {
        int semval;
        int sempid;
};


struct sem_array {
        struct kern_ipc_perm sem_perm;
        time_t sem_otime;
        time_t sem_ctime;
        struct sem *sem_base;
        struct sem_queue *sem_pending;
        struct sem_queue **sem_pending_last;
        struct sem_undo *undo;
        unsigned long sem_nsems;
};


struct sem_queue {
        struct sem_queue * next;
        struct sem_queue ** prev;
        struct task_struct* sleeper;
        struct sem_undo * undo;
        int pid;
        int status;
        struct sem_array * sma;
        int id;
        struct sembuf * sops;
        int nsops;
        int alter;
};




struct sem_undo {
        struct sem_undo * proc_next;
        struct sem_undo * id_next;
        int semid;
        short * semadj;
};

 __attribute__((regparm(0))) long sys_semget (key_t key, int nsems, int semflg);
 __attribute__((regparm(0))) long sys_semop (int semid, struct sembuf *sops, unsigned nsops);
 __attribute__((regparm(0))) long sys_semctl (int semid, int semnum, int cmd, union semun arg);
# 25 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/asm/signal.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/signal.h" 2


struct siginfo;
# 17 "/usr/src/linux-2.4.12-ac2/include/asm/signal.h"
typedef unsigned long old_sigset_t;

typedef struct {
        unsigned long sig[(64 / 32)];
} sigset_t;
# 129 "/usr/src/linux-2.4.12-ac2/include/asm/signal.h"
typedef void (*__sighandler_t)(int);






struct old_sigaction {
        __sighandler_t sa_handler;
        old_sigset_t sa_mask;
        unsigned long sa_flags;
        void (*sa_restorer)(void);
};

struct sigaction {
        __sighandler_t sa_handler;
        unsigned long sa_flags;
        void (*sa_restorer)(void);
        sigset_t sa_mask;
};

struct k_sigaction {
        struct sigaction sa;
};
# 171 "/usr/src/linux-2.4.12-ac2/include/asm/signal.h"
typedef struct sigaltstack {
        void *ss_sp;
        int ss_flags;
        size_t ss_size;
} stack_t;


# 1 "/usr/src/linux-2.4.12-ac2/include/asm/sigcontext.h" 1
# 179 "/usr/src/linux-2.4.12-ac2/include/asm/signal.h" 2



static __inline__ void sigaddset(sigset_t *set, int _sig)
{
        __asm__("btsl %1,%0" : "=m"(*set) : "Ir"(_sig - 1) : "cc");
}

static __inline__ void sigdelset(sigset_t *set, int _sig)
{
        __asm__("btrl %1,%0" : "=m"(*set) : "Ir"(_sig - 1) : "cc");
}

static __inline__ int __const_sigismember(sigset_t *set, int _sig)
{
        unsigned long sig = _sig - 1;
        return 1 & (set->sig[sig / 32] >> (sig % 32));
}

static __inline__ int __gen_sigismember(sigset_t *set, int _sig)
{
        int ret;
        __asm__("btl %2,%1\n\tsbbl %0,%0"
                : "=r"(ret) : "m"(*set), "Ir"(_sig-1) : "cc");
        return ret;
}
# 213 "/usr/src/linux-2.4.12-ac2/include/asm/signal.h"
static __inline__ int sigfindinword(unsigned long word)
{
        __asm__("bsfl %1,%0" : "=r"(word) : "rm"(word) : "cc");
        return word;
}
# 5 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h" 2
# 1 "/usr/src/linux-2.4.12-ac2/include/asm/siginfo.h" 1



# 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
# 5 "/usr/src/linux-2.4.12-ac2/include/asm/siginfo.h" 2



typedef union sigval {
        int sival_int;
        void *sival_ptr;
} sigval_t;




typedef struct siginfo {
        int si_signo;
        int si_errno;
        int si_code;

        union {
                int _pad[((128/sizeof(int)) - 3)];


                struct {
                        pid_t _pid;
                        uid_t _uid;
                } _kill;


                struct {
                        unsigned int _timer1;
                        unsigned int _timer2;
                } _timer;


                struct {
                        pid_t _pid;
                        uid_t _uid;
                        sigval_t _sigval;
                } _rt;


                struct {
                        pid_t _pid;
                        uid_t _uid;
                        int _status;
                        clock_t _utime;
                        clock_t _stime;
                } _sigchld;


                struct {
                        void *_addr;
                } _sigfault;


                struct {
                        int _band;
                        int _fd;
                } _sigpoll;
        } _sifields;
} siginfo_t;
# 199 "/usr/src/linux-2.4.12-ac2/include/asm/siginfo.h"
typedef struct sigevent {
        sigval_t sigev_value;
        int sigev_signo;
        int sigev_notify;
        union {
                int _pad[((64/sizeof(int)) - 3)];

                struct {
                        void (*_function)(sigval_t);
                        void *_attribute;
                } _sigev_thread;
        } _sigev_un;
} sigevent_t;





# 1 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 1
# 218 "/usr/src/linux-2.4.12-ac2/include/asm/siginfo.h" 2

static inline void copy_siginfo(siginfo_t *to, siginfo_t *from)
{
        if (from->si_code < 0)
                (__builtin_constant_p(sizeof(siginfo_t)) ? __constant_memcpy((to),(from),(sizeof(siginfo_t))) : __memcpy((to),(from),(sizeof(siginfo_t))));
        else

                (__builtin_constant_p(3*sizeof(int) + sizeof(from->_sifields._sigchld)) ? __constant_memcpy((to),(from),(3*sizeof(int) + sizeof(from->_sifields._sigchld))) : __memcpy((to),(from),(3*sizeof(int) + sizeof(from->_sifields._sigchld))));
}

extern int copy_siginfo_to_user(siginfo_t *to, siginfo_t *from);
# 6 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h" 2






struct sigqueue {
        struct sigqueue *next;
        siginfo_t info;
};

struct sigpending {
        struct sigqueue *head, **tail;
        sigset_t signal;
};
# 68 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h"
# 1 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 1
# 69 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h" 2
# 108 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h"
static inline void sigorsets(sigset_t *r, const sigset_t *a, const sigset_t *b) { unsigned long a0, a1, a2, a3, b0, b1, b2, b3; unsigned long i; for (i = 0; i < (64 / 32)/4; ++i) { a0 = a->sig[4*i+0]; a1 = a->sig[4*i+1]; a2 = a->sig[4*i+2]; a3 = a->sig[4*i+3]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; b2 = b->sig[4*i+2]; b3 = b->sig[4*i+3]; r->sig[4*i+0] = ((a0) | (b0)); r->sig[4*i+1] = ((a1) | (b1)); r->sig[4*i+2] = ((a2) | (b2)); r->sig[4*i+3] = ((a3) | (b3)); } switch ((64 / 32) % 4) { case 3: a0 = a->sig[4*i+0]; a1 = a->sig[4*i+1]; a2 = a->sig[4*i+2]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; b2 = b->sig[4*i+2]; r->sig[4*i+0] = ((a0) | (b0)); r->sig[4*i+1] = ((a1) | (b1)); r->sig[4*i+2] = ((a2) | (b2)); break; case 2: a0 = a->sig[4*i+0]; a1 = a->sig[4*i+1]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; r->sig[4*i+0] = ((a0) | (b0)); r->sig[4*i+1] = ((a1) | (b1)); break; case 1: a0 = a->sig[4*i+0]; b0 = b->sig[4*i+0]; r->sig[4*i+0] = ((a0) | (b0)); break; } }


static inline void sigandsets(sigset_t *r, const sigset_t *a, const sigset_t *b) { unsigned long a0, a1, a2, a3, b0, b1, b2, b3; unsigned long i; for (i = 0; i < (64 / 32)/4; ++i) { a0 = a->sig[4*i+0]; a1 = a->sig[4*i+1]; a2 = a->sig[4*i+2]; a3 = a->sig[4*i+3]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; b2 = b->sig[4*i+2]; b3 = b->sig[4*i+3]; r->sig[4*i+0] = ((a0) & (b0)); r->sig[4*i+1] = ((a1) & (b1)); r->sig[4*i+2] = ((a2) & (b2)); r->sig[4*i+3] = ((a3) & (b3)); } switch ((64 / 32) % 4) { case 3: a0 = a-
>Fix:
	None known, asides of compiling without -fomit-frame-pointer.

>Release-Note:
>Audit-Trail:
>Unformatted:
 >sig[4*i+0]; a1 = a->sig[4*i+1]; a2 = a->sig[4*i+2]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; b2 = b->sig[4*i+2]; r->sig[4*i+0] = ((a0) & (b0)); r->sig[4*i+1] = ((a1) & (b1)); r->sig[4*i+2] = ((a2) & (b2)); break; case 2: a0 = a->sig[4*i+0]; a1 = a->sig[4 *i+1]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; r->sig[4*i+0] = ((a0) & (b0)); r->sig[4*i+1] = ((a1) & (b1)); break; case 1: a0 = a->sig[4*i+0]; b0 = b->sig[4*i+0]; r->sig[4*i+0] = ((a0) & (b0)); break; } }
 
 
 static inline void signandsets(sigset_t *r, const sigset_t *a, const sigset_t *b) { unsigned long a0, a1, a2, a3, b0, b1, b2, b3; unsigned long i; for (i = 0; i < (64 / 32)/4; ++i) { a0 = a->sig[4*i+0]; a1 = a->sig[4*i+1]; a2 = a->sig[4*i+2]; a3 = a->sig [4*i+3]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; b2 = b->sig[4*i+2]; b3 = b->sig[4*i+3]; r->sig[4*i+0] = ((a0) & ~(b0)); r->sig[4*i+1] = ((a1) & ~(b1)); r->sig[4*i+2] = ((a2) & ~(b2)); r->sig[4*i+3] = ((a3) & ~(b3)); } switch ((64 / 32) % 4) { case 3: a0  = a->sig[4*i+0]; a1 = a->sig[4*i+1]; a2 = a->sig[4*i+2]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; b2 = b->sig[4*i+2]; r->sig[4*i+0] = ((a0) & ~(b0)); r->sig[4*i+1] = ((a1) & ~(b1)); r->sig[4*i+2] = ((a2) & ~(b2)); break; case 2: a0 = a->sig[4*i+0]; a1 =  a->sig[4*i+1]; b0 = b->sig[4*i+0]; b1 = b->sig[4*i+1]; r->sig[4*i+0] = ((a0) & ~(b0)); r->sig[4*i+1] = ((a1) & ~(b1)); break; case 1: a0 = a->sig[4*i+0]; b0 = b->sig[4*i+0]; r->sig[4*i+0] = ((a0) & ~(b0)); break; } }
 # 140 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h"
 static inline void signotset(sigset_t *set) { unsigned long i; for (i = 0; i < (64 / 32)/4; ++i) { set->sig[4*i+0] = (~(set->sig[4*i+0])); set->sig[4*i+1] = (~(set->sig[4*i+1])); set->sig[4*i+2] = (~(set->sig[4*i+2])); set->sig[4*i+3] = (~(set->sig[4*i+3 ])); } switch ((64 / 32) % 4) { case 3: set->sig[4*i+2] = (~(set->sig[4*i+2])); case 2: set->sig[4*i+1] = (~(set->sig[4*i+1])); case 1: set->sig[4*i+0] = (~(set->sig[4*i+0])); } }
 
 
 
 
 static inline void sigemptyset(sigset_t *set)
 {
         switch ((64 / 32)) {
         default:
                 (__builtin_constant_p(0) ? (__builtin_constant_p((sizeof(sigset_t))) ? __constant_c_and_count_memset(((set)),((0x01010101UL*(unsigned char)(0))),((sizeof(sigset_t)))) : __constant_c_memset(((set)),((0x01010101UL*(unsigned char)(0))),((siz eof(sigset_t))))) : (__builtin_constant_p((sizeof(sigset_t))) ? __memset_generic((((set))),(((0))),(((sizeof(sigset_t))))) : __memset_generic(((set)),((0)),((sizeof(sigset_t))))));
                 break;
         case 2: set->sig[1] = 0;
         case 1: set->sig[0] = 0;
                 break;
         }
 }
 
 static inline void sigfillset(sigset_t *set)
 {
         switch ((64 / 32)) {
         default:
                 (__builtin_constant_p(-1) ? (__builtin_constant_p((sizeof(sigset_t))) ? __constant_c_and_count_memset(((set)),((0x01010101UL*(unsigned char)(-1))),((sizeof(sigset_t)))) : __constant_c_memset(((set)),((0x01010101UL*(unsigned char)(-1))),(( sizeof(sigset_t))))) : (__builtin_constant_p((sizeof(sigset_t))) ? __memset_generic((((set))),(((-1))),(((sizeof(sigset_t))))) : __memset_generic(((set)),((-1)),((sizeof(sigset_t))))));
                 break;
         case 2: set->sig[1] = -1;
         case 1: set->sig[0] = -1;
                 break;
         }
 }
 
 extern char * render_sigset_t(sigset_t *set, char *buffer);
 
 
 
 static inline void sigaddsetmask(sigset_t *set, unsigned long mask)
 {
         set->sig[0] |= mask;
 }
 
 static inline void sigdelsetmask(sigset_t *set, unsigned long mask)
 {
         set->sig[0] &= ~mask;
 }
 
 static inline int sigtestsetmask(sigset_t *set, unsigned long mask)
 {
         return (set->sig[0] & mask) != 0;
 }
 
 static inline void siginitset(sigset_t *set, unsigned long mask)
 {
         set->sig[0] = mask;
         switch ((64 / 32)) {
         default:
                 (__builtin_constant_p(0) ? (__builtin_constant_p((sizeof(long)*((64 / 32)-1))) ? __constant_c_and_count_memset(((&set->sig[1])),((0x01010101UL*(unsigned char)(0))),((sizeof(long)*((64 / 32)-1)))) : __constant_c_memset(((&set->sig[1])),((0 x01010101UL*(unsigned char)(0))),((sizeof(long)*((64 / 32)-1))))) : (__builtin_constant_p((sizeof(long)*((64 / 32)-1))) ? __memset_generic((((&set->sig[1]))),(((0))),(((sizeof(long)*((64 / 32)-1))))) : __memset_generic(((&set->sig[1])),((0)),((sizeof(lon g)*((64 / 32)-1))))));
                 break;
         case 2: set->sig[1] = 0;
         case 1: ;
         }
 }
 
 static inline void siginitsetinv(sigset_t *set, unsigned long mask)
 {
         set->sig[0] = ~mask;
         switch ((64 / 32)) {
         default:
                 (__builtin_constant_p(-1) ? (__builtin_constant_p((sizeof(long)*((64 / 32)-1))) ? __constant_c_and_count_memset(((&set->sig[1])),((0x01010101UL*(unsigned char)(-1))),((sizeof(long)*((64 / 32)-1)))) : __constant_c_memset(((&set->sig[1])),( (0x01010101UL*(unsigned char)(-1))),((sizeof(long)*((64 / 32)-1))))) : (__builtin_constant_p((sizeof(long)*((64 / 32)-1))) ? __memset_generic((((&set->sig[1]))),(((-1))),(((sizeof(long)*((64 / 32)-1))))) : __memset_generic(((&set->sig[1])),((-1)),((sizeo f(long)*((64 / 32)-1))))));
                 break;
         case 2: set->sig[1] = -1;
         case 1: ;
         }
 }
 
 
 
 static inline void init_sigpending(struct sigpending *sig)
 {
         sigemptyset(&sig->signal);
         sig->head = ((void *)0);
         sig->tail = &sig->head;
 }
 
 extern long do_sigpending(void *, unsigned long);
 # 26 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/securebits.h" 1
 
 
 
 
 
 extern unsigned securebits_Rabe77484;
 # 27 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs_struct.h" 1
 
 
 
 
 struct fs_struct {
         atomic_t count;
         rwlock_t lock;
         int umask;
         struct dentry * root, * pwd, * altroot;
         struct vfsmount * rootmnt, * pwdmnt, * altrootmnt;
 };
 # 20 "/usr/src/linux-2.4.12-ac2/include/linux/fs_struct.h"
 extern void exit_fs_R7b6ee2fe(struct task_struct *);
 extern void set_fs_altroot(void);
 
 
 
 
 
 
 static inline void set_fs_root(struct fs_struct *fs,
         struct vfsmount *mnt,
         struct dentry *dentry)
 {
         struct dentry *old_root;
         struct vfsmount *old_rootmnt;
         (void)(&fs->lock);
         old_root = fs->root;
         old_rootmnt = fs->rootmnt;
         fs->rootmnt = mntget(mnt);
         fs->root = dget(dentry);
         do { } while(0);
         if (old_root) {
                 dput_R343a12f6(old_root);
                 mntput(old_rootmnt);
         }
 }
 
 
 
 
 
 
 static inline void set_fs_pwd(struct fs_struct *fs,
         struct vfsmount *mnt,
         struct dentry *dentry)
 {
         struct dentry *old_pwd;
         struct vfsmount *old_pwdmnt;
         (void)(&fs->lock);
         old_pwd = fs->pwd;
         old_pwdmnt = fs->pwdmnt;
         fs->pwdmnt = mntget(mnt);
         fs->pwd = dget(dentry);
         do { } while(0);
         if (old_pwd) {
                 dput_R343a12f6(old_pwd);
                 mntput(old_pwdmnt);
         }
 }
 
 struct fs_struct *copy_fs_struct(struct fs_struct *old);
 void put_fs_struct(struct fs_struct *fs);
 # 28 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 
 struct exec_domain;
 # 57 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 extern unsigned long avenrun[];
 # 74 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 extern int nr_running_Rca3c6d78, nr_threads;
 extern int last_pid;
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
 # 78 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/time.h" 1
 # 79 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/param.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/param.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/param.h" 2
 # 80 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/resource.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/time.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/resource.h" 2
 # 21 "/usr/src/linux-2.4.12-ac2/include/linux/resource.h"
 struct rusage {
         struct timeval ru_utime;
         struct timeval ru_stime;
         long ru_maxrss;
         long ru_ixrss;
         long ru_idrss;
         long ru_isrss;
         long ru_minflt;
         long ru_majflt;
         long ru_nswap;
         long ru_inblock;
         long ru_oublock;
         long ru_msgsnd;
         long ru_msgrcv;
         long ru_nsignals;
         long ru_nvcsw;
         long ru_nivcsw;
 };
 
 struct rlimit {
         unsigned long rlim_cur;
         unsigned long rlim_max;
 };
 # 56 "/usr/src/linux-2.4.12-ac2/include/linux/resource.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/resource.h" 1
 # 57 "/usr/src/linux-2.4.12-ac2/include/linux/resource.h" 2
 # 81 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/timer.h" 1
 # 82 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 1
 # 84 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 # 124 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 struct sched_param {
         int sched_priority;
 };
 
 struct completion;
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
 # 133 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 
 
 
 
 
 
 
 extern rwlock_t tasklist_lock_R999c80a2;
 extern spinlock_t runqueue_lock;
 extern spinlock_t mmlist_lock;
 
 extern void sched_init(void);
 extern void init_idle(void);
 extern void show_state(void);
 extern void cpu_init (void);
 extern void trap_init(void);
 extern void update_process_times(int user);
 extern void update_one_process(struct task_struct *p, unsigned long user,
                                unsigned long system, int cpu);
 
 
 extern signed long schedule_timeout_R17d59d01(signed long timeout) __attribute__((regparm(3)));
  __attribute__((regparm(0))) void schedule_R4292364c(void);
 
 extern int schedule_task_R2d6c3d04(struct tq_struct *task);
 extern void flush_scheduled_tasks_R7c3242b4(void);
 extern int start_context_thread(void);
 extern int current_is_keventd(void);
 # 171 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 struct files_struct {
         atomic_t count;
         rwlock_t file_lock;
         int max_fds;
         int max_fdset;
         int next_fd;
         struct file ** fd;
         fd_set *close_on_exec;
         fd_set *open_fds;
         fd_set close_on_exec_init;
         fd_set open_fds_init;
         struct file * fd_array[32];
 };
 # 203 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 extern int max_map_count;
 
 
 
 
 struct mm_struct {
         struct vm_area_struct * mmap;
         struct vm_area_struct * mmap_avl;
         struct vm_area_struct * mmap_cache;
         pgd_t * pgd;
         atomic_t mm_users;
         atomic_t mm_count;
         int map_count;
         struct rw_semaphore mmap_sem;
         spinlock_t page_table_lock;
 
         struct list_head mmlist;
 
 
 
 
         unsigned long start_code, end_code, start_data, end_data;
         unsigned long start_brk, brk, start_stack;
         unsigned long arg_start, arg_end, env_start, env_end;
         unsigned long rss, total_vm, locked_vm;
         unsigned long def_flags;
         unsigned long cpu_vm_mask;
         unsigned long swap_address;
 
         unsigned dumpable:1;
 
 
         mm_context_t context;
 };
 
 extern int mmlist_nr;
 # 254 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 struct signal_struct {
         atomic_t count;
         struct k_sigaction action[64];
         spinlock_t siglock;
 };
 # 270 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 struct user_struct {
         atomic_t __count;
         atomic_t processes;
         atomic_t files;
 
 
         struct user_struct *next, **pprev;
         uid_t uid;
 };
 
 
 
 
 
 
 extern struct user_struct root_user;
 
 
 struct task_struct {
 
 
 
         volatile long state;
         unsigned long flags;
         int sigpending;
         mm_segment_t addr_limit;
 
 
 
         struct exec_domain *exec_domain;
         volatile long need_resched;
         unsigned long ptrace;
 
         int lock_depth;
 
 
 
 
 
 
         long counter;
         long nice;
         unsigned long policy;
         struct mm_struct *mm;
         int has_cpu, processor;
         unsigned long cpus_allowed;
 
 
 
 
         struct list_head run_list;
         unsigned long sleep_time;
 
         struct task_struct *next_task, *prev_task;
         struct mm_struct *active_mm;
 
 
         struct linux_binfmt *binfmt;
         int exit_code, exit_signal;
         int pdeath_signal;
 
         unsigned long personality;
         int did_exec:1;
         pid_t pid;
         pid_t pgrp;
         pid_t tty_old_pgrp;
         pid_t session;
         pid_t tgid;
 
         int leader;
 
 
 
 
 
         struct task_struct *p_opptr, *p_pptr, *p_cptr, *p_ysptr, *p_osptr;
         struct list_head thread_group;
 
 
         struct task_struct *pidhash_next;
         struct task_struct **pidhash_pprev;
 
         wait_queue_head_t wait_chldexit;
         struct completion *vfork_done;
         unsigned long rt_priority;
         unsigned long it_real_value, it_prof_value, it_virt_value;
         unsigned long it_real_incr, it_prof_incr, it_virt_incr;
         struct timer_list real_timer;
         struct tms times;
         unsigned long start_time;
         long per_cpu_utime[1], per_cpu_stime[1];
 
         unsigned long min_flt, maj_flt, nswap, cmin_flt, cmaj_flt, cnswap;
         int swappable:1;
 
         uid_t uid,euid,suid,fsuid;
         gid_t gid,egid,sgid,fsgid;
         int ngroups;
         gid_t groups[32];
         kernel_cap_t cap_effective, cap_inheritable, cap_permitted;
         int keep_capabilities:1;
         struct user_struct *user;
 
         struct rlimit rlim[11];
         unsigned short used_math;
         char comm[16];
 
         int link_count, total_link_count;
         struct tty_struct *tty;
         unsigned int locks;
 
         struct sem_undo *semundo;
         struct sem_queue *semsleeping;
 
         struct thread_struct thread;
 
         struct fs_struct *fs;
 
         struct files_struct *files;
 
         spinlock_t sigmask_lock;
         struct signal_struct *sig;
 
         sigset_t blocked;
         struct sigpending pending;
 
         unsigned long sas_ss_sp;
         size_t sas_ss_size;
         int (*notifier)(void *priv);
         void *notifier_data;
         sigset_t *notifier_mask;
 
 
         u32 parent_exec_id;
         u32 self_exec_id;
 
         spinlock_t alloc_lock;
 
 
         void *journal_info;
 };
 # 451 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 extern struct exec_domain default_exec_domain;
 # 504 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 union task_union {
         struct task_struct task;
         unsigned long stack[2048*sizeof(long)/sizeof(long)];
 };
 
 extern union task_union init_task_union_R91965d70;
 
 extern struct mm_struct init_mm_Rf371e04e;
 extern struct task_struct *init_tasks[1];
 
 
 
 extern struct task_struct *pidhash_R4b501efb[(4096 >> 2)];
 
 
 
 static inline void hash_pid(struct task_struct *p)
 {
         struct task_struct **htable = &pidhash_R4b501efb[((((p->pid) >> 8) ^ (p->pid)) & ((4096 >> 2) - 1))];
 
         if((p->pidhash_next = *htable) != ((void *)0))
                 (*htable)->pidhash_pprev = &p->pidhash_next;
         *htable = p;
         p->pidhash_pprev = htable;
 }
 
 static inline void unhash_pid(struct task_struct *p)
 {
         if(p->pidhash_next)
                 p->pidhash_next->pidhash_pprev = p->pidhash_pprev;
         *p->pidhash_pprev = p->pidhash_next;
 }
 
 static inline struct task_struct *find_task_by_pid(int pid)
 {
         struct task_struct *p, **htable = &pidhash_R4b501efb[((((pid) >> 8) ^ (pid)) & ((4096 >> 2) - 1))];
 
         for(p = *htable; p && p->pid != pid; p = p->pidhash_next)
                 ;
 
         return p;
 }
 
 
 extern struct user_struct * alloc_uid(uid_t);
 extern void free_uid(struct user_struct *);
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/current.h" 1
 
 
 
 struct task_struct;
 
 static inline struct task_struct * get_current(void)
 {
         struct task_struct *current;
         __asm__("andl %%esp,%0; ":"=r" (current) : "0" (~8191UL));
         return current;
  }
 # 552 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 2
 
 extern unsigned long volatile jiffies_R0da02d67;
 extern unsigned long itimer_ticks;
 extern unsigned long itimer_next;
 extern struct timeval xtime_Rf31ddf83;
 extern void do_timer(struct pt_regs *);
 
 extern unsigned int * prof_buffer;
 extern unsigned long prof_len;
 extern unsigned long prof_shift;
 
 
 
 extern void __wake_up_Rb76c5f1e(wait_queue_head_t *q, unsigned int mode, int nr) __attribute__((regparm(3)));
 extern void __wake_up_sync_R0231d9ea(wait_queue_head_t *q, unsigned int mode, int nr) __attribute__((regparm(3)));
 extern void __unwakeup_process(struct task_struct * p, long state) __attribute__((regparm(3)));
 extern void sleep_on_Re0679a3f(wait_queue_head_t *q) __attribute__((regparm(3)));
 extern long sleep_on_timeout_R75c8e394(wait_queue_head_t *q, signed long timeout) __attribute__((regparm(3)));
 
 extern void interruptible_sleep_on_R7e4f89c3(wait_queue_head_t *q) __attribute__((regparm(3)));
 extern long interruptible_sleep_on_timeout_R407a28d8(wait_queue_head_t *q, signed long timeout) __attribute__((regparm(3)));
 
 extern int wake_up_process_Rf7fc16b3(struct task_struct * tsk) __attribute__((regparm(3)));
 # 593 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
  __attribute__((regparm(0))) long sys_wait4(pid_t pid,unsigned int * stat_addr, int options, struct rusage * ru);
 
 extern int in_group_p_Rc3cf1128(gid_t);
 extern int in_egroup_p_Rd8a2ab95(gid_t);
 
 extern void proc_caches_init(void);
 extern void flush_signals_Rc2ea5b43(struct task_struct *);
 extern void flush_signal_handlers(struct task_struct *);
 extern int dequeue_signal_R8e39319b(sigset_t *, siginfo_t *);
 extern void block_all_signals_R4b34fbf5(int (*notifier)(void *priv), void *priv,
                               sigset_t *mask);
 extern void unblock_all_signals_R0a2487e0(void);
 extern int send_sig_info_R36bf8f3d(int, struct siginfo *, struct task_struct *);
 extern int force_sig_info_R1f560c6f(int, struct siginfo *, struct task_struct *);
 extern int kill_pg_info_R8e2d4990(int, struct siginfo *, pid_t);
 extern int kill_sl_info_R1988d21e(int, struct siginfo *, pid_t);
 extern int kill_proc_info_Rfb68b264(int, struct siginfo *, pid_t);
 extern void notify_parent_R2ef89d6b(struct task_struct *, int);
 extern void do_notify_parent(struct task_struct *, int);
 extern void force_sig_Rbde47b31(int, struct task_struct *);
 extern int send_sig_R848da4d3(int, struct task_struct *, int);
 extern int kill_pg_R38f29719(pid_t, int, int);
 extern int kill_sl_Rfba12fd0(pid_t, int, int);
 extern int kill_proc_R932da67e(pid_t, int, int);
 extern int do_sigaction(int, const struct k_sigaction *, struct k_sigaction *);
 extern int do_sigaltstack(const stack_t *, stack_t *, unsigned long);
 
 static inline int signal_pending(struct task_struct *p)
 {
         return (p->sigpending != 0);
 }
 
 
 
 
 
 static inline int has_pending_signals(sigset_t *signal, sigset_t *blocked)
 {
         unsigned long ready;
         long i;
 
         switch ((64 / 32)) {
         default:
                 for (i = (64 / 32), ready = 0; --i >= 0 ;)
                         ready |= signal->sig[i] &~ blocked->sig[i];
                 break;
 
         case 4: ready = signal->sig[3] &~ blocked->sig[3];
                 ready |= signal->sig[2] &~ blocked->sig[2];
                 ready |= signal->sig[1] &~ blocked->sig[1];
                 ready |= signal->sig[0] &~ blocked->sig[0];
                 break;
 
         case 2: ready = signal->sig[1] &~ blocked->sig[1];
                 ready |= signal->sig[0] &~ blocked->sig[0];
                 break;
 
         case 1: ready = signal->sig[0] &~ blocked->sig[0];
         }
         return ready != 0;
 }
 
 
 
 
 
 static inline void recalc_sigpending_R13c2d5c9(struct task_struct *t)
 {
         t->sigpending = has_pending_signals(&t->pending.signal, &t->blocked);
 }
 
 
 
 static inline int on_sig_stack(unsigned long sp)
 {
         return (sp - get_current()->sas_ss_sp < get_current()->sas_ss_size);
 }
 
 static inline int sas_ss_flags(unsigned long sp)
 {
         return (get_current()->sas_ss_size == 0 ? 2
                 : on_sig_stack(sp) ? 1 : 0);
 }
 
 extern int request_irq_R0c60f2e0(unsigned int,
                        void (*handler)(int, void *, struct pt_regs *),
                        unsigned long, const char *, void *);
 extern void free_irq_Rf20dabd8(unsigned int, void *);
 # 696 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 static inline int suser(void)
 {
         if (!( (1 << (0 +1)) & 0x00000000 ? (1 << (0)) & 0x00000000 : (1 << (0)) & securebits_Rabe77484 ) && get_current()->euid == 0) {
                 get_current()->flags |= 0x00000100;
                 return 1;
         }
         return 0;
 }
 
 static inline int fsuser(void)
 {
         if (!( (1 << (0 +1)) & 0x00000000 ? (1 << (0)) & 0x00000000 : (1 << (0)) & securebits_Rabe77484 ) && get_current()->fsuid == 0) {
                 get_current()->flags |= 0x00000100;
                 return 1;
         }
         return 0;
 }
 
 
 
 
 
 
 
 static inline int capable(int cap)
 {
 
         if (((get_current()->cap_effective) & (1 << (cap))))
 
 
 
         {
                 get_current()->flags |= 0x00000100;
                 return 1;
         }
         return 0;
 }
 
 
 
 
 extern struct mm_struct * mm_alloc(void);
 
 extern struct mm_struct * start_lazy_tlb(void);
 extern void end_lazy_tlb(struct mm_struct *mm);
 
 
 extern inline void __mmdrop(struct mm_struct *) __attribute__((regparm(3)));
 static inline void mmdrop(struct mm_struct * mm)
 {
         if (atomic_dec_and_test(&mm->mm_count))
                 __mmdrop(mm);
 }
 
 
 extern void mmput(struct mm_struct *);
 
 extern void mm_release(void);
 
 
 
 
 extern struct file ** alloc_fd_array(int);
 extern int expand_fd_array(struct files_struct *, int nr);
 extern void free_fd_array(struct file **, int);
 
 extern fd_set *alloc_fdset(int);
 extern int expand_fdset(struct files_struct *, int nr);
 extern void free_fdset(fd_set *, int);
 
 extern int copy_thread(int, unsigned long, unsigned long, unsigned long, struct task_struct *, struct pt_regs *);
 extern void flush_thread(void);
 extern void exit_thread(void);
 
 extern void exit_mm_Rfe07cfb6(struct task_struct *);
 extern void exit_files_R24dd2eea(struct task_struct *);
 extern void exit_sighand_R22da38c9(struct task_struct *);
 
 extern void reparent_to_init_Rec6158d0(void);
 extern void daemonize_Rd66a354a(void);
 
 extern int do_execve_R9c62098f(char *, char **, char **, struct pt_regs *);
 extern int do_fork(unsigned long, unsigned long, struct pt_regs *, unsigned long);
 
 extern void add_wait_queue_R6de98ed1(wait_queue_head_t *q, wait_queue_t * wait) __attribute__((regparm(3)));
 extern void add_wait_queue_exclusive_Rd683b107(wait_queue_head_t *q, wait_queue_t * wait) __attribute__((regparm(3)));
 extern void remove_wait_queue_R774a5ef8(wait_queue_head_t *q, wait_queue_t * wait) __attribute__((regparm(3)));
 # 864 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h"
 static inline void del_from_runqueue(struct task_struct * p)
 {
         nr_running_Rca3c6d78--;
         p->sleep_time = jiffies_R0da02d67;
         list_del(&p->run_list);
         p->run_list.next = ((void *)0);
 }
 
 static inline int task_on_runqueue(struct task_struct *p)
 {
         return (p->run_list.next != ((void *)0));
 }
 
 static inline void unhash_process(struct task_struct *p)
 {
         if (task_on_runqueue(p)) do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/sched.h", 879); __asm__ __volatile__("ud2"); } while (0);
         do { __asm__ __volatile__("cli": : :"memory"); (void)(&tasklist_lock_R999c80a2); } while (0);
         nr_threads--;
         unhash_pid(p);
         do { (p)->next_task->prev_task = (p)->prev_task; (p)->prev_task->next_task = (p)->next_task; if ((p)->p_osptr) (p)->p_osptr->p_ysptr = (p)->p_ysptr; if ((p)->p_ysptr) (p)->p_ysptr->p_osptr = (p)->p_osptr; else (p)->p_pptr->p_cptr = (p)->p_osptr;  } while (0);
         list_del(&p->thread_group);
         do { do { } while(0); __asm__ __volatile__("sti": : :"memory"); } while (0);
 }
 
 
 static inline void task_lock(struct task_struct *p)
 {
         (void)(&p->alloc_lock);
 }
 
 static inline void task_unlock(struct task_struct *p)
 {
         do { } while(0);
 }
 
 
 static inline char * d_path(struct dentry *dentry, struct vfsmount *vfsmnt,
                                 char *buf, int buflen)
 {
         char *res;
         struct vfsmount *rootmnt;
         struct dentry *root;
         (void)(&get_current()->fs->lock);
         rootmnt = mntget(get_current()->fs->rootmnt);
         root = dget(get_current()->fs->root);
         do { } while(0);
         (void)(&dcache_lock_R73463cef);
         res = __d_path_R6e7576c0(dentry, vfsmnt, root, rootmnt, buf, buflen);
         do { } while(0);
         dput_R343a12f6(root);
         mntput(rootmnt);
         return res;
 }
 # 18 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/slab.h" 1
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/slab.h"
 typedef struct kmem_cache_s kmem_cache_t;
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/errno.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 10 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 1
 # 11 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h" 1
 
 
 
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 8 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
 # 9 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
 # 10 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h" 2
 # 21 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h"
 typedef struct free_area_struct {
         struct list_head free_list;
         unsigned long *map;
 } free_area_t;
 
 struct pglist_data;
 # 36 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h"
 typedef struct zone_struct {
 
 
 
         spinlock_t lock;
         unsigned long free_pages_R234535e0;
         unsigned long inactive_clean_pages;
         unsigned long inactive_dirty_pages;
         unsigned long pages_min, pages_low, pages_high;
 
 
 
 
         struct list_head inactive_clean_list;
         free_area_t free_area[10];
 
 
 
 
         struct pglist_data *zone_pgdat;
         struct page *zone_mem_map;
         unsigned long zone_start_paddr;
         unsigned long zone_start_mapnr;
 
 
 
 
         char *name;
         unsigned long size;
 } zone_t;
 # 83 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h"
 typedef struct zonelist_struct {
         zone_t * zones [3 +1];
 } zonelist_t;
 # 100 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h"
 struct bootmem_data;
 typedef struct pglist_data {
         zone_t node_zones[3];
         zonelist_t node_zonelists[0x0f +1];
         struct page *node_mem_map;
         unsigned long *valid_addr_bitmap;
         struct bootmem_data *bdata;
         unsigned long node_start_paddr;
         unsigned long node_start_mapnr;
         unsigned long node_size;
         int node_id;
         struct pglist_data *node_next;
 } pg_data_t;
 
 extern int numnodes;
 extern pg_data_t *pgdat_list;
 # 124 "/usr/src/linux-2.4.12-ac2/include/linux/mmzone.h"
 struct page;
 extern void show_free_areas_core(pg_data_t *pgdat);
 extern void free_area_init_core(int nid, pg_data_t *pgdat, struct page **gmap,
   unsigned long *zones_size, unsigned long paddr, unsigned long *zholes_size,
   struct page *pmap);
 
 extern pg_data_t contig_page_data;
 # 13 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h" 2
 # 25 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h"
 union swap_header {
         struct
         {
                 char reserved[(1UL << 12) - 10];
                 char magic[10];
         } magic;
         struct
         {
                 char bootbits[1024];
                 unsigned int version;
                 unsigned int last_page;
                 unsigned int nr_badpages;
                 unsigned int padding[125];
                 unsigned int badpages[1];
         } info;
 };
 # 51 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
 # 52 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h" 2
 # 64 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h"
 struct swap_info_struct {
         unsigned int flags;
         kdev_t swap_device;
         spinlock_t sdev_lock;
         struct dentry * swap_file;
         struct vfsmount *swap_vfsmnt;
         unsigned short * swap_map;
         unsigned int lowest_bit;
         unsigned int highest_bit;
         unsigned int cluster_next;
         unsigned int cluster_nr;
         int prio;
         int pages;
         unsigned long max;
         int next;
 };
 
 extern int nr_swap_pages;
 extern unsigned long num_physpages_R0948cde9;
 extern unsigned int nr_free_pages(void);
 extern unsigned int nr_free_pages_zone(int);
 extern unsigned int nr_inactive_clean_pages(void);
 extern unsigned int nr_inactive_clean_pages_zone(int);
 extern unsigned int nr_free_buffer_pages(void);
 extern int nr_active_pages;
 extern int nr_inactive_dirty_pages;
 extern atomic_t page_cache_size;
 extern atomic_t buffermem_pages_R3c6d1ab2;
 extern spinlock_t pagecache_lock;
 extern void __remove_inode_page(struct page *);
 
 
 extern int vm_page_aging_tactic;
 extern int vm_static_inactive_target;
 extern int vm_drop_behind;
 
 
 struct task_struct;
 struct vm_area_struct;
 struct sysinfo;
 
 struct zone_t;
 
 
 extern void deactivate_page_Rab059faf(struct page *);
 extern void deactivate_page_nolock(struct page *);
 extern void activate_page(struct page *);
 extern void activate_page_nolock(struct page *);
 extern void lru_cache_add(struct page *);
 extern void __lru_cache_del(struct page *);
 extern void lru_cache_del(struct page *);
 extern void swap_setup(void);
 
 
 extern struct page * reclaim_page(zone_t *);
 extern wait_queue_head_t kswapd_wait;
 extern wait_queue_head_t kreclaimd_wait;
 extern int page_launder(int, int);
 extern int free_shortage(void);
 extern int total_free_shortage(void);
 extern int inactive_shortage(void);
 extern int total_inactive_shortage(void);
 extern void wakeup_kswapd(void);
 extern int try_to_free_pages(unsigned int gfp_mask);
 
 extern unsigned int zone_free_shortage(zone_t *zone);
 extern unsigned int zone_inactive_shortage(zone_t *zone);
 
 
 extern void rw_swap_page(int, struct page *);
 extern void rw_swap_page_nolock(int, swp_entry_t, char *);
 
 
 
 
 extern void show_swap_cache_info(void);
 extern void add_to_swap_cache(struct page *, swp_entry_t);
 extern void __delete_from_swap_cache(struct page *page);
 extern void delete_from_swap_cache(struct page *page);
 extern void free_page_and_swap_cache(struct page *page);
 extern struct page * lookup_swap_cache(swp_entry_t);
 extern struct page * read_swap_cache_async(swp_entry_t);
 
 
 extern int out_of_memory(void);
 extern void oom_kill(void);
 
 
 extern int vm_swap_full(void);
 extern unsigned int nr_swapfiles;
 extern struct swap_info_struct swap_info[];
 extern int is_swap_partition(kdev_t);
 extern void si_swapinfo(struct sysinfo *);
 extern swp_entry_t get_swap_page(void);
 extern void get_swaphandle_info(swp_entry_t, unsigned long *, kdev_t *,
                                         struct inode **);
 extern int swap_duplicate(swp_entry_t);
 extern int swap_count(struct page *);
 extern int valid_swaphandles(swp_entry_t, unsigned long *);
 extern void swap_free(swp_entry_t);
 struct swap_list_t {
         int head;
         int next;
 };
 extern struct swap_list_t swap_list;
  __attribute__((regparm(0))) long sys_swapoff(const char *);
  __attribute__((regparm(0))) long sys_swapon(const char *, int);
 
 
 
 
 extern unsigned long swap_cache_add_total;
 extern unsigned long swap_cache_del_total;
 extern unsigned long swap_cache_find_total;
 extern unsigned long swap_cache_find_success;
 
 
 extern spinlock_t pagemap_lru_lock;
 # 259 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h"
 static inline int inactive_target(void)
 {
         if (vm_static_inactive_target)
                 return vm_static_inactive_target;
 
         return num_physpages_R0948cde9 / 5;
 }
 # 284 "/usr/src/linux-2.4.12-ac2/include/linux/swap.h"
 extern spinlock_t swaplock;
 
 
 
 
 
 
 extern void shmem_unuse(swp_entry_t entry, struct page *page);
 # 14 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 
 extern unsigned long max_mapnr_R01139ffc;
 extern void * high_memory_R8a7d1c31;
 extern int page_cluster;
 
 extern struct list_head active_list;
 extern struct list_head inactive_dirty_list;
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
 # 23 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 2
 # 16 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 1
 # 17 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 1
 # 16 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 17 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
 # 18 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/apicdef.h" 1
 # 122 "/usr/src/linux-2.4.12-ac2/include/asm/apicdef.h"
 struct local_apic {
 
         struct { unsigned int __reserved[4]; } __reserved_01;
 
         struct { unsigned int __reserved[4]; } __reserved_02;
 
         struct {
                 unsigned int __reserved_1 : 24,
                         phys_apic_id : 4,
                         __reserved_2 : 4;
                 unsigned int __reserved[3];
         } id;
 
         const
         struct {
                 unsigned int version : 8,
                         __reserved_1 : 8,
                         max_lvt : 8,
                         __reserved_2 : 8;
                 unsigned int __reserved[3];
         } version;
 
         struct { unsigned int __reserved[4]; } __reserved_03;
 
         struct { unsigned int __reserved[4]; } __reserved_04;
 
         struct { unsigned int __reserved[4]; } __reserved_05;
 
         struct { unsigned int __reserved[4]; } __reserved_06;
 
         struct {
                 unsigned int priority : 8,
                         __reserved_1 : 24;
                 unsigned int __reserved_2[3];
         } tpr;
 
         const
         struct {
                 unsigned int priority : 8,
                         __reserved_1 : 24;
                 unsigned int __reserved_2[3];
         } apr;
 
         const
         struct {
                 unsigned int priority : 8,
                         __reserved_1 : 24;
                 unsigned int __reserved_2[3];
         } ppr;
 
         struct {
                 unsigned int eoi;
                 unsigned int __reserved[3];
         } eoi;
 
         struct { unsigned int __reserved[4]; } __reserved_07;
 
         struct {
                 unsigned int __reserved_1 : 24,
                         logical_dest : 8;
                 unsigned int __reserved_2[3];
         } ldr;
 
         struct {
                 unsigned int __reserved_1 : 28,
                         model : 4;
                 unsigned int __reserved_2[3];
         } dfr;
 
         struct {
                 unsigned int spurious_vector : 8,
                         apic_enabled : 1,
                         focus_cpu : 1,
                         __reserved_2 : 22;
                 unsigned int __reserved_3[3];
         } svr;
 
         struct {
                 unsigned int bitfield;
                 unsigned int __reserved[3];
         } isr [8];
 
         struct {
                 unsigned int bitfield;
                 unsigned int __reserved[3];
         } tmr [8];
 
         struct {
                 unsigned int bitfield;
                 unsigned int __reserved[3];
         } irr [8];
 
         union {
                 struct {
                         unsigned int send_cs_error : 1,
                                 receive_cs_error : 1,
                                 send_accept_error : 1,
                                 receive_accept_error : 1,
                                 __reserved_1 : 1,
                                 send_illegal_vector : 1,
                                 receive_illegal_vector : 1,
                                 illegal_register_address : 1,
                                 __reserved_2 : 24;
                         unsigned int __reserved_3[3];
                 } error_bits;
                 struct {
                         unsigned int errors;
                         unsigned int __reserved_3[3];
                 } all_errors;
         } esr;
 
         struct { unsigned int __reserved[4]; } __reserved_08;
 
         struct { unsigned int __reserved[4]; } __reserved_09;
 
         struct { unsigned int __reserved[4]; } __reserved_10;
 
         struct { unsigned int __reserved[4]; } __reserved_11;
 
         struct { unsigned int __reserved[4]; } __reserved_12;
 
         struct { unsigned int __reserved[4]; } __reserved_13;
 
         struct { unsigned int __reserved[4]; } __reserved_14;
 
         struct {
                 unsigned int vector : 8,
                         delivery_mode : 3,
                         destination_mode : 1,
                         delivery_status : 1,
                         __reserved_1 : 1,
                         level : 1,
                         trigger : 1,
                         __reserved_2 : 2,
                         shorthand : 2,
                         __reserved_3 : 12;
                 unsigned int __reserved_4[3];
         } icr1;
 
         struct {
                 union {
                         unsigned int __reserved_1 : 24,
                                 phys_dest : 4,
                                 __reserved_2 : 4;
                         unsigned int __reserved_3 : 24,
                                 logical_dest : 8;
                 } dest;
                 unsigned int __reserved_4[3];
         } icr2;
 
         struct {
                 unsigned int vector : 8,
                         __reserved_1 : 4,
                         delivery_status : 1,
                         __reserved_2 : 3,
                         mask : 1,
                         timer_mode : 1,
                         __reserved_3 : 14;
                 unsigned int __reserved_4[3];
         } lvt_timer;
 
         struct { unsigned int __reserved[4]; } __reserved_15;
 
         struct {
                 unsigned int vector : 8,
                         delivery_mode : 3,
                         __reserved_1 : 1,
                         delivery_status : 1,
                         __reserved_2 : 3,
                         mask : 1,
                         __reserved_3 : 15;
                 unsigned int __reserved_4[3];
         } lvt_pc;
 
         struct {
                 unsigned int vector : 8,
                         delivery_mode : 3,
                         __reserved_1 : 1,
                         delivery_status : 1,
                         polarity : 1,
                         remote_irr : 1,
                         trigger : 1,
                         mask : 1,
                         __reserved_2 : 15;
                 unsigned int __reserved_3[3];
         } lvt_lint0;
 
         struct {
                 unsigned int vector : 8,
                         delivery_mode : 3,
                         __reserved_1 : 1,
                         delivery_status : 1,
                         polarity : 1,
                         remote_irr : 1,
                         trigger : 1,
                         mask : 1,
                         __reserved_2 : 15;
                 unsigned int __reserved_3[3];
         } lvt_lint1;
 
         struct {
                 unsigned int vector : 8,
                         __reserved_1 : 4,
                         delivery_status : 1,
                         __reserved_2 : 3,
                         mask : 1,
                         __reserved_3 : 15;
                 unsigned int __reserved_4[3];
         } lvt_error;
 
         struct {
                 unsigned int initial_count;
                 unsigned int __reserved_2[3];
         } timer_icr;
 
         const
         struct {
                 unsigned int curr_count;
                 unsigned int __reserved_2[3];
         } timer_ccr;
 
         struct { unsigned int __reserved[4]; } __reserved_16;
 
         struct { unsigned int __reserved[4]; } __reserved_17;
 
         struct { unsigned int __reserved[4]; } __reserved_18;
 
         struct { unsigned int __reserved[4]; } __reserved_19;
 
         struct {
                 unsigned int divisor : 4,
                         __reserved_1 : 28;
                 unsigned int __reserved_2[3];
         } timer_dcr;
 
         struct { unsigned int __reserved[4]; } __reserved_20;
 
 } __attribute__ ((packed));
 # 19 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
 # 20 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/threads.h" 1
 # 22 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/kmap_types.h" 1
 
 
 
 enum km_type {
         KM_BOUNCE_READ,
         KM_BOUNCE_WRITE,
         KM_SKB_DATA,
         KM_SKB_DATA_SOFTIRQ,
         KM_USER0,
         KM_USER1,
         KM_TYPE_NR
 };
 # 23 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 2
 # 50 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h"
 enum fixed_addresses {
 
         FIX_APIC_BASE,
 
 
         FIX_IO_APIC_BASE_0,
         FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + 8 -1,
 # 65 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h"
         FIX_KMAP_BEGIN,
         FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*1)-1,
 
         __end_of_fixed_addresses
 };
 
 extern void __set_fixmap (enum fixed_addresses idx,
                                         unsigned long phys, pgprot_t flags);
 # 94 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h"
 extern void __this_fixmap_does_not_exist(void);
 
 
 
 
 
 
 static inline unsigned long fix_to_virt(const unsigned int idx)
 {
 # 112 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h"
         if (idx >= __end_of_fixed_addresses)
                 __this_fixmap_does_not_exist();
 
         return ((0xffffe000UL) - ((idx) << 12));
 }
 # 18 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/threads.h" 1
 # 19 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 2
 
 
 
 
 
 extern pgd_t swapper_pg_dir[1024];
 extern void paging_init(void);
 # 67 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h"
 extern unsigned long pgkern_mask;
 # 95 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h"
 extern unsigned long empty_zero_page[1024];
 # 115 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable-2level.h" 1
 # 32 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable-2level.h"
 static inline int pgd_none(pgd_t pgd) { return 0; }
 static inline int pgd_bad(pgd_t pgd) { return 0; }
 static inline int pgd_present(pgd_t pgd) { return 1; }
 # 53 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable-2level.h"
 static inline pmd_t * pmd_offset(pgd_t * dir, unsigned long address)
 {
         return (pmd_t *) dir;
 }
 # 116 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 2
 # 256 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h"
 extern unsigned long pg0[1024];
 # 277 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h"
 static inline int pte_read(pte_t pte) { return (pte).pte_low & 0x004; }
 static inline int pte_exec(pte_t pte) { return (pte).pte_low & 0x004; }
 static inline int pte_dirty(pte_t pte) { return (pte).pte_low & 0x040; }
 static inline int pte_young(pte_t pte) { return (pte).pte_low & 0x020; }
 static inline int pte_write(pte_t pte) { return (pte).pte_low & 0x002; }
 
 static inline pte_t pte_rdprotect(pte_t pte) { (pte).pte_low &= ~0x004; return pte; }
 static inline pte_t pte_exprotect(pte_t pte) { (pte).pte_low &= ~0x004; return pte; }
 static inline pte_t pte_mkclean(pte_t pte) { (pte).pte_low &= ~0x040; return pte; }
 static inline pte_t pte_mkold(pte_t pte) { (pte).pte_low &= ~0x020; return pte; }
 static inline pte_t pte_wrprotect(pte_t pte) { (pte).pte_low &= ~0x002; return pte; }
 static inline pte_t pte_mkread(pte_t pte) { (pte).pte_low |= 0x004; return pte; }
 static inline pte_t pte_mkexec(pte_t pte) { (pte).pte_low |= 0x004; return pte; }
 static inline pte_t pte_mkdirty(pte_t pte) { (pte).pte_low |= 0x040; return pte; }
 static inline pte_t pte_mkyoung(pte_t pte) { (pte).pte_low |= 0x020; return pte; }
 static inline pte_t pte_mkwrite(pte_t pte) { (pte).pte_low |= 0x002; return pte; }
 
 static inline int ptep_test_and_clear_dirty(pte_t *ptep) { return test_and_clear_bit(6, ptep); }
 static inline int ptep_test_and_clear_young(pte_t *ptep) { return test_and_clear_bit(5, ptep); }
 static inline void ptep_set_wrprotect(pte_t *ptep) { clear_bit(1, ptep); }
 static inline void ptep_mkdirty(pte_t *ptep) { set_bit(6, ptep); }
 # 309 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h"
 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
 {
         pte.pte_low &= ((~((1UL << 12)-1)) | 0x020 | 0x040);
         pte.pte_low |= ((newprot).pgprot);
         return pte;
 }
 # 24 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
 # 25 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 2
 # 41 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 struct vm_area_struct {
         struct mm_struct * vm_mm;
         unsigned long vm_start;
         unsigned long vm_end;
 
 
 
         struct vm_area_struct *vm_next;
 
         pgprot_t vm_page_prot;
         unsigned long vm_flags;
 
 
         short vm_avl_height;
         struct vm_area_struct * vm_avl_left;
         struct vm_area_struct * vm_avl_right;
 
 
 
 
 
 
         struct vm_area_struct *vm_next_share;
         struct vm_area_struct **vm_pprev_share;
 
 
         struct vm_operations_struct * vm_ops;
 
 
         unsigned long vm_pgoff;
 
         struct file * vm_file;
         unsigned long vm_raend;
         void * vm_private_data;
 };
 # 116 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 extern int vm_min_readahead_R41ef314d;
 extern int vm_max_readahead_Rf8c9aa3c;
 
 
 
 
 
 extern pgprot_t protection_map[16];
 
 
 
 
 
 
 
 struct vm_operations_struct {
         void (*open)(struct vm_area_struct * area);
         void (*close)(struct vm_area_struct * area);
         struct page * (*nopage)(struct vm_area_struct * area, unsigned long address, int write_access);
 };
 # 152 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 typedef struct page {
         struct list_head list;
         struct address_space *mapping;
         unsigned long index;
 
         struct page *next_hash;
 
         atomic_t count;
         unsigned long flags;
 
         struct list_head lru;
 
         unsigned long age;
         wait_queue_head_t wait;
         struct page **pprev_hash;
         struct buffer_head * buffers;
         void *virtual;
 
         struct zone_struct *zone;
 } mem_map_t;
 # 306 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 extern void __set_page_dirty(struct page *);
 
 static inline void set_page_dirty(struct page * page)
 {
         if (!test_and_set_bit(4, &page->flags))
                 __set_page_dirty(page);
 }
 # 366 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 static inline void touch_page(struct page * page)
 {
         if ((__builtin_constant_p(11) ? constant_test_bit((11),(&(page)->flags)) : variable_test_bit((11),(&(page)->flags))))
                 activate_page(page);
         else
                 set_bit(2, &(page)->flags);
 }
 # 381 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 extern mem_map_t * mem_map_R66bc8456;
 
 
 
 
 
 
 
 extern struct page * _alloc_pages_Rd1500ee9(unsigned int gfp_mask, unsigned long order) __attribute__((regparm(3)));
 extern struct page * __alloc_pages_R6ae22177(unsigned int gfp_mask, unsigned long order, zonelist_t *zonelist) __attribute__((regparm(3)));
 extern struct page * alloc_pages_node_R5349ed99(int nid, int gfp_mask, unsigned long order);
 
 static inline struct page * alloc_pages(int gfp_mask, unsigned long order)
 {
 
 
 
         if (order >= 10)
                 return ((void *)0);
         return _alloc_pages_Rd1500ee9(gfp_mask, order);
 }
 
 
 
 extern unsigned long __get_free_pages_R5b3b8f78(int gfp_mask, unsigned long order) __attribute__((regparm(3)));
 extern unsigned long get_zeroed_page_R6807e076(int gfp_mask) __attribute__((regparm(3)));
 # 422 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 extern void __free_pages_R8a0b9a0f(struct page *page, unsigned long order) __attribute__((regparm(3)));
 extern void free_pages_R234535e0(unsigned long addr, unsigned long order) __attribute__((regparm(3)));
 
 
 
 
 extern void show_free_areas(void);
 extern void show_free_areas_node(pg_data_t *pgdat);
 
 extern void clear_page_tables(struct mm_struct *, unsigned long, int);
 
 struct page * shmem_nopage(struct vm_area_struct * vma, unsigned long address, int no_share);
 struct file *shmem_file_setup_Ra19f382f(char * name, loff_t size);
 extern void shmem_lock(struct file * file, int lock);
 extern int shmem_zero_setup(struct vm_area_struct *);
 
 extern void zap_page_range(struct mm_struct *mm, unsigned long address, unsigned long size);
 extern void zap_inode_mapping_Raf02ded9(struct address_space *mapping);
 extern int copy_page_range(struct mm_struct *dst, struct mm_struct *src, struct vm_area_struct *vma);
 extern int remap_page_range_R69d01e73(unsigned long from, unsigned long to, unsigned long size, pgprot_t prot);
 extern int zeromap_page_range(unsigned long from, unsigned long size, pgprot_t prot);
 
 extern int vmtruncate_Rf4e66a75(struct inode * inode, loff_t offset);
 extern pmd_t *__pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address) __attribute__((regparm(3)));
 extern pte_t *pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address) __attribute__((regparm(3)));
 extern int handle_mm_fault(struct mm_struct *mm,struct vm_area_struct *vma, unsigned long address, int write_access);
 extern int make_pages_present(unsigned long addr, unsigned long end);
 extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, int write);
 extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char *dst, int len);
 extern int ptrace_writedata(struct task_struct *tsk, char * src, unsigned long dst, int len);
 extern int ptrace_attach(struct task_struct *tsk);
 extern int ptrace_detach(struct task_struct *, unsigned int);
 extern void ptrace_disable(struct task_struct *);
 # 463 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 static inline pmd_t *pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)
 {
         if (!pgd_present(*pgd))
                 return __pmd_alloc(mm, pgd, address);
         return pmd_offset(pgd, address);
 }
 
 extern int pgt_cache_water[2];
 extern int check_pgt_cache(void);
 
 extern void free_area_init(unsigned long * zones_size);
 extern void free_area_init_node(int nid, pg_data_t *pgdat, struct page *pmap,
         unsigned long * zones_size, unsigned long zone_start_paddr,
         unsigned long *zholes_size);
 extern void mem_init(void);
 extern void show_mem(void);
 extern void si_meminfo_Rb3a307c6(struct sysinfo * val);
 extern void swapin_readahead(swp_entry_t);
 
 extern struct address_space swapper_space;
 
 
 
 
 
 
 static inline int exclusive_swap_page(struct page *page)
 {
         if (!(__builtin_constant_p(0) ? constant_test_bit((0),(&(page)->flags)) : variable_test_bit((0),(&(page)->flags))))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/mm.h", 492); __asm__ __volatile__("ud2"); } while (0);
         if (!((page)->mapping == &swapper_space))
                 return 0;
         if (((&(page)->count)->counter) - !!page->buffers != 2)
                 return 0;
         return swap_count(page) == 1;
 }
 
 
 
 static inline void __free_pte(pte_t pte)
 {
         struct page *page = (mem_map_R66bc8456+((unsigned long)(((pte).pte_low >> 12))));
         if ((!((page - mem_map_R66bc8456) < max_mapnr_R01139ffc)) || (__builtin_constant_p(31) ? constant_test_bit((31),(&(page)->flags)) : variable_test_bit((31),(&(page)->flags))))
                 return;
 
 
 
 
         if (pte_dirty(pte) && page->mapping)
                 set_page_dirty(page);
         free_page_and_swap_cache(page);
 }
 
 
 extern void lock_vma_mappings(struct vm_area_struct *);
 extern void unlock_vma_mappings(struct vm_area_struct *);
 extern void insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
 extern void __insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
 extern void build_mmap_avl(struct mm_struct *);
 extern void exit_mmap(struct mm_struct *);
 
 extern unsigned long get_unmapped_area_Rc7f7ef0c(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
 
 extern unsigned long do_mmap_pgoff_R4a9a4dc6(struct file *file, unsigned long addr,
         unsigned long len, unsigned long prot,
         unsigned long flag, unsigned long pgoff);
 
 static inline unsigned long do_mmap(struct file *file, unsigned long addr,
         unsigned long len, unsigned long prot,
         unsigned long flag, unsigned long offset)
 {
         unsigned long ret = -22;
         if ((offset + (((len)+(1UL << 12)-1)&(~((1UL << 12)-1)))) < offset)
                 goto out;
         if (!(offset & ~(~((1UL << 12)-1))))
                 ret = do_mmap_pgoff_R4a9a4dc6(file, addr, len, prot, flag, offset >> 12);
 out:
         return ret;
 }
 
 extern int do_munmap_R7b43cd43(struct mm_struct *, unsigned long, size_t);
 
 extern unsigned long do_brk_R9eecde16(unsigned long, unsigned long);
 extern void merge_anon_vmas(struct mm_struct *mm, unsigned long start, unsigned long end);
 
 struct zone_t;
 
 extern void remove_inode_page(struct page *);
 extern unsigned long page_unuse(struct page *);
 extern void truncate_inode_pages_R641f2c47(struct address_space *, loff_t);
 
 
 extern int filemap_sync_R8447c4db(struct vm_area_struct *, unsigned long, size_t, unsigned int);
 extern struct page *filemap_nopage_Rdda30f6c(struct vm_area_struct *, unsigned long, int);
 # 587 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h"
 static inline int expand_stack(struct vm_area_struct * vma, unsigned long address)
 {
         unsigned long grow;
 
         (void)(&vma->vm_mm->page_table_lock);
         address &= (~((1UL << 12)-1));
         grow = (vma->vm_start - address) >> 12;
         if (vma->vm_end - address > get_current()->rlim[3].rlim_cur ||
             ((vma->vm_mm->total_vm + grow) << 12) > get_current()->rlim[9].rlim_cur) {
                 do { } while(0);
                 return -12;
         }
         vma->vm_start = address;
         vma->vm_pgoff -= grow;
         vma->vm_mm->total_vm += grow;
         if (vma->vm_flags & 0x00002000)
                 vma->vm_mm->locked_vm += grow;
         do { } while(0);
         return 0;
 }
 
 
 extern struct vm_area_struct * find_vma_R2396ea18(struct mm_struct * mm, unsigned long addr);
 extern struct vm_area_struct * find_vma_prev(struct mm_struct * mm, unsigned long addr,
                                              struct vm_area_struct **pprev);
 
 
 
 static inline struct vm_area_struct * find_vma_intersection(struct mm_struct * mm, unsigned long start_addr, unsigned long end_addr)
 {
         struct vm_area_struct * vma = find_vma_R2396ea18(mm,start_addr);
 
         if (vma && end_addr <= vma->vm_start)
                 vma = ((void *)0);
         return vma;
 }
 
 extern struct vm_area_struct *find_extend_vma(struct mm_struct *mm, unsigned long addr);
 # 15 "/usr/src/linux-2.4.12-ac2/include/linux/slab.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 1
 # 16 "/usr/src/linux-2.4.12-ac2/include/linux/slab.h" 2
 # 48 "/usr/src/linux-2.4.12-ac2/include/linux/slab.h"
 extern void kmem_cache_init(void);
 extern void kmem_cache_sizes_init(void);
 
 extern kmem_cache_t *kmem_find_general_cachep_R52bb6891(size_t, int gfpflags);
 extern kmem_cache_t *kmem_cache_create_Rd1c0b4e6(const char *, size_t, size_t, unsigned long,
                                        void (*)(void *, kmem_cache_t *, unsigned long),
                                        void (*)(void *, kmem_cache_t *, unsigned long));
 extern int kmem_cache_destroy_Rdf83c692(kmem_cache_t *);
 extern int kmem_cache_shrink_R12f7cf04(kmem_cache_t *);
 extern void *kmem_cache_alloc_R75810956(kmem_cache_t *, int);
 extern void kmem_cache_free_R891f2686(kmem_cache_t *, void *);
 
 extern void *kmalloc_R93d4cfe6(size_t, int);
 extern void kfree_R037a0cba(const void *);
 
 extern void kmem_cache_reap(int);
 extern int slabinfo_read_proc(char *page, char **start, off_t off,
                                  int count, int *eof, void *data);
 extern int slabinfo_write_proc(struct file *file, const char *buffer,
                            unsigned long count, void *data);
 
 
 extern kmem_cache_t *vm_area_cachep;
 extern kmem_cache_t *mm_cachep;
 extern kmem_cache_t *names_cachep_Rd25469b4;
 extern kmem_cache_t *files_cachep;
 extern kmem_cache_t *filp_cachep;
 extern kmem_cache_t *dquot_cachep;
 extern kmem_cache_t *bh_cachep_Rdcc0bb37;
 extern kmem_cache_t *fs_cachep;
 extern kmem_cache_t *sigact_cachep;
 # 19 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/fcntl.h" 1
 # 20 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
 # 21 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/signal.h" 1
 # 22 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 1
 # 23 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/smp_lock.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/smp_lock.h" 2
 # 24 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/timer.h" 1
 # 25 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
 # 26 "capi.c" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/tty.h" 1
 # 28 "capi.c" 2
 
 
 
 
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 1
 # 17 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 18 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
 # 19 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 1
 # 20 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/time.h" 1
 # 21 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 1
 # 22 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
 # 24 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/types.h" 1
 # 25 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
 # 26 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 1
 # 27 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/highmem.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/highmem.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/processor.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/fixmap.h" 1
 # 7 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/threads.h" 1
 # 8 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h" 2
 # 57 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h"
 static inline pgd_t *get_pgd_slow(void)
 {
         pgd_t *pgd = (pgd_t *)__get_free_pages_R5b3b8f78(((0x20 | 0x10 | 0x40 | 0x80)),0);
 
         if (pgd) {
                 (__builtin_constant_p(0) ? (__builtin_constant_p((((((unsigned long)(0xC0000000)))/(1UL << 22)) * sizeof(pgd_t))) ? __constant_c_and_count_memset(((pgd)),((0x01010101UL*(unsigned char)(0))),((((((unsigned long)(0xC0000000)))/(1UL << 22))  * sizeof(pgd_t)))) : __constant_c_memset(((pgd)),((0x01010101UL*(unsigned char)(0))),((((((unsigned long)(0xC0000000)))/(1UL << 22)) * sizeof(pgd_t))))) : (__builtin_constant_p((((((unsigned long)(0xC0000000)))/(1UL << 22)) * sizeof(pgd_t))) ? __memset_g eneric((((pgd))),(((0))),(((((((unsigned long)(0xC0000000)))/(1UL << 22)) * sizeof(pgd_t))))) : __memset_generic(((pgd)),((0)),((((((unsigned long)(0xC0000000)))/(1UL << 22)) * sizeof(pgd_t))))));
                 (__builtin_constant_p((1024 - ((((unsigned long)(0xC0000000)))/(1UL << 22))) * sizeof(pgd_t)) ? __constant_memcpy((pgd + ((((unsigned long)(0xC0000000)))/(1UL << 22))),(swapper_pg_dir + ((((unsigned long)(0xC0000000)))/(1UL << 22))),((102 4 - ((((unsigned long)(0xC0000000)))/(1UL << 22))) * sizeof(pgd_t))) : __memcpy((pgd + ((((unsigned long)(0xC0000000)))/(1UL << 22))),(swapper_pg_dir + ((((unsigned long)(0xC0000000)))/(1UL << 22))),((1024 - ((((unsigned long)(0xC0000000)))/(1UL << 22)))  * sizeof(pgd_t))));
         }
         return pgd;
 }
 
 
 
 static inline pgd_t *get_pgd_fast(void)
 {
         unsigned long *ret;
 
         if ((ret = (boot_cpu_data_R65dda927.pgd_quick)) != ((void *)0)) {
                 (boot_cpu_data_R65dda927.pgd_quick) = (unsigned long *)(*ret);
                 ret[0] = 0;
                 (boot_cpu_data_R65dda927.pgtable_cache_sz)--;
         } else
                 ret = (unsigned long *)get_pgd_slow();
         return (pgd_t *)ret;
 }
 
 static inline void free_pgd_fast(pgd_t *pgd)
 {
         *(unsigned long *)pgd = (unsigned long) (boot_cpu_data_R65dda927.pgd_quick);
         (boot_cpu_data_R65dda927.pgd_quick) = (unsigned long *) pgd;
         (boot_cpu_data_R65dda927.pgtable_cache_sz)++;
 }
 
 static inline void free_pgd_slow(pgd_t *pgd)
 {
 
 
 
 
 
 
 
         free_pages_R234535e0(((unsigned long)pgd),0);
 
 }
 
 static inline pte_t *pte_alloc_one(struct mm_struct *mm, unsigned long address)
 {
         pte_t *pte;
 
         pte = (pte_t *) __get_free_pages_R5b3b8f78(((0x20 | 0x10 | 0x40 | 0x80)),0);
         if (pte)
                 (__builtin_constant_p(0) ? (__builtin_constant_p(((1UL << 12))) ? __constant_c_and_count_memset((((void *)(pte))),((0x01010101UL*(unsigned char)(0))),(((1UL << 12)))) : __constant_c_memset((((void *)(pte))),((0x01010101UL*(unsigned char)( 0))),(((1UL << 12))))) : (__builtin_constant_p(((1UL << 12))) ? __memset_generic(((((void *)(pte)))),(((0))),((((1UL << 12))))) : __memset_generic((((void *)(pte))),((0)),(((1UL << 12))))));
         return pte;
 }
 
 static inline pte_t *pte_alloc_one_fast(struct mm_struct *mm, unsigned long address)
 {
         unsigned long *ret;
 
         if ((ret = (unsigned long *)(boot_cpu_data_R65dda927.pte_quick)) != ((void *)0)) {
                 (boot_cpu_data_R65dda927.pte_quick) = (unsigned long *)(*ret);
                 ret[0] = ret[1];
                 (boot_cpu_data_R65dda927.pgtable_cache_sz)--;
         }
         return (pte_t *)ret;
 }
 
 static inline void pte_free_fast(pte_t *pte)
 {
         *(unsigned long *)pte = (unsigned long) (boot_cpu_data_R65dda927.pte_quick);
         (boot_cpu_data_R65dda927.pte_quick) = (unsigned long *) pte;
         (boot_cpu_data_R65dda927.pgtable_cache_sz)++;
 }
 
 static inline void pte_free_slow(pte_t *pte)
 {
         free_pages_R234535e0(((unsigned long)pte),0);
 }
 # 154 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h"
 extern int do_check_pgt_cache(int, int);
 # 176 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h"
 static inline void flush_tlb_mm(struct mm_struct *mm)
 {
         if (mm == get_current()->active_mm)
                 do { unsigned int tmpreg; __asm__ __volatile__( "movl %%cr3, %0;  # flush TLB \n" "movl %0, %%cr3;              \n" : "=r" (tmpreg) :: "memory"); } while (0);
 }
 
 static inline void flush_tlb_page(struct vm_area_struct *vma,
         unsigned long addr)
 {
         if (vma->vm_mm == get_current()->active_mm)
                 __asm__ __volatile__("invlpg %0": :"m" (*(char *) addr));
 }
 
 static inline void flush_tlb_range(struct mm_struct *mm,
         unsigned long start, unsigned long end)
 {
         if (mm == get_current()->active_mm)
                 do { unsigned int tmpreg; __asm__ __volatile__( "movl %%cr3, %0;  # flush TLB \n" "movl %0, %%cr3;              \n" : "=r" (tmpreg) :: "memory"); } while (0);
 }
 # 228 "/usr/src/linux-2.4.12-ac2/include/asm/pgalloc.h"
 static inline void flush_tlb_pgtables(struct mm_struct *mm,
                                       unsigned long start, unsigned long end)
 {
 
 }
 # 6 "/usr/src/linux-2.4.12-ac2/include/linux/highmem.h" 2
 
 
 
 extern struct page *highmem_start_page_R38550d56;
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h" 1
 # 23 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 24 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/init.h" 1
 # 25 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 1
 
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernel.h" 1
 # 7 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/smp.h" 1
 # 8 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 1
 # 9 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/bitops.h" 1
 # 11 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/ptrace.h" 1
 # 13 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 
 struct irqaction {
         void (*handler)(int, void *, struct pt_regs *);
         unsigned long flags;
         unsigned long mask;
         const char *name;
         void *dev_id;
         struct irqaction *next;
 };
 
 
 
 
 
 enum {
         TIMER_BH = 0,
         TQUEUE_BH,
         DIGI_BH,
         SERIAL_BH,
         RISCOM8_BH,
         SPECIALIX_BH,
         AURORA_BH,
         ESP_BH,
         SCSI_BH,
         IMMEDIATE_BH,
         CYCLADES_BH,
         CM206_BH,
         JS_BH,
         MACSERIAL_BH,
         ISICOM_BH
 };
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/hardirq.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/asm/hardirq.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/threads.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/asm/hardirq.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h" 1
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 13 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h" 2
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/cache.h" 1
 # 17 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/spinlock.h" 1
 # 18 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/irq.h" 1
 # 13 "/usr/src/linux-2.4.12-ac2/include/asm/irq.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 14 "/usr/src/linux-2.4.12-ac2/include/asm/irq.h" 2
 # 28 "/usr/src/linux-2.4.12-ac2/include/asm/irq.h"
 static __inline__ int irq_cannonicalize(int irq)
 {
         return ((irq == 2) ? 9 : irq);
 }
 
 extern void disable_irq_R3ce4ca6f(unsigned int);
 extern void disable_irq_nosync_R27bbf221(unsigned int);
 extern void enable_irq_Rfcec0987(unsigned int);
 # 20 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/ptrace.h" 1
 # 21 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h" 2
 # 39 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h"
 struct hw_interrupt_type {
         const char * typename;
         unsigned int (*startup)(unsigned int irq);
         void (*shutdown)(unsigned int irq);
         void (*enable)(unsigned int irq);
         void (*disable)(unsigned int irq);
         void (*ack)(unsigned int irq);
         void (*end)(unsigned int irq);
         void (*set_affinity)(unsigned int irq, unsigned long mask);
 };
 
 typedef struct hw_interrupt_type hw_irq_controller;
 # 59 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h"
 typedef struct {
         unsigned int status;
         hw_irq_controller *handler;
         struct irqaction *action;
         unsigned int depth;
         spinlock_t lock;
 } __attribute__((__aligned__((1 << ((5)))))) irq_desc_t;
 
 extern irq_desc_t irq_desc [224];
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h" 1
 # 15 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 16 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
 # 17 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/irq.h" 1
 # 18 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h" 2
 # 61 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h"
 extern int irq_vector[224];
 # 71 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h"
 extern void mask_irq(unsigned int irq);
 extern void unmask_irq(unsigned int irq);
 extern void disable_8259A_irq(unsigned int irq);
 extern void enable_8259A_irq(unsigned int irq);
 extern int i8259A_irq_pending(unsigned int irq);
 extern void make_8259A_irq(unsigned int irq);
 extern void init_8259A(int aeoi);
 extern void send_IPI_self(int vector) __attribute__((regparm(3)));
 extern void init_VISWS_APIC_irqs(void);
 extern void setup_IO_APIC(void);
 extern void disable_IO_APIC(void);
 extern void print_IO_APIC(void);
 extern int IO_APIC_get_PCI_irq_vector(int bus, int slot, int fn);
 extern void send_IPI(int dest, int vector);
 
 extern unsigned long io_apic_irqs;
 
 extern atomic_t irq_err_count;
 extern atomic_t irq_mis_count;
 
 extern char _stext, _etext;
 # 192 "/usr/src/linux-2.4.12-ac2/include/asm/hw_irq.h"
 extern unsigned long prof_cpu_mask;
 extern unsigned int * prof_buffer;
 extern unsigned long prof_len;
 extern unsigned long prof_shift;
 
 
 
 
 
 static inline void x86_do_profile (unsigned long eip)
 {
         if (!prof_buffer)
                 return;
 
 
 
 
 
         if (!((1<<0) & prof_cpu_mask))
                 return;
 
         eip -= (unsigned long) &_stext;
         eip >>= prof_shift;
 
 
 
 
 
         if (eip > prof_len-1)
                 eip = prof_len-1;
         atomic_inc((atomic_t *)&prof_buffer[eip]);
 }
 
 
 
 
 
 
 
 static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) {}
 # 70 "/usr/src/linux-2.4.12-ac2/include/linux/irq.h" 2
 
 extern int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
 extern int setup_irq(unsigned int , struct irqaction * );
 
 extern hw_irq_controller no_irq_type;
 extern void no_action(int cpl, void *dev_id, struct pt_regs *regs);
 # 7 "/usr/src/linux-2.4.12-ac2/include/asm/hardirq.h" 2
 
 
 typedef struct {
         unsigned int __softirq_pending;
         unsigned int __local_irq_count;
         unsigned int __local_bh_count;
         unsigned int __syscall_count;
         struct task_struct * __ksoftirqd_task;
         unsigned int __nmi_count;
 } __attribute__((__aligned__((1 << ((5)))))) irq_cpustat_t;
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/irq_cpustat.h" 1
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/irq_cpustat.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 13 "/usr/src/linux-2.4.12-ac2/include/linux/irq_cpustat.h" 2
 
 
 
 
 
 
 
 extern irq_cpustat_t irq_stat_R05b7edc8[];
 # 19 "/usr/src/linux-2.4.12-ac2/include/asm/hardirq.h" 2
 # 46 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/softirq.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/atomic.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/asm/softirq.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/hardirq.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/asm/softirq.h" 2
 # 47 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h" 2
 # 56 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h"
 enum
 {
         HI_SOFTIRQ=0,
         NET_TX_SOFTIRQ,
         NET_RX_SOFTIRQ,
         TASKLET_SOFTIRQ
 };
 
 
 
 
 
 struct softirq_action
 {
         void (*action)(struct softirq_action *);
         void *data;
 };
 
  __attribute__((regparm(0))) void do_softirq_Rf0a529b7(void);
 extern void open_softirq(int nr, void (*action)(struct softirq_action*), void *data);
 extern void softirq_init(void);
 
 extern void cpu_raise_softirq_Rd01f3ee8(unsigned int cpu, unsigned int nr) __attribute__((regparm(3)));
 extern void raise_softirq_Rd8e4fa1c(unsigned int nr) __attribute__((regparm(3)));
 # 103 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h"
 struct tasklet_struct
 {
         struct tasklet_struct *next;
         unsigned long state;
         atomic_t count;
         void (*func)(unsigned long);
         unsigned long data;
 };
 # 119 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h"
 enum
 {
         TASKLET_STATE_SCHED,
         TASKLET_STATE_RUN
 };
 
 struct tasklet_head
 {
         struct tasklet_struct *list;
 } __attribute__ ((__aligned__((1 << ((5))))));
 
 extern struct tasklet_head tasklet_vec_R41d3b367[1];
 extern struct tasklet_head tasklet_hi_vec_Rbb06575f[1];
 # 155 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h"
 extern void __tasklet_schedule_Red5c73bf(struct tasklet_struct *t) __attribute__((regparm(3)));
 
 static inline void tasklet_schedule(struct tasklet_struct *t)
 {
         if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state))
                 __tasklet_schedule_Red5c73bf(t);
 }
 
 extern void __tasklet_hi_schedule_R60ea5fe7(struct tasklet_struct *t) __attribute__((regparm(3)));
 
 static inline void tasklet_hi_schedule(struct tasklet_struct *t)
 {
         if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state))
                 __tasklet_hi_schedule_R60ea5fe7(t);
 }
 
 
 static inline void tasklet_disable_nosync(struct tasklet_struct *t)
 {
         atomic_inc(&t->count);
         __asm__ __volatile__("": : :"memory");
 }
 
 static inline void tasklet_disable(struct tasklet_struct *t)
 {
         tasklet_disable_nosync(t);
         do { } while (0);
         __asm__ __volatile__("": : :"memory");
 }
 
 static inline void tasklet_enable(struct tasklet_struct *t)
 {
         __asm__ __volatile__("": : :"memory");
         atomic_dec(&t->count);
 }
 
 static inline void tasklet_hi_enable(struct tasklet_struct *t)
 {
         __asm__ __volatile__("": : :"memory");
         atomic_dec(&t->count);
 }
 
 extern void tasklet_kill_R79ad224b(struct tasklet_struct *t);
 extern void tasklet_init_Ra5808bbf(struct tasklet_struct *t,
                          void (*func)(unsigned long), unsigned long data);
 # 222 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h"
 extern struct tasklet_struct bh_task_vec_R284177b8[];
 
 
 extern spinlock_t global_bh_lock;
 
 static inline void mark_bh(int nr)
 {
         tasklet_hi_schedule(bh_task_vec_R284177b8+nr);
 }
 
 extern void init_bh_Rf6cf27cc(int nr, void (*routine)(void));
 extern void remove_bh_Rbc524a32(int nr);
 # 263 "/usr/src/linux-2.4.12-ac2/include/linux/interrupt.h"
 extern unsigned long probe_irq_on_Rb121390a(void);
 extern int probe_irq_off_Rab600421(unsigned long);
 extern unsigned int probe_irq_mask_R360b1afe(unsigned long);
 # 26 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/kmap_types.h" 1
 # 27 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 1
 # 28 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h" 2
 # 36 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h"
 extern unsigned long highstart_pfn, highend_pfn;
 
 extern pte_t *kmap_pte;
 extern pgprot_t kmap_prot;
 extern pte_t *pkmap_page_table;
 
 extern void kmap_init(void) ;
 # 59 "/usr/src/linux-2.4.12-ac2/include/asm/highmem.h"
 extern void * kmap_high_Rdb9a0e78(struct page *page) __attribute__((regparm(3)));
 extern void kunmap_high_R60ad68c2(struct page *page) __attribute__((regparm(3)));
 
 static inline void *kmap(struct page *page)
 {
         if (({ int __cpu = 0; (((void)((__cpu)), irq_stat_R05b7edc8[0].__local_irq_count) + ((void)((__cpu)), irq_stat_R05b7edc8[0].__local_bh_count) != 0); }))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/asm/highmem.h", 65); __asm__ __volatile__("ud2"); } while (0);
         if (page < highmem_start_page_R38550d56)
                 return ((page)->virtual);
         return kmap_high_Rdb9a0e78(page);
 }
 
 static inline void kunmap(struct page *page)
 {
         if (({ int __cpu = 0; (((void)((__cpu)), irq_stat_R05b7edc8[0].__local_irq_count) + ((void)((__cpu)), irq_stat_R05b7edc8[0].__local_bh_count) != 0); }))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/asm/highmem.h", 74); __asm__ __volatile__("ud2"); } while (0);
         if (page < highmem_start_page_R38550d56)
                 return;
         kunmap_high_R60ad68c2(page);
 }
 
 
 
 
 
 
 
 static inline void *kmap_atomic(struct page *page, enum km_type type)
 {
         enum fixed_addresses idx;
         unsigned long vaddr;
 
         if (page < highmem_start_page_R38550d56)
                 return ((page)->virtual);
 
         idx = type + KM_TYPE_NR*0;
         vaddr = ((0xffffe000UL) - ((FIX_KMAP_BEGIN + idx) << 12));
 
         if (!(!(*(kmap_pte-idx)).pte_low))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/asm/highmem.h", 98); __asm__ __volatile__("ud2"); } while (0);
 
         (*(kmap_pte-idx) = ((pte_t) { ((((page) - mem_map_R66bc8456) << 12) | (((kmap_prot)).pgprot)) } ));
         __asm__ __volatile__("invlpg %0": :"m" (*(char *) vaddr));
 
         return (void*) vaddr;
 }
 
 static inline void kunmap_atomic(void *kvaddr, enum km_type type)
 {
 
         unsigned long vaddr = (unsigned long) kvaddr;
         enum fixed_addresses idx = type + KM_TYPE_NR*0;
 
         if (vaddr < ((0xffffe000UL) - (__end_of_fixed_addresses << 12)))
                 return;
 
         if (vaddr != ((0xffffe000UL) - ((FIX_KMAP_BEGIN+idx) << 12)))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/asm/highmem.h", 116); __asm__ __volatile__("ud2"); } while (0);
 
 
 
 
 
         do { (*(kmap_pte-idx) = ((pte_t) { (0) } )); } while (0);
         __asm__ __volatile__("invlpg %0": :"m" (*(char *) vaddr));
 
 }
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/highmem.h" 2
 
 
 unsigned int nr_free_highpages(void) __attribute__((regparm(3)));
 
 extern struct buffer_head * create_bounce_Rd1a9516e(int rw, struct buffer_head * bh_orig);
 
 
 static inline char *bh_kmap(struct buffer_head *bh)
 {
         return kmap(bh->b_page) + ((unsigned long)(bh)->b_data & ~(~((1UL << 12)-1)));
 }
 
 static inline void bh_kunmap(struct buffer_head *bh)
 {
         kunmap(bh->b_page);
 }
 # 46 "/usr/src/linux-2.4.12-ac2/include/linux/highmem.h"
 static inline void clear_user_highpage(struct page *page, unsigned long vaddr)
 {
         void *addr = kmap_atomic(page, KM_USER0);
         (__builtin_constant_p(0) ? (__builtin_constant_p(((1UL << 12))) ? __constant_c_and_count_memset((((void *)(addr))),((0x01010101UL*(unsigned char)(0))),(((1UL << 12)))) : __constant_c_memset((((void *)(addr))),((0x01010101UL*(unsigned char)(0))),( ((1UL << 12))))) : (__builtin_constant_p(((1UL << 12))) ? __memset_generic(((((void *)(addr)))),(((0))),((((1UL << 12))))) : __memset_generic((((void *)(addr))),((0)),(((1UL << 12))))));
         kunmap_atomic(addr, KM_USER0);
 }
 
 static inline void clear_highpage(struct page *page)
 {
         (__builtin_constant_p(0) ? (__builtin_constant_p(((1UL << 12))) ? __constant_c_and_count_memset((((void *)(kmap(page)))),((0x01010101UL*(unsigned char)(0))),(((1UL << 12)))) : __constant_c_memset((((void *)(kmap(page)))),((0x01010101UL*(unsigned  char)(0))),(((1UL << 12))))) : (__builtin_constant_p(((1UL << 12))) ? __memset_generic(((((void *)(kmap(page))))),(((0))),((((1UL << 12))))) : __memset_generic((((void *)(kmap(page)))),((0)),(((1UL << 12))))));
         kunmap(page);
 }
 
 static inline void memclear_highpage(struct page *page, unsigned int offset, unsigned int size)
 {
         char *kaddr;
 
         if (offset + size > (1UL << 12))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/highmem.h", 64); __asm__ __volatile__("ud2"); } while (0);
         kaddr = kmap(page);
         (__builtin_constant_p(0) ? (__builtin_constant_p((size)) ? __constant_c_and_count_memset(((kaddr + offset)),((0x01010101UL*(unsigned char)(0))),((size))) : __constant_c_memset(((kaddr + offset)),((0x01010101UL*(unsigned char)(0))),((size)))) : (_ _builtin_constant_p((size)) ? __memset_generic((((kaddr + offset))),(((0))),(((size)))) : __memset_generic(((kaddr + offset)),((0)),((size)))));
         kunmap(page);
 }
 
 
 
 
 static inline void memclear_highpage_flush(struct page *page, unsigned int offset, unsigned int size)
 {
         char *kaddr;
 
         if (offset + size > (1UL << 12))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/highmem.h", 78); __asm__ __volatile__("ud2"); } while (0);
         kaddr = kmap(page);
         (__builtin_constant_p(0) ? (__builtin_constant_p((size)) ? __constant_c_and_count_memset(((kaddr + offset)),((0x01010101UL*(unsigned char)(0))),((size))) : __constant_c_memset(((kaddr + offset)),((0x01010101UL*(unsigned char)(0))),((size)))) : (_ _builtin_constant_p((size)) ? __memset_generic((((kaddr + offset))),(((0))),(((size)))) : __memset_generic(((kaddr + offset)),((0)),((size)))));
         do { } while (0);
         kunmap(page);
 }
 
 static inline void copy_user_highpage(struct page *to, struct page *from, unsigned long vaddr)
 {
         char *vfrom, *vto;
 
         vfrom = kmap_atomic(from, KM_USER0);
         vto = kmap_atomic(to, KM_USER1);
         (__builtin_constant_p((1UL << 12)) ? __constant_memcpy(((void *)(vto)),((void *)(vfrom)),((1UL << 12))) : __memcpy(((void *)(vto)),((void *)(vfrom)),((1UL << 12))));
         kunmap_atomic(vfrom, KM_USER0);
         kunmap_atomic(vto, KM_USER1);
 }
 
 static inline void copy_highpage(struct page *to, struct page *from)
 {
         char *vfrom, *vto;
 
         vfrom = kmap(from);
         vto = kmap(to);
         (__builtin_constant_p((1UL << 12)) ? __constant_memcpy(((void *)(vto)),((void *)(vfrom)),((1UL << 12))) : __memcpy(((void *)(vto)),((void *)(vfrom)),((1UL << 12))));
         kunmap(from);
         kunmap(to);
 }
 # 28 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 # 85 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 struct nf_conntrack {
         atomic_t use;
         void (*destroy)(struct nf_conntrack *);
 };
 
 struct nf_ct_info {
         struct nf_conntrack *master;
 };
 
 
 struct sk_buff_head {
 
         struct sk_buff * next;
         struct sk_buff * prev;
 
         __u32 qlen;
         spinlock_t lock;
 };
 
 struct sk_buff;
 
 
 
 typedef struct skb_frag_struct skb_frag_t;
 
 struct skb_frag_struct
 {
         struct page *page;
         __u16 page_offset;
         __u16 size;
 };
 
 
 
 
 struct skb_shared_info {
         atomic_t dataref;
         unsigned int nr_frags;
         struct sk_buff *frag_list;
         skb_frag_t frags[6];
 };
 
 struct sk_buff {
 
         struct sk_buff * next;
         struct sk_buff * prev;
 
         struct sk_buff_head * list;
         struct sock *sk;
         struct timeval stamp;
         struct net_device *dev;
 
 
         union
         {
                 struct tcphdr *th;
                 struct udphdr *uh;
                 struct icmphdr *icmph;
                 struct igmphdr *igmph;
                 struct iphdr *ipiph;
                 struct spxhdr *spxh;
                 unsigned char *raw;
         } h;
 
 
         union
         {
                 struct iphdr *iph;
                 struct ipv6hdr *ipv6h;
                 struct arphdr *arph;
                 struct ipxhdr *ipxh;
                 unsigned char *raw;
         } nh;
 
 
         union
         {
                 struct ethhdr *ethernet;
                 unsigned char *raw;
         } mac;
 
         struct dst_entry *dst;
 
 
 
 
 
 
 
         char cb[48];
 
         unsigned int len;
         unsigned int data_len;
         unsigned int csum;
         unsigned char __unused,
                         cloned,
                         pkt_type,
                         ip_summed;
         __u32 priority;
         atomic_t users;
         unsigned short protocol;
         unsigned short security;
         unsigned int truesize;
 
         unsigned char *head;
         unsigned char *data;
         unsigned char *tail;
         unsigned char *end;
 
         void (*destructor)(struct sk_buff *);
 
 
         unsigned long nfmark;
 
         __u32 nfcache;
 
         struct nf_ct_info *nfct;
 
 
 
 
 
 
         union{
                 __u32 ifield;
         } private;
 
 
 
        __u32 tc_index;
 
 };
 # 225 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/slab.h" 1
 # 226 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 1
 # 228 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h" 2
 
 extern void __kfree_skb_R2432218e(struct sk_buff *skb);
 extern struct sk_buff * alloc_skb_R4dd90d00(unsigned int size, int priority);
 extern void kfree_skbmem(struct sk_buff *skb);
 extern struct sk_buff * skb_clone_Ra40a78a5(struct sk_buff *skb, int priority);
 extern struct sk_buff * skb_copy_R946dc659(const struct sk_buff *skb, int priority);
 extern struct sk_buff * pskb_copy_Rae433686(struct sk_buff *skb, int gfp_mask);
 extern int pskb_expand_head_R80001f37(struct sk_buff *skb, int nhead, int ntail, int gfp_mask);
 extern struct sk_buff * skb_realloc_headroom_R8280bfbf(struct sk_buff *skb, unsigned int headroom);
 extern struct sk_buff * skb_copy_expand_R817c6ae2(const struct sk_buff *skb,
                                                 int newheadroom,
                                                 int newtailroom,
                                                 int priority);
 
 extern void skb_over_panic_Ra516dbf1(struct sk_buff *skb, int len, void *here);
 extern void skb_under_panic_Re289775a(struct sk_buff *skb, int len, void *here);
 # 255 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline int skb_queue_empty(struct sk_buff_head *list)
 {
         return (list->next == (struct sk_buff *) list);
 }
 # 268 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *skb_get(struct sk_buff *skb)
 {
         atomic_inc(&skb->users);
         return skb;
 }
 # 287 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void kfree_skb(struct sk_buff *skb)
 {
         if (((&skb->users)->counter) == 1 || atomic_dec_and_test(&skb->users))
                 __kfree_skb_R2432218e(skb);
 }
 
 
 static inline void kfree_skb_fast(struct sk_buff *skb)
 {
         if (((&skb->users)->counter) == 1 || atomic_dec_and_test(&skb->users))
                 kfree_skbmem(skb);
 }
 # 309 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline int skb_cloned(struct sk_buff *skb)
 {
         return skb->cloned && ((&((struct skb_shared_info *)((skb)->end))->dataref)->counter) != 1;
 }
 # 322 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline int skb_shared(struct sk_buff *skb)
 {
         return (((&skb->users)->counter) != 1);
 }
 # 341 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *skb_share_check(struct sk_buff *skb, int pri)
 {
         if (skb_shared(skb)) {
                 struct sk_buff *nskb;
                 nskb = skb_clone_Ra40a78a5(skb, pri);
                 kfree_skb(skb);
                 return nskb;
         }
         return skb;
 }
 # 374 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *skb_unshare(struct sk_buff *skb, int pri)
 {
         struct sk_buff *nskb;
         if(!skb_cloned(skb))
                 return skb;
         nskb=skb_copy_R946dc659(skb, pri);
         kfree_skb(skb);
         return nskb;
 }
 # 398 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *skb_peek(struct sk_buff_head *list_)
 {
         struct sk_buff *list = ((struct sk_buff *)list_)->next;
         if (list == (struct sk_buff *)list_)
                 list = ((void *)0);
         return list;
 }
 # 420 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *skb_peek_tail(struct sk_buff_head *list_)
 {
         struct sk_buff *list = ((struct sk_buff *)list_)->prev;
         if (list == (struct sk_buff *)list_)
                 list = ((void *)0);
         return list;
 }
 # 435 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline __u32 skb_queue_len(struct sk_buff_head *list_)
 {
         return(list_->qlen);
 }
 
 static inline void skb_queue_head_init(struct sk_buff_head *list)
 {
         do { } while(0);
         list->prev = (struct sk_buff *)list;
         list->next = (struct sk_buff *)list;
         list->qlen = 0;
 }
 # 466 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void __skb_queue_head(struct sk_buff_head *list, struct sk_buff *newsk)
 {
         struct sk_buff *prev, *next;
 
         newsk->list = list;
         list->qlen++;
         prev = (struct sk_buff *)list;
         next = prev->next;
         newsk->next = next;
         newsk->prev = prev;
         next->prev = newsk;
         prev->next = newsk;
 }
 # 493 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_queue_head(struct sk_buff_head *list, struct sk_buff *newsk)
 {
         unsigned long flags;
 
         do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&list->lock); } while (0);
         __skb_queue_head(list, newsk);
         do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
 }
 # 514 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void __skb_queue_tail(struct sk_buff_head *list, struct sk_buff *newsk)
 {
         struct sk_buff *prev, *next;
 
         newsk->list = list;
         list->qlen++;
         next = (struct sk_buff *)list;
         prev = next->prev;
         newsk->next = next;
         newsk->prev = prev;
         next->prev = newsk;
         prev->next = newsk;
 }
 # 540 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_queue_tail(struct sk_buff_head *list, struct sk_buff *newsk)
 {
         unsigned long flags;
 
         do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&list->lock); } while (0);
         __skb_queue_tail(list, newsk);
         do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
 }
 # 558 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *__skb_dequeue(struct sk_buff_head *list)
 {
         struct sk_buff *next, *prev, *result;
 
         prev = (struct sk_buff *) list;
         next = prev->next;
         result = ((void *)0);
         if (next != prev) {
                 result = next;
                 next = next->next;
                 list->qlen--;
                 next->prev = prev;
                 prev->next = next;
                 result->next = ((void *)0);
                 result->prev = ((void *)0);
                 result->list = ((void *)0);
         }
         return result;
 }
 # 587 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *skb_dequeue(struct sk_buff_head *list)
 {
         long flags;
         struct sk_buff *result;
 
         do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&list->lock); } while (0);
         result = __skb_dequeue(list);
         do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
         return result;
 }
 
 
 
 
 
 static inline void __skb_insert(struct sk_buff *newsk,
         struct sk_buff * prev, struct sk_buff *next,
         struct sk_buff_head * list)
 {
         newsk->next = next;
         newsk->prev = prev;
         next->prev = newsk;
         prev->next = newsk;
         newsk->list = list;
         list->qlen++;
 }
 # 624 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_insert(struct sk_buff *old, struct sk_buff *newsk)
 {
         unsigned long flags;
 
         do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&old->list->lock); } while (0);
         __skb_insert(newsk, old->prev, old, old->list);
         do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
 }
 
 
 
 
 
 static inline void __skb_append(struct sk_buff *old, struct sk_buff *newsk)
 {
         __skb_insert(newsk, old, old->next, old->list);
 }
 # 653 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_append(struct sk_buff *old, struct sk_buff *newsk)
 {
         unsigned long flags;
 
         do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&old->list->lock); } while (0);
         __skb_append(old, newsk);
         do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
 }
 
 
 
 
 
 
 static inline void __skb_unlink(struct sk_buff *skb, struct sk_buff_head *list)
 {
         struct sk_buff * next, * prev;
 
         list->qlen--;
         next = skb->next;
         prev = skb->prev;
         skb->next = ((void *)0);
         skb->prev = ((void *)0);
         skb->list = ((void *)0);
         next->prev = prev;
         prev->next = next;
 }
 # 694 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_unlink(struct sk_buff *skb)
 {
         struct sk_buff_head *list = skb->list;
 
         if(list) {
                 unsigned long flags;
 
                 do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&list->lock); } while (0);
                 if(skb->list == list)
                         __skb_unlink(skb, skb->list);
                 do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
         }
 }
 # 719 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *__skb_dequeue_tail(struct sk_buff_head *list)
 {
         struct sk_buff *skb = skb_peek_tail(list);
         if (skb)
                 __skb_unlink(skb, list);
         return skb;
 }
 # 736 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *skb_dequeue_tail(struct sk_buff_head *list)
 {
         long flags;
         struct sk_buff *result;
 
         do { __asm__ __volatile__("pushfl ; popl %0 ; cli":"=g" (flags): :"memory"); (void)(&list->lock); } while (0);
         result = __skb_dequeue_tail(list);
         do { do { } while(0); __asm__ __volatile__("pushl %0 ; popfl": :"g" (flags):"memory", "cc"); } while (0);
         return result;
 }
 
 static inline int skb_is_nonlinear(const struct sk_buff *skb)
 {
         return skb->data_len;
 }
 
 static inline int skb_headlen(const struct sk_buff *skb)
 {
         return skb->len - skb->data_len;
 }
 # 765 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline unsigned char *__skb_put(struct sk_buff *skb, unsigned int len)
 {
         unsigned char *tmp=skb->tail;
         do { if (skb_is_nonlinear(skb)) do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h", 768); __asm__ __volatile__("ud2"); } while (0); } while (0);
         skb->tail+=len;
         skb->len+=len;
         return tmp;
 }
 # 784 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline unsigned char *skb_put(struct sk_buff *skb, unsigned int len)
 {
         unsigned char *tmp=skb->tail;
         do { if (skb_is_nonlinear(skb)) do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h", 787); __asm__ __volatile__("ud2"); } while (0); } while (0);
         skb->tail+=len;
         skb->len+=len;
         if(skb->tail>skb->end) {
                 skb_over_panic_Ra516dbf1(skb, len, ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }));
         }
         return tmp;
 }
 
 static inline unsigned char *__skb_push(struct sk_buff *skb, unsigned int len)
 {
         skb->data-=len;
         skb->len+=len;
         return skb->data;
 }
 # 813 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline unsigned char *skb_push(struct sk_buff *skb, unsigned int len)
 {
         skb->data-=len;
         skb->len+=len;
         if(skb->data<skb->head) {
                 skb_under_panic_Re289775a(skb, len, ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }));
         }
         return skb->data;
 }
 
 static inline char *__skb_pull(struct sk_buff *skb, unsigned int len)
 {
         skb->len-=len;
         if (skb->len < skb->data_len)
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h", 827); __asm__ __volatile__("ud2"); } while (0);
         return skb->data+=len;
 }
 # 842 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline unsigned char * skb_pull(struct sk_buff *skb, unsigned int len)
 {
         if (len > skb->len)
                 return ((void *)0);
         return __skb_pull(skb,len);
 }
 
 extern unsigned char * __pskb_pull_tail_Re489910a(struct sk_buff *skb, int delta);
 
 static inline char *__pskb_pull(struct sk_buff *skb, unsigned int len)
 {
         if (len > skb_headlen(skb) &&
             __pskb_pull_tail_Re489910a(skb, len-skb_headlen(skb)) == ((void *)0))
                 return ((void *)0);
         skb->len -= len;
         return skb->data += len;
 }
 
 static inline unsigned char * pskb_pull(struct sk_buff *skb, unsigned int len)
 {
         if (len > skb->len)
                 return ((void *)0);
         return __pskb_pull(skb,len);
 }
 
 static inline int pskb_may_pull(struct sk_buff *skb, unsigned int len)
 {
         if (len <= skb_headlen(skb))
                 return 1;
         if (len > skb->len)
                 return 0;
         return (__pskb_pull_tail_Re489910a(skb, len-skb_headlen(skb)) != ((void *)0));
 }
 # 883 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline int skb_headroom(const struct sk_buff *skb)
 {
         return skb->data-skb->head;
 }
 # 895 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline int skb_tailroom(const struct sk_buff *skb)
 {
         return skb_is_nonlinear(skb) ? 0 : skb->end-skb->tail;
 }
 # 909 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_reserve(struct sk_buff *skb, unsigned int len)
 {
         skb->data+=len;
         skb->tail+=len;
 }
 
 extern int ___pskb_trim_Ra55dcd3e(struct sk_buff *skb, unsigned int len, int realloc);
 
 static inline void __skb_trim(struct sk_buff *skb, unsigned int len)
 {
         if (!skb->data_len) {
                 skb->len = len;
                 skb->tail = skb->data+len;
         } else {
                 ___pskb_trim_Ra55dcd3e(skb, len, 0);
         }
 }
 # 936 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_trim(struct sk_buff *skb, unsigned int len)
 {
         if (skb->len > len) {
                 __skb_trim(skb, len);
         }
 }
 
 
 static inline int __pskb_trim(struct sk_buff *skb, unsigned int len)
 {
         if (!skb->data_len) {
                 skb->len = len;
                 skb->tail = skb->data+len;
                 return 0;
         } else {
                 return ___pskb_trim_Ra55dcd3e(skb, len, 1);
         }
 }
 
 static inline int pskb_trim(struct sk_buff *skb, unsigned int len)
 {
         if (len < skb->len)
                 return __pskb_trim(skb, len);
         return 0;
 }
 # 972 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_orphan(struct sk_buff *skb)
 {
         if (skb->destructor)
                 skb->destructor(skb);
         skb->destructor = ((void *)0);
         skb->sk = ((void *)0);
 }
 # 990 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void skb_queue_purge(struct sk_buff_head *list)
 {
         struct sk_buff *skb;
         while ((skb=skb_dequeue(list))!=((void *)0))
                 kfree_skb(skb);
 }
 # 1007 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline void __skb_queue_purge(struct sk_buff_head *list)
 {
         struct sk_buff *skb;
         while ((skb=__skb_dequeue(list))!=((void *)0))
                 kfree_skb(skb);
 }
 # 1027 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *__dev_alloc_skb(unsigned int length,
                                               int gfp_mask)
 {
         struct sk_buff *skb;
 
         skb = alloc_skb_R4dd90d00(length+16, gfp_mask);
         if (skb)
                 skb_reserve(skb,16);
         return skb;
 }
 # 1051 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline struct sk_buff *dev_alloc_skb(unsigned int length)
 {
         return __dev_alloc_skb(length, (0x20));
 }
 # 1069 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 static inline int
 skb_cow(struct sk_buff *skb, unsigned int headroom)
 {
         int delta = (headroom > 16 ? headroom : 16) - skb_headroom(skb);
 
         if (delta < 0)
                 delta = 0;
 
         if (delta || skb_cloned(skb))
                 return pskb_expand_head_R80001f37(skb, (delta+15)&~15, 0, (0x20));
         return 0;
 }
 # 1089 "/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h"
 int skb_linearize_Rff47ec32(struct sk_buff *skb, int gfp);
 
 static inline void *kmap_skb_frag(const skb_frag_t *frag)
 {
 
         if ((((void)((0)), irq_stat_R05b7edc8[0].__local_irq_count) != 0))
                 do { do_BUG_R577f4bff("/usr/src/linux-2.4.12-ac2/include/linux/skbuff.h", 1095); __asm__ __volatile__("ud2"); } while (0);
 
         do { ((void)((0)), irq_stat_R05b7edc8[0].__local_bh_count)++; __asm__ __volatile__("": : :"memory"); } while (0);
 
         return kmap_atomic(frag->page, KM_SKB_DATA_SOFTIRQ);
 }
 
 static inline void kunmap_skb_frag(void *vaddr)
 {
         kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ);
 
         do { unsigned int *ptr = &((void)((0)), irq_stat_R05b7edc8[0].__local_bh_count); __asm__ __volatile__("": : :"memory"); if (!--*ptr) __asm__ __volatile__ ( "cmpl $0, -8(%0);" "jnz 2f;" "1:;" ".section .text.lock,\"ax\";" "2: pushl %%eax; pushl %% ecx; pushl %%edx;" "call %c1;" "popl %%edx; popl %%ecx; popl %%eax;" "jmp 1b;" ".previous;" : : "r" (ptr), "i" (do_softirq_Rf0a529b7) ); } while (0);
 
 }
 
 
 
 
 
 
 
 extern struct sk_buff * skb_recv_datagram_R1e6a62ed(struct sock *sk,unsigned flags,int noblock, int *err);
 extern unsigned int datagram_poll_R1dd3b06a(struct file *file, struct socket *sock, struct poll_table_struct *wait);
 extern int skb_copy_datagram_R9401495f(const struct sk_buff *from, int offset, char *to,int size);
 extern int skb_copy_datagram_iovec_Rc2d2158e(const struct sk_buff *from, int offset, struct iovec *to,int size);
 extern int skb_copy_and_csum_datagram(const struct sk_buff *skb, int offset, u8 *to, int len, unsigned int *csump);
 extern int skb_copy_and_csum_datagram_iovec_R33f74132(const struct sk_buff *skb, int hlen, struct iovec *iov);
 extern void skb_free_datagram_R78d27d55(struct sock * sk, struct sk_buff *skb);
 
 extern unsigned int skb_checksum_Rf24da97d(const struct sk_buff *skb, int offset, int len, unsigned int csum);
 extern int skb_copy_bits_R7079a60a(const struct sk_buff *skb, int offset, void *to, int len);
 extern unsigned int skb_copy_and_csum_bits_Rf04f4ae5(const struct sk_buff *skb, int offset, u8 *to, int len, unsigned int csum);
 extern void skb_copy_and_csum_dev_R69d251a7(const struct sk_buff *skb, u8 *to);
 
 extern void skb_init(void);
 extern void skb_add_mtu(int mtu);
 
 
 static inline void
 nf_conntrack_put(struct nf_ct_info *nfct)
 {
         if (nfct && atomic_dec_and_test(&nfct->master->use))
                 nfct->master->destroy(nfct->master);
 }
 static inline void
 nf_conntrack_get(struct nf_ct_info *nfct)
 {
         if (nfct)
                 atomic_inc(&nfct->master->use);
 }
 # 36 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/proc_fs.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/proc_fs.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/slab.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/linux/proc_fs.h" 2
 # 21 "/usr/src/linux-2.4.12-ac2/include/linux/proc_fs.h"
 enum {
         PROC_ROOT_INO = 1,
 };
 # 47 "/usr/src/linux-2.4.12-ac2/include/linux/proc_fs.h"
 typedef int (read_proc_t)(char *page, char **start, off_t off,
                           int count, int *eof, void *data);
 typedef int (write_proc_t)(struct file *file, const char *buffer,
                            unsigned long count, void *data);
 typedef int (get_info_t)(char *, char **, off_t, int);
 
 struct proc_dir_entry {
         unsigned short low_ino;
         unsigned short namelen;
         const char *name;
         mode_t mode;
         nlink_t nlink;
         uid_t uid;
         gid_t gid;
         unsigned long size;
         struct inode_operations * proc_iops;
         struct file_operations * proc_fops;
         get_info_t *get_info;
         struct module *owner;
         struct proc_dir_entry *next, *parent, *subdir;
         void *data;
         read_proc_t *read_proc;
         write_proc_t *write_proc;
         atomic_t count;
         int deleted;
         kdev_t rdev;
 };
 
 
 
 
 
 extern struct proc_dir_entry proc_root_R0e8e617f;
 extern struct proc_dir_entry *proc_root_fs_R3e6f9ef2;
 extern struct proc_dir_entry *proc_net_R7707b8d1;
 extern struct proc_dir_entry *proc_bus_R6eb632de;
 extern struct proc_dir_entry *proc_root_driver_Rf6adcb8a;
 extern struct proc_dir_entry *proc_root_kcore;
 
 extern void proc_root_init(void);
 extern void proc_misc_init(void);
 
 struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry);
 void proc_pid_delete_inode(struct inode *inode);
 int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir);
 
 extern struct proc_dir_entry *create_proc_entry_Re7910350(const char *name, mode_t mode,
                                                 struct proc_dir_entry *parent);
 extern void remove_proc_entry_R598aff9e(const char *name, struct proc_dir_entry *parent);
 
 extern struct vfsmount *proc_mnt;
 extern struct super_block *proc_read_super(struct super_block *,void *,int);
 extern struct inode * proc_get_inode(struct super_block *, int, struct proc_dir_entry *);
 
 extern int proc_match(int, const char *,struct proc_dir_entry *);
 # 110 "/usr/src/linux-2.4.12-ac2/include/linux/proc_fs.h"
 extern int proc_readdir(struct file *, void *, filldir_t);
 extern struct dentry *proc_lookup(struct inode *, struct dentry *);
 
 extern struct file_operations proc_kcore_operations;
 extern struct file_operations proc_kmsg_operations;
 extern struct file_operations ppc_htab_operations;
 
 
 
 
 struct tty_driver;
 extern void proc_tty_init(void);
 extern void proc_tty_register_driver(struct tty_driver *driver);
 extern void proc_tty_unregister_driver(struct tty_driver *driver);
 
 
 
 
 extern void proc_device_tree_init(void);
 
 
 
 
 extern void proc_rtas_init(void);
 
 extern struct proc_dir_entry *proc_symlink_R7e4f93f9(const char *,
                 struct proc_dir_entry *, const char *);
 extern struct proc_dir_entry *proc_mknod_Rb1adebb5(const char *,mode_t,
                 struct proc_dir_entry *,kdev_t);
 extern struct proc_dir_entry *proc_mkdir_Ra989a64b(const char *,struct proc_dir_entry *);
 
 static inline struct proc_dir_entry *create_proc_read_entry(const char *name,
         mode_t mode, struct proc_dir_entry *base,
         read_proc_t *read_proc, void * data)
 {
         struct proc_dir_entry *res=create_proc_entry_Re7910350(name,mode,base);
         if (res) {
                 res->read_proc=read_proc;
                 res->data=data;
         }
         return res;
 }
 
 static inline struct proc_dir_entry *create_proc_info_entry(const char *name,
         mode_t mode, struct proc_dir_entry *base, get_info_t *get_info)
 {
         struct proc_dir_entry *res=create_proc_entry_Re7910350(name,mode,base);
         if (res) res->get_info=get_info;
         return res;
 }
 
 static inline struct proc_dir_entry *proc_net_create(const char *name,
         mode_t mode, get_info_t *get_info)
 {
         return create_proc_info_entry(name,mode,proc_net_R7707b8d1,get_info);
 }
 
 static inline void proc_net_remove(const char *name)
 {
         remove_proc_entry_R598aff9e(name,proc_net_R7707b8d1);
 }
 # 37 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/poll.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/poll.h" 1
 # 19 "/usr/src/linux-2.4.12-ac2/include/asm/poll.h"
 struct pollfd {
         int fd;
         short events;
         short revents;
 };
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/poll.h" 2
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/wait.h" 1
 # 9 "/usr/src/linux-2.4.12-ac2/include/linux/poll.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/string.h" 1
 # 10 "/usr/src/linux-2.4.12-ac2/include/linux/poll.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 1
 # 11 "/usr/src/linux-2.4.12-ac2/include/linux/poll.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h" 1
 
 
 
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 8 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/sched.h" 1
 # 9 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/prefetch.h" 1
 # 10 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/page.h" 1
 # 11 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h" 2
 # 35 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 extern int __verify_write_R203afbeb(const void *, unsigned long);
 # 62 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 static inline int verify_area(int type, const void * addr, unsigned long size)
 {
         return (({ unsigned long flag,sum; asm("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0" :"=&r" (flag), "=r" (sum) :"1" (addr),"g" ((int)(size)),"g" (get_current()->addr_limit.seg)); flag; }) == 0) ? 0 : -14;
 }
 # 81 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 struct exception_table_entry
 {
         unsigned long insn, fixup;
 };
 
 
 extern unsigned long search_exception_table(unsigned long);
 # 105 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 extern void __get_user_1(void);
 extern void __get_user_2(void);
 extern void __get_user_4(void);
 # 127 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 extern void __put_user_1(void);
 extern void __put_user_2(void);
 extern void __put_user_4(void);
 extern void __put_user_8(void);
 
 extern void __put_user_bad(void);
 # 188 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 struct __large_struct { unsigned long buf[100]; };
 # 220 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 extern long __get_user_bad(void);
 # 308 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 static inline unsigned long
 __generic_copy_from_user_nocheck(void *to, const void *from, unsigned long n)
 {
         do { int __d0, __d1; __asm__ __volatile__( "0:	rep; movsl\n" "	movl %3,%0\n" "1:	rep; movsb\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	lea 0(%3,%0,4),%0\n" "4:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosb\n" "	popl %%eax\n" "	pop l %0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=&c"(n), "=&D" (__d0), "=&S" (__d1) : "r"(n & 3), "0"(n / 4), "1"(to), "2"(from) : "memory"); } while (0);
         return n;
 }
 
 static inline unsigned long
 __generic_copy_to_user_nocheck(void *to, const void *from, unsigned long n)
 {
         do { int __d0, __d1; __asm__ __volatile__( "0:	rep; movsl\n" "	movl %3,%0\n" "1:	rep; movsb\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	lea 0(%3,%0,4),%0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.lo ng 1b,2b\n" ".previous" : "=&c"(n), "=&D" (__d0), "=&S" (__d1) : "r"(n & 3), "0"(n / 4), "1"(to), "2"(from) : "memory"); } while (0);
         return n;
 }
 # 543 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 unsigned long __generic_copy_to_user_Rd523fdd3(void *, const void *, unsigned long);
 unsigned long __generic_copy_from_user_R116166aa(void *, const void *, unsigned long);
 
 static inline unsigned long
 __constant_copy_to_user(void *to, const void *from, unsigned long n)
 {
         prefetch(from);
         if ((({ unsigned long flag,sum; asm("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0" :"=&r" (flag), "=r" (sum) :"1" (to),"g" ((int)(n)),"g" (get_current()->addr_limit.seg)); flag; }) == 0))
                 do { int __d0, __d1; switch (n & 3) { default: __asm__ __volatile__( "0:	rep; movsl\n" "1:\n" ".section .fixup,\"ax\"\n" "2:	shl $2,%0\n" "	jmp 1b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,2b\n" ".previous" :  "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 1: __asm__ __volatile__( "0:	rep; movsl\n" "1:	movsb\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	shl $2,%0\n" "4:	incl %0\n" "	jmp 2b\n" ".previous\n" ".section __e x_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 2: __asm__ __volatile__( "0:	rep; movsl\n" "1:	movsw\n" "2:\n" ".section .fixup,\"a x\"\n" "3:	shl $2,%0\n" "4:	addl $2,%0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 3:  __asm__ __volatile__( "0:	rep; movsl\n" "1:	movsw\n" "2:	movsb\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	shl $2,%0\n" "5:	addl $2,%0\n" "6:	incl %0\n" "	jmp 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,4b\n" "	.long 1b,5b\n"  "	.long 2b,6b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; } } while (0);
         return n;
 }
 
 static inline unsigned long
 __constant_copy_from_user(void *to, const void *from, unsigned long n)
 {
         if ((({ unsigned long flag,sum; asm("addl %3,%1 ; sbbl %0,%0; cmpl %1,%4; sbbl $0,%0" :"=&r" (flag), "=r" (sum) :"1" (from),"g" ((int)(n)),"g" (get_current()->addr_limit.seg)); flag; }) == 0))
                 do { int __d0, __d1; switch (n & 3) { default: __asm__ __volatile__( "0:	rep; movsl\n" "1:\n" ".section .fixup,\"ax\"\n" "2:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	 jmp 1b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,2b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 1: __asm__ __volatile__( "0:	rep; movsl\n" "1:	movsb\n" "2:\n"  ".section .fixup,\"ax\"\n" "3:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	stosb\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	incl %0\n" "	jmp 2b\n" "4:	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosb\n" "	popl %%eax\n" "	incl % 0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 2: __asm__ __volatile__( "0:	rep; movsl \n" "1:	movsw\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	stosw\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	addl $2,%0\n" "	jmp 2b\n" "4:	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosw\ n" "	popl %%eax\n" "	addl $2,%0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 3: __asm_ _ __volatile__( "0:	rep; movsl\n" "1:	movsw\n" "2:	movsb\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	stosw\n" "	stosb\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	addl $3,%0\n" "	jmp 2 b\n" "5:	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosw\n" "	stosb\n" "	popl %%eax\n" "	addl $3,%0\n" "	jmp 2b\n" "6:	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosb\n" "	popl %%eax\n" "	incl %0\n" "	jmp 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.al ign 4\n!
  " "	.lon
 g 0b,4b\n" "	.long 1b,5b\n" "	.long 2b,6b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; } } while (0);
         else
                 (__builtin_constant_p(0) ? (__builtin_constant_p((n)) ? __constant_c_and_count_memset(((to)),((0x01010101UL*(unsigned char)(0))),((n))) : __constant_c_memset(((to)),((0x01010101UL*(unsigned char)(0))),((n)))) : (__builtin_constant_p((n))  ? __memset_generic((((to))),(((0))),(((n)))) : __memset_generic(((to)),((0)),((n)))));
         return n;
 }
 
 static inline unsigned long
 __constant_copy_to_user_nocheck(void *to, const void *from, unsigned long n)
 {
         do { int __d0, __d1; switch (n & 3) { default: __asm__ __volatile__( "0:	rep; movsl\n" "1:\n" ".section .fixup,\"ax\"\n" "2:	shl $2,%0\n" "	jmp 1b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,2b\n" ".previous" : "=c"(n) , "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 1: __asm__ __volatile__( "0:	rep; movsl\n" "1:	movsb\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	shl $2,%0\n" "4:	incl %0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table, \"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 2: __asm__ __volatile__( "0:	rep; movsl\n" "1:	movsw\n" "2:\n" ".section .fixup,\"ax\"\n" " 3:	shl $2,%0\n" "4:	addl $2,%0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 3: __asm__  __volatile__( "0:	rep; movsl\n" "1:	movsw\n" "2:	movsb\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	shl $2,%0\n" "5:	addl $2,%0\n" "6:	incl %0\n" "	jmp 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,4b\n" "	.long 1b,5b\n" "	.long  2b,6b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; } } while (0);
         return n;
 }
 
 static inline unsigned long
 __constant_copy_from_user_nocheck(void *to, const void *from, unsigned long n)
 {
         do { int __d0, __d1; switch (n & 3) { default: __asm__ __volatile__( "0:	rep; movsl\n" "1:\n" ".section .fixup,\"ax\"\n" "2:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	jmp 1b\n " ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,2b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 1: __asm__ __volatile__( "0:	rep; movsl\n" "1:	movsb\n" "2:\n" ".sectio n .fixup,\"ax\"\n" "3:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	stosb\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	incl %0\n" "	jmp 2b\n" "4:	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosb\n" "	popl %%eax\n" "	incl %0\n" "	j mp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 2: __asm__ __volatile__( "0:	rep; movsl\n" "1:	 movsw\n" "2:\n" ".section .fixup,\"ax\"\n" "3:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	stosw\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	addl $2,%0\n" "	jmp 2b\n" "4:	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosw\n" "	pop l %%eax\n" "	addl $2,%0\n" "	jmp 2b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n" "	.long 0b,3b\n" "	.long 1b,4b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; case 3: __asm__ __vola tile__( "0:	rep; movsl\n" "1:	movsw\n" "2:	movsb\n" "3:\n" ".section .fixup,\"ax\"\n" "4:	pushl %0\n" "	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	rep; stosl\n" "	stosw\n" "	stosb\n" "	popl %%eax\n" "	popl %0\n" "	shl $2,%0\n" "	addl $3,%0\n" "	jmp 2b\n" "5: 	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosw\n" "	stosb\n" "	popl %%eax\n" "	addl $3,%0\n" "	jmp 2b\n" "6:	pushl %%eax\n" "	xorl %%eax,%%eax\n" "	stosb\n" "	popl %%eax\n" "	incl %0\n" "	jmp 3b\n" ".previous\n" ".section __ex_table,\"a\"\n" "	.align 4\n"  "	.lon!
  g 0b,4b\
 n" "	.long 1b,5b\n" "	.long 2b,6b\n" ".previous" : "=c"(n), "=&S" (__d0), "=&D" (__d1) : "1"(from), "2"(to), "0"(n/4) : "memory"); break; } } while (0);
         return n;
 }
 # 599 "/usr/src/linux-2.4.12-ac2/include/asm/uaccess.h"
 long strncpy_from_user_R24428be5(char *dst, const char *src, long count);
 long __strncpy_from_user_Rc003c637(char *dst, const char *src, long count);
 
 long strnlen_user_Rbcc308bb(const char *str, long n);
 unsigned long clear_user_R7aec9089(void *mem, unsigned long len);
 unsigned long __clear_user_Rf3341268(void *mem, unsigned long len);
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/poll.h" 2
 
 struct poll_table_page;
 
 typedef struct poll_table_struct {
         int error;
         struct poll_table_page * table;
 } poll_table;
 
 extern void __pollwait_Rfb6fab95(struct file * filp, wait_queue_head_t * wait_address, poll_table *p);
 
 static inline void poll_wait(struct file * filp, wait_queue_head_t * wait_address, poll_table *p)
 {
         if (p && wait_address)
                 __pollwait_Rfb6fab95(filp, wait_address, p);
 }
 
 static inline void poll_initwait(poll_table* pt)
 {
         pt->error = 0;
         pt->table = ((void *)0);
 }
 extern void poll_freewait_R3fd02e58(poll_table* pt);
 
 
 
 
 
 
 typedef struct {
         unsigned long *in, *out, *ex;
         unsigned long *res_in, *res_out, *res_ex;
 } fd_set_bits;
 # 58 "/usr/src/linux-2.4.12-ac2/include/linux/poll.h"
 static inline
 int get_fd_set(unsigned long nr, void *ufdset, unsigned long *fdset)
 {
         nr = ((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long));
         if (ufdset) {
                 int error;
                 error = verify_area(1, ufdset, nr);
                 if (!error && (__builtin_constant_p(nr) ? __constant_copy_from_user_nocheck((fdset),(ufdset),(nr)) : __generic_copy_from_user_nocheck((fdset),(ufdset),(nr))))
                         error = -14;
                 return error;
         }
         (__builtin_constant_p(0) ? (__builtin_constant_p((nr)) ? __constant_c_and_count_memset(((fdset)),((0x01010101UL*(unsigned char)(0))),((nr))) : __constant_c_memset(((fdset)),((0x01010101UL*(unsigned char)(0))),((nr)))) : (__builtin_constant_p((nr) ) ? __memset_generic((((fdset))),(((0))),(((nr)))) : __memset_generic(((fdset)),((0)),((nr)))));
         return 0;
 }
 
 static inline
 void set_fd_set(unsigned long nr, void *ufdset, unsigned long *fdset)
 {
         if (ufdset)
                 (__builtin_constant_p(((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long))) ? __constant_copy_to_user_nocheck((ufdset),(fdset),(((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long)))) : __generic_copy_to_user_nocheck((ufdset) ,(fdset),(((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long)))));
 }
 
 static inline
 void zero_fd_set(unsigned long nr, unsigned long *fdset)
 {
         (__builtin_constant_p(0) ? (__builtin_constant_p((((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long)))) ? __constant_c_and_count_memset(((fdset)),((0x01010101UL*(unsigned char)(0))),((((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(l ong))))) : __constant_c_memset(((fdset)),((0x01010101UL*(unsigned char)(0))),((((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long)))))) : (__builtin_constant_p((((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long)))) ? __memset_generic((((fd set))),(((0))),(((((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long)))))) : __memset_generic(((fdset)),((0)),((((((nr)+(8*sizeof(long))-1)/(8*sizeof(long)))*sizeof(long)))))));
 }
 
 extern int do_select(int n, fd_set_bits *fds, long *timeout);
 # 38 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h" 1
 # 15 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/types.h" 1
 # 16 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/ioctl.h" 1
 # 17 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h" 2
 # 25 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h"
 typedef struct capi_register_params {
         __u32 level3cnt;
         __u32 datablkcnt;
         __u32 datablklen;
 } capi_register_params;
 # 45 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h"
 typedef struct capi_version {
         __u32 majorversion;
         __u32 minorversion;
         __u32 majormanuversion;
         __u32 minormanuversion;
 } capi_version;
 # 65 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h"
 typedef struct capi_profile {
         __u16 ncontroller;
         __u16 nbchannel;
         __u32 goptions;
         __u32 support1;
         __u32 support2;
         __u32 support3;
         __u32 reserved[6];
         __u32 manu[5];
 } capi_profile;
 
 
 
 typedef struct capi_manufacturer_cmd {
         unsigned long cmd;
         void *data;
 } capi_manufacturer_cmd;
 # 108 "/usr/src/linux-2.4.12-ac2/include/linux/capi.h"
 typedef union capi_ioctl_struct {
         __u32 contr;
         capi_register_params rparams;
         __u8 manufacturer[64];
         capi_version version;
         __u8 serial[8];
         capi_profile profile;
         capi_manufacturer_cmd cmd;
         __u16 errcode;
 } capi_ioctl_struct;
 # 39 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/kernelcapi.h" 1
 # 18 "/usr/src/linux-2.4.12-ac2/include/linux/kernelcapi.h"
 typedef struct kcapi_flagdef {
         int contr;
         int flag;
 } kcapi_flagdef;
 
 typedef struct kcapi_carddef {
         char driver[32];
         unsigned int port;
         unsigned irq;
         unsigned int membase;
         int cardnr;
 } kcapi_carddef;
 # 48 "/usr/src/linux-2.4.12-ac2/include/linux/kernelcapi.h"
 struct capi_interface {
         __u16 (*capi_isinstalled) (void);
 
         __u16 (*capi_register) (capi_register_params * rparam, __u16 * applidp);
         __u16 (*capi_release) (__u16 applid);
         __u16 (*capi_put_message) (__u16 applid, struct sk_buff * msg);
         __u16 (*capi_get_message) (__u16 applid, struct sk_buff ** msgp);
         __u16 (*capi_set_signal) (__u16 applid,
                               void (*signal) (__u16 applid, void *param),
                                   void *param);
         __u16 (*capi_get_manufacturer) (__u32 contr, __u8 buf[64]);
         __u16 (*capi_get_version) (__u32 contr, struct capi_version * verp);
          __u16(*capi_get_serial) (__u32 contr, __u8 serial[8]);
          __u16(*capi_get_profile) (__u32 contr, struct capi_profile * profp);
 
 
 
 
         int (*capi_manufacturer) (unsigned int cmd, void *data);
 
 };
 
 struct capi_ncciinfo {
         __u16 applid;
         __u32 ncci;
 };
 
 
 
 
 
 
 struct capi_interface_user {
         char name[20];
         void (*callback) (unsigned int cmd, __u32 contr, void *data);
 
         struct capi_interface_user *next;
 };
 
 struct capi_interface *attach_capi_interface_R64471a3f(struct capi_interface_user *);
 int detach_capi_interface_R83c71232(struct capi_interface_user *);
 # 117 "/usr/src/linux-2.4.12-ac2/include/linux/kernelcapi.h"
 typedef enum {
         CapiMessageNotSupportedInCurrentState = 0x2001,
         CapiIllContrPlciNcci = 0x2002,
         CapiNoPlciAvailable = 0x2003,
         CapiNoNcciAvailable = 0x2004,
         CapiNoListenResourcesAvailable = 0x2005,
         CapiNoFaxResourcesAvailable = 0x2006,
         CapiIllMessageParmCoding = 0x2007,
 } RESOURCE_CODING_PROBLEM;
 
 typedef enum {
         CapiB1ProtocolNotSupported = 0x3001,
         CapiB2ProtocolNotSupported = 0x3002,
         CapiB3ProtocolNotSupported = 0x3003,
         CapiB1ProtocolParameterNotSupported = 0x3004,
         CapiB2ProtocolParameterNotSupported = 0x3005,
         CapiB3ProtocolParameterNotSupported = 0x3006,
         CapiBProtocolCombinationNotSupported = 0x3007,
         CapiNcpiNotSupported = 0x3008,
         CapiCipValueUnknown = 0x3009,
         CapiFlagsNotSupported = 0x300a,
         CapiFacilityNotSupported = 0x300b,
         CapiDataLengthNotSupportedByCurrentProtocol = 0x300c,
         CapiResetProcedureNotSupportedByCurrentProtocol = 0x300d,
         CapiTeiAssignmentFailed = 0x300e,
 } REQUESTED_SERVICES_PROBLEM;
 
 typedef enum {
         CapiSuccess = 0x0000,
         CapiSupplementaryServiceNotSupported = 0x300e,
         CapiRequestNotAllowedInThisState = 0x3010,
 } SUPPLEMENTARY_SERVICE_INFO;
 
 typedef enum {
         CapiProtocolErrorLayer1 = 0x3301,
         CapiProtocolErrorLayer2 = 0x3302,
         CapiProtocolErrorLayer3 = 0x3303,
         CapiTimeOut = 0x3303,
         CapiCallGivenToOtherApplication = 0x3304,
 } CAPI_REASON;
 # 40 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/init.h" 1
 # 41 "capi.c" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h" 1
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
 # 5 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/config.h" 1
 # 6 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/locks.h" 1
 
 
 
 
 
 
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h" 1
 # 10 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/mm.h" 1
 # 11 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/fs.h" 1
 # 12 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/list.h" 1
 # 13 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/system.h" 1
 # 15 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/pgtable.h" 1
 # 16 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/highmem.h" 1
 # 17 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h" 2
 # 35 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h"
 static inline struct page *page_cache_alloc(struct address_space *x)
 {
         return alloc_pages(x->gfp_mask, 0);
 }
 
 
 
 
 
 
 extern unsigned int page_hash_bits_R04925b4e;
 
 
 
 extern atomic_t page_cache_size;
 extern struct page **page_hash_table_R69924723;
 
 extern void page_cache_init(unsigned long);
 # 63 "/usr/src/linux-2.4.12-ac2/include/linux/pagemap.h"
 static inline unsigned long _page_hashfn(struct address_space * mapping, unsigned long index)
 {
 
 
         return (((((unsigned long) mapping)/(sizeof(struct inode) & ~ (sizeof(struct inode) - 1)))+index)+(((((unsigned long) mapping)/(sizeof(struct inode) & ~ (sizeof(struct inode) - 1)))+index)>>(page_hash_bits_R04925b4e))) & ((1 << (page_hash_bits_R0 4925b4e))-1);
 
 
 }
 
 
 
 extern struct page * __find_get_page(struct address_space *mapping,
                                 unsigned long index, struct page **hash);
 
 
 extern struct page * __find_lock_page_R6aaad083 (struct address_space * mapping,
                                 unsigned long index, struct page **hash);
 extern void lock_page_Rd1e819aa(struct page *page);
 
 
 
 extern void add_to_page_cache(struct page * page, struct address_space *mapping, unsigned long index);
 extern void add_to_page_cache_locked(struct page * page, struct address_space *mapping, unsigned long index);
 
 extern void ___wait_on_page_R42da5536(struct page *);
 
 static inline void wait_on_page(struct page * page)
 {
         if ((__builtin_constant_p(0) ? constant_test_bit((0),(&(page)->flags)) : variable_test_bit((0),(&(page)->flags))))
                 ___wait_on_page_R42da5536(page);
 }
 
 extern struct page * grab_cache_page_R58c5990d (struct address_space *, unsigned long);
 extern struct page * grab_cache_page_nowait_Ree93396b (struct address_space *, unsigned long);
 
 typedef int filler_t(void *, struct page*);
 
 extern struct page *read_cache_page_R3c0a4d04(struct address_space *, unsigned long,
                                 filler_t *, void *);
 # 9 "/usr/src/linux-2.4.12-ac2/include/linux/locks.h" 2
 
 
 
 
 
 
 extern void __wait_on_buffer_Rbe3a44f4(struct buffer_head *);
 
 static inline void wait_on_buffer(struct buffer_head * bh)
 {
         if ((__builtin_constant_p(BH_Lock) ? constant_test_bit((BH_Lock),(&bh->b_state)) : variable_test_bit((BH_Lock),(&bh->b_state))))
                 __wait_on_buffer_Rbe3a44f4(bh);
 }
 
 static inline void lock_buffer(struct buffer_head * bh)
 {
         while (test_and_set_bit(BH_Lock, &bh->b_state))
                 __wait_on_buffer_Rbe3a44f4(bh);
 }
 
 extern void unlock_buffer_Ra3c6e7f6(struct buffer_head *bh);
 
 
 
 
 
 
 
 static inline void lock_super(struct super_block * sb)
 {
         down(&sb->s_lock);
 }
 
 static inline void unlock_super(struct super_block * sb)
 {
         up(&sb->s_lock);
 }
 # 7 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/kdev_t.h" 1
 # 8 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h" 2
 # 1 "/usr/src/linux-2.4.12-ac2/include/linux/types.h" 1
 # 9 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h" 2
 
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/semaphore.h" 1
 # 11 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h" 2
 # 48 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h"
 typedef struct devfs_entry * devfs_handle_t;
 # 127 "/usr/src/linux-2.4.12-ac2/include/linux/devfs_fs_kernel.h"
 struct unique_numspace
 {
     char dummy;
 };
 
 
 
 static inline devfs_handle_t devfs_register_R514552cc (devfs_handle_t dir,
                                              const char *name,
                                              unsigned int flags,
                                              unsigned int major,
                                              unsigned int minor,
                                              umode_t mode,
                                              void *ops, void *info)
 {
     return ((void *)0);
 }
 static inline void devfs_unregister_R420fab7f (devfs_handle_t de)
 {
     return;
 }
 static inline int devfs_mk_symlink_Rb9973630 (devfs_handle_t dir, const char *name,
                                     unsigned int flags, const char *link,
                                     devfs_handle_t *handle, void *info)
 {
     return 0;
 }
 static inline devfs_handle_t devfs_mk_dir_Rd2f21adf (devfs_handle_t dir,
                                            const char *name, void *info)
 {
     return ((void *)0);
 }
 static inline devfs_handle_t devfs_find_handle_Re21607e9 (devfs_handle_t dir,
                                                 const char *name,
                                                 unsigned int major,
                                                 unsigned int minor,
                                                 char type,
                                                 int traverse_symlinks)
 {
     return ((void *)0);
 }
 static inline int devfs_get_flags_R3735dcfd (devfs_handle_t de, unsigned int *flags)
 {
     return 0;
 }
 static inline int devfs_set_flags_Rbffd0453 (devfs_handle_t de, unsigned int flags)
 {
     return 0;
 }
 static inline int devfs_get_maj_min_R7afb296d (devfs_handle_t de,
                                      unsigned int *major, unsigned int *minor)
 {
     return 0;
 }
 static inline devfs_handle_t devfs_get_handle_from_inode_R476cb276 (struct inode *inode)
 {
     return ((void *)0);
 }
 static inline int devfs_generate_path_R46365c9c (devfs_handle_t de, char *path,
                                        int buflen)
 {
     return -38;
 }
 static inline void *devfs_get_ops_R001a936b (devfs_handle_t de)
 {
     return ((void *)0);
 }
 static inline int devfs_set_file_size_R7097f2c3 (devfs_handle_t de, unsigned long size)
 {
     return -38;
 }
 static inline void *devfs_get_info_Rd4e3c040 (devfs_handle_t de)
 {
     return ((void *)0);
 }
 static inline int devfs_set_info_R6fcc0cdd (devfs_handle_t de, void *info)
 {
     return 0;
 }
 static inline devfs_handle_t devfs_get_parent_R3506c40d (devfs_handle_t de)
 {
     return ((void *)0);
 }
 static inline devfs_handle_t devfs_get_first_child_Rba1b358f (devfs_handle_t de)
 {
     return ((void *)0);
 }
 static inline devfs_handle_t devfs_get_next_sibling_R78cef478 (devfs_handle_t de)
 {
     return ((void *)0);
 }
 static inline void devfs_auto_unregister_R4e2a63d9 (devfs_handle_t master,
                                           devfs_handle_t slave)
 {
     return;
 }
 static inline devfs_handle_t devfs_get_unregister_slave_Ra43a5bac (devfs_handle_t master)
 {
     return ((void *)0);
 }
 static inline const char *devfs_get_name_R562412e5 (devfs_handle_t de,
                                           unsigned int *namelen)
 {
     return ((void *)0);
 }
 static inline int devfs_register_chrdev_Ra1bb38e1 (unsigned int major, const char *name,
                                          struct file_operations *fops)
 {
     return register_chrdev_R8882b7b5 (major, name, fops);
 }
 static inline int devfs_register_blkdev_R0924d4d4 (unsigned int major, const char *name,
                                          struct block_device_operations *bdops)
 {
     return register_blkdev_R8d54a314 (major, name, bdops);
 }
 static inline int devfs_unregister_chrdev_R77f3e0ce (unsigned int major,const char *name)
 {
     return unregister_chrdev_Rc192d491 (major, name);
 }
 static inline int devfs_unregister_blkdev_R5ca0f0f0 (unsigned int major,const char *name)
 {
     return unregister_blkdev_Reac1c4af (major, name);
 }
 
 static inline void devfs_register_tape_Rb8d618e8 (devfs_handle_t de)
 {
     return;
 }
 
 static inline void devfs_register_series_Rf3efa40e (devfs_handle_t dir,
                                           const char *format,
                                           unsigned int num_entries,
                                           unsigned int flags,
                                           unsigned int major,
                                           unsigned int minor_start,
                                           umode_t mode, void *ops, void *info)
 {
     return;
 }
 
 static inline int devfs_alloc_major_R190e3bbc (char type)
 {
     return -1;
 }
 
 static inline void devfs_dealloc_major_Rce9de41d (char type, int major)
 {
     return;
 }
 
 static inline kdev_t devfs_alloc_devnum_R0b35c57f (char type)
 {
     return 0;
 }
 
 static inline void devfs_dealloc_devnum_R74e856e9 (char type, kdev_t devnum)
 {
     return;
 }
 
 static inline int devfs_alloc_unique_number_R444f412d (struct unique_numspace *space)
 {
     return -1;
 }
 
 static inline void devfs_dealloc_unique_number_R9bf3ff08 (struct unique_numspace *space,
                                                 int number)
 {
     return;
 }
 
 static inline void mount_devfs_fs (void)
 {
     return;
 }
 static inline void devfs_make_root (const char *name)
 {
     return;
 }
 # 42 "capi.c" 2
 # 1 "capiutil.h" 1
 # 16 "capiutil.h"
 # 1 "/usr/src/linux-2.4.12-ac2/include/asm/types.h" 1
 # 17 "capiutil.h" 2
 # 33 "capiutil.h"
 static inline void capimsg_setu8(void *m, int off, __u8 val)
 {
         ((__u8 *)m)[off] = val;
 }
 
 static inline void capimsg_setu16(void *m, int off, __u16 val)
 {
         ((__u8 *)m)[off] = val & 0xff;
         ((__u8 *)m)[off+1] = (val >> 8) & 0xff;
 }
 
 static inline void capimsg_setu32(void *m, int off, __u32 val)
 {
         ((__u8 *)m)[off] = val & 0xff;
         ((__u8 *)m)[off+1] = (val >> 8) & 0xff;
         ((__u8 *)m)[off+2] = (val >> 16) & 0xff;
         ((__u8 *)m)[off+3] = (val >> 24) & 0xff;
 }
 # 62 "capiutil.h"
 typedef __u8 *_cstruct;
 
 typedef enum {
         CAPI_COMPOSE,
         CAPI_DEFAULT
 } _cmstruct;
 # 77 "capiutil.h"
 typedef struct {
 
         __u16 ApplId;
         __u8 Command;
         __u8 Subcommand;
         __u16 Messagenumber;
 
 
         union {
                 __u32 adrController;
                 __u32 adrPLCI;
                 __u32 adrNCCI;
         } adr;
 
         _cmstruct AdditionalInfo;
         _cstruct B1configuration;
         __u16 B1protocol;
         _cstruct B2configuration;
         __u16 B2protocol;
         _cstruct B3configuration;
         __u16 B3protocol;
         _cstruct BC;
         _cstruct BChannelinformation;
         _cmstruct BProtocol;
         _cstruct CalledPartyNumber;
         _cstruct CalledPartySubaddress;
         _cstruct CallingPartyNumber;
         _cstruct CallingPartySubaddress;
         __u32 CIPmask;
         __u32 CIPmask2;
         __u16 CIPValue;
         __u32 Class;
         _cstruct ConnectedNumber;
         _cstruct ConnectedSubaddress;
         __u32 Data;
         __u16 DataHandle;
         __u16 DataLength;
         _cstruct FacilityConfirmationParameter;
         _cstruct Facilitydataarray;
         _cstruct FacilityIndicationParameter;
         _cstruct FacilityRequestParameter;
         __u16 FacilitySelector;
         __u16 Flags;
         __u32 Function;
         _cstruct HLC;
         __u16 Info;
         _cstruct InfoElement;
         __u32 InfoMask;
         __u16 InfoNumber;
         _cstruct Keypadfacility;
         _cstruct LLC;
         _cstruct ManuData;
         __u32 ManuID;
         _cstruct NCPI;
         __u16 Reason;
         __u16 Reason_B3;
         __u16 Reject;
         _cstruct Useruserdata;
 
 
         unsigned l, p;
         unsigned char *par;
         __u8 *m;
 
 
         __u8 buf[180];
 
 } _cmsg;
 
 
 
 
 
 unsigned capi_cmsg2message_R50b33ca4(_cmsg * cmsg, __u8 * msg);
 
 
 
 
 
 unsigned capi_message2cmsg_R6057c6f3(_cmsg * cmsg, __u8 * msg);
 
 
 
 
 
 
 unsigned capi_cmsg_header_Rb60e5e5f(_cmsg * cmsg, __u16 _ApplId,
                           __u8 _Command, __u8 _Subcommand,
                           __u16 _Messagenumber, __u32 _Controller);
 
 
 
 
 char *capi_info2str_R47d3fc51(__u16 reason);
 
 
 
 
 
 
 char *capi_cmd2str_Rb19fda8d(__u8 cmd, __u8 subcmd);
 char *capi_cmsg2str_Rd45b5eb5(_cmsg * cmsg);
 char *capi_message2str_Ra7abc5e3(__u8 * msg);
 
 
 
 static inline void capi_cmsg_answer(_cmsg * cmsg)
 {
         cmsg->Subcommand |= 0x01;
 }
 
 
 
 static inline void capi_fill_CONNECT_B3_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                             __u32 adr,
                                             _cstruct NCPI)
 {
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x82, 0x80, Messagenumber, adr);
         cmsg->NCPI = NCPI;
 }
 
 static inline void capi_fill_FACILITY_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                           __u32 adr,
                                           __u16 FacilitySelector,
                                        _cstruct FacilityRequestParameter)
 {
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x80, 0x80, Messagenumber, adr);
         cmsg->FacilitySelector = FacilitySelector;
         cmsg->FacilityRequestParameter = FacilityRequestParameter;
 }
 
 static inline void capi_fill_INFO_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                       __u32 adr,
                                       _cstruct CalledPartyNumber,
                                       _cstruct BChannelinformation,
                                       _cstruct Keypadfacility,
                                       _cstruct Useruserdata,
                                       _cstruct Facilitydataarray)
 {
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x08, 0x80, Messagenumber, adr);
         cmsg->CalledPartyNumber = CalledPartyNumber;
         cmsg->BChannelinformation = BChannelinformation;
         cmsg->Keypadfacility = Keypadfacility;
         cmsg->Useruserdata = Useruserdata;
         cmsg->Facilitydataarray = Facilitydataarray;
 }
 
 static inline void capi_fill_LISTEN_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                         __u32 adr,
                                         __u32 InfoMask,
                                         __u32 CIPmask,
                                         __u32 CIPmask2,
                                         _cstruct CallingPartyNumber,
                                         _cstruct CallingPartySubaddress)
 {
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x05, 0x80, Messagenumber, adr);
         cmsg->InfoMask = InfoMask;
         cmsg->CIPmask = CIPmask;
         cmsg->CIPmask2 = CIPmask2;
         cmsg->CallingPartyNumber = CallingPartyNumber;
         cmsg->CallingPartySubaddress = CallingPartySubaddress;
 }
 
 static inline void capi_fill_ALERT_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                        __u32 adr,
                                        _cstruct BChannelinformation,
                                        _cstruct Keypadfacility,
                                        _cstruct Useruserdata,
                                        _cstruct Facilitydataarray)
 {
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x01, 0x80, Messagenumber, adr);
         cmsg->BChannelinformation = BChannelinformation;
         cmsg->Keypadfacility = Keypadfacility;
         cmsg->Useruserdata = Useruserdata;
         cmsg->Facilitydataarray = Facilitydataarray;
 }
 
 static inline void capi_fill_CONNECT_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                          __u32 adr,
                                          __u16 CIPValue,
                                          _cstruct CalledPartyNumber,
                                          _cstruct CallingPartyNumber,
                                          _cstruct CalledPartySubaddress,
                                          _cstruct CallingPartySubaddress,
                                          __u16 B1protocol,
                                          __u16 B2protocol,
                                          __u16 B3protocol,
                                          _cstruct B1configuration,
                                          _cstruct B2configuration,
                                          _cstruct B3configuration,
                                          _cstruct BC,
                                          _cstruct LLC,
                                          _cstruct HLC,
                                          _cstruct BChannelinformation,
                                          _cstruct Keypadfacility,
                                          _cstruct Useruserdata,
                                          _cstruct Facilitydataarray)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x02, 0x80, Messagenumber, adr);
         cmsg->CIPValue = CIPValue;
         cmsg->CalledPartyNumber = CalledPartyNumber;
         cmsg->CallingPartyNumber = CallingPartyNumber;
         cmsg->CalledPartySubaddress = CalledPartySubaddress;
         cmsg->CallingPartySubaddress = CallingPartySubaddress;
         cmsg->B1protocol = B1protocol;
         cmsg->B2protocol = B2protocol;
         cmsg->B3protocol = B3protocol;
         cmsg->B1configuration = B1configuration;
         cmsg->B2configuration = B2configuration;
         cmsg->B3configuration = B3configuration;
         cmsg->BC = BC;
         cmsg->LLC = LLC;
         cmsg->HLC = HLC;
         cmsg->BChannelinformation = BChannelinformation;
         cmsg->Keypadfacility = Keypadfacility;
         cmsg->Useruserdata = Useruserdata;
         cmsg->Facilitydataarray = Facilitydataarray;
 }
 
 static inline void capi_fill_DATA_B3_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                          __u32 adr,
                                          __u32 Data,
                                          __u16 DataLength,
                                          __u16 DataHandle,
                                          __u16 Flags)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x86, 0x80, Messagenumber, adr);
         cmsg->Data = Data;
         cmsg->DataLength = DataLength;
         cmsg->DataHandle = DataHandle;
         cmsg->Flags = Flags;
 }
 
 static inline void capi_fill_DISCONNECT_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                             __u32 adr,
                                             _cstruct BChannelinformation,
                                             _cstruct Keypadfacility,
                                             _cstruct Useruserdata,
                                             _cstruct Facilitydataarray)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x04, 0x80, Messagenumber, adr);
         cmsg->BChannelinformation = BChannelinformation;
         cmsg->Keypadfacility = Keypadfacility;
         cmsg->Useruserdata = Useruserdata;
         cmsg->Facilitydataarray = Facilitydataarray;
 }
 
 static inline void capi_fill_DISCONNECT_B3_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                                __u32 adr,
                                                _cstruct NCPI)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x84, 0x80, Messagenumber, adr);
         cmsg->NCPI = NCPI;
 }
 
 static inline void capi_fill_MANUFACTURER_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                               __u32 adr,
                                               __u32 ManuID,
                                               __u32 Class,
                                               __u32 Function,
                                               _cstruct ManuData)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0xff, 0x80, Messagenumber, adr);
         cmsg->ManuID = ManuID;
         cmsg->Class = Class;
         cmsg->Function = Function;
         cmsg->ManuData = ManuData;
 }
 
 static inline void capi_fill_RESET_B3_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                           __u32 adr,
                                           _cstruct NCPI)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x87, 0x80, Messagenumber, adr);
         cmsg->NCPI = NCPI;
 }
 
 static inline void capi_fill_SELECT_B_PROTOCOL_REQ(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                                    __u32 adr,
                                                    __u16 B1protocol,
                                                    __u16 B2protocol,
                                                    __u16 B3protocol,
                                                 _cstruct B1configuration,
                                                 _cstruct B2configuration,
                                                 _cstruct B3configuration)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x41, 0x80, Messagenumber, adr);
         cmsg->B1protocol = B1protocol;
         cmsg->B2protocol = B2protocol;
         cmsg->B3protocol = B3protocol;
         cmsg->B1configuration = B1configuration;
         cmsg->B2configuration = B2configuration;
         cmsg->B3configuration = B3configuration;
 }
 
 static inline void capi_fill_CONNECT_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                           __u32 adr,
                                           __u16 Reject,
                                           __u16 B1protocol,
                                           __u16 B2protocol,
                                           __u16 B3protocol,
                                           _cstruct B1configuration,
                                           _cstruct B2configuration,
                                           _cstruct B3configuration,
                                           _cstruct ConnectedNumber,
                                           _cstruct ConnectedSubaddress,
                                           _cstruct LLC,
                                           _cstruct BChannelinformation,
                                           _cstruct Keypadfacility,
                                           _cstruct Useruserdata,
                                           _cstruct Facilitydataarray)
 {
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x02, 0x83, Messagenumber, adr);
         cmsg->Reject = Reject;
         cmsg->B1protocol = B1protocol;
         cmsg->B2protocol = B2protocol;
         cmsg->B3protocol = B3protocol;
         cmsg->B1configuration = B1configuration;
         cmsg->B2configuration = B2configuration;
         cmsg->B3configuration = B3configuration;
         cmsg->ConnectedNumber = ConnectedNumber;
         cmsg->ConnectedSubaddress = ConnectedSubaddress;
         cmsg->LLC = LLC;
         cmsg->BChannelinformation = BChannelinformation;
         cmsg->Keypadfacility = Keypadfacility;
         cmsg->Useruserdata = Useruserdata;
         cmsg->Facilitydataarray = Facilitydataarray;
 }
 
 static inline void capi_fill_CONNECT_ACTIVE_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                                  __u32 adr)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x03, 0x83, Messagenumber, adr);
 }
 
 static inline void capi_fill_CONNECT_B3_ACTIVE_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                                     __u32 adr)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x83, 0x83, Messagenumber, adr);
 }
 
 static inline void capi_fill_CONNECT_B3_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                              __u32 adr,
                                              __u16 Reject,
                                              _cstruct NCPI)
 {
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x82, 0x83, Messagenumber, adr);
         cmsg->Reject = Reject;
         cmsg->NCPI = NCPI;
 }
 
 static inline void capi_fill_CONNECT_B3_T90_ACTIVE_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                                         __u32 adr)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x88, 0x83, Messagenumber, adr);
 }
 
 static inline void capi_fill_DATA_B3_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                           __u32 adr,
                                           __u16 DataHandle)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x86, 0x83, Messagenumber, adr);
         cmsg->DataHandle = DataHandle;
 }
 
 static inline void capi_fill_DISCONNECT_B3_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                                 __u32 adr)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x84, 0x83, Messagenumber, adr);
 }
 
 static inline void capi_fill_DISCONNECT_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                              __u32 adr)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x04, 0x83, Messagenumber, adr);
 }
 
 static inline void capi_fill_FACILITY_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                            __u32 adr,
                                            __u16 FacilitySelector)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x80, 0x83, Messagenumber, adr);
         cmsg->FacilitySelector = FacilitySelector;
 }
 
 static inline void capi_fill_INFO_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                        __u32 adr)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x08, 0x83, Messagenumber, adr);
 }
 
 static inline void capi_fill_MANUFACTURER_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                                __u32 adr,
                                                __u32 ManuID,
                                                __u32 Class,
                                                __u32 Function,
                                                _cstruct ManuData)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0xff, 0x83, Messagenumber, adr);
         cmsg->ManuID = ManuID;
         cmsg->Class = Class;
         cmsg->Function = Function;
         cmsg->ManuData = ManuData;
 }
 
 static inline void capi_fill_RESET_B3_RESP(_cmsg * cmsg, __u16 ApplId, __u16 Messagenumber,
                                            __u32 adr)
 {
 
         capi_cmsg_header_Rb60e5e5f(cmsg, ApplId, 0x87, 0x83, Messagenumber, adr);
 }
 # 43 "capi.c" 2
 # 1 "capicmd.h" 1
 # 44 "capi.c" 2
 
 # 1 "capifs.h" 1
 # 10 "capifs.h"
 void capifs_new_ncci_R598f271d(char type, unsigned int num, kdev_t device);
 void capifs_free_ncci_R98e7f4b7(char type, unsigned int num);
 # 46 "capi.c" 2
 
 
 static char *revision = "$Revision: 1.44.6.15 $";
 
 const char __module_description[] __attribute__((section(".modinfo"))) = "description=" "CAPI4Linux: Userspace /dev/capi20 interface";
 const char __module_author[] __attribute__((section(".modinfo"))) = "author=" "Carsten Paeth";
 static const char __module_license[] __attribute__((section(".modinfo"))) = "license=" "GPL";
 
 
 
 
 
 
 
 int capi_major = 68;
 
 int capi_rawmajor = 190;
 int capi_ttymajor = 191;
 
 
 const char __module_parm_capi_major[] __attribute__((section(".modinfo"))) = "parm_" "capi_major" "=" "i";
 
 const char __module_parm_capi_rawmajor[] __attribute__((section(".modinfo"))) = "parm_" "capi_rawmajor" "=" "i";
 const char __module_parm_capi_ttymajor[] __attribute__((section(".modinfo"))) = "parm_" "capi_ttymajor" "=" "i";
 # 80 "capi.c"
 struct capidev;
 struct capincci;
 
 struct capiminor;
 
 struct capiminor {
         struct capiminor *next;
         struct capincci *nccip;
         unsigned int minor;
 
         __u16 applid;
         __u32 ncci;
         __u16 datahandle;
         __u16 msgid;
 
         struct file *file;
         struct tty_struct *tty;
         int ttyinstop;
         int ttyoutstop;
         struct sk_buff *ttyskb;
         atomic_t ttyopencount;
 
         struct sk_buff_head inqueue;
         int inbytes;
         struct sk_buff_head outqueue;
         int outbytes;
 
 
         struct sk_buff_head recvqueue;
         wait_queue_head_t recvwait;
         wait_queue_head_t sendwait;
 
 
         struct datahandle_queue {
                     struct datahandle_queue *next;
                     __u16 datahandle;
         } *ackqueue;
         int nack;
 
 };
 
 
 struct capincci {
         struct capincci *next;
         __u32 ncci;
         struct capidev *cdev;
 
         struct capiminor *minorp;
 
 };
 
 struct capidev {
         struct capidev *next;
         struct file *file;
         __u16 applid;
         __u16 errcode;
         unsigned int minor;
         unsigned userflags;
 
         struct sk_buff_head recvqueue;
         wait_queue_head_t recvwait;
 
 
         unsigned long nrecvctlpkt;
         unsigned long nrecvdatapkt;
         unsigned long nsentctlpkt;
         unsigned long nsentdatapkt;
 
         struct capincci *nccis;
 };
 
 
 
 static struct capi_interface *capifuncs = 0;
 static struct capidev *capidev_openlist = 0;
 
 static struct capiminor *minors = 0;
 
 
 static kmem_cache_t *capidev_cachep = 0;
 static kmem_cache_t *capincci_cachep = 0;
 
 static kmem_cache_t *capiminor_cachep = 0;
 static kmem_cache_t *capidh_cachep = 0;
 
 
 
 
 
 int capincci_add_ack(struct capiminor *mp, __u16 datahandle)
 {
         struct datahandle_queue *n, **pp;
 
         n = (struct datahandle_queue *)
         kmem_cache_alloc_R75810956(capidh_cachep, (0x20));
         if (!n) {
            printk_R1b7d4074("<3>" "capi: alloc datahandle failed\n");
            return -1;
         }
         n->next = 0;
         n->datahandle = datahandle;
         for (pp = &mp->ackqueue; *pp; pp = &(*pp)->next) ;
         *pp = n;
         mp->nack++;
         return 0;
 }
 
 int capiminor_del_ack(struct capiminor *mp, __u16 datahandle)
 {
         struct datahandle_queue **pp, *p;
 
         for (pp = &mp->ackqueue; *pp; pp = &(*pp)->next) {
                 if ((*pp)->datahandle == datahandle) {
                         p = *pp;
                         *pp = (*pp)->next;
                         kmem_cache_free_R891f2686(capidh_cachep, p);
                         mp->nack--;
                         return 0;
                 }
         }
         return -1;
 }
 
 void capiminor_del_all_ack(struct capiminor *mp)
 {
         struct datahandle_queue **pp, *p;
 
         pp = &mp->ackqueue;
         while (*pp) {
                 p = *pp;
                 *pp = (*pp)->next;
                 kmem_cache_free_R891f2686(capidh_cachep, p);
                 mp->nack--;
         }
 }
 
 
 
 
 struct capiminor *capiminor_alloc(__u16 applid, __u32 ncci)
 {
         struct capiminor *mp, **pp;
         unsigned int minor = 0;
 
         (atomic_inc(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8|16);
         mp = (struct capiminor *)kmem_cache_alloc_R75810956(capiminor_cachep, (0x20));
         if (!mp) {
                 (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
                 printk_R1b7d4074("<3>" "capi: can't alloc capiminor\n");
                 return 0;
         }
 
 
 
         (__builtin_constant_p(0) ? (__builtin_constant_p((sizeof(struct capiminor))) ? __constant_c_and_count_memset(((mp)),((0x01010101UL*(unsigned char)(0))),((sizeof(struct capiminor)))) : __constant_c_memset(((mp)),((0x01010101UL*(unsigned char)(0))) ,((sizeof(struct capiminor))))) : (__builtin_constant_p((sizeof(struct capiminor))) ? __memset_generic((((mp))),(((0))),(((sizeof(struct capiminor))))) : __memset_generic(((mp)),((0)),((sizeof(struct capiminor))))));
         mp->applid = applid;
         mp->ncci = ncci;
         mp->msgid = 0;
         (((&mp->ttyopencount)->counter) = (0));
 
         skb_queue_head_init(&mp->inqueue);
         skb_queue_head_init(&mp->outqueue);
 
         skb_queue_head_init(&mp->recvqueue);
         init_waitqueue_head(&mp->recvwait);
         init_waitqueue_head(&mp->sendwait);
 
         for (pp = &minors; *pp; pp = &(*pp)->next) {
                 if ((*pp)->minor < minor)
                         continue;
                 if ((*pp)->minor > minor)
                         break;
                 minor++;
         }
         mp->minor = minor;
         mp->next = *pp;
         *pp = mp;
         return mp;
 }
 
 void capiminor_free(struct capiminor *mp)
 {
         struct capiminor **pp;
 
         pp = &minors;
         while (*pp) {
                 if (*pp == mp) {
                         *pp = (*pp)->next;
                         if (mp->ttyskb) kfree_skb(mp->ttyskb);
                         mp->ttyskb = 0;
                         skb_queue_purge(&mp->recvqueue);
                         skb_queue_purge(&mp->inqueue);
                         skb_queue_purge(&mp->outqueue);
                         capiminor_del_all_ack(mp);
                         kmem_cache_free_R891f2686(capiminor_cachep, mp);
                         (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
 
 
 
                         return;
                 } else {
                         pp = &(*pp)->next;
                 }
         }
 }
 
 struct capiminor *capiminor_find(unsigned int minor)
 {
         struct capiminor *p;
         for (p = minors; p && p->minor != minor; p = p->next)
                 ;
         return p;
 }
 
 
 
 
 static struct capincci *capincci_alloc(struct capidev *cdev, __u32 ncci)
 {
         struct capincci *np, **pp;
 
         struct capiminor *mp = 0;
         kdev_t kdev;
 
 
         np = (struct capincci *)kmem_cache_alloc_R75810956(capincci_cachep, (0x20));
         if (!np)
                 return 0;
         (__builtin_constant_p(0) ? (__builtin_constant_p((sizeof(struct capincci))) ? __constant_c_and_count_memset(((np)),((0x01010101UL*(unsigned char)(0))),((sizeof(struct capincci)))) : __constant_c_memset(((np)),((0x01010101UL*(unsigned char)(0))),( (sizeof(struct capincci))))) : (__builtin_constant_p((sizeof(struct capincci))) ? __memset_generic((((np))),(((0))),(((sizeof(struct capincci))))) : __memset_generic(((np)),((0)),((sizeof(struct capincci))))));
         np->ncci = ncci;
         np->cdev = cdev;
 
         mp = 0;
         if (cdev->userflags & 0x0001)
                 mp = np->minorp = capiminor_alloc(cdev->applid, ncci);
         if (mp) {
                 mp->nccip = np;
 
 
 
 
                 kdev = (((capi_rawmajor) << 8) | (mp->minor));
                 capifs_new_ncci_R598f271d('r', mp->minor, kdev);
                 kdev = (((capi_ttymajor) << 8) | (mp->minor));
                 capifs_new_ncci_R598f271d(0, mp->minor, kdev);
 
         }
 
         for (pp=&cdev->nccis; *pp; pp = &(*pp)->next)
                 ;
         *pp = np;
         return np;
 }
 
 static void capincci_free(struct capidev *cdev, __u32 ncci)
 {
         struct capincci *np, **pp;
 
         struct capiminor *mp;
 
 
         pp=&cdev->nccis;
         while (*pp) {
                 np = *pp;
                 if (ncci == 0xffffffff || np->ncci == ncci) {
                         *pp = (*pp)->next;
 
                         if ((mp = np->minorp) != 0) {
 
                                 capifs_free_ncci_R98e7f4b7('r', mp->minor);
                                 capifs_free_ncci_R98e7f4b7(0, mp->minor);
 
                                 if (mp->tty) {
                                         mp->nccip = 0;
 
 
 
                                         tty_hangup_R128aa009(mp->tty);
                                 } else if (mp->file) {
                                         mp->nccip = 0;
 
 
 
                                         __wake_up_Rb76c5f1e((&mp->recvwait),1, 1);
                                         __wake_up_Rb76c5f1e((&mp->sendwait),1, 1);
                                 } else {
                                         capiminor_free(mp);
                                 }
                         }
 
                         kmem_cache_free_R891f2686(capincci_cachep, np);
                         if (*pp == 0) return;
                 } else {
                         pp = &(*pp)->next;
                 }
         }
 }
 
 struct capincci *capincci_find(struct capidev *cdev, __u32 ncci)
 {
         struct capincci *p;
 
         for (p=cdev->nccis; p ; p = p->next) {
                 if (p->ncci == ncci)
                         break;
         }
         return p;
 }
 
 
 
 static struct capidev *capidev_alloc(struct file *file)
 {
         struct capidev *cdev;
         struct capidev **pp;
 
         cdev = (struct capidev *)kmem_cache_alloc_R75810956(capidev_cachep, (0x20 | 0x10 | 0x40 | 0x80));
         if (!cdev)
                 return 0;
         (__builtin_constant_p(0) ? (__builtin_constant_p((sizeof(struct capidev))) ? __constant_c_and_count_memset(((cdev)),((0x01010101UL*(unsigned char)(0))),((sizeof(struct capidev)))) : __constant_c_memset(((cdev)),((0x01010101UL*(unsigned char)(0))) ,((sizeof(struct capidev))))) : (__builtin_constant_p((sizeof(struct capidev))) ? __memset_generic((((cdev))),(((0))),(((sizeof(struct capidev))))) : __memset_generic(((cdev)),((0)),((sizeof(struct capidev))))));
         cdev->file = file;
         cdev->minor = ((unsigned int) ((file->f_dentry->d_inode->i_rdev) & ((1U << 8) - 1)));
 
         skb_queue_head_init(&cdev->recvqueue);
         init_waitqueue_head(&cdev->recvwait);
         pp=&capidev_openlist;
         while (*pp) pp = &(*pp)->next;
         *pp = cdev;
         return cdev;
 }
 
 static void capidev_free(struct capidev *cdev)
 {
         struct capidev **pp;
 
         if (cdev->applid)
                 (*capifuncs->capi_release) (cdev->applid);
         cdev->applid = 0;
 
         skb_queue_purge(&cdev->recvqueue);
 
         pp=&capidev_openlist;
         while (*pp && *pp != cdev) pp = &(*pp)->next;
         if (*pp)
                 *pp = cdev->next;
 
         kmem_cache_free_R891f2686(capidev_cachep, cdev);
 }
 
 static struct capidev *capidev_find(__u16 applid)
 {
         struct capidev *p;
         for (p=capidev_openlist; p; p = p->next) {
                 if (p->applid == applid)
                         break;
         }
         return p;
 }
 
 
 
 
 struct sk_buff *
 gen_data_b3_resp_for(struct capiminor *mp, struct sk_buff *skb)
 {
         struct sk_buff *nskb;
         nskb = alloc_skb_R4dd90d00((8 +4+2), (0x20));
         if (nskb) {
                 __u16 datahandle = (skb->data[8 +4+4+2]|(skb->data[(8 +4+4+2)+1]<<8));
                 unsigned char *s = skb_put(nskb, (8 +4+2));
                 capimsg_setu16(s, 0, (8 +4+2));
                 capimsg_setu16(s, 2, mp->applid);
                 capimsg_setu8 (s, 4, 0x86);
                 capimsg_setu8 (s, 5, 0x83);
                 capimsg_setu16(s, 6, mp->msgid++);
                 capimsg_setu32(s, 8, mp->ncci);
                 capimsg_setu16(s, 12, datahandle);
         }
         return nskb;
 }
 
 int handle_recv_skb(struct capiminor *mp, struct sk_buff *skb)
 {
         struct sk_buff *nskb;
         unsigned int datalen;
         __u16 errcode, datahandle;
 
         datalen = skb->len - (skb->data[0]|(skb->data[(0)+1]<<8));
         if (mp->tty) {
                 if (mp->tty->ldisc.receive_buf == 0) {
                         printk_R1b7d4074("<3>" "capi: ldisc has no receive_buf function\n");
                         return -1;
                 }
                 if (mp->ttyinstop) {
 
 
 
                         return -1;
                 }
                 if (mp->tty->ldisc.receive_room &&
                     mp->tty->ldisc.receive_room(mp->tty) < datalen) {
 
 
 
                         return -1;
                 }
                 if ((nskb = gen_data_b3_resp_for(mp, skb)) == 0) {
                         printk_R1b7d4074("<3>" "capi: gen_data_b3_resp failed\n");
                         return -1;
                 }
                 datahandle = (skb->data[8 +4]|(skb->data[(8 +4)+1]<<8));
                 errcode = (*capifuncs->capi_put_message)(mp->applid, nskb);
                 if (errcode != 0x0000) {
                         printk_R1b7d4074("<3>" "capi: send DATA_B3_RESP failed=%x\n",
                                         errcode);
                         kfree_skb(nskb);
                         return -1;
                 }
                 (void)skb_pull(skb, (skb->data[0]|(skb->data[(0)+1]<<8)));
 
 
 
 
                 mp->tty->ldisc.receive_buf(mp->tty, skb->data, 0, skb->len);
                 kfree_skb(skb);
                 return 0;
 
         } else if (mp->file) {
                 if (skb_queue_len(&mp->recvqueue) > 10) {
 
 
 
                         return -1;
                 }
                 if ((nskb = gen_data_b3_resp_for(mp, skb)) == 0) {
                         printk_R1b7d4074("<3>" "capi: gen_data_b3_resp failed\n");
                         return -1;
                 }
                 datahandle = (skb->data[8 +4]|(skb->data[(8 +4)+1]<<8));
                 errcode = (*capifuncs->capi_put_message)(mp->applid, nskb);
                 if (errcode != 0x0000) {
                         printk_R1b7d4074("<3>" "capi: send DATA_B3_RESP failed=%x\n",
                                         errcode);
                         kfree_skb(nskb);
                         return -1;
                 }
                 (void)skb_pull(skb, (skb->data[0]|(skb->data[(0)+1]<<8)));
 
 
 
 
                 skb_queue_tail(&mp->recvqueue, skb);
                 __wake_up_Rb76c5f1e((&mp->recvwait),1, 1);
                 return 0;
         }
 
 
 
         return -1;
 }
 
 void handle_minor_recv(struct capiminor *mp)
 {
         struct sk_buff *skb;
         while ((skb = skb_dequeue(&mp->inqueue)) != 0) {
                 unsigned int len = skb->len;
                 mp->inbytes -= len;
                 if (handle_recv_skb(mp, skb) < 0) {
                         skb_queue_head(&mp->inqueue, skb);
                         mp->inbytes += len;
                         return;
                 }
         }
 }
 
 int handle_minor_send(struct capiminor *mp)
 {
         struct sk_buff *skb;
         __u16 len;
         int count = 0;
         __u16 errcode;
         __u16 datahandle;
 
         if (mp->tty && mp->ttyoutstop) {
 
 
 
                 return 0;
         }
 
         while ((skb = skb_dequeue(&mp->outqueue)) != 0) {
                 datahandle = mp->datahandle;
                 len = (__u16)skb->len;
                 skb_push(skb, (8 +4+4+2+2+2));
                 (__builtin_constant_p(0) ? (__builtin_constant_p(((8 +4+4+2+2+2))) ? __constant_c_and_count_memset(((skb->data)),((0x01010101UL*(unsigned char)(0))),(((8 +4+4+2+2+2)))) : __constant_c_memset(((skb->data)),((0x01010101UL*(unsigned char)(0) )),(((8 +4+4+2+2+2))))) : (__builtin_constant_p(((8 +4+4+2+2+2))) ? __memset_generic((((skb->data))),(((0))),((((8 +4+4+2+2+2))))) : __memset_generic(((skb->data)),((0)),(((8 +4+4+2+2+2))))));
                 capimsg_setu16(skb->data, 0, (8 +4+4+2+2+2));
                 capimsg_setu16(skb->data, 2, mp->applid);
                 capimsg_setu8 (skb->data, 4, 0x86);
                 capimsg_setu8 (skb->data, 5, 0x80);
                 capimsg_setu16(skb->data, 6, mp->msgid++);
                 capimsg_setu32(skb->data, 8, mp->ncci);
                 capimsg_setu32(skb->data, 12, (__u32) skb->data);
                 capimsg_setu16(skb->data, 16, len);
                 capimsg_setu16(skb->data, 18, datahandle);
                 capimsg_setu16(skb->data, 20, 0);
 
                 if (capincci_add_ack(mp, datahandle) < 0) {
                         skb_pull(skb, (8 +4+4+2+2+2));
                         skb_queue_head(&mp->outqueue, skb);
                         return count;
                 }
                 errcode = (*capifuncs->capi_put_message) (mp->applid, skb);
                 if (errcode == 0x0000) {
                         mp->datahandle++;
                         count++;
                         mp->outbytes -= len;
 
 
 
 
                         continue;
                 }
                 capiminor_del_ack(mp, datahandle);
 
                 if (errcode == 0x1103) {
                         skb_pull(skb, (8 +4+4+2+2+2));
                         skb_queue_head(&mp->outqueue, skb);
                         break;
                 }
 
 
                 printk_R1b7d4074("<3>" "capi: put_message = %x\n", errcode);
                 mp->outbytes -= len;
                 kfree_skb(skb);
         }
         if (count)
                 __wake_up_Rb76c5f1e((&mp->sendwait),1, 1);
         return count;
 }
 
 
 
 
 static void capi_signal(__u16 applid, void *param)
 {
         struct capidev *cdev = (struct capidev *)param;
 
         struct capiminor *mp;
         __u16 datahandle;
 
         struct capincci *np;
         struct sk_buff *skb = 0;
         __u32 ncci;
 
         (void) (*capifuncs->capi_get_message) (applid, &skb);
         if (!skb) {
                 printk_R1b7d4074("<3>" "BUG: capi_signal: no skb\n");
                 return;
         }
 
         if ((skb->data[4]) != 0x86) {
                 skb_queue_tail(&cdev->recvqueue, skb);
                 __wake_up_Rb76c5f1e((&cdev->recvwait),1, 1);
                 return;
         }
         ncci = (skb->data[8]|(skb->data[(8)+1]<<8)|(skb->data[(8)+2]<<16)|(skb->data[(8)+3]<<24));
         for (np = cdev->nccis; np && np->ncci != ncci; np = np->next)
                 ;
         if (!np) {
                 printk_R1b7d4074("<3>" "BUG: capi_signal: ncci not found\n");
                 skb_queue_tail(&cdev->recvqueue, skb);
                 __wake_up_Rb76c5f1e((&cdev->recvwait),1, 1);
                 return;
         }
 
 
 
 
         mp = np->minorp;
         if (!mp) {
                 skb_queue_tail(&cdev->recvqueue, skb);
                 __wake_up_Rb76c5f1e((&cdev->recvwait),1, 1);
                 return;
         }
 
 
         if ((skb->data[5]) == 0x82) {
                 datahandle = (skb->data[8 +4+4+2]|(skb->data[(8 +4+4+2)+1]<<8));
 
 
 
 
                 skb_queue_tail(&mp->inqueue, skb);
                 mp->inbytes += skb->len;
                 handle_minor_recv(mp);
 
         } else if ((skb->data[5]) == 0x81) {
 
                 datahandle = (skb->data[8 +4]|(skb->data[(8 +4)+1]<<8));
 
 
 
 
 
                 kfree_skb(skb);
                 (void)capiminor_del_ack(mp, datahandle);
                 if (mp->tty) {
                         if (mp->tty->ldisc.write_wakeup)
                                 mp->tty->ldisc.write_wakeup(mp->tty);
                 } else {
                         __wake_up_Rb76c5f1e((&mp->sendwait),1, 1);
                 }
                 (void)handle_minor_send(mp);
 
         } else {
 
                 skb_queue_tail(&cdev->recvqueue, skb);
                 __wake_up_Rb76c5f1e((&cdev->recvwait),1, 1);
         }
 
 }
 
 
 
 static ssize_t
 capi_read(struct file *file, char *buf, size_t count, loff_t *ppos)
 {
         struct capidev *cdev = (struct capidev *)file->private_data;
         struct sk_buff *skb;
         int retval;
         size_t copied;
 
         if (ppos != &file->f_pos)
                 return -29;
 
         if (!cdev->applid)
                 return -19;
 
         if ((skb = skb_dequeue(&cdev->recvqueue)) == 0) {
 
                 if (file->f_flags & 04000)
                         return -11;
 
                 for (;;) {
                         interruptible_sleep_on_R7e4f89c3(&cdev->recvwait);
                         if ((skb = skb_dequeue(&cdev->recvqueue)) != 0)
                                 break;
                         if (signal_pending(get_current()))
                                 break;
                 }
                 if (skb == 0)
                         return -514;
         }
         if (skb->len > count) {
                 skb_queue_head(&cdev->recvqueue, skb);
                 return -90;
         }
         retval = (__builtin_constant_p(skb->len) ? __constant_copy_to_user((buf),(skb->data),(skb->len)) : __generic_copy_to_user_Rd523fdd3((buf),(skb->data),(skb->len)));
         if (retval) {
                 skb_queue_head(&cdev->recvqueue, skb);
                 return retval;
         }
         copied = skb->len;
 
         if ((((skb->data[4])<<8)|(skb->data[5])) == (((0x86)<<8)|(0x82))) {
                 cdev->nrecvdatapkt++;
         } else {
                 cdev->nrecvctlpkt++;
         }
 
         kfree_skb(skb);
 
         return copied;
 }
 
 static ssize_t
 capi_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
 {
         struct capidev *cdev = (struct capidev *)file->private_data;
         struct sk_buff *skb;
         int retval;
         __u16 mlen;
 
         if (ppos != &file->f_pos)
                 return -29;
 
         if (!cdev->applid)
                 return -19;
 
         skb = alloc_skb_R4dd90d00(count, ( 0x10 | 0x40 | 0x80));
         if (!skb)
                 return -12;
 
         if ((retval = (__builtin_constant_p(count) ? __constant_copy_from_user((skb_put(skb, count)),(buf),(count)) : __generic_copy_from_user_R116166aa((skb_put(skb, count)),(buf),(count))))) {
                 kfree_skb(skb);
                 return -14;
         }
         mlen = (skb->data[0]|(skb->data[(0)+1]<<8));
         if ((((skb->data[4])<<8)|(skb->data[5])) == (((0x86)<<8)|(0x80))) {
                 if (mlen + (skb->data[16]|(skb->data[(16)+1]<<8)) != count) {
                         kfree_skb(skb);
                         return -22;
                 }
         } else {
                 if (mlen != count) {
                         kfree_skb(skb);
                         return -22;
                 }
         }
         capimsg_setu16(skb->data, 2, cdev->applid);
 
         cdev->errcode = (*capifuncs->capi_put_message) (cdev->applid, skb);
 
         if (cdev->errcode) {
                 kfree_skb(skb);
                 return -5;
         }
         if ((((skb->data[4])<<8)|(skb->data[5])) == (((0x86)<<8)|(0x80))) {
                 cdev->nsentdatapkt++;
         } else {
                 cdev->nsentctlpkt++;
         }
         return count;
 }
 
 static unsigned int
 capi_poll(struct file *file, poll_table * wait)
 {
         struct capidev *cdev = (struct capidev *)file->private_data;
         unsigned int mask = 0;
 
         if (!cdev->applid)
                 return 0x0008;
 
         poll_wait(file, &(cdev->recvwait), wait);
         mask = 0x0004 | 0x0100;
         if (!skb_queue_empty(&cdev->recvqueue))
                 mask |= 0x0001 | 0x0040;
         return mask;
 }
 
 static int
 capi_ioctl(struct inode *inode, struct file *file,
                       unsigned int cmd, unsigned long arg)
 {
         struct capidev *cdev = (struct capidev *)file->private_data;
         capi_ioctl_struct data;
         int retval = -22;
 
         switch (cmd) {
         case (((1U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x01)) << 0) | ((sizeof(struct capi_register_params)) << ((0 +8)+8))):
                 {
                         retval = (__builtin_constant_p(sizeof(struct capi_register_params)) ? __constant_copy_from_user(((void *) &data.rparams),((void *) arg),(sizeof(struct capi_register_params))) : __generic_copy_from_user_R116166aa(((void *) &data.rp arams),((void *) arg),(sizeof(struct capi_register_params))));
 
                         if (retval)
                                 return -14;
                         if (cdev->applid)
                                 return -17;
                         cdev->errcode = (*capifuncs->capi_register) (&data.rparams,
                                                           &cdev->applid);
                         if (cdev->errcode) {
                                 cdev->applid = 0;
                                 return -5;
                         }
                         (void) (*capifuncs->capi_set_signal) (cdev->applid, capi_signal, cdev);
                 }
                 return (int)cdev->applid;
 
         case (((2U|1U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x07)) << 0) | ((sizeof(struct capi_version)) << ((0 +8)+8))):
                 {
                         retval = (__builtin_constant_p(sizeof(data.contr)) ? __constant_copy_from_user(((void *) &data.contr),((void *) arg),(sizeof(data.contr))) : __generic_copy_from_user_R116166aa(((void *) &data.contr),((void *) arg),(sizeof(data.con tr))));
 
 
                         if (retval)
                                 return -14;
                         cdev->errcode = (*capifuncs->capi_get_version) (data.contr, &data.version);
                         if (cdev->errcode)
                                 return -5;
                         retval = (__builtin_constant_p(sizeof(data.version)) ? __constant_copy_to_user(((void *) arg),((void *) &data.version),(sizeof(data.version))) : __generic_copy_to_user_Rd523fdd3(((void *) arg),((void *) &data.version),(sizeof(data .version))));
 
 
                         if (retval)
                                 return -14;
                 }
                 return 0;
 
         case (((2U|1U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x08)) << 0) | ((sizeof(8)) << ((0 +8)+8))):
                 {
                         retval = (__builtin_constant_p(sizeof(data.contr)) ? __constant_copy_from_user(((void *) &data.contr),((void *) arg),(sizeof(data.contr))) : __generic_copy_from_user_R116166aa(((void *) &data.contr),((void *) arg),(sizeof(data.con tr))));
 
 
                         if (retval)
                                 return -14;
                         cdev->errcode = (*capifuncs->capi_get_serial) (data.contr, data.serial);
                         if (cdev->errcode)
                                 return -5;
                         retval = (__builtin_constant_p(sizeof(data.serial)) ? __constant_copy_to_user(((void *) arg),((void *) data.serial),(sizeof(data.serial))) : __generic_copy_to_user_Rd523fdd3(((void *) arg),((void *) data.serial),(sizeof(data.seria l))));
 
 
                         if (retval)
                                 return -14;
                 }
                 return 0;
         case (((2U|1U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x09)) << 0) | ((sizeof(struct capi_profile)) << ((0 +8)+8))):
                 {
                         retval = (__builtin_constant_p(sizeof(data.contr)) ? __constant_copy_from_user(((void *) &data.contr),((void *) arg),(sizeof(data.contr))) : __generic_copy_from_user_R116166aa(((void *) &data.contr),((void *) arg),(sizeof(data.con tr))));
 
 
                         if (retval)
                                 return -14;
 
                         if (data.contr == 0) {
                                 cdev->errcode = (*capifuncs->capi_get_profile) (data.contr, &data.profile);
                                 if (cdev->errcode)
                                         return -5;
 
                                 retval = (__builtin_constant_p(sizeof(data.profile.ncontroller)) ? __constant_copy_to_user(((void *) arg),((void *) &data.profile.ncontroller),(sizeof(data.profile.ncontroller))) : __generic_copy_to_user_Rd523fdd3(((void * ) arg),((void *) &data.profile.ncontroller),(sizeof(data.profile.ncontroller))));
 
 
 
                         } else {
                                 cdev->errcode = (*capifuncs->capi_get_profile) (data.contr, &data.profile);
                                 if (cdev->errcode)
                                         return -5;
 
                                 retval = (__builtin_constant_p(sizeof(data.profile)) ? __constant_copy_to_user(((void *) arg),((void *) &data.profile),(sizeof(data.profile))) : __generic_copy_to_user_Rd523fdd3(((void *) arg),((void *) &data.profile),(siz eof(data.profile))));
 
 
                         }
                         if (retval)
                                 return -14;
                 }
                 return 0;
 
         case (((2U|1U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x06)) << 0) | ((sizeof(64)) << ((0 +8)+8))):
                 {
                         retval = (__builtin_constant_p(sizeof(data.contr)) ? __constant_copy_from_user(((void *) &data.contr),((void *) arg),(sizeof(data.contr))) : __generic_copy_from_user_R116166aa(((void *) &data.contr),((void *) arg),(sizeof(data.con tr))));
 
 
                         if (retval)
                                 return -14;
                         cdev->errcode = (*capifuncs->capi_get_manufacturer) (data.contr, data.manufacturer);
                         if (cdev->errcode)
                                 return -5;
 
                         retval = (__builtin_constant_p(sizeof(data.manufacturer)) ? __constant_copy_to_user(((void *) arg),((void *) data.manufacturer),(sizeof(data.manufacturer))) : __generic_copy_to_user_Rd523fdd3(((void *) arg),((void *) data.manufact urer),(sizeof(data.manufacturer))));
 
                         if (retval)
                                 return -14;
 
                 }
                 return 0;
         case (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x21)) << 0) | ((sizeof(__u16)) << ((0 +8)+8))):
                 data.errcode = cdev->errcode;
                 cdev->errcode = 0x0000;
                 if (arg) {
                         retval = (__builtin_constant_p(sizeof(data.errcode)) ? __constant_copy_to_user(((void *) arg),((void *) &data.errcode),(sizeof(data.errcode))) : __generic_copy_to_user_Rd523fdd3(((void *) arg),((void *) &data.errcode),(sizeof(data .errcode))));
 
 
                         if (retval)
                                 return -14;
                 }
                 return data.errcode;
 
         case (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x22)) << 0) | ((sizeof(__u16)) << ((0 +8)+8))):
                 if ((*capifuncs->capi_isinstalled)() == 0x0000)
                         return 0;
                 return -6;
 
         case (((2U|1U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x20)) << 0) | ((sizeof(struct capi_manufacturer_cmd)) << ((0 +8)+8))):
                 {
                         struct capi_manufacturer_cmd mcmd;
                         if (!capable(21))
                                 return -1;
                         retval = (__builtin_constant_p(sizeof(mcmd)) ? __constant_copy_from_user(((void *) &mcmd),((void *) arg),(sizeof(mcmd))) : __generic_copy_from_user_R116166aa(((void *) &mcmd),((void *) arg),(sizeof(mcmd))));
 
                         if (retval)
                                 return -14;
                         return (*capifuncs->capi_manufacturer) (mcmd.cmd, mcmd.data);
                 }
                 return 0;
 
         case (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x24)) << 0) | ((sizeof(unsigned)) << ((0 +8)+8))):
         case (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x25)) << 0) | ((sizeof(unsigned)) << ((0 +8)+8))):
                 {
                         unsigned userflags;
                         retval = (__builtin_constant_p(sizeof(userflags)) ? __constant_copy_from_user(((void *) &userflags),((void *) arg),(sizeof(userflags))) : __generic_copy_from_user_R116166aa(((void *) &userflags),((void *) arg),(sizeof(userflags))) );
 
 
                         if (retval)
                                 return -14;
                         if (cmd == (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x24)) << 0) | ((sizeof(unsigned)) << ((0 +8)+8))))
                                 cdev->userflags |= userflags;
                         else
                                 cdev->userflags &= ~userflags;
                 }
                 return 0;
 
         case (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x23)) << 0) | ((sizeof(unsigned)) << ((0 +8)+8))):
                 {
                         retval = (__builtin_constant_p(sizeof(cdev->userflags)) ? __constant_copy_to_user(((void *) arg),((void *) &cdev->userflags),(sizeof(cdev->userflags))) : __generic_copy_to_user_Rd523fdd3(((void *) arg),((void *) &cdev->userflags), (sizeof(cdev->userflags))));
 
 
                         if (retval)
                                 return -14;
                 }
                 return 0;
 
         case (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x26)) << 0) | ((sizeof(unsigned)) << ((0 +8)+8))):
                 {
                         struct capincci *nccip;
 
                         struct capiminor *mp;
 
                         unsigned ncci;
                         int count = 0;
                         retval = (__builtin_constant_p(sizeof(ncci)) ? __constant_copy_from_user(((void *) &ncci),((void *) arg),(sizeof(ncci))) : __generic_copy_from_user_R116166aa(((void *) &ncci),((void *) arg),(sizeof(ncci))));
 
 
                         if (retval)
                                 return -14;
                         nccip = capincci_find(cdev, (__u32) ncci);
                         if (!nccip)
                                 return 0;
 
                         if ((mp = nccip->minorp) != 0) {
                                 count += ((&mp->ttyopencount)->counter);
                                 if (mp->file)
                                         count++;
                         }
 
                         return count;
                 }
                 return 0;
 
 
         case (((2U) << (((0 +8)+8)+14)) | ((('C')) << (0 +8)) | (((0x27)) << 0) | ((sizeof(unsigned)) << ((0 +8)+8))):
                 {
                         struct capincci *nccip;
                         struct capiminor *mp;
                         unsigned ncci;
                         retval = (__builtin_constant_p(sizeof(ncci)) ? __constant_copy_from_user(((void *) &ncci),((void *) arg),(sizeof(ncci))) : __generic_copy_from_user_R116166aa(((void *) &ncci),((void *) arg),(sizeof(ncci)))); /* THIS FAILS */
 
 
                         if (retval)
                                 return -14;
                         nccip = capincci_find(cdev, (__u32) ncci);
                         if (!nccip || (mp = nccip->minorp) == 0)
                                 return -3;
                         return mp->minor;
                 }
                 return 0;
 
         }
         return -22;
 }
 
 static int
 capi_open(struct inode *inode, struct file *file)
 {
         if (file->private_data)
                 return -17;
 
         if ((file->private_data = capidev_alloc(file)) == 0)
                 return -12;
 
         (atomic_inc(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8|16);
 
 
 
         return 0;
 }
 
 static int
 capi_release(struct inode *inode, struct file *file)
 {
         struct capidev *cdev = (struct capidev *)file->private_data;
 
         do { } while(0);
         capincci_free(cdev, 0xffffffff);
         capidev_free(cdev);
         file->private_data = ((void *)0);
 
         (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
 
 
 
         do { } while(0);
         return 0;
 }
 
 static struct file_operations capi_fops =
 {
         owner: (&__this_module),
         llseek: no_llseek_R84179756,
         read: capi_read,
         write: capi_write,
         poll: capi_poll,
         ioctl: capi_ioctl,
         open: capi_open,
         release: capi_release,
 };
 
 
 
 
 static int
 capinc_raw_open(struct inode *inode, struct file *file)
 {
         struct capiminor *mp;
 
         if (file->private_data)
                 return -17;
         if ((mp = capiminor_find(((unsigned int) ((file->f_dentry->d_inode->i_rdev) & ((1U << 8) - 1))))) == 0)
                 return -6;
         if (mp->nccip == 0)
                 return -6;
         if (mp->file)
                 return -16;
 
 
 
 
 
         mp->datahandle = 0;
         mp->file = file;
         file->private_data = (void *)mp;
         handle_minor_recv(mp);
         return 0;
 }
 
 static ssize_t
 capinc_raw_read(struct file *file, char *buf, size_t count, loff_t *ppos)
 {
         struct capiminor *mp = (struct capiminor *)file->private_data;
         struct sk_buff *skb;
         int retval;
         size_t copied = 0;
 
         if (ppos != &file->f_pos)
                 return -29;
 
         if (!mp || !mp->nccip)
                 return -22;
 
         if ((skb = skb_dequeue(&mp->recvqueue)) == 0) {
 
                 if (file->f_flags & 04000)
                         return -11;
 
                 for (;;) {
                         interruptible_sleep_on_R7e4f89c3(&mp->recvwait);
                         if (mp->nccip == 0)
                                 return 0;
                         if ((skb = skb_dequeue(&mp->recvqueue)) != 0)
                                 break;
                         if (signal_pending(get_current()))
                                 break;
                 }
                 if (skb == 0)
                         return -514;
         }
         do {
                 if (count < skb->len) {
                         retval = (__builtin_constant_p(count) ? __constant_copy_to_user((buf),(skb->data),(count)) : __generic_copy_to_user_Rd523fdd3((buf),(skb->data),(count)));
                         if (retval) {
                                 skb_queue_head(&mp->recvqueue, skb);
                                 return retval;
                         }
                         skb_pull(skb, count);
                         skb_queue_head(&mp->recvqueue, skb);
                         copied += count;
                         return copied;
                 } else {
                         retval = (__builtin_constant_p(skb->len) ? __constant_copy_to_user((buf),(skb->data),(skb->len)) : __generic_copy_to_user_Rd523fdd3((buf),(skb->data),(skb->len)));
                         if (retval) {
                                 skb_queue_head(&mp->recvqueue, skb);
                                 return copied;
                         }
                         copied += skb->len;
                         count -= skb->len;
                         buf += skb->len;
                         kfree_skb(skb);
                 }
         } while ((skb = skb_dequeue(&mp->recvqueue)) != 0);
 
         return copied;
 }
 
 static ssize_t
 capinc_raw_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
 {
         struct capiminor *mp = (struct capiminor *)file->private_data;
         struct sk_buff *skb;
         int retval;
 
         if (ppos != &file->f_pos)
                 return -29;
 
         if (!mp || !mp->nccip)
                 return -22;
 
         skb = alloc_skb_R4dd90d00((8 +4+4+2+2+2)+count, ( 0x10 | 0x40 | 0x80));
         if (!skb)
                 return -12;
 
         skb_reserve(skb, (8 +4+4+2+2+2));
         if ((retval = (__builtin_constant_p(count) ? __constant_copy_from_user((skb_put(skb, count)),(buf),(count)) : __generic_copy_from_user_R116166aa((skb_put(skb, count)),(buf),(count))))) {
                 kfree_skb(skb);
                 return -14;
         }
 
         while (skb_queue_len(&mp->outqueue) > 10) {
                 if (file->f_flags & 04000)
                         return -11;
                 interruptible_sleep_on_R7e4f89c3(&mp->sendwait);
                 if (mp->nccip == 0) {
                         kfree_skb(skb);
                         return -5;
                 }
                 if (signal_pending(get_current()))
                         return -514;
         }
         skb_queue_tail(&mp->outqueue, skb);
         mp->outbytes += skb->len;
         (void)handle_minor_send(mp);
         return count;
 }
 
 static unsigned int
 capinc_raw_poll(struct file *file, poll_table * wait)
 {
         struct capiminor *mp = (struct capiminor *)file->private_data;
         unsigned int mask = 0;
 
         if (!mp || !mp->nccip)
                 return 0x0008|0x0010;
 
         poll_wait(file, &(mp->recvwait), wait);
         if (!skb_queue_empty(&mp->recvqueue))
                 mask |= 0x0001 | 0x0040;
         poll_wait(file, &(mp->sendwait), wait);
         if (skb_queue_len(&mp->outqueue) > 10)
                 mask = 0x0004 | 0x0100;
         return mask;
 }
 
 static int
 capinc_raw_ioctl(struct inode *inode, struct file *file,
                       unsigned int cmd, unsigned long arg)
 {
         struct capiminor *mp = (struct capiminor *)file->private_data;
         if (!mp || !mp->nccip)
                 return -22;
 
         switch (cmd) {
         }
         return -22;
 }
 
 static int
 capinc_raw_release(struct inode *inode, struct file *file)
 {
         struct capiminor *mp = (struct capiminor *)file->private_data;
 
         if (mp) {
                 do { } while(0);
                 mp->file = 0;
                 if (mp->nccip == 0) {
                         capiminor_free(mp);
                         file->private_data = ((void *)0);
                 }
                 do { } while(0);
         }
 
 
 
 
         return 0;
 }
 
 static struct file_operations capinc_raw_fops =
 {
         owner: (&__this_module),
         llseek: no_llseek_R84179756,
         read: capinc_raw_read,
         write: capinc_raw_write,
         poll: capinc_raw_poll,
         ioctl: capinc_raw_ioctl,
         open: capinc_raw_open,
         release: capinc_raw_release,
 };
 
 
 
 int capinc_tty_open(struct tty_struct * tty, struct file * file)
 {
         struct capiminor *mp;
 
         if ((mp = capiminor_find(((unsigned int) ((file->f_dentry->d_inode->i_rdev) & ((1U << 8) - 1))))) == 0)
                 return -6;
         if (mp->nccip == 0)
                 return -6;
         if (mp->file)
                 return -16;
 
         skb_queue_head_init(&mp->recvqueue);
         init_waitqueue_head(&mp->recvwait);
         init_waitqueue_head(&mp->sendwait);
         tty->driver_data = (void *)mp;
 
 
 
         if (((&mp->ttyopencount)->counter) == 0)
                 mp->tty = tty;
         atomic_inc(&mp->ttyopencount);
 
 
 
         handle_minor_recv(mp);
         return 0;
 }
 
 void capinc_tty_close(struct tty_struct * tty, struct file * file)
 {
         struct capiminor *mp;
 
         mp = (struct capiminor *)tty->driver_data;
         if (mp) {
                 if (atomic_dec_and_test(&mp->ttyopencount)) {
 
 
 
                         tty->driver_data = (void *)0;
                         mp->tty = 0;
                 }
 
 
 
                 if (mp->nccip == 0)
                         capiminor_free(mp);
         }
 
 
 
 
 }
 
 int capinc_tty_write(struct tty_struct * tty, int from_user,
                       const unsigned char *buf, int count)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
         struct sk_buff *skb;
         int retval;
 
 
 
 
 
 
         if (!mp || !mp->nccip) {
 
 
 
                 return 0;
         }
 
         skb = mp->ttyskb;
         if (skb) {
                 mp->ttyskb = 0;
                 skb_queue_tail(&mp->outqueue, skb);
                 mp->outbytes += skb->len;
         }
 
         skb = alloc_skb_R4dd90d00((8 +4+4+2+2+2)+count, (0x20));
         if (!skb) {
                 printk_R1b7d4074("<3>" "capinc_tty_write: alloc_skb failed\n");
                 return -12;
         }
 
         skb_reserve(skb, (8 +4+4+2+2+2));
         if (from_user) {
                 if ((retval = (__builtin_constant_p(count) ? __constant_copy_from_user((skb_put(skb, count)),(buf),(count)) : __generic_copy_from_user_R116166aa((skb_put(skb, count)),(buf),(count))))) {
                         kfree_skb(skb);
 
 
 
                         return -14;
                 }
         } else {
                 (__builtin_constant_p(count) ? __constant_memcpy((skb_put(skb, count)),(buf),(count)) : __memcpy((skb_put(skb, count)),(buf),(count)));
         }
 
         skb_queue_tail(&mp->outqueue, skb);
         mp->outbytes += skb->len;
         (void)handle_minor_send(mp);
         (void)handle_minor_recv(mp);
         return count;
 }
 
 void capinc_tty_put_char(struct tty_struct *tty, unsigned char ch)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
         struct sk_buff *skb;
 
 
 
 
 
         if (!mp || !mp->nccip) {
 
 
 
                 return;
         }
 
         skb = mp->ttyskb;
         if (skb) {
                 if (skb_tailroom(skb) > 0) {
                         *(skb_put(skb, 1)) = ch;
                         return;
                 }
                 mp->ttyskb = 0;
                 skb_queue_tail(&mp->outqueue, skb);
                 mp->outbytes += skb->len;
                 (void)handle_minor_send(mp);
         }
         skb = alloc_skb_R4dd90d00((8 +4+4+2+2+2)+2048, (0x20));
         if (skb) {
                 skb_reserve(skb, (8 +4+4+2+2+2));
                 *(skb_put(skb, 1)) = ch;
                 mp->ttyskb = skb;
         } else {
                 printk_R1b7d4074("<3>" "capinc_put_char: char %u lost\n", ch);
         }
 }
 
 void capinc_tty_flush_chars(struct tty_struct *tty)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
         struct sk_buff *skb;
 
 
 
 
 
         if (!mp || !mp->nccip) {
 
 
 
                 return;
         }
 
         skb = mp->ttyskb;
         if (skb) {
                 mp->ttyskb = 0;
                 skb_queue_tail(&mp->outqueue, skb);
                 mp->outbytes += skb->len;
                 (void)handle_minor_send(mp);
         }
         (void)handle_minor_recv(mp);
 }
 
 int capinc_tty_write_room(struct tty_struct *tty)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
         int room;
         if (!mp || !mp->nccip) {
 
 
 
                 return 0;
         }
         room = 10 -skb_queue_len(&mp->outqueue);
         room *= 2048;
 
 
 
         return room;
 }
 
 int capinc_tty_chars_in_buffer(struct tty_struct *tty)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
         if (!mp || !mp->nccip) {
 
 
 
                 return 0;
         }
 
 
 
 
 
 
         return mp->outbytes;
 }
 
 int capinc_tty_ioctl(struct tty_struct *tty, struct file * file,
                     unsigned int cmd, unsigned long arg)
 {
         int error = 0;
         switch (cmd) {
         default:
                 error = n_tty_ioctl_R16efe42f (tty, file, cmd, arg);
                 break;
         }
         return error;
 }
 
 void capinc_tty_set_termios(struct tty_struct *tty, struct termios * old)
 {
 
 
 
 }
 
 void capinc_tty_throttle(struct tty_struct * tty)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
 
 
 
         if (mp)
                 mp->ttyinstop = 1;
 }
 
 void capinc_tty_unthrottle(struct tty_struct * tty)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
 
 
 
         if (mp) {
                 mp->ttyinstop = 0;
                 handle_minor_recv(mp);
         }
 }
 
 void capinc_tty_stop(struct tty_struct *tty)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
 
 
 
         if (mp) {
                 mp->ttyoutstop = 1;
         }
 }
 
 void capinc_tty_start(struct tty_struct *tty)
 {
         struct capiminor *mp = (struct capiminor *)tty->driver_data;
 
 
 
         if (mp) {
                 mp->ttyoutstop = 0;
                 (void)handle_minor_send(mp);
         }
 }
 
 void capinc_tty_hangup(struct tty_struct *tty)
 {
 
 
 
 }
 
 void capinc_tty_break_ctl(struct tty_struct *tty, int state)
 {
 
 
 
 }
 
 void capinc_tty_flush_buffer(struct tty_struct *tty)
 {
 
 
 
 }
 
 void capinc_tty_set_ldisc(struct tty_struct *tty)
 {
 
 
 
 }
 
 void capinc_tty_send_xchar(struct tty_struct *tty, char ch)
 {
 
 
 
 }
 
 int capinc_tty_read_proc(char *page, char **start, off_t off,
                           int count, int *eof, void *data)
 {
         return 0;
 }
 
 int capinc_write_proc(struct file *file, const char *buffer,
                           unsigned long count, void *data)
 {
         return 0;
 }
 
 
 static struct tty_driver capinc_tty_driver;
 static int capinc_tty_refcount;
 static struct tty_struct *capinc_tty_table[256];
 static struct termios *capinc_tty_termios[256];
 static struct termios *capinc_tty_termios_locked[256];
 
 int capinc_tty_init(void)
 {
         struct tty_driver *drv = &capinc_tty_driver;
 
 
 
         (__builtin_constant_p(0) ? (__builtin_constant_p((sizeof(struct tty_driver))) ? __constant_c_and_count_memset(((drv)),((0x01010101UL*(unsigned char)(0))),((sizeof(struct tty_driver)))) : __constant_c_memset(((drv)),((0x01010101UL*(unsigned char)( 0))),((sizeof(struct tty_driver))))) : (__builtin_constant_p((sizeof(struct tty_driver))) ? __memset_generic((((drv))),(((0))),(((sizeof(struct tty_driver))))) : __memset_generic(((drv)),((0)),((sizeof(struct tty_driver))))));
         drv->magic = 0x5402;
 
         drv->driver_name = "capi_nc";
 
         drv->name = "capi/%d";
         drv->major = capi_ttymajor;
         drv->minor_start = 0;
         drv->num = 256;
         drv->type = 0x0003;
         drv->subtype = 1;
         drv->init_termios = tty_std_termios_R89ac5254;
         drv->init_termios.c_iflag = 0000400;
         drv->init_termios.c_oflag = 0000001 | 0000004;
         drv->init_termios.c_cflag = 0000015 | 0000060 | 0000200 | 0002000 | 0004000;
         drv->init_termios.c_lflag = 0;
         drv->flags = 0x0004|0x0002;
         drv->refcount = &capinc_tty_refcount;
         drv->table = capinc_tty_table;
         drv->termios = capinc_tty_termios;
         drv->termios_locked = capinc_tty_termios_locked;
 
         drv->open = capinc_tty_open;
         drv->close = capinc_tty_close;
         drv->write = capinc_tty_write;
         drv->put_char = capinc_tty_put_char;
         drv->flush_chars = capinc_tty_flush_chars;
         drv->write_room = capinc_tty_write_room;
         drv->chars_in_buffer = capinc_tty_chars_in_buffer;
         drv->ioctl = capinc_tty_ioctl;
         drv->set_termios = capinc_tty_set_termios;
         drv->throttle = capinc_tty_throttle;
         drv->unthrottle = capinc_tty_unthrottle;
         drv->stop = capinc_tty_stop;
         drv->start = capinc_tty_start;
         drv->hangup = capinc_tty_hangup;
 
         drv->break_ctl = capinc_tty_break_ctl;
 
         drv->flush_buffer = capinc_tty_flush_buffer;
         drv->set_ldisc = capinc_tty_set_ldisc;
 
         drv->send_xchar = capinc_tty_send_xchar;
         drv->read_proc = capinc_tty_read_proc;
 
         if (tty_register_driver_R483204b1(drv)) {
                 printk_R1b7d4074("<3>" "Couldn't register capi_nc driver\n");
                 return -1;
         }
         return 0;
 }
 
 void capinc_tty_exit(void)
 {
         struct tty_driver *drv = &capinc_tty_driver;
         int retval;
         if ((retval = tty_unregister_driver_R361f926b(drv)))
                 printk_R1b7d4074("<3>" "capi: failed to unregister capi_nc driver (%d)\n", retval);
 }
 # 1671 "capi.c"
 static int proc_capidev_read_proc(char *page, char **start, off_t off,
                                        int count, int *eof, void *data)
 {
         struct capidev *cdev;
         int len = 0;
 
         for (cdev=capidev_openlist; cdev; cdev = cdev->next) {
                 len += sprintf_R3c2c5af5(page+len, "%d %d %lu %lu %lu %lu\n",
                         cdev->minor,
                         cdev->applid,
                         cdev->nrecvctlpkt,
                         cdev->nrecvdatapkt,
                         cdev->nsentctlpkt,
                         cdev->nsentdatapkt);
                 if (len <= off) {
                         off -= len;
                         len = 0;
                 } else {
                         if (len-off > count)
                                 goto endloop;
                 }
         }
 endloop:
         if (len < count)
                 *eof = 1;
         if (len>count) len = count;
         if (len<0) len = 0;
         return len;
 }
 
 
 
 
 
 static int proc_capincci_read_proc(char *page, char **start, off_t off,
                                        int count, int *eof, void *data)
 {
         struct capidev *cdev;
         struct capincci *np;
         int len = 0;
 
         for (cdev=capidev_openlist; cdev; cdev = cdev->next) {
                 for (np=cdev->nccis; np; np = np->next) {
                         len += sprintf_R3c2c5af5(page+len, "%d 0x%x%s\n",
                                 cdev->applid,
                                 np->ncci,
 
 
 
                                 np->minorp && np->minorp->file ? " open" : "");
 
                         if (len <= off) {
                                 off -= len;
                                 len = 0;
                         } else {
                                 if (len-off > count)
                                         goto endloop;
                         }
                 }
         }
 endloop:
         *start = page+off;
         if (len < count)
                 *eof = 1;
         if (len>count) len = count;
         if (len<0) len = 0;
         return len;
 }
 
 static struct procfsentries {
   char *name;
   mode_t mode;
   int (*read_proc)(char *page, char **start, off_t off,
                                        int count, int *eof, void *data);
   struct proc_dir_entry *procent;
 } procfsentries[] = {
 
    { "capi/capi20", 0 , proc_capidev_read_proc },
    { "capi/capi20ncci", 0 , proc_capincci_read_proc },
 };
 
 static void proc_init(void)
 {
     int nelem = sizeof(procfsentries)/sizeof(procfsentries[0]);
     int i;
 
     for (i=0; i < nelem; i++) {
         struct procfsentries *p = procfsentries + i;
         p->procent = create_proc_entry_Re7910350(p->name, p->mode, 0);
         if (p->procent) p->procent->read_proc = p->read_proc;
     }
 }
 
 static void proc_exit(void)
 {
     int nelem = sizeof(procfsentries)/sizeof(procfsentries[0]);
     int i;
 
     for (i=nelem-1; i >= 0; i--) {
         struct procfsentries *p = procfsentries + i;
         if (p->procent) {
            remove_proc_entry_R598aff9e(p->name, 0);
            p->procent = 0;
         }
     }
 }
 
 
 
 
 static void alloc_exit(void)
 {
         if (capidev_cachep) {
                 (void)kmem_cache_destroy_Rdf83c692(capidev_cachep);
                 capidev_cachep = 0;
         }
         if (capincci_cachep) {
                 (void)kmem_cache_destroy_Rdf83c692(capincci_cachep);
                 capincci_cachep = 0;
         }
 
         if (capidh_cachep) {
                 (void)kmem_cache_destroy_Rdf83c692(capidh_cachep);
                 capidh_cachep = 0;
         }
         if (capiminor_cachep) {
                 (void)kmem_cache_destroy_Rdf83c692(capiminor_cachep);
                 capiminor_cachep = 0;
         }
 
 }
 
 static int alloc_init(void)
 {
         capidev_cachep = kmem_cache_create_Rd1c0b4e6("capi20_dev",
                                          sizeof(struct capidev),
                                          0,
                                          0x00002000UL,
                                          ((void *)0), ((void *)0));
         if (!capidev_cachep) {
                 alloc_exit();
                 return -12;
         }
 
         capincci_cachep = kmem_cache_create_Rd1c0b4e6("capi20_ncci",
                                          sizeof(struct capincci),
                                          0,
                                          0x00002000UL,
                                          ((void *)0), ((void *)0));
         if (!capincci_cachep) {
                 alloc_exit();
                 return -12;
         }
 
         capidh_cachep = kmem_cache_create_Rd1c0b4e6("capi20_dh",
                                          sizeof(struct datahandle_queue),
                                          0,
                                          0x00002000UL,
                                          ((void *)0), ((void *)0));
         if (!capidh_cachep) {
                 alloc_exit();
                 return -12;
         }
         capiminor_cachep = kmem_cache_create_Rd1c0b4e6("capi20_minor",
                                          sizeof(struct capiminor),
                                          0,
                                          0x00002000UL,
                                          ((void *)0), ((void *)0));
         if (!capiminor_cachep) {
                 alloc_exit();
                 return -12;
         }
 
         return 0;
 }
 
 static void lower_callback(unsigned int cmd, __u32 contr, void *data)
 {
         struct capi_ncciinfo *np;
         struct capidev *cdev;
 
         switch (cmd) {
         case 0:
                 printk_R1b7d4074("<6>" "capi: controller %hu up\n", contr);
                 break;
         case 1:
                 printk_R1b7d4074("<6>" "capi: controller %hu down\n", contr);
                 break;
         case 2:
                 np = (struct capi_ncciinfo *)data;
                 if ((cdev = capidev_find(np->applid)) == 0)
                         return;
                 (void)capincci_alloc(cdev, np->ncci);
                 break;
         case 3:
                 np = (struct capi_ncciinfo *)data;
                 if ((cdev = capidev_find(np->applid)) == 0)
                         return;
                 (void)capincci_free(cdev, np->ncci);
                 break;
         }
 }
 
 static struct capi_interface_user cuser = {
         name: "capi20",
         callback: lower_callback,
 };
 
 static char rev[32];
 
 static int capi_init(void)
 {
         char *p;
         char *compileinfo;
 
         (atomic_inc(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8|16);
 
         if ((p = strchr(revision, ':')) != 0 && p[1]) {
                 strncpy(rev, p + 2, sizeof(rev));
                 rev[sizeof(rev)-1] = 0;
                 if ((p = strchr(rev, '$')) != 0 && p > rev)
                    *(p-1) = 0;
         } else
                 strcpy(rev, "1.0");
 
         if (devfs_register_chrdev_Ra1bb38e1(capi_major, "capi20", &capi_fops)) {
                 printk_R1b7d4074("<3>" "capi20: unable to get major %d\n", capi_major);
                 (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
                 return -5;
         }
 
 
         if (devfs_register_chrdev_Ra1bb38e1(capi_rawmajor, "capi/r%d", &capinc_raw_fops)) {
                 devfs_unregister_chrdev_R77f3e0ce(capi_major, "capi20");
                 printk_R1b7d4074("<3>" "capi20: unable to get major %d\n", capi_rawmajor);
                 (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
                 return -5;
         }
         devfs_register_series_Rf3efa40e (((void *)0), "capi/r%u", 256,
                               0x000,
                               capi_rawmajor, 0,
                               0020000 | 00400 | 00200,
                               &capinc_raw_fops, ((void *)0));
 
         devfs_register_R514552cc (((void *)0), "isdn/capi20", 0x000,
                         capi_major, 0, 0020000 | 00400 | 00200,
                         &capi_fops, ((void *)0));
         printk_R1b7d4074("<5>" "capi20: started up with major %d\n", capi_major);
 
         if ((capifuncs = attach_capi_interface_R64471a3f(&cuser)) == 0) {
 
                 (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
                 devfs_unregister_chrdev_R77f3e0ce(capi_major, "capi20");
 
                 devfs_unregister_chrdev_R77f3e0ce(capi_rawmajor, "capi/r%d");
 
                 devfs_unregister_R420fab7f(devfs_find_handle_Re21607e9(((void *)0), "capi20",
                                                    capi_major, 0,
                                                    0, 0));
                 return -5;
         }
 
 
         if (capinc_tty_init() < 0) {
                 (void) detach_capi_interface_R83c71232(&cuser);
                 devfs_unregister_chrdev_R77f3e0ce(capi_major, "capi20");
                 devfs_unregister_chrdev_R77f3e0ce(capi_rawmajor, "capi/r%d");
                 (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
                 return -12;
         }
 
 
         if (alloc_init() < 0) {
 
                 unsigned int j;
                 devfs_unregister_chrdev_R77f3e0ce(capi_rawmajor, "capi/r%d");
                 for (j = 0; j < 256; j++) {
                         char devname[32];
                         sprintf_R3c2c5af5(devname, "capi/r%u", j);
                         devfs_unregister_R420fab7f(devfs_find_handle_Re21607e9(((void *)0), devname, capi_rawmajor, j, 0, 0));
                 }
                 capinc_tty_exit();
 
                 (void) detach_capi_interface_R83c71232(&cuser);
                 devfs_unregister_chrdev_R77f3e0ce(capi_major, "capi20");
                 devfs_unregister_R420fab7f(devfs_find_handle_Re21607e9(((void *)0), "capi20",
                                                    capi_major, 0,
                                                    0, 0));
                 (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
                 return -12;
         }
 
         (void)proc_init();
 
 
 
         compileinfo = " (middleware+capifs)";
 
 
 
 
 
 
         printk_R1b7d4074("<5>" "capi20: Rev %s: started up with major %d%s\n",
                                 rev, capi_major, compileinfo);
 
         (atomic_dec(&((&__this_module))->uc.usecount), ((&__this_module))->flags |= 8);
         return 0;
 }
 
 static void capi_exit(void)
 {
 
         unsigned int j;
 
         alloc_exit();
         (void)proc_exit();
 
         devfs_unregister_chrdev_R77f3e0ce(capi_major, "capi20");
         devfs_unregister_R420fab7f(devfs_find_handle_Re21607e9(((void *)0), "isdn/capi20", capi_major, 0, 0, 0));
 
 
         capinc_tty_exit();
         devfs_unregister_chrdev_R77f3e0ce(capi_rawmajor, "capi/r%d");
         for (j = 0; j < 256; j++) {
                 char devname[32];
                 sprintf_R3c2c5af5(devname, "capi/r%u", j);
                 devfs_unregister_R420fab7f(devfs_find_handle_Re21607e9(((void *)0), devname, capi_rawmajor, j, 0, 0));
         }
 
         (void) detach_capi_interface_R83c71232(&cuser);
         printk_R1b7d4074("<5>" "capi: Rev %s: unloaded\n", rev);
 }
 
 int init_module(void) __attribute__((alias("capi_init"))); static inline __init_module_func_t __init_module_inline(void) { return capi_init; };
 void cleanup_module(void) __attribute__((alias("capi_exit"))); static inline __cleanup_module_func_t __cleanup_module_inline(void) { return capi_exit; };
 
 ----------------snip----------------
 



More information about the Gcc-prs mailing list